Upgrade curl to curl-7_66_0

Test: None
Change-Id: I3b08841f93c0f51cca6ec168fe43b891f2ad58f1
diff --git a/CHANGES b/CHANGES
index 447b46a..0047ab4 100644
--- a/CHANGES
+++ b/CHANGES
@@ -6,6 +6,1296 @@
 
                                   Changelog
 
+Version 7.66.0 (10 Sep 2019)
+
+Daniel Stenberg (10 Sep 2019)
+- RELEASE-NOTES: curl 7.66.0
+
+- THANKS: from the 7.66.0 release
+
+- curl: make sure the parallel transfers do them all
+  
+  The logic could erroneously break the loop too early before all
+  transfers had been transferred.
+  
+  Reported-by: Tom van der Woerdt
+  Fixes #4316
+  Closes #4317
+
+- urlapi: one colon is enough for the strspn() input (typo)
+
+- urlapi: verify the IPv6 numerical address
+  
+  It needs to parse correctly. Otherwise it could be tricked into letting
+  through a-f using host names that libcurl would then resolve. Like
+  '[ab.be]'.
+  
+  Reported-by: Thomas Vegas
+  Closes #4315
+
+- [Clément Notin brought this change]
+
+  openssl: use SSL_CTX_set_<min|max>_proto_version() when available
+  
+  OpenSSL 1.1.0 adds SSL_CTX_set_<min|max>_proto_version() that we now use
+  when available.  Existing code is preserved for older versions of
+  OpenSSL.
+  
+  Closes #4304
+
+- [Clément Notin brought this change]
+
+  openssl: indent, re-organize and add comments
+
+- [migueljcrum brought this change]
+
+  sspi: fix memory leaks
+  
+  Closes #4299
+
+- travis: disable ngtcp2 builds (again)
+
+- Curl_fillreadbuffer: avoid double-free trailer buf on error
+  
+  Reviewed-by: Jay Satiro
+  Reported-by: Thomas Vegas
+  
+  Closes #4307
+
+- tool_setopt: handle a libcurl build without netrc support
+  
+  Reported-by: codesniffer13 on github
+  Fixes #4302
+  Closes #4305
+
+- security:read_data fix bad realloc()
+  
+  ... that could end up a double-free
+  
+  CVE-2019-5481
+  Bug: https://curl.haxx.se/docs/CVE-2019-5481.html
+
+- [Thomas Vegas brought this change]
+
+  tftp: Alloc maximum blksize, and use default unless OACK is received
+  
+  Fixes potential buffer overflow from 'recvfrom()', should the server
+  return an OACK without blksize.
+  
+  Bug: https://curl.haxx.se/docs/CVE-2019-5482.html
+  CVE-2019-5482
+
+- [Thomas Vegas brought this change]
+
+  tftp: return error when packet is too small for options
+
+- KNOWN_BUGS/TODO: cleanup and remove outdated issues
+
+- RELEASE-NOTES: synced
+
+- netrc: free 'home' on error
+  
+  Follow-up to f9c7ba9096ec2
+  
+  Coverity CID 1453474
+  
+  Closes #4291
+
+- urldata: avoid 'generic', use dedicated pointers
+  
+  For the 'proto' union within the connectdata struct.
+  
+  Closes #4290
+
+- cleanup: move functions out of url.c and make them static
+  
+  Closes #4289
+
+- smtp: check for and bail out on too short EHLO response
+  
+  Otherwise, a three byte response would make the smtp_state_ehlo_resp()
+  function misbehave.
+  
+  Credit to OSS-Fuzz
+  Bug: https://crbug.com/oss-fuzz/16918
+  
+  Assisted-by: Max Dymond
+  
+  Closes #4287
+
+- smb: init *msg to NULL in smb_send_and_recv()
+  
+  ... it might otherwise return OK from this function leaving that pointer
+  uninitialized.
+  
+  Bug: https://crbug.com/oss-fuzz/16907
+  
+  Closes #4286
+
+- ROADMAP: updated after recent user poll
+  
+  In rough prio order
+
+- THANKS: remove duplicate
+
+- Curl_addr2string: take an addrlen argument too
+  
+  This allows the function to figure out if a unix domain socket has a
+  file name or not associated with it! When a socket is created with
+  socketpair(), as done in the fuzzer testing, the path struct member is
+  uninitialized and must not be accessed.
+  
+  Bug: https://crbug.com/oss-fuzz/16699
+  
+  Closes #4283
+
+- [Rolf Eike Beer brought this change]
+
+  CMake: remove needless newlines at end of gss variables
+
+- [Rolf Eike Beer brought this change]
+
+  CI: remove duplicate configure flag for LGTM.com
+
+- [Rolf Eike Beer brought this change]
+
+  CMake: use platform dependent name for dlopen() library
+  
+  Closes #4279
+
+- quiche: expire when poll returned data
+  
+  ... to make sure we continue draining the queue until empty
+  
+  Closes #4281
+
+- quiche: decrease available buffer size, don't assign it!
+  
+  Found-by: Jeremy Lainé
+
+- RELEASE-NOTES: synced
+
+- [Kyohei Kadota brought this change]
+
+  curl: fix include conditions
+
+- [Kyohei Kadota brought this change]
+
+  plan9: fix installation instructions
+  
+  Closes #4276
+
+- ngtcp2: on h3 stream close, call expire
+  
+  ... to trigger a new read to detect the stream close!
+  
+  Closes #4275
+
+- [Tatsuhiro Tsujikawa brought this change]
+
+  ngtcp2: build latest ngtcp2 and ngtcp2_crypto_openssl
+  
+  Closes #4278
+
+- ngtcp2: set flow control window to stream buffer size
+  
+  Closes #4274
+
+- [Christopher Head brought this change]
+
+  CURLOPT_HEADERFUNCTION.3: clarify
+  
+  Closes #4273
+
+- CURLINFO docs: mention that in redirects times are added
+  
+  Suggested-by: Brandon Dong
+  Fixes #4250
+  Closes #4269
+
+- travis: enable ngtcp2 builds again
+  
+  Switched to the openssl-quic-draft-22 openssl branch.
+  
+  Closes #4271
+
+- HTTP3: switched openssl branch to use
+
+- [Tatsuhiro Tsujikawa brought this change]
+
+  ngtcp2: Build with latest ngtcp2 and ngtcp2_crypto_openssl
+  
+  Closes #4270
+
+- http2: when marked for closure and wanted to close == OK
+  
+  It could otherwise return an error even when closed correctly if GOAWAY
+  had been received previously.
+  
+  Reported-by: Tom van der Woerdt
+  Fixes #4267
+  Closes #4268
+
+- RELEASE-NOTES: synced
+
+- build-openssl: fix build with Visual Studio 2019
+  
+  Reviewed-by: Marcel Raad
+  Contributed-by: osabc on github
+  Fixes #4188
+  Closes #4266
+
+Kamil Dudka (26 Aug 2019)
+- vauth: return CURLE_AUTH_ERROR on gss_init_sec_context() failure
+  
+  This is a follow-up to https://github.com/curl/curl/pull/3864 .
+  
+  Closes #4224
+
+Daniel Stenberg (26 Aug 2019)
+- KNOWN_BUGS: USE_UNIX_SOCKETS on Windows
+  
+  Closes #4040
+
+- quiche: send the HTTP body correctly on callback uploads
+  
+  Closes #4265
+
+- travis: disable ngtcp2 builds (temporarily)
+  
+  Just too many API changes right now
+  
+  Closes #4264
+
+- ngtcp2: add support for SSLKEYLOGFILE
+  
+  Closes #4260
+
+- ngtcp2: improve h3 response receiving
+  
+  Closes #4259
+
+- ngtcp2: use nghttp3_version()
+
+- ngtcp2: sync with upstream API changes
+  
+  Assisted-by: Tatsuhiro Tsujikawa
+
+- [Kyle Abramowitz brought this change]
+
+  scp: fix directory name length used in memcpy
+  
+  Fix read off end of array due to bad pointer math in getworkingpath for
+  SCP home directory case.
+  
+  Closes #4258
+
+- http: the 'closed' struct field is used by both ngh2 and ngh3
+  
+  and remove 'header_recvbuf', not used for anything
+  
+  Reported-by: Jeremy Lainé
+  
+  Closes #4257
+
+- ngtcp2: accept upload via callback
+  
+  Closes #4256
+
+- defines: avoid underscore-prefixed defines
+  
+  Double-underscored or underscore plus uppercase letter at least.
+  
+  ... as they're claimed to be reserved.
+  
+  Reported-by: patnyb on github
+  
+  Fixes #4254
+  Closes #4255
+
+- travis: add a build using ngtcp2 + nghttp3 (and a patched OpenSSL)
+  
+  Runs no tests
+  
+  Closes #4253
+
+- travis: bump to using nghttp2 version 1.39.2
+  
+  Closes #4252
+
+- [Gisle Vanem brought this change]
+
+  docs/examples/curlx: fix errors
+  
+  Initialise 'mimetype' and require the -p12 arg.
+  
+  Closes #4248
+
+- cleanup: remove DOT_CHAR completely
+  
+  Follow-up to f9c7ba9096ec
+  
+  The use of DOT_CHAR for ".ssh" was probably a mistake and is removed
+  now.
+  
+  Pointed-out-by: Gisle Vanem
+  Bug: https://github.com/curl/curl/pull/4230#issuecomment-522960638
+  
+  Closes #4247
+
+- spnego_sspi: add typecast to fix build warning
+  
+  Reported in build "Win32 target on Debian Stretch (64-bit) -
+  i686-w64-mingw32 - gcc-20170516"
+  
+  Closes #4245
+
+- openssl: build warning free with boringssl
+  
+  Closes #4244
+
+- curl: make --libcurl use CURL_HTTP_VERSION_3
+  
+  Closes #4243
+
+- ngtcp2: make postfields-set posts work
+  
+  Closes #4242
+
+- http: remove chunked-encoding and expect header use for HTTP/3
+
+- [Alessandro Ghedini brought this change]
+
+  configure: use pkg-config to detect quiche
+  
+  This removes the need to hard-code the quiche target path in
+  configure.ac.
+  
+  This depends on https://github.com/cloudflare/quiche/pull/128
+  
+  Closes #4237
+
+- CURLOPT_SSL_VERIFYHOST: treat the value 1 as 2
+  
+  For a long time (since 7.28.1) we've returned error when setting the
+  value to 1 to make applications notice that we stopped supported the old
+  behavior for 1. Starting now, we treat 1 and 2 exactly the same.
+  
+  Closes #4241
+
+- curl: use .curlrc (with a dot) on Windows as well
+  
+  Fall-back to _curlrc if the dot-version is missing.
+  
+  Co-Authored-By: Steve Holme
+  
+  Closes #4230
+
+- netrc: make the code try ".netrc" on Windows as well
+  
+  ... but fall back and try "_netrc" too if the dot version didn't work.
+  
+  Co-Authored-By: Steve Holme
+
+- ngtcp2: use ngtcp2_version() to get the run-time version
+  
+  ... which of course doesn't have to be the same used at build-time.
+  
+  Function just recently merged in ngtcp2.
+
+- ngtcp2: move the h3 initing to immediately after the rx key
+  
+  To fix a segfault and to better deal with 0-RTT
+  
+  Assisted-by: Tatsuhiro Tsujikawa
+
+- [Alessandro Ghedini brought this change]
+
+  quiche: register debug callback once and earlier
+  
+  The quiche debug callback is global and can only be initialized once, so
+  make sure we don't do it multiple times (e.g. if multiple requests are
+  executed).
+  
+  In addition this initializes the callback before the connection is
+  created, so we get logs for the handshake as well.
+  
+  Closes #4236
+
+- ssh: add a generic Curl_ssh_version function for SSH backends
+  
+  Closes #4235
+
+- base64: check for SSH, not specific SSH backends
+
+- vssh: move ssh init/cleanup functions into backend code
+
+- vssh: create directory for SSH backend code
+
+- TODO/ROADMAP: remove "refuse downgrade redirects" and HTTP/3
+  
+  HTTP3 is now already in full progress
+  
+  Downgrade redirects can be achived almost exactly like that by setting
+  CURLOPT_REDIR_PROTOCOLS.
+
+- RELEASE-NOTES: synced
+
+- travis: add a quiche build
+  
+  Closes #4207
+
+- http: fix use of credentials from URL when using HTTP proxy
+  
+  When a username and password are provided in the URL, they were wrongly
+  removed from the stored URL so that subsequent uses of the same URL
+  wouldn't find the crendentials. This made doing HTTP auth with multiple
+  connections (like Digest) mishave.
+  
+  Regression from 46e164069d1a5230 (7.62.0)
+  
+  Test case 335 added to verify.
+  
+  Reported-by: Mike Crowe
+  
+  Fixes #4228
+  Closes #4229
+
+- [Mike Crowe brought this change]
+
+  tests: Replace outdated test case numbering documentation
+  
+  Tests are no longer grouped by numeric range[1]. Let's stop saying that
+  and provide some alternative advice for numbering tests.
+  
+  [1] https://curl.haxx.se/mail/lib-2019-08/0043.html
+  
+  Closes #4227
+
+- travis: reduce number of torture tests in 'coverage'
+  
+  ... to make it complete in time. This cut seems not almost not affect
+  the coverage percentage and yet completes within 35 minutes on travis
+  where the previous runs recently always timed out after 50.
+  
+  Closes #4223
+
+- [Igor Makarov brought this change]
+
+  configure: use -lquiche to link to quiche
+  
+  Closes #4226
+
+- ngtcp2: provide the callbacks as a static struct
+  
+  ... instead of having them in quicsocket
+
+- [Tatsuhiro Tsujikawa brought this change]
+
+  ngtcp2: add missing nghttp3_conn_add_write_offset call
+  
+  Closes #4225
+
+- [Tatsuhiro Tsujikawa brought this change]
+
+  ngtcp2: deal with stream close
+
+- [Tatsuhiro Tsujikawa brought this change]
+
+  ngtcp2: Consume QUIC STREAM data properly
+
+- [Tatsuhiro Tsujikawa brought this change]
+
+  ngtcp2: don't reinitialize SSL on Retry
+
+- multi: getsock improvements for QUIC connecting
+
+- connect: connections are persistent by default for HTTP/3
+
+- quiche: happy eyeballs
+  
+  Closes #4220
+
+- ngtcp2: do QUIC connections happy-eyeballs friendly
+
+- curl_version: bump string buffer size to 250
+  
+  With HTTP/3 libs and plenty TLS libs, I manged to hit the limit (which
+  causes a truncated output).
+
+- CURLOPT_ALTSVC.3: use a "" file name to not load from a file
+
+Jay Satiro (14 Aug 2019)
+- vauth: Use CURLE_AUTH_ERROR for auth function errors
+  
+  - Add new error code CURLE_AUTH_ERROR.
+  
+  Prior to this change auth function errors were signaled by
+  CURLE_OUT_OF_MEMORY and CURLE_RECV_ERROR, and neither one was
+  technically correct.
+  
+  Ref: https://github.com/curl/curl/pull/3848
+  
+  Co-authored-by: Dominik Hölzl
+  
+  Closes https://github.com/curl/curl/pull/3864
+
+Daniel Stenberg (13 Aug 2019)
+- curl_version_info: make the quic_version a const
+  
+  Follow-up from 1a2df1518ad8653f
+  
+  Closes #4222
+
+- examples: add http3.c, altsvc.c and http3-present.c
+  
+  Closes #4221
+
+Peter Wu (13 Aug 2019)
+- nss: use TLSv1.3 as default if supported
+  
+  SSL_VersionRangeGetDefault returns (TLSv1.0, TLSv1.2) as supported
+  range in NSS 3.45. It looks like the intention is to raise the minimum
+  version rather than lowering the maximum, so adjust accordingly. Note
+  that the caller (nss_setup_connect) initializes the version range to
+  (TLSv1.0, TLSv1.3), so there is no need to check for >= TLSv1.0 again.
+  
+  Closes #4187
+  Reviewed-by: Daniel Stenberg
+  Reviewed-by: Kamil Dudka
+
+Daniel Stenberg (13 Aug 2019)
+- quic.h: remove unused proto
+
+- curl_version_info.3: mentioned ALTSVC and HTTP3
+  
+  ... and sorted the list alphabetically
+
+- lib/quic.c: unused - removed
+
+- CURLOPT_ALTSVC_CTRL.3: remove CURLALTSVC_ALTUSED
+  
+  Follow-up to 98c3f148 that removed it from the header file
+
+- [Junho Choi brought this change]
+
+  docs/HTTP3: simplify quiche build instruction
+  
+  Use --recursive to get boringssl in one line
+  
+  Closes #4219
+
+- altsvc: make it use h3-22 with ngtcp2 as well
+
+- ngtcp2: initial h3 request work
+  
+  Closes #4217
+
+- curl_version_info: offer quic (and h3) library info
+  
+  Closes #4216
+
+- HTTP3: use ngtcp2's draft-22 branch
+
+- RELEASE-NOTES: synced
+
+- CURLOPT_READFUNCTION.3: provide inline example
+  
+  ... instead of mentioning one in another place
+
+- [Tatsuhiro Tsujikawa brought this change]
+
+  ngtcp2: send HTTP/3 request with nghttp3
+  
+  This commit makes sending HTTP/3 request with nghttp3 work.  It
+  minimally receives HTTP response and calls nghttp3 callbacks, but no
+  processing is made at the moment.
+  
+  Closes #4215
+
+- nghttp3: initial h3 template code added
+
+- nghttp3: required when ngtcp2 is used for QUIC
+  
+  - checked for by configure
+  - updated docs/HTTP3.md
+  - shown in the version string
+  
+  Closes #4210
+
+- [Eric Wong brought this change]
+
+  asyn-thread: issue CURL_POLL_REMOVE before closing socket
+  
+  This avoids EBADF errors from EPOLL_CTL_DEL operations in the
+  ephiperfifo.c example.  EBADF is dangerous in multi-threaded
+  applications where I rely on epoll_ctl to operate on the same
+  epoll description from different threads.
+  
+  Follow-up to eb9a604f8d7db8
+  
+  Bug: https://curl.haxx.se/mail/lib-2019-08/0026.html
+  Closes #4211
+
+- [Carlo Marcelo Arenas Belón brought this change]
+
+  configure: avoid undefined check_for_ca_bundle
+  
+  instead of using a "greater than 0" test, check for variable being
+  set, as it is always set to 1, and could be left unset if non of
+  OPENSSL MBEDTLS GNUTLS WOLFSSL is being configured for.
+  
+  Closes #4213
+
+- [Tatsuhiro Tsujikawa brought this change]
+
+  ngtcp2: Send ALPN h3-22
+  
+  Closes #4212
+
+- [Tatsuhiro Tsujikawa brought this change]
+
+  ngtcp2: use ngtcp2_settings_default and specify initial_ts
+
+- curl_global_init_mem.3: mention it was added in 7.12.0
+
+- [Tatsuhiro Tsujikawa brought this change]
+
+  ngtcp2: make the QUIC handshake work
+  
+  Closes #4209
+
+- [Alex Mayorga brought this change]
+
+  HTTP3.md: Update quiche build instructions
+  
+  Added cloning for quiche and BoringSSL and modified the build
+  instructions so they work on a clean folder.
+  
+  Closes #4208
+
+- CURLOPT_H3: removed
+  
+  There's no use for this anymore and it was never in a release.
+  
+  Closes #4206
+
+- http3: make connection reuse work
+  
+  Closes #4204
+
+- quiche: add SSLKEYLOGFILE support
+
+- cleanup: s/curl_debug/curl_dbg_debug in comments and docs
+  
+  Leftovers from the function rename back in 76b63489495
+  
+  Reported-by: Gisle Vanem
+  Bug: https://github.com/curl/curl/commit/f3e0f071b14fcb46a453f69bdf4e062bcaacf362#com
+  mitcomment-34601751
+  
+  Closes #4203
+
+- RELEASE-NOTES: synced
+
+- alt-svc: add protocol version selection masking
+  
+  So that users can mask in/out specific HTTP versions when Alt-Svc is
+  used.
+  
+   - Removed "h2c" and updated test case accordingly
+   - Changed how the altsvc struct is laid out
+   - Added ifdefs to make the unittest run even in a quiche-tree
+  
+  Closes #4201
+
+- http3: fix the HTTP/3 in the request, make alt-svc set right versions
+  
+  Closes #4200
+
+- alt-svc: send Alt-Used: in redirected requests
+  
+  RFC 7838 section 5:
+  
+     When using an alternative service, clients SHOULD include an Alt-Used
+     header field in all requests.
+  
+  Removed CURLALTSVC_ALTUSED again (feature is still EXPERIMENTAL thus
+  this is deemed ok).
+  
+  You can disable sending this header just like you disable any other HTTP
+  header in libcurl.
+  
+  Closes #4199
+
+- CURLOPT_HTTP_VERSION: seting this to 3 forces HTTP/3 use directly
+  
+  Even though it cannot fall-back to a lower HTTP version automatically. The
+  safer way to upgrade remains via CURLOPT_ALTSVC.
+  
+  CURLOPT_H3 no longer has any bits that do anything and might be removed
+  before we remove the experimental label.
+  
+  Updated the curl tool accordingly to use "--http3".
+  
+  Closes #4197
+
+- docs/ALTSVC: remove what works and the experimental explanation
+  
+  Also, put the TODO items at the bottom.
+  
+  Closes #4198
+
+- docs/EXPERIMENTAL: explain what it means and what's experimental now
+
+- curl: make use of CURLINFO_RETRY_AFTER when retrying
+  
+  If a Retry-After: header was used in the response, that value overrides
+  other retry timing options.
+  
+  Fixes #3794
+  Closes #4195
+
+- curl: use CURLINFO_PROTOCOL to check for HTTP(s)
+  
+  ... instead of CURLINFO_EFFECTIVE_URL to avoid string operations.
+
+- CURLINFO_RETRY_AFTER: parse the Retry-After header value
+  
+  This is only the libcurl part that provides the information. There's no
+  user of the parsed value. This change includes three new tests for the
+  parser.
+  
+  Ref: #3794
+
+- docs/ALTSVC.md: first basic file format description
+
+- curl: have -w's 'http_version' show '3' for HTTP/3
+  
+  Closes #4196
+
+- curl.h: add CURL_HTTP_VERSION_3 to the version enum
+  
+  It can't be set for CURLOPT_HTTP_VERSION, but it can be extracted with
+  CURLINFO_HTTP_VERSION.
+
+- quiche: make use of the connection timeout API properly
+
+- quiche: make POSTFIELDS posts work
+
+- quiche: improved error handling and memory cleanups
+
+- quiche: flush egress in h3_stream_recv() too
+
+- RELEASE-NOTES: synced
+
+Jay Satiro (6 Aug 2019)
+- [Patrick Monnerat brought this change]
+
+  os400: take care of CURLOPT_SASL_AUTHZID in curl_easy_setopt_ccsid().
+  
+  Ref: https://github.com/curl/curl/issues/3653
+  Ref: https://github.com/curl/curl/pull/3790
+  
+  NOTE: This commit was cherry-picked and is part of a series of commits
+  that added the authzid feature for upcoming 7.66.0. The series was
+  temporarily reverted in db8ec1f so that it would not ship in a 7.65.x
+  patch release.
+  
+  Closes https://github.com/curl/curl/pull/4186
+
+- tests: Fix the line endings for the SASL alt-auth tests
+  
+  - Change data and protocol sections to CRLF line endings.
+  
+  Prior to this change the tests would fail or hang, which is because
+  certain sections such as protocol require CRLF line endings.
+  
+  Follow-up to grandparent commit which added the tests.
+  
+  Ref: https://github.com/curl/curl/issues/3653
+  Ref: https://github.com/curl/curl/pull/3790
+  
+  NOTE: This commit was cherry-picked and is part of a series of commits
+  that added the authzid feature for upcoming 7.66.0. The series was
+  temporarily reverted in db8ec1f so that it would not ship in a 7.65.x
+  patch release.
+  
+  Closes https://github.com/curl/curl/pull/4186
+
+- [Steve Holme brought this change]
+
+  examples: Added SASL PLAIN authorisation identity (authzid) examples
+  
+  Ref: https://github.com/curl/curl/issues/3653
+  Ref: https://github.com/curl/curl/pull/3790
+  
+  NOTE: This commit was cherry-picked and is part of a series of commits
+  that added the authzid feature for upcoming 7.66.0. The series was
+  temporarily reverted in db8ec1f so that it would not ship in a 7.65.x
+  patch release.
+  
+  Closes https://github.com/curl/curl/pull/4186
+
+- [Steve Holme brought this change]
+
+  curl: --sasl-authzid added to support CURLOPT_SASL_AUTHZID from the tool
+  
+  Ref: https://github.com/curl/curl/issues/3653
+  Ref: https://github.com/curl/curl/pull/3790
+  
+  NOTE: This commit was cherry-picked and is part of a series of commits
+  that added the authzid feature for upcoming 7.66.0. The series was
+  temporarily reverted in db8ec1f so that it would not ship in a 7.65.x
+  patch release.
+  
+  Closes https://github.com/curl/curl/pull/4186
+
+- [Steve Holme brought this change]
+
+  sasl: Implement SASL authorisation identity via CURLOPT_SASL_AUTHZID
+  
+  Added the ability for the calling program to specify the authorisation
+  identity (authzid), the identity to act as, in addition to the
+  authentication identity (authcid) and password when using SASL PLAIN
+  authentication.
+  
+  Fixes #3653
+  Closes #3790
+  
+  NOTE: This commit was cherry-picked and is part of a series of commits
+  that added the authzid feature for upcoming 7.66.0. The series was
+  temporarily reverted in db8ec1f so that it would not ship in a 7.65.x
+  patch release.
+  
+  Closes https://github.com/curl/curl/pull/4186
+
+Daniel Stenberg (6 Aug 2019)
+- docs/HTTP3: refreshed as it is now in master and HTTP/3 can be tested
+
+- [Yiming Jing brought this change]
+
+  mesalink: implement client authentication
+  
+  Closes #4184
+
+- curl_multi_poll: a sister to curl_multi_wait() that waits more
+  
+  Repeatedly we see problems where using curl_multi_wait() is difficult or
+  just awkward because if it has no file descriptor to wait for
+  internally, it returns immediately and leaves it to the caller to wait
+  for a small amount of time in order to avoid occasional busy-looping.
+  
+  This is often missed or misunderstood, leading to underperforming
+  applications.
+  
+  This change introduces curl_multi_poll() as a replacement drop-in
+  function that accepts the exact same set of arguments. This function
+  works identically to curl_multi_wait() - EXCEPT - for the case when
+  there's nothing to wait for internally, as then this function will by
+  itself wait for a "suitable" short time before it returns. This
+  effectiely avoids all risks of busy-looping and should also make it less
+  likely that apps "over-wait".
+  
+  This also changes the curl tool to use this funtion internally when
+  doing parallel transfers and changes curl_easy_perform() to use it
+  internally.
+  
+  Closes #4163
+
+- quiche:h3_stream_recv return 0 at end of stream
+  
+  ... and remove some verbose messages we don't need. Made transfers from
+  facebook.com work better.
+
+- altsvc: make quiche use h3-22 now
+
+- quiche: show the actual version number
+
+- quiche: first working HTTP/3 request
+  
+   - enable debug log
+   - fix use of quiche API
+   - use download buffer
+   - separate header/body
+  
+  Closes #4193
+
+- http09: disable HTTP/0.9 by default in both tool and library
+  
+  As the plan has been laid out in DEPRECATED. Update docs accordingly and
+  verify in test 1174. Now requires the option to be set to allow HTTP/0.9
+  responses.
+  
+  Closes #4191
+
+- quiche: initial h3 request send/receive
+
+- lib/Makefile.am: make checksrc run in vquic too
+
+- altsvc: fix removal of expired cache entry
+  
+  Closes #4192
+
+- RELEASE-NOTES: synced
+
+Steve Holme (4 Aug 2019)
+- md4: Use our own MD4 implementation when no crypto libraries are available
+  
+  Closes #3780
+
+- md4: No need to include Curl_md4.h for each TLS library
+
+- md4: No need for the NTLM code to call Curl_md4it() for each TLS library
+  
+  As the NTLM code no longer calls any of TLS libraries' specific MD4
+  functions, there is no need to call this function for each #ifdef.
+
+- md4: Move the mbed TLS MD4 implementation out of the NTLM code
+
+- md4: Move the WinCrypt implementation out of the NTLM code
+
+- md4: Move the SecureTransport implementation out of the NTLM code
+
+- md4: Use the Curl_md4it() function for OpenSSL based NTLM
+
+- md4: Move the GNU TLS gcrypt MD4 implementation out of the NTLM code
+
+- md4: Move the GNU TLS Nettle MD4 implementation out of the NTLM code
+
+Jay Satiro (4 Aug 2019)
+- OS400: Add CURLOPT_H3 symbols
+  
+  Follow-up to 3af0e76 which added experimental H3 support.
+  
+  Closes https://github.com/curl/curl/pull/4185
+
+Daniel Stenberg (3 Aug 2019)
+- url: make use of new HTTP version if alt-svc has one
+
+- url: set conn->transport to default TCP at init time
+
+- altsvc: with quiche, use the quiche h3 alpn string
+  
+  Closes #4183
+
+- alt-svc: more liberal ALPN name parsing
+  
+  Allow pretty much anything to be part of the ALPN identifier. In
+  particular minus, which is used for "h3-20" (in-progress HTTP/3
+  versions) etc.
+  
+  Updated test 356.
+  Closes #4182
+
+- quiche: use the proper HTTP/3 ALPN
+
+- quiche: add failf() calls for two error cases
+  
+  To aid debugging
+  
+  Closes #4181
+
+- mailmap: added Kyohei Kadota
+
+Kamil Dudka (1 Aug 2019)
+- http_negotiate: improve handling of gss_init_sec_context() failures
+  
+  If HTTPAUTH_GSSNEGOTIATE was used for a POST request and
+  gss_init_sec_context() failed, the POST request was sent
+  with empty body.  This commit also restores the original
+  behavior of `curl --fail --negotiate`, which was changed
+  by commit 6c6035532383e300c712e4c1cd9fdd749ed5cf59.
+  
+  Add regression tests 2077 and 2078 to cover this.
+  
+  Fixes #3992
+  Closes #4171
+
+Daniel Stenberg (1 Aug 2019)
+- mailmap: added 4 more names
+  
+  Evgeny Grin, Peter Pih, Anton Malov and Marquis de Muesli
+
+- mailmap: add Giorgos Oikonomou
+
+- src/makefile: fix uncompressed hugehelp.c generation
+  
+  Regression from 5cf5d57ab9 (7.64.1)
+  
+  Fixed-by: Lance Ware
+  Fixes #4176
+  Closes #4177
+
+- appveyor: pass on -k to make
+
+- timediff: make it 64 bit (if possible) even with 32 bit time_t
+  
+  ... to make it hold microseconds too.
+  
+  Fixes #4165
+  Closes #4168
+
+- ROADMAP: parallel transfers are merged now
+
+- getenv: support up to 4K environment variable contents on windows
+  
+  Reported-by: Michal Čaplygin
+  Fixes #4174
+  Closes #4175
+
+- [Kyohei Kadota brought this change]
+
+  plan9: add support for running on Plan 9
+  
+  Closes #3701
+
+- [Kyohei Kadota brought this change]
+
+  ntlm: explicit type casting
+
+- [Justin brought this change]
+
+  curl.h: fix outdated comment
+  
+  Closes #4167
+
+- curl: remove outdated comment
+  
+  Turned bad with commit b8894085000
+  
+  Reported-by: niallor on github
+  Fixes #4172
+  Closes #4173
+
+- cleanup: remove the 'numsocks' argument used in many places
+  
+  It was used (intended) to pass in the size of the 'socks' array that is
+  also passed to these functions, but was rarely actually checked/used and
+  the array is defined to a fixed size of MAX_SOCKSPEREASYHANDLE entries
+  that should be used instead.
+  
+  Closes #4169
+
+- readwrite_data: repair setting the TIMER_STARTTRANSFER stamp
+  
+  Regression, broken in commit 65eb65fde64bd5f (curl 7.64.1)
+  
+  Reported-by: Jonathan Cardoso Machado
+  Assisted-by: Jay Satiro
+  
+  Fixes #4136
+  Closes #4162
+
+- mailmap: Amit Katyal
+
+- asyn-thread: removed unused variable
+  
+  Follow-up to eb9a604f. Mistake caused by me when I edited the commit
+  before push...
+
+- RELEASE-NOTES: synced
+
+- [Amit Katyal brought this change]
+
+  asyn-thread: create a socketpair to wait on
+  
+  Closes #4157
+
+- curl: cap the maximum allowed values for retry time arguments
+  
+  ... to avoid integer overflows later when multiplying with 1000 to
+  convert seconds to milliseconds.
+  
+  Added test 1269 to verify.
+  
+  Reported-by: Jason Lee
+  Closes #4166
+
+- progress: reset download/uploaded counter
+  
+  ... to make CURLOPT_MAX_RECV_SPEED_LARGE and
+  CURLOPT_MAX_SEND_SPEED_LARGE work correctly on subsequent transfers that
+  reuse the same handle.
+  
+  Fixed-by: Ironbars13 on github
+  Fixes #4084
+  Closes #4161
+
+- http2_recv: trigger another read when the last data is returned
+  
+  ... so that end-of-stream is detected properly.
+  
+  Reported-by: Tom van der Woerdt
+  Fixes #4043
+  Closes #4160
+
+- curl: avoid uncessary libcurl timeouts (in parallel mode)
+  
+  When curl_multi_wait() returns OK without file descriptors to wait for,
+  it might already have done a long timeout.
+  
+  Closes #4159
+
+- [Balazs Kovacsics brought this change]
+
+  HTTP: use chunked Transfer-Encoding for HTTP_POST if size unknown
+  
+  If using the read callback for HTTP_POST, and POSTFIELDSIZE is not set,
+  automatically add a Transfer-Encoding: chunked header, same as it is
+  already done for HTTP_PUT, HTTP_POST_FORM and HTTP_POST_MIME.  Update
+  test 1514 according to the new behaviour.
+  
+  Closes #4138
+
+Jay Satiro (29 Jul 2019)
+- [Daniel Stenberg brought this change]
+
+  winbuild: add vquic to list of build directories
+  
+  This fixes the winbuild build method which broke several days ago
+  when experimental quic support was added in 3af0e76.
+  
+  Reported-by: Michael Lee
+  
+  Fixes https://github.com/curl/curl/issues/4158
+
+- easy: resize receive buffer on easy handle reset
+  
+  - In curl_easy_reset attempt to resize the receive buffer to its default
+    size. If realloc fails then continue using the previous size.
+  
+  Prior to this change curl_easy_reset did not properly handle resetting
+  the receive buffer (data->state.buffer). It reset the variable holding
+  its size (data->set.buffer_size) to the default size (READBUFFER_SIZE)
+  but then did not actually resize the buffer. If a user resized the
+  buffer by using CURLOPT_BUFFERSIZE to set the size smaller than the
+  default, later called curl_easy_reset and attempted to reuse the handle
+  then a heap overflow would very likely occur during that handle's next
+  transfer.
+  
+  Reported-by: Felix Hädicke
+  
+  Fixes https://github.com/curl/curl/issues/4143
+  Closes https://github.com/curl/curl/pull/4145
+
+- [Brad Spencer brought this change]
+
+  examples: Avoid reserved names in hiperfifo examples
+  
+  - Trade in __attribute__((unused)) for the classic (void)x to silence
+    unused symbols.
+  
+  Because the classic way is not gcc specific. Also because the prior
+  method mapped to symbol _Unused, which starts with _ and a capital
+  letter which is reserved.
+  
+  Assisted-by: The Infinnovation team
+  
+  Bug: https://github.com/curl/curl/issues/4120#issuecomment-512542108
+  
+  Closes https://github.com/curl/curl/pull/4153
+
+Daniel Stenberg (25 Jul 2019)
+- RELEASE-NOTES: synced
+
+- [Felix Hädicke brought this change]
+
+  ssh-libssh: do not specify O_APPEND when not in append mode
+  
+  Specifying O_APPEND in conjunction with O_TRUNC and O_CREAT does not
+  make much sense. And this combination of flags is not accepted by all
+  SFTP servers (at least not Apache SSHD).
+  
+  Fixes #4147
+  Closes #4148
+
+- [Gergely Nagy brought this change]
+
+  multi: call detach_connection before Curl_disconnect
+  
+  Curl_disconnect bails out if conn->easyq is not empty, detach_connection
+  needs to be called first to remove the current easy from the queue.
+  
+  Fixes #4144
+  Closes #4151
+
+Jay Satiro (23 Jul 2019)
+- tool_operate: fix implicit call to easysrc_cleanup
+  
+  easysrc_cleanup is only defined when CURL_DISABLE_LIBCURL_OPTION is not
+  defined, and prior to this change would be called regardless.
+  
+  Bug: https://github.com/curl/curl/pull/3804#issuecomment-513922637
+  Reported-by: Marcel Raad
+  
+  Closes https://github.com/curl/curl/pull/4142
+
+Daniel Stenberg (22 Jul 2019)
+- curl:create_transfers check return code from curl_easy_setopt
+  
+  From commit b8894085
+  
+  Pointed out by Coverity CID 1451703
+  
+  Closes #4134
+
+- HTTP3: initial (experimental) support
+  
+  USe configure --with-ngtcp2 or --with-quiche
+  
+  Using either option will enable a HTTP3 build.
+  Co-authored-by: Alessandro Ghedini <alessandro@ghedini.me>
+  
+  Closes #3500
+
+- curl: remove dead code
+  
+  The loop never loops (since b889408500), pointed out by Coverity (CID
+  1451702)
+  
+  Closes #4133
+
+- docs/PARALLEL-TRANSFERS: correct the version number
+
+- docs/PARALLEL-TRANSFERS: added
+
+- curl: support parallel transfers
+  
+  This is done by making sure each individual transfer is first added to a
+  linked list as then they can be performed serially, or at will, in
+  parallel.
+  
+  Closes #3804
+
+- docs/MANUAL.md: converted to markdown from plain text
+  
+  ... will make it render as a nicer web page.
+  
+  Closes #4131
+
+- curl_version_info: provide nghttp2 details
+  
+  Introducing CURLVERSION_SIXTH with nghttp2 info.
+  
+  Closes #4121
+
+- bump: start working on 7.66.0
+
+- source: remove names from source comments
+  
+  Several reasons:
+  
+  - we can't add everyone who's helping out so its unfair to just a few
+  selected ones.
+  - we already list all helpers in THANKS and in RELEASE-NOTES for each
+  release
+  - we don't want to give the impression that some parts of the code is
+  "owned" or "controlled" by specific persons
+  
+  Assisted-by: Daniel Gustafsson
+  Closes #4129
+
 Version 7.65.3 (19 Jul 2019)
 
 Daniel Stenberg (19 Jul 2019)
@@ -59,7 +1349,7 @@
   
   Closes https://github.com/curl/curl/pull/4118
 
-- [georgeok brought this change]
+- [Giorgos Oikonomou brought this change]
 
   CIPHERS.md: Explain Schannel error SEC_E_ALGORITHM_MISMATCH
   
@@ -3621,7 +4911,7 @@
   Fixes https://github.com/curl/curl/issues/3595
   Closes https://github.com/curl/curl/pull/3596
 
-- [georgeok brought this change]
+- [Giorgos Oikonomou brought this change]
 
   schannel: support CALG_ECDH_EPHEM algorithm
   
@@ -4651,7 +5941,7 @@
   CVE-2018-16890
 
 Marcel Raad (1 Feb 2019)
-- [georgeok brought this change]
+- [Giorgos Oikonomou brought this change]
 
   spnego_sspi: add support for channel binding
   
@@ -4824,7 +6114,7 @@
   Closes #3484
 
 Marcel Raad (19 Jan 2019)
-- [georgeok brought this change]
+- [Giorgos Oikonomou brought this change]
 
   ntlm_sspi: add support for channel binding
   
@@ -6333,1683 +7623,3 @@
   practice".
   
   Closes #3225
-
-- curl: --local-port range was not "including"
-  
-  The end port number in a given range was not included in the range used,
-  as it is documented to be.
-  
-  Reported-by: infinnovation-dev on github
-  Fixes #3251
-  Closes #3255
-
-- [Jérémy Rocher brought this change]
-
-  openssl: support BoringSSL TLS renegotiation
-  
-  As per BoringSSL porting documentation [1], BoringSSL rejects peer
-  renegotiations by default.
-  
-  curl fails when trying to authenticate to server through client
-  certificate if it is requested by server after the initial TLS
-  handshake.
-  
-  Enable renegotiation by default with BoringSSL to get same behavior as
-  with OpenSSL. This is done by calling SSL_set_renegotiate_mode [2]
-  which was introduced in commit 1d5ef3bb1eb9 [3].
-  
-  1 - https://boringssl.googlesource.com/boringssl/+/HEAD/PORTING.md#tls-renegotiation
-  2 - https://boringssl.googlesource.com/boringssl/+/master/include/openssl/ssl.h#3482
-  3 - https://boringssl.googlesource.com/boringssl/+/1d5ef3bb1eb97848617db5e7d633d735a401df86
-  
-  Signed-off-by: Jérémy Rocher <rocher.jeremy@gmail.com>
-  Fixes #3258
-  Closes #3259
-
-- HISTORY: add some milestones
-  
-  Added a few of the more notable milestones in curl history that were
-  missing. Primarily more recent ones but I also noted some older that
-  could be worth mentioning.
-  
-  [ci skip]
-  Closes #3257
-
-Daniel Gustafsson (9 Nov 2018)
-- KNOWN_BUGS: add --proxy-any connection issue
-  
-  Add the identified issue with --proxy-any and proxy servers which
-  advertise authentication schemes other than the supported one.
-  
-  Closes #876
-  Closes #3250
-  Reported-by: NTMan on Github
-  Reviewed-by: Daniel Stenberg <daniel@haxx.se>
-
-Daniel Stenberg (9 Nov 2018)
-- [Jim Fuller brought this change]
-
-  setopt: add CURLOPT_CURLU
-  
-  Allows an application to pass in a pre-parsed URL via a URL handle.
-  
-  Closes #3227
-
-- [Gisle Vanem brought this change]
-
-  docs: ESCape "\n" codes
-  
-  Groff / Troff will display a:
-   printaf("Errno: %ld\n", error);
-  as:
-    printf("Errno: %ld0, error);
-  
-  when a "\n" is not escaped. Use "\\n" instead.
-  
-  Closes #3246
-
-- curl: --local-port fix followup
-  
-  Regression by 52db54869e6.
-  
-  Reported-by: infinnovation-dev on github
-  Fixes #3248
-  Closes #3249
-
-GitHub (7 Nov 2018)
-- [Gisle Vanem brought this change]
-
-  More "\n" ESCaping
-
-Daniel Stenberg (7 Nov 2018)
-- RELEASE-NOTES: synced
-
-- curl: fix --local-port integer overflow
-  
-  The tool's local port command line range parser didn't check for integer
-  overflows and could pass "weird" data to libcurl for this option.
-  libcurl however, has a strict range check for the values so it rejects
-  anything outside of the accepted range.
-  
-  Reported-by: Brian Carpenter
-  Closes #3242
-
-- curl: correct the switch() logic in ourWriteOut
-  
-  Follow-up to e431daf013, as I did the wrong correction for a compiler
-  warning. It should be a break and not a fall-through.
-  
-  Pointed-out-by: Frank Gevaerts
-
-- [Frank Gevaerts brought this change]
-
-  curl: add %{stderr} and %{stdout} for --write-out
-  
-  Closes #3115
-
-Daniel Gustafsson (7 Nov 2018)
-- winssl: be consistent in Schannel capitalization
-  
-  The productname from Microsoft is "Schannel", but in infof/failf
-  reporting we use "schannel". This removes different versions.
-  
-  Closes #3243
-  Reviewed-by: Daniel Stenberg <daniel@haxx.se>
-
-Daniel Stenberg (7 Nov 2018)
-- TODO: Have the URL API offer IDN decoding
-  
-  Similar to how URL decoding/encoding is done, we could have URL
-  functions to convert IDN host names to punycode.
-  
-  Suggested-by: Alexey Melnichuk
-  Closes #3232
-
-- urlapi: only skip encoding the first '=' with APPENDQUERY set
-  
-  APPENDQUERY + URLENCODE would skip all equals signs but now it only skip
-  encoding the first to better allow "name=content" for any content.
-  
-  Reported-by: Alexey Melnichuk
-  Fixes #3231
-  Closes #3231
-
-- url: a short host name + port is not a scheme
-  
-  The function identifying a leading "scheme" part of the URL considered a
-  few letters ending with a colon to be a scheme, making something like
-  "short:80" to become an unknown scheme instead of a short host name and
-  a port number.
-  
-  Extended test 1560 to verify.
-  
-  Also fixed test203 to use file_pwd to make it get the correct path on
-  windows. Removed test 2070 since it was a duplicate of 203.
-  
-  Assisted-by: Marcel Raad
-  Reported-by: Hagai Auro
-  Fixes #3220
-  Fixes #3233
-  Closes #3223
-  Closes #3235
-
-- [Sangamkar brought this change]
-
-  libcurl: stop reading from paused transfers
-  
-  In the transfer loop it would previously not acknwledge the pause bit
-  and continue until drained or loop ended.
-  
-  Closes #3240
-
-Jay Satiro (6 Nov 2018)
-- tool: add undocumented option --dump-module-paths for win32
-  
-  - Add an undocumented diagnostic option for Windows to show the full
-    paths of all loaded modules regardless of whether or not libcurl
-    initialization succeeds.
-  
-  This is needed so that in the CI we can get a list of all DLL
-  dependencies after initialization (when they're most likely to have
-  finished loading) and then package them as artifacts so that a
-  functioning build can be downloaded. Also I imagine it may have some use
-  as a diagnostic for help requests.
-  
-  Ref: https://github.com/curl/curl/pull/3103
-  
-  Closes https://github.com/curl/curl/pull/3208
-
-- curl_multibyte: fix a malloc overcalculation
-  
-  Prior to this change twice as many bytes as necessary were malloc'd when
-  converting wchar to UTF8. To allay confusion in the future I also
-  changed the variable name for the amount of bytes from len to bytes.
-  
-  Closes https://github.com/curl/curl/pull/3209
-
-Michael Kaufmann (5 Nov 2018)
-- netrc: don't ignore the login name specified with "--user"
-  
-  - for "--netrc", don't ignore the login/password specified with "--user",
-    only ignore the login/password in the URL.
-    This restores the netrc behaviour of curl 7.61.1 and earlier.
-  - fix the documentation of CURL_NETRC_REQUIRED
-  - improve the detection of login/password changes when reading .netrc
-  - don't read .netrc if both login and password are already set
-  
-  Fixes #3213
-  Closes #3224
-
-Patrick Monnerat (5 Nov 2018)
-- OS400: add URL API ccsid wrappers and sync ILE/RPG bindings
-
-Daniel Stenberg (5 Nov 2018)
-- [Yasuhiro Matsumoto brought this change]
-
-  curl: fixed UTF-8 in current console code page (Windows)
-  
-  Fixes #3211
-  Fixes #3175
-  Closes #3212
-
-- TODO: 2.6 multi upkeep
-  
-  Closes #3199
-
-Daniel Gustafsson (5 Nov 2018)
-- unittest: make 1652 stable across collations
-  
-  The previous coding used a format string whose output depended on the
-  current locale of the environment running the test. Since the gist of
-  the test is to have a format string, with the actual formatting being
-  less important, switch to a more stable formatstring with decimals.
-  
-  Reported-by: Marcel Raad
-  Closes #3234
-  Reviewed-by: Daniel Stenberg <daniel@haxx.se>
-  Reviewed-by: Marcel Raad <Marcel.Raad@teamviewer.com>
-
-Daniel Stenberg (5 Nov 2018)
-- Revert "url: a short host name + port is not a scheme"
-  
-  This reverts commit 226cfa8264cd979eff3fd52c0f3585ef095e7cf2.
-  
-  This commit caused test failures on appveyor/windows. Work on fixing them is
-  in #3235.
-
-- symbols-in-versions: add missing CURLU_ symbols
-  
-  ...and fix symbol-scan.pl to also scan urlapi.h
-  
-  Reported-by: Alexey Melnichuk
-  Fixes #3226
-  Closes #3230
-
-Daniel Gustafsson (3 Nov 2018)
-- infof: clearly indicate truncation
-  
-  The internal buffer in infof() is limited to 2048 bytes of payload plus
-  an additional byte for NULL termination. Servers with very long error
-  messages can however cause truncation of the string, which currently
-  isn't very clear, and leads to badly formatted output.
-  
-  This appends a "...\n" (or just "..." in case the format didn't with a
-  newline char) marker to the end of the string to clearly show
-  that it has been truncated.
-  
-  Also include a unittest covering infof() to try and catch any bugs
-  introduced in this quite important function.
-  
-  Closes #3216
-  Reviewed-by: Daniel Stenberg <daniel@haxx.se>
-  Reviewed-by: Marcel Raad <Marcel.Raad@teamviewer.com>
-
-Michael Kaufmann (3 Nov 2018)
-- tool_getparam: fix some comments
-
-Daniel Stenberg (3 Nov 2018)
-- url: a short host name + port is not a scheme
-  
-  The function identifying a leading "scheme" part of the URL considered a few
-  letters ending with a colon to be a scheme, making something like "short:80"
-  to become an unknown scheme instead of a short host name and a port number.
-  
-  Extended test 1560 to verify.
-  
-  Reported-by: Hagai Auro
-  Fixes #3220
-  Closes #3223
-
-- URL: fix IPv6 numeral address parser
-  
-  Regression from 46e164069d1a52. Extended test 1560 to verify.
-  
-  Reported-by: tpaukrt on github
-  Fixes #3218
-  Closes #3219
-
-- travis: remove curl before a normal build
-  
-  on Linux. To make sure the test suite runs with its newly build tool and
-  doesn't require an external one present.
-  
-  Bug: #3198
-  Closes #3200
-
-- [Tim Rühsen brought this change]
-
-  mprintf: avoid unsigned integer overflow warning
-  
-  The overflow has no real world impact.
-  Just avoid it for "best practice".
-  
-  Code change suggested by "The Infinnovation Team" and Daniel Stenberg.
-  Closes #3184
-
-- Curl_follow: accept non-supported schemes for "fake" redirects
-  
-  When not actually following the redirect and the target URL is only
-  stored for later retrieval, curl always accepted "non-supported"
-  schemes. This was a regression from 46e164069d1a5230.
-  
-  Reported-by: Brad King
-  Fixes #3210
-  Closes #3215
-
-Daniel Gustafsson (2 Nov 2018)
-- openvms: fix example name
-  
-  Commit efc696a2e09225bfeab4 renamed persistant.c to persistent.c to
-  fix the typo in the name, but missed to update the OpenVMS package
-  files which still looked for the old name.
-  
-  Closes #3217
-  Reviewed-by: Daniel Stenberg <daniel@haxx.se>
-  Reviewed-by: Viktor Szakats <commit@vszakats.net>
-
-Daniel Stenberg (1 Nov 2018)
-- configure: show CFLAGS, LDFLAGS etc in summary
-  
-  To make it easier to understand other people's and remote builds etc.
-  
-  Closes #3207
-
-- version: bump for next cycle
-
-- axtls: removed
-  
-  As has been outlined in the DEPRECATE.md document, the axTLS code has
-  been disabled for 6 months and is hereby removed.
-  
-  Use a better supported TLS library!
-  
-  Assisted-by: Daniel Gustafsson
-  Closes #3194
-
-- [marcosdiazr brought this change]
-
-  schannel: make CURLOPT_CERTINFO support using Issuer chain
-  
-  Closes #3197
-
-- travis: build with sanitize=address,undefined,signed-integer-overflow
-  
-  ... using clang
-  
-  Closes #3190
-
-- schannel: use Curl_ prefix for global private symbols
-  
-  Curl_verify_certificate() must use the Curl_ prefix since it is globally
-  available in the lib and otherwise steps outside of our namespace!
-  
-  Closes #3201
-
-Kamil Dudka (1 Nov 2018)
-- tests: drop http_pipe.py script no longer used
-  
-  It is unused since commit f7208df7d9d5cd5e15e2d89237e828f32b63f135.
-  
-  Closes #3204
-
-Daniel Stenberg (31 Oct 2018)
-- runtests: use the local curl for verifying
-  
-  ... revert the mistaken change brought in commit 8440616f53.
-  
-  Reported-by: Alessandro Ghedini
-  Bug: https://curl.haxx.se/mail/lib-2018-10/0118.html
-  
-  Closes #3198
-
-Version 7.62.0 (30 Oct 2018)
-
-Daniel Stenberg (30 Oct 2018)
-- RELEASE-NOTES: 7.62.0
-
-- THANKS: 7.62.0 status
-
-Daniel Gustafsson (30 Oct 2018)
-- vtls: add MesaLink to curl_sslbackend enum
-  
-  MesaLink support was added in commit 57348eb97d1b8fc3742e02c but the
-  backend was never added to the curl_sslbackend enum in curl/curl.h.
-  This adds the new backend to the enum and updates the relevant docs.
-  
-  Closes #3195
-  Reviewed-by: Daniel Stenberg <daniel@haxx.se>
-
-Daniel Stenberg (30 Oct 2018)
-- [Ruslan Baratov brought this change]
-
-  cmake: Remove unused CURL_CONFIG_HAS_BEEN_RUN_BEFORE variable
-  
-  Closes #3191
-
-- test2080: verify the fix for CVE-2018-16842
-
-- voutf: fix bad arethmetic when outputting warnings to stderr
-  
-  CVE-2018-16842
-  Reported-by: Brian Carpenter
-  Bug: https://curl.haxx.se/docs/CVE-2018-16842.html
-
-- [Tuomo Rinne brought this change]
-
-  cmake: uniform ZLIB to use USE_ variable and clean curl-config.cmake.in
-  
-  Closes #3123
-
-- [Tuomo Rinne brought this change]
-
-  cmake: add find_dependency call for ZLIB to CMake config file
-
-- [Tuomo Rinne brought this change]
-
-  cmake: add support for transitive ZLIB target
-
-- unit1650: fix "null pointer passed as argument 1 to memcmp"
-  
-  Detected by UndefinedBehaviorSanitizer
-  
-  Closes #3187
-
-- travis: add a "make tidy" build that runs clang-tidy
-  
-  Closes #3182
-
-- unit1300: fix stack-use-after-scope AddressSanitizer warning
-  
-  Closes #3186
-
-- Curl_auth_create_plain_message: fix too-large-input-check
-  
-  CVE-2018-16839
-  Reported-by: Harry Sintonen
-  Bug: https://curl.haxx.se/docs/CVE-2018-16839.html
-
-- Curl_close: clear data->multi_easy on free to avoid use-after-free
-  
-  Regression from b46cfbc068 (7.59.0)
-  CVE-2018-16840
-  Reported-by: Brian Carpenter (Geeknik Labs)
-  
-  Bug: https://curl.haxx.se/docs/CVE-2018-16840.html
-
-- [randomswdev brought this change]
-
-  system.h: use proper setting with Sun C++ as well
-  
-  system.h selects the proper Sun settings when __SUNPRO_C is defined. The
-  Sun compiler does not define it when compiling C++ files.  I'm adding a
-  check also on __SUNPRO_CC to allow curl to work properly also when used
-  in a C++ project on Sun Solaris.
-  
-  Closes #3181
-
-- rand: add comment to skip a clang-tidy false positive
-
-- test1651: unit test Curl_extract_certinfo()
-  
-  The version used for Gskit, NSS, GnuTLS, WolfSSL and schannel.
-
-- x509asn1: always check return code from getASN1Element()
-
-- Makefile: add 'tidy' target that runs clang-tidy
-  
-  Available in the root, src and lib dirs.
-  
-  Closes #3163
-
-- RELEASE-PROCEDURE: adjust the release dates
-  
-  See: https://curl.haxx.se/mail/lib-2018-10/0107.html
-
-Patrick Monnerat (27 Oct 2018)
-- x509asn1: suppress left shift on signed value
-  
-  Use an unsigned variable: as the signed operation behavior is undefined,
-  this change silents clang-tidy about it.
-  
-  Ref: https://github.com/curl/curl/pull/3163
-  Reported-By: Daniel Stenberg
-
-Michael Kaufmann (27 Oct 2018)
-- multi: Fix error handling in the SENDPROTOCONNECT state
-  
-  If Curl_protocol_connect() returns an error code,
-  handle the error instead of switching to the next state.
-  
-  Closes #3170
-
-Daniel Stenberg (27 Oct 2018)
-- RELEASE-NOTES: synced
-
-- openssl: output the correct cipher list on TLS 1.3 error
-  
-  When failing to set the 1.3 cipher suite, the wrong string pointer would
-  be used in the error message. Most often saying "(nil)".
-  
-  Reported-by: Ricky-Tigg on github
-  Fixes #3178
-  Closes #3180
-
-- docs/CIPHERS: fix the TLS 1.3 cipher names
-  
-  ... picked straight from the OpenSSL man page:
-  https://www.openssl.org/docs/manmaster/man3/SSL_CTX_set_ciphersuites.html
-  
-  Reported-by: Ricky-Tigg on github
-  Bug: #3178
-
-Marcel Raad (27 Oct 2018)
-- travis: install gnutls-bin package
-  
-  This is required for gnutls-serv, which enables a few more tests.
-  
-  Closes https://github.com/curl/curl/pull/2958
-
-Daniel Gustafsson (26 Oct 2018)
-- ssh: free the session on init failures
-  
-  Ensure to clear the session object in case the libssh2 initialization
-  fails.
-  
-  It could be argued that the libssh2 error function should be called to
-  get a proper error message in this case. But since the only error path
-  in libssh2_knownhost_init() is memory a allocation failure it's safest
-  to avoid since the libssh2 error handling allocates memory.
-  
-  Closes #3179
-  Reviewed-by: Daniel Stenberg <daniel@haxx.se>
-
-Daniel Stenberg (26 Oct 2018)
-- docs/RELEASE-PROCEDURE: remove old entries, modify the Dec 2018 date
-  
-  ... I'm moving it up one week due to travels. The rest stays.
-
-- [Daniel Gustafsson brought this change]
-
-  openssl: make 'done' a proper boolean
-  
-  Closes #3176
-
-- gtls: Values stored to but never read
-  
-  Detected by clang-tidy
-  
-  Closes #3176
-
-- [Alexey Eremikhin brought this change]
-
-  curl.1: --ipv6 mutexes ipv4 (fixed typo)
-  
-  Fixes #3171
-  Closes #3172
-
-- tool_main: make TerminalSettings static
-  
-  Reported-by: Gisle Vanem
-  Bug: https://github.com/curl/curl/commit/becfe1233ff2b6b0c3e1b6a10048b55b68c2539f#commitcomment-31008819
-  Closes #3161
-
-- curl-config.in: remove dependency on bc
-  
-  Reported-by: Dima Pasechnik
-  Fixes #3143
-  Closes #3174
-
-- [Gisle Vanem brought this change]
-
-  rtmp: fix for compiling with lwIP
-  
-  Compiling on _WIN32 and with USE_LWIPSOCK, causes this error:
-    curl_rtmp.c(223,3):  error: use of undeclared identifier 'setsockopt'
-      setsockopt(r->m_sb.sb_socket, SOL_SOCKET, SO_RCVTIMEO,
-      ^
-    curl_rtmp.c(41,32):  note: expanded from macro 'setsockopt'
-    #define setsockopt(a,b,c,d,e) (setsockopt)(a,b,c,(const char *)d,(int)e)
-                                   ^
-  Closes #3155
-
-- configure: remove CURL_CONFIGURE_CURL_SOCKLEN_T
-  
-  Follow-up to #3166 which did the cmake part of this. This type/define is
-  not used.
-  
-  Closes #3168
-
-- [Ruslan Baratov brought this change]
-
-  cmake: remove unused variables
-  
-  Remove variables:
-  * HAVE_SOCKLEN_T
-  * CURL_SIZEOF_CURL_SOCKLEN_T
-  * CURL_TYPEOF_CURL_SOCKLEN_T
-  
-  Closes #3166
-
-Michael Kaufmann (25 Oct 2018)
-- urldata: Fix comment in header
-  
-  The "connecting" function is used by multiple protocols, not only FTP
-
-- netrc: free temporary strings if memory allocation fails
-  
-  - Change the inout parameters after all needed memory has been
-    allocated. Do not change them if something goes wrong.
-  - Free the allocated temporary strings if strdup() fails.
-  
-  Closes #3122
-
-Daniel Stenberg (24 Oct 2018)
-- [Ruslan Baratov brought this change]
-
-  config: Remove unused SIZEOF_VOIDP
-  
-  Closes #3162
-
-- RELEASE-NOTES: synced
-
-GitHub (23 Oct 2018)
-- [Gisle Vanem brought this change]
-
-  Fix for compiling with lwIP (3)
-  
-  lwIP on Windows does not have a WSAIoctl() function.
-  But it do have a SO_SNDBUF option to lwip_setsockopt(). But it currently does nothing.
-
-Daniel Stenberg (23 Oct 2018)
-- Curl_follow: return better errors on URL problems
-  
-  ... by making the converter function global and accessible.
-  
-  Closes #3153
-
-- Curl_follow: remove remaining free(newurl)
-  
-  Follow-up to 05564e750e8f0c. This function no longer frees the passed-in
-  URL.
-  
-  Reported-by: Michael Kaufmann
-  Bug: https://github.com/curl/curl/commit/05564e750e8f0c79016c680f301ce251e6e86155#commitcomm
-  ent-30985666
-
-Daniel Gustafsson (23 Oct 2018)
-- headers: end all headers with guard comment
-  
-  Most headerfiles end with a /* <headerguard> */ comment, but it was
-  missing from some. The comment isn't the most important part of our
-  code documentation but consistency has an intrinsic value in itself.
-  This adds header guard comments to the files that were lacking it.
-  
-  Closes #3158
-  Reviewed-by: Jay Satiro <raysatiro@yahoo.com>
-  Reviewed-by: Daniel Stenberg <daniel@haxx.se>
-
-Jay Satiro (23 Oct 2018)
-- CIPHERS.md: Mention the options used to set TLS 1.3 ciphers
-  
-  Closes https://github.com/curl/curl/pull/3159
-
-Daniel Stenberg (20 Oct 2018)
-- docs/BUG-BOUNTY: the sponsors actually decide the amount
-  
-  Retract the previous approach as the sponsors will be the ones to set the
-  final amounts.
-  
-  Closes #3152
-  [ci skip]
-
-- multi: avoid double-free
-  
-  Curl_follow() no longer frees the string. Make sure it happens in the
-  caller function, like we normally handle allocations.
-  
-  This bug was introduced with the use of the URL API internally, it has
-  never been in a release version
-  
-  Reported-by: Dario Weißer
-  Closes #3149
-
-- multi: make the closure handle "inherit" CURLOPT_NOSIGNAL
-  
-  Otherwise, closing that handle can still cause surprises!
-  
-  Reported-by: Martin Ankerl
-  Fixes #3138
-  Closes #3147
-
-Marcel Raad (19 Oct 2018)
-- VS projects: add USE_IPV6
-  
-  The Visual Studio builds didn't use IPv6. Add it to all projects since
-  Visual Studio 2008, which is verified to build via AppVeyor.
-  
-  Closes https://github.com/curl/curl/pull/3137
-
-- config_win32: enable LDAPS
-  
-  As done in the autotools and CMake builds by default.
-  
-  Closes https://github.com/curl/curl/pull/3137
-
-Daniel Stenberg (18 Oct 2018)
-- travis: add build for "configure --disable-verbose"
-  
-  Closes #3144
-
-Kamil Dudka (17 Oct 2018)
-- tool_cb_hdr: handle failure of rename()
-  
-  Detected by Coverity.
-  
-  Closes #3140
-  Reviewed-by: Jay Satiro
-
-Daniel Stenberg (17 Oct 2018)
-- RELEASE-NOTES: synced
-
-- docs/SECURITY-PROCESS: the hackerone IBB program drops curl
-  
-  ... now there's only BountyGraph.
-
-Jay Satiro (16 Oct 2018)
-- [Matthew Whitehead brought this change]
-
-  x509asn1: Fix SAN IP address verification
-  
-  For IP addresses in the subject alternative name field, the length
-  of the IP address (and hence the number of bytes to perform a
-  memcmp on) is incorrectly calculated to be zero. The code previously
-  subtracted q from name.end. where in a successful case q = name.end
-  and therefore addrlen equalled 0. The change modifies the code to
-  subtract name.beg from name.end to calculate the length correctly.
-  
-  The issue only affects libcurl with GSKit SSL, not other SSL backends.
-  The issue is not a security issue as IP verification would always fail.
-  
-  Fixes #3102
-  Closes #3141
-
-Daniel Gustafsson (15 Oct 2018)
-- INSTALL: mention mesalink in TLS section
-  
-  Commit 57348eb97d1b8fc3742e02c6587d2d02ff592da5 added support for the
-  MesaLink vtls backend, but missed updating the TLS section containing
-  supported backends in the docs.
-  
-  Closes #3134
-  Reviewed-by: Daniel Stenberg <daniel@haxx.se>
-
-Marcel Raad (14 Oct 2018)
-- nonblock: fix unused parameter warning
-  
-  If USE_BLOCKING_SOCKETS is defined, curlx_nonblock's arguments are not
-  used.
-
-Michael Kaufmann (13 Oct 2018)
-- Curl_follow: Always free the passed new URL
-  
-  Closes #3124
-
-Viktor Szakats (12 Oct 2018)
-- replace rawgit links [ci skip]
-  
-  Ref: https://rawgit.com/ "RawGit has reached the end of its useful life"
-  Ref: https://news.ycombinator.com/item?id=18202481
-  Closes https://github.com/curl/curl/pull/3131
-
-Daniel Stenberg (12 Oct 2018)
-- docs/BUG-BOUNTY.md: for vulns published since Aug 1st 2018
-  
-  [ci skip]
-
-- travis: make distcheck scan for BOM markers
-  
-  and remove BOM from projects/wolfssl_override.props
-  
-  Closes #3126
-
-Marcel Raad (11 Oct 2018)
-- CMake: remove BOM
-  
-  Accidentally aded in commit 1bb86057ff07083deeb0b00f8ad35879ec4d03ea.
-  
-  Reported-by: Viktor Szakats
-  Ref: https://github.com/curl/curl/pull/3120#issuecomment-428673136
-
-Daniel Gustafsson (10 Oct 2018)
-- transfer: fix typo in comment
-
-Michael Kaufmann (10 Oct 2018)
-- docs: add "see also" links for SSL options
-  
-  - link TLS 1.2 and TLS 1.3 options
-  - link proxy and non-proxy options
-  
-  Closes #3121
-
-Marcel Raad (10 Oct 2018)
-- AppVeyor: remove BDIR variable that sneaked in again
-  
-  Removed in ae762e1abebe3a5fe75658583c85059a0957ef6e, accidentally added
-  again in 9f3be5672dc4dda30ab43e0152e13d714a84d762.
-
-- CMake: disable -Wpedantic-ms-format
-  
-  As done in the autotools build. This is required for MinGW, which
-  supports only %I64 for printing 64-bit values, but warns about it.
-  
-  Closes https://github.com/curl/curl/pull/3120
-
-Viktor Szakats (9 Oct 2018)
-- ldap: show precise LDAP call in error message on Windows
-  
-  Also add a unique but common text ('bind via') to make it
-  easy to grep this specific failure regardless of platform.
-  
-  Ref: https://github.com/curl/curl/pull/878/files#diff-7a636f08047c4edb53a240f540b4ecf6R468
-  Closes https://github.com/curl/curl/pull/3118
-  Reviewed-by: Daniel Stenberg <daniel@haxx.se>
-  Reviewed-by: Marcel Raad <Marcel.Raad@teamviewer.com>
-
-Daniel Stenberg (9 Oct 2018)
-- docs/DEPRECATE: minor reformat to render nicer on web
-
-Daniel Gustafsson (9 Oct 2018)
-- CURLOPT_SSL_VERIFYSTATUS: Fix typo
-  
-  Changes s/OSCP/OCSP/ and bumps the copyright year due to the change.
-
-Marcel Raad (9 Oct 2018)
-- curl_setup: define NOGDI on Windows
-  
-  This avoids an ERROR macro clash between <wingdi.h> and <arpa/tftp.h>
-  on MinGW.
-  
-  Closes https://github.com/curl/curl/pull/3113
-
-- Windows: fixes for MinGW targeting Windows Vista
-  
-  Classic MinGW has neither InitializeCriticalSectionEx nor
-  GetTickCount64, independent of the target Windows version.
-  
-  Closes https://github.com/curl/curl/pull/3113
-
-Daniel Stenberg (8 Oct 2018)
-- TODO: fixed 'API for URL parsing/splitting'
-
-Daniel Gustafsson (8 Oct 2018)
-- KNOWN_BUGS: Fix various typos
-  
-  Closes #3112
-  Reviewed-by: Daniel Stenberg <daniel@haxx.se>
-
-Viktor Szakats (8 Oct 2018)
-- spelling fixes [ci skip]
-  
-  as detected by codespell 1.14.0
-  
-  Closes https://github.com/curl/curl/pull/3114
-  Reviewed-by: Marcel Raad <Marcel.Raad@teamviewer.com>
-
-Daniel Stenberg (8 Oct 2018)
-- RELEASE-NOTES: synced
-
-- curl_ntlm_wb: check aprintf() return codes
-  
-  ... when they return NULL we're out of memory and MUST return failure.
-  
-  closes #3111
-
-- docs/BUG-BOUNTY: proposed additional docs
-  
-  Bug bounty explainer. See https://bountygraph.com/programs/curl
-  
-  Closes #3067
-
-- [Rick Deist brought this change]
-
-  hostip: fix check on Curl_shuffle_addr return value
-  
-  Closes #3110
-
-- FILE: fix CURLOPT_NOBODY and CURLOPT_HEADER output
-  
-  Now FILE transfers send headers to the header callback like HTTP and
-  other protocols. Also made curl_easy_getinfo(...CURLINFO_PROTOCOL...)
-  work for FILE in the callbacks.
-  
-  Makes "curl -i file://.." and "curl -I file://.." work like before
-  again. Applied the bold header logic to them too.
-  
-  Regression from c1c2762 (7.61.0)
-  
-  Reported-by: Shaun Jackman
-  Fixes #3083
-  Closes #3101
-
-Daniel Gustafsson (7 Oct 2018)
-- gskit: make sure to terminate version string
-  
-  In case a very small buffer was passed to the version function, it could
-  result in the buffer not being NULL-terminated since strncpy() doesn't
-  guarantee a terminator on an overflowed buffer. Rather than adding code
-  to terminate (and handle zero-sized buffers), move to using snprintf()
-  instead like all the other vtls backends.
-  
-  Closes #3105
-  Reviewed-by: Daniel Stenberg <daniel@haxx.se>
-  Reviewed-by: Viktor Szakats <commit@vszakats.net>
-
-- TODO: add LD_PRELOAD support on macOS
-  
-  Add DYLD_INSERT_LIBRARIES support to the TODO list. Reported in #2394.
-
-- runtests: skip ld_preload tests on macOS
-  
-  The LD_PRELOAD functionality doesn't exist on macOS, so skip any tests
-  requiring it.
-  
-  Fixes #2394
-  Closes #3106
-  Reported-by: Github user @jakirkham
-  Reviewed-by: Daniel Stenberg <daniel@haxx.se>
-
-Marcel Raad (7 Oct 2018)
-- AppVeyor: use Debug builds to run tests
-  
-  This enables more tests.
-  
-  Closes https://github.com/curl/curl/pull/3104
-
-- AppVeyor: add HTTP_ONLY build
-  
-  Closes https://github.com/curl/curl/pull/3104
-
-- AppVeyor: add WinSSL builds
-  
-  Use the oldest and latest Windows SDKs for them.
-  Also, remove all but one OpenSSL build.
-  
-  Closes https://github.com/curl/curl/pull/3104
-
-- AppVeyor: add remaining Visual Studio versions
-  
-  This adds Visual Studio 9 and 10 builds.
-  There's no 64-bit VC9 compiler on AppVeyor, so use it as the Win32
-  build. Also, VC9 cannot be used for running the test suite.
-  
-  Closes https://github.com/curl/curl/pull/3104
-
-- AppVeyor: break long line
-  
-  Closes https://github.com/curl/curl/pull/3104
-
-- AppVeyor: remove unused BDIR variable
-  
-  Closes https://github.com/curl/curl/pull/3104
-
-Daniel Stenberg (6 Oct 2018)
-- test2100: test DoH using IPv4-only
-  
-  To make it only send one DoH request and avoid the race condition that
-  could lead to the requests getting sent in reversed order and thus
-  making it hard to compare in the test case.
-  
-  Fixes #3107
-  Closes #3108
-
-- tests/FILEFORMAT: mention how to use <fileN> and <stripfileN> too
-  
-  [ci skip]
-
-- RELEASE-NOTES: synced
-
-- [Dmitry Kostjuchenko brought this change]
-
-  timeval: fix use of weak symbol clock_gettime() on Apple platforms
-  
-  Closes #3048
-
-- doh: keep the IPv4 address in (original) network byte order
-  
-  Ideally this will fix the reversed order shown in SPARC tests:
-  
-    resp 8: Expected 127.0.0.1 got 1.0.0.127
-  
-  Closes #3091
-
-Jay Satiro (5 Oct 2018)
-- INTERNALS.md: wrap lines longer than 79
-
-Daniel Gustafsson (5 Oct 2018)
-- INTERNALS: escape reference to parameter
-  
-  The parameter reference <string> was causing rendering issues in the
-  generated HTML page, as <string> isn't a valid HTML tag. Fix by back-
-  tick escaping it.
-  
-  Closes #3099
-  Reviewed-by: Jay Satiro <raysatiro@yahoo.com>
-  Reviewed-by: Daniel Stenberg <daniel@haxx.se>
-
-- checksrc: handle zero scoped ignore commands
-  
-  If a !checksrc! disable command specified to ignore zero errors, it was
-  still added to the ignore block even though nothing was ignored. While
-  there were no blocks ignored that shouldn't be ignored, the processing
-  ended with with a warning:
-  
-  <filename>:<line>:<col>: warning: Unused ignore: LONGLINE (UNUSEDIGNORE)
-   /* !checksrc! disable LONGLINE 0 */
-                      ^
-  Fix by instead treating a zero ignore as a a badcommand and throw a
-  warning for that one.
-  
-  Closes #3096
-  Reviewed-by: Daniel Stenberg <daniel@haxx.se>
-
-- checksrc: enable strict mode and warnings
-  
-  Enable strict and warnings mode for checksrc to ensure we aren't missing
-  anything due to bugs in the checking code. This uncovered a few things
-  which are all fixed in this commit:
-  
-  * several variables were used uninitialized
-  * several variables were not defined in the correct scope
-  * the whitelist filehandle was read even if the file didn't exist
-  * the enable_warn() call when a disable counter had expired was passing
-    incorrect variables, but since the checkwarn() call is unlikely to hit
-    (the counter is only decremented to zero on actual ignores) it didn't
-    manifest a problem.
-  
-  Closes #3090
-  Reviewed-by: Daniel Stenberg <daniel@haxx.se>
-  Reviewed-by: Marcel Raad <Marcel.Raad@teamviewer.com>
-
-Marcel Raad (5 Oct 2018)
-- CMake: suppress MSVC warning C4127 for libtest
-  
-  It's issued by older Windows SDKs (prior to version 8.0).
-
-Sergei Nikulov (5 Oct 2018)
-- Merge branch 'dmitrykos-fix_missing_CMake_defines'
-
-- [Dmitry Kostjuchenko brought this change]
-
-  cmake: test and set missed defines during configuration
-  
-  Added configuration checks for HAVE_BUILTIN_AVAILABLE and HAVE_CLOCK_GETTIME_MONOTONIC.
-  
-  Closes #3097
-
-Marcel Raad (5 Oct 2018)
-- AppVeyor: disable test 500
-  
-  It almost always results in
-  "starttransfer vs total: 0.000001 0.000000".
-  I cannot reproduce this locally, so disable it for now.
-  
-  Closes https://github.com/curl/curl/pull/3100
-
-- AppVeyor: set custom install prefix
-  
-  CMake's default has spaces and in 32-bit mode parentheses, which result
-  in syntax errors in curl-config.
-  
-  Closes https://github.com/curl/curl/pull/3100
-
-- AppVeyor: Remove non-SSL non-test builds
-  
-  They don't add much value.
-  
-  Closes https://github.com/curl/curl/pull/3100
-
-- AppVeyor: run test suite
-  
-  Use the preinstalled MSYS2 bash for that.
-  Disable test 1139 as the CMake build doesn't generate curl.1.
-  
-  Ref: https://github.com/curl/curl/issues/3070#issuecomment-425922224
-  Closes https://github.com/curl/curl/pull/3100
-
-- AppVeyor: use in-tree build
-  
-  Required to run the tests.
-  
-  Closes https://github.com/curl/curl/pull/3100
-
-Daniel Stenberg (4 Oct 2018)
-- doh: make sure TTL isn't re-inited by second (discarded?) response
-  
-  Closes #3092
-
-- test320: strip out more HTML when comparing
-  
-  To make the test case work with different gnutls-serv versions better.
-  
-  Reported-by: Kamil Dudka
-  Fixes #3093
-  Closes #3094
-
-Marcel Raad (4 Oct 2018)
-- runtests: use Windows paths for Windows curl
-  
-  curl generated by CMake's Visual Studio generator has "Windows" in the
-  version number.
-
-Daniel Stenberg (4 Oct 2018)
-- [Colin Hogben brought this change]
-
-  tests/negtelnetserver.py: fix Python2-ism in neg TELNET server
-  
-  Fix problems caused by differences in treatment of bytes objects between
-  python2 and python3.
-  
-  Fixes #2929
-  Closes #3080
-
-Daniel Gustafsson (3 Oct 2018)
-- memory: ensure to check allocation results
-  
-  The result of a memory allocation should always be checked, as we may
-  run under memory pressure where even a small allocation can fail. This
-  adds checking and error handling to a few cases where the allocation
-  wasn't checked for success. In the ftp case, the freeing of the path
-  variable is moved ahead of the allocation since there is little point
-  in keeping it around across the strdup, and the separation makes for
-  more readable code. In nwlib, the lock is aslo freed in the error path.
-  
-  Also bumps the copyright years on affected files.
-  
-  Closes #3084
-  Reviewed-by: Jay Satiro <raysatiro@yahoo.com>
-  Reviewed-by: Daniel Stenberg <daniel@haxx.se>
-
-- comment: Fix multiple typos in function parameters
-  
-  Ensure that the parameters in the comment match the actual names in the
-  prototype.
-  
-  Closes #3079
-  Reviewed-by: Daniel Stenberg <daniel@haxx.se>
-
-- CURLOPT_SSLVERSION.3: fix typos and consistent spelling
-  
-  Use TLS vX.Y throughout the document, instead of TLS X.Y, as that was
-  already done in all but a few cases. Also fix a few typos.
-  
-  Closes #3076
-  Reviewed-by: Marcel Raad <Marcel.Raad@teamviewer.com>
-  Reviewed-by: Daniel Stenberg <daniel@haxx.se>
-
-- SECURITY-PROCESS: make links into hyperlinks
-  
-  Use proper Markdown hyperlink format for the Bountygraph links in order
-  for the generated website page to be more user friendly. Also link to
-  the sponsors to give them a little extra credit.
-  
-  Closes #3082
-  Reviewed-by: Daniel Stenberg <daniel@haxx.se>
-
-Jay Satiro (3 Oct 2018)
-- CURLOPT_HEADER.3: fix typo
-
-- nss: fix nssckbi module loading on Windows
-  
-  - Use .DLL extension instead of .so to load modules on Windows.
-  
-  Bug: https://curl.haxx.se/mail/lib-2018-09/0077.html
-  Reported-by: Maxime Legros
-  
-  Ref: https://github.com/curl/curl/pull/3016/#issuecomment-423069442
-  
-  Closes https://github.com/curl/curl/pull/3086
-
-- data-binary.d: clarify default content-type is x-www-form-urlencoded
-  
-  - Advise user that --data-binary sends a default content type of
-    x-www-form-urlencoded, and to have the data treated as arbitrary
-    binary data by the server set the content-type header to octet-stream.
-  
-  Ref: https://github.com/curl/curl/pull/2852#issuecomment-426465094
-  
-  Closes https://github.com/curl/curl/pull/3085
-
-Marcel Raad (2 Oct 2018)
-- test1299: use single quotes around asterisk
-  
-  Ref: https://github.com/curl/curl/issues/1751#issuecomment-321522580
-
-Daniel Stenberg (2 Oct 2018)
-- docs/CIPHERS: mention the colon separation for OpenSSL
-  
-  Bug: #3077
-
-- runtests: ignore disabled even when ranges are given
-  
-  runtests.pl support running a range of tests, like "44 to 127". Starting
-  now, the code makes sure that even such given ranges will ignore tests
-  that are marked as disabled.
-  
-  Disabled tests can still be run by explictly specifying that test
-  number.
-  
-  Closes #3075
-
-- urlapi: starting with a drive letter on win32 is not an abs url
-  
-  ... and libcurl doesn't support any single-letter URL schemes (if there
-  even exist any) so it should be fairly risk-free.
-  
-  Reported-by: Marcel Raad
-  
-  Fixes #3070
-  Closes #3071
-
-Marcel Raad (2 Oct 2018)
-- doh: fix curl_easy_setopt argument type
-  
-  CURLOPT_POSTFIELDSIZE is long. Fixes a compiler warning on 64-bit
-  MinGW.
-
-Daniel Stenberg (2 Oct 2018)
-- RELEASE-NOTES: synced
-
-Jay Satiro (1 Oct 2018)
-- [Ruslan Baratov brought this change]
-
-  CMake: Improve config installation
-  
-  Use 'GNUInstallDirs' standard module to set destinations of installed
-  files.
-  
-  Use uppercase "CURL" names instead of lowercase "curl" to match standard
-  'FindCURL.cmake' CMake module:
-  * https://cmake.org/cmake/help/latest/module/FindCURL.html
-  
-  Meaning:
-  * Install 'CURLConfig.cmake' instead of 'curl-config.cmake'
-  * User should call 'find_package(CURL)' instead of 'find_package(curl)'
-  
-  Use 'configure_package_config_file' function to generate
-  'CURLConfig.cmake' file. This will make 'curl-config.cmake.in' template
-  file smaller and handle components better.  E.g.  current configuration
-  report no error if user specified unknown components (note: new
-  configuration expects no components, report error if user will try to
-  specify any).
-  
-  Closes https://github.com/curl/curl/pull/2849
-
-Daniel Stenberg (1 Oct 2018)
-- test1650: make it depend on http/2
-  
-  Follow-up to 570008c99da0ccbb as it gets link errors.
-  
-  Reported-by: Michael Kaufmann
-  Closes #3068
-
-- [Nate Prewitt brought this change]
-
-  MANUAL: minor grammar fix
-  
-  Noticed a typo reading through the docs.
-  
-  Closes #3069
-
-- doh: only build if h2 enabled
-  
-  The DoH spec says "HTTP/2 [RFC7540] is the minimum RECOMMENDED version
-  of HTTP for use with DoH".
-  
-  Reported-by: Marcel Raad
-  Closes #3066
-
-- test2100: require http2 to run
-  
-  Reported-by: Marcel Raad
-  Fixes #3064
-  Closes #3065
-
-- multi: fix memory leak in content encoding related error path
-  
-  ... a missing multi_done() call.
-  
-  Credit to OSS-Fuzz
-  Bug: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=10728
-  Closes #3063
-
-- travis: bump the Secure Transport build to use xcode 10
-  
-  Due to an issue with travis
-  (https://github.com/travis-ci/travis-ci/issues/9956) we've been using
-  Xcode 9.2 for darwinssl builds for a while. Now xcode 10 is offered as
-  an alternative and as it builds curl+darwinssl fine that seems like a
-  better choice.
-  
-  Closes #3062
-
-- [Rich Turner brought this change]
-
-  curl: enabled Windows VT Support and UTF-8 output
-  
-  Enabled Console VT support (if running OS supports VT) in tool_main.c.
-  
-  Fixes #3008
-  Closes #3011
-
-- multi: fix location URL memleak in error path
-  
-  Follow-up to #3044 - fix a leak OSS-Fuzz detected
-  Closes #3057
-
-Sergei Nikulov (28 Sep 2018)
-- cmake: fixed path used in generation of docs/tests during curl build through add_subdicectory(...)
-
-- [Brad King brought this change]
-
-  cmake: Backport to work with CMake 3.0 again
-  
-  Changes in commit 7867aaa9a0 (cmake: link curl to the OpenSSL targets
-  instead of lib absolute paths, 2018-07-17) and commit f826b4ce98 (cmake:
-  bumped minimum version to 3.4, 2018-07-19) required CMake 3.4 to fix
-  issue #2746.  This broke support for users on older versions of CMake
-  even if they just want to build curl and do not care whether transitive
-  dependencies work.
-  
-  Backport the logic to work with CMake 3.0 again by implementing the
-  fix only when the version of CMake is at least 3.4.
-
-Marcel Raad (27 Sep 2018)
-- curl_threads: fix classic MinGW compile break
-  
-  Classic MinGW still has _beginthreadex's return type as unsigned long
-  instead of uintptr_t [0]. uintptr_t is not even defined because of [1].
-  
-  [0] https://sourceforge.net/p/mingw/mingw-org-wsl/ci/wsl-5.1-release/tree/mingwrt/include/process.h#l167
-  [1] https://sourceforge.net/p/mingw/mingw-org-wsl/ci/wsl-5.1-release/tree/mingwrt/include/process.h#l90
-  
-  Bug: https://github.com/curl/curl/issues/2924#issuecomment-424334807
-  Closes https://github.com/curl/curl/pull/3051
-
-Daniel Stenberg (26 Sep 2018)
-- configure: s/AC_RUN_IFELSE/CURL_RUN_IFELSE
-  
-  fix a few leftovers
-  
-  Fixes #3006
-  Closes #3049
-
-- [Doron Behar brought this change]
-
-  example/htmltidy: fix include paths of tidy libraries
-  
-  Closes #3050
-
-- RELEASE-NOTES: synced
-
-- Curl_http2_done: fix memleak in error path
-  
-  Free 'header_recvbuf' unconditionally even if 'h2' isn't (yet) set, for
-  early failures.
-  
-  Detected by OSS-Fuzz
-  
-  Bug: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=10669
-  Closes #3046
-
-- http: fix memleak in rewind error path
-  
-  If the rewind would fail, a strdup() would not get freed.
-  
-  Detected by OSS-Fuzz
-  
-  Bug: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=10665
-  Closes #3044
-
-Viktor Szakats (24 Sep 2018)
-- test320: fix regression in [ci skip]
-  
-  The value in question is coming directly from `gnutls-serv`, so it cannot
-  be modified freely.
-  
-  Reported-by: Marcel Raad
-  Ref: https://github.com/curl/curl/commit/6ae6b2a533e8630afbb21f570305bd4ceece6348#commitcomment-30621004
-
-Daniel Stenberg (24 Sep 2018)
-- Curl_retry_request: fix memory leak
-  
-  Detected by OSS-Fuzz
-  
-  Bug: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=10648
-  Closes #3042
-
-- openssl: load built-in engines too
-  
-  Regression since 38203f1
-  
-  Reported-by: Jean Fabrice
-  Fixes #3023
-  Closes #3040
-
-- [Christian Heimes brought this change]
-
-  OpenSSL: enable TLS 1.3 post-handshake auth
-  
-  OpenSSL 1.1.1 requires clients to opt-in for post-handshake
-  authentication.
-  
-  Fixes: https://github.com/curl/curl/issues/3026
-  Signed-off-by: Christian Heimes <christian@python.org>
-  
-  Closes https://github.com/curl/curl/pull/3027
-
-- [Even Rouault brought this change]
-
-  Curl_dedotdotify(): always nul terminate returned string.
-  
-  This fixes potential out-of-buffer access on "file:./" URL
-  
-  $ valgrind curl "file:./"
-  ==24516== Memcheck, a memory error detector
-  ==24516== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al.
-  ==24516== Using Valgrind-3.11.0 and LibVEX; rerun with -h for copyright info
-  ==24516== Command: /home/even/install-curl-git/bin/curl file:./
-  ==24516==
-  ==24516== Conditional jump or move depends on uninitialised value(s)
-  ==24516==    at 0x4C31F9C: strcmp (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-  ==24516==    by 0x4EBB315: seturl (urlapi.c:801)
-  ==24516==    by 0x4EBB568: parseurl (urlapi.c:861)
-  ==24516==    by 0x4EBC509: curl_url_set (urlapi.c:1199)
-  ==24516==    by 0x4E644C6: parseurlandfillconn (url.c:2044)
-  ==24516==    by 0x4E67AEF: create_conn (url.c:3613)
-  ==24516==    by 0x4E68A4F: Curl_connect (url.c:4119)
-  ==24516==    by 0x4E7F0A4: multi_runsingle (multi.c:1440)
-  ==24516==    by 0x4E808E5: curl_multi_perform (multi.c:2173)
-  ==24516==    by 0x4E7558C: easy_transfer (easy.c:686)
-  ==24516==    by 0x4E75801: easy_perform (easy.c:779)
-  ==24516==    by 0x4E75868: curl_easy_perform (easy.c:798)
-  
-  Was originally spotted by
-  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=10637
-  Credit to OSS-Fuzz
-  
-  Closes #3039
-
-Viktor Szakats (23 Sep 2018)
-- update URLs in tests
-  
-  - and one in docs/MANUAL as well
-  
-  Closes https://github.com/curl/curl/pull/3038
-
-- whitespace fixes
-  
-  - replace tabs with spaces where possible
-  - remove line ending spaces
-  - remove double/triple newlines at EOF
-  - fix a non-UTF-8 character
-  - cleanup a few indentations/line continuations
-    in manual examples
-  
-  Closes https://github.com/curl/curl/pull/3037
-
-Daniel Stenberg (23 Sep 2018)
-- http: add missing return code check
-  
-  Detected by Coverity. CID 1439610.
-  
-  Follow-up from 46e164069d1a523
-  
-  Closes #3034
-
-- ftp: don't access pointer before NULL check
-  
-  Detected by Coverity. CID 1439611.
-  
-  Follow-up from 46e164069d1a523
-
-- unit1650: fix out of boundary access
-  
-  Fixes #2987
-  Closes #3035
-
-Viktor Szakats (23 Sep 2018)
-- docs/examples: URL updates
-  
-  - also update two URLs outside of docs/examples
-  - fix spelling of filename persistant.c
-  - fix three long lines that started failing checksrc.pl
-  
-  Closes https://github.com/curl/curl/pull/3036
-
-- examples/Makefile.m32: sync with core [ci skip]
-  
-  also:
-  - fix two warnings in synctime.c (one of them Windows-specific)
-  - upgrade URLs in synctime.c and remove a broken one
-  
-  Closes https://github.com/curl/curl/pull/3033
-
-Daniel Stenberg (22 Sep 2018)
-- examples/parseurl.c: show off the URL API a bit
-  
-  Closes #3030
-
-- SECURITY-PROCESS: mention the bountygraph program [ci skip]
-  
-  Closes #3032
-
-- url: use the URL API internally as well
-  
-  ... to make it a truly unified URL parser.
-  
-  Closes #3017
-
-Viktor Szakats (22 Sep 2018)
-- URL and mailmap updates, remove an obsolete directory [ci skip]
-  
-  Closes https://github.com/curl/curl/pull/3031
-
-Daniel Stenberg (22 Sep 2018)
-- RELEASE-NOTES: synced
-
-- configure: force-use -lpthreads on HPUX
-  
-  When trying to detect pthreads use on HPUX the checks will succeed
-  without the correct -l option but then end up failing at run-time.
-  
-  Reported-by: Eason-Yu on github
-  Fixes #2697
-  Closes #3025
-
-- [Erik Minekus brought this change]
-
-  Curl_saferealloc: Fixed typo in docblock
-  
-  Closes #3029
-
-- urlapi: fix support for address scope in IPv6 numerical addresses
-  
-  Closes #3024
-
-- [Loganaden Velvindron brought this change]
-
-  GnutTLS: TLS 1.3 support
-  
-  Closes #2971
-
-- TODO: c-ares and CURLOPT_OPENSOCKETFUNCTION
-  
-  Removed DoH.
-  
-  Closes #2734
-
-Jay Satiro (20 Sep 2018)
-- vtls: fix ssl version "or later" behavior change for many backends
-  
-  - Treat CURL_SSLVERSION_MAX_NONE the same as
-    CURL_SSLVERSION_MAX_DEFAULT. Prior to this change NONE would mean use
-    the minimum version also as the maximum.
-  
-  This is a follow-up to 6015cef which changed the behavior of setting
-  the SSL version so that the requested version would only be the minimum
-  and not the maximum. It appears it was (mostly) implemented in OpenSSL
-  but not other backends. In other words CURL_SSLVERSION_TLSv1_0 used to
-  mean use just TLS v1.0 and now it means use TLS v1.0 *or later*.
-  
-  - Fix CURL_SSLVERSION_MAX_DEFAULT for OpenSSL.
-  
-  Prior to this change CURL_SSLVERSION_MAX_DEFAULT with OpenSSL was
-  erroneously treated as always TLS 1.3, and would cause an error if
-  OpenSSL was built without TLS 1.3 support.
-  
-  Co-authored-by: Daniel Gustafsson
-  
-  Fixes https://github.com/curl/curl/issues/2969
-  Closes https://github.com/curl/curl/pull/3012
-
-Daniel Stenberg (20 Sep 2018)
-- certs: generate tests certs with sha256 digest algorithm
-  
-  As OpenSSL 1.1.1 starts to complain and fail on sha1 CAs:
-  
-  "SSL certificate problem: CA signature digest algorithm too weak"
-  
-  Closes #3014
-
-- urlapi: document the error codes, remove two unused ones
-  
-  Assisted-by: Daniel Gustafsson
-  Closes #3019
-
-- urlapi: add CURLU_GUESS_SCHEME and fix hostname acceptance
-  
-  In order for this API to fully work for libcurl itself, it now offers a
-  CURLU_GUESS_SCHEME flag that makes it "guess" scheme based on the host
-  name prefix just like libcurl always did. If there's no known prefix, it
-  will guess "http://".
-  
-  Separately, it relaxes the check of the host name so that IDN host names
-  can be passed in as well.
-  
-  Both these changes are necessary for libcurl itself to use this API.
-  
-  Assisted-by: Daniel Gustafsson
-  Closes #3018
-
-Kamil Dudka (19 Sep 2018)
-- nss: try to connect even if libnssckbi.so fails to load
-  
-  One can still use CA certificates stored in NSS database.
-  
-  Reported-by: Maxime Legros
-  Bug: https://curl.haxx.se/mail/lib-2018-09/0077.html
-  
-  Closes #3016
-
-Daniel Gustafsson (19 Sep 2018)
-- urlapi: don't set value which is never read
-  
-  In the CURLUPART_URL case, there is no codepath which invokes url
-  decoding so remove the assignment of the urldecode variable. This
-  fixes the deadstore bug-report from clang static analysis.
-  
-  Closes #3015
-  Reviewed-by: Daniel Stenberg <daniel@haxx.se>
-
-- todo: Update reference to already done item
-  
-  TODO item 1.1 was implemented in commit 946ce5b61f, update reference
-  to it with instead referencing the implemented option.
-  
-  Closes #3013
-  Reviewed-by: Daniel Stenberg <daniel@haxx.se>
-
-Daniel Stenberg (18 Sep 2018)
-- RELEASE-NOTES: synced
-
-- [slodki brought this change]
-
-  cmake: don't require OpenSSL if USE_OPENSSL=OFF
-  
-  User must have OpenSSL installed even if not used by libcurl at all
-  since 7.61.1 release.  Broken at
-  7867aaa9a01decf93711428462335be8cef70212
-  
-  Reviewed-by: Sergei Nikulov
-  Closes #3001
-
-- curl_multi_wait: call getsock before figuring out timeout
-  
-  .... since getsock may update the expiry timer.
-  
-  Fixes #2996
-  Closes #3000
-
-- examples/http2-pushinmemory: receive HTTP/2 pushed files in memory
-  
-  Closes #3004
diff --git a/CMake/FindGSS.cmake b/CMake/FindGSS.cmake
index 44bcfd0..a2f150c 100644
--- a/CMake/FindGSS.cmake
+++ b/CMake/FindGSS.cmake
@@ -62,6 +62,7 @@
           COMMAND ${_GSS_CONFIGURE_SCRIPT} "--cflags" "gssapi"
           OUTPUT_VARIABLE _GSS_CFLAGS
           RESULT_VARIABLE _GSS_CONFIGURE_FAILED
+          OUTPUT_STRIP_TRAILING_WHITESPACE
       )
     message(STATUS "CFLAGS: ${_GSS_CFLAGS}")
     if(NOT _GSS_CONFIGURE_FAILED) # 0 means success
@@ -84,6 +85,7 @@
         COMMAND ${_GSS_CONFIGURE_SCRIPT} "--libs" "gssapi"
         OUTPUT_VARIABLE _GSS_LIB_FLAGS
         RESULT_VARIABLE _GSS_CONFIGURE_FAILED
+        OUTPUT_STRIP_TRAILING_WHITESPACE
     )
     message(STATUS "LDFLAGS: ${_GSS_LIB_FLAGS}")
 
@@ -110,6 +112,7 @@
         COMMAND ${_GSS_CONFIGURE_SCRIPT} "--version"
         OUTPUT_VARIABLE _GSS_VERSION
         RESULT_VARIABLE _GSS_CONFIGURE_FAILED
+        OUTPUT_STRIP_TRAILING_WHITESPACE
     )
 
     # older versions may not have the "--version" parameter. In this case we just don't care.
@@ -121,6 +124,7 @@
         COMMAND ${_GSS_CONFIGURE_SCRIPT} "--vendor"
         OUTPUT_VARIABLE _GSS_VENDOR
         RESULT_VARIABLE _GSS_CONFIGURE_FAILED
+        OUTPUT_STRIP_TRAILING_WHITESPACE
     )
 
     # older versions may not have the "--vendor" parameter. In this case we just don't care.
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 29cb5f5..0772d6e 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -260,7 +260,7 @@
 endif()
 
 # Check for all needed libraries
-check_library_exists_concat("dl"     dlopen       HAVE_LIBDL)
+check_library_exists_concat("${CMAKE_DL_LIBS}" dlopen HAVE_LIBDL)
 check_library_exists_concat("socket" connect      HAVE_LIBSOCKET)
 check_library_exists("c" gethostbyname "" NOT_NEED_LIBNSL)
 
@@ -860,6 +860,7 @@
 check_symbol_exists(getpwuid      "${CURL_INCLUDES}" HAVE_GETPWUID)
 check_symbol_exists(getpwuid_r    "${CURL_INCLUDES}" HAVE_GETPWUID_R)
 check_symbol_exists(geteuid       "${CURL_INCLUDES}" HAVE_GETEUID)
+check_symbol_exists(usleep        "${CURL_INCLUDES}" HAVE_USLEEP)
 check_symbol_exists(utime         "${CURL_INCLUDES}" HAVE_UTIME)
 check_symbol_exists(gmtime_r      "${CURL_INCLUDES}" HAVE_GMTIME_R)
 check_symbol_exists(localtime_r   "${CURL_INCLUDES}" HAVE_LOCALTIME_R)
diff --git a/METADATA b/METADATA
index 1bb8124..55c54ac 100644
--- a/METADATA
+++ b/METADATA
@@ -7,12 +7,12 @@
   }
   url {
     type: ARCHIVE
-    value: "https://github.com/curl/curl/releases/download/curl-7_65_3/curl-7.65.3.tar.xz"
+    value: "https://github.com/curl/curl/releases/download/curl-7_66_0/curl-7.66.0.tar.xz"
   }
-  version: "curl-7_65_3"
+  version: "curl-7_66_0"
   last_upgrade_date {
     year: 2019
-    month: 7
-    day: 19
+    month: 9
+    day: 11
   }
 }
diff --git a/Makefile.am b/Makefile.am
index ac5eca3..3116e10 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -154,9 +154,20 @@
 WINBUILD_DIST = winbuild/BUILD.WINDOWS.txt winbuild/gen_resp_file.bat \
  winbuild/MakefileBuild.vc winbuild/Makefile.vc
 
+PLAN9_DIST = plan9/include/mkfile \
+ plan9/include/mkfile             \
+ plan9/mkfile.proto               \
+ plan9/mkfile                     \
+ plan9/BUILD.PLAN9.txt            \
+ plan9/lib/mkfile.inc             \
+ plan9/lib/mkfile                 \
+ plan9/src/mkfile.inc             \
+ plan9/src/mkfile
+
 EXTRA_DIST = CHANGES COPYING maketgz Makefile.dist curl-config.in \
  RELEASE-NOTES buildconf libcurl.pc.in MacOSX-Framework \
- scripts/updatemanpages.pl $(CMAKE_DIST) $(VC_DIST) $(WINBUILD_DIST) \
+ scripts/updatemanpages.pl $(CMAKE_DIST) \
+ $(VC_DIST) $(WINBUILD_DIST) $(PLAN9_DIST) \
  lib/libcurl.vers.in buildconf.bat scripts/coverage.sh scripts/completion.pl
 
 CLEANFILES = $(VC6_LIBDSP) $(VC6_SRCDSP) $(VC7_LIBVCPROJ) $(VC7_SRCVCPROJ) \
diff --git a/RELEASE-NOTES b/RELEASE-NOTES
index bedfa2c..cd13827 100644
--- a/RELEASE-NOTES
+++ b/RELEASE-NOTES
@@ -1,14 +1,103 @@
-curl and libcurl 7.65.3
+curl and libcurl 7.66.0
 
- Public curl releases:         184
- Command line options:         221
- curl_easy_setopt() options:   268
- Public functions in libcurl:  80
+ Public curl releases:         185
+ Command line options:         225
+ curl_easy_setopt() options:   269
+ Public functions in libcurl:  81
  Contributors:                 1991
 
+This release includes the following changes:
+
+ o CURLINFO_RETRY_AFTER: parse the Retry-After header value [35]
+ o HTTP3: initial (experimental still not working) support [5]
+ o curl: --sasl-authzid added to support CURLOPT_SASL_AUTHZID from the tool [27]
+ o curl: support parallel transfers with -Z [4]
+ o curl_multi_poll: a sister to curl_multi_wait() that waits more [28]
+ o sasl: Implement SASL authorisation identity via CURLOPT_SASL_AUTHZID [27]
+
 This release includes the following bugfixes:
 
- o progress: make the progress meter appear again [1]
+ o CVE-2019-5481: FTP-KRB double-free [64]
+ o CVE-2019-5482: TFTP small blocksize heap buffer overflow [65]
+ o CI: remove duplicate configure flag for LGTM.com
+ o CMake: remove needless newlines at end of gss variables
+ o CMake: use platform dependent name for dlopen() library [62]
+ o CURLINFO docs: mention that in redirects times are added [55]
+ o CURLOPT_ALTSVC.3: use a "" file name to not load from a file
+ o CURLOPT_ALTSVC_CTRL.3: remove CURLALTSVC_ALTUSED
+ o CURLOPT_HEADERFUNCTION.3: clarify [54]
+ o CURLOPT_HTTP_VERSION: seting this to 3 forces HTTP/3 use directly [33]
+ o CURLOPT_READFUNCTION.3: provide inline example
+ o CURLOPT_SSL_VERIFYHOST: treat the value 1 as 2 [51]
+ o Curl_addr2string: take an addrlen argument too [61]
+ o Curl_fillreadbuffer: avoid double-free trailer buf on error [66]
+ o HTTP: use chunked Transfer-Encoding for HTTP_POST if size unknown [10]
+ o alt-svc: add protocol version selection masking [31]
+ o alt-svc: fix removal of expired cache entry [30]
+ o alt-svc: make it use h3-22 with ngtcp2 as well
+ o alt-svc: more liberal ALPN name parsing [17]
+ o alt-svc: send Alt-Used: in redirected requests [32]
+ o alt-svc: with quiche, use the quiche h3 alpn string [16]
+ o appveyor: pass on -k to make
+ o asyn-thread: create a socketpair to wait on [14]
+ o build-openssl: fix build with Visual Studio 2019 [45]
+ o cleanup: move functions out of url.c and make them static [58]
+ o cleanup: remove the 'numsocks' argument used in many places [25]
+ o configure: avoid undefined check_for_ca_bundle [37]
+ o curl.h: add CURL_HTTP_VERSION_3 to the version enum
+ o curl.h: fix outdated comment [23]
+ o curl: cap the maximum allowed values for retry time arguments [13]
+ o curl: handle a libcurl build without netrc support [63]
+ o curl: make use of CURLINFO_RETRY_AFTER when retrying [35]
+ o curl: remove outdated comment [24]
+ o curl: use .curlrc (with a dot) on Windows [52]
+ o curl: use CURLINFO_PROTOCOL to check for HTTP(s)
+ o curl_global_init_mem.3: mention it was added in 7.12.0
+ o curl_version: bump string buffer size to 250
+ o curl_version_info.3: mentioned ALTSVC and HTTP3
+ o curl_version_info: offer quic (and h3) library info [38]
+ o curl_version_info: provide nghttp2 details [2]
+ o defines: avoid underscore-prefixed defines [47]
+ o docs/ALTSVC: remove what works and the experimental explanation [34]
+ o docs/EXPERIMENTAL: explain what it means and what's experimental now
+ o docs/MANUAL.md: converted to markdown from plain text [3]
+ o docs/examples/curlx: fix errors [48]
+ o docs: s/curl_debug/curl_dbg_debug in comments and docs [36]
+ o easy: resize receive buffer on easy handle reset [9]
+ o examples: Avoid reserved names in hiperfifo examples [8]
+ o examples: add http3.c, altsvc.c and http3-present.c [40]
+ o getenv: support up to 4K environment variable contents on windows [21]
+ o http09: disable HTTP/0.9 by default in both tool and library [29]
+ o http2: when marked for closure and wanted to close == OK [56]
+ o http2_recv: trigger another read when the last data is returned [11]
+ o http: fix use of credentials from URL when using HTTP proxy [44]
+ o http_negotiate: improve handling of gss_init_sec_context() failures [18]
+ o md4: Use our own MD4 when no crypto libraries are available [15]
+ o multi: call detach_connection before Curl_disconnect [6]
+ o netrc: make the code try ".netrc" on Windows [52]
+ o nss: use TLSv1.3 as default if supported [39]
+ o openssl: build warning free with boringssl [50]
+ o openssl: use SSL_CTX_set_<min|max>_proto_version() when available [68]
+ o plan9: add support for running on Plan 9 [22]
+ o progress: reset download/uploaded counter between transfers [12]
+ o readwrite_data: repair setting the TIMER_STARTTRANSFER stamp [26]
+ o scp: fix directory name length used in memcpy [46]
+ o smb: init *msg to NULL in smb_send_and_recv() [60]
+ o smtp: check for and bail out on too short EHLO response [59]
+ o source: remove names from source comments [1]
+ o spnego_sspi: add typecast to fix build warning [49]
+ o src/makefile: fix uncompressed hugehelp.c generation [19]
+ o ssh-libssh: do not specify O_APPEND when not in append mode [7]
+ o ssh: move code into vssh for SSH backends [53]
+ o sspi: fix memory leaks [67]
+ o tests: Replace outdated test case numbering documentation [43]
+ o tftp: return error when packet is too small for options
+ o timediff: make it 64 bit (if possible) even with 32 bit time_t [20]
+ o travis: reduce number of torture tests in 'coverage' [42]
+ o url: make use of new HTTP version if alt-svc has one [16]
+ o urlapi: verify the IPv6 numerical address [69]
+ o urldata: avoid 'generic', use dedicated pointers [57]
+ o vauth: Use CURLE_AUTH_ERROR for auth function errors [41]
 
 This release includes the following known bugs:
 
@@ -17,11 +106,89 @@
 This release would not have looked like this without help, code, reports and
 advice from friends like these:
 
-  Chih-Hsuan Yen, Daniel Stenberg,
-  (2 contributors)
+  Alessandro Ghedini, Alex Mayorga, Amit Katyal, Balazs Kovacsics,
+  Brad Spencer, Brandon Dong, Carlo Marcelo Arenas Belón, Christopher Head,
+  Clément Notin, codesniffer13 on github, Daniel Gustafsson, Daniel Stenberg,
+  Dominik Hölzl, Eric Wong, Felix Hädicke, Gergely Nagy, Gisle Vanem,
+  Igor Makarov, Ironbars13 on github, Jason Lee, Jeremy Lainé,
+  Jonathan Cardoso Machado, Junho Choi, Kamil Dudka, Kyle Abramowitz,
+  Kyohei Kadota, Lance Ware, Marcel Raad, Max Dymond, Michael Lee,
+  Michal Čaplygin, migueljcrum on github, Mike Crowe, niallor on github,
+  osabc on github, patnyb on github, Patrick Monnerat, Peter Wu, Ray Satiro,
+  Rolf Eike Beer, Steve Holme, Tatsuhiro Tsujikawa, The Infinnovation team,
+  Thomas Vegas, Tom van der Woerdt, Yiming Jing,
+  (46 contributors)
 
         Thanks! (and sorry if I forgot to mention someone)
 
 References to bug reports and discussions on issues:
 
- [1] = https://curl.haxx.se/bug/?i=4122
+ [1] = https://curl.haxx.se/bug/?i=4129
+ [2] = https://curl.haxx.se/bug/?i=4121
+ [3] = https://curl.haxx.se/bug/?i=4131
+ [4] = https://curl.haxx.se/bug/?i=3804
+ [5] = https://curl.haxx.se/bug/?i=3500
+ [6] = https://curl.haxx.se/bug/?i=4144
+ [7] = https://curl.haxx.se/bug/?i=4147
+ [8] = https://curl.haxx.se/bug/?i=4153
+ [9] = https://curl.haxx.se/bug/?i=4143
+ [10] = https://curl.haxx.se/bug/?i=4138
+ [11] = https://curl.haxx.se/bug/?i=4043
+ [12] = https://curl.haxx.se/bug/?i=4084
+ [13] = https://curl.haxx.se/bug/?i=4166
+ [14] = https://curl.haxx.se/bug/?i=4157
+ [15] = https://curl.haxx.se/bug/?i=3780
+ [16] = https://curl.haxx.se/bug/?i=4183
+ [17] = https://curl.haxx.se/bug/?i=4182
+ [18] = https://curl.haxx.se/bug/?i=3992
+ [19] = https://curl.haxx.se/bug/?i=4176
+ [20] = https://curl.haxx.se/bug/?i=4165
+ [21] = https://curl.haxx.se/bug/?i=4174
+ [22] = https://curl.haxx.se/bug/?i=3701
+ [23] = https://curl.haxx.se/bug/?i=4167
+ [24] = https://curl.haxx.se/bug/?i=4172
+ [25] = https://curl.haxx.se/bug/?i=4169
+ [26] = https://curl.haxx.se/bug/?i=4136
+ [27] = https://curl.haxx.se/bug/?i=3653
+ [28] = https://curl.haxx.se/bug/?i=4163
+ [29] = https://curl.haxx.se/bug/?i=4191
+ [30] = https://curl.haxx.se/bug/?i=4192
+ [31] = https://curl.haxx.se/bug/?i=4201
+ [32] = https://curl.haxx.se/bug/?i=4199
+ [33] = https://curl.haxx.se/bug/?i=4197
+ [34] = https://curl.haxx.se/bug/?i=4198
+ [35] = https://curl.haxx.se/bug/?i=3794
+ [36] = https://curl.haxx.se/bug/?i=3794
+ [37] = https://curl.haxx.se/bug/?i=4213
+ [38] = https://curl.haxx.se/bug/?i=4216
+ [39] = https://curl.haxx.se/bug/?i=4187
+ [40] = https://curl.haxx.se/bug/?i=4221
+ [41] = https://curl.haxx.se/bug/?i=3848
+ [42] = https://curl.haxx.se/bug/?i=4223
+ [43] = https://curl.haxx.se/bug/?i=4227
+ [44] = https://curl.haxx.se/bug/?i=4228
+ [45] = https://curl.haxx.se/bug/?i=4188
+ [46] = https://curl.haxx.se/bug/?i=4258
+ [47] = https://curl.haxx.se/bug/?i=4254
+ [48] = https://curl.haxx.se/bug/?i=4248
+ [49] = https://curl.haxx.se/bug/?i=4245
+ [50] = https://curl.haxx.se/bug/?i=4244
+ [51] = https://curl.haxx.se/bug/?i=4241
+ [52] = https://curl.haxx.se/bug/?i=4230
+ [53] = https://curl.haxx.se/bug/?i=4235
+ [54] = https://curl.haxx.se/bug/?i=4273
+ [55] = https://curl.haxx.se/bug/?i=4250
+ [56] = https://curl.haxx.se/bug/?i=4267
+ [57] = https://curl.haxx.se/bug/?i=4290
+ [58] = https://curl.haxx.se/bug/?i=4289
+ [59] = https://curl.haxx.se/bug/?i=4287
+ [60] = https://curl.haxx.se/bug/?i=4286
+ [61] = https://curl.haxx.se/bug/?i=4283
+ [62] = https://curl.haxx.se/bug/?i=4279
+ [63] = https://curl.haxx.se/bug/?i=4302
+ [64] = https://curl.haxx.se/docs/CVE-2019-5481.html
+ [65] = https://curl.haxx.se/docs/CVE-2019-5482.html
+ [66] = https://curl.haxx.se/bug/?i=4307
+ [67] = https://curl.haxx.se/bug/?i=4299
+ [68] = https://curl.haxx.se/bug/?i=4304
+ [69] = https://curl.haxx.se/bug/?i=4315
diff --git a/androidconfigure b/androidconfigure
index b09cf52..498b52a 100755
--- a/androidconfigure
+++ b/androidconfigure
@@ -13,8 +13,8 @@
 
 HOST="arm-linux-androideabi"
 T="${ANDROID_BUILD_TOP}"
-export CC="${T}/prebuilts/clang/host/linux-x86/clang-r353983c/bin/clang"
-export LD="${T}/prebuilts/clang/host/linux-x86/clang-r353983c/bin/lld"
+export CC="${T}/prebuilts/clang/host/linux-x86/clang-r365631/bin/clang"
+export LD="${T}/prebuilts/clang/host/linux-x86/clang-r365631/bin/lld"
 
 CFLAGS=(
   "-isystem ${T}/external/libcxx/include"
diff --git a/configure b/configure
index 28092b4..b54dca6 100755
--- a/configure
+++ b/configure
@@ -905,6 +905,10 @@
 IPV6_ENABLED
 FISH_FUNCTIONS_DIR
 ZSH_FUNCTIONS_DIR
+USE_QUICHE
+USE_NGHTTP3
+USE_NGTCP2_CRYPTO_OPENSSL
+USE_NGTCP2
 USE_NGHTTP2
 IDN_ENABLED
 CURL_LT_SHLIB_USE_VERSIONED_SYMBOLS_FALSE
@@ -1188,6 +1192,9 @@
 with_winidn
 with_libidn2
 with_nghttp2
+with_ngtcp2
+with_nghttp3
+with_quiche
 with_zsh_functions_dir
 with_fish_functions_dir
 enable_threaded_resolver
@@ -2067,6 +2074,12 @@
   --without-libidn2       Disable libidn2 usage
   --with-nghttp2=PATH     Enable nghttp2 usage
   --without-nghttp2       Disable nghttp2 usage
+  --with-ngtcp2=PATH      Enable ngtcp2 usage
+  --without-ngtcp2        Disable ngtcp2 usage
+  --with-nghttp3=PATH     Enable nghttp3 usage
+  --without-nghttp3       Disable nghttp3 usage
+  --with-quiche=PATH      Enable quiche usage
+  --without-quiche        Disable quiche usage
   --with-zsh-functions-dir=PATH
                           Install zsh completions to PATH
   --without-zsh-functions-dir
@@ -11835,12 +11848,6 @@
 	lt_prog_compiler_pic='-KPIC'
 	lt_prog_compiler_static='-static'
         ;;
-      # flang / f18. f95 an alias for gfortran or flang on Debian
-      flang* | f18* | f95*)
-	lt_prog_compiler_wl='-Wl,'
-	lt_prog_compiler_pic='-fPIC'
-	lt_prog_compiler_static='-static'
-        ;;
       # icc used to be incompatible with GCC.
       # ICC 10 doesn't accept -KPIC any more.
       icc* | ifort*)
@@ -25379,7 +25386,7 @@
 fi
 
 
-if test "$check_for_ca_bundle" -gt 0; then
+if test -n "$check_for_ca_bundle"; then
 
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking default CA cert bundle/path" >&5
@@ -27629,6 +27636,1067 @@
 fi
 
 
+OPT_TCP2="yes"
+curl_h3_msg="disabled (--with-ngtcp2, --with-quiche)"
+
+if test "x$disable_http" = "xyes"; then
+  # without HTTP, ngtcp2 is no use
+  OPT_TCP2="no"
+fi
+
+
+# Check whether --with-ngtcp2 was given.
+if test "${with_ngtcp2+set}" = set; then :
+  withval=$with_ngtcp2; OPT_TCP2=$withval
+fi
+
+case "$OPT_TCP2" in
+  no)
+        want_tcp2="no"
+    ;;
+  yes)
+        want_tcp2="default"
+    want_tcp2_path=""
+    ;;
+  *)
+        want_tcp2="yes"
+    want_tcp2_path="$withval/lib/pkgconfig"
+    ;;
+esac
+
+curl_tcp2_msg="disabled (--with-ngtcp2)"
+if test X"$want_tcp2" != Xno; then
+    CLEANLDFLAGS="$LDFLAGS"
+  CLEANCPPFLAGS="$CPPFLAGS"
+  CLEANLIBS="$LIBS"
+
+
+    if test -n "$PKG_CONFIG"; then
+      PKGCONFIG="$PKG_CONFIG"
+    else
+      if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args.
+set dummy ${ac_tool_prefix}pkg-config; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_PKGCONFIG+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  case $PKGCONFIG in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_PKGCONFIG="$PKGCONFIG" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+as_dummy="$PATH:/usr/bin:/usr/local/bin"
+for as_dir in $as_dummy
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_path_PKGCONFIG="$as_dir/$ac_word$ac_exec_ext"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+  ;;
+esac
+fi
+PKGCONFIG=$ac_cv_path_PKGCONFIG
+if test -n "$PKGCONFIG"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKGCONFIG" >&5
+$as_echo "$PKGCONFIG" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_path_PKGCONFIG"; then
+  ac_pt_PKGCONFIG=$PKGCONFIG
+  # Extract the first word of "pkg-config", so it can be a program name with args.
+set dummy pkg-config; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_ac_pt_PKGCONFIG+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  case $ac_pt_PKGCONFIG in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_ac_pt_PKGCONFIG="$ac_pt_PKGCONFIG" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+as_dummy="$PATH:/usr/bin:/usr/local/bin"
+for as_dir in $as_dummy
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_path_ac_pt_PKGCONFIG="$as_dir/$ac_word$ac_exec_ext"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+  ;;
+esac
+fi
+ac_pt_PKGCONFIG=$ac_cv_path_ac_pt_PKGCONFIG
+if test -n "$ac_pt_PKGCONFIG"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKGCONFIG" >&5
+$as_echo "$ac_pt_PKGCONFIG" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+  if test "x$ac_pt_PKGCONFIG" = x; then
+    PKGCONFIG="no"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    PKGCONFIG=$ac_pt_PKGCONFIG
+  fi
+else
+  PKGCONFIG="$ac_cv_path_PKGCONFIG"
+fi
+
+    fi
+
+    if test "x$PKGCONFIG" != "xno"; then
+      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libngtcp2 options with pkg-config" >&5
+$as_echo_n "checking for libngtcp2 options with pkg-config... " >&6; }
+            itexists=`
+    if test -n "$want_tcp2_path"; then
+      PKG_CONFIG_LIBDIR="$want_tcp2_path"
+      export PKG_CONFIG_LIBDIR
+    fi
+         $PKGCONFIG --exists libngtcp2 >/dev/null 2>&1 && echo 1`
+
+      if test -z "$itexists"; then
+                        PKGCONFIG="no"
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+      else
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: found" >&5
+$as_echo "found" >&6; }
+      fi
+    fi
+
+
+  if test "$PKGCONFIG" != "no" ; then
+    LIB_TCP2=`
+    if test -n "$want_tcp2_path"; then
+      PKG_CONFIG_LIBDIR="$want_tcp2_path"
+      export PKG_CONFIG_LIBDIR
+    fi
+
+      $PKGCONFIG --libs-only-l libngtcp2`
+    { $as_echo "$as_me:${as_lineno-$LINENO}: -l is $LIB_TCP2" >&5
+$as_echo "$as_me: -l is $LIB_TCP2" >&6;}
+
+    CPP_TCP2=`
+    if test -n "$want_tcp2_path"; then
+      PKG_CONFIG_LIBDIR="$want_tcp2_path"
+      export PKG_CONFIG_LIBDIR
+    fi
+       $PKGCONFIG --cflags-only-I libngtcp2`
+    { $as_echo "$as_me:${as_lineno-$LINENO}: -I is $CPP_TCP2" >&5
+$as_echo "$as_me: -I is $CPP_TCP2" >&6;}
+
+    LD_TCP2=`
+    if test -n "$want_tcp2_path"; then
+      PKG_CONFIG_LIBDIR="$want_tcp2_path"
+      export PKG_CONFIG_LIBDIR
+    fi
+
+      $PKGCONFIG --libs-only-L libngtcp2`
+    { $as_echo "$as_me:${as_lineno-$LINENO}: -L is $LD_TCP2" >&5
+$as_echo "$as_me: -L is $LD_TCP2" >&6;}
+
+    LDFLAGS="$LDFLAGS $LD_TCP2"
+    CPPFLAGS="$CPPFLAGS $CPP_TCP2"
+    LIBS="$LIB_TCP2 $LIBS"
+
+    if test "x$cross_compiling" != "xyes"; then
+      DIR_TCP2=`echo $LD_TCP2 | $SED -e 's/-L//'`
+    fi
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ngtcp2_conn_client_new in -lngtcp2" >&5
+$as_echo_n "checking for ngtcp2_conn_client_new in -lngtcp2... " >&6; }
+if ${ac_cv_lib_ngtcp2_ngtcp2_conn_client_new+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lngtcp2  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+
+#ifdef __cplusplus
+extern "C"
+#endif
+char ngtcp2_conn_client_new ();
+int main (void)
+{
+return ngtcp2_conn_client_new ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_ngtcp2_ngtcp2_conn_client_new=yes
+else
+  ac_cv_lib_ngtcp2_ngtcp2_conn_client_new=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ngtcp2_ngtcp2_conn_client_new" >&5
+$as_echo "$ac_cv_lib_ngtcp2_ngtcp2_conn_client_new" >&6; }
+if test "x$ac_cv_lib_ngtcp2_ngtcp2_conn_client_new" = xyes; then :
+
+       for ac_header in ngtcp2/ngtcp2.h
+do :
+  ac_fn_c_check_header_mongrel "$LINENO" "ngtcp2/ngtcp2.h" "ac_cv_header_ngtcp2_ngtcp2_h" "$ac_includes_default"
+if test "x$ac_cv_header_ngtcp2_ngtcp2_h" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_NGTCP2_NGTCP2_H 1
+_ACEOF
+ NGTCP2_ENABLED=1
+
+$as_echo "#define USE_NGTCP2 1" >>confdefs.h
+
+          USE_NGTCP2=1
+
+          CURL_LIBRARY_PATH="$CURL_LIBRARY_PATH:$DIR_TCP2"
+          export CURL_LIBRARY_PATH
+          { $as_echo "$as_me:${as_lineno-$LINENO}: Added $DIR_TCP2 to CURL_LIBRARY_PATH" >&5
+$as_echo "$as_me: Added $DIR_TCP2 to CURL_LIBRARY_PATH" >&6;}
+
+fi
+
+done
+
+
+else
+          LDFLAGS=$CLEANLDFLAGS
+        CPPFLAGS=$CLEANCPPFLAGS
+        LIBS=$CLEANLIBS
+
+fi
+
+
+  else
+        if test X"$want_tcp2" != Xdefault; then
+                  as_fn_error $? "--with-ngtcp2 was specified but could not find ngtcp2 pkg-config file." "$LINENO" 5
+    fi
+  fi
+
+fi
+
+if test "x$NGTCP2_ENABLED" = "x1"; then
+    CLEANLDFLAGS="$LDFLAGS"
+  CLEANCPPFLAGS="$CPPFLAGS"
+  CLEANLIBS="$LIBS"
+
+
+    if test -n "$PKG_CONFIG"; then
+      PKGCONFIG="$PKG_CONFIG"
+    else
+      if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args.
+set dummy ${ac_tool_prefix}pkg-config; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_PKGCONFIG+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  case $PKGCONFIG in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_PKGCONFIG="$PKGCONFIG" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+as_dummy="$PATH:/usr/bin:/usr/local/bin"
+for as_dir in $as_dummy
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_path_PKGCONFIG="$as_dir/$ac_word$ac_exec_ext"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+  ;;
+esac
+fi
+PKGCONFIG=$ac_cv_path_PKGCONFIG
+if test -n "$PKGCONFIG"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKGCONFIG" >&5
+$as_echo "$PKGCONFIG" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_path_PKGCONFIG"; then
+  ac_pt_PKGCONFIG=$PKGCONFIG
+  # Extract the first word of "pkg-config", so it can be a program name with args.
+set dummy pkg-config; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_ac_pt_PKGCONFIG+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  case $ac_pt_PKGCONFIG in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_ac_pt_PKGCONFIG="$ac_pt_PKGCONFIG" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+as_dummy="$PATH:/usr/bin:/usr/local/bin"
+for as_dir in $as_dummy
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_path_ac_pt_PKGCONFIG="$as_dir/$ac_word$ac_exec_ext"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+  ;;
+esac
+fi
+ac_pt_PKGCONFIG=$ac_cv_path_ac_pt_PKGCONFIG
+if test -n "$ac_pt_PKGCONFIG"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKGCONFIG" >&5
+$as_echo "$ac_pt_PKGCONFIG" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+  if test "x$ac_pt_PKGCONFIG" = x; then
+    PKGCONFIG="no"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    PKGCONFIG=$ac_pt_PKGCONFIG
+  fi
+else
+  PKGCONFIG="$ac_cv_path_PKGCONFIG"
+fi
+
+    fi
+
+    if test "x$PKGCONFIG" != "xno"; then
+      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libngtcp2_crypto_openssl options with pkg-config" >&5
+$as_echo_n "checking for libngtcp2_crypto_openssl options with pkg-config... " >&6; }
+            itexists=`
+    if test -n "$want_tcp2_path"; then
+      PKG_CONFIG_LIBDIR="$want_tcp2_path"
+      export PKG_CONFIG_LIBDIR
+    fi
+         $PKGCONFIG --exists libngtcp2_crypto_openssl >/dev/null 2>&1 && echo 1`
+
+      if test -z "$itexists"; then
+                        PKGCONFIG="no"
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+      else
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: found" >&5
+$as_echo "found" >&6; }
+      fi
+    fi
+
+
+  if test "$PKGCONFIG" != "no" ; then
+    LIB_NGTCP2_CRYPTO_OPENSSL=`
+    if test -n "$want_tcp2_path"; then
+      PKG_CONFIG_LIBDIR="$want_tcp2_path"
+      export PKG_CONFIG_LIBDIR
+    fi
+
+      $PKGCONFIG --libs-only-l libngtcp2_crypto_openssl`
+    { $as_echo "$as_me:${as_lineno-$LINENO}: -l is $LIB_NGTCP2_CRYPTO_OPENSSL" >&5
+$as_echo "$as_me: -l is $LIB_NGTCP2_CRYPTO_OPENSSL" >&6;}
+
+    CPP_NGTCP2_CRYPTO_OPENSSL=`
+    if test -n "$want_tcp2_path"; then
+      PKG_CONFIG_LIBDIR="$want_tcp2_path"
+      export PKG_CONFIG_LIBDIR
+    fi
+       $PKGCONFIG --cflags-only-I libngtcp2_crypto_openssl`
+    { $as_echo "$as_me:${as_lineno-$LINENO}: -I is $CPP_NGTCP2_CRYPTO_OPENSSL" >&5
+$as_echo "$as_me: -I is $CPP_NGTCP2_CRYPTO_OPENSSL" >&6;}
+
+    LD_NGTCP2_CRYPTO_OPENSSL=`
+    if test -n "$want_tcp2_path"; then
+      PKG_CONFIG_LIBDIR="$want_tcp2_path"
+      export PKG_CONFIG_LIBDIR
+    fi
+
+      $PKGCONFIG --libs-only-L libngtcp2_crypto_openssl`
+    { $as_echo "$as_me:${as_lineno-$LINENO}: -L is $LD_NGTCP2_CRYPTO_OPENSSL" >&5
+$as_echo "$as_me: -L is $LD_NGTCP2_CRYPTO_OPENSSL" >&6;}
+
+    LDFLAGS="$LDFLAGS $LD_NGTCP2_CRYPTO_OPENSSL"
+    CPPFLAGS="$CPPFLAGS $CPP_NGTCP2_CRYPTO_OPENSSL"
+    LIBS="$LIB_NGTCP2_CRYPTO_OPENSSL $LIBS"
+
+    if test "x$cross_compiling" != "xyes"; then
+      DIR_NGTCP2_CRYPTO_OPENSSL=`echo $LD_NGTCP2_CRYPTO_OPENSSL | $SED -e 's/-L//'`
+    fi
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ngtcp2_crypto_ctx_initial in -lngtcp2_crypto_openssl" >&5
+$as_echo_n "checking for ngtcp2_crypto_ctx_initial in -lngtcp2_crypto_openssl... " >&6; }
+if ${ac_cv_lib_ngtcp2_crypto_openssl_ngtcp2_crypto_ctx_initial+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lngtcp2_crypto_openssl  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+
+#ifdef __cplusplus
+extern "C"
+#endif
+char ngtcp2_crypto_ctx_initial ();
+int main (void)
+{
+return ngtcp2_crypto_ctx_initial ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_ngtcp2_crypto_openssl_ngtcp2_crypto_ctx_initial=yes
+else
+  ac_cv_lib_ngtcp2_crypto_openssl_ngtcp2_crypto_ctx_initial=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ngtcp2_crypto_openssl_ngtcp2_crypto_ctx_initial" >&5
+$as_echo "$ac_cv_lib_ngtcp2_crypto_openssl_ngtcp2_crypto_ctx_initial" >&6; }
+if test "x$ac_cv_lib_ngtcp2_crypto_openssl_ngtcp2_crypto_ctx_initial" = xyes; then :
+
+       for ac_header in ngtcp2/ngtcp2_crypto.h
+do :
+  ac_fn_c_check_header_mongrel "$LINENO" "ngtcp2/ngtcp2_crypto.h" "ac_cv_header_ngtcp2_ngtcp2_crypto_h" "$ac_includes_default"
+if test "x$ac_cv_header_ngtcp2_ngtcp2_crypto_h" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_NGTCP2_NGTCP2_CRYPTO_H 1
+_ACEOF
+ NGTCP2_ENABLED=1
+
+$as_echo "#define USE_NGTCP2_CRYPTO_OPENSSL 1" >>confdefs.h
+
+          USE_NGTCP2_CRYPTO_OPENSSL=1
+
+          CURL_LIBRARY_PATH="$CURL_LIBRARY_PATH:$DIR_NGTCP2_CRYPTO_OPENSSL"
+          export CURL_LIBRARY_PATH
+          { $as_echo "$as_me:${as_lineno-$LINENO}: Added $DIR_NGTCP2_CRYPTO_OPENSSL to CURL_LIBRARY_PATH" >&5
+$as_echo "$as_me: Added $DIR_NGTCP2_CRYPTO_OPENSSL to CURL_LIBRARY_PATH" >&6;}
+
+fi
+
+done
+
+
+else
+          LDFLAGS=$CLEANLDFLAGS
+        CPPFLAGS=$CLEANCPPFLAGS
+        LIBS=$CLEANLIBS
+
+fi
+
+
+  else
+        if test X"$want_tcp2" != Xdefault; then
+                  as_fn_error $? "--with-ngtcp2 was specified but could not find ngtcp2_crypto_openssl pkg-config file." "$LINENO" 5
+    fi
+  fi
+fi
+
+
+OPT_NGHTTP3="yes"
+
+if test "x$NGTCP2_ENABLED" = "x"; then
+  # without ngtcp2, nghttp3 is of no use for us
+  OPT_NGHTTP3="no"
+fi
+
+
+# Check whether --with-nghttp3 was given.
+if test "${with_nghttp3+set}" = set; then :
+  withval=$with_nghttp3; OPT_NGHTTP3=$withval
+fi
+
+case "$OPT_NGHTTP3" in
+  no)
+        want_nghttp3="no"
+    ;;
+  yes)
+        want_nghttp3="default"
+    want_nghttp3_path=""
+    ;;
+  *)
+        want_nghttp3="yes"
+    want_nghttp3_path="$withval/lib/pkgconfig"
+    ;;
+esac
+
+curl_http3_msg="disabled (--with-nghttp3)"
+if test X"$want_nghttp3" != Xno; then
+    CLEANLDFLAGS="$LDFLAGS"
+  CLEANCPPFLAGS="$CPPFLAGS"
+  CLEANLIBS="$LIBS"
+
+
+    if test -n "$PKG_CONFIG"; then
+      PKGCONFIG="$PKG_CONFIG"
+    else
+      if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args.
+set dummy ${ac_tool_prefix}pkg-config; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_PKGCONFIG+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  case $PKGCONFIG in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_PKGCONFIG="$PKGCONFIG" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+as_dummy="$PATH:/usr/bin:/usr/local/bin"
+for as_dir in $as_dummy
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_path_PKGCONFIG="$as_dir/$ac_word$ac_exec_ext"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+  ;;
+esac
+fi
+PKGCONFIG=$ac_cv_path_PKGCONFIG
+if test -n "$PKGCONFIG"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKGCONFIG" >&5
+$as_echo "$PKGCONFIG" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_path_PKGCONFIG"; then
+  ac_pt_PKGCONFIG=$PKGCONFIG
+  # Extract the first word of "pkg-config", so it can be a program name with args.
+set dummy pkg-config; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_ac_pt_PKGCONFIG+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  case $ac_pt_PKGCONFIG in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_ac_pt_PKGCONFIG="$ac_pt_PKGCONFIG" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+as_dummy="$PATH:/usr/bin:/usr/local/bin"
+for as_dir in $as_dummy
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_path_ac_pt_PKGCONFIG="$as_dir/$ac_word$ac_exec_ext"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+  ;;
+esac
+fi
+ac_pt_PKGCONFIG=$ac_cv_path_ac_pt_PKGCONFIG
+if test -n "$ac_pt_PKGCONFIG"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKGCONFIG" >&5
+$as_echo "$ac_pt_PKGCONFIG" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+  if test "x$ac_pt_PKGCONFIG" = x; then
+    PKGCONFIG="no"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    PKGCONFIG=$ac_pt_PKGCONFIG
+  fi
+else
+  PKGCONFIG="$ac_cv_path_PKGCONFIG"
+fi
+
+    fi
+
+    if test "x$PKGCONFIG" != "xno"; then
+      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libnghttp3 options with pkg-config" >&5
+$as_echo_n "checking for libnghttp3 options with pkg-config... " >&6; }
+            itexists=`
+    if test -n "$want_nghttp3_path"; then
+      PKG_CONFIG_LIBDIR="$want_nghttp3_path"
+      export PKG_CONFIG_LIBDIR
+    fi
+         $PKGCONFIG --exists libnghttp3 >/dev/null 2>&1 && echo 1`
+
+      if test -z "$itexists"; then
+                        PKGCONFIG="no"
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+      else
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: found" >&5
+$as_echo "found" >&6; }
+      fi
+    fi
+
+
+  if test "$PKGCONFIG" != "no" ; then
+    LIB_NGHTTP3=`
+    if test -n "$want_nghttp3_path"; then
+      PKG_CONFIG_LIBDIR="$want_nghttp3_path"
+      export PKG_CONFIG_LIBDIR
+    fi
+
+      $PKGCONFIG --libs-only-l libnghttp3`
+    { $as_echo "$as_me:${as_lineno-$LINENO}: -l is $LIB_NGHTTP3" >&5
+$as_echo "$as_me: -l is $LIB_NGHTTP3" >&6;}
+
+    CPP_NGHTTP3=`
+    if test -n "$want_nghttp3_path"; then
+      PKG_CONFIG_LIBDIR="$want_nghttp3_path"
+      export PKG_CONFIG_LIBDIR
+    fi
+       $PKGCONFIG --cflags-only-I libnghttp3`
+    { $as_echo "$as_me:${as_lineno-$LINENO}: -I is $CPP_NGHTTP3" >&5
+$as_echo "$as_me: -I is $CPP_NGHTTP3" >&6;}
+
+    LD_NGHTTP3=`
+    if test -n "$want_nghttp3_path"; then
+      PKG_CONFIG_LIBDIR="$want_nghttp3_path"
+      export PKG_CONFIG_LIBDIR
+    fi
+
+      $PKGCONFIG --libs-only-L libnghttp3`
+    { $as_echo "$as_me:${as_lineno-$LINENO}: -L is $LD_NGHTTP3" >&5
+$as_echo "$as_me: -L is $LD_NGHTTP3" >&6;}
+
+    LDFLAGS="$LDFLAGS $LD_NGHTTP3"
+    CPPFLAGS="$CPPFLAGS $CPP_NGHTTP3"
+    LIBS="$LIB_NGHTTP3 $LIBS"
+
+    if test "x$cross_compiling" != "xyes"; then
+      DIR_NGHTTP3=`echo $LD_NGHTTP3 | $SED -e 's/-L//'`
+    fi
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for nghttp3_conn_client_new in -lnghttp3" >&5
+$as_echo_n "checking for nghttp3_conn_client_new in -lnghttp3... " >&6; }
+if ${ac_cv_lib_nghttp3_nghttp3_conn_client_new+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lnghttp3  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+
+#ifdef __cplusplus
+extern "C"
+#endif
+char nghttp3_conn_client_new ();
+int main (void)
+{
+return nghttp3_conn_client_new ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_nghttp3_nghttp3_conn_client_new=yes
+else
+  ac_cv_lib_nghttp3_nghttp3_conn_client_new=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_nghttp3_nghttp3_conn_client_new" >&5
+$as_echo "$ac_cv_lib_nghttp3_nghttp3_conn_client_new" >&6; }
+if test "x$ac_cv_lib_nghttp3_nghttp3_conn_client_new" = xyes; then :
+
+       for ac_header in nghttp3/nghttp3.h
+do :
+  ac_fn_c_check_header_mongrel "$LINENO" "nghttp3/nghttp3.h" "ac_cv_header_nghttp3_nghttp3_h" "$ac_includes_default"
+if test "x$ac_cv_header_nghttp3_nghttp3_h" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_NGHTTP3_NGHTTP3_H 1
+_ACEOF
+ curl_h3_msg="enabled (ngtcp2 + nghttp3)"
+          NGHTTP3_ENABLED=1
+
+$as_echo "#define USE_NGHTTP3 1" >>confdefs.h
+
+          USE_NGHTTP3=1
+
+          CURL_LIBRARY_PATH="$CURL_LIBRARY_PATH:$DIR_NGHTTP3"
+          export CURL_LIBRARY_PATH
+          { $as_echo "$as_me:${as_lineno-$LINENO}: Added $DIR_NGHTTP3 to CURL_LIBRARY_PATH" >&5
+$as_echo "$as_me: Added $DIR_NGHTTP3 to CURL_LIBRARY_PATH" >&6;}
+          experimental="$experimental HTTP3"
+
+fi
+
+done
+
+
+else
+          LDFLAGS=$CLEANLDFLAGS
+        CPPFLAGS=$CLEANCPPFLAGS
+        LIBS=$CLEANLIBS
+
+fi
+
+
+  else
+        if test X"$want_nghttp3" != Xdefault; then
+                  as_fn_error $? "--with-nghttp3 was specified but could not find nghttp3 pkg-config file." "$LINENO" 5
+    fi
+  fi
+
+fi
+
+
+OPT_QUICHE="yes"
+
+if test "x$disable_http" = "xyes" -o "x$USE_NGTCP" = "x1"; then
+  # without HTTP or with ngtcp2, quiche is no use
+  OPT_QUICHE="no"
+fi
+
+
+# Check whether --with-quiche was given.
+if test "${with_quiche+set}" = set; then :
+  withval=$with_quiche; OPT_QUICHE=$withval
+fi
+
+case "$OPT_QUICHE" in
+  no)
+        want_quiche="no"
+    ;;
+  yes)
+        want_quiche="default"
+    want_quiche_path=""
+    ;;
+  *)
+        want_quiche="yes"
+    want_quiche_path="$withval"
+    ;;
+esac
+
+if test X"$want_quiche" != Xno; then
+    CLEANLDFLAGS="$LDFLAGS"
+  CLEANCPPFLAGS="$CPPFLAGS"
+  CLEANLIBS="$LIBS"
+
+
+    if test -n "$PKG_CONFIG"; then
+      PKGCONFIG="$PKG_CONFIG"
+    else
+      if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args.
+set dummy ${ac_tool_prefix}pkg-config; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_PKGCONFIG+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  case $PKGCONFIG in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_PKGCONFIG="$PKGCONFIG" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+as_dummy="$PATH:/usr/bin:/usr/local/bin"
+for as_dir in $as_dummy
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_path_PKGCONFIG="$as_dir/$ac_word$ac_exec_ext"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+  ;;
+esac
+fi
+PKGCONFIG=$ac_cv_path_PKGCONFIG
+if test -n "$PKGCONFIG"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKGCONFIG" >&5
+$as_echo "$PKGCONFIG" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_path_PKGCONFIG"; then
+  ac_pt_PKGCONFIG=$PKGCONFIG
+  # Extract the first word of "pkg-config", so it can be a program name with args.
+set dummy pkg-config; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_ac_pt_PKGCONFIG+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  case $ac_pt_PKGCONFIG in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_ac_pt_PKGCONFIG="$ac_pt_PKGCONFIG" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+as_dummy="$PATH:/usr/bin:/usr/local/bin"
+for as_dir in $as_dummy
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_path_ac_pt_PKGCONFIG="$as_dir/$ac_word$ac_exec_ext"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+  ;;
+esac
+fi
+ac_pt_PKGCONFIG=$ac_cv_path_ac_pt_PKGCONFIG
+if test -n "$ac_pt_PKGCONFIG"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKGCONFIG" >&5
+$as_echo "$ac_pt_PKGCONFIG" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+  if test "x$ac_pt_PKGCONFIG" = x; then
+    PKGCONFIG="no"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    PKGCONFIG=$ac_pt_PKGCONFIG
+  fi
+else
+  PKGCONFIG="$ac_cv_path_PKGCONFIG"
+fi
+
+    fi
+
+    if test "x$PKGCONFIG" != "xno"; then
+      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for quiche options with pkg-config" >&5
+$as_echo_n "checking for quiche options with pkg-config... " >&6; }
+            itexists=`
+    if test -n "$want_quiche_path"; then
+      PKG_CONFIG_LIBDIR="$want_quiche_path"
+      export PKG_CONFIG_LIBDIR
+    fi
+         $PKGCONFIG --exists quiche >/dev/null 2>&1 && echo 1`
+
+      if test -z "$itexists"; then
+                        PKGCONFIG="no"
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+      else
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: found" >&5
+$as_echo "found" >&6; }
+      fi
+    fi
+
+
+  if test "$PKGCONFIG" != "no" ; then
+    LIB_QUICHE=`
+    if test -n "$want_quiche_path"; then
+      PKG_CONFIG_LIBDIR="$want_quiche_path"
+      export PKG_CONFIG_LIBDIR
+    fi
+
+      $PKGCONFIG --libs-only-l quiche`
+    { $as_echo "$as_me:${as_lineno-$LINENO}: -l is $LIB_QUICHE" >&5
+$as_echo "$as_me: -l is $LIB_QUICHE" >&6;}
+
+    CPP_QUICHE=`
+    if test -n "$want_quiche_path"; then
+      PKG_CONFIG_LIBDIR="$want_quiche_path"
+      export PKG_CONFIG_LIBDIR
+    fi
+       $PKGCONFIG --cflags-only-I quiche`
+    { $as_echo "$as_me:${as_lineno-$LINENO}: -I is $CPP_QUICHE" >&5
+$as_echo "$as_me: -I is $CPP_QUICHE" >&6;}
+
+    LD_QUICHE=`
+    if test -n "$want_quiche_path"; then
+      PKG_CONFIG_LIBDIR="$want_quiche_path"
+      export PKG_CONFIG_LIBDIR
+    fi
+
+      $PKGCONFIG --libs-only-L quiche`
+    { $as_echo "$as_me:${as_lineno-$LINENO}: -L is $LD_QUICHE" >&5
+$as_echo "$as_me: -L is $LD_QUICHE" >&6;}
+
+    LDFLAGS="$LDFLAGS $LD_QUICHE"
+    CPPFLAGS="$CPPFLAGS $CPP_QUICHE"
+    LIBS="$LIB_QUICHE $LIBS"
+
+    if test "x$cross_compiling" != "xyes"; then
+      DIR_QUICHE=`echo $LD_QUICHE | $SED -e 's/-L//'`
+    fi
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for quiche_connect in -lquiche" >&5
+$as_echo_n "checking for quiche_connect in -lquiche... " >&6; }
+if ${ac_cv_lib_quiche_quiche_connect+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lquiche  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+
+#ifdef __cplusplus
+extern "C"
+#endif
+char quiche_connect ();
+int main (void)
+{
+return quiche_connect ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_quiche_quiche_connect=yes
+else
+  ac_cv_lib_quiche_quiche_connect=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_quiche_quiche_connect" >&5
+$as_echo "$ac_cv_lib_quiche_quiche_connect" >&6; }
+if test "x$ac_cv_lib_quiche_quiche_connect" = xyes; then :
+
+       for ac_header in quiche.h
+do :
+  ac_fn_c_check_header_mongrel "$LINENO" "quiche.h" "ac_cv_header_quiche_h" "$ac_includes_default"
+if test "x$ac_cv_header_quiche_h" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_QUICHE_H 1
+_ACEOF
+ experimental="$experimental HTTP3"
+          { $as_echo "$as_me:${as_lineno-$LINENO}: HTTP3 support is experimental" >&5
+$as_echo "$as_me: HTTP3 support is experimental" >&6;}
+          curl_h3_msg="enabled (quiche)"
+          QUICHE_ENABLED=1
+
+$as_echo "#define USE_QUICHE 1" >>confdefs.h
+
+          USE_QUICHE=1
+
+          CURL_LIBRARY_PATH="$CURL_LIBRARY_PATH:$DIR_QUICHE"
+          export CURL_LIBRARY_PATH
+          { $as_echo "$as_me:${as_lineno-$LINENO}: Added $DIR_QUICHE to CURL_LIBRARY_PATH" >&5
+$as_echo "$as_me: Added $DIR_QUICHE to CURL_LIBRARY_PATH" >&6;}
+fi
+
+done
+
+
+else
+          LDFLAGS=$CLEANLDFLAGS
+        CPPFLAGS=$CLEANCPPFLAGS
+        LIBS=$CLEANLIBS
+
+fi
+
+  else
+        if test X"$want_quiche" != Xdefault; then
+                  as_fn_error $? "--with-quiche was specified but could not find quiche pkg-config file." "$LINENO" 5
+    fi
+  fi
+fi
+
+
 OPT_ZSH_FPATH=default
 
 # Check whether --with-zsh-functions-dir was given.
@@ -40308,6 +41376,7 @@
   setlocale \
   setmode \
   setrlimit \
+  usleep \
   utime \
   utimes
 
@@ -41530,7 +42599,6 @@
 $as_echo "yes" >&6; }
        curl_altsvc_msg="enabled";
        enable_altsvc="yes"
-       experimental="alt-svc"
        ;;
   esac
 else
@@ -41544,7 +42612,7 @@
 
 $as_echo "#define USE_ALTSVC 1" >>confdefs.h
 
-  experimental="alt-svc"
+  experimental="$experimental alt-svc"
 fi
 
 
@@ -41676,6 +42744,10 @@
   SUPPORT_FEATURES="$SUPPORT_FEATURES HTTP2"
 fi
 
+if test "x$USE_NGTCP2" = "x1" -o "x$USE_QUICHE" = "x1"; then
+  SUPPORT_FEATURES="$SUPPORT_FEATURES HTTP3"
+fi
+
 if test "x$CURL_WITH_MULTI_SSL" = "x1"; then
   SUPPORT_FEATURES="$SUPPORT_FEATURES MultiSSL"
 fi
@@ -44655,6 +45727,7 @@
   PSL:              ${curl_psl_msg}
   Alt-svc:          ${curl_altsvc_msg}
   HTTP2:            ${curl_h2_msg}
+  HTTP3:            ${curl_h3_msg}
   Protocols:        ${SUPPORT_PROTOCOLS}
   Features:         ${SUPPORT_FEATURES}
 " >&5
@@ -44696,11 +45769,12 @@
   PSL:              ${curl_psl_msg}
   Alt-svc:          ${curl_altsvc_msg}
   HTTP2:            ${curl_h2_msg}
+  HTTP3:            ${curl_h3_msg}
   Protocols:        ${SUPPORT_PROTOCOLS}
   Features:         ${SUPPORT_FEATURES}
 " >&6;}
 if test -n "$experimental"; then
  cat >&2 << _EOF
-  WARNING: $experimental is enabled but marked EXPERIMENTAL. Use with caution!
+  WARNING: $experimental enabled but marked EXPERIMENTAL. Use with caution!
 _EOF
 fi
diff --git a/configure.ac b/configure.ac
index cbf0380..07e0a50 100755
--- a/configure.ac
+++ b/configure.ac
@@ -2633,7 +2633,7 @@
 dnl Check for the CA bundle
 dnl **********************************************************************
 
-if test "$check_for_ca_bundle" -gt 0; then
+if test -n "$check_for_ca_bundle"; then
   CURL_CHECK_CA_BUNDLE
 fi
 
@@ -3338,6 +3338,331 @@
 fi
 
 dnl **********************************************************************
+dnl Check for ngtcp2 (QUIC)
+dnl **********************************************************************
+
+OPT_TCP2="yes"
+curl_h3_msg="disabled (--with-ngtcp2, --with-quiche)"
+
+if test "x$disable_http" = "xyes"; then
+  # without HTTP, ngtcp2 is no use
+  OPT_TCP2="no"
+fi
+
+AC_ARG_WITH(ngtcp2,
+AC_HELP_STRING([--with-ngtcp2=PATH],[Enable ngtcp2 usage])
+AC_HELP_STRING([--without-ngtcp2],[Disable ngtcp2 usage]),
+  [OPT_TCP2=$withval])
+case "$OPT_TCP2" in
+  no)
+    dnl --without-ngtcp2 option used
+    want_tcp2="no"
+    ;;
+  yes)
+    dnl --with-ngtcp2 option used without path
+    want_tcp2="default"
+    want_tcp2_path=""
+    ;;
+  *)
+    dnl --with-ngtcp2 option used with path
+    want_tcp2="yes"
+    want_tcp2_path="$withval/lib/pkgconfig"
+    ;;
+esac
+
+curl_tcp2_msg="disabled (--with-ngtcp2)"
+if test X"$want_tcp2" != Xno; then
+  dnl backup the pre-ngtcp2 variables
+  CLEANLDFLAGS="$LDFLAGS"
+  CLEANCPPFLAGS="$CPPFLAGS"
+  CLEANLIBS="$LIBS"
+
+  CURL_CHECK_PKGCONFIG(libngtcp2, $want_tcp2_path)
+
+  if test "$PKGCONFIG" != "no" ; then
+    LIB_TCP2=`CURL_EXPORT_PCDIR([$want_tcp2_path])
+      $PKGCONFIG --libs-only-l libngtcp2`
+    AC_MSG_NOTICE([-l is $LIB_TCP2])
+
+    CPP_TCP2=`CURL_EXPORT_PCDIR([$want_tcp2_path]) dnl
+      $PKGCONFIG --cflags-only-I libngtcp2`
+    AC_MSG_NOTICE([-I is $CPP_TCP2])
+
+    LD_TCP2=`CURL_EXPORT_PCDIR([$want_tcp2_path])
+      $PKGCONFIG --libs-only-L libngtcp2`
+    AC_MSG_NOTICE([-L is $LD_TCP2])
+
+    LDFLAGS="$LDFLAGS $LD_TCP2"
+    CPPFLAGS="$CPPFLAGS $CPP_TCP2"
+    LIBS="$LIB_TCP2 $LIBS"
+
+    if test "x$cross_compiling" != "xyes"; then
+      DIR_TCP2=`echo $LD_TCP2 | $SED -e 's/-L//'`
+    fi
+    AC_CHECK_LIB(ngtcp2, ngtcp2_conn_client_new,
+      [
+       AC_CHECK_HEADERS(ngtcp2/ngtcp2.h,
+          NGTCP2_ENABLED=1
+          AC_DEFINE(USE_NGTCP2, 1, [if ngtcp2 is in use])
+          AC_SUBST(USE_NGTCP2, [1])
+          CURL_LIBRARY_PATH="$CURL_LIBRARY_PATH:$DIR_TCP2"
+          export CURL_LIBRARY_PATH
+          AC_MSG_NOTICE([Added $DIR_TCP2 to CURL_LIBRARY_PATH])
+       )
+      ],
+        dnl not found, revert back to clean variables
+        LDFLAGS=$CLEANLDFLAGS
+        CPPFLAGS=$CLEANCPPFLAGS
+        LIBS=$CLEANLIBS
+    )
+
+  else
+    dnl no ngtcp2 pkg-config found, deal with it
+    if test X"$want_tcp2" != Xdefault; then
+      dnl To avoid link errors, we do not allow --with-ngtcp2 without
+      dnl a pkgconfig file
+      AC_MSG_ERROR([--with-ngtcp2 was specified but could not find ngtcp2 pkg-config file.])
+    fi
+  fi
+
+fi
+
+if test "x$NGTCP2_ENABLED" = "x1"; then
+  dnl backup the pre-ngtcp2_crypto_openssl variables
+  CLEANLDFLAGS="$LDFLAGS"
+  CLEANCPPFLAGS="$CPPFLAGS"
+  CLEANLIBS="$LIBS"
+
+  CURL_CHECK_PKGCONFIG(libngtcp2_crypto_openssl, $want_tcp2_path)
+
+  if test "$PKGCONFIG" != "no" ; then
+    LIB_NGTCP2_CRYPTO_OPENSSL=`CURL_EXPORT_PCDIR([$want_tcp2_path])
+      $PKGCONFIG --libs-only-l libngtcp2_crypto_openssl`
+    AC_MSG_NOTICE([-l is $LIB_NGTCP2_CRYPTO_OPENSSL])
+
+    CPP_NGTCP2_CRYPTO_OPENSSL=`CURL_EXPORT_PCDIR([$want_tcp2_path]) dnl
+      $PKGCONFIG --cflags-only-I libngtcp2_crypto_openssl`
+    AC_MSG_NOTICE([-I is $CPP_NGTCP2_CRYPTO_OPENSSL])
+
+    LD_NGTCP2_CRYPTO_OPENSSL=`CURL_EXPORT_PCDIR([$want_tcp2_path])
+      $PKGCONFIG --libs-only-L libngtcp2_crypto_openssl`
+    AC_MSG_NOTICE([-L is $LD_NGTCP2_CRYPTO_OPENSSL])
+
+    LDFLAGS="$LDFLAGS $LD_NGTCP2_CRYPTO_OPENSSL"
+    CPPFLAGS="$CPPFLAGS $CPP_NGTCP2_CRYPTO_OPENSSL"
+    LIBS="$LIB_NGTCP2_CRYPTO_OPENSSL $LIBS"
+
+    if test "x$cross_compiling" != "xyes"; then
+      DIR_NGTCP2_CRYPTO_OPENSSL=`echo $LD_NGTCP2_CRYPTO_OPENSSL | $SED -e 's/-L//'`
+    fi
+    AC_CHECK_LIB(ngtcp2_crypto_openssl, ngtcp2_crypto_ctx_initial,
+      [
+       AC_CHECK_HEADERS(ngtcp2/ngtcp2_crypto.h,
+          NGTCP2_ENABLED=1
+          AC_DEFINE(USE_NGTCP2_CRYPTO_OPENSSL, 1, [if ngtcp2_crypto_openssl is in use])
+          AC_SUBST(USE_NGTCP2_CRYPTO_OPENSSL, [1])
+          CURL_LIBRARY_PATH="$CURL_LIBRARY_PATH:$DIR_NGTCP2_CRYPTO_OPENSSL"
+          export CURL_LIBRARY_PATH
+          AC_MSG_NOTICE([Added $DIR_NGTCP2_CRYPTO_OPENSSL to CURL_LIBRARY_PATH])
+       )
+      ],
+        dnl not found, revert back to clean variables
+        LDFLAGS=$CLEANLDFLAGS
+        CPPFLAGS=$CLEANCPPFLAGS
+        LIBS=$CLEANLIBS
+    )
+
+  else
+    dnl no ngtcp2_crypto_openssl pkg-config found, deal with it
+    if test X"$want_tcp2" != Xdefault; then
+      dnl To avoid link errors, we do not allow --with-ngtcp2 without
+      dnl a pkgconfig file
+      AC_MSG_ERROR([--with-ngtcp2 was specified but could not find ngtcp2_crypto_openssl pkg-config file.])
+    fi
+  fi
+fi
+
+dnl **********************************************************************
+dnl Check for nghttp3 (HTTP/3 with ngtcp2)
+dnl **********************************************************************
+
+OPT_NGHTTP3="yes"
+
+if test "x$NGTCP2_ENABLED" = "x"; then
+  # without ngtcp2, nghttp3 is of no use for us
+  OPT_NGHTTP3="no"
+fi
+
+AC_ARG_WITH(nghttp3,
+AC_HELP_STRING([--with-nghttp3=PATH],[Enable nghttp3 usage])
+AC_HELP_STRING([--without-nghttp3],[Disable nghttp3 usage]),
+  [OPT_NGHTTP3=$withval])
+case "$OPT_NGHTTP3" in
+  no)
+    dnl --without-nghttp3 option used
+    want_nghttp3="no"
+    ;;
+  yes)
+    dnl --with-nghttp3 option used without path
+    want_nghttp3="default"
+    want_nghttp3_path=""
+    ;;
+  *)
+    dnl --with-nghttp3 option used with path
+    want_nghttp3="yes"
+    want_nghttp3_path="$withval/lib/pkgconfig"
+    ;;
+esac
+
+curl_http3_msg="disabled (--with-nghttp3)"
+if test X"$want_nghttp3" != Xno; then
+  dnl backup the pre-nghttp3 variables
+  CLEANLDFLAGS="$LDFLAGS"
+  CLEANCPPFLAGS="$CPPFLAGS"
+  CLEANLIBS="$LIBS"
+
+  CURL_CHECK_PKGCONFIG(libnghttp3, $want_nghttp3_path)
+
+  if test "$PKGCONFIG" != "no" ; then
+    LIB_NGHTTP3=`CURL_EXPORT_PCDIR([$want_nghttp3_path])
+      $PKGCONFIG --libs-only-l libnghttp3`
+    AC_MSG_NOTICE([-l is $LIB_NGHTTP3])
+
+    CPP_NGHTTP3=`CURL_EXPORT_PCDIR([$want_nghttp3_path]) dnl
+      $PKGCONFIG --cflags-only-I libnghttp3`
+    AC_MSG_NOTICE([-I is $CPP_NGHTTP3])
+
+    LD_NGHTTP3=`CURL_EXPORT_PCDIR([$want_nghttp3_path])
+      $PKGCONFIG --libs-only-L libnghttp3`
+    AC_MSG_NOTICE([-L is $LD_NGHTTP3])
+
+    LDFLAGS="$LDFLAGS $LD_NGHTTP3"
+    CPPFLAGS="$CPPFLAGS $CPP_NGHTTP3"
+    LIBS="$LIB_NGHTTP3 $LIBS"
+
+    if test "x$cross_compiling" != "xyes"; then
+      DIR_NGHTTP3=`echo $LD_NGHTTP3 | $SED -e 's/-L//'`
+    fi
+    AC_CHECK_LIB(nghttp3, nghttp3_conn_client_new,
+      [
+       AC_CHECK_HEADERS(nghttp3/nghttp3.h,
+          curl_h3_msg="enabled (ngtcp2 + nghttp3)"
+          NGHTTP3_ENABLED=1
+          AC_DEFINE(USE_NGHTTP3, 1, [if nghttp3 is in use])
+          AC_SUBST(USE_NGHTTP3, [1])
+          CURL_LIBRARY_PATH="$CURL_LIBRARY_PATH:$DIR_NGHTTP3"
+          export CURL_LIBRARY_PATH
+          AC_MSG_NOTICE([Added $DIR_NGHTTP3 to CURL_LIBRARY_PATH])
+          experimental="$experimental HTTP3"
+       )
+      ],
+        dnl not found, revert back to clean variables
+        LDFLAGS=$CLEANLDFLAGS
+        CPPFLAGS=$CLEANCPPFLAGS
+        LIBS=$CLEANLIBS
+    )
+
+  else
+    dnl no nghttp3 pkg-config found, deal with it
+    if test X"$want_nghttp3" != Xdefault; then
+      dnl To avoid link errors, we do not allow --with-nghttp3 without
+      dnl a pkgconfig file
+      AC_MSG_ERROR([--with-nghttp3 was specified but could not find nghttp3 pkg-config file.])
+    fi
+  fi
+
+fi
+
+dnl **********************************************************************
+dnl Check for quiche (QUIC)
+dnl **********************************************************************
+
+OPT_QUICHE="yes"
+
+if test "x$disable_http" = "xyes" -o "x$USE_NGTCP" = "x1"; then
+  # without HTTP or with ngtcp2, quiche is no use
+  OPT_QUICHE="no"
+fi
+
+AC_ARG_WITH(quiche,
+AC_HELP_STRING([--with-quiche=PATH],[Enable quiche usage])
+AC_HELP_STRING([--without-quiche],[Disable quiche usage]),
+  [OPT_QUICHE=$withval])
+case "$OPT_QUICHE" in
+  no)
+    dnl --without-quiche option used
+    want_quiche="no"
+    ;;
+  yes)
+    dnl --with-quiche option used without path
+    want_quiche="default"
+    want_quiche_path=""
+    ;;
+  *)
+    dnl --with-quiche option used with path
+    want_quiche="yes"
+    want_quiche_path="$withval"
+    ;;
+esac
+
+if test X"$want_quiche" != Xno; then
+  dnl backup the pre-quiche variables
+  CLEANLDFLAGS="$LDFLAGS"
+  CLEANCPPFLAGS="$CPPFLAGS"
+  CLEANLIBS="$LIBS"
+
+  CURL_CHECK_PKGCONFIG(quiche, $want_quiche_path)
+
+  if test "$PKGCONFIG" != "no" ; then
+    LIB_QUICHE=`CURL_EXPORT_PCDIR([$want_quiche_path])
+      $PKGCONFIG --libs-only-l quiche`
+    AC_MSG_NOTICE([-l is $LIB_QUICHE])
+
+    CPP_QUICHE=`CURL_EXPORT_PCDIR([$want_quiche_path]) dnl
+      $PKGCONFIG --cflags-only-I quiche`
+    AC_MSG_NOTICE([-I is $CPP_QUICHE])
+
+    LD_QUICHE=`CURL_EXPORT_PCDIR([$want_quiche_path])
+      $PKGCONFIG --libs-only-L quiche`
+    AC_MSG_NOTICE([-L is $LD_QUICHE])
+
+    LDFLAGS="$LDFLAGS $LD_QUICHE"
+    CPPFLAGS="$CPPFLAGS $CPP_QUICHE"
+    LIBS="$LIB_QUICHE $LIBS"
+
+    if test "x$cross_compiling" != "xyes"; then
+      DIR_QUICHE=`echo $LD_QUICHE | $SED -e 's/-L//'`
+    fi
+    AC_CHECK_LIB(quiche, quiche_connect,
+      [
+       AC_CHECK_HEADERS(quiche.h,
+          experimental="$experimental HTTP3"
+          AC_MSG_NOTICE([HTTP3 support is experimental])
+          curl_h3_msg="enabled (quiche)"
+          QUICHE_ENABLED=1
+          AC_DEFINE(USE_QUICHE, 1, [if quiche is in use])
+          AC_SUBST(USE_QUICHE, [1])
+          CURL_LIBRARY_PATH="$CURL_LIBRARY_PATH:$DIR_QUICHE"
+          export CURL_LIBRARY_PATH
+          AC_MSG_NOTICE([Added $DIR_QUICHE to CURL_LIBRARY_PATH]),
+       )
+      ],
+        dnl not found, revert back to clean variables
+        LDFLAGS=$CLEANLDFLAGS
+        CPPFLAGS=$CLEANCPPFLAGS
+        LIBS=$CLEANLIBS
+    )
+  else
+    dnl no nghttp3 pkg-config found, deal with it
+    if test X"$want_quiche" != Xdefault; then
+      dnl To avoid link errors, we do not allow --with-nghttp3 without
+      dnl a pkgconfig file
+      AC_MSG_ERROR([--with-quiche was specified but could not find quiche pkg-config file.])
+    fi
+  fi
+fi
+
+dnl **********************************************************************
 dnl Check for zsh completion path
 dnl **********************************************************************
 
@@ -3671,6 +3996,7 @@
   setlocale \
   setmode \
   setrlimit \
+  usleep \
   utime \
   utimes
 ],[
@@ -4161,7 +4487,6 @@
   *) AC_MSG_RESULT(yes)
        curl_altsvc_msg="enabled";
        enable_altsvc="yes"
-       experimental="alt-svc"
        ;;
   esac ],
        AC_MSG_RESULT(no)
@@ -4169,7 +4494,7 @@
 
 if test "$enable_altsvc" = "yes"; then
   AC_DEFINE(USE_ALTSVC, 1, [to enable alt-svc])
-  experimental="alt-svc"
+  experimental="$experimental alt-svc"
 fi
 
 dnl ************************************************************
@@ -4280,6 +4605,10 @@
   SUPPORT_FEATURES="$SUPPORT_FEATURES HTTP2"
 fi
 
+if test "x$USE_NGTCP2" = "x1" -o "x$USE_QUICHE" = "x1"; then
+  SUPPORT_FEATURES="$SUPPORT_FEATURES HTTP3"
+fi
+
 if test "x$CURL_WITH_MULTI_SSL" = "x1"; then
   SUPPORT_FEATURES="$SUPPORT_FEATURES MultiSSL"
 fi
@@ -4471,11 +4800,12 @@
   PSL:              ${curl_psl_msg}
   Alt-svc:          ${curl_altsvc_msg}
   HTTP2:            ${curl_h2_msg}
+  HTTP3:            ${curl_h3_msg}
   Protocols:        ${SUPPORT_PROTOCOLS}
   Features:         ${SUPPORT_FEATURES}
 ])
 if test -n "$experimental"; then
  cat >&2 << _EOF
-  WARNING: $experimental is enabled but marked EXPERIMENTAL. Use with caution!
+  WARNING: $experimental enabled but marked EXPERIMENTAL. Use with caution!
 _EOF
 fi
diff --git a/docs/ALTSVC.md b/docs/ALTSVC.md
index 5aca1c9..4840141 100644
--- a/docs/ALTSVC.md
+++ b/docs/ALTSVC.md
@@ -2,21 +2,6 @@
 
 curl features **EXPERIMENTAL** support for the Alt-Svc: HTTP header.
 
-## Experimental
-
-Experimental support in curl means:
-
-1. Experimental features are provided to allow users to try them out and
-   provide feedback on functionality and API etc before they ship and get
-   "carved in stone".
-2. You must enable the feature when invoking configure as otherwise curl will
-   not be built with the feature present.
-3. We strongly advice against using this feature in production.
-4. **We reserve the right to change behavior** of the feature without sticking
-   to our API/ABI rules as we do for regular features, as long as it is marked
-   experimental.
-5. Experimental features are clearly marked so in documentation. Beware.
-
 ## Enable Alt-Svc in build
 
 `./configure --enable-alt-svc`
@@ -25,35 +10,30 @@
 
 [RFC 7838](https://tools.ietf.org/html/rfc7838)
 
-## What works
+# Alt-Svc cache file format
 
-- read alt-svc file from disk
-- write alt-svc file from disk
-- parse `Alt-Svc:` response headers, including `ma`, `clear` and `persist`.
-- replaces old entries when new alternatives are received
-- unit tests to verify most of this functionality (test 1654)
-- act on `Alt-Svc:` response headers
-- build conditionally on `configure --enable-alt-svc` only, feature marked as
-  **EXPERIMENTAL**
-- implement `CURLOPT_ALTSVC_CTRL`
-- implement `CURLOPT_ALTSVC`
-- document  `CURLOPT_ALTSVC_CTRL`
-- document `CURLOPT_ALTSVC`
-- document `--alt-svc`
-- add `CURL_VERSION_ALTSVC`
-- make `curl -V` show 'alt-svc' as a feature if built-in
-- support `curl --alt-svc [file]` to enable caching, using that file
-- make `tests/runtests.pl` able to filter tests on the feature `alt-svc`
-- actually use the existing in-memory alt-svc cache for outgoing connections
-- alt-svc cache expiry
-- test 355 and 356 verify curl acting on Alt-Svc, received from header and
-  loaded from cache. The latter needs a debug build since it enables Alt-Svc
-  for plain HTTP.
+This a text based file with one line per entry and each line consists of nine
+space separated fields.
 
-## What is left
+## Example
+
+    h2 quic.tech 8443 h3-22 quic.tech 8443 "20190808 06:18:37" 0 0
+
+## Fields
+
+1. The ALPN id for the source origin
+2. The host name for the source origin
+3. The port number for the source origin
+4. The ALPN id for the destination host
+5. The host name for the destination host
+6. The host number for the destination host
+7. The expiration date and time of this entry withing double quotes. The date format is "YYYYMMDD HH:MM:SS" and the time zone is GMT.
+8. Boolean (1 or 0) if "persist" was set for this entry
+9. Integer priority value (not currently used)
+
+# TODO
 
 - handle multiple response headers, when one of them says `clear` (should
   override them all)
 - using `Age:` value for caching age as per spec
 - `CURLALTSVC_IMMEDIATELY` support
-- `CURLALTSVC_ALTUSED` support
diff --git a/docs/DEPRECATE.md b/docs/DEPRECATE.md
index f04f0ee..4f4ef8a 100644
--- a/docs/DEPRECATE.md
+++ b/docs/DEPRECATE.md
@@ -5,21 +5,6 @@
 this is a problem for you and how your use case can't be satisfied properly
 using a work around.
 
-## HTTP/0.9
-
-Supporting this is non-obvious and might even come as a surprise to some
-users. Potentially even being a security risk in some cases.
-
-### State
-
-curl 7.64.0 introduces options to disable/enable support for this protocol
-version. The default remains supported for now.
-
-### Removal
-
-The support for HTTP/0.9 will be switched to disabled by default in 6 months,
-in the September 2019 release (possibly called curl 7.68.0).
-
 ## PolarSSL
 
 The polarssl TLS library has not had an update in over three years. The last
diff --git a/docs/EXPERIMENTAL.md b/docs/EXPERIMENTAL.md
new file mode 100644
index 0000000..6c33bcf
--- /dev/null
+++ b/docs/EXPERIMENTAL.md
@@ -0,0 +1,22 @@
+# Experimental
+
+Some features and functionality in curl and libcurl are considered
+**EXPERIMENTAL**.
+
+Experimental support in curl means:
+
+1. Experimental features are provided to allow users to try them out and
+   provide feedback on functionality and API etc before they ship and get
+   "carved in stone".
+2. You must enable the feature when invoking configure as otherwise curl will
+   not be built with the feature present.
+3. We strongly advice against using this feature in production.
+4. **We reserve the right to change behavior** of the feature without sticking
+   to our API/ABI rules as we do for regular features, as long as it is marked
+   experimental.
+5. Experimental features are clearly marked so in documentation. Beware.
+
+## Experimental features right now
+
+ - HTTP/3 support and options
+ - alt-svc support and options
diff --git a/docs/HTTP3.md b/docs/HTTP3.md
new file mode 100644
index 0000000..1e9b183
--- /dev/null
+++ b/docs/HTTP3.md
@@ -0,0 +1,121 @@
+# HTTP3 (and QUIC)
+
+## Resources
+
+[HTTP/3 Explained](https://daniel.haxx.se/http3-explained/) - the online free
+book describing the protocols involved.
+
+[QUIC implementation](https://github.com/curl/curl/wiki/QUIC-implementation) -
+the wiki page describing the plan for how to support QUIC and HTTP/3 in curl
+and libcurl.
+
+[quicwg.org](https://quicwg.org/) - home of the official protocol drafts
+
+## QUIC libraries
+
+QUIC libraries we're experiementing with:
+
+[ngtcp2](https://github.com/ngtcp2/ngtcp2)
+
+[quiche](https://github.com/cloudflare/quiche)
+
+## Experimental!
+
+HTTP/3 and QUIC support in curl is considered **EXPERIMENTAL** until further
+notice. It needs to be enabled at build-time.
+
+Further development and tweaking of the HTTP/3 support in curl will happen in
+in the master branch using pull-requests, just like ordinary changes.
+
+# ngtcp2 version
+
+## Build
+
+Build (patched) OpenSSL
+
+     % git clone --depth 1 -b openssl-quic-draft-22 https://github.com/tatsuhiro-t/openssl
+     % cd openssl
+     % ./config enable-tls1_3 --prefix=<somewhere1>
+     % make
+     % make install_sw
+
+Build nghttp3
+
+     % cd ..
+     % git clone https://github.com/ngtcp2/nghttp3
+     % cd nghttp3
+     % autoreconf -i
+     % ./configure --prefix=<somewhere2> --enable-lib-only
+     % make
+     % make install
+
+Build ngtcp2
+
+     % cd ..
+     % git clone -b draft-22 https://github.com/ngtcp2/ngtcp2
+     % cd ngtcp2
+     % autoreconf -i
+     % ./configure PKG_CONFIG_PATH=<somewhere1>/lib/pkgconfig:<somewhere2>/lib/pkgconfig LDFLAGS="-Wl,-rpath,<somehere1>/lib" --prefix==<somewhere3>
+     % make
+     % make install
+
+Build curl
+
+     % cd ..
+     % git clone https://github.com/curl/curl
+     % cd curl
+     % ./buildconf
+     % LDFLAGS="-Wl,-rpath,<somewhere1>/lib" ./configure -with-ssl=<somewhere1> --with-nghttp3=<somewhere2> --with-ngtcp2=<somewhere3>
+     % make
+
+## Running
+
+Make sure the custom OpenSSL library is the one used at run-time, as otherwise
+you'll just get ld.so linker errors.
+
+## Invoke from command line
+
+    curl --http3 https://nghttp2.org:8443/
+
+# quiche version
+
+## build
+
+Clone quiche and BoringSSL:
+
+     % git clone --recursive https://github.com/cloudflare/quiche
+
+Build BoringSSL (it needs to be built manually so it can be reused with curl):
+
+     % cd quiche/deps/boringssl
+     % mkdir build
+     % cd build
+     % cmake -DCMAKE_POSITION_INDEPENDENT_CODE=on ..
+     % make -j`nproc`
+     % cd ..
+     % mkdir .openssl/lib -p
+     % cp build/crypto/libcrypto.a build/ssl/libssl.a .openssl/lib
+     % ln -s $PWD/include .openssl
+
+Build quiche:
+
+     % cd ../..
+     % QUICHE_BSSL_PATH=$PWD/deps/boringssl cargo build --release --features pkg-config-meta
+
+Clone and build curl:
+
+     % cd ..
+     % git clone https://github.com/curl/curl
+     % cd curl
+     % ./buildconf
+     % ./configure LDFLAGS="-Wl,-rpath,$PWD/../quiche/target/release" --with-ssl=$PWD/../quiche/deps/boringssl/.openssl --with-quiche=$PWD/../quiche/target/release
+     % make -j`nproc`
+
+## Running
+
+Make an HTTP/3 request.
+
+     % src/curl --http3 https://cloudflare-quic.com/
+     % src/curl --http3 https://facebook.com/
+     % src/curl --http3 https://quic.aiortc.org:4433/
+     % src/curl --http3 https://quic.rocks:4433/
diff --git a/docs/INTERNALS.md b/docs/INTERNALS.md
index cd004e8..9ae7228 100644
--- a/docs/INTERNALS.md
+++ b/docs/INTERNALS.md
@@ -773,7 +773,7 @@
 
   Add a line in your application code:
 
-       `curl_memdebug("dump");`
+       `curl_dbg_memdebug("dump");`
 
   This will make the malloc debug system output a full trace of all resource
   using functions to the given file name. Make sure you rebuild your program
diff --git a/docs/KNOWN_BUGS b/docs/KNOWN_BUGS
index e385ef5..5850f7f 100644
--- a/docs/KNOWN_BUGS
+++ b/docs/KNOWN_BUGS
@@ -13,7 +13,6 @@
 
  1. HTTP
  1.1 CURLFORM_CONTENTLEN in an array
- 1.2 Disabling HTTP Pipelining
  1.3 STARTTRANSFER time is wrong for HTTP POSTs
  1.4 multipart formposts file name encoding
  1.5 Expect-100 meets 417
@@ -21,7 +20,6 @@
  1.7 Deflate error after all content was received
  1.8 DoH isn't used for all name resolves when enabled
  1.9 HTTP/2 frames while in the connection pool kill reuse
- 1.10 Strips trailing dot from host name
  1.11 CURLOPT_SEEKFUNCTION not called with CURLFORM_STREAM
 
  2. TLS
@@ -48,6 +46,7 @@
  4.5 Improve --data-urlencode space encoding
 
  5. Build and portability issues
+ 5.1 USE_UNIX_SOCKETS on Windows
  5.2 curl-config --libs contains private details
  5.3 curl compiled on OSX 10.13 failed to run on OSX 10.10
  5.4 Cannot compile against a static build of OpenLDAP
@@ -98,6 +97,7 @@
  11.4 HTTP test server 'connection-monitor' problems
  11.5 Connection information when using TCP Fast Open
  11.6 slow connect to localhost on Windows
+ 11.7 signal-based resolver timeouts
 
  12. LDAP and OpenLDAP
  12.1 OpenLDAP hangs after returning results
@@ -121,14 +121,6 @@
  see the now closed related issue:
  https://github.com/curl/curl/issues/608
 
-1.2 Disabling HTTP Pipelining
-
- Disabling HTTP Pipelining when there are ongoing transfers can lead to
- heap corruption and crash. https://curl.haxx.se/bug/view.cgi?id=1411
-
- Similarly, removing a handle when pipelining corrupts data:
- https://github.com/curl/curl/issues/2101
-
 1.3 STARTTRANSFER time is wrong for HTTP POSTs
 
  Wrong STARTTRANSFER timer accounting for POST requests Timer works fine with
@@ -189,42 +181,6 @@
  This is *best* fixed by adding monitoring to connections while they are kept
  in the pool so that pings can be responded to appropriately.
 
-1.10 Strips trailing dot from host name
-
- When given a URL with a trailing dot for the host name part:
- "https://example.com./", libcurl will strip off the dot and use the name
- without a dot internally and send it dot-less in HTTP Host: headers and in
- the TLS SNI field. For the purpose of resolving the name to an address
- the hostname is used as is without any change.
-
- The HTTP part violates RFC 7230 section 5.4 but the SNI part is accordance
- with RFC 6066 section 3.
-
- URLs using these trailing dots are very rare in the wild and we have not seen
- or gotten any real-world problems with such URLs reported. The popular
- browsers seem to have stayed with not stripping the dot for both uses (thus
- they violate RFC 6066 instead of RFC 7230).
-
- Daniel took the discussion to the HTTPbis mailing list in March 2016:
- https://lists.w3.org/Archives/Public/ietf-http-wg/2016JanMar/0430.html but
- there was not major rush or interest to fix this. The impression I get is
- that most HTTP people rather not rock the boat now and instead prioritize web
- compatibility rather than to strictly adhere to these RFCs.
-
- Our current approach allows a knowing client to send a custom HTTP header
- with the dot added.
-
- In a few cases there is a difference in name resolving to IP addresses with
- a trailing dot, but it can be noted that many HTTP servers will not happily
- accept the trailing dot there unless that has been specifically configured
- to be a fine virtual host.
-
- If URLs with trailing dots for host names become more popular or even just
- used more than for just plain fun experiments, I'm sure we will have reason
- to go back and reconsider.
-
- See https://github.com/curl/curl/issues/716 for the discussion.
-
 1.11 CURLOPT_SEEKFUNCTION not called with CURLFORM_STREAM
 
  I'm using libcurl to POST form data using a FILE* with the CURLFORM_STREAM
@@ -389,6 +345,13 @@
 
 5. Build and portability issues
 
+5.1 USE_UNIX_SOCKETS on Windows
+
+ Due to incorrect CMake checks for the presense of the feature, it will never
+ be enabled for windows in a cmake build.
+
+ See https://github.com/curl/curl/issues/4040
+
 5.2 curl-config --libs contains private details
 
  "curl-config --libs" will include details set in LDFLAGS when configure is
@@ -728,6 +691,19 @@
 
  https://github.com/curl/curl/issues/2281
 
+11.7 signal-based resolver timeouts
+
+ libcurl built without an asynchronous resolver library uses alarm() to time
+ out DNS lookups. When a timeout occurs, this causes libcurl to jump from the
+ signal handler back into the library with a sigsetjmp, which effectively
+ causes libcurl to continue running within the signal handler. This is
+ non-portable and could cause problems on some platforms. A discussion on the
+ problem is available at https://curl.haxx.se/mail/lib-2008-09/0197.html
+
+ Also, alarm() provides timeout resolution only to the nearest second. alarm
+ ought to be replaced by setitimer on systems that support it.
+
+
 12. LDAP and OpenLDAP
 
 12.1 OpenLDAP hangs after returning results
diff --git a/docs/Makefile.am b/docs/Makefile.am
index e34b804..2bde6bc 100644
--- a/docs/Makefile.am
+++ b/docs/Makefile.am
@@ -53,6 +53,7 @@
  CODE_STYLE.md                                  \
  CONTRIBUTE.md                                  \
  DEPRECATE.md                                   \
+ EXPERIMENTAL.md                                \
  FAQ                                            \
  FEATURES                                       \
  GOVERNANCE.md                                  \
@@ -60,6 +61,7 @@
  HISTORY.md                                     \
  HTTP-COOKIES.md                                \
  HTTP2.md                                       \
+ HTTP3.md                                       \
  INSTALL                                        \
  INSTALL.cmake                                  \
  INSTALL.md                                     \
@@ -67,6 +69,7 @@
  KNOWN_BUGS                                     \
  LICENSE-MIXING.md                              \
  MAIL-ETIQUETTE                                 \
+ PARALLEL-TRANSFERS.md                          \
  README.cmake                                   \
  README.md                                      \
  README.netware                                 \
diff --git a/docs/PARALLEL-TRANSFERS.md b/docs/PARALLEL-TRANSFERS.md
new file mode 100644
index 0000000..d3b38ae
--- /dev/null
+++ b/docs/PARALLEL-TRANSFERS.md
@@ -0,0 +1,58 @@
+# Parallel transfers
+
+curl 7.66.0 introduces support for doing multiple transfers simultaneously; in
+parallel.
+
+## -Z, --parallel
+
+When this command line option is used, curl will perform the transfers given
+to it at the same time. It will do up to `--parallel-max` concurrent
+transfers, with a default value of 50.
+
+## Progress meter
+
+The progress meter that is displayed when doing parallel transfers is
+completely different than the regular one used for each single transfer.
+
+  It shows:
+
+ o percent download (if known, which means *all* transfers need to have a
+   known size)
+ o precent upload (if known, with the same caveat as for download)
+ o total amount of downloaded data
+ o total amount of uploaded data
+ o number of transfers to perform
+ o number of concurrent transfers being transferred right now
+ o number of transfers queued up waiting to start
+ o total time all transfers are expected to take (if sizes are known)
+ o current time the transfers have spent so far
+ o estimated time left (if sizes are known)
+ o current transfer speed (the faster of UL/DL speeds measured over the last
+   few seconds)
+
+Example:
+
+    DL% UL%  Dled  Uled  Xfers  Live   Qd Total     Current  Left    Speed
+    72  --  37.9G     0   101    30    23  0:00:55  0:00:34  0:00:22 2752M
+
+## Behavior differences
+
+Connections are shared fine between different easy handles, but the
+"authentication contexts" are not. So for example doing HTTP Digest auth with
+one handle for a particular transfer and then continue on with another handle
+that reuses the same connection, the second handle can't send the necessary
+Authorization header at once since the context is only kept in the original
+easy handle.
+
+To fix this, the authorization state could be made possible to share with the
+share API as well, as a context per origin + path (realm?) basically.
+
+Visible in test 153, 1412 and more.
+
+## Feedback!
+
+This is early days for parallel transfer support. Keep your eyes open for
+unintended side effects or downright bugs.
+
+Tell us what you think and how you think we could improve this feature!
+
diff --git a/docs/ROADMAP.md b/docs/ROADMAP.md
index 10e7eff..1d47682 100644
--- a/docs/ROADMAP.md
+++ b/docs/ROADMAP.md
@@ -5,10 +5,19 @@
 serve as a guideline for others for information, feedback and possible
 participation.
 
-HTTP/3
-------
+HSTS
+----
 
- See the [QUIC and HTTP/3 wiki page](https://github.com/curl/curl/wiki/QUIC).
+ Complete and merge [the existing PR](https://github.com/curl/curl/pull/2682).
+
+ Loading a huge preload file is probably not too interesting to most people,
+ but using a custom file and reacting to HSTS response header probably are
+ good features.
+
+DNS-over-TLS
+------------
+
+ Similar to DNS-over-HTTPS. Could share quite a lot of generic code.
 
 ESNI (Encrypted SNI)
 --------------------
@@ -16,44 +25,32 @@
  See Daniel's post on [Support of Encrypted
  SNI](https://curl.haxx.se/mail/lib-2019-03/0000.html) on the mailing list.
 
-HSTS
+ Initial work exists in https://github.com/curl/curl/pull/4011
+
+tiny-curl
+---------
+
+ There's no immediate action for this but users seem keen on being able to
+ building custom minimized versions of libcurl for their products. Make sure
+ new features that are "niche" can still be disabled at build-time.
+
+MQTT
 ----
 
-Complete and merge [the existing PR](https://github.com/curl/curl/pull/2682).
-
-Parallel transfers for the curl tool
-------------------------------------
-
-This will require several new command line options to enable and control.
-
- 1. switch to creating a list of all the transfers first before any transfer
-    is done
- 2. make the transfers using the multi interface
- 3. optionally fire up more transfers before the previous has completed
-
-Option to refuse HTTPS => HTTP redirects
-----------------------------------------
-
-Possibly as a new bit to `CURLOPT_FOLLOWLOCATION` ?
-
-Option to let CURLOPT_CUSTOMREQUEST be overridden on redirect
--------------------------------------------------------------
-
-(This is a common problem for people using `-X` and `-L` together.)
-
-Possibly as a new bit to `CURLOPT_FOLLOWLOCATION` ?
+ Support receiving and sending MQTT messages. Initial work exists in
+ https://github.com/curl/curl/pull/3514
 
 Hardcode “localhost”
 --------------------
 
-No need to resolve it. Avoid a risk where this is resolved over the network
-and actually responds with something else than a local address. Some operating
-systems already do this. Also:
-https://tools.ietf.org/html/draft-ietf-dnsop-let-localhost-be-localhost-02
+ No need to resolve it. Avoid a risk where this is resolved over the network
+ and actually responds with something else than a local address. Some
+ operating systems already do this. Also:
+ https://tools.ietf.org/html/draft-ietf-dnsop-let-localhost-be-localhost-02
 
-Consider "menu config"-style build feature selection
-----------------------------------------------------
+"menu config"-style build feature selection
+-------------------------------------------
 
-Allow easier building of custom libcurl versions with only a selected feature
-where the available features are easily browsable and toggle-able ON/OFF or
-similar.
+ Allow easier building of custom libcurl versions with only a selected feature
+ where the available features are easily browsable and toggle-able ON/OFF or
+ similar.
diff --git a/docs/THANKS b/docs/THANKS
index 385ecd8..73b84cf 100644
--- a/docs/THANKS
+++ b/docs/THANKS
@@ -52,6 +52,7 @@
 Alex Grebenschikov
 Alex Gruz
 Alex Malinovich
+Alex Mayorga
 Alex McLellan
 Alex Neblett
 Alex Nichols
@@ -84,6 +85,7 @@
 Alfred Gebert
 Allen Pulsifer
 Alona Rossen
+Amit Katyal
 Amol Pattekar
 Amr Shahin
 Anatol Belski
@@ -172,6 +174,7 @@
 Balaji Parasuram
 Balaji S Rao
 Balaji Salunke
+Balazs Kovacsics
 Balint Szilakszi
 Barry Abrahamson
 Bart Whiteley
@@ -230,6 +233,7 @@
 Brad Spencer
 Bradford Bruce
 Brandon Casey
+Brandon Dong
 Brandon Wang
 Brendan Jurd
 Brent Beardsley
@@ -261,6 +265,7 @@
 Caolan McNamara
 Carie Pointer
 Carlo Cannas
+Carlo Marcelo Arenas Belón
 Carlo Teubner
 Carlo Wood
 Carlos ORyan
@@ -315,6 +320,7 @@
 Cliff Crosland
 Clifford Wolf
 Clint Clayton
+Clément Notin
 Cody Jones
 Cody Mack
 Colby Ranger
@@ -714,6 +720,7 @@
 Ignacio Vazquez-Abrams
 Igor Franchuk
 Igor Khristophorov
+Igor Makarov
 Igor Novoseltsev
 Igor Polyakov
 Ihor Karpenko
@@ -726,6 +733,7 @@
 Ingo Ralf Blum
 Ingo Wilken
 Irfan Adilovic
+Ironbars13 on github
 Irving Wolfe
 Isaac Boukris
 Isaiah Norton
@@ -775,6 +783,7 @@
 Jason Baietto
 Jason Glasgow
 Jason Juang
+Jason Lee
 Jason Liu
 Jason McDonald
 Jason S. Priebe
@@ -809,6 +818,7 @@
 Jeremie Rapin
 Jeremy Friesner
 Jeremy Huddleston
+Jeremy Lainé
 Jeremy Lin
 Jeremy Pearson
 Jeremy Tan
@@ -929,6 +939,7 @@
 Julien Nabet
 Julien Royer
 Jun-ichiro itojun Hagino
+Junho Choi
 Jurij Smakov
 Juro Bystricky
 Justin Clift
@@ -996,13 +1007,16 @@
 Kristoffer Gleditsch
 Kunal Ekawde
 Kurt Fankhauser
+Kyle Abramowitz
 Kyle Edwards
 Kyle J. McKay
 Kyle L. Huff
 Kyle Sallee
+Kyohei Kadota
 Kyselgov E.N
 Lachlan O'Dea
 Ladar Levison
+Lance Ware
 Larry Campbell
 Larry Fahnoe
 Larry Lin
@@ -1207,6 +1221,7 @@
 Michael Kilburn
 Michael Kujawa
 Michael König
+Michael Lee
 Michael Maltese
 Michael Mealling
 Michael Mueller
@@ -1220,6 +1235,7 @@
 Michal Bonino
 Michal Marek
 Michal Trybus
+Michal Čaplygin
 Michał Antoniak
 Michał Fita
 Michał Górny
@@ -1549,6 +1565,7 @@
 Roland Blom
 Roland Krikava
 Roland Zimmermann
+Rolf Eike Beer
 Rolland Dudemaine
 Romain Coltel
 Romain Fliedel
@@ -1682,7 +1699,6 @@
 Stephen More
 Stephen Toub
 Sterling Hughes
-Steve Brokenshire
 Steve Green
 Steve H Truong
 Steve Havelka
@@ -1723,6 +1739,7 @@
 Temprimus
 Terri Oda
 Terry Wu
+The Infinnovation team
 TheAssassin on github
 Theodore Dubois
 Thomas Braun
@@ -1736,6 +1753,7 @@
 Thomas Ruecker
 Thomas Schwinge
 Thomas Tonino
+Thomas Vegas
 Thomas van Hesteren
 Thorsten Schöning
 Tiit Pikma
@@ -1921,6 +1939,7 @@
 cclauss on github
 clbr on github
 cmfrolick on github
+codesniffer13 on github
 d912e3 on github
 daboul on github
 dasimx on github
@@ -1956,20 +1975,24 @@
 marc-groundctl on github
 masbug on github
 mccormickt12 on github
+migueljcrum on github
 mkzero on github
 moohoorama on github
 nedres on github
 neex on github
 neheb on github
 nevv on HackerOne/curl
+niallor on github
 nianxuejie on github
 niner on github
 nk
 nopjmp on github
 olesteban on github
 omau on github
+osabc on github
 ovidiu-benea on github
 patelvivekv1993 on github
+patnyb on github
 pendrek at hackerone
 pszemus on github
 silveja1 on github
diff --git a/docs/TODO b/docs/TODO
index 5e1fcef..6d30d26 100644
--- a/docs/TODO
+++ b/docs/TODO
@@ -18,11 +18,8 @@
 
  1. libcurl
  1.1 TFO support on Windows
- 1.2 More data sharing
  1.3 struct lifreq
- 1.4 signal-based resolver timeouts
  1.5 get rid of PATH_MAX
- 1.6 Modified buffer size approach
  1.7 Support HTTP/2 for HTTP(S) proxies
  1.8 CURLOPT_RESOLVE for any port number
  1.9 Cache negative name resolves
@@ -36,12 +33,10 @@
  1.17 Add support for IRIs
  1.18 try next proxy if one doesn't work
  1.20 SRV and URI DNS records
- 1.21 Have the URL API offer IDN decoding
  1.22 CURLINFO_PAUSE_STATE
  1.23 Offer API to flush the connection pool
  1.24 TCP Fast Open for windows
  1.25 Expose tried IP addresses that failed
- 1.26 CURL_REFUSE_CLEARTEXT
  1.27 hardcode the "localhost" addresses
  1.28 FD_CLOEXEC
  1.29 Upgrade to websockets
@@ -62,7 +57,6 @@
  4.1 HOST
  4.2 Alter passive/active on failure and retry
  4.3 Earlier bad letter detection
- 4.4 REST for large files
  4.5 ASCII support
  4.6 GSSAPI via Windows SSPI
  4.7 STAT for LIST without data connection
@@ -70,12 +64,9 @@
 
  5. HTTP
  5.1 Better persistency for HTTP 1.0
- 5.2 support FF3 sqlite cookie files
  5.3 Rearrange request header order
  5.4 Allow SAN names in HTTP/2 server push
  5.5 auth= in URLs
- 5.6 Refuse "downgrade" redirects
- 5.7 QUIC
 
  6. TELNET
  6.1 ditch stdin
@@ -83,12 +74,10 @@
  6.3 feature negotiation debug data
 
  7. SMTP
- 7.1 Pipelining
  7.2 Enhanced capability support
  7.3 Add CURLOPT_MAIL_CLIENT option
 
  8. POP3
- 8.1 Pipelining
  8.2 Enhanced capability support
 
  9. IMAP
@@ -104,10 +93,8 @@
  11.4 Create remote directories
 
  12. New protocols
- 12.1 RSYNC
 
  13. SSL
- 13.1 Disable specific versions
  13.2 Provide mutex locking API
  13.3 Support in-memory certs/ca certs/keys
  13.4 Cache/share OpenSSL contexts
@@ -115,15 +102,12 @@
  13.6 Provide callback for cert verification
  13.7 improve configure --with-ssl
  13.8 Support DANE
- 13.9 Configurable loading of OpenSSL configuration file
  13.10 Support Authority Information Access certificate extension (AIA)
  13.11 Support intermediate & root pinning for PINNEDPUBLICKEY
  13.12 Support HSTS
- 13.13 Support HPKP
  13.14 Support the clienthello extension
 
  14. GnuTLS
- 14.1 SSL engine stuff
  14.2 check connection
 
  15. WinSSL/SChannel
@@ -138,7 +122,6 @@
 
  17. SSH protocols
  17.1 Multiplexing
- 17.2 SFTP performance
  17.3 Support better than MD5 hostkey hash
  17.4 Support CURLOPT_PREQUOTE
 
@@ -146,16 +129,12 @@
  18.1 sync
  18.2 glob posts
  18.3 prevent file overwriting
- 18.4 simultaneous parallel transfers
  18.5 UTF-8 filenames in Content-Disposition
- 18.6 warning when setting an option
  18.7 at least N milliseconds between requests
  18.9 Choose the name of file in braces for complex URLs
  18.10 improve how curl works in a windows console window
  18.11 Windows: set attribute 'archive' for completed downloads
  18.12 keep running, read instructions from pipe/socket
- 18.13 support metalink in http headers
- 18.14 --fail without --location should treat 3xx as a failure
  18.15 --retry should resume
  18.16 send only part of --data
  18.17 consider file name from the redirected URL with -O ?
@@ -202,58 +181,20 @@
 
  See https://github.com/curl/curl/pull/3378
 
-1.2 More data sharing
-
- curl_share_* functions already exist and work, and they can be extended to
- share more. For example, enable sharing of the ares channel.
-
 1.3 struct lifreq
 
  Use 'struct lifreq' and SIOCGLIFADDR instead of 'struct ifreq' and
  SIOCGIFADDR on newer Solaris versions as they claim the latter is obsolete.
  To support IPv6 interface addresses for network interfaces properly.
 
-1.4 signal-based resolver timeouts
-
- libcurl built without an asynchronous resolver library uses alarm() to time
- out DNS lookups. When a timeout occurs, this causes libcurl to jump from the
- signal handler back into the library with a sigsetjmp, which effectively
- causes libcurl to continue running within the signal handler. This is
- non-portable and could cause problems on some platforms. A discussion on the
- problem is available at https://curl.haxx.se/mail/lib-2008-09/0197.html
-
- Also, alarm() provides timeout resolution only to the nearest second. alarm
- ought to be replaced by setitimer on systems that support it.
-
 1.5 get rid of PATH_MAX
 
  Having code use and rely on PATH_MAX is not nice:
  https://insanecoding.blogspot.com/2007/11/pathmax-simply-isnt.html
 
- Currently the SSH based code uses it a bit, but to remove PATH_MAX from there
- we need libssh2 to properly tell us when we pass in a too small buffer and
- its current API (as of libssh2 1.2.7) doesn't.
-
-1.6 Modified buffer size approach
-
- Current libcurl allocates a fixed 16K size buffer for download and an
- additional 16K for upload. They are always unconditionally part of the easy
- handle. If CRLF translations are requested, an additional 32K "scratch
- buffer" is allocated. A total of 64K transfer buffers in the worst case.
-
- First, while the handles are not actually in use these buffers could be freed
- so that lingering handles just kept in queues or whatever waste less memory.
-
- Secondly, SFTP is a protocol that needs to handle many ~30K blocks at once
- since each need to be individually acked and therefore libssh2 must be
- allowed to send (or receive) many separate ones in parallel to achieve high
- transfer speeds. A current libcurl build with a 16K buffer makes that
- impossible, but one with a 512K buffer will reach MUCH faster transfers. But
- allocating 512K unconditionally for all buffers just in case they would like
- to do fast SFTP transfers at some point is not a good solution either.
-
- Dynamically allocate buffer size depending on protocol in use in combination
- with freeing it after each individual transfer? Other suggestions?
+ Currently the libssh2 SSH based code uses it, but to remove PATH_MAX from
+ there we need libssh2 to properly tell us when we pass in a too small buffer
+ and its current API (as of libssh2 1.2.7) doesn't.
 
 1.7 Support HTTP/2 for HTTP(S) proxies
 
@@ -377,12 +318,6 @@
  Offer support for resolving SRV and URI DNS records for libcurl to know which
  server to connect to for various protocols (including HTTP!).
 
-1.21 Have the URL API offer IDN decoding
-
- Similar to how URL decoding/encoding is done, we could have URL functions to
- convert IDN host names to punycode (probably not the reverse).
- https://github.com/curl/curl/issues/3232
-
 1.22 CURLINFO_PAUSE_STATE
 
  Return information about the transfer's current pause state, in both
@@ -407,21 +342,6 @@
 
  https://github.com/curl/curl/issues/2126
 
-1.26 CURL_REFUSE_CLEARTEXT
-
- An environment variable that when set will make libcurl refuse to use any
- cleartext network protocol. That's all non-encrypted ones (FTP, HTTP, Gopher,
- etc). By adding the check to libcurl and not just curl, this environment
- variable can then help users to block all libcurl-using programs from
- accessing the network using unsafe protocols.
-
- The variable could be given some sort of syntax or different levels and be
- used to also allow for example users to refuse libcurl to do transfers with
- HTTPS certificate checks disabled.
-
- It could also automatically refuse usernames in URLs when set
- (see CURLOPT_DISALLOW_USERNAME_IN_URL)
-
 1.27 hardcode the "localhost" addresses
 
  There's this new spec getting adopted that says "localhost" should always and
@@ -539,12 +459,6 @@
  Make the detection of (bad) %0d and %0a codes in FTP URL parts earlier in the
  process to avoid doing a resolve and connect in vain.
 
-4.4 REST for large files
-
- REST fix for servers not behaving well on >2GB requests. This should fail if
- the server doesn't set the pointer to the requested index. The tricky
- (impossible?) part is to figure out if the server did the right thing or not.
-
 4.5 ASCII support
 
  FTP ASCII transfers do not follow RFC959. They don't convert the data
@@ -577,12 +491,6 @@
  "Better" support for persistent connections over HTTP 1.0
  https://curl.haxx.se/bug/feature.cgi?id=1089001
 
-5.2 support FF3 sqlite cookie files
-
- Firefox 3 is changing from its former format to a a sqlite database instead.
- We should consider how (lib)curl can/should support this.
- https://curl.haxx.se/bug/feature.cgi?id=1871388
-
 5.3 Rearrange request header order
 
  Server implementors often make an effort to detect browser and to reject
@@ -611,36 +519,19 @@
 
  For example:
 
- http://test:pass;auth=NTLM@example.com would be equivalent to specifying --user
- test:pass;auth=NTLM or --user test:pass --ntlm from the command line.
+ http://test:pass;auth=NTLM@example.com would be equivalent to specifying
+ --user test:pass;auth=NTLM or --user test:pass --ntlm from the command line.
 
  Additionally this should be implemented for proxy base URLs as well.
 
-5.6 Refuse "downgrade" redirects
-
- See https://github.com/curl/curl/issues/226
-
- Consider a way to tell curl to refuse to "downgrade" protocol with a redirect
- and/or possibly a bit that refuses redirect to change protocol completely.
-
-5.7 QUIC
-
- The standardization process of QUIC has been taken to the IETF and can be
- followed on the [IETF QUIC Mailing
- list](https://www.ietf.org/mailman/listinfo/quic). I'd like us to get on the
- bandwagon. Ideally, this would be done with a separate library/project to
- handle the binary/framing layer in a similar fashion to how HTTP/2 is
- implemented. This, to allow other projects to benefit from the work and to
- thus broaden the interest and chance of others to participate.
-
 
 6. TELNET
 
 6.1 ditch stdin
 
-Reading input (to send to the remote server) on stdin is a crappy solution for
-library purposes. We need to invent a good way for the application to be able
-to provide the data to send.
+ Reading input (to send to the remote server) on stdin is a crappy solution
+ for library purposes. We need to invent a good way for the application to be
+ able to provide the data to send.
 
 6.2 ditch telnet-specific select
 
@@ -650,15 +541,11 @@
 
 6.3 feature negotiation debug data
 
-  Add telnet feature negotiation data to the debug callback as header data.
+ Add telnet feature negotiation data to the debug callback as header data.
 
 
 7. SMTP
 
-7.1 Pipelining
-
- Add support for pipelining emails.
-
 7.2 Enhanced capability support
 
  Add the ability, for an application that uses libcurl, to obtain the list of
@@ -677,10 +564,6 @@
 
 8. POP3
 
-8.1 Pipelining
-
- Add support for pipelining commands.
-
 8.2 Enhanced capability support
 
  Add the ability, for an application that uses libcurl, to obtain the list of
@@ -725,18 +608,8 @@
 
 12. New protocols
 
-12.1 RSYNC
-
- There's no RFC for the protocol or an URI/URL format.  An implementation
- should most probably use an existing rsync library, such as librsync.
-
 13. SSL
 
-13.1 Disable specific versions
-
- Provide an option that allows for disabling specific SSL versions, such as
- SSLv2 https://curl.haxx.se/bug/feature.cgi?id=1767276
-
 13.2 Provide mutex locking API
 
  Provide a libcurl API for setting mutex callbacks in the underlying SSL
@@ -801,17 +674,6 @@
  Björn Stenberg wrote a separate initial take on DANE that was never
  completed.
 
-13.9 Configurable loading of OpenSSL configuration file
-
- libcurl calls the OpenSSL function CONF_modules_load_file() in openssl.c,
- Curl_ossl_init(). "We regard any changes in the OpenSSL configuration as a
- security risk or at least as unnecessary."
-
- Please add a configuration switch or something similar to disable the
- CONF_modules_load_file() call.
-
- See https://github.com/curl/curl/issues/2724
-
 13.10 Support Authority Information Access certificate extension (AIA)
 
  AIA can provide various things like CRLs but more importantly information
@@ -844,21 +706,6 @@
  Doc: https://developer.mozilla.org/en-US/docs/Web/Security/HTTP_strict_transport_security
  RFC 6797: https://tools.ietf.org/html/rfc6797
 
-13.13 Support HPKP
-
- "HTTP Public Key Pinning" is TOFU (trust on first use), time-based
- features indicated by a HTTP header send by the webserver. It's purpose is
- to prevent Man-in-the-middle attacks by trusted CAs by allowing webadmins
- to specify which CAs/certificates/public keys to trust when connection to
- their websites.
-
- It can be build based on PINNEDPUBLICKEY.
-
- Wikipedia: https://en.wikipedia.org/wiki/HTTP_Public_Key_Pinning
- OWASP: https://www.owasp.org/index.php/Certificate_and_Public_Key_Pinning
- Doc: https://developer.mozilla.org/de/docs/Web/Security/Public_Key_Pinning
- RFC: https://tools.ietf.org/html/draft-ietf-websec-key-pinning-21
-
 13.14 Support the clienthello extension
 
  Certain stupid networks and middle boxes have a problem with SSL handshake
@@ -871,10 +718,6 @@
 
 14. GnuTLS
 
-14.1 SSL engine stuff
-
- Is this even possible?
-
 14.2 check connection
 
  Add a way to check if the connection seems to be alive, to correspond to the
@@ -949,11 +792,6 @@
  To fix this, libcurl would have to detect an existing connection and "attach"
  the new transfer to the existing one.
 
-17.2 SFTP performance
-
- libcurl's SFTP transfer performance is sub par and can be improved, mostly by
- the approach mentioned in "1.6 Modified buffer size approach".
-
 17.3 Support better than MD5 hostkey hash
 
  libcurl offers the CURLOPT_SSH_HOST_PUBLIC_KEY_MD5 option for verifying the
@@ -992,16 +830,6 @@
  existing). So that index.html becomes first index.html.1 and then
  index.html.2 etc.
 
-18.4 simultaneous parallel transfers
-
- The client could be told to use maximum N simultaneous parallel transfers and
- then just make sure that happens. It should of course not make more than one
- connection to the same remote host. This would require the client to use the
- multi interface. https://curl.haxx.se/bug/feature.cgi?id=1558595
-
- Using the multi interface would also allow properly using parallel transfers
- with HTTP/2 and supporting HTTP/2 server push from the command line.
-
 18.5 UTF-8 filenames in Content-Disposition
 
  RFC 6266 documents how UTF-8 names can be passed to a client in the
@@ -1009,12 +837,6 @@
 
  https://github.com/curl/curl/issues/1888
 
-18.6 warning when setting an option
-
- Display a warning when libcurl returns an error when setting an option.
- This can be useful to tell when support for a particular feature hasn't been
- compiled into the library.
-
 18.7 at least N milliseconds between requests
 
  Allow curl command lines issue a lot of request against services that limit
@@ -1063,30 +885,6 @@
  invoke can talk to the still running instance and ask for transfers to get
  done, and thus maintain its connection pool, DNS cache and more.
 
-18.13 support metalink in http headers
-
- Curl has support for downloading a metalink xml file, processing it, and then
- downloading the target of the metalink. This is done via the --metalink option.
- It would be nice if metalink also supported downloading via metalink
- information that is stored in HTTP headers (RFC 6249). Theoretically this could
- also be supported with the --metalink option.
-
- See https://tools.ietf.org/html/rfc6249
-
- See also https://lists.gnu.org/archive/html/bug-wget/2015-06/msg00034.html for
- an implematation of this in wget.
-
-18.14 --fail without --location should treat 3xx as a failure
-
- To allow a command line like this to detect a redirect and consider it a
- failure:
-
-    curl -v --fail -O https://example.com/curl-7.48.0.tar.gz
-
- ... --fail must treat 3xx responses as failures too. The least problematic
- way to implement this is probably to add that new logic in the command line
- tool only and not in the underlying CURLOPT_FAILONERROR logic.
-
 18.15 --retry should resume
 
  When --retry is used and curl actually retries transfer, it should use the
@@ -1202,17 +1000,17 @@
 
 20.5 Add support for concurrent connections
 
- Tests 836, 882 and 938 were designed to verify that separate connections aren't
- used when using different login credentials in protocols that shouldn't re-use
- a connection under such circumstances.
+ Tests 836, 882 and 938 were designed to verify that separate connections
+ aren't used when using different login credentials in protocols that
+ shouldn't re-use a connection under such circumstances.
 
  Unfortunately, ftpserver.pl doesn't appear to support multiple concurrent
- connections. The read while() loop seems to loop until it receives a disconnect
- from the client, where it then enters the waiting for connections loop. When
- the client opens a second connection to the server, the first connection hasn't
- been dropped (unless it has been forced - which we shouldn't do in these tests)
- and thus the wait for connections loop is never entered to receive the second
- connection.
+ connections. The read while() loop seems to loop until it receives a
+ disconnect from the client, where it then enters the waiting for connections
+ loop. When the client opens a second connection to the server, the first
+ connection hasn't been dropped (unless it has been forced - which we
+ shouldn't do in these tests) and thus the wait for connections loop is never
+ entered to receive the second connection.
 
 20.6 Use the RFC6265 test suite
 
diff --git a/docs/cmdline-opts/Makefile.inc b/docs/cmdline-opts/Makefile.inc
index 7a8af6f..6b43874 100644
--- a/docs/cmdline-opts/Makefile.inc
+++ b/docs/cmdline-opts/Makefile.inc
@@ -65,6 +65,7 @@
   http1.0.d					\
   http1.1.d http2.d				\
   http2-prior-knowledge.d			\
+  http3.d                                       \
   ignore-content-length.d			\
   include.d					\
   insecure.d					\
@@ -100,7 +101,10 @@
   noproxy.d					\
   ntlm.d ntlm-wb.d				\
   oauth2-bearer.d				\
-  output.d pass.d				\
+  output.d                                      \
+  pass.d                			\
+  parallel.d                                    \
+  parallel-max.d                                \
   path-as-is.d					\
   pinnedpubkey.d				\
   post301.d					\
@@ -154,6 +158,7 @@
   retry-delay.d					\
   retry-max-time.d				\
   retry.d					\
+  sasl-authzid.d					\
   sasl-ir.d					\
   service-name.d				\
   show-error.d					\
diff --git a/docs/cmdline-opts/config.d b/docs/cmdline-opts/config.d
index ef9894b..df3d392 100644
--- a/docs/cmdline-opts/config.d
+++ b/docs/cmdline-opts/config.d
@@ -40,7 +40,7 @@
 system). On Windows, it then checks for the APPDATA variable, or as a last
 resort the '%USERPROFILE%\\Application Data'.
 
-2) On windows, if there is no _curlrc file in the home dir, it checks for one
+2) On windows, if there is no .curlrc file in the home dir, it checks for one
 in the same dir the curl executable is placed. On Unix-like systems, it will
 simply try to load .curlrc from the determined home dir.
 
diff --git a/docs/cmdline-opts/http0.9.d b/docs/cmdline-opts/http0.9.d
index 33fe72d..7e783f6 100644
--- a/docs/cmdline-opts/http0.9.d
+++ b/docs/cmdline-opts/http0.9.d
@@ -10,5 +10,4 @@
 connect with this to non-HTTP servers and still get a response since curl will
 simply transparently downgrade - if allowed.
 
-A future curl version will deny continuing if the response isn't at least
-HTTP/1.0 unless this option is used.
+Since curl 7.66.0, HTTP/0.9 is disabled by default.
diff --git a/docs/cmdline-opts/http2.d b/docs/cmdline-opts/http2.d
index 04cff00..cf8f298 100644
--- a/docs/cmdline-opts/http2.d
+++ b/docs/cmdline-opts/http2.d
@@ -6,5 +6,6 @@
 Requires: HTTP/2
 See-also: no-alpn
 Help: Use HTTP 2
+See-also: http1.1 http3
 ---
 Tells curl to use HTTP version 2.
diff --git a/docs/cmdline-opts/http3.d b/docs/cmdline-opts/http3.d
new file mode 100644
index 0000000..ca85e3a
--- /dev/null
+++ b/docs/cmdline-opts/http3.d
@@ -0,0 +1,19 @@
+Long: http3
+Tags: Versions
+Protocols: HTTP
+Added: 7.66.0
+Mutexed: http1.1 http1.0 http2 http2-prior-knowledge
+Requires: HTTP/3
+Help: Use HTTP v3
+See-also: http1.1 http2
+---
+
+WARNING: this option is experiemental. Do not use in production.
+
+Tells curl to use HTTP version 3 directly to the host and port number used in
+the URL. A normal HTTP/3 transaction will be done to a host and then get
+redirected via Alt-SVc, but this option allows a user to circumvent that when
+you know that the target speaks HTTP/3 on the given host and port.
+
+This option will make curl fail if a QUIC connection cannot be established, it
+cannot fall back to a lower HTTP version on its own.
diff --git a/docs/cmdline-opts/parallel-max.d b/docs/cmdline-opts/parallel-max.d
new file mode 100644
index 0000000..a8c79c7
--- /dev/null
+++ b/docs/cmdline-opts/parallel-max.d
@@ -0,0 +1,9 @@
+Long: parallel-max
+Help: Maximum concurrency for parallel transfers
+Added: 7.66.0
+See-also: parallel
+---
+When asked to do parallel transfers, using --parallel, this option controls
+the maximum amount of transfers to do simultaneously.
+
+The default is 50.
diff --git a/docs/cmdline-opts/parallel.d b/docs/cmdline-opts/parallel.d
new file mode 100644
index 0000000..fac84e6
--- /dev/null
+++ b/docs/cmdline-opts/parallel.d
@@ -0,0 +1,7 @@
+Short: Z
+Long: parallel
+Help: Perform transfers in parallel
+Added: 7.66.0
+---
+Makes curl perform its transfers in parallel as compared to the regular serial
+manner.
diff --git a/docs/cmdline-opts/retry.d b/docs/cmdline-opts/retry.d
index 32d1c79..3db89b7 100644
--- a/docs/cmdline-opts/retry.d
+++ b/docs/cmdline-opts/retry.d
@@ -14,4 +14,7 @@
 using --retry-delay you disable this exponential backoff algorithm. See also
 --retry-max-time to limit the total time allowed for retries.
 
+Since curl 7.66.0, curl will comply with the Retry-After: response header if
+one was present to know when to issue the next retry.
+
 If this option is used several times, the last one will be used.
diff --git a/docs/cmdline-opts/sasl-authzid.d b/docs/cmdline-opts/sasl-authzid.d
new file mode 100644
index 0000000..b34db97
--- /dev/null
+++ b/docs/cmdline-opts/sasl-authzid.d
@@ -0,0 +1,11 @@
+Long: sasl-authzid
+Help: Use this identity to act as during SASL PLAIN authentication
+Added: 7.66.0
+---
+Use this authorisation identity (authzid), during SASL PLAIN authentication,
+in addition to the authentication identity (authcid) as specified by --user.
+
+If the option isn't specified, the server will derive the authzid from the
+authcid, but if specified, and depending on the server implementation, it may
+be used to access another user's inbox, that the user has been granted access
+to, or a shared mailbox for example.
diff --git a/docs/curl-config.1 b/docs/curl-config.1
index 20bea1e..2afc98f 100644
--- a/docs/curl-config.1
+++ b/docs/curl-config.1
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH curl-config 1 "November 30, 2017" "Curl 7.65.3" "curl-config manual"
+.TH curl-config 1 "November 30, 2017" "Curl 7.66.0" "curl-config manual"
 
 .SH NAME
 curl-config \- Get information about a libcurl installation
diff --git a/docs/curl.1 b/docs/curl.1
index f722637..37e794a 100644
--- a/docs/curl.1
+++ b/docs/curl.1
@@ -22,7 +22,7 @@
 .\"
 .\" DO NOT EDIT. Generated by the curl project gen.pl man page generator.
 .\"
-.TH curl 1 "November 16, 2016" "Curl 7.65.3" "Curl Manual"
+.TH curl 1 "November 16, 2016" "Curl 7.66.0" "Curl Manual"
 
 .SH NAME
 curl \- transfer a URL
@@ -346,7 +346,7 @@
 system). On Windows, it then checks for the APPDATA variable, or as a last
 resort the '%USERPROFILE%\\Application Data'.
 
-2) On windows, if there is no _curlrc file in the home dir, it checks for one
+2) On windows, if there is no .curlrc file in the home dir, it checks for one
 in the same dir the curl executable is placed. On Unix-like systems, it will
 simply try to load .curlrc from the determined home dir.
 
@@ -1062,8 +1062,7 @@
 connect with this to non-HTTP servers and still get a response since curl will
 simply transparently downgrade - if allowed.
 
-A future curl version will deny continuing if the response isn't at least
-HTTP/1.0 unless this option is used.
+Since curl 7.66.0, HTTP/0.9 is disabled by default.
 .IP "-0, --http1.0"
 (HTTP) Tells curl to use HTTP version 1.0 instead of using its internally preferred
 HTTP version.
@@ -1083,7 +1082,20 @@
 .IP "--http2"
 (HTTP) Tells curl to use HTTP version 2.
 
-See also \fI--no-alpn\fP. \fI--http2\fP requires that the underlying libcurl was built to support HTTP/2. This option overrides \fI--http1.1\fP and \fI-0, --http1.0\fP and \fI--http2-prior-knowledge\fP. Added in 7.33.0.
+See also \fI--http1.1\fP and \fI--http3\fP. \fI--http2\fP requires that the underlying libcurl was built to support HTTP/2. This option overrides \fI--http1.1\fP and \fI-0, --http1.0\fP and \fI--http2-prior-knowledge\fP. Added in 7.33.0.
+.IP "--http3"
+(HTTP) 
+WARNING: this option is experiemental. Do not use in production.
+
+Tells curl to use HTTP version 3 directly to the host and port number used in
+the URL. A normal HTTP/3 transaction will be done to a host and then get
+redirected via Alt-SVc, but this option allows a user to circumvent that when
+you know that the target speaks HTTP/3 on the given host and port.
+
+This option will make curl fail if a QUIC connection cannot be established, it
+cannot fall back to a lower HTTP version on its own.
+
+See also \fI--http1.1\fP and \fI--http2\fP. \fI--http3\fP requires that the underlying libcurl was built to support HTTP/3. This option overrides \fI--http1.1\fP and \fI-0, --http1.0\fP and \fI--http2\fP and \fI--http2-prior-knowledge\fP. Added in 7.66.0.
 .IP "--ignore-content-length"
 (FTP HTTP) For HTTP, Ignore the Content-Length header. This is particularly useful for
 servers running Apache 1.x, which will report incorrect Content-Length for
@@ -1513,6 +1525,18 @@
 output to be done to stdout.
 
 See also \fI-O, --remote-name\fP and \fI--remote-name-all\fP and \fI-J, --remote-header-name\fP.
+.IP "--parallel-max"
+When asked to do parallel transfers, using \fI-Z, --parallel\fP, this option controls
+the maximum amount of transfers to do simultaneously.
+
+The default is 50.
+
+See also \fI-Z, --parallel\fP. Added in 7.66.0.
+.IP "-Z, --parallel"
+Makes curl perform its transfers in parallel as compared to the regular serial
+manner.
+
+Added in 7.66.0.
 .IP "--pass <phrase>"
 (SSH TLS) Passphrase for the private key
 
@@ -2139,9 +2163,22 @@
 using \fI--retry-delay\fP you disable this exponential backoff algorithm. See also
 \fI--retry-max-time\fP to limit the total time allowed for retries.
 
+Since curl 7.66.0, curl will comply with the Retry-After: response header if
+one was present to know when to issue the next retry.
+
 If this option is used several times, the last one will be used.
 
 Added in 7.12.3.
+.IP "--sasl-authzid"
+Use this authorisation identity (authzid), during SASL PLAIN authentication,
+in addition to the authentication identity (authcid) as specified by \fI-u, --user\fP.
+
+If the option isn't specified, the server will derive the authzid from the
+authcid, but if specified, and depending on the server implementation, it may
+be used to access another user's inbox, that the user has been granted access
+to, or a shared mailbox for example.
+
+Added in 7.66.0.
 .IP "--sasl-ir"
 Enable initial response in SASL authentication.
 
diff --git a/docs/examples/Makefile.inc b/docs/examples/Makefile.inc
index 8dd55b9..6fd8ecd 100644
--- a/docs/examples/Makefile.inc
+++ b/docs/examples/Makefile.inc
@@ -5,7 +5,7 @@
 #                            | (__| |_| |  _ <| |___
 #                             \___|\___/|_| \_\_____|
 #
-# Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
+# Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
 #
 # This software is licensed as described in the file COPYING, which
 # you should have received as part of this distribution. The terms
@@ -35,7 +35,8 @@
   http2-upload http2-serverpush getredirect ftpuploadfrommem               \
   ftpuploadresume sslbackend postit2-formadd multi-formadd                 \
   shared-connection-cache sftpuploadresume http2-pushinmemory parseurl     \
-  urlapi
+  urlapi imap-authzid pop3-authzid smtp-authzid http3 altsvc               \
+  http3-present
 
 # These examples require external dependencies that may not be commonly
 # available on POSIX systems, so don't bother attempting to compile them here.
diff --git a/docs/examples/altsvc.c b/docs/examples/altsvc.c
new file mode 100644
index 0000000..24ef425
--- /dev/null
+++ b/docs/examples/altsvc.c
@@ -0,0 +1,56 @@
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
+ *
+ * This software is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at https://curl.haxx.se/docs/copyright.html.
+ *
+ * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+ * copies of the Software, and permit persons to whom the Software is
+ * furnished to do so, under the terms of the COPYING file.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ ***************************************************************************/
+/* <DESC>
+ * HTTP with Alt-Svc support
+ * </DESC>
+ */
+#include <stdio.h>
+#include <curl/curl.h>
+
+int main(void)
+{
+  CURL *curl;
+  CURLcode res;
+
+  curl = curl_easy_init();
+  if(curl) {
+    curl_easy_setopt(curl, CURLOPT_URL, "https://example.com");
+
+    /* cache the alternatives in this file */
+    curl_easy_setopt(curl, CURLOPT_ALTSVC, "altsvc.txt");
+
+    /* restrict which HTTP versions to use alternatives */
+    curl_easy_setopt(curl, CURLOPT_ALTSVC_CTRL, (long)
+                     CURLALTSVC_H1|CURLALTSVC_H2|CURLALTSVC_H3);
+
+    /* Perform the request, res will get the return code */
+    res = curl_easy_perform(curl);
+    /* Check for errors */
+    if(res != CURLE_OK)
+      fprintf(stderr, "curl_easy_perform() failed: %s\n",
+              curl_easy_strerror(res));
+
+    /* always cleanup */
+    curl_easy_cleanup(curl);
+  }
+  return 0;
+}
diff --git a/docs/examples/curlx.c b/docs/examples/curlx.c
index df4ab3f..8302079 100644
--- a/docs/examples/curlx.c
+++ b/docs/examples/curlx.c
@@ -277,7 +277,7 @@
 
   int tabLength = 100;
   char *binaryptr;
-  char *mimetype;
+  char *mimetype = NULL;
   char *mimetypeaccept = NULL;
   char *contenttype;
   const char **pp;
@@ -294,7 +294,7 @@
 
   binaryptr = malloc(tabLength);
 
-  p.verbose = 0;
+  memset(&p, '\0', sizeof(p));
   p.errorbio = BIO_new_fp(stderr, BIO_NOCLOSE);
 
   curl_global_init(CURL_GLOBAL_DEFAULT);
@@ -372,7 +372,7 @@
     args++;
   }
 
-  if(mimetype == NULL || mimetypeaccept == NULL)
+  if(mimetype == NULL || mimetypeaccept == NULL || p.p12file == NULL)
     badarg = 1;
 
   if(badarg) {
diff --git a/docs/examples/ephiperfifo.c b/docs/examples/ephiperfifo.c
index bc4b0f0..c076a85 100644
--- a/docs/examples/ephiperfifo.c
+++ b/docs/examples/ephiperfifo.c
@@ -73,12 +73,6 @@
 
 #include <curl/curl.h>
 
-#ifdef __GNUC__
-#define _Unused __attribute__((unused))
-#else
-#define _Unused
-#endif
-
 #define MSG_OUT stdout /* Send info to stdout, change to stderr if you want */
 
 
@@ -114,7 +108,7 @@
   GlobalInfo *global;
 } SockInfo;
 
-#define __case(code) \
+#define mycase(code) \
   case code: s = __STRING(code)
 
 /* Die if we get a bad CURLMcode somewhere */
@@ -123,14 +117,14 @@
   if(CURLM_OK != code) {
     const char *s;
     switch(code) {
-      __case(CURLM_BAD_HANDLE); break;
-      __case(CURLM_BAD_EASY_HANDLE); break;
-      __case(CURLM_OUT_OF_MEMORY); break;
-      __case(CURLM_INTERNAL_ERROR); break;
-      __case(CURLM_UNKNOWN_OPTION); break;
-      __case(CURLM_LAST); break;
+      mycase(CURLM_BAD_HANDLE); break;
+      mycase(CURLM_BAD_EASY_HANDLE); break;
+      mycase(CURLM_OUT_OF_MEMORY); break;
+      mycase(CURLM_INTERNAL_ERROR); break;
+      mycase(CURLM_UNKNOWN_OPTION); break;
+      mycase(CURLM_LAST); break;
       default: s = "CURLM_unknown"; break;
-      __case(CURLM_BAD_SOCKET);
+      mycase(CURLM_BAD_SOCKET);
       fprintf(MSG_OUT, "ERROR: %s returns %s\n", where, s);
       /* ignore this error */
       return;
@@ -336,22 +330,21 @@
 
 
 /* CURLOPT_WRITEFUNCTION */
-static size_t write_cb(void *ptr _Unused, size_t size, size_t nmemb,
-                       void *data)
+static size_t write_cb(void *ptr, size_t size, size_t nmemb, void *data)
 {
-  size_t realsize = size * nmemb;
-  (void)_Unused;
+  (void)ptr;
   (void)data;
-
-  return realsize;
+  return size * nmemb;
 }
 
 
 /* CURLOPT_PROGRESSFUNCTION */
-static int prog_cb(void *p, double dltotal, double dlnow, double ult _Unused,
-                   double uln _Unused)
+static int prog_cb(void *p, double dltotal, double dlnow, double ult,
+                   double uln)
 {
   ConnInfo *conn = (ConnInfo *)p;
+  (void)ult;
+  (void)uln;
 
   fprintf(MSG_OUT, "Progress: %s (%g/%g)\n", conn->url, dlnow, dltotal);
   return 0;
@@ -469,12 +462,14 @@
   }
 }
 
-int main(int argc _Unused, char **argv _Unused)
+int main(int argc, char **argv)
 {
   GlobalInfo g;
   struct itimerspec its;
   struct epoll_event ev;
   struct epoll_event events[10];
+  (void)argc;
+  (void)argv;
 
   g_should_exit_ = 0;
   signal(SIGINT, SignalHandler);
@@ -547,5 +542,6 @@
   fflush(MSG_OUT);
 
   curl_multi_cleanup(g.multi);
+  clean_fifo(&g);
   return 0;
 }
diff --git a/docs/examples/hiperfifo.c b/docs/examples/hiperfifo.c
index a50522a..c02659b 100644
--- a/docs/examples/hiperfifo.c
+++ b/docs/examples/hiperfifo.c
@@ -72,12 +72,6 @@
 #include <errno.h>
 #include <sys/cdefs.h>
 
-#ifdef __GNUC__
-#define _Unused __attribute__((unused))
-#else
-#define _Unused
-#endif
-
 #define MSG_OUT stdout /* Send info to stdout, change to stderr if you want */
 
 
@@ -115,7 +109,7 @@
   GlobalInfo *global;
 } SockInfo;
 
-#define __case(code) \
+#define mycase(code) \
   case code: s = __STRING(code)
 
 /* Die if we get a bad CURLMcode somewhere */
@@ -124,14 +118,14 @@
   if(CURLM_OK != code) {
     const char *s;
     switch(code) {
-      __case(CURLM_BAD_HANDLE); break;
-      __case(CURLM_BAD_EASY_HANDLE); break;
-      __case(CURLM_OUT_OF_MEMORY); break;
-      __case(CURLM_INTERNAL_ERROR); break;
-      __case(CURLM_UNKNOWN_OPTION); break;
-      __case(CURLM_LAST); break;
+      mycase(CURLM_BAD_HANDLE); break;
+      mycase(CURLM_BAD_EASY_HANDLE); break;
+      mycase(CURLM_OUT_OF_MEMORY); break;
+      mycase(CURLM_INTERNAL_ERROR); break;
+      mycase(CURLM_UNKNOWN_OPTION); break;
+      mycase(CURLM_LAST); break;
       default: s = "CURLM_unknown"; break;
-      __case(CURLM_BAD_SOCKET);
+      mycase(CURLM_BAD_SOCKET);
       fprintf(MSG_OUT, "ERROR: %s returns %s\n", where, s);
       /* ignore this error */
       return;
@@ -143,9 +137,10 @@
 
 
 /* Update the event timer after curl_multi library calls */
-static int multi_timer_cb(CURLM *multi _Unused, long timeout_ms, GlobalInfo *g)
+static int multi_timer_cb(CURLM *multi, long timeout_ms, GlobalInfo *g)
 {
   struct timeval timeout;
+  (void)multi;
 
   timeout.tv_sec = timeout_ms/1000;
   timeout.tv_usec = (timeout_ms%1000)*1000;
@@ -220,10 +215,12 @@
 
 
 /* Called by libevent when our timeout expires */
-static void timer_cb(int fd _Unused, short kind _Unused, void *userp)
+static void timer_cb(int fd, short kind, void *userp)
 {
   GlobalInfo *g = (GlobalInfo *)userp;
   CURLMcode rc;
+  (void)fd;
+  (void)kind;
 
   rc = curl_multi_socket_action(g->multi,
                                   CURL_SOCKET_TIMEOUT, 0, &g->still_running);
@@ -303,22 +300,21 @@
 
 
 /* CURLOPT_WRITEFUNCTION */
-static size_t write_cb(void *ptr _Unused, size_t size, size_t nmemb,
-                       void *data)
+static size_t write_cb(void *ptr, size_t size, size_t nmemb, void *data)
 {
-  size_t realsize = size * nmemb;
-  (void)_Unused;
+  (void)ptr;
   (void)data;
-
-  return realsize;
+  return size * nmemb;
 }
 
 
 /* CURLOPT_PROGRESSFUNCTION */
-static int prog_cb(void *p, double dltotal, double dlnow, double ult _Unused,
-                   double uln _Unused)
+static int prog_cb(void *p, double dltotal, double dlnow, double ult,
+                   double uln)
 {
   ConnInfo *conn = (ConnInfo *)p;
+  (void)ult;
+  (void)uln;
 
   fprintf(MSG_OUT, "Progress: %s (%g/%g)\n", conn->url, dlnow, dltotal);
   return 0;
@@ -361,12 +357,14 @@
 }
 
 /* This gets called whenever data is received from the fifo */
-static void fifo_cb(int fd _Unused, short event _Unused, void *arg)
+static void fifo_cb(int fd, short event, void *arg)
 {
   char s[1024];
   long int rv = 0;
   int n = 0;
   GlobalInfo *g = (GlobalInfo *)arg;
+  (void)fd;
+  (void)event;
 
   do {
     s[0]='\0';
@@ -427,9 +425,11 @@
     unlink(fifo);
 }
 
-int main(int argc _Unused, char **argv _Unused)
+int main(int argc, char **argv)
 {
   GlobalInfo g;
+  (void)argc;
+  (void)argv;
 
   memset(&g, 0, sizeof(GlobalInfo));
   g.evbase = event_base_new();
diff --git a/docs/examples/http3-present.c b/docs/examples/http3-present.c
new file mode 100644
index 0000000..857952d
--- /dev/null
+++ b/docs/examples/http3-present.c
@@ -0,0 +1,47 @@
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
+ *
+ * This software is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at https://curl.haxx.se/docs/copyright.html.
+ *
+ * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+ * copies of the Software, and permit persons to whom the Software is
+ * furnished to do so, under the terms of the COPYING file.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ ***************************************************************************/
+/* <DESC>
+ * Checks if HTTP/3 support is present in libcurl.
+ * </DESC>
+ */
+#include <stdio.h>
+#include <curl/curl.h>
+
+int main(void)
+{
+  curl_version_info_data *ver;
+
+  curl_global_init(CURL_GLOBAL_ALL);
+
+  ver = curl_version_info(CURLVERSION_NOW);
+  if(ver->features & CURL_VERSION_HTTP2)
+    printf("HTTP/2 support is present\n");
+
+  if(ver->features & CURL_VERSION_HTTP3)
+    printf("HTTP/3 support is present\n");
+
+  if(ver->features & CURL_VERSION_ALTSVC)
+    printf("Alt-svc support is present\n");
+
+  curl_global_cleanup();
+  return 0;
+}
diff --git a/docs/examples/http3.c b/docs/examples/http3.c
new file mode 100644
index 0000000..240a7ed
--- /dev/null
+++ b/docs/examples/http3.c
@@ -0,0 +1,54 @@
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
+ *
+ * This software is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at https://curl.haxx.se/docs/copyright.html.
+ *
+ * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+ * copies of the Software, and permit persons to whom the Software is
+ * furnished to do so, under the terms of the COPYING file.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ ***************************************************************************/
+/* <DESC>
+ * Very simple HTTP/3 GET
+ * </DESC>
+ */
+#include <stdio.h>
+#include <curl/curl.h>
+
+int main(void)
+{
+  CURL *curl;
+  CURLcode res;
+
+  curl = curl_easy_init();
+  if(curl) {
+    curl_easy_setopt(curl, CURLOPT_URL, "https://example.com");
+
+    /* Forcing HTTP/3 will make the connection fail if the server isn't
+       accessible over QUIC + HTTP/3 on the given host and port.
+       Consider using CURLOPT_ALTSVC instead! */
+    curl_easy_setopt(curl, CURLOPT_HTTP_VERSION, (long)CURL_HTTP_VERSION_3);
+
+    /* Perform the request, res will get the return code */
+    res = curl_easy_perform(curl);
+    /* Check for errors */
+    if(res != CURLE_OK)
+      fprintf(stderr, "curl_easy_perform() failed: %s\n",
+              curl_easy_strerror(res));
+
+    /* always cleanup */
+    curl_easy_cleanup(curl);
+  }
+  return 0;
+}
diff --git a/docs/examples/imap-authzid.c b/docs/examples/imap-authzid.c
new file mode 100644
index 0000000..bfe7d71
--- /dev/null
+++ b/docs/examples/imap-authzid.c
@@ -0,0 +1,71 @@
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
+ *
+ * This software is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at https://curl.haxx.se/docs/copyright.html.
+ *
+ * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+ * copies of the Software, and permit persons to whom the Software is
+ * furnished to do so, under the terms of the COPYING file.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ ***************************************************************************/
+
+/* <DESC>
+ * IMAP example showing how to retreieve e-mails from a shared mailed box
+ * </DESC>
+ */
+
+#include <stdio.h>
+#include <curl/curl.h>
+
+/* This is a simple example showing how to fetch mail using libcurl's IMAP
+ * capabilities.
+ *
+ * Note that this example requires libcurl 7.66.0 or above.
+ */
+
+int main(void)
+{
+  CURL *curl;
+  CURLcode res = CURLE_OK;
+
+  curl = curl_easy_init();
+  if(curl) {
+    /* Set the username and password */
+    curl_easy_setopt(curl, CURLOPT_USERNAME, "user");
+    curl_easy_setopt(curl, CURLOPT_PASSWORD, "secret");
+
+    /* Set the authorisation identity (identity to act as) */
+    curl_easy_setopt(curl, CURLOPT_SASL_AUTHZID, "shared-mailbox");
+
+    /* Force PLAIN authentication */
+    curl_easy_setopt(curl, CURLOPT_LOGIN_OPTIONS, "AUTH=PLAIN");
+
+    /* This will fetch message 1 from the user's inbox */
+    curl_easy_setopt(curl, CURLOPT_URL,
+                     "imap://imap.example.com/INBOX/;UID=1");
+
+    /* Perform the fetch */
+    res = curl_easy_perform(curl);
+
+    /* Check for errors */
+    if(res != CURLE_OK)
+      fprintf(stderr, "curl_easy_perform() failed: %s\n",
+              curl_easy_strerror(res));
+
+    /* Always cleanup */
+    curl_easy_cleanup(curl);
+  }
+
+  return (int)res;
+}
diff --git a/docs/examples/pop3-authzid.c b/docs/examples/pop3-authzid.c
new file mode 100644
index 0000000..5736357
--- /dev/null
+++ b/docs/examples/pop3-authzid.c
@@ -0,0 +1,70 @@
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
+ *
+ * This software is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at https://curl.haxx.se/docs/copyright.html.
+ *
+ * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+ * copies of the Software, and permit persons to whom the Software is
+ * furnished to do so, under the terms of the COPYING file.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ ***************************************************************************/
+
+/* <DESC>
+ * POP3 example showing how to retrieve e-mails from a shared mailbox
+ * </DESC>
+ */
+
+#include <stdio.h>
+#include <curl/curl.h>
+
+/* This is a simple example showing how to retrieve mail using libcurl's POP3
+ * capabilities.
+ *
+ * Note that this example requires libcurl 7.66.0 or above.
+ */
+
+int main(void)
+{
+  CURL *curl;
+  CURLcode res = CURLE_OK;
+
+  curl = curl_easy_init();
+  if(curl) {
+    /* Set the username and password */
+    curl_easy_setopt(curl, CURLOPT_USERNAME, "user");
+    curl_easy_setopt(curl, CURLOPT_PASSWORD, "secret");
+
+    /* Set the authorisation identity (identity to act as) */
+    curl_easy_setopt(curl, CURLOPT_SASL_AUTHZID, "shared-mailbox");
+
+    /* Force PLAIN authentication */
+    curl_easy_setopt(curl, CURLOPT_LOGIN_OPTIONS, "AUTH=PLAIN");
+
+    /* This will retrieve message 1 from the user's mailbox */
+    curl_easy_setopt(curl, CURLOPT_URL, "pop3://pop.example.com/1");
+
+    /* Perform the retr */
+    res = curl_easy_perform(curl);
+
+    /* Check for errors */
+    if(res != CURLE_OK)
+      fprintf(stderr, "curl_easy_perform() failed: %s\n",
+              curl_easy_strerror(res));
+
+    /* Always cleanup */
+    curl_easy_cleanup(curl);
+  }
+
+  return (int)res;
+}
diff --git a/docs/examples/smtp-authzid.c b/docs/examples/smtp-authzid.c
new file mode 100644
index 0000000..decdb71
--- /dev/null
+++ b/docs/examples/smtp-authzid.c
@@ -0,0 +1,161 @@
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
+ *
+ * This software is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at https://curl.haxx.se/docs/copyright.html.
+ *
+ * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+ * copies of the Software, and permit persons to whom the Software is
+ * furnished to do so, under the terms of the COPYING file.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ ***************************************************************************/
+
+/* <DESC>
+ * Send e-mail on behalf of another user with SMTP
+ * </DESC>
+ */
+
+#include <stdio.h>
+#include <string.h>
+#include <curl/curl.h>
+
+/*
+ * This is a simple example show how to send an email using libcurl's SMTP
+ * capabilities.
+ *
+ * Note that this example requires libcurl 7.66.0 or above.
+ */
+
+/* The libcurl options want plain addresses, the viewable headers in the mail
+ * can very well get a full name as well.
+ */
+#define FROM_ADDR    "<ursel@example.org>"
+#define SENDER_ADDR  "<kurt@example.org>"
+#define TO_ADDR      "<addressee@example.net>"
+
+#define FROM_MAIL    "Ursel " FROM_ADDR
+#define SENDER_MAIL  "Kurt " SENDER_ADDR
+#define TO_MAIL      "A Receiver " TO_ADDR
+
+static const char *payload_text[] = {
+  "Date: Mon, 29 Nov 2010 21:54:29 +1100\r\n",
+  "To: " TO_MAIL "\r\n",
+  "From: " FROM_MAIL "\r\n",
+  "Sender: " SENDER_MAIL "\r\n",
+  "Message-ID: <dcd7cb36-11db-487a-9f3a-e652a9458efd@"
+  "rfcpedant.example.org>\r\n",
+  "Subject: SMTP example message\r\n",
+  "\r\n", /* empty line to divide headers from body, see RFC5322 */
+  "The body of the message starts here.\r\n",
+  "\r\n",
+  "It could be a lot of lines, could be MIME encoded, whatever.\r\n",
+  "Check RFC5322.\r\n",
+  NULL
+};
+
+struct upload_status {
+  int lines_read;
+};
+
+static size_t payload_source(void *ptr, size_t size, size_t nmemb, void *userp)
+{
+  struct upload_status *upload_ctx = (struct upload_status *)userp;
+  const char *data;
+
+  if((size == 0) || (nmemb == 0) || ((size*nmemb) < 1)) {
+    return 0;
+  }
+
+  data = payload_text[upload_ctx->lines_read];
+
+  if(data) {
+    size_t len = strlen(data);
+    memcpy(ptr, data, len);
+    upload_ctx->lines_read++;
+
+    return len;
+  }
+
+  return 0;
+}
+
+int main(void)
+{
+  CURL *curl;
+  CURLcode res = CURLE_OK;
+  struct curl_slist *recipients = NULL;
+  struct upload_status upload_ctx;
+
+  upload_ctx.lines_read = 0;
+
+  curl = curl_easy_init();
+  if(curl) {
+    /* This is the URL for your mailserver. In this example we connect to the
+       smtp-submission port as we require an authenticated connection. */
+    curl_easy_setopt(curl, CURLOPT_URL, "smtp://mail.example.com:587");
+
+    /* Set the username and password */
+    curl_easy_setopt(curl, CURLOPT_USERNAME, "kurt");
+    curl_easy_setopt(curl, CURLOPT_PASSWORD, "xipj3plmq");
+
+    /* Set the authorisation identity (identity to act as) */
+    curl_easy_setopt(curl, CURLOPT_SASL_AUTHZID, "ursel");
+
+    /* Force PLAIN authentication */
+    curl_easy_setopt(curl, CURLOPT_LOGIN_OPTIONS, "AUTH=PLAIN");
+
+    /* Note that this option isn't strictly required, omitting it will result
+     * in libcurl sending the MAIL FROM command with empty sender data. All
+     * autoresponses should have an empty reverse-path, and should be directed
+     * to the address in the reverse-path which triggered them. Otherwise,
+     * they could cause an endless loop. See RFC 5321 Section 4.5.5 for more
+     * details.
+     */
+    curl_easy_setopt(curl, CURLOPT_MAIL_FROM, FROM_ADDR);
+
+    /* Add a recipient, in this particular case it corresponds to the
+     * To: addressee in the header. */
+    recipients = curl_slist_append(recipients, TO_ADDR);
+    curl_easy_setopt(curl, CURLOPT_MAIL_RCPT, recipients);
+
+    /* We're using a callback function to specify the payload (the headers and
+     * body of the message). You could just use the CURLOPT_READDATA option to
+     * specify a FILE pointer to read from. */
+    curl_easy_setopt(curl, CURLOPT_READFUNCTION, payload_source);
+    curl_easy_setopt(curl, CURLOPT_READDATA, &upload_ctx);
+    curl_easy_setopt(curl, CURLOPT_UPLOAD, 1L);
+
+    /* Send the message */
+    res = curl_easy_perform(curl);
+
+    /* Check for errors */
+    if(res != CURLE_OK)
+      fprintf(stderr, "curl_easy_perform() failed: %s\n",
+              curl_easy_strerror(res));
+
+    /* Free the list of recipients */
+    curl_slist_free_all(recipients);
+
+    /* curl won't send the QUIT command until you call cleanup, so you should
+     * be able to re-use this connection for additional messages (setting
+     * CURLOPT_MAIL_FROM and CURLOPT_MAIL_RCPT as required, and calling
+     * curl_easy_perform() again. It may not be a good idea to keep the
+     * connection open for a very long time though (more than a few minutes
+     * may result in the server timing out the connection), and you do want to
+     * clean up in the end.
+     */
+    curl_easy_cleanup(curl);
+  }
+
+  return (int)res;
+}
diff --git a/docs/libcurl/Makefile.inc b/docs/libcurl/Makefile.inc
index b4ff45d..bd88c9c 100644
--- a/docs/libcurl/Makefile.inc
+++ b/docs/libcurl/Makefile.inc
@@ -46,6 +46,7 @@
  curl_multi_info_read.3 \
  curl_multi_init.3 \
  curl_multi_perform.3 \
+ curl_multi_poll.3 \
  curl_multi_remove_handle.3 \
  curl_multi_setopt.3 \
  curl_multi_socket.3 \
diff --git a/docs/libcurl/curl_easy_cleanup.3 b/docs/libcurl/curl_easy_cleanup.3
index 7368eb7..f104f18 100644
--- a/docs/libcurl/curl_easy_cleanup.3
+++ b/docs/libcurl/curl_easy_cleanup.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH curl_easy_cleanup 3 "August 09, 2018" "libcurl 7.65.3" "libcurl Manual"
+.TH curl_easy_cleanup 3 "August 09, 2018" "libcurl 7.66.0" "libcurl Manual"
 
 .SH NAME
 curl_easy_cleanup - End a libcurl easy handle
diff --git a/docs/libcurl/curl_easy_duphandle.3 b/docs/libcurl/curl_easy_duphandle.3
index bc1b1f3..b4b255f 100644
--- a/docs/libcurl/curl_easy_duphandle.3
+++ b/docs/libcurl/curl_easy_duphandle.3
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH curl_easy_duphandle 3 "March 01, 2019" "libcurl 7.65.3" "libcurl Manual"
+.TH curl_easy_duphandle 3 "March 01, 2019" "libcurl 7.66.0" "libcurl Manual"
 
 .SH NAME
 curl_easy_duphandle - Clone a libcurl session handle
diff --git a/docs/libcurl/curl_easy_escape.3 b/docs/libcurl/curl_easy_escape.3
index de0255e..84a3f04 100644
--- a/docs/libcurl/curl_easy_escape.3
+++ b/docs/libcurl/curl_easy_escape.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH curl_easy_escape 3 "August 12, 2017" "libcurl 7.65.3" "libcurl Manual"
+.TH curl_easy_escape 3 "August 12, 2017" "libcurl 7.66.0" "libcurl Manual"
 
 .SH NAME
 curl_easy_escape - URL encodes the given string
diff --git a/docs/libcurl/curl_easy_getinfo.3 b/docs/libcurl/curl_easy_getinfo.3
index 2729283..2308ac6 100644
--- a/docs/libcurl/curl_easy_getinfo.3
+++ b/docs/libcurl/curl_easy_getinfo.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH curl_easy_getinfo 3 "April 11, 2019" "libcurl 7.65.3" "libcurl Manual"
+.TH curl_easy_getinfo 3 "August 06, 2019" "libcurl 7.66.0" "libcurl Manual"
 
 .SH NAME
 curl_easy_getinfo - extract information from a curl handle
@@ -158,6 +158,9 @@
 .IP CURLINFO_CONTENT_TYPE
 Content type from the Content-Type header.
 See \fICURLINFO_CONTENT_TYPE(3)\fP
+.IP CURLINFO_RETRY_AFTER
+The value from the from the Retry-After header.
+See \fICURLINFO_RETRY_AFTER(3)\fP
 .IP CURLINFO_PRIVATE
 User's private data pointer.
 See \fICURLINFO_PRIVATE(3)\fP
diff --git a/docs/libcurl/curl_easy_init.3 b/docs/libcurl/curl_easy_init.3
index 78cb76a..7cf62d5 100644
--- a/docs/libcurl/curl_easy_init.3
+++ b/docs/libcurl/curl_easy_init.3
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH curl_easy_init 3 "February 03, 2016" "libcurl 7.65.3" "libcurl Manual"
+.TH curl_easy_init 3 "February 03, 2016" "libcurl 7.66.0" "libcurl Manual"
 
 .SH NAME
 curl_easy_init - Start a libcurl easy session
diff --git a/docs/libcurl/curl_easy_pause.3 b/docs/libcurl/curl_easy_pause.3
index 8d8930c..9eaf778 100644
--- a/docs/libcurl/curl_easy_pause.3
+++ b/docs/libcurl/curl_easy_pause.3
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH curl_easy_pause 3 "May 01, 2016" "libcurl 7.65.3" "libcurl Manual"
+.TH curl_easy_pause 3 "May 01, 2016" "libcurl 7.66.0" "libcurl Manual"
 
 .SH NAME
 curl_easy_pause - pause and unpause a connection
diff --git a/docs/libcurl/curl_easy_perform.3 b/docs/libcurl/curl_easy_perform.3
index 40a4022..67e6226 100644
--- a/docs/libcurl/curl_easy_perform.3
+++ b/docs/libcurl/curl_easy_perform.3
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH curl_easy_perform 3 "September 23, 2018" "libcurl 7.65.3" "libcurl Manual"
+.TH curl_easy_perform 3 "September 23, 2018" "libcurl 7.66.0" "libcurl Manual"
 
 .SH NAME
 curl_easy_perform - perform a blocking file transfer
diff --git a/docs/libcurl/curl_easy_recv.3 b/docs/libcurl/curl_easy_recv.3
index 78e6233..e3b098e 100644
--- a/docs/libcurl/curl_easy_recv.3
+++ b/docs/libcurl/curl_easy_recv.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH curl_easy_recv 3 "December 18, 2016" "libcurl 7.65.3" "libcurl Manual"
+.TH curl_easy_recv 3 "December 18, 2016" "libcurl 7.66.0" "libcurl Manual"
 
 .SH NAME
 curl_easy_recv - receives raw data on an "easy" connection
diff --git a/docs/libcurl/curl_easy_reset.3 b/docs/libcurl/curl_easy_reset.3
index 0f14845..b4c8af2 100644
--- a/docs/libcurl/curl_easy_reset.3
+++ b/docs/libcurl/curl_easy_reset.3
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH curl_easy_reset 3 "September 23, 2018" "libcurl 7.65.3" "libcurl Manual"
+.TH curl_easy_reset 3 "September 23, 2018" "libcurl 7.66.0" "libcurl Manual"
 
 .SH NAME
 curl_easy_reset - reset all options of a libcurl session handle
diff --git a/docs/libcurl/curl_easy_send.3 b/docs/libcurl/curl_easy_send.3
index acf70d5..cd21e66 100644
--- a/docs/libcurl/curl_easy_send.3
+++ b/docs/libcurl/curl_easy_send.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH curl_easy_send 3 "December 18, 2016" "libcurl 7.65.3" "libcurl Manual"
+.TH curl_easy_send 3 "December 18, 2016" "libcurl 7.66.0" "libcurl Manual"
 
 .SH NAME
 curl_easy_send - sends raw data over an "easy" connection
diff --git a/docs/libcurl/curl_easy_setopt.3 b/docs/libcurl/curl_easy_setopt.3
index ec87102..ed0cfd0 100644
--- a/docs/libcurl/curl_easy_setopt.3
+++ b/docs/libcurl/curl_easy_setopt.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH curl_easy_setopt 3 "May 24, 2019" "libcurl 7.65.3" "libcurl Manual"
+.TH curl_easy_setopt 3 "August 09, 2019" "libcurl 7.66.0" "libcurl Manual"
 
 .SH NAME
 curl_easy_setopt \- set options for a curl easy handle
@@ -257,6 +257,8 @@
 Proxy TLS authentication methods. See \fICURLOPT_PROXY_TLSAUTH_TYPE(3)\fP
 .IP CURLOPT_PROXYAUTH
 HTTP proxy authentication methods. See \fICURLOPT_PROXYAUTH(3)\fP
+.IP CURLOPT_SASL_AUTHZID
+SASL authorisation identity (identity to act as). See \fICURLOPT_SASL_AUTHZID(3)\fP
 .IP CURLOPT_SASL_IR
 Enable SASL initial response. See \fICURLOPT_SASL_IR(3)\fP
 .IP CURLOPT_XOAUTH2_BEARER
diff --git a/docs/libcurl/curl_easy_strerror.3 b/docs/libcurl/curl_easy_strerror.3
index a765639..2f2c16d 100644
--- a/docs/libcurl/curl_easy_strerror.3
+++ b/docs/libcurl/curl_easy_strerror.3
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH curl_easy_strerror 3 "February 03, 2016" "libcurl 7.65.3" "libcurl Manual"
+.TH curl_easy_strerror 3 "February 03, 2016" "libcurl 7.66.0" "libcurl Manual"
 
 .SH NAME
 curl_easy_strerror - return string describing error code
diff --git a/docs/libcurl/curl_easy_unescape.3 b/docs/libcurl/curl_easy_unescape.3
index 01d5b78..2313fbc 100644
--- a/docs/libcurl/curl_easy_unescape.3
+++ b/docs/libcurl/curl_easy_unescape.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH curl_easy_unescape 3 "October 04, 2016" "libcurl 7.65.3" "libcurl Manual"
+.TH curl_easy_unescape 3 "October 04, 2016" "libcurl 7.66.0" "libcurl Manual"
 
 .SH NAME
 curl_easy_unescape - URL decodes the given string
diff --git a/docs/libcurl/curl_escape.3 b/docs/libcurl/curl_escape.3
index 8edbc4b..16408a7 100644
--- a/docs/libcurl/curl_escape.3
+++ b/docs/libcurl/curl_escape.3
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH curl_escape 3 "February 03, 2016" "libcurl 7.65.3" "libcurl Manual"
+.TH curl_escape 3 "February 03, 2016" "libcurl 7.66.0" "libcurl Manual"
 
 .SH NAME
 curl_escape - URL encodes the given string
diff --git a/docs/libcurl/curl_formadd.3 b/docs/libcurl/curl_formadd.3
index 52cc980..99c0dd2 100644
--- a/docs/libcurl/curl_formadd.3
+++ b/docs/libcurl/curl_formadd.3
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH curl_formadd 3 "December 11, 2018" "libcurl 7.65.3" "libcurl Manual"
+.TH curl_formadd 3 "December 11, 2018" "libcurl 7.66.0" "libcurl Manual"
 
 .SH NAME
 curl_formadd - add a section to a multipart/formdata HTTP POST
diff --git a/docs/libcurl/curl_formfree.3 b/docs/libcurl/curl_formfree.3
index 8465c96..0ec6be0 100644
--- a/docs/libcurl/curl_formfree.3
+++ b/docs/libcurl/curl_formfree.3
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH curl_formfree 3 "August 09, 2018" "libcurl 7.65.3" "libcurl Manual"
+.TH curl_formfree 3 "August 09, 2018" "libcurl 7.66.0" "libcurl Manual"
 
 .SH NAME
 curl_formfree - free a previously build multipart/formdata HTTP POST chain
diff --git a/docs/libcurl/curl_formget.3 b/docs/libcurl/curl_formget.3
index 011de76..1cda1f4 100644
--- a/docs/libcurl/curl_formget.3
+++ b/docs/libcurl/curl_formget.3
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH curl_formget 3 "September 02, 2017" "libcurl 7.65.3" "libcurl Manual"
+.TH curl_formget 3 "September 02, 2017" "libcurl 7.66.0" "libcurl Manual"
 
 .SH NAME
 curl_formget - serialize a previously built multipart/formdata HTTP POST chain
diff --git a/docs/libcurl/curl_free.3 b/docs/libcurl/curl_free.3
index f26604f..3d8175e 100644
--- a/docs/libcurl/curl_free.3
+++ b/docs/libcurl/curl_free.3
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH curl_free 3 "August 09, 2018" "libcurl 7.65.3" "libcurl Manual"
+.TH curl_free 3 "August 09, 2018" "libcurl 7.66.0" "libcurl Manual"
 
 .SH NAME
 curl_free - reclaim memory that has been obtained through a libcurl call
diff --git a/docs/libcurl/curl_getdate.3 b/docs/libcurl/curl_getdate.3
index e7aa882..48aa3d1 100644
--- a/docs/libcurl/curl_getdate.3
+++ b/docs/libcurl/curl_getdate.3
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH curl_getdate 3 "January 18, 2018" "libcurl 7.65.3" "libcurl Manual"
+.TH curl_getdate 3 "January 18, 2018" "libcurl 7.66.0" "libcurl Manual"
 
 .SH NAME
 curl_getdate - Convert a date string to number of seconds
diff --git a/docs/libcurl/curl_getenv.3 b/docs/libcurl/curl_getenv.3
index 2f74490..2425a44 100644
--- a/docs/libcurl/curl_getenv.3
+++ b/docs/libcurl/curl_getenv.3
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH curl_getenv 3 "February 03, 2016" "libcurl 7.65.3" "libcurl Manual"
+.TH curl_getenv 3 "February 03, 2016" "libcurl 7.66.0" "libcurl Manual"
 
 .SH NAME
 curl_getenv - return value for environment name
diff --git a/docs/libcurl/curl_global_cleanup.3 b/docs/libcurl/curl_global_cleanup.3
index e82559a..13fecd3 100644
--- a/docs/libcurl/curl_global_cleanup.3
+++ b/docs/libcurl/curl_global_cleanup.3
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH curl_global_cleanup 3 "September 20, 2016" "libcurl 7.65.3" "libcurl Manual"
+.TH curl_global_cleanup 3 "September 20, 2016" "libcurl 7.66.0" "libcurl Manual"
 
 .SH NAME
 curl_global_cleanup - global libcurl cleanup
diff --git a/docs/libcurl/curl_global_init.3 b/docs/libcurl/curl_global_init.3
index 879e508..987cb11 100644
--- a/docs/libcurl/curl_global_init.3
+++ b/docs/libcurl/curl_global_init.3
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH curl_global_init 3 "April 17, 2018" "libcurl 7.65.3" "libcurl Manual"
+.TH curl_global_init 3 "April 17, 2018" "libcurl 7.66.0" "libcurl Manual"
 
 .SH NAME
 curl_global_init - Global libcurl initialisation
diff --git a/docs/libcurl/curl_global_init_mem.3 b/docs/libcurl/curl_global_init_mem.3
index 1f88142..fcfd724 100644
--- a/docs/libcurl/curl_global_init_mem.3
+++ b/docs/libcurl/curl_global_init_mem.3
@@ -5,7 +5,7 @@
 .\" *                            | (__| |_| |  _ <| |___
 .\" *                             \___|\___/|_| \_\_____|
 .\" *
-.\" * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH curl_global_init_mem 3 "September 23, 2018" "libcurl 7.65.3" "libcurl Manual"
+.TH curl_global_init_mem 3 "August 11, 2019" "libcurl 7.66.0" "libcurl Manual"
 
 .SH NAME
 curl_global_init_mem - Global libcurl initialisation with memory callbacks
@@ -60,6 +60,8 @@
 .SH "CAUTION"
 Manipulating these gives considerable powers to the application to severely
 screw things up for libcurl. Take care!
+.SH AVAILABILITY
+Added in 7.12.0
 .SH "SEE ALSO"
 .BR curl_global_init "(3), "
 .BR curl_global_cleanup "(3), "
diff --git a/docs/libcurl/curl_global_sslset.3 b/docs/libcurl/curl_global_sslset.3
index e7f9d89..cdf8c43 100644
--- a/docs/libcurl/curl_global_sslset.3
+++ b/docs/libcurl/curl_global_sslset.3
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH curl_global_sslset 3 "October 30, 2018" "libcurl 7.65.3" "libcurl Manual"
+.TH curl_global_sslset 3 "October 30, 2018" "libcurl 7.66.0" "libcurl Manual"
 
 .SH NAME
 curl_global_sslset - Select SSL backend to use with libcurl
diff --git a/docs/libcurl/curl_mime_addpart.3 b/docs/libcurl/curl_mime_addpart.3
index d40dcf0..9f21da3 100644
--- a/docs/libcurl/curl_mime_addpart.3
+++ b/docs/libcurl/curl_mime_addpart.3
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH curl_mime_addpart 3 "September 22, 2017" "libcurl 7.65.3" "libcurl Manual"
+.TH curl_mime_addpart 3 "September 22, 2017" "libcurl 7.66.0" "libcurl Manual"
 
 .SH NAME
 curl_mime_addpart - append a new empty part to a mime structure
diff --git a/docs/libcurl/curl_mime_data.3 b/docs/libcurl/curl_mime_data.3
index 7700984..b9a04b2 100644
--- a/docs/libcurl/curl_mime_data.3
+++ b/docs/libcurl/curl_mime_data.3
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH curl_mime_data 3 "September 22, 2017" "libcurl 7.65.3" "libcurl Manual"
+.TH curl_mime_data 3 "September 22, 2017" "libcurl 7.66.0" "libcurl Manual"
 
 .SH NAME
 curl_mime_data - set a mime part's body data from memory
diff --git a/docs/libcurl/curl_mime_data_cb.3 b/docs/libcurl/curl_mime_data_cb.3
index fb6bfe7..71f9b3c 100644
--- a/docs/libcurl/curl_mime_data_cb.3
+++ b/docs/libcurl/curl_mime_data_cb.3
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH curl_mime_data_cb 3 "April 17, 2018" "libcurl 7.65.3" "libcurl Manual"
+.TH curl_mime_data_cb 3 "April 17, 2018" "libcurl 7.66.0" "libcurl Manual"
 
 .SH NAME
 curl_mime_data_cb - set a callback-based data source for a mime part's body
diff --git a/docs/libcurl/curl_mime_encoder.3 b/docs/libcurl/curl_mime_encoder.3
index eabaddf..c949219 100644
--- a/docs/libcurl/curl_mime_encoder.3
+++ b/docs/libcurl/curl_mime_encoder.3
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH curl_mime_encoder 3 "September 05, 2017" "libcurl 7.65.3" "libcurl Manual"
+.TH curl_mime_encoder 3 "September 05, 2017" "libcurl 7.66.0" "libcurl Manual"
 
 .SH NAME
 curl_mime_encoder - set a mime part's encoder and content transfer encoding
diff --git a/docs/libcurl/curl_mime_filedata.3 b/docs/libcurl/curl_mime_filedata.3
index 7fa18e0..34e9439 100644
--- a/docs/libcurl/curl_mime_filedata.3
+++ b/docs/libcurl/curl_mime_filedata.3
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH curl_mime_filedata 3 "April 17, 2018" "libcurl 7.65.3" "libcurl Manual"
+.TH curl_mime_filedata 3 "April 17, 2018" "libcurl 7.66.0" "libcurl Manual"
 
 .SH NAME
 curl_mime_filedata - set a mime part's body data from a file contents
diff --git a/docs/libcurl/curl_mime_filename.3 b/docs/libcurl/curl_mime_filename.3
index 8b48bb6..3c24716 100644
--- a/docs/libcurl/curl_mime_filename.3
+++ b/docs/libcurl/curl_mime_filename.3
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH curl_mime_filename 3 "September 22, 2017" "libcurl 7.65.3" "libcurl Manual"
+.TH curl_mime_filename 3 "September 22, 2017" "libcurl 7.66.0" "libcurl Manual"
 
 .SH NAME
 curl_mime_filename - set a mime part's remote file name
diff --git a/docs/libcurl/curl_mime_free.3 b/docs/libcurl/curl_mime_free.3
index bfae0c2..7f606fc 100644
--- a/docs/libcurl/curl_mime_free.3
+++ b/docs/libcurl/curl_mime_free.3
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH curl_mime_free 3 "August 09, 2018" "libcurl 7.65.3" "libcurl Manual"
+.TH curl_mime_free 3 "August 09, 2018" "libcurl 7.66.0" "libcurl Manual"
 
 .SH NAME
 curl_mime_free - free a previously built mime structure
diff --git a/docs/libcurl/curl_mime_headers.3 b/docs/libcurl/curl_mime_headers.3
index cba0472..e8554bf 100644
--- a/docs/libcurl/curl_mime_headers.3
+++ b/docs/libcurl/curl_mime_headers.3
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH curl_mime_headers 3 "September 22, 2017" "libcurl 7.65.3" "libcurl Manual"
+.TH curl_mime_headers 3 "September 22, 2017" "libcurl 7.66.0" "libcurl Manual"
 
 .SH NAME
 curl_mime_headers - set a mime part's custom headers
diff --git a/docs/libcurl/curl_mime_init.3 b/docs/libcurl/curl_mime_init.3
index f9c3480..cd830e2 100644
--- a/docs/libcurl/curl_mime_init.3
+++ b/docs/libcurl/curl_mime_init.3
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH curl_mime_init 3 "September 22, 2017" "libcurl 7.65.3" "libcurl Manual"
+.TH curl_mime_init 3 "September 22, 2017" "libcurl 7.66.0" "libcurl Manual"
 
 .SH NAME
 curl_mime_init - create a mime handle
diff --git a/docs/libcurl/curl_mime_name.3 b/docs/libcurl/curl_mime_name.3
index b5746d6..0ea661a 100644
--- a/docs/libcurl/curl_mime_name.3
+++ b/docs/libcurl/curl_mime_name.3
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH curl_mime_name 3 "September 22, 2017" "libcurl 7.65.3" "libcurl Manual"
+.TH curl_mime_name 3 "September 22, 2017" "libcurl 7.66.0" "libcurl Manual"
 
 .SH NAME
 curl_mime_name - set a mime part's name
diff --git a/docs/libcurl/curl_mime_subparts.3 b/docs/libcurl/curl_mime_subparts.3
index e5b947c..0edcb47 100644
--- a/docs/libcurl/curl_mime_subparts.3
+++ b/docs/libcurl/curl_mime_subparts.3
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH curl_mime_subparts 3 "September 05, 2017" "libcurl 7.65.3" "libcurl Manual"
+.TH curl_mime_subparts 3 "September 05, 2017" "libcurl 7.66.0" "libcurl Manual"
 
 .SH NAME
 curl_mime_subparts - set subparts of a multipart mime part
diff --git a/docs/libcurl/curl_mime_type.3 b/docs/libcurl/curl_mime_type.3
index dd7553c..3f3925a 100644
--- a/docs/libcurl/curl_mime_type.3
+++ b/docs/libcurl/curl_mime_type.3
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH curl_mime_type 3 "April 17, 2018" "libcurl 7.65.3" "libcurl Manual"
+.TH curl_mime_type 3 "April 17, 2018" "libcurl 7.66.0" "libcurl Manual"
 
 .SH NAME
 curl_mime_type - set a mime part's content type
diff --git a/docs/libcurl/curl_mprintf.3 b/docs/libcurl/curl_mprintf.3
index cda718c..04562a5 100644
--- a/docs/libcurl/curl_mprintf.3
+++ b/docs/libcurl/curl_mprintf.3
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH curl_printf 3 "April 01, 2016" "libcurl 7.65.3" "libcurl Manual"
+.TH curl_printf 3 "April 01, 2016" "libcurl 7.66.0" "libcurl Manual"
 
 .SH NAME
 curl_maprintf, curl_mfprintf, curl_mprintf, curl_msnprintf, curl_msprintf
diff --git a/docs/libcurl/curl_multi_add_handle.3 b/docs/libcurl/curl_multi_add_handle.3
index 2ad36a4..694e775 100644
--- a/docs/libcurl/curl_multi_add_handle.3
+++ b/docs/libcurl/curl_multi_add_handle.3
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH curl_multi_add_handle 3 "June 30, 2018" "libcurl 7.65.3" "libcurl Manual"
+.TH curl_multi_add_handle 3 "June 30, 2018" "libcurl 7.66.0" "libcurl Manual"
 
 .SH NAME
 curl_multi_add_handle - add an easy handle to a multi session
diff --git a/docs/libcurl/curl_multi_assign.3 b/docs/libcurl/curl_multi_assign.3
index c2c78cd..8a5327e 100644
--- a/docs/libcurl/curl_multi_assign.3
+++ b/docs/libcurl/curl_multi_assign.3
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH curl_multi_assign 3 "February 03, 2016" "libcurl 7.65.3" "libcurl Manual"
+.TH curl_multi_assign 3 "February 03, 2016" "libcurl 7.66.0" "libcurl Manual"
 
 .SH NAME
 curl_multi_assign \- set data to associate with an internal socket
diff --git a/docs/libcurl/curl_multi_cleanup.3 b/docs/libcurl/curl_multi_cleanup.3
index bab7a45..385a41b 100644
--- a/docs/libcurl/curl_multi_cleanup.3
+++ b/docs/libcurl/curl_multi_cleanup.3
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH curl_multi_cleanup 3 "August 09, 2018" "libcurl 7.65.3" "libcurl Manual"
+.TH curl_multi_cleanup 3 "August 09, 2018" "libcurl 7.66.0" "libcurl Manual"
 
 .SH NAME
 curl_multi_cleanup - close down a multi session
diff --git a/docs/libcurl/curl_multi_fdset.3 b/docs/libcurl/curl_multi_fdset.3
index 74d7c55..b649f59 100644
--- a/docs/libcurl/curl_multi_fdset.3
+++ b/docs/libcurl/curl_multi_fdset.3
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH curl_multi_fdset 3 "November 09, 2017" "libcurl 7.65.3" "libcurl Manual"
+.TH curl_multi_fdset 3 "November 09, 2017" "libcurl 7.66.0" "libcurl Manual"
 
 .SH NAME
 curl_multi_fdset - extracts file descriptor information from a multi handle
diff --git a/docs/libcurl/curl_multi_info_read.3 b/docs/libcurl/curl_multi_info_read.3
index 180da19..89633af 100644
--- a/docs/libcurl/curl_multi_info_read.3
+++ b/docs/libcurl/curl_multi_info_read.3
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH curl_multi_info_read 3 "February 03, 2016" "libcurl 7.65.3" "libcurl Manual"
+.TH curl_multi_info_read 3 "February 03, 2016" "libcurl 7.66.0" "libcurl Manual"
 
 .SH NAME
 curl_multi_info_read - read multi stack informationals
diff --git a/docs/libcurl/curl_multi_init.3 b/docs/libcurl/curl_multi_init.3
index 5435c9e..eea3015 100644
--- a/docs/libcurl/curl_multi_init.3
+++ b/docs/libcurl/curl_multi_init.3
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH curl_multi_init 3 "September 23, 2018" "libcurl 7.65.3" "libcurl Manual"
+.TH curl_multi_init 3 "September 23, 2018" "libcurl 7.66.0" "libcurl Manual"
 
 .SH NAME
 curl_multi_init - create a multi handle
diff --git a/docs/libcurl/curl_multi_perform.3 b/docs/libcurl/curl_multi_perform.3
index 017cc75..1e5892e 100644
--- a/docs/libcurl/curl_multi_perform.3
+++ b/docs/libcurl/curl_multi_perform.3
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH curl_multi_perform 3 "February 03, 2016" "libcurl 7.65.3" "libcurl Manual"
+.TH curl_multi_perform 3 "February 03, 2016" "libcurl 7.66.0" "libcurl Manual"
 
 .SH NAME
 curl_multi_perform - reads/writes available data from each easy handle
diff --git a/docs/libcurl/curl_multi_poll.3 b/docs/libcurl/curl_multi_poll.3
new file mode 100644
index 0000000..ed6f967
--- /dev/null
+++ b/docs/libcurl/curl_multi_poll.3
@@ -0,0 +1,111 @@
+.\" **************************************************************************
+.\" *                                  _   _ ____  _
+.\" *  Project                     ___| | | |  _ \| |
+.\" *                             / __| | | | |_) | |
+.\" *                            | (__| |_| |  _ <| |___
+.\" *                             \___|\___/|_| \_\_____|
+.\" *
+.\" * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" *
+.\" * This software is licensed as described in the file COPYING, which
+.\" * you should have received as part of this distribution. The terms
+.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" *
+.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+.\" * copies of the Software, and permit persons to whom the Software is
+.\" * furnished to do so, under the terms of the COPYING file.
+.\" *
+.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+.\" * KIND, either express or implied.
+.\" *
+.\" **************************************************************************
+.TH curl_multi_poll 3 "July 29, 2019" "libcurl 7.66.0" "libcurl Manual"
+
+.SH NAME
+curl_multi_poll - polls on all easy handles in a multi handle
+.SH SYNOPSIS
+.nf
+#include <curl/curl.h>
+
+CURLMcode curl_multi_poll(CURLM *multi_handle,
+                          struct curl_waitfd extra_fds[],
+                          unsigned int extra_nfds,
+                          int timeout_ms,
+                          int *numfds);
+.ad
+.SH DESCRIPTION
+\fIcurl_multi_poll(3)\fP polls all file descriptors used by the curl easy
+handles contained in the given multi handle set.  It will block until activity
+is detected on at least one of the handles or \fItimeout_ms\fP has passed.
+Alternatively, if the multi handle has a pending internal timeout that has a
+shorter expiry time than \fItimeout_ms\fP, that shorter time will be used
+instead to make sure timeout accuracy is reasonably kept.
+
+The calling application may pass additional curl_waitfd structures which are
+similar to \fIpoll(2)\fP's pollfd structure to be waited on in the same call.
+
+On completion, if \fInumfds\fP is non-NULL, it will be populated with the
+total number of file descriptors on which interesting events occurred. This
+number can include both libcurl internal descriptors as well as descriptors
+provided in \fIextra_fds\fP.
+
+If no extra file descriptors are provided and libcurl has no file descriptor
+to offer to wait for, this function will instead wait during \fItimeout_ms\fP
+milliseconds (or shorter if an internal timer indicates so). This is the
+detail that makes this function different than \fIcurl_multi_wait(3)\fP.
+
+This function is encouraged to be used instead of select(3) when using the
+multi interface to allow applications to easier circumvent the common problem
+with 1024 maximum file descriptors.
+.SH curl_waitfd
+.nf
+struct curl_waitfd {
+  curl_socket_t fd;
+  short events;
+  short revents;
+};
+.fi
+.IP CURL_WAIT_POLLIN
+Bit flag to curl_waitfd.events indicating the socket should poll on read
+events such as new data received.
+.IP CURL_WAIT_POLLPRI
+Bit flag to curl_waitfd.events indicating the socket should poll on high
+priority read events such as out of band data.
+.IP CURL_WAIT_POLLOUT
+Bit flag to curl_waitfd.events indicating the socket should poll on write
+events such as the socket being clear to write without blocking.
+.SH EXAMPLE
+.nf
+CURL *easy_handle;
+CURLM *multi_handle;
+
+/* add the individual easy handle */
+curl_multi_add_handle(multi_handle, easy_handle);
+
+do {
+  CURLMcode mc;
+  int numfds;
+
+  mc = curl_multi_perform(multi_handle, &still_running);
+
+  if(mc == CURLM_OK) {
+    /* wait for activity or timeout */
+    mc = curl_multi_poll(multi_handle, NULL, 0, 1000, &numfds);
+  }
+
+  if(mc != CURLM_OK) {
+    fprintf(stderr, "curl_multi failed, code %d.\\n", mc);
+    break;
+  }
+
+} while(still_running);
+
+curl_multi_remove_handle(multi_handle, easy_handle);
+.fi
+.SH RETURN VALUE
+CURLMcode type, general libcurl multi interface error code. See
+\fIlibcurl-errors(3)\fP
+.SH AVAILABILITY
+This function was added in libcurl 7.66.0.
+.SH "SEE ALSO"
+.BR curl_multi_fdset "(3), " curl_multi_perform "(3), " curl_multi_wait "(3)"
diff --git a/docs/libcurl/curl_multi_remove_handle.3 b/docs/libcurl/curl_multi_remove_handle.3
index eb366d1..2cc2ef0 100644
--- a/docs/libcurl/curl_multi_remove_handle.3
+++ b/docs/libcurl/curl_multi_remove_handle.3
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH curl_multi_remove_handle 3 "February 19, 2019" "libcurl 7.65.3" "libcurl Manual"
+.TH curl_multi_remove_handle 3 "February 19, 2019" "libcurl 7.66.0" "libcurl Manual"
 
 .SH NAME
 curl_multi_remove_handle - remove an easy handle from a multi session
diff --git a/docs/libcurl/curl_multi_setopt.3 b/docs/libcurl/curl_multi_setopt.3
index 607bc33..ae9d89c 100644
--- a/docs/libcurl/curl_multi_setopt.3
+++ b/docs/libcurl/curl_multi_setopt.3
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH curl_multi_setopt 3 "February 03, 2016" "libcurl 7.65.3" "libcurl Manual"
+.TH curl_multi_setopt 3 "February 03, 2016" "libcurl 7.66.0" "libcurl Manual"
 
 .SH NAME
 curl_multi_setopt \- set options for a curl multi handle
diff --git a/docs/libcurl/curl_multi_socket.3 b/docs/libcurl/curl_multi_socket.3
index 12e66d4..5cb5be6 100644
--- a/docs/libcurl/curl_multi_socket.3
+++ b/docs/libcurl/curl_multi_socket.3
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH curl_multi_socket 3 "June 30, 2018" "libcurl 7.65.3" "libcurl Manual"
+.TH curl_multi_socket 3 "June 30, 2018" "libcurl 7.66.0" "libcurl Manual"
 
 .SH NAME
 curl_multi_socket \- reads/writes available data
diff --git a/docs/libcurl/curl_multi_socket_action.3 b/docs/libcurl/curl_multi_socket_action.3
index e88f8e8..5f62aec 100644
--- a/docs/libcurl/curl_multi_socket_action.3
+++ b/docs/libcurl/curl_multi_socket_action.3
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH curl_multi_socket_action 3 "June 10, 2019" "libcurl 7.65.3" "libcurl Manual"
+.TH curl_multi_socket_action 3 "June 10, 2019" "libcurl 7.66.0" "libcurl Manual"
 
 .SH NAME
 curl_multi_socket_action \- reads/writes available data given an action
diff --git a/docs/libcurl/curl_multi_strerror.3 b/docs/libcurl/curl_multi_strerror.3
index b90ec1e..cbd6d85 100644
--- a/docs/libcurl/curl_multi_strerror.3
+++ b/docs/libcurl/curl_multi_strerror.3
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH curl_multi_strerror 3 "February 03, 2016" "libcurl 7.65.3" "libcurl Manual"
+.TH curl_multi_strerror 3 "February 03, 2016" "libcurl 7.66.0" "libcurl Manual"
 
 .SH NAME
 curl_multi_strerror - return string describing error code
diff --git a/docs/libcurl/curl_multi_timeout.3 b/docs/libcurl/curl_multi_timeout.3
index 312d371..f560c22 100644
--- a/docs/libcurl/curl_multi_timeout.3
+++ b/docs/libcurl/curl_multi_timeout.3
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH curl_multi_timeout 3 "September 23, 2018" "libcurl 7.65.3" "libcurl Manual"
+.TH curl_multi_timeout 3 "September 23, 2018" "libcurl 7.66.0" "libcurl Manual"
 
 .SH NAME
 curl_multi_timeout \- how long to wait for action before proceeding
diff --git a/docs/libcurl/curl_multi_wait.3 b/docs/libcurl/curl_multi_wait.3
index a7f4efd..856e9bb 100644
--- a/docs/libcurl/curl_multi_wait.3
+++ b/docs/libcurl/curl_multi_wait.3
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH curl_multi_wait 3 "June 26, 2019" "libcurl 7.65.3" "libcurl Manual"
+.TH curl_multi_wait 3 "June 26, 2019" "libcurl 7.66.0" "libcurl Manual"
 
 .SH NAME
 curl_multi_wait - polls on all easy handles in a multi handle
diff --git a/docs/libcurl/curl_share_cleanup.3 b/docs/libcurl/curl_share_cleanup.3
index 8e72cff..316fc81 100644
--- a/docs/libcurl/curl_share_cleanup.3
+++ b/docs/libcurl/curl_share_cleanup.3
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH curl_share_cleanup 3 "August 09, 2018" "libcurl 7.65.3" "libcurl Manual"
+.TH curl_share_cleanup 3 "August 09, 2018" "libcurl 7.66.0" "libcurl Manual"
 
 .SH NAME
 curl_share_cleanup - Clean up a shared object
diff --git a/docs/libcurl/curl_share_init.3 b/docs/libcurl/curl_share_init.3
index 85526df..a78e2a6 100644
--- a/docs/libcurl/curl_share_init.3
+++ b/docs/libcurl/curl_share_init.3
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH curl_share_init 3 "September 23, 2018" "libcurl 7.65.3" "libcurl Manual"
+.TH curl_share_init 3 "September 23, 2018" "libcurl 7.66.0" "libcurl Manual"
 
 .SH NAME
 curl_share_init - Create a shared object
diff --git a/docs/libcurl/curl_share_setopt.3 b/docs/libcurl/curl_share_setopt.3
index cd50d69..35d16f8 100644
--- a/docs/libcurl/curl_share_setopt.3
+++ b/docs/libcurl/curl_share_setopt.3
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH curl_share_setopt 3 "June 04, 2019" "libcurl 7.65.3" "libcurl Manual"
+.TH curl_share_setopt 3 "June 04, 2019" "libcurl 7.66.0" "libcurl Manual"
 
 .SH NAME
 curl_share_setopt - Set options for a shared object
diff --git a/docs/libcurl/curl_share_strerror.3 b/docs/libcurl/curl_share_strerror.3
index 6fc0141..f2bd9f9 100644
--- a/docs/libcurl/curl_share_strerror.3
+++ b/docs/libcurl/curl_share_strerror.3
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH curl_share_strerror 3 "February 03, 2016" "libcurl 7.65.3" "libcurl Manual"
+.TH curl_share_strerror 3 "February 03, 2016" "libcurl 7.66.0" "libcurl Manual"
 
 .SH NAME
 curl_share_strerror - return string describing error code
diff --git a/docs/libcurl/curl_slist_append.3 b/docs/libcurl/curl_slist_append.3
index 11c1e16..32be30f 100644
--- a/docs/libcurl/curl_slist_append.3
+++ b/docs/libcurl/curl_slist_append.3
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH curl_slist_append 3 "January 02, 2019" "libcurl 7.65.3" "libcurl Manual"
+.TH curl_slist_append 3 "January 02, 2019" "libcurl 7.66.0" "libcurl Manual"
 
 .SH NAME
 curl_slist_append - add a string to an slist
diff --git a/docs/libcurl/curl_slist_free_all.3 b/docs/libcurl/curl_slist_free_all.3
index cf1aee6..e8fe9fe 100644
--- a/docs/libcurl/curl_slist_free_all.3
+++ b/docs/libcurl/curl_slist_free_all.3
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH curl_slist_free_all 3 "September 23, 2018" "libcurl 7.65.3" "libcurl Manual"
+.TH curl_slist_free_all 3 "September 23, 2018" "libcurl 7.66.0" "libcurl Manual"
 
 .SH NAME
 curl_slist_free_all - free an entire curl_slist list
diff --git a/docs/libcurl/curl_strequal.3 b/docs/libcurl/curl_strequal.3
index 1e43e0e..0dbbe33 100644
--- a/docs/libcurl/curl_strequal.3
+++ b/docs/libcurl/curl_strequal.3
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH curl_strequal 3 "June 29, 2017" "libcurl 7.65.3" "libcurl Manual"
+.TH curl_strequal 3 "June 29, 2017" "libcurl 7.66.0" "libcurl Manual"
 
 .SH NAME
 curl_strequal, curl_strnequal - case insensitive string comparisons
diff --git a/docs/libcurl/curl_unescape.3 b/docs/libcurl/curl_unescape.3
index c0cebac..20f5b13 100644
--- a/docs/libcurl/curl_unescape.3
+++ b/docs/libcurl/curl_unescape.3
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH curl_unescape 3 "February 03, 2016" "libcurl 7.65.3" "libcurl Manual"
+.TH curl_unescape 3 "February 03, 2016" "libcurl 7.66.0" "libcurl Manual"
 
 .SH NAME
 curl_unescape - URL decodes the given string
diff --git a/docs/libcurl/curl_url.3 b/docs/libcurl/curl_url.3
index 99247fb..bed2ffc 100644
--- a/docs/libcurl/curl_url.3
+++ b/docs/libcurl/curl_url.3
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH curl_url 3 "March 22, 2019" "libcurl 7.65.3" "libcurl Manual"
+.TH curl_url 3 "March 22, 2019" "libcurl 7.66.0" "libcurl Manual"
 
 .SH NAME
 curl_url - returns a new CURLU handle
diff --git a/docs/libcurl/curl_url_cleanup.3 b/docs/libcurl/curl_url_cleanup.3
index 618535e..36e29b4 100644
--- a/docs/libcurl/curl_url_cleanup.3
+++ b/docs/libcurl/curl_url_cleanup.3
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH curl_url_cleanup 3 "September 08, 2018" "libcurl 7.65.3" "libcurl Manual"
+.TH curl_url_cleanup 3 "September 08, 2018" "libcurl 7.66.0" "libcurl Manual"
 
 .SH NAME
 curl_url_cleanup - free a CURLU handle
diff --git a/docs/libcurl/curl_url_dup.3 b/docs/libcurl/curl_url_dup.3
index 2249a2d..2b510b8 100644
--- a/docs/libcurl/curl_url_dup.3
+++ b/docs/libcurl/curl_url_dup.3
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH curl_url_dup 3 "September 08, 2018" "libcurl 7.65.3" "libcurl Manual"
+.TH curl_url_dup 3 "September 08, 2018" "libcurl 7.66.0" "libcurl Manual"
 
 .SH NAME
 curl_url_dup - duplicate a CURLU handle
diff --git a/docs/libcurl/curl_url_get.3 b/docs/libcurl/curl_url_get.3
index 0c829b4..47be3c7 100644
--- a/docs/libcurl/curl_url_get.3
+++ b/docs/libcurl/curl_url_get.3
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH curl_url_get 3 "May 03, 2019" "libcurl 7.65.3" "libcurl Manual"
+.TH curl_url_get 3 "May 03, 2019" "libcurl 7.66.0" "libcurl Manual"
 
 .SH NAME
 curl_url_get - extract a part from a URL
diff --git a/docs/libcurl/curl_url_set.3 b/docs/libcurl/curl_url_set.3
index 8ff0177..8737a62 100644
--- a/docs/libcurl/curl_url_set.3
+++ b/docs/libcurl/curl_url_set.3
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH curl_url_set 3 "May 03, 2019" "libcurl 7.65.3" "libcurl Manual"
+.TH curl_url_set 3 "May 03, 2019" "libcurl 7.66.0" "libcurl Manual"
 
 .SH NAME
 curl_url_set - set a URL part
diff --git a/docs/libcurl/curl_version.3 b/docs/libcurl/curl_version.3
index 22a0404..3f72c45 100644
--- a/docs/libcurl/curl_version.3
+++ b/docs/libcurl/curl_version.3
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH curl_version 3 "February 03, 2016" "libcurl 7.65.3" "libcurl Manual"
+.TH curl_version 3 "February 03, 2016" "libcurl 7.66.0" "libcurl Manual"
 
 .SH NAME
 curl_version - returns the libcurl version string
diff --git a/docs/libcurl/curl_version_info.3 b/docs/libcurl/curl_version_info.3
index 4c4ae96..c85d79e 100644
--- a/docs/libcurl/curl_version_info.3
+++ b/docs/libcurl/curl_version_info.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH curl_version_info 3 "January 29, 2019" "libcurl 7.65.3" "libcurl Manual"
+.TH curl_version_info 3 "August 13, 2019" "libcurl 7.66.0" "libcurl Manual"
 
 .SH NAME
 curl_version_info - returns run-time libcurl version info
@@ -79,6 +79,15 @@
                                   (MAJOR << 24) | (MINOR << 12) | PATCH */
   const char *brotli_version; /* human readable string. */
 
+  /* when 'age is CURLVERSION_SIXTH or alter (7.66.0 or later), these fields
+     also exist */
+  unsigned int nghttp2_ver_num; /* Numeric nghttp2 version
+                                   (MAJOR << 16) | (MINOR << 8) | PATCH */
+  const char *nghttp2_version; /* human readable string. */
+
+  const char *quic_version;    /* human readable quic (+ HTTP/3) library +
+                                  version or NULL */
+
 } curl_version_info_data;
 .fi
 
@@ -100,6 +109,40 @@
 \fIfeatures\fP can have none, one or more bits set, and the currently defined
 bits are:
 .RS
+.IP CURL_VERSION_ALTSVC
+HTTP Alt-Svc parsing and the associated options (Added in 7.64.1)
+.IP CURL_VERSION_ASYNCHDNS
+libcurl was built with support for asynchronous name lookups, which allows
+more exact timeouts (even on Windows) and less blocking when using the multi
+interface. (added in 7.10.7)
+.IP CURL_VERSION_BROTLI
+supports HTTP Brotli content encoding using libbrotlidec (Added in 7.57.0)
+.IP CURL_VERSION_CONV
+libcurl was built with support for character conversions, as provided by the
+CURLOPT_CONV_* callbacks. (Added in 7.15.4)
+.IP CURL_VERSION_CURLDEBUG
+libcurl was built with memory tracking debug capabilities. This is mainly of
+interest for libcurl hackers. (added in 7.19.6)
+.IP CURL_VERSION_DEBUG
+libcurl was built with debug capabilities (added in 7.10.6)
+.IP CURL_VERSION_GSSAPI
+libcurl was built with support for GSS-API. This makes libcurl use provided
+functions for Kerberos and SPNEGO authentication. It also allows libcurl
+to use the current user credentials without the app having to pass them on.
+(Added in 7.38.0)
+.IP CURL_VERSION_GSSNEGOTIATE
+supports HTTP GSS-Negotiate (added in 7.10.6)
+.IP CURL_VERSION_HTTPS_PROXY
+libcurl was built with support for HTTPS-proxy.
+(Added in 7.52.0)
+.IP CURL_VERSION_HTTP2
+libcurl was built with support for HTTP2.
+(Added in 7.33.0)
+.IP CURL_VERSION_HTTP3
+HTTP/3 and QUIC support are built-in (Added in 7.66.0)
+.IP CURL_VERSION_IDN
+libcurl was built with support for IDNA, domain names with international
+letters. (Added in 7.12.0)
 .IP CURL_VERSION_IPV6
 supports IPv6
 .IP CURL_VERSION_KERBEROS4
@@ -107,68 +150,38 @@
 .IP CURL_VERSION_KERBEROS5
 supports Kerberos V5 authentication for FTP, IMAP, POP3, SMTP and SOCKSv5 proxy
 (Added in 7.40.0)
-.IP CURL_VERSION_SSL
-supports SSL (HTTPS/FTPS) (Added in 7.10)
+.IP CURL_VERSION_LARGEFILE
+libcurl was built with support for large files. (Added in 7.11.1)
 .IP CURL_VERSION_LIBZ
 supports HTTP deflate using libz (Added in 7.10)
+.IP CURL_VERSION_MULTI_SSL
+libcurl was built with multiple SSL backends. For details, see
+\fIcurl_global_sslset(3)\fP.
+(Added in 7.56.0)
 .IP CURL_VERSION_NTLM
 supports HTTP NTLM (added in 7.10.6)
-.IP CURL_VERSION_GSSNEGOTIATE
-supports HTTP GSS-Negotiate (added in 7.10.6)
-.IP CURL_VERSION_DEBUG
-libcurl was built with debug capabilities (added in 7.10.6)
-.IP CURL_VERSION_CURLDEBUG
-libcurl was built with memory tracking debug capabilities. This is mainly of
-interest for libcurl hackers. (added in 7.19.6)
-.IP CURL_VERSION_ASYNCHDNS
-libcurl was built with support for asynchronous name lookups, which allows
-more exact timeouts (even on Windows) and less blocking when using the multi
-interface. (added in 7.10.7)
+.IP CURL_VERSION_NTLM_WB
+libcurl was built with support for NTLM delegation to a winbind helper.
+(Added in 7.22.0)
+.IP CURL_VERSION_PSL
+libcurl was built with support for Mozilla's Public Suffix List. This makes
+libcurl ignore cookies with a domain that's on the list.
+(Added in 7.47.0)
 .IP CURL_VERSION_SPNEGO
 libcurl was built with support for SPNEGO authentication (Simple and Protected
 GSS-API Negotiation Mechanism, defined in RFC 2478.) (added in 7.10.8)
-.IP CURL_VERSION_LARGEFILE
-libcurl was built with support for large files. (Added in 7.11.1)
-.IP CURL_VERSION_IDN
-libcurl was built with support for IDNA, domain names with international
-letters. (Added in 7.12.0)
+.IP CURL_VERSION_SSL
+supports SSL (HTTPS/FTPS) (Added in 7.10)
 .IP CURL_VERSION_SSPI
 libcurl was built with support for SSPI. This is only available on Windows and
 makes libcurl use Windows-provided functions for Kerberos, NTLM, SPNEGO and
 Digest authentication. It also allows libcurl to use the current user
 credentials without the app having to pass them on. (Added in 7.13.2)
-.IP CURL_VERSION_GSSAPI
-libcurl was built with support for GSS-API. This makes libcurl use provided
-functions for Kerberos and SPNEGO authentication. It also allows libcurl
-to use the current user credentials without the app having to pass them on.
-(Added in 7.38.0)
-.IP CURL_VERSION_CONV
-libcurl was built with support for character conversions, as provided by the
-CURLOPT_CONV_* callbacks. (Added in 7.15.4)
 .IP CURL_VERSION_TLSAUTH_SRP
 libcurl was built with support for TLS-SRP. (Added in 7.21.4)
-.IP CURL_VERSION_NTLM_WB
-libcurl was built with support for NTLM delegation to a winbind helper.
-(Added in 7.22.0)
-.IP CURL_VERSION_HTTP2
-libcurl was built with support for HTTP2.
-(Added in 7.33.0)
 .IP CURL_VERSION_UNIX_SOCKETS
 libcurl was built with support for Unix domain sockets.
 (Added in 7.40.0)
-.IP CURL_VERSION_PSL
-libcurl was built with support for Mozilla's Public Suffix List. This makes
-libcurl ignore cookies with a domain that's on the list.
-(Added in 7.47.0)
-.IP CURL_VERSION_HTTPS_PROXY
-libcurl was built with support for HTTPS-proxy.
-(Added in 7.52.0)
-.IP CURL_VERSION_MULTI_SSL
-libcurl was built with multiple SSL backends. For details, see
-\fIcurl_global_sslset(3)\fP.
-(Added in 7.56.0)
-.IP CURL_VERSION_BROTLI
-supports HTTP Brotli content encoding using libbrotlidec (Added in 7.57.0)
 .RE
 \fIssl_version\fP is an ASCII string for the TLS library name + version
 used. If libcurl has no SSL support, this is NULL. For example "Schannel",
diff --git a/docs/libcurl/libcurl-easy.3 b/docs/libcurl/libcurl-easy.3
index 04c97ce..6b1334b 100644
--- a/docs/libcurl/libcurl-easy.3
+++ b/docs/libcurl/libcurl-easy.3
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH libcurl 3 "February 03, 2016" "libcurl 7.65.3" "libcurl easy interface"
+.TH libcurl 3 "February 03, 2016" "libcurl 7.66.0" "libcurl easy interface"
 
 .SH NAME
 libcurl-easy \- easy interface overview
diff --git a/docs/libcurl/libcurl-env.3 b/docs/libcurl/libcurl-env.3
index 379ade5..1f5fc0a 100644
--- a/docs/libcurl/libcurl-env.3
+++ b/docs/libcurl/libcurl-env.3
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH libcurl-env 3 "April 17, 2018" "libcurl 7.65.3" "libcurl environment variables"
+.TH libcurl-env 3 "April 17, 2018" "libcurl 7.66.0" "libcurl environment variables"
 
 .SH NAME
 libcurl-env \- environment variables libcurl understands
diff --git a/docs/libcurl/libcurl-errors.3 b/docs/libcurl/libcurl-errors.3
index a982e05..22cc8dc 100644
--- a/docs/libcurl/libcurl-errors.3
+++ b/docs/libcurl/libcurl-errors.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH libcurl-errors 3 "November 19, 2018" "libcurl 7.65.3" "libcurl errors"
+.TH libcurl-errors 3 "May 11, 2019" "libcurl 7.66.0" "libcurl errors"
 
 .SH NAME
 libcurl-errors \- error codes in libcurl
@@ -255,6 +255,8 @@
 Stream error in the HTTP/2 framing layer.
 .IP "CURLE_RECURSIVE_API_CALL (93)"
 An API function was called from inside a callback.
+.IP "CURLE_AUTH_ERROR (94)"
+An authentication function returned an error.
 .IP "CURLE_OBSOLETE*"
 These error codes will never be returned. They were used in an old libcurl
 version and are currently unused.
diff --git a/docs/libcurl/libcurl-multi.3 b/docs/libcurl/libcurl-multi.3
index 741e5a5..10ee7ff 100644
--- a/docs/libcurl/libcurl-multi.3
+++ b/docs/libcurl/libcurl-multi.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH libcurl-multi 3 "June 30, 2018" "libcurl 7.65.3" "libcurl multi interface"
+.TH libcurl-multi 3 "June 30, 2018" "libcurl 7.66.0" "libcurl multi interface"
 
 .SH NAME
 libcurl-multi \- how to use the multi interface
diff --git a/docs/libcurl/libcurl-security.3 b/docs/libcurl/libcurl-security.3
index cdc03a8..038a9e8 100644
--- a/docs/libcurl/libcurl-security.3
+++ b/docs/libcurl/libcurl-security.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH libcurl-security 3 "July 16, 2019" "libcurl 7.65.3" "libcurl security"
+.TH libcurl-security 3 "July 16, 2019" "libcurl 7.66.0" "libcurl security"
 
 .SH NAME
 libcurl-security \- security considerations when using libcurl
diff --git a/docs/libcurl/libcurl-share.3 b/docs/libcurl/libcurl-share.3
index b6df028..f626ed3 100644
--- a/docs/libcurl/libcurl-share.3
+++ b/docs/libcurl/libcurl-share.3
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH libcurl-share 3 "November 27, 2017" "libcurl 7.65.3" "libcurl share interface"
+.TH libcurl-share 3 "November 27, 2017" "libcurl 7.66.0" "libcurl share interface"
 
 .SH NAME
 libcurl-share \- how to use the share interface
diff --git a/docs/libcurl/libcurl-symbols.3 b/docs/libcurl/libcurl-symbols.3
index c76a782..4a6d892 100644
--- a/docs/libcurl/libcurl-symbols.3
+++ b/docs/libcurl/libcurl-symbols.3
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH libcurl-symbols 3 "jul 19, 2019" "libcurl 7.41.0" "libcurl symbols"
+.TH libcurl-symbols 3 "sep 11, 2019" "libcurl 7.41.0" "libcurl symbols"
 .SH NAME
 libcurl-symbols \- libcurl symbol version information
 .SH "libcurl symbols"
@@ -35,8 +35,6 @@
 code will make it no longer compile error-free after that specified version.
 
 This man page is automatically generated from the symbols-in-versions file.
-.IP CURLALTSVC_ALTUSED
-Introduced in 7.64.1
 .IP CURLALTSVC_H1
 Introduced in 7.64.1
 .IP CURLALTSVC_H2
@@ -92,6 +90,8 @@
 Introduced in 7.18.2
 .IP CURLE_ALREADY_COMPLETE
 Introduced in 7.7.2
+.IP CURLE_AUTH_ERROR
+Introduced in 7.66.0
 .IP CURLE_BAD_CALLING_ORDER
 Introduced in 7.1
 Deprecated since 7.17.0
@@ -596,6 +596,8 @@
 Introduced in 7.4.1
 .IP CURLINFO_RESPONSE_CODE
 Introduced in 7.10.8
+.IP CURLINFO_RETRY_AFTER
+Introduced in 7.66.0
 .IP CURLINFO_RTSP_CLIENT_CSEQ
 Introduced in 7.20.0
 .IP CURLINFO_RTSP_CSEQ_RECV
@@ -1198,6 +1200,8 @@
 Introduced in 7.20.0
 .IP CURLOPT_RTSP_TRANSPORT
 Introduced in 7.20.0
+.IP CURLOPT_SASL_AUTHZID
+Introduced in 7.66.0
 .IP CURLOPT_SASL_IR
 Introduced in 7.31.0
 .IP CURLOPT_SEEKDATA
@@ -1667,6 +1671,8 @@
 Introduced in 7.11.1
 .IP CURLVERSION_THIRD
 Introduced in 7.12.0
+.IP CURLVERSION_SIXTH
+Introduced in 7.66.0
 .IP CURL_CHUNK_BGN_FUNC_FAIL
 Introduced in 7.21.0
 .IP CURL_CHUNK_BGN_FUNC_OK
@@ -1763,6 +1769,8 @@
 Introduced in 7.33.0
 .IP CURL_HTTP_VERSION_2_PRIOR_KNOWLEDGE
 Introduced in 7.49.0
+.IP CURL_HTTP_VERSION_3
+Introduced in 7.66.0
 .IP CURL_HTTP_VERSION_NONE
 Introduced in 7.9.1
 .IP CURL_IPRESOLVE_V4
@@ -1952,6 +1960,8 @@
 Deprecated since 7.38.0
 .IP CURL_VERSION_HTTP2
 Introduced in 7.33.0
+.IP CURL_VERSION_HTTP3
+Introduced in 7.66.0
 .IP CURL_VERSION_HTTPS_PROXY
 Introduced in 7.52.0
 .IP CURL_VERSION_IDN
diff --git a/docs/libcurl/libcurl-thread.3 b/docs/libcurl/libcurl-thread.3
index 15b94d2..e8659c6 100644
--- a/docs/libcurl/libcurl-thread.3
+++ b/docs/libcurl/libcurl-thread.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH libcurl-thread 3 "June 30, 2019" "libcurl 7.65.3" "libcurl thread safety"
+.TH libcurl-thread 3 "June 30, 2019" "libcurl 7.66.0" "libcurl thread safety"
 
 .SH NAME
 libcurl-thread \- libcurl thread safety
diff --git a/docs/libcurl/libcurl-tutorial.3 b/docs/libcurl/libcurl-tutorial.3
index 6c494a1..2d7dbc8 100644
--- a/docs/libcurl/libcurl-tutorial.3
+++ b/docs/libcurl/libcurl-tutorial.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH libcurl-tutorial 3 "June 08, 2019" "libcurl 7.65.3" "libcurl programming"
+.TH libcurl-tutorial 3 "June 08, 2019" "libcurl 7.66.0" "libcurl programming"
 
 .SH NAME
 libcurl-tutorial \- libcurl programming tutorial
diff --git a/docs/libcurl/libcurl-url.3 b/docs/libcurl/libcurl-url.3
index fa42ca7..b5583d9 100644
--- a/docs/libcurl/libcurl-url.3
+++ b/docs/libcurl/libcurl-url.3
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH libcurl 3 "September 10, 2018" "libcurl 7.65.3" "libcurl url interface"
+.TH libcurl 3 "September 10, 2018" "libcurl 7.66.0" "libcurl url interface"
 
 .SH NAME
 libcurl-url \- URL interface overview
diff --git a/docs/libcurl/libcurl.3 b/docs/libcurl/libcurl.3
index 3154eee..5d2cc6d 100644
--- a/docs/libcurl/libcurl.3
+++ b/docs/libcurl/libcurl.3
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH libcurl 3 "July 15, 2017" "libcurl 7.65.3" "libcurl overview"
+.TH libcurl 3 "July 15, 2017" "libcurl 7.66.0" "libcurl overview"
 
 .SH NAME
 libcurl \- client-side URL transfers
diff --git a/docs/libcurl/opts/CURLINFO_ACTIVESOCKET.3 b/docs/libcurl/opts/CURLINFO_ACTIVESOCKET.3
index c7ee1eb..3fafa25 100644
--- a/docs/libcurl/opts/CURLINFO_ACTIVESOCKET.3
+++ b/docs/libcurl/opts/CURLINFO_ACTIVESOCKET.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLINFO_ACTIVESOCKET 3 "May 06, 2017" "libcurl 7.65.3" "curl_easy_getinfo options"
+.TH CURLINFO_ACTIVESOCKET 3 "May 06, 2017" "libcurl 7.66.0" "curl_easy_getinfo options"
 
 .SH NAME
 CURLINFO_ACTIVESOCKET \- get the active socket
diff --git a/docs/libcurl/opts/CURLINFO_APPCONNECT_TIME.3 b/docs/libcurl/opts/CURLINFO_APPCONNECT_TIME.3
index e4e6a1a..3d2f23e 100644
--- a/docs/libcurl/opts/CURLINFO_APPCONNECT_TIME.3
+++ b/docs/libcurl/opts/CURLINFO_APPCONNECT_TIME.3
@@ -5,7 +5,7 @@
 .\" *                            | (__| |_| |  _ <| |___
 .\" *                             \___|\___/|_| \_\_____|
 .\" *
-.\" * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLINFO_APPCONNECT_TIME 3 "May 17, 2018" "libcurl 7.65.3" "curl_easy_getinfo options"
+.TH CURLINFO_APPCONNECT_TIME 3 "August 26, 2019" "libcurl 7.66.0" "curl_easy_getinfo options"
 
 .SH NAME
 CURLINFO_APPCONNECT_TIME \- get the time until the SSL/SSH handshake is completed
@@ -35,6 +35,8 @@
 time, except for cases such as HTTP pipelining where the pretransfer time can
 be delayed due to waits in line for the pipeline and more.
 
+When a redirect is followed, the time from each request is added together.
+
 See also the TIMES overview in the \fIcurl_easy_getinfo(3)\fP man page.
 .SH PROTOCOLS
 All
diff --git a/docs/libcurl/opts/CURLINFO_APPCONNECT_TIME_T.3 b/docs/libcurl/opts/CURLINFO_APPCONNECT_TIME_T.3
index a00c016..220c773 100644
--- a/docs/libcurl/opts/CURLINFO_APPCONNECT_TIME_T.3
+++ b/docs/libcurl/opts/CURLINFO_APPCONNECT_TIME_T.3
@@ -5,7 +5,7 @@
 .\" *                            | (__| |_| |  _ <| |___
 .\" *                             \___|\___/|_| \_\_____|
 .\" *
-.\" * Copyright (C) 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 2018 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLINFO_APPCONNECT_TIME_T 3 "May 17, 2018" "libcurl 7.65.3" "curl_easy_getinfo options"
+.TH CURLINFO_APPCONNECT_TIME_T 3 "August 26, 2019" "libcurl 7.66.0" "curl_easy_getinfo options"
 
 .SH NAME
 CURLINFO_APPCONNECT_TIME_T \- get the time until the SSL/SSH handshake is completed
@@ -36,6 +36,8 @@
 time, except for cases such as HTTP pipelining where the pretransfer time can
 be delayed due to waits in line for the pipeline and more.
 
+When a redirect is followed, the time from each request is added together.
+
 See also the TIMES overview in the \fIcurl_easy_getinfo(3)\fP man page.
 .SH PROTOCOLS
 All
diff --git a/docs/libcurl/opts/CURLINFO_CERTINFO.3 b/docs/libcurl/opts/CURLINFO_CERTINFO.3
index 97ebd2b..8cf8c02 100644
--- a/docs/libcurl/opts/CURLINFO_CERTINFO.3
+++ b/docs/libcurl/opts/CURLINFO_CERTINFO.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLINFO_CERTINFO 3 "November 07, 2018" "libcurl 7.65.3" "curl_easy_getinfo options"
+.TH CURLINFO_CERTINFO 3 "November 07, 2018" "libcurl 7.66.0" "curl_easy_getinfo options"
 
 .SH NAME
 CURLINFO_CERTINFO \- get the TLS certificate chain
diff --git a/docs/libcurl/opts/CURLINFO_CONDITION_UNMET.3 b/docs/libcurl/opts/CURLINFO_CONDITION_UNMET.3
index 9521cd2..b14b9f9 100644
--- a/docs/libcurl/opts/CURLINFO_CONDITION_UNMET.3
+++ b/docs/libcurl/opts/CURLINFO_CONDITION_UNMET.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLINFO_CONDITION_UNMET 3 "February 23, 2018" "libcurl 7.65.3" "curl_easy_getinfo options"
+.TH CURLINFO_CONDITION_UNMET 3 "February 23, 2018" "libcurl 7.66.0" "curl_easy_getinfo options"
 
 .SH NAME
 CURLINFO_CONDITION_UNMET \- get info on unmet time conditional
diff --git a/docs/libcurl/opts/CURLINFO_CONNECT_TIME.3 b/docs/libcurl/opts/CURLINFO_CONNECT_TIME.3
index 8d55ff6..87b30b6 100644
--- a/docs/libcurl/opts/CURLINFO_CONNECT_TIME.3
+++ b/docs/libcurl/opts/CURLINFO_CONNECT_TIME.3
@@ -5,7 +5,7 @@
 .\" *                            | (__| |_| |  _ <| |___
 .\" *                             \___|\___/|_| \_\_____|
 .\" *
-.\" * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLINFO_CONNECT_TIME 3 "May 17, 2018" "libcurl 7.65.3" "curl_easy_getinfo options"
+.TH CURLINFO_CONNECT_TIME 3 "August 26, 2019" "libcurl 7.66.0" "curl_easy_getinfo options"
 
 .SH NAME
 CURLINFO_CONNECT_TIME \- get the time until connect
@@ -32,6 +32,8 @@
 Pass a pointer to a double to receive the total time in seconds from the start
 until the connection to the remote host (or proxy) was completed.
 
+When a redirect is followed, the time from each request is added together.
+
 See also the TIMES overview in the \fIcurl_easy_getinfo(3)\fP man page.
 .SH PROTOCOLS
 All
diff --git a/docs/libcurl/opts/CURLINFO_CONNECT_TIME_T.3 b/docs/libcurl/opts/CURLINFO_CONNECT_TIME_T.3
index d06399f..042b0f2 100644
--- a/docs/libcurl/opts/CURLINFO_CONNECT_TIME_T.3
+++ b/docs/libcurl/opts/CURLINFO_CONNECT_TIME_T.3
@@ -5,7 +5,7 @@
 .\" *                            | (__| |_| |  _ <| |___
 .\" *                             \___|\___/|_| \_\_____|
 .\" *
-.\" * Copyright (C) 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 2018 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLINFO_CONNECT_TIME_T 3 "May 17, 2018" "libcurl 7.65.3" "curl_easy_getinfo options"
+.TH CURLINFO_CONNECT_TIME_T 3 "August 26, 2019" "libcurl 7.66.0" "curl_easy_getinfo options"
 
 .SH NAME
 CURLINFO_CONNECT_TIME_T \- get the time until connect
@@ -31,6 +31,9 @@
 .SH DESCRIPTION
 Pass a pointer to a curl_off_t to receive the total time in microseconds
 from the start until the connection to the remote host (or proxy) was completed.
+
+When a redirect is followed, the time from each request is added together.
+
 See also the TIMES overview in the \fIcurl_easy_getinfo(3)\fP man page.
 .SH PROTOCOLS
 All
diff --git a/docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_DOWNLOAD.3 b/docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_DOWNLOAD.3
index fe2fd07..253fc7f 100644
--- a/docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_DOWNLOAD.3
+++ b/docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_DOWNLOAD.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLINFO_CONTENT_LENGTH_DOWNLOAD 3 "June 15, 2017" "libcurl 7.65.3" "curl_easy_getinfo options"
+.TH CURLINFO_CONTENT_LENGTH_DOWNLOAD 3 "June 15, 2017" "libcurl 7.66.0" "curl_easy_getinfo options"
 
 .SH NAME
 CURLINFO_CONTENT_LENGTH_DOWNLOAD \- get content-length of download
diff --git a/docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_DOWNLOAD_T.3 b/docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_DOWNLOAD_T.3
index a5a1814..3b2d0d5 100644
--- a/docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_DOWNLOAD_T.3
+++ b/docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_DOWNLOAD_T.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLINFO_CONTENT_LENGTH_DOWNLOAD_T 3 "March 31, 2018" "libcurl 7.65.3" "curl_easy_getinfo options"
+.TH CURLINFO_CONTENT_LENGTH_DOWNLOAD_T 3 "March 31, 2018" "libcurl 7.66.0" "curl_easy_getinfo options"
 
 .SH NAME
 CURLINFO_CONTENT_LENGTH_DOWNLOAD_T \- get content-length of download
diff --git a/docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_UPLOAD.3 b/docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_UPLOAD.3
index 8ca7f7c..9e09062 100644
--- a/docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_UPLOAD.3
+++ b/docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_UPLOAD.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLINFO_CONTENT_LENGTH_UPLOAD 3 "June 15, 2017" "libcurl 7.65.3" "curl_easy_getinfo options"
+.TH CURLINFO_CONTENT_LENGTH_UPLOAD 3 "June 15, 2017" "libcurl 7.66.0" "curl_easy_getinfo options"
 
 .SH NAME
 CURLINFO_CONTENT_LENGTH_UPLOAD \- get the specified size of the upload
diff --git a/docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_UPLOAD_T.3 b/docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_UPLOAD_T.3
index b063590..c723d20 100644
--- a/docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_UPLOAD_T.3
+++ b/docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_UPLOAD_T.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLINFO_CONTENT_LENGTH_UPLOAD_T 3 "March 31, 2018" "libcurl 7.65.3" "curl_easy_getinfo options"
+.TH CURLINFO_CONTENT_LENGTH_UPLOAD_T 3 "March 31, 2018" "libcurl 7.66.0" "curl_easy_getinfo options"
 
 .SH NAME
 CURLINFO_CONTENT_LENGTH_UPLOAD_T \- get the specified size of the upload
diff --git a/docs/libcurl/opts/CURLINFO_CONTENT_TYPE.3 b/docs/libcurl/opts/CURLINFO_CONTENT_TYPE.3
index dc7761d..4f35fab 100644
--- a/docs/libcurl/opts/CURLINFO_CONTENT_TYPE.3
+++ b/docs/libcurl/opts/CURLINFO_CONTENT_TYPE.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLINFO_CONTENT_TYPE 3 "May 06, 2017" "libcurl 7.65.3" "curl_easy_getinfo options"
+.TH CURLINFO_CONTENT_TYPE 3 "May 06, 2017" "libcurl 7.66.0" "curl_easy_getinfo options"
 
 .SH NAME
 CURLINFO_CONTENT_TYPE \- get Content-Type
diff --git a/docs/libcurl/opts/CURLINFO_COOKIELIST.3 b/docs/libcurl/opts/CURLINFO_COOKIELIST.3
index c738a7e..727bb1c 100644
--- a/docs/libcurl/opts/CURLINFO_COOKIELIST.3
+++ b/docs/libcurl/opts/CURLINFO_COOKIELIST.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLINFO_COOKIELIST 3 "March 20, 2018" "libcurl 7.65.3" "curl_easy_getinfo options"
+.TH CURLINFO_COOKIELIST 3 "March 20, 2018" "libcurl 7.66.0" "curl_easy_getinfo options"
 
 .SH NAME
 CURLINFO_COOKIELIST \- get all known cookies
diff --git a/docs/libcurl/opts/CURLINFO_EFFECTIVE_URL.3 b/docs/libcurl/opts/CURLINFO_EFFECTIVE_URL.3
index 550e047..d04edb9 100644
--- a/docs/libcurl/opts/CURLINFO_EFFECTIVE_URL.3
+++ b/docs/libcurl/opts/CURLINFO_EFFECTIVE_URL.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLINFO_EFFECTIVE_URL 3 "May 04, 2017" "libcurl 7.65.3" "curl_easy_getinfo options"
+.TH CURLINFO_EFFECTIVE_URL 3 "May 04, 2017" "libcurl 7.66.0" "curl_easy_getinfo options"
 
 .SH NAME
 CURLINFO_EFFECTIVE_URL \- get the last used URL
diff --git a/docs/libcurl/opts/CURLINFO_FILETIME.3 b/docs/libcurl/opts/CURLINFO_FILETIME.3
index 1029db8..45269dd 100644
--- a/docs/libcurl/opts/CURLINFO_FILETIME.3
+++ b/docs/libcurl/opts/CURLINFO_FILETIME.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLINFO_FILETIME 3 "January 25, 2018" "libcurl 7.65.3" "curl_easy_getinfo options"
+.TH CURLINFO_FILETIME 3 "January 25, 2018" "libcurl 7.66.0" "curl_easy_getinfo options"
 
 .SH NAME
 CURLINFO_FILETIME \- get the remote time of the retrieved document
diff --git a/docs/libcurl/opts/CURLINFO_FILETIME_T.3 b/docs/libcurl/opts/CURLINFO_FILETIME_T.3
index c962949..717345d 100644
--- a/docs/libcurl/opts/CURLINFO_FILETIME_T.3
+++ b/docs/libcurl/opts/CURLINFO_FILETIME_T.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLINFO_FILETIME 3 "January 25, 2018" "libcurl 7.65.3" "curl_easy_getinfo options"
+.TH CURLINFO_FILETIME 3 "January 25, 2018" "libcurl 7.66.0" "curl_easy_getinfo options"
 
 .SH NAME
 CURLINFO_FILETIME_T \- get the remote time of the retrieved document
diff --git a/docs/libcurl/opts/CURLINFO_FTP_ENTRY_PATH.3 b/docs/libcurl/opts/CURLINFO_FTP_ENTRY_PATH.3
index 5055b0a..c82b23f 100644
--- a/docs/libcurl/opts/CURLINFO_FTP_ENTRY_PATH.3
+++ b/docs/libcurl/opts/CURLINFO_FTP_ENTRY_PATH.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLINFO_FTP_ENTRY_PATH 3 "May 06, 2017" "libcurl 7.65.3" "curl_easy_getinfo options"
+.TH CURLINFO_FTP_ENTRY_PATH 3 "May 06, 2017" "libcurl 7.66.0" "curl_easy_getinfo options"
 
 .SH NAME
 CURLINFO_FTP_ENTRY_PATH \- get entry path in FTP server
diff --git a/docs/libcurl/opts/CURLINFO_HEADER_SIZE.3 b/docs/libcurl/opts/CURLINFO_HEADER_SIZE.3
index f9694a8..f3a91c7 100644
--- a/docs/libcurl/opts/CURLINFO_HEADER_SIZE.3
+++ b/docs/libcurl/opts/CURLINFO_HEADER_SIZE.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLINFO_HEADER_SIZE 3 "May 06, 2017" "libcurl 7.65.3" "curl_easy_getinfo options"
+.TH CURLINFO_HEADER_SIZE 3 "May 06, 2017" "libcurl 7.66.0" "curl_easy_getinfo options"
 
 .SH NAME
 CURLINFO_HEADER_SIZE \- get size of retrieved headers
diff --git a/docs/libcurl/opts/CURLINFO_HTTPAUTH_AVAIL.3 b/docs/libcurl/opts/CURLINFO_HTTPAUTH_AVAIL.3
index 8738a21..edf9b7b 100644
--- a/docs/libcurl/opts/CURLINFO_HTTPAUTH_AVAIL.3
+++ b/docs/libcurl/opts/CURLINFO_HTTPAUTH_AVAIL.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLINFO_HTTPAUTH_AVAIL 3 "October 07, 2017" "libcurl 7.65.3" "curl_easy_getinfo options"
+.TH CURLINFO_HTTPAUTH_AVAIL 3 "October 07, 2017" "libcurl 7.66.0" "curl_easy_getinfo options"
 
 .SH NAME
 CURLINFO_HTTPAUTH_AVAIL \- get available HTTP authentication methods
diff --git a/docs/libcurl/opts/CURLINFO_HTTP_CONNECTCODE.3 b/docs/libcurl/opts/CURLINFO_HTTP_CONNECTCODE.3
index 2a0b3df..616dd60 100644
--- a/docs/libcurl/opts/CURLINFO_HTTP_CONNECTCODE.3
+++ b/docs/libcurl/opts/CURLINFO_HTTP_CONNECTCODE.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLINFO_HTTP_CONNECTCODE 3 "May 06, 2017" "libcurl 7.65.3" "curl_easy_getinfo options"
+.TH CURLINFO_HTTP_CONNECTCODE 3 "May 06, 2017" "libcurl 7.66.0" "curl_easy_getinfo options"
 
 .SH NAME
 CURLINFO_HTTP_CONNECTCODE \- get the CONNECT response code
diff --git a/docs/libcurl/opts/CURLINFO_HTTP_VERSION.3 b/docs/libcurl/opts/CURLINFO_HTTP_VERSION.3
index 4cb3533..543758b 100644
--- a/docs/libcurl/opts/CURLINFO_HTTP_VERSION.3
+++ b/docs/libcurl/opts/CURLINFO_HTTP_VERSION.3
@@ -5,7 +5,7 @@
 .\" *                            | (__| |_| |  _ <| |___
 .\" *                             \___|\___/|_| \_\_____|
 .\" *
-.\" * Copyright (C) 1998 - 2016, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLINFO_HTTP_VERSION 3 "May 11, 2016" "libcurl 7.65.3" "curl_easy_getinfo options"
+.TH CURLINFO_HTTP_VERSION 3 "August 07, 2019" "libcurl 7.66.0" "curl_easy_getinfo options"
 
 .SH NAME
 CURLINFO_HTTP_VERSION \- get the http version used in the connection
@@ -29,9 +29,10 @@
 
 CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_HTTP_VERSION, long *p);
 .SH DESCRIPTION
-Pass a pointer to a long to receive the version used in the last http connection.
-The returned value will be CURL_HTTP_VERSION_1_0, CURL_HTTP_VERSION_1_1, or
-CURL_HTTP_VERSION_2_0, or 0 if the version can't be determined.
+Pass a pointer to a long to receive the version used in the last http
+connection.  The returned value will be CURL_HTTP_VERSION_1_0,
+CURL_HTTP_VERSION_1_1, CURL_HTTP_VERSION_2_0, CURL_HTTP_VERSION_3 or 0 if the
+version can't be determined.
 .SH PROTOCOLS
 HTTP
 .SH EXAMPLE
diff --git a/docs/libcurl/opts/CURLINFO_LASTSOCKET.3 b/docs/libcurl/opts/CURLINFO_LASTSOCKET.3
index 1a0a99e..f70e0dc 100644
--- a/docs/libcurl/opts/CURLINFO_LASTSOCKET.3
+++ b/docs/libcurl/opts/CURLINFO_LASTSOCKET.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLINFO_LASTSOCKET 3 "May 06, 2017" "libcurl 7.65.3" "curl_easy_getinfo options"
+.TH CURLINFO_LASTSOCKET 3 "May 06, 2017" "libcurl 7.66.0" "curl_easy_getinfo options"
 
 .SH NAME
 CURLINFO_LASTSOCKET \- get the last socket used
diff --git a/docs/libcurl/opts/CURLINFO_LOCAL_IP.3 b/docs/libcurl/opts/CURLINFO_LOCAL_IP.3
index 9acb6d2..05a8e84 100644
--- a/docs/libcurl/opts/CURLINFO_LOCAL_IP.3
+++ b/docs/libcurl/opts/CURLINFO_LOCAL_IP.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLINFO_LOCAL_IP 3 "May 05, 2017" "libcurl 7.65.3" "curl_easy_getinfo options"
+.TH CURLINFO_LOCAL_IP 3 "May 05, 2017" "libcurl 7.66.0" "curl_easy_getinfo options"
 
 .SH NAME
 CURLINFO_LOCAL_IP \- get local IP address of last connection
diff --git a/docs/libcurl/opts/CURLINFO_LOCAL_PORT.3 b/docs/libcurl/opts/CURLINFO_LOCAL_PORT.3
index a90158c..c42b910 100644
--- a/docs/libcurl/opts/CURLINFO_LOCAL_PORT.3
+++ b/docs/libcurl/opts/CURLINFO_LOCAL_PORT.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLINFO_LOCAL_PORT 3 "March 16, 2017" "libcurl 7.65.3" "curl_easy_getinfo options"
+.TH CURLINFO_LOCAL_PORT 3 "March 16, 2017" "libcurl 7.66.0" "curl_easy_getinfo options"
 
 .SH NAME
 CURLINFO_LOCAL_PORT \- get the latest local port number
diff --git a/docs/libcurl/opts/CURLINFO_NAMELOOKUP_TIME.3 b/docs/libcurl/opts/CURLINFO_NAMELOOKUP_TIME.3
index 2e3318d..5838022 100644
--- a/docs/libcurl/opts/CURLINFO_NAMELOOKUP_TIME.3
+++ b/docs/libcurl/opts/CURLINFO_NAMELOOKUP_TIME.3
@@ -5,7 +5,7 @@
 .\" *                            | (__| |_| |  _ <| |___
 .\" *                             \___|\___/|_| \_\_____|
 .\" *
-.\" * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLINFO_NAMELOOKUP_TIME 3 "May 17, 2018" "libcurl 7.65.3" "curl_easy_getinfo options"
+.TH CURLINFO_NAMELOOKUP_TIME 3 "August 26, 2019" "libcurl 7.66.0" "curl_easy_getinfo options"
 
 .SH NAME
 CURLINFO_NAMELOOKUP_TIME \- get the name lookup time
@@ -32,6 +32,8 @@
 Pass a pointer to a double to receive the total time in seconds from the start
 until the name resolving was completed.
 
+When a redirect is followed, the time from each request is added together.
+
 See also the TIMES overview in the \fIcurl_easy_getinfo(3)\fP man page.
 .SH PROTOCOLS
 All
diff --git a/docs/libcurl/opts/CURLINFO_NAMELOOKUP_TIME_T.3 b/docs/libcurl/opts/CURLINFO_NAMELOOKUP_TIME_T.3
index 8edad92..25c64dc 100644
--- a/docs/libcurl/opts/CURLINFO_NAMELOOKUP_TIME_T.3
+++ b/docs/libcurl/opts/CURLINFO_NAMELOOKUP_TIME_T.3
@@ -5,7 +5,7 @@
 .\" *                            | (__| |_| |  _ <| |___
 .\" *                             \___|\___/|_| \_\_____|
 .\" *
-.\" * Copyright (C) 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 2018 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLINFO_NAMELOOKUP_TIME_T 3 "May 17, 2018" "libcurl 7.65.3" "curl_easy_getinfo options"
+.TH CURLINFO_NAMELOOKUP_TIME_T 3 "August 26, 2019" "libcurl 7.66.0" "curl_easy_getinfo options"
 
 .SH NAME
 CURLINFO_NAMELOOKUP_TIME_T \- get the name lookup time in microseconds
@@ -32,6 +32,8 @@
 Pass a pointer to a curl_off_t to receive the total time in microseconds
 from the start until the name resolving was completed.
 
+When a redirect is followed, the time from each request is added together.
+
 See also the TIMES overview in the \fIcurl_easy_getinfo(3)\fP man page.
 .SH PROTOCOLS
 All
diff --git a/docs/libcurl/opts/CURLINFO_NUM_CONNECTS.3 b/docs/libcurl/opts/CURLINFO_NUM_CONNECTS.3
index 0d0bc7a..0d7e80b 100644
--- a/docs/libcurl/opts/CURLINFO_NUM_CONNECTS.3
+++ b/docs/libcurl/opts/CURLINFO_NUM_CONNECTS.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLINFO_NUM_CONNECTS 3 "May 06, 2017" "libcurl 7.65.3" "curl_easy_getinfo options"
+.TH CURLINFO_NUM_CONNECTS 3 "May 06, 2017" "libcurl 7.66.0" "curl_easy_getinfo options"
 
 .SH NAME
 CURLINFO_NUM_CONNECTS \- get number of created connections
diff --git a/docs/libcurl/opts/CURLINFO_OS_ERRNO.3 b/docs/libcurl/opts/CURLINFO_OS_ERRNO.3
index a7fb225..1004e2c 100644
--- a/docs/libcurl/opts/CURLINFO_OS_ERRNO.3
+++ b/docs/libcurl/opts/CURLINFO_OS_ERRNO.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLINFO_OS_ERRNO 3 "November 07, 2018" "libcurl 7.65.3" "curl_easy_getinfo options"
+.TH CURLINFO_OS_ERRNO 3 "November 07, 2018" "libcurl 7.66.0" "curl_easy_getinfo options"
 
 .SH NAME
 CURLINFO_OS_ERRNO \- get errno number from last connect failure
diff --git a/docs/libcurl/opts/CURLINFO_PRETRANSFER_TIME.3 b/docs/libcurl/opts/CURLINFO_PRETRANSFER_TIME.3
index fcf4392..6b6cb9d 100644
--- a/docs/libcurl/opts/CURLINFO_PRETRANSFER_TIME.3
+++ b/docs/libcurl/opts/CURLINFO_PRETRANSFER_TIME.3
@@ -5,7 +5,7 @@
 .\" *                            | (__| |_| |  _ <| |___
 .\" *                             \___|\___/|_| \_\_____|
 .\" *
-.\" * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLINFO_PRETRANSFER_TIME 3 "May 17, 2018" "libcurl 7.65.3" "curl_easy_getinfo options"
+.TH CURLINFO_PRETRANSFER_TIME 3 "August 26, 2019" "libcurl 7.66.0" "curl_easy_getinfo options"
 
 .SH NAME
 CURLINFO_PRETRANSFER_TIME \- get the time until the file transfer start
@@ -35,6 +35,8 @@
 protocol(s) involved. It does \fInot\fP involve the sending of the protocol-
 specific request that triggers a transfer.
 
+When a redirect is followed, the time from each request is added together.
+
 See also the TIMES overview in the \fIcurl_easy_getinfo(3)\fP man page.
 .SH PROTOCOLS
 All
diff --git a/docs/libcurl/opts/CURLINFO_PRETRANSFER_TIME_T.3 b/docs/libcurl/opts/CURLINFO_PRETRANSFER_TIME_T.3
index 42aa1b2..b8e1004 100644
--- a/docs/libcurl/opts/CURLINFO_PRETRANSFER_TIME_T.3
+++ b/docs/libcurl/opts/CURLINFO_PRETRANSFER_TIME_T.3
@@ -5,7 +5,7 @@
 .\" *                            | (__| |_| |  _ <| |___
 .\" *                             \___|\___/|_| \_\_____|
 .\" *
-.\" * Copyright (C) 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 2018 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLINFO_PRETRANSFER_TIME_T 3 "May 17, 2018" "libcurl 7.65.3" "curl_easy_getinfo options"
+.TH CURLINFO_PRETRANSFER_TIME_T 3 "August 26, 2019" "libcurl 7.66.0" "curl_easy_getinfo options"
 
 .SH NAME
 CURLINFO_PRETRANSFER_TIME_T \- get the time until the file transfer start
@@ -36,6 +36,8 @@
 protocol(s) involved. It does \fInot\fP involve the sending of the protocol-
 specific request that triggers a transfer.
 
+When a redirect is followed, the time from each request is added together.
+
 See also the TIMES overview in the \fIcurl_easy_getinfo(3)\fP man page.
 .SH PROTOCOLS
 All
diff --git a/docs/libcurl/opts/CURLINFO_PRIMARY_IP.3 b/docs/libcurl/opts/CURLINFO_PRIMARY_IP.3
index c2e5f2f..202c4f9 100644
--- a/docs/libcurl/opts/CURLINFO_PRIMARY_IP.3
+++ b/docs/libcurl/opts/CURLINFO_PRIMARY_IP.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLINFO_PRIMARY_IP 3 "March 22, 2017" "libcurl 7.65.3" "curl_easy_getinfo options"
+.TH CURLINFO_PRIMARY_IP 3 "March 22, 2017" "libcurl 7.66.0" "curl_easy_getinfo options"
 
 .SH NAME
 CURLINFO_PRIMARY_IP \- get IP address of last connection
diff --git a/docs/libcurl/opts/CURLINFO_PRIMARY_PORT.3 b/docs/libcurl/opts/CURLINFO_PRIMARY_PORT.3
index 2a6781d..97a654d 100644
--- a/docs/libcurl/opts/CURLINFO_PRIMARY_PORT.3
+++ b/docs/libcurl/opts/CURLINFO_PRIMARY_PORT.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLINFO_PRIMARY_PORT 3 "May 06, 2017" "libcurl 7.65.3" "curl_easy_getinfo options"
+.TH CURLINFO_PRIMARY_PORT 3 "May 06, 2017" "libcurl 7.66.0" "curl_easy_getinfo options"
 
 .SH NAME
 CURLINFO_PRIMARY_PORT \- get the latest destination port number
diff --git a/docs/libcurl/opts/CURLINFO_PRIVATE.3 b/docs/libcurl/opts/CURLINFO_PRIVATE.3
index ac234b3..afb0b4e 100644
--- a/docs/libcurl/opts/CURLINFO_PRIVATE.3
+++ b/docs/libcurl/opts/CURLINFO_PRIVATE.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLINFO_PRIVATE 3 "May 05, 2017" "libcurl 7.65.3" "curl_easy_getinfo options"
+.TH CURLINFO_PRIVATE 3 "May 05, 2017" "libcurl 7.66.0" "curl_easy_getinfo options"
 
 .SH NAME
 CURLINFO_PRIVATE \- get the private pointer
diff --git a/docs/libcurl/opts/CURLINFO_PROTOCOL.3 b/docs/libcurl/opts/CURLINFO_PROTOCOL.3
index f33aa38..d014100 100644
--- a/docs/libcurl/opts/CURLINFO_PROTOCOL.3
+++ b/docs/libcurl/opts/CURLINFO_PROTOCOL.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLINFO_PROTOCOL 3 "April 27, 2018" "libcurl 7.65.3" "curl_easy_getinfo options"
+.TH CURLINFO_PROTOCOL 3 "April 27, 2018" "libcurl 7.66.0" "curl_easy_getinfo options"
 
 .SH NAME
 CURLINFO_PROTOCOL \- get the protocol used in the connection
diff --git a/docs/libcurl/opts/CURLINFO_PROXYAUTH_AVAIL.3 b/docs/libcurl/opts/CURLINFO_PROXYAUTH_AVAIL.3
index 7e46e1c..8b7973a 100644
--- a/docs/libcurl/opts/CURLINFO_PROXYAUTH_AVAIL.3
+++ b/docs/libcurl/opts/CURLINFO_PROXYAUTH_AVAIL.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLINFO_PROXYAUTH_AVAIL 3 "October 07, 2017" "libcurl 7.65.3" "curl_easy_getinfo options"
+.TH CURLINFO_PROXYAUTH_AVAIL 3 "October 07, 2017" "libcurl 7.66.0" "curl_easy_getinfo options"
 
 .SH NAME
 CURLINFO_PROXYAUTH_AVAIL \- get available HTTP proxy authentication methods
diff --git a/docs/libcurl/opts/CURLINFO_PROXY_SSL_VERIFYRESULT.3 b/docs/libcurl/opts/CURLINFO_PROXY_SSL_VERIFYRESULT.3
index 7bca293..afda5d6 100644
--- a/docs/libcurl/opts/CURLINFO_PROXY_SSL_VERIFYRESULT.3
+++ b/docs/libcurl/opts/CURLINFO_PROXY_SSL_VERIFYRESULT.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLINFO_PROXY_SSL_VERIFYRESULT 3 "May 31, 2017" "libcurl 7.65.3" "curl_easy_getinfo options"
+.TH CURLINFO_PROXY_SSL_VERIFYRESULT 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_getinfo options"
 
 .SH NAME
 CURLINFO_PROXY_SSL_VERIFYRESULT \- get the result of the proxy certificate verification
diff --git a/docs/libcurl/opts/CURLINFO_REDIRECT_COUNT.3 b/docs/libcurl/opts/CURLINFO_REDIRECT_COUNT.3
index 71f1d45..8fbef50 100644
--- a/docs/libcurl/opts/CURLINFO_REDIRECT_COUNT.3
+++ b/docs/libcurl/opts/CURLINFO_REDIRECT_COUNT.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLINFO_REDIRECT_COUNT 3 "May 05, 2017" "libcurl 7.65.3" "curl_easy_getinfo options"
+.TH CURLINFO_REDIRECT_COUNT 3 "May 05, 2017" "libcurl 7.66.0" "curl_easy_getinfo options"
 
 .SH NAME
 CURLINFO_REDIRECT_COUNT \- get the number of redirects
diff --git a/docs/libcurl/opts/CURLINFO_REDIRECT_TIME.3 b/docs/libcurl/opts/CURLINFO_REDIRECT_TIME.3
index 9ce2f51..89e2540 100644
--- a/docs/libcurl/opts/CURLINFO_REDIRECT_TIME.3
+++ b/docs/libcurl/opts/CURLINFO_REDIRECT_TIME.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLINFO_REDIRECT_TIME 3 "May 17, 2018" "libcurl 7.65.3" "curl_easy_getinfo options"
+.TH CURLINFO_REDIRECT_TIME 3 "May 17, 2018" "libcurl 7.66.0" "curl_easy_getinfo options"
 
 .SH NAME
 CURLINFO_REDIRECT_TIME \- get the time for all redirection steps
diff --git a/docs/libcurl/opts/CURLINFO_REDIRECT_TIME_T.3 b/docs/libcurl/opts/CURLINFO_REDIRECT_TIME_T.3
index 34a2228..d1c8a6e 100644
--- a/docs/libcurl/opts/CURLINFO_REDIRECT_TIME_T.3
+++ b/docs/libcurl/opts/CURLINFO_REDIRECT_TIME_T.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLINFO_REDIRECT_TIME_T 3 "May 17, 2018" "libcurl 7.65.3" "curl_easy_getinfo options"
+.TH CURLINFO_REDIRECT_TIME_T 3 "May 17, 2018" "libcurl 7.66.0" "curl_easy_getinfo options"
 
 .SH NAME
 CURLINFO_REDIRECT_TIME_T \- get the time for all redirection steps
diff --git a/docs/libcurl/opts/CURLINFO_REDIRECT_URL.3 b/docs/libcurl/opts/CURLINFO_REDIRECT_URL.3
index 2ec26ca..6b12c3b 100644
--- a/docs/libcurl/opts/CURLINFO_REDIRECT_URL.3
+++ b/docs/libcurl/opts/CURLINFO_REDIRECT_URL.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLINFO_REDIRECT_URL 3 "June 24, 2017" "libcurl 7.65.3" "curl_easy_getinfo options"
+.TH CURLINFO_REDIRECT_URL 3 "June 24, 2017" "libcurl 7.66.0" "curl_easy_getinfo options"
 
 .SH NAME
 CURLINFO_REDIRECT_URL \- get the URL a redirect would go to
diff --git a/docs/libcurl/opts/CURLINFO_REQUEST_SIZE.3 b/docs/libcurl/opts/CURLINFO_REQUEST_SIZE.3
index 10c15b9..3a62694 100644
--- a/docs/libcurl/opts/CURLINFO_REQUEST_SIZE.3
+++ b/docs/libcurl/opts/CURLINFO_REQUEST_SIZE.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLINFO_REQUEST_SIZE 3 "May 06, 2017" "libcurl 7.65.3" "curl_easy_getinfo options"
+.TH CURLINFO_REQUEST_SIZE 3 "May 06, 2017" "libcurl 7.66.0" "curl_easy_getinfo options"
 
 .SH NAME
 CURLINFO_REQUEST_SIZE \- get size of sent request
diff --git a/docs/libcurl/opts/CURLINFO_RESPONSE_CODE.3 b/docs/libcurl/opts/CURLINFO_RESPONSE_CODE.3
index 37a4c66..3a48648 100644
--- a/docs/libcurl/opts/CURLINFO_RESPONSE_CODE.3
+++ b/docs/libcurl/opts/CURLINFO_RESPONSE_CODE.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLINFO_RESPONSE_CODE 3 "February 03, 2016" "libcurl 7.65.3" "curl_easy_getinfo options"
+.TH CURLINFO_RESPONSE_CODE 3 "February 03, 2016" "libcurl 7.66.0" "curl_easy_getinfo options"
 
 .SH NAME
 CURLINFO_RESPONSE_CODE \- get the last response code
diff --git a/docs/libcurl/opts/CURLINFO_RETRY_AFTER.3 b/docs/libcurl/opts/CURLINFO_RETRY_AFTER.3
new file mode 100644
index 0000000..e4c16f2
--- /dev/null
+++ b/docs/libcurl/opts/CURLINFO_RETRY_AFTER.3
@@ -0,0 +1,64 @@
+.\" **************************************************************************
+.\" *                                  _   _ ____  _
+.\" *  Project                     ___| | | |  _ \| |
+.\" *                             / __| | | | |_) | |
+.\" *                            | (__| |_| |  _ <| |___
+.\" *                             \___|\___/|_| \_\_____|
+.\" *
+.\" * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" *
+.\" * This software is licensed as described in the file COPYING, which
+.\" * you should have received as part of this distribution. The terms
+.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" *
+.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+.\" * copies of the Software, and permit persons to whom the Software is
+.\" * furnished to do so, under the terms of the COPYING file.
+.\" *
+.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+.\" * KIND, either express or implied.
+.\" *
+.\" **************************************************************************
+.\"
+.TH CURLINFO_RETRY_AFTER 3 "August 06, 2019" "libcurl 7.66.0" "curl_easy_getinfo options"
+
+.SH NAME
+CURLINFO_RETRY_AFTER \- returns the Retry-After retry delay
+.SH SYNOPSIS
+#include <curl/curl.h>
+
+CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_RETRY_AFTER, curl_off_t *retry);
+.SH DESCRIPTION
+Pass a pointer to a curl_off_t variable to receive the number of seconds the
+HTTP server suggesets the client should wait until the next request is
+issued. The information from the "Retry-After:" header.
+
+While the HTTP header might contain a fixed date string, the
+\fICURLINFO_RETRY_AFTER(3)\fP will alwaus return number of seconds to wait -
+or zero if there was no header or the header couldn't be parsed.
+.SH DEFAULT
+Returns zero delay if there was no header.
+.SH PROTOCOLS
+HTTP(S)
+.SH EXAMPLE
+.nf
+CURL *curl = curl_easy_init();
+if(curl) {
+  CURLcode res;
+  curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
+  res = curl_easy_perform(curl);
+  if(res == CURLE_OK) {
+    curl_off_t wait = 0;
+    curl_easy_getinfo(curl, CURLINFO_RETRY_AFTER, &wait);
+    if(wait)
+      printf("Wait for %" CURL_FORMAT_CURL_OFF_T " seconds\\n", wait);
+  }
+  curl_easy_cleanup(curl);
+}
+.fi
+.SH AVAILABILITY
+Added in curl 7.66.0
+.SH RETURN VALUE
+Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
+.SH "SEE ALSO"
+.BR CURLOPT_STDERR "(3), " CURLOPT_HEADERFUNCTION "(3), "
diff --git a/docs/libcurl/opts/CURLINFO_RTSP_CLIENT_CSEQ.3 b/docs/libcurl/opts/CURLINFO_RTSP_CLIENT_CSEQ.3
index 0daa988..a4d7adc 100644
--- a/docs/libcurl/opts/CURLINFO_RTSP_CLIENT_CSEQ.3
+++ b/docs/libcurl/opts/CURLINFO_RTSP_CLIENT_CSEQ.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLINFO_RTSP_CLIENT_CSEQ 3 "May 31, 2017" "libcurl 7.65.3" "curl_easy_getinfo options"
+.TH CURLINFO_RTSP_CLIENT_CSEQ 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_getinfo options"
 
 .SH NAME
 CURLINFO_RTSP_CLIENT_CSEQ \- get the next RTSP client CSeq
diff --git a/docs/libcurl/opts/CURLINFO_RTSP_CSEQ_RECV.3 b/docs/libcurl/opts/CURLINFO_RTSP_CSEQ_RECV.3
index 050d6ca..fb4bb96 100644
--- a/docs/libcurl/opts/CURLINFO_RTSP_CSEQ_RECV.3
+++ b/docs/libcurl/opts/CURLINFO_RTSP_CSEQ_RECV.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLINFO_RTSP_CSEQ_RECV 3 "May 31, 2017" "libcurl 7.65.3" "curl_easy_getinfo options"
+.TH CURLINFO_RTSP_CSEQ_RECV 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_getinfo options"
 
 .SH NAME
 CURLINFO_RTSP_CSEQ_RECV \- get the recently received CSeq
diff --git a/docs/libcurl/opts/CURLINFO_RTSP_SERVER_CSEQ.3 b/docs/libcurl/opts/CURLINFO_RTSP_SERVER_CSEQ.3
index a0a51e9..74495e2 100644
--- a/docs/libcurl/opts/CURLINFO_RTSP_SERVER_CSEQ.3
+++ b/docs/libcurl/opts/CURLINFO_RTSP_SERVER_CSEQ.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLINFO_RTSP_SERVER_CSEQ 3 "May 31, 2017" "libcurl 7.65.3" "curl_easy_getinfo options"
+.TH CURLINFO_RTSP_SERVER_CSEQ 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_getinfo options"
 
 .SH NAME
 CURLINFO_RTSP_SERVER_CSEQ \- get the next RTSP server CSeq
diff --git a/docs/libcurl/opts/CURLINFO_RTSP_SESSION_ID.3 b/docs/libcurl/opts/CURLINFO_RTSP_SESSION_ID.3
index 758cfa0..33dbee0 100644
--- a/docs/libcurl/opts/CURLINFO_RTSP_SESSION_ID.3
+++ b/docs/libcurl/opts/CURLINFO_RTSP_SESSION_ID.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLINFO_RTSP_SESSION_ID 3 "May 31, 2017" "libcurl 7.65.3" "curl_easy_getinfo options"
+.TH CURLINFO_RTSP_SESSION_ID 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_getinfo options"
 
 .SH NAME
 CURLINFO_RTSP_SESSION_ID \- get RTSP session ID
diff --git a/docs/libcurl/opts/CURLINFO_SCHEME.3 b/docs/libcurl/opts/CURLINFO_SCHEME.3
index 7d4ef0f..15fc340 100644
--- a/docs/libcurl/opts/CURLINFO_SCHEME.3
+++ b/docs/libcurl/opts/CURLINFO_SCHEME.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLINFO_SCHEME 3 "April 08, 2017" "libcurl 7.65.3" "curl_easy_getinfo options"
+.TH CURLINFO_SCHEME 3 "April 08, 2017" "libcurl 7.66.0" "curl_easy_getinfo options"
 
 .SH NAME
 CURLINFO_SCHEME \- get the URL scheme (sometimes called protocol) used in the connection
diff --git a/docs/libcurl/opts/CURLINFO_SIZE_DOWNLOAD.3 b/docs/libcurl/opts/CURLINFO_SIZE_DOWNLOAD.3
index 4b1d4e0..df0fb2c 100644
--- a/docs/libcurl/opts/CURLINFO_SIZE_DOWNLOAD.3
+++ b/docs/libcurl/opts/CURLINFO_SIZE_DOWNLOAD.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLINFO_SIZE_DOWNLOAD 3 "June 15, 2017" "libcurl 7.65.3" "curl_easy_getinfo options"
+.TH CURLINFO_SIZE_DOWNLOAD 3 "June 15, 2017" "libcurl 7.66.0" "curl_easy_getinfo options"
 
 .SH NAME
 CURLINFO_SIZE_DOWNLOAD \- get the number of downloaded bytes
diff --git a/docs/libcurl/opts/CURLINFO_SIZE_DOWNLOAD_T.3 b/docs/libcurl/opts/CURLINFO_SIZE_DOWNLOAD_T.3
index 8e520aa..f55f4c7 100644
--- a/docs/libcurl/opts/CURLINFO_SIZE_DOWNLOAD_T.3
+++ b/docs/libcurl/opts/CURLINFO_SIZE_DOWNLOAD_T.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLINFO_SIZE_DOWNLOAD_T 3 "March 31, 2018" "libcurl 7.65.3" "curl_easy_getinfo options"
+.TH CURLINFO_SIZE_DOWNLOAD_T 3 "March 31, 2018" "libcurl 7.66.0" "curl_easy_getinfo options"
 
 .SH NAME
 CURLINFO_SIZE_DOWNLOAD_T \- get the number of downloaded bytes
diff --git a/docs/libcurl/opts/CURLINFO_SIZE_UPLOAD.3 b/docs/libcurl/opts/CURLINFO_SIZE_UPLOAD.3
index 8706cf9..91b329c 100644
--- a/docs/libcurl/opts/CURLINFO_SIZE_UPLOAD.3
+++ b/docs/libcurl/opts/CURLINFO_SIZE_UPLOAD.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLINFO_SIZE_UPLOAD 3 "June 15, 2017" "libcurl 7.65.3" "curl_easy_getinfo options"
+.TH CURLINFO_SIZE_UPLOAD 3 "June 15, 2017" "libcurl 7.66.0" "curl_easy_getinfo options"
 
 .SH NAME
 CURLINFO_SIZE_UPLOAD \- get the number of uploaded bytes
diff --git a/docs/libcurl/opts/CURLINFO_SIZE_UPLOAD_T.3 b/docs/libcurl/opts/CURLINFO_SIZE_UPLOAD_T.3
index 2999eeb..a1dae53 100644
--- a/docs/libcurl/opts/CURLINFO_SIZE_UPLOAD_T.3
+++ b/docs/libcurl/opts/CURLINFO_SIZE_UPLOAD_T.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLINFO_SIZE_UPLOAD_T 3 "March 31, 2018" "libcurl 7.65.3" "curl_easy_getinfo options"
+.TH CURLINFO_SIZE_UPLOAD_T 3 "March 31, 2018" "libcurl 7.66.0" "curl_easy_getinfo options"
 
 .SH NAME
 CURLINFO_SIZE_UPLOAD_T \- get the number of uploaded bytes
diff --git a/docs/libcurl/opts/CURLINFO_SPEED_DOWNLOAD.3 b/docs/libcurl/opts/CURLINFO_SPEED_DOWNLOAD.3
index 05ce5ec..47ccef0 100644
--- a/docs/libcurl/opts/CURLINFO_SPEED_DOWNLOAD.3
+++ b/docs/libcurl/opts/CURLINFO_SPEED_DOWNLOAD.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLINFO_SPEED_DOWNLOAD 3 "June 15, 2017" "libcurl 7.65.3" "curl_easy_getinfo options"
+.TH CURLINFO_SPEED_DOWNLOAD 3 "June 15, 2017" "libcurl 7.66.0" "curl_easy_getinfo options"
 
 .SH NAME
 CURLINFO_SPEED_DOWNLOAD \- get download speed
diff --git a/docs/libcurl/opts/CURLINFO_SPEED_DOWNLOAD_T.3 b/docs/libcurl/opts/CURLINFO_SPEED_DOWNLOAD_T.3
index b549786..36aae6a 100644
--- a/docs/libcurl/opts/CURLINFO_SPEED_DOWNLOAD_T.3
+++ b/docs/libcurl/opts/CURLINFO_SPEED_DOWNLOAD_T.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLINFO_SPEED_DOWNLOAD_T 3 "March 31, 2018" "libcurl 7.65.3" "curl_easy_getinfo options"
+.TH CURLINFO_SPEED_DOWNLOAD_T 3 "March 31, 2018" "libcurl 7.66.0" "curl_easy_getinfo options"
 
 .SH NAME
 CURLINFO_SPEED_DOWNLOAD_T \- get download speed
diff --git a/docs/libcurl/opts/CURLINFO_SPEED_UPLOAD.3 b/docs/libcurl/opts/CURLINFO_SPEED_UPLOAD.3
index 8eb3f31..6754775 100644
--- a/docs/libcurl/opts/CURLINFO_SPEED_UPLOAD.3
+++ b/docs/libcurl/opts/CURLINFO_SPEED_UPLOAD.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLINFO_SPEED_UPLOAD 3 "June 15, 2017" "libcurl 7.65.3" "curl_easy_getinfo options"
+.TH CURLINFO_SPEED_UPLOAD 3 "June 15, 2017" "libcurl 7.66.0" "curl_easy_getinfo options"
 
 .SH NAME
 CURLINFO_SPEED_UPLOAD \- get upload speed
diff --git a/docs/libcurl/opts/CURLINFO_SPEED_UPLOAD_T.3 b/docs/libcurl/opts/CURLINFO_SPEED_UPLOAD_T.3
index b224eb9..4164cbe 100644
--- a/docs/libcurl/opts/CURLINFO_SPEED_UPLOAD_T.3
+++ b/docs/libcurl/opts/CURLINFO_SPEED_UPLOAD_T.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLINFO_SPEED_UPLOAD_T 3 "March 31, 2018" "libcurl 7.65.3" "curl_easy_getinfo options"
+.TH CURLINFO_SPEED_UPLOAD_T 3 "March 31, 2018" "libcurl 7.66.0" "curl_easy_getinfo options"
 
 .SH NAME
 CURLINFO_SPEED_UPLOAD_T \- get upload speed
diff --git a/docs/libcurl/opts/CURLINFO_SSL_ENGINES.3 b/docs/libcurl/opts/CURLINFO_SSL_ENGINES.3
index e897027..9ea8ac7 100644
--- a/docs/libcurl/opts/CURLINFO_SSL_ENGINES.3
+++ b/docs/libcurl/opts/CURLINFO_SSL_ENGINES.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLINFO_SSL_ENGINES 3 "May 31, 2017" "libcurl 7.65.3" "curl_easy_getinfo options"
+.TH CURLINFO_SSL_ENGINES 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_getinfo options"
 
 .SH NAME
 CURLINFO_SSL_ENGINES \- get an slist of OpenSSL crypto-engines
diff --git a/docs/libcurl/opts/CURLINFO_SSL_VERIFYRESULT.3 b/docs/libcurl/opts/CURLINFO_SSL_VERIFYRESULT.3
index 189443d..b07e59d 100644
--- a/docs/libcurl/opts/CURLINFO_SSL_VERIFYRESULT.3
+++ b/docs/libcurl/opts/CURLINFO_SSL_VERIFYRESULT.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLINFO_SSL_VERIFYRESULT 3 "March 21, 2018" "libcurl 7.65.3" "curl_easy_getinfo options"
+.TH CURLINFO_SSL_VERIFYRESULT 3 "March 21, 2018" "libcurl 7.66.0" "curl_easy_getinfo options"
 
 .SH NAME
 CURLINFO_SSL_VERIFYRESULT \- get the result of the certificate verification
diff --git a/docs/libcurl/opts/CURLINFO_STARTTRANSFER_TIME.3 b/docs/libcurl/opts/CURLINFO_STARTTRANSFER_TIME.3
index 4376165..dfcbf08 100644
--- a/docs/libcurl/opts/CURLINFO_STARTTRANSFER_TIME.3
+++ b/docs/libcurl/opts/CURLINFO_STARTTRANSFER_TIME.3
@@ -5,7 +5,7 @@
 .\" *                            | (__| |_| |  _ <| |___
 .\" *                             \___|\___/|_| \_\_____|
 .\" *
-.\" * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLINFO_STARTTRANSFER_TIME 3 "May 17, 2018" "libcurl 7.65.3" "curl_easy_getinfo options"
+.TH CURLINFO_STARTTRANSFER_TIME 3 "August 26, 2019" "libcurl 7.66.0" "curl_easy_getinfo options"
 
 .SH NAME
 CURLINFO_STARTTRANSFER_TIME \- get the time until the first byte is received
@@ -34,6 +34,8 @@
 \fICURLINFO_PRETRANSFER_TIME(3)\fP and also the time the server needs to
 calculate the result.
 
+When a redirect is followed, the time from each request is added together.
+
 See also the TIMES overview in the \fIcurl_easy_getinfo(3)\fP man page.
 .SH PROTOCOLS
 All
diff --git a/docs/libcurl/opts/CURLINFO_STARTTRANSFER_TIME_T.3 b/docs/libcurl/opts/CURLINFO_STARTTRANSFER_TIME_T.3
index e7e72b1..f2cca5f 100644
--- a/docs/libcurl/opts/CURLINFO_STARTTRANSFER_TIME_T.3
+++ b/docs/libcurl/opts/CURLINFO_STARTTRANSFER_TIME_T.3
@@ -5,7 +5,7 @@
 .\" *                            | (__| |_| |  _ <| |___
 .\" *                             \___|\___/|_| \_\_____|
 .\" *
-.\" * Copyright (C) 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 2018 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLINFO_STARTTRANSFER_TIME_T 3 "May 17, 2018" "libcurl 7.65.3" "curl_easy_getinfo options"
+.TH CURLINFO_STARTTRANSFER_TIME_T 3 "August 26, 2019" "libcurl 7.66.0" "curl_easy_getinfo options"
 
 .SH NAME
 CURLINFO_STARTTRANSFER_TIME_T \- get the time until the first byte is received
@@ -35,6 +35,8 @@
 \fICURLINFO_PRETRANSFER_TIME_T(3)\fP and also the time the server needs to
 calculate the result.
 
+When a redirect is followed, the time from each request is added together.
+
 See also the TIMES overview in the \fIcurl_easy_getinfo(3)\fP man page.
 .SH PROTOCOLS
 All
diff --git a/docs/libcurl/opts/CURLINFO_TLS_SESSION.3 b/docs/libcurl/opts/CURLINFO_TLS_SESSION.3
index 06844cc..da79964 100644
--- a/docs/libcurl/opts/CURLINFO_TLS_SESSION.3
+++ b/docs/libcurl/opts/CURLINFO_TLS_SESSION.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLINFO_TLS_SESSION 3 "May 31, 2017" "libcurl 7.65.3" "curl_easy_getinfo options"
+.TH CURLINFO_TLS_SESSION 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_getinfo options"
 
 .SH NAME
 CURLINFO_TLS_SESSION \- get TLS session info
diff --git a/docs/libcurl/opts/CURLINFO_TLS_SSL_PTR.3 b/docs/libcurl/opts/CURLINFO_TLS_SSL_PTR.3
index 2f77c12..37720ba 100644
--- a/docs/libcurl/opts/CURLINFO_TLS_SSL_PTR.3
+++ b/docs/libcurl/opts/CURLINFO_TLS_SSL_PTR.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLINFO_TLS_SSL_PTR 3 "July 16, 2019" "libcurl 7.65.3" "curl_easy_getinfo options"
+.TH CURLINFO_TLS_SSL_PTR 3 "July 16, 2019" "libcurl 7.66.0" "curl_easy_getinfo options"
 
 .SH NAME
 CURLINFO_TLS_SESSION, CURLINFO_TLS_SSL_PTR \- get TLS session info
diff --git a/docs/libcurl/opts/CURLINFO_TOTAL_TIME.3 b/docs/libcurl/opts/CURLINFO_TOTAL_TIME.3
index 2b0dbd7..885992b 100644
--- a/docs/libcurl/opts/CURLINFO_TOTAL_TIME.3
+++ b/docs/libcurl/opts/CURLINFO_TOTAL_TIME.3
@@ -5,7 +5,7 @@
 .\" *                            | (__| |_| |  _ <| |___
 .\" *                             \___|\___/|_| \_\_____|
 .\" *
-.\" * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLINFO_TOTAL_TIME 3 "May 17, 2018" "libcurl 7.65.3" "curl_easy_getinfo options"
+.TH CURLINFO_TOTAL_TIME 3 "August 26, 2019" "libcurl 7.66.0" "curl_easy_getinfo options"
 
 .SH NAME
 CURLINFO_TOTAL_TIME \- get total time of previous transfer
@@ -33,6 +33,8 @@
 previous transfer, including name resolving, TCP connect etc. The double
 represents the time in seconds, including fractions.
 
+When a redirect is followed, the time from each request is added together.
+
 See also the TIMES overview in the \fIcurl_easy_getinfo(3)\fP man page.
 .SH PROTOCOLS
 All
diff --git a/docs/libcurl/opts/CURLINFO_TOTAL_TIME_T.3 b/docs/libcurl/opts/CURLINFO_TOTAL_TIME_T.3
index 2e13883..dae059a 100644
--- a/docs/libcurl/opts/CURLINFO_TOTAL_TIME_T.3
+++ b/docs/libcurl/opts/CURLINFO_TOTAL_TIME_T.3
@@ -5,7 +5,7 @@
 .\" *                            | (__| |_| |  _ <| |___
 .\" *                             \___|\___/|_| \_\_____|
 .\" *
-.\" * Copyright (C) 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 2018 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLINFO_TOTAL_TIME_T 3 "May 17, 2018" "libcurl 7.65.3" "curl_easy_getinfo options"
+.TH CURLINFO_TOTAL_TIME_T 3 "August 26, 2019" "libcurl 7.66.0" "curl_easy_getinfo options"
 
 .SH NAME
 CURLINFO_TOTAL_TIME_T \- get total time of previous transfer in microseconds
@@ -33,6 +33,8 @@
 for the previous transfer, including name resolving, TCP connect etc.
 The curl_off_t represents the time in microseconds.
 
+When a redirect is followed, the time from each request is added together.
+
 See also the TIMES overview in the \fIcurl_easy_getinfo(3)\fP man page.
 .SH PROTOCOLS
 All
diff --git a/docs/libcurl/opts/CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE.3 b/docs/libcurl/opts/CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE.3
index 9a9964c..957ba39 100644
--- a/docs/libcurl/opts/CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE.3
+++ b/docs/libcurl/opts/CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE 3 "April 05, 2019" "libcurl 7.65.3" "curl_multi_setopt options"
+.TH CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE 3 "April 05, 2019" "libcurl 7.66.0" "curl_multi_setopt options"
 
 .SH NAME
 CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE \- chunk length threshold for pipelining
diff --git a/docs/libcurl/opts/CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE.3 b/docs/libcurl/opts/CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE.3
index 04b06d9..9fdb8fd 100644
--- a/docs/libcurl/opts/CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE.3
+++ b/docs/libcurl/opts/CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE 3 "April 05, 2019" "libcurl 7.65.3" "curl_multi_setopt options"
+.TH CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE 3 "April 05, 2019" "libcurl 7.66.0" "curl_multi_setopt options"
 
 .SH NAME
 CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE \- size threshold for pipelining penalty
diff --git a/docs/libcurl/opts/CURLMOPT_MAXCONNECTS.3 b/docs/libcurl/opts/CURLMOPT_MAXCONNECTS.3
index bb5c6cb..bd83013 100644
--- a/docs/libcurl/opts/CURLMOPT_MAXCONNECTS.3
+++ b/docs/libcurl/opts/CURLMOPT_MAXCONNECTS.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLMOPT_MAXCONNECTS 3 "September 23, 2018" "libcurl 7.65.3" "curl_multi_setopt options"
+.TH CURLMOPT_MAXCONNECTS 3 "September 23, 2018" "libcurl 7.66.0" "curl_multi_setopt options"
 
 .SH NAME
 CURLMOPT_MAXCONNECTS \- set size of connection cache
diff --git a/docs/libcurl/opts/CURLMOPT_MAX_HOST_CONNECTIONS.3 b/docs/libcurl/opts/CURLMOPT_MAX_HOST_CONNECTIONS.3
index aca764b..2e20451 100644
--- a/docs/libcurl/opts/CURLMOPT_MAX_HOST_CONNECTIONS.3
+++ b/docs/libcurl/opts/CURLMOPT_MAX_HOST_CONNECTIONS.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLMOPT_MAX_HOST_CONNECTIONS 3 "May 27, 2017" "libcurl 7.65.3" "curl_multi_setopt options"
+.TH CURLMOPT_MAX_HOST_CONNECTIONS 3 "May 27, 2017" "libcurl 7.66.0" "curl_multi_setopt options"
 
 .SH NAME
 CURLMOPT_MAX_HOST_CONNECTIONS \- set max number of connections to a single host
diff --git a/docs/libcurl/opts/CURLMOPT_MAX_PIPELINE_LENGTH.3 b/docs/libcurl/opts/CURLMOPT_MAX_PIPELINE_LENGTH.3
index 1321c57..788e24d 100644
--- a/docs/libcurl/opts/CURLMOPT_MAX_PIPELINE_LENGTH.3
+++ b/docs/libcurl/opts/CURLMOPT_MAX_PIPELINE_LENGTH.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLMOPT_MAX_PIPELINE_LENGTH 3 "April 05, 2019" "libcurl 7.65.3" "curl_multi_setopt options"
+.TH CURLMOPT_MAX_PIPELINE_LENGTH 3 "April 05, 2019" "libcurl 7.66.0" "curl_multi_setopt options"
 
 .SH NAME
 CURLMOPT_MAX_PIPELINE_LENGTH \- maximum number of requests in a pipeline
diff --git a/docs/libcurl/opts/CURLMOPT_MAX_TOTAL_CONNECTIONS.3 b/docs/libcurl/opts/CURLMOPT_MAX_TOTAL_CONNECTIONS.3
index e23a054..e3e1deb 100644
--- a/docs/libcurl/opts/CURLMOPT_MAX_TOTAL_CONNECTIONS.3
+++ b/docs/libcurl/opts/CURLMOPT_MAX_TOTAL_CONNECTIONS.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLMOPT_MAX_TOTAL_CONNECTIONS 3 "May 27, 2017" "libcurl 7.65.3" "curl_multi_setopt options"
+.TH CURLMOPT_MAX_TOTAL_CONNECTIONS 3 "May 27, 2017" "libcurl 7.66.0" "curl_multi_setopt options"
 
 .SH NAME
 CURLMOPT_MAX_TOTAL_CONNECTIONS \- max simultaneously open connections
diff --git a/docs/libcurl/opts/CURLMOPT_PIPELINING.3 b/docs/libcurl/opts/CURLMOPT_PIPELINING.3
index fd05ad2..0b5fc1e 100644
--- a/docs/libcurl/opts/CURLMOPT_PIPELINING.3
+++ b/docs/libcurl/opts/CURLMOPT_PIPELINING.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLMOPT_PIPELINING 3 "April 05, 2019" "libcurl 7.65.3" "curl_multi_setopt options"
+.TH CURLMOPT_PIPELINING 3 "April 05, 2019" "libcurl 7.66.0" "curl_multi_setopt options"
 
 .SH NAME
 CURLMOPT_PIPELINING \- enable HTTP pipelining and multiplexing
diff --git a/docs/libcurl/opts/CURLMOPT_PIPELINING_SERVER_BL.3 b/docs/libcurl/opts/CURLMOPT_PIPELINING_SERVER_BL.3
index e2987d1..599bf92 100644
--- a/docs/libcurl/opts/CURLMOPT_PIPELINING_SERVER_BL.3
+++ b/docs/libcurl/opts/CURLMOPT_PIPELINING_SERVER_BL.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLMOPT_PIPELINING_SERVER_BL 3 "April 05, 2019" "libcurl 7.65.3" "curl_multi_setopt options"
+.TH CURLMOPT_PIPELINING_SERVER_BL 3 "April 05, 2019" "libcurl 7.66.0" "curl_multi_setopt options"
 
 .SH NAME
 CURLMOPT_PIPELINING_SERVER_BL \- pipelining server blacklist
diff --git a/docs/libcurl/opts/CURLMOPT_PIPELINING_SITE_BL.3 b/docs/libcurl/opts/CURLMOPT_PIPELINING_SITE_BL.3
index 371dc52..6113e7c 100644
--- a/docs/libcurl/opts/CURLMOPT_PIPELINING_SITE_BL.3
+++ b/docs/libcurl/opts/CURLMOPT_PIPELINING_SITE_BL.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLMOPT_PIPELINING_SITE_BL 3 "April 05, 2019" "libcurl 7.65.3" "curl_multi_setopt options"
+.TH CURLMOPT_PIPELINING_SITE_BL 3 "April 05, 2019" "libcurl 7.66.0" "curl_multi_setopt options"
 
 .SH NAME
 CURLMOPT_PIPELINING_SITE_BL \- pipelining host blacklist
diff --git a/docs/libcurl/opts/CURLMOPT_PUSHDATA.3 b/docs/libcurl/opts/CURLMOPT_PUSHDATA.3
index f3f76d3..b55d41c 100644
--- a/docs/libcurl/opts/CURLMOPT_PUSHDATA.3
+++ b/docs/libcurl/opts/CURLMOPT_PUSHDATA.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLMOPT_PUSHDATA 3 "May 27, 2017" "libcurl 7.65.3" "curl_multi_setopt options"
+.TH CURLMOPT_PUSHDATA 3 "May 27, 2017" "libcurl 7.66.0" "curl_multi_setopt options"
 
 .SH NAME
 CURLMOPT_PUSHDATA \- pointer to pass to push callback
diff --git a/docs/libcurl/opts/CURLMOPT_PUSHFUNCTION.3 b/docs/libcurl/opts/CURLMOPT_PUSHFUNCTION.3
index 0f23126..bec3c27 100644
--- a/docs/libcurl/opts/CURLMOPT_PUSHFUNCTION.3
+++ b/docs/libcurl/opts/CURLMOPT_PUSHFUNCTION.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLMOPT_PUSHFUNCTION 3 "February 03, 2016" "libcurl 7.65.3" "curl_multi_setopt options"
+.TH CURLMOPT_PUSHFUNCTION 3 "February 03, 2016" "libcurl 7.66.0" "curl_multi_setopt options"
 
 .SH NAME
 CURLMOPT_PUSHFUNCTION \- callback that approves or denies server pushes
diff --git a/docs/libcurl/opts/CURLMOPT_SOCKETDATA.3 b/docs/libcurl/opts/CURLMOPT_SOCKETDATA.3
index 7a0b08a..dc6bc01 100644
--- a/docs/libcurl/opts/CURLMOPT_SOCKETDATA.3
+++ b/docs/libcurl/opts/CURLMOPT_SOCKETDATA.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLMOPT_SOCKETDATA 3 "May 31, 2017" "libcurl 7.65.3" "curl_multi_setopt options"
+.TH CURLMOPT_SOCKETDATA 3 "May 31, 2017" "libcurl 7.66.0" "curl_multi_setopt options"
 
 .SH NAME
 CURLMOPT_SOCKETDATA \- custom pointer passed to the socket callback
diff --git a/docs/libcurl/opts/CURLMOPT_SOCKETFUNCTION.3 b/docs/libcurl/opts/CURLMOPT_SOCKETFUNCTION.3
index e363a5d..21429cd 100644
--- a/docs/libcurl/opts/CURLMOPT_SOCKETFUNCTION.3
+++ b/docs/libcurl/opts/CURLMOPT_SOCKETFUNCTION.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLMOPT_SOCKETFUNCTION 3 "June 24, 2019" "libcurl 7.65.3" "curl_multi_setopt options"
+.TH CURLMOPT_SOCKETFUNCTION 3 "June 24, 2019" "libcurl 7.66.0" "curl_multi_setopt options"
 
 .SH NAME
 CURLMOPT_SOCKETFUNCTION \- callback informed about what to wait for
diff --git a/docs/libcurl/opts/CURLMOPT_TIMERDATA.3 b/docs/libcurl/opts/CURLMOPT_TIMERDATA.3
index d27d37a..b98c37c 100644
--- a/docs/libcurl/opts/CURLMOPT_TIMERDATA.3
+++ b/docs/libcurl/opts/CURLMOPT_TIMERDATA.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLMOPT_TIMERDATA 3 "May 27, 2017" "libcurl 7.65.3" "curl_multi_setopt options"
+.TH CURLMOPT_TIMERDATA 3 "May 27, 2017" "libcurl 7.66.0" "curl_multi_setopt options"
 
 .SH NAME
 CURLMOPT_TIMERDATA \- custom pointer to pass to timer callback
diff --git a/docs/libcurl/opts/CURLMOPT_TIMERFUNCTION.3 b/docs/libcurl/opts/CURLMOPT_TIMERFUNCTION.3
index 02c92a1..46e7619 100644
--- a/docs/libcurl/opts/CURLMOPT_TIMERFUNCTION.3
+++ b/docs/libcurl/opts/CURLMOPT_TIMERFUNCTION.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLMOPT_TIMERFUNCTION 3 "May 03, 2019" "libcurl 7.65.3" "curl_multi_setopt options"
+.TH CURLMOPT_TIMERFUNCTION 3 "May 03, 2019" "libcurl 7.66.0" "curl_multi_setopt options"
 
 .SH NAME
 CURLMOPT_TIMERFUNCTION \- set callback to receive timeout values
diff --git a/docs/libcurl/opts/CURLOPT_ABSTRACT_UNIX_SOCKET.3 b/docs/libcurl/opts/CURLOPT_ABSTRACT_UNIX_SOCKET.3
index 842ca64..b94156e 100644
--- a/docs/libcurl/opts/CURLOPT_ABSTRACT_UNIX_SOCKET.3
+++ b/docs/libcurl/opts/CURLOPT_ABSTRACT_UNIX_SOCKET.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_ABSTRACT_UNIX_SOCKET 3 "January 09, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_ABSTRACT_UNIX_SOCKET 3 "January 09, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_ABSTRACT_UNIX_SOCKET \- set an abstract Unix domain socket
diff --git a/docs/libcurl/opts/CURLOPT_ACCEPTTIMEOUT_MS.3 b/docs/libcurl/opts/CURLOPT_ACCEPTTIMEOUT_MS.3
index 82dcb81..02348b9 100644
--- a/docs/libcurl/opts/CURLOPT_ACCEPTTIMEOUT_MS.3
+++ b/docs/libcurl/opts/CURLOPT_ACCEPTTIMEOUT_MS.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_ACCEPTTIMEOUT_MS 3 "March 06, 2016" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_ACCEPTTIMEOUT_MS 3 "March 06, 2016" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_ACCEPTTIMEOUT_MS \- timeout waiting for FTP server to connect back
diff --git a/docs/libcurl/opts/CURLOPT_ACCEPT_ENCODING.3 b/docs/libcurl/opts/CURLOPT_ACCEPT_ENCODING.3
index f01b9d5..cf877ab 100644
--- a/docs/libcurl/opts/CURLOPT_ACCEPT_ENCODING.3
+++ b/docs/libcurl/opts/CURLOPT_ACCEPT_ENCODING.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_ACCEPT_ENCODING 3 "August 27, 2018" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_ACCEPT_ENCODING 3 "August 27, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_ACCEPT_ENCODING \- enables automatic decompression of HTTP downloads
diff --git a/docs/libcurl/opts/CURLOPT_ADDRESS_SCOPE.3 b/docs/libcurl/opts/CURLOPT_ADDRESS_SCOPE.3
index 5cc8158..b914997 100644
--- a/docs/libcurl/opts/CURLOPT_ADDRESS_SCOPE.3
+++ b/docs/libcurl/opts/CURLOPT_ADDRESS_SCOPE.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_ADDRESS_SCOPE 3 "March 07, 2019" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_ADDRESS_SCOPE 3 "March 07, 2019" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_ADDRESS_SCOPE \- set scope id for IPv6 addresses
diff --git a/docs/libcurl/opts/CURLOPT_ALTSVC.3 b/docs/libcurl/opts/CURLOPT_ALTSVC.3
index 9529d5b..fe819f6 100644
--- a/docs/libcurl/opts/CURLOPT_ALTSVC.3
+++ b/docs/libcurl/opts/CURLOPT_ALTSVC.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_ALTSVC 3 "April 03, 2019" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_ALTSVC 3 "August 14, 2019" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_ALTSVC \- set alt-svc cache file name
@@ -40,6 +40,8 @@
 the Alt-Svc cache to read existing cache contents from and possibly also write
 it back to a after a transfer, unless \fBCURLALTSVC_READONLYFILE\fP is set in
 \fICURLOPT_ALTSVC_CTRL(3)\fP.
+
+Specify a blank file name ("") to make libcurl not load from a file at all.
 .SH DEFAULT
 NULL. The alt-svc cache is not read nor written to file.
 .SH PROTOCOLS
diff --git a/docs/libcurl/opts/CURLOPT_ALTSVC_CTRL.3 b/docs/libcurl/opts/CURLOPT_ALTSVC_CTRL.3
index db0fe35..425bd64 100644
--- a/docs/libcurl/opts/CURLOPT_ALTSVC_CTRL.3
+++ b/docs/libcurl/opts/CURLOPT_ALTSVC_CTRL.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_ALTSVC_CTRL 3 "April 03, 2019" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_ALTSVC_CTRL 3 "August 13, 2019" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_ALTSVC_CTRL \- control alt-svc behavior
@@ -29,7 +29,6 @@
 #include <curl/curl.h>
 
 #define CURLALTSVC_IMMEDIATELY  (1<<0)
-#define CURLALTSVC_ALTUSED      (1<<1)
 #define CURLALTSVC_READONLYFILE (1<<2)
 #define CURLALTSVC_H1           (1<<3)
 #define CURLALTSVC_H2           (1<<4)
@@ -54,10 +53,8 @@
 Setting any bit will enable the alt-svc engine.
 .IP "CURLALTSVC_IMMEDIATELY"
 If an Alt-Svc: header is received, this instructs libcurl to switch to one of
-those alternatives asap rather than to save it and use for the next request.
-.IP "CURLALTSVC_ALTUSED"
-Issue the Alt-Used: header in all requests that have been redirected by
-alt-svc.
+those alternatives asap rather than to save it and use for the next
+request. (Not currently supported).
 .IP "CURLALTSVC_READONLYFILE"
 Do not write the alt-svc cache back to the file specified with
 \fICURLOPT_ALTSVC(3)\fP even if it gets updated. By default a file specified
diff --git a/docs/libcurl/opts/CURLOPT_APPEND.3 b/docs/libcurl/opts/CURLOPT_APPEND.3
index 562c0cf..8169f2d 100644
--- a/docs/libcurl/opts/CURLOPT_APPEND.3
+++ b/docs/libcurl/opts/CURLOPT_APPEND.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_APPEND 3 "March 06, 2016" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_APPEND 3 "March 06, 2016" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_APPEND \- enable appending to the remote file
diff --git a/docs/libcurl/opts/CURLOPT_AUTOREFERER.3 b/docs/libcurl/opts/CURLOPT_AUTOREFERER.3
index b8bb2c5..463a396 100644
--- a/docs/libcurl/opts/CURLOPT_AUTOREFERER.3
+++ b/docs/libcurl/opts/CURLOPT_AUTOREFERER.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_AUTOREFERER 3 "May 05, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_AUTOREFERER 3 "May 05, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_AUTOREFERER \- automatically update the referer header
diff --git a/docs/libcurl/opts/CURLOPT_BUFFERSIZE.3 b/docs/libcurl/opts/CURLOPT_BUFFERSIZE.3
index ef41c11..76fc156 100644
--- a/docs/libcurl/opts/CURLOPT_BUFFERSIZE.3
+++ b/docs/libcurl/opts/CURLOPT_BUFFERSIZE.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_BUFFERSIZE 3 "May 13, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_BUFFERSIZE 3 "May 13, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_BUFFERSIZE \- set preferred receive buffer size
diff --git a/docs/libcurl/opts/CURLOPT_CAINFO.3 b/docs/libcurl/opts/CURLOPT_CAINFO.3
index 2a247b2..7551495 100644
--- a/docs/libcurl/opts/CURLOPT_CAINFO.3
+++ b/docs/libcurl/opts/CURLOPT_CAINFO.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_CAINFO 3 "June 10, 2019" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_CAINFO 3 "June 10, 2019" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_CAINFO \- path to Certificate Authority (CA) bundle
diff --git a/docs/libcurl/opts/CURLOPT_CAPATH.3 b/docs/libcurl/opts/CURLOPT_CAPATH.3
index 475d3d2..119a2e3 100644
--- a/docs/libcurl/opts/CURLOPT_CAPATH.3
+++ b/docs/libcurl/opts/CURLOPT_CAPATH.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_CAPATH 3 "September 10, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_CAPATH 3 "September 10, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_CAPATH \- specify directory holding CA certificates
diff --git a/docs/libcurl/opts/CURLOPT_CERTINFO.3 b/docs/libcurl/opts/CURLOPT_CERTINFO.3
index e310abc..b01d87b 100644
--- a/docs/libcurl/opts/CURLOPT_CERTINFO.3
+++ b/docs/libcurl/opts/CURLOPT_CERTINFO.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_CERTINFO 3 "January 29, 2019" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_CERTINFO 3 "January 29, 2019" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_CERTINFO \- request SSL certificate information
diff --git a/docs/libcurl/opts/CURLOPT_CHUNK_BGN_FUNCTION.3 b/docs/libcurl/opts/CURLOPT_CHUNK_BGN_FUNCTION.3
index 8e6833f..978ab0b 100644
--- a/docs/libcurl/opts/CURLOPT_CHUNK_BGN_FUNCTION.3
+++ b/docs/libcurl/opts/CURLOPT_CHUNK_BGN_FUNCTION.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_CHUNK_BGN_FUNCTION 3 "May 03, 2019" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_CHUNK_BGN_FUNCTION 3 "May 03, 2019" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_CHUNK_BGN_FUNCTION \- callback before a transfer with FTP wildcardmatch
diff --git a/docs/libcurl/opts/CURLOPT_CHUNK_DATA.3 b/docs/libcurl/opts/CURLOPT_CHUNK_DATA.3
index d398906..a07247c 100644
--- a/docs/libcurl/opts/CURLOPT_CHUNK_DATA.3
+++ b/docs/libcurl/opts/CURLOPT_CHUNK_DATA.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_CHUNK_DATA 3 "November 07, 2018" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_CHUNK_DATA 3 "November 07, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_CHUNK_DATA \- custom pointer to the FTP chunk callbacks
diff --git a/docs/libcurl/opts/CURLOPT_CHUNK_END_FUNCTION.3 b/docs/libcurl/opts/CURLOPT_CHUNK_END_FUNCTION.3
index eafec07..7af238f 100644
--- a/docs/libcurl/opts/CURLOPT_CHUNK_END_FUNCTION.3
+++ b/docs/libcurl/opts/CURLOPT_CHUNK_END_FUNCTION.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_CHUNK_END_FUNCTION 3 "May 31, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_CHUNK_END_FUNCTION 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_CHUNK_END_FUNCTION \- callback after a transfer with FTP wildcardmatch
diff --git a/docs/libcurl/opts/CURLOPT_CLOSESOCKETDATA.3 b/docs/libcurl/opts/CURLOPT_CLOSESOCKETDATA.3
index 3f33a34..90a6768 100644
--- a/docs/libcurl/opts/CURLOPT_CLOSESOCKETDATA.3
+++ b/docs/libcurl/opts/CURLOPT_CLOSESOCKETDATA.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_CLOSESOCKETDATA 3 "November 07, 2018" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_CLOSESOCKETDATA 3 "November 07, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_CLOSESOCKETDATA \- pointer passed to the socket close callback
diff --git a/docs/libcurl/opts/CURLOPT_CLOSESOCKETFUNCTION.3 b/docs/libcurl/opts/CURLOPT_CLOSESOCKETFUNCTION.3
index e9421fc..eca5bb1 100644
--- a/docs/libcurl/opts/CURLOPT_CLOSESOCKETFUNCTION.3
+++ b/docs/libcurl/opts/CURLOPT_CLOSESOCKETFUNCTION.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_CLOSESOCKETFUNCTION 3 "November 07, 2018" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_CLOSESOCKETFUNCTION 3 "November 07, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_CLOSESOCKETFUNCTION \- callback to socket close replacement function
diff --git a/docs/libcurl/opts/CURLOPT_CONNECTTIMEOUT.3 b/docs/libcurl/opts/CURLOPT_CONNECTTIMEOUT.3
index 43dde7c..72696a8 100644
--- a/docs/libcurl/opts/CURLOPT_CONNECTTIMEOUT.3
+++ b/docs/libcurl/opts/CURLOPT_CONNECTTIMEOUT.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_CONNECTTIMEOUT 3 "October 03, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_CONNECTTIMEOUT 3 "October 03, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_CONNECTTIMEOUT \- timeout for the connect phase
diff --git a/docs/libcurl/opts/CURLOPT_CONNECTTIMEOUT_MS.3 b/docs/libcurl/opts/CURLOPT_CONNECTTIMEOUT_MS.3
index 4b1358d..3e20d07 100644
--- a/docs/libcurl/opts/CURLOPT_CONNECTTIMEOUT_MS.3
+++ b/docs/libcurl/opts/CURLOPT_CONNECTTIMEOUT_MS.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_CONNECTTIMEOUT_MS 3 "September 23, 2018" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_CONNECTTIMEOUT_MS 3 "September 23, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_CONNECTTIMEOUT_MS \- timeout for the connect phase
diff --git a/docs/libcurl/opts/CURLOPT_CONNECT_ONLY.3 b/docs/libcurl/opts/CURLOPT_CONNECT_ONLY.3
index 6643b52..ca9b8de 100644
--- a/docs/libcurl/opts/CURLOPT_CONNECT_ONLY.3
+++ b/docs/libcurl/opts/CURLOPT_CONNECT_ONLY.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_CONNECT_ONLY 3 "February 18, 2019" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_CONNECT_ONLY 3 "February 18, 2019" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_CONNECT_ONLY \- stop when connected to target server
diff --git a/docs/libcurl/opts/CURLOPT_CONNECT_TO.3 b/docs/libcurl/opts/CURLOPT_CONNECT_TO.3
index 65632f3..b670aa6 100644
--- a/docs/libcurl/opts/CURLOPT_CONNECT_TO.3
+++ b/docs/libcurl/opts/CURLOPT_CONNECT_TO.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_CONNECT_TO 3 "May 05, 2018" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_CONNECT_TO 3 "May 05, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_CONNECT_TO \- Connect to a specific host and port instead of the URL's host and port
diff --git a/docs/libcurl/opts/CURLOPT_CONV_FROM_NETWORK_FUNCTION.3 b/docs/libcurl/opts/CURLOPT_CONV_FROM_NETWORK_FUNCTION.3
index 1d76c13..e135988 100644
--- a/docs/libcurl/opts/CURLOPT_CONV_FROM_NETWORK_FUNCTION.3
+++ b/docs/libcurl/opts/CURLOPT_CONV_FROM_NETWORK_FUNCTION.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_CONV_FROM_NETWORK_FUNCTION 3 "May 31, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_CONV_FROM_NETWORK_FUNCTION 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_CONV_FROM_NETWORK_FUNCTION \- convert data from network to host encoding
diff --git a/docs/libcurl/opts/CURLOPT_CONV_FROM_UTF8_FUNCTION.3 b/docs/libcurl/opts/CURLOPT_CONV_FROM_UTF8_FUNCTION.3
index fc97073..7164776 100644
--- a/docs/libcurl/opts/CURLOPT_CONV_FROM_UTF8_FUNCTION.3
+++ b/docs/libcurl/opts/CURLOPT_CONV_FROM_UTF8_FUNCTION.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_CONV_FROM_UTF8_FUNCTION 3 "May 31, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_CONV_FROM_UTF8_FUNCTION 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_CONV_FROM_UTF8_FUNCTION \- convert data from UTF8 to host encoding
diff --git a/docs/libcurl/opts/CURLOPT_CONV_TO_NETWORK_FUNCTION.3 b/docs/libcurl/opts/CURLOPT_CONV_TO_NETWORK_FUNCTION.3
index 9172aad..a50c384 100644
--- a/docs/libcurl/opts/CURLOPT_CONV_TO_NETWORK_FUNCTION.3
+++ b/docs/libcurl/opts/CURLOPT_CONV_TO_NETWORK_FUNCTION.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_CONV_TO_NETWORK_FUNCTION 3 "May 31, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_CONV_TO_NETWORK_FUNCTION 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_CONV_TO_NETWORK_FUNCTION \- convert data to network from host encoding
diff --git a/docs/libcurl/opts/CURLOPT_COOKIE.3 b/docs/libcurl/opts/CURLOPT_COOKIE.3
index c2ff78d..e5dc51b 100644
--- a/docs/libcurl/opts/CURLOPT_COOKIE.3
+++ b/docs/libcurl/opts/CURLOPT_COOKIE.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_COOKIE 3 "December 21, 2016" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_COOKIE 3 "December 21, 2016" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_COOKIE \- set contents of HTTP Cookie header
diff --git a/docs/libcurl/opts/CURLOPT_COOKIEFILE.3 b/docs/libcurl/opts/CURLOPT_COOKIEFILE.3
index ba9637b..4c9f883 100644
--- a/docs/libcurl/opts/CURLOPT_COOKIEFILE.3
+++ b/docs/libcurl/opts/CURLOPT_COOKIEFILE.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_COOKIEFILE 3 "March 13, 2018" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_COOKIEFILE 3 "March 13, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_COOKIEFILE \- file name to read cookies from
diff --git a/docs/libcurl/opts/CURLOPT_COOKIEJAR.3 b/docs/libcurl/opts/CURLOPT_COOKIEJAR.3
index a99af63..b4e3f24 100644
--- a/docs/libcurl/opts/CURLOPT_COOKIEJAR.3
+++ b/docs/libcurl/opts/CURLOPT_COOKIEJAR.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_COOKIEJAR 3 "May 05, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_COOKIEJAR 3 "May 05, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_COOKIEJAR \- file name to store cookies to
diff --git a/docs/libcurl/opts/CURLOPT_COOKIELIST.3 b/docs/libcurl/opts/CURLOPT_COOKIELIST.3
index 2c41638..ff67a41 100644
--- a/docs/libcurl/opts/CURLOPT_COOKIELIST.3
+++ b/docs/libcurl/opts/CURLOPT_COOKIELIST.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_COOKIELIST 3 "April 26, 2016" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_COOKIELIST 3 "April 26, 2016" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_COOKIELIST \- add to or manipulate cookies held in memory
diff --git a/docs/libcurl/opts/CURLOPT_COOKIESESSION.3 b/docs/libcurl/opts/CURLOPT_COOKIESESSION.3
index 7478bc8..29bdab8 100644
--- a/docs/libcurl/opts/CURLOPT_COOKIESESSION.3
+++ b/docs/libcurl/opts/CURLOPT_COOKIESESSION.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_COOKIESESSION 3 "May 05, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_COOKIESESSION 3 "May 05, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_COOKIESESSION \- start a new cookie session
diff --git a/docs/libcurl/opts/CURLOPT_COPYPOSTFIELDS.3 b/docs/libcurl/opts/CURLOPT_COPYPOSTFIELDS.3
index d97d2d9..b90afab 100644
--- a/docs/libcurl/opts/CURLOPT_COPYPOSTFIELDS.3
+++ b/docs/libcurl/opts/CURLOPT_COPYPOSTFIELDS.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_COPYPOSTFIELDS 3 "February 03, 2016" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_COPYPOSTFIELDS 3 "February 03, 2016" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_COPYPOSTFIELDS \- have libcurl copy data to POST
diff --git a/docs/libcurl/opts/CURLOPT_CRLF.3 b/docs/libcurl/opts/CURLOPT_CRLF.3
index beaca2f..e9013be 100644
--- a/docs/libcurl/opts/CURLOPT_CRLF.3
+++ b/docs/libcurl/opts/CURLOPT_CRLF.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_CRLF 3 "May 31, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_CRLF 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_CRLF \- enable/disable CRLF conversion
diff --git a/docs/libcurl/opts/CURLOPT_CRLFILE.3 b/docs/libcurl/opts/CURLOPT_CRLFILE.3
index e722789..bb582f5 100644
--- a/docs/libcurl/opts/CURLOPT_CRLFILE.3
+++ b/docs/libcurl/opts/CURLOPT_CRLFILE.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_CRLFILE 3 "May 31, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_CRLFILE 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_CRLFILE \- specify a Certificate Revocation List file
diff --git a/docs/libcurl/opts/CURLOPT_CURLU.3 b/docs/libcurl/opts/CURLOPT_CURLU.3
index 12aaf58..007f012 100644
--- a/docs/libcurl/opts/CURLOPT_CURLU.3
+++ b/docs/libcurl/opts/CURLOPT_CURLU.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_CURLU 3 "January 16, 2019" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_CURLU 3 "January 16, 2019" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_CURLU \- set URL with CURLU *
diff --git a/docs/libcurl/opts/CURLOPT_CUSTOMREQUEST.3 b/docs/libcurl/opts/CURLOPT_CUSTOMREQUEST.3
index 69cf52e..1a8aa1d 100644
--- a/docs/libcurl/opts/CURLOPT_CUSTOMREQUEST.3
+++ b/docs/libcurl/opts/CURLOPT_CUSTOMREQUEST.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_CUSTOMREQUEST 3 "April 17, 2018" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_CUSTOMREQUEST 3 "April 17, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_CUSTOMREQUEST \- custom string for request
diff --git a/docs/libcurl/opts/CURLOPT_DEBUGDATA.3 b/docs/libcurl/opts/CURLOPT_DEBUGDATA.3
index 892b567..8e5379f 100644
--- a/docs/libcurl/opts/CURLOPT_DEBUGDATA.3
+++ b/docs/libcurl/opts/CURLOPT_DEBUGDATA.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_DEBUGDATA 3 "February 03, 2016" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_DEBUGDATA 3 "February 03, 2016" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_DEBUGDATA \- custom pointer for debug callback
diff --git a/docs/libcurl/opts/CURLOPT_DEBUGFUNCTION.3 b/docs/libcurl/opts/CURLOPT_DEBUGFUNCTION.3
index 3b38942..4c90f9f 100644
--- a/docs/libcurl/opts/CURLOPT_DEBUGFUNCTION.3
+++ b/docs/libcurl/opts/CURLOPT_DEBUGFUNCTION.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_DEBUGFUNCTION 3 "October 06, 2016" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_DEBUGFUNCTION 3 "October 06, 2016" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_DEBUGFUNCTION \- debug callback
diff --git a/docs/libcurl/opts/CURLOPT_DEFAULT_PROTOCOL.3 b/docs/libcurl/opts/CURLOPT_DEFAULT_PROTOCOL.3
index 0d5b8d0..6c3b1ad 100644
--- a/docs/libcurl/opts/CURLOPT_DEFAULT_PROTOCOL.3
+++ b/docs/libcurl/opts/CURLOPT_DEFAULT_PROTOCOL.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_DEFAULT_PROTOCOL 3 "December 21, 2016" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_DEFAULT_PROTOCOL 3 "December 21, 2016" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_DEFAULT_PROTOCOL \- default protocol to use if the URL is missing a
diff --git a/docs/libcurl/opts/CURLOPT_DIRLISTONLY.3 b/docs/libcurl/opts/CURLOPT_DIRLISTONLY.3
index 24ea74c..03d9759 100644
--- a/docs/libcurl/opts/CURLOPT_DIRLISTONLY.3
+++ b/docs/libcurl/opts/CURLOPT_DIRLISTONLY.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_DIRLISTONLY 3 "May 05, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_DIRLISTONLY 3 "May 05, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_DIRLISTONLY \- ask for names only in a directory listing
diff --git a/docs/libcurl/opts/CURLOPT_DISALLOW_USERNAME_IN_URL.3 b/docs/libcurl/opts/CURLOPT_DISALLOW_USERNAME_IN_URL.3
index 588d656..2aef707 100644
--- a/docs/libcurl/opts/CURLOPT_DISALLOW_USERNAME_IN_URL.3
+++ b/docs/libcurl/opts/CURLOPT_DISALLOW_USERNAME_IN_URL.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_DISALLOW_USERNAME_IN_URL 3 "February 25, 2018" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_DISALLOW_USERNAME_IN_URL 3 "February 25, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_DISALLOW_USERNAME_IN_URL \- disallow specifying username in the url
diff --git a/docs/libcurl/opts/CURLOPT_DNS_CACHE_TIMEOUT.3 b/docs/libcurl/opts/CURLOPT_DNS_CACHE_TIMEOUT.3
index 8445063..044a3b7 100644
--- a/docs/libcurl/opts/CURLOPT_DNS_CACHE_TIMEOUT.3
+++ b/docs/libcurl/opts/CURLOPT_DNS_CACHE_TIMEOUT.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_DNS_CACHE_TIMEOUT 3 "December 09, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_DNS_CACHE_TIMEOUT 3 "December 09, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_DNS_CACHE_TIMEOUT \- set life-time for DNS cache entries
diff --git a/docs/libcurl/opts/CURLOPT_DNS_INTERFACE.3 b/docs/libcurl/opts/CURLOPT_DNS_INTERFACE.3
index 514d7fa..e970b63 100644
--- a/docs/libcurl/opts/CURLOPT_DNS_INTERFACE.3
+++ b/docs/libcurl/opts/CURLOPT_DNS_INTERFACE.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_DNS_INTERFACE 3 "May 31, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_DNS_INTERFACE 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_DNS_INTERFACE \- set interface to speak DNS over
diff --git a/docs/libcurl/opts/CURLOPT_DNS_LOCAL_IP4.3 b/docs/libcurl/opts/CURLOPT_DNS_LOCAL_IP4.3
index f3383b3..0c86ef8 100644
--- a/docs/libcurl/opts/CURLOPT_DNS_LOCAL_IP4.3
+++ b/docs/libcurl/opts/CURLOPT_DNS_LOCAL_IP4.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_DNS_LOCAL_IP4 3 "December 10, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_DNS_LOCAL_IP4 3 "December 10, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_DNS_LOCAL_IP4 \- IPv4 address to bind DNS resolves to
diff --git a/docs/libcurl/opts/CURLOPT_DNS_LOCAL_IP6.3 b/docs/libcurl/opts/CURLOPT_DNS_LOCAL_IP6.3
index 04a1709..742cef5 100644
--- a/docs/libcurl/opts/CURLOPT_DNS_LOCAL_IP6.3
+++ b/docs/libcurl/opts/CURLOPT_DNS_LOCAL_IP6.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_DNS_LOCAL_IP6 3 "May 31, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_DNS_LOCAL_IP6 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_DNS_LOCAL_IP6 \- IPv6 address to bind DNS resolves to
diff --git a/docs/libcurl/opts/CURLOPT_DNS_SERVERS.3 b/docs/libcurl/opts/CURLOPT_DNS_SERVERS.3
index 296aafe..15df63b 100644
--- a/docs/libcurl/opts/CURLOPT_DNS_SERVERS.3
+++ b/docs/libcurl/opts/CURLOPT_DNS_SERVERS.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_DNS_SERVERS 3 "May 31, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_DNS_SERVERS 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_DNS_SERVERS \- set preferred DNS servers
diff --git a/docs/libcurl/opts/CURLOPT_DNS_SHUFFLE_ADDRESSES.3 b/docs/libcurl/opts/CURLOPT_DNS_SHUFFLE_ADDRESSES.3
index 9f95b29..6081c77 100644
--- a/docs/libcurl/opts/CURLOPT_DNS_SHUFFLE_ADDRESSES.3
+++ b/docs/libcurl/opts/CURLOPT_DNS_SHUFFLE_ADDRESSES.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_DNS_SHUFFLE_ADDRESSES 3 "March 17, 2018" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_DNS_SHUFFLE_ADDRESSES 3 "March 17, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_DNS_SHUFFLE_ADDRESSES \- Shuffle addresses when a hostname returns more than one
diff --git a/docs/libcurl/opts/CURLOPT_DNS_USE_GLOBAL_CACHE.3 b/docs/libcurl/opts/CURLOPT_DNS_USE_GLOBAL_CACHE.3
index 7021b97..43d0e66 100644
--- a/docs/libcurl/opts/CURLOPT_DNS_USE_GLOBAL_CACHE.3
+++ b/docs/libcurl/opts/CURLOPT_DNS_USE_GLOBAL_CACHE.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_DNS_USE_GLOBAL_CACHE 3 "March 07, 2019" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_DNS_USE_GLOBAL_CACHE 3 "March 07, 2019" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_DNS_USE_GLOBAL_CACHE \- enable/disable global DNS cache
diff --git a/docs/libcurl/opts/CURLOPT_DOH_URL.3 b/docs/libcurl/opts/CURLOPT_DOH_URL.3
index daa63ac..1fe5e22 100644
--- a/docs/libcurl/opts/CURLOPT_DOH_URL.3
+++ b/docs/libcurl/opts/CURLOPT_DOH_URL.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_DOH_URL 3 "September 06, 2018" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_DOH_URL 3 "September 06, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_DOH_URL \- provide the DNS-over-HTTPS URL
diff --git a/docs/libcurl/opts/CURLOPT_EGDSOCKET.3 b/docs/libcurl/opts/CURLOPT_EGDSOCKET.3
index 2cc85e7..8e6c6ed 100644
--- a/docs/libcurl/opts/CURLOPT_EGDSOCKET.3
+++ b/docs/libcurl/opts/CURLOPT_EGDSOCKET.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_EGDSOCKET 3 "May 31, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_EGDSOCKET 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_EGDSOCKET \- set EGD socket path
diff --git a/docs/libcurl/opts/CURLOPT_ERRORBUFFER.3 b/docs/libcurl/opts/CURLOPT_ERRORBUFFER.3
index 7ddad81..0273cab 100644
--- a/docs/libcurl/opts/CURLOPT_ERRORBUFFER.3
+++ b/docs/libcurl/opts/CURLOPT_ERRORBUFFER.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_ERRORBUFFER 3 "March 13, 2018" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_ERRORBUFFER 3 "March 13, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_ERRORBUFFER \- set error buffer for error messages
diff --git a/docs/libcurl/opts/CURLOPT_EXPECT_100_TIMEOUT_MS.3 b/docs/libcurl/opts/CURLOPT_EXPECT_100_TIMEOUT_MS.3
index 72da7af..4c755af 100644
--- a/docs/libcurl/opts/CURLOPT_EXPECT_100_TIMEOUT_MS.3
+++ b/docs/libcurl/opts/CURLOPT_EXPECT_100_TIMEOUT_MS.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_EXPECT_100_TIMEOUT_MS 3 "April 17, 2018" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_EXPECT_100_TIMEOUT_MS 3 "April 17, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_EXPECT_100_TIMEOUT_MS \- timeout for Expect: 100-continue response
diff --git a/docs/libcurl/opts/CURLOPT_FAILONERROR.3 b/docs/libcurl/opts/CURLOPT_FAILONERROR.3
index 1a33b56..72b4a37 100644
--- a/docs/libcurl/opts/CURLOPT_FAILONERROR.3
+++ b/docs/libcurl/opts/CURLOPT_FAILONERROR.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_FAILONERROR 3 "April 17, 2018" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_FAILONERROR 3 "April 17, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_FAILONERROR \- request failure on HTTP response >= 400
diff --git a/docs/libcurl/opts/CURLOPT_FILETIME.3 b/docs/libcurl/opts/CURLOPT_FILETIME.3
index 119e6c4..5ce110c 100644
--- a/docs/libcurl/opts/CURLOPT_FILETIME.3
+++ b/docs/libcurl/opts/CURLOPT_FILETIME.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_FILETIME 3 "April 03, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_FILETIME 3 "April 03, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_FILETIME \- get the modification time of the remote resource
diff --git a/docs/libcurl/opts/CURLOPT_FNMATCH_DATA.3 b/docs/libcurl/opts/CURLOPT_FNMATCH_DATA.3
index 5557fca..119acff 100644
--- a/docs/libcurl/opts/CURLOPT_FNMATCH_DATA.3
+++ b/docs/libcurl/opts/CURLOPT_FNMATCH_DATA.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_FNMATCH_DATA 3 "May 31, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_FNMATCH_DATA 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_FNMATCH_DATA \- custom pointer to fnmatch callback
diff --git a/docs/libcurl/opts/CURLOPT_FNMATCH_FUNCTION.3 b/docs/libcurl/opts/CURLOPT_FNMATCH_FUNCTION.3
index 977c892..7721578 100644
--- a/docs/libcurl/opts/CURLOPT_FNMATCH_FUNCTION.3
+++ b/docs/libcurl/opts/CURLOPT_FNMATCH_FUNCTION.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_FNMATCH_FUNCTION 3 "May 31, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_FNMATCH_FUNCTION 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_FNMATCH_FUNCTION \- wildcard matching function callback
diff --git a/docs/libcurl/opts/CURLOPT_FOLLOWLOCATION.3 b/docs/libcurl/opts/CURLOPT_FOLLOWLOCATION.3
index 42a6110..68eeecb 100644
--- a/docs/libcurl/opts/CURLOPT_FOLLOWLOCATION.3
+++ b/docs/libcurl/opts/CURLOPT_FOLLOWLOCATION.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_FOLLOWLOCATION 3 "July 16, 2019" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_FOLLOWLOCATION 3 "July 16, 2019" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_FOLLOWLOCATION \- follow HTTP 3xx redirects
diff --git a/docs/libcurl/opts/CURLOPT_FORBID_REUSE.3 b/docs/libcurl/opts/CURLOPT_FORBID_REUSE.3
index c11c66c..262ca89 100644
--- a/docs/libcurl/opts/CURLOPT_FORBID_REUSE.3
+++ b/docs/libcurl/opts/CURLOPT_FORBID_REUSE.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_FORBID_REUSE 3 "May 31, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_FORBID_REUSE 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_FORBID_REUSE \- make connection get closed at once after use
diff --git a/docs/libcurl/opts/CURLOPT_FRESH_CONNECT.3 b/docs/libcurl/opts/CURLOPT_FRESH_CONNECT.3
index a7c3ae1..76b4c86 100644
--- a/docs/libcurl/opts/CURLOPT_FRESH_CONNECT.3
+++ b/docs/libcurl/opts/CURLOPT_FRESH_CONNECT.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_FRESH_CONNECT 3 "May 31, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_FRESH_CONNECT 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_FRESH_CONNECT \- force a new connection to be used
diff --git a/docs/libcurl/opts/CURLOPT_FTPPORT.3 b/docs/libcurl/opts/CURLOPT_FTPPORT.3
index 35158d0..6c6426e 100644
--- a/docs/libcurl/opts/CURLOPT_FTPPORT.3
+++ b/docs/libcurl/opts/CURLOPT_FTPPORT.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_FTPPORT 3 "May 30, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_FTPPORT 3 "May 30, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_FTPPORT \- make FTP transfer active
diff --git a/docs/libcurl/opts/CURLOPT_FTPSSLAUTH.3 b/docs/libcurl/opts/CURLOPT_FTPSSLAUTH.3
index 9e0eaa7..c123b28 100644
--- a/docs/libcurl/opts/CURLOPT_FTPSSLAUTH.3
+++ b/docs/libcurl/opts/CURLOPT_FTPSSLAUTH.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_FTPSSLAUTH 3 "May 31, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_FTPSSLAUTH 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_FTPSSLAUTH \- set order in which to attempt TLS vs SSL when using FTP
diff --git a/docs/libcurl/opts/CURLOPT_FTP_ACCOUNT.3 b/docs/libcurl/opts/CURLOPT_FTP_ACCOUNT.3
index b1f03ee..4dbf50b 100644
--- a/docs/libcurl/opts/CURLOPT_FTP_ACCOUNT.3
+++ b/docs/libcurl/opts/CURLOPT_FTP_ACCOUNT.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_FTP_ACCOUNT 3 "May 05, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_FTP_ACCOUNT 3 "May 05, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_FTP_ACCOUNT \- set account info for FTP
diff --git a/docs/libcurl/opts/CURLOPT_FTP_ALTERNATIVE_TO_USER.3 b/docs/libcurl/opts/CURLOPT_FTP_ALTERNATIVE_TO_USER.3
index d7f3f35..7e8ea11 100644
--- a/docs/libcurl/opts/CURLOPT_FTP_ALTERNATIVE_TO_USER.3
+++ b/docs/libcurl/opts/CURLOPT_FTP_ALTERNATIVE_TO_USER.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_FTP_ALTERNATIVE_TO_USER 3 "May 05, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_FTP_ALTERNATIVE_TO_USER 3 "May 05, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_FTP_ALTERNATIVE_TO_USER \- command to use instead of USER with FTP
diff --git a/docs/libcurl/opts/CURLOPT_FTP_CREATE_MISSING_DIRS.3 b/docs/libcurl/opts/CURLOPT_FTP_CREATE_MISSING_DIRS.3
index 4e8530e..4be48b5 100644
--- a/docs/libcurl/opts/CURLOPT_FTP_CREATE_MISSING_DIRS.3
+++ b/docs/libcurl/opts/CURLOPT_FTP_CREATE_MISSING_DIRS.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_FTP_CREATE_MISSING_DIRS 3 "May 05, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_FTP_CREATE_MISSING_DIRS 3 "May 05, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_FTP_CREATE_MISSING_DIRS \- create missing dirs for FTP and SFTP
diff --git a/docs/libcurl/opts/CURLOPT_FTP_FILEMETHOD.3 b/docs/libcurl/opts/CURLOPT_FTP_FILEMETHOD.3
index c562e10..c918d32 100644
--- a/docs/libcurl/opts/CURLOPT_FTP_FILEMETHOD.3
+++ b/docs/libcurl/opts/CURLOPT_FTP_FILEMETHOD.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_FTP_FILEMETHOD 3 "May 05, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_FTP_FILEMETHOD 3 "May 05, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_FTP_FILEMETHOD \- select directory traversing method for FTP
diff --git a/docs/libcurl/opts/CURLOPT_FTP_RESPONSE_TIMEOUT.3 b/docs/libcurl/opts/CURLOPT_FTP_RESPONSE_TIMEOUT.3
index 70d55df..82564a6 100644
--- a/docs/libcurl/opts/CURLOPT_FTP_RESPONSE_TIMEOUT.3
+++ b/docs/libcurl/opts/CURLOPT_FTP_RESPONSE_TIMEOUT.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_FTP_RESPONSE_TIMEOUT 3 "October 03, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_FTP_RESPONSE_TIMEOUT 3 "October 03, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_FTP_RESPONSE_TIMEOUT \- time allowed to wait for FTP response
diff --git a/docs/libcurl/opts/CURLOPT_FTP_SKIP_PASV_IP.3 b/docs/libcurl/opts/CURLOPT_FTP_SKIP_PASV_IP.3
index faf8071..5a280a7 100644
--- a/docs/libcurl/opts/CURLOPT_FTP_SKIP_PASV_IP.3
+++ b/docs/libcurl/opts/CURLOPT_FTP_SKIP_PASV_IP.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_FTP_SKIP_PASV_IP 3 "May 05, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_FTP_SKIP_PASV_IP 3 "May 05, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_FTP_SKIP_PASV_IP \- ignore the IP address in the PASV response
diff --git a/docs/libcurl/opts/CURLOPT_FTP_SSL_CCC.3 b/docs/libcurl/opts/CURLOPT_FTP_SSL_CCC.3
index 7bd78c0..8ff3d5c 100644
--- a/docs/libcurl/opts/CURLOPT_FTP_SSL_CCC.3
+++ b/docs/libcurl/opts/CURLOPT_FTP_SSL_CCC.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_FTP_SSL_CCC 3 "May 31, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_FTP_SSL_CCC 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_FTP_SSL_CCC \- switch off SSL again with FTP after auth
diff --git a/docs/libcurl/opts/CURLOPT_FTP_USE_EPRT.3 b/docs/libcurl/opts/CURLOPT_FTP_USE_EPRT.3
index 4bd1150..2780560 100644
--- a/docs/libcurl/opts/CURLOPT_FTP_USE_EPRT.3
+++ b/docs/libcurl/opts/CURLOPT_FTP_USE_EPRT.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_FTP_USE_EPRT 3 "February 03, 2016" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_FTP_USE_EPRT 3 "February 03, 2016" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_FTP_USE_EPRT \- enable/disable use of EPRT with FTP
diff --git a/docs/libcurl/opts/CURLOPT_FTP_USE_EPSV.3 b/docs/libcurl/opts/CURLOPT_FTP_USE_EPSV.3
index eac1e18..0548b72 100644
--- a/docs/libcurl/opts/CURLOPT_FTP_USE_EPSV.3
+++ b/docs/libcurl/opts/CURLOPT_FTP_USE_EPSV.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_FTP_USE_EPSV 3 "May 05, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_FTP_USE_EPSV 3 "May 05, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_FTP_USE_EPSV \- enable/disable use of EPSV
diff --git a/docs/libcurl/opts/CURLOPT_FTP_USE_PRET.3 b/docs/libcurl/opts/CURLOPT_FTP_USE_PRET.3
index 52b53fe..549a7ac 100644
--- a/docs/libcurl/opts/CURLOPT_FTP_USE_PRET.3
+++ b/docs/libcurl/opts/CURLOPT_FTP_USE_PRET.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_FTP_USE_PRET 3 "May 05, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_FTP_USE_PRET 3 "May 05, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_FTP_USE_PRET \- enable the PRET command
diff --git a/docs/libcurl/opts/CURLOPT_GSSAPI_DELEGATION.3 b/docs/libcurl/opts/CURLOPT_GSSAPI_DELEGATION.3
index ca478fc..07c2b99 100644
--- a/docs/libcurl/opts/CURLOPT_GSSAPI_DELEGATION.3
+++ b/docs/libcurl/opts/CURLOPT_GSSAPI_DELEGATION.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_GSSAPI_DELEGATION 3 "May 31, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_GSSAPI_DELEGATION 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_GSSAPI_DELEGATION \- set allowed GSS-API delegation
diff --git a/docs/libcurl/opts/CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS.3 b/docs/libcurl/opts/CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS.3
index 009dee8..2568afa 100644
--- a/docs/libcurl/opts/CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS.3
+++ b/docs/libcurl/opts/CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS 3 "February 21, 2018" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS 3 "February 21, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS \- head start for ipv6 for happy eyeballs
diff --git a/docs/libcurl/opts/CURLOPT_HAPROXYPROTOCOL.3 b/docs/libcurl/opts/CURLOPT_HAPROXYPROTOCOL.3
index 8dbed46..62df5fc 100644
--- a/docs/libcurl/opts/CURLOPT_HAPROXYPROTOCOL.3
+++ b/docs/libcurl/opts/CURLOPT_HAPROXYPROTOCOL.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_HAPROXYPROTOCOL 3 "May 18, 2018" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_HAPROXYPROTOCOL 3 "May 18, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_HAPROXYPROTOCOL \- send HAProxy PROXY protocol v1 header
diff --git a/docs/libcurl/opts/CURLOPT_HEADER.3 b/docs/libcurl/opts/CURLOPT_HEADER.3
index 7f057f4..929d34a 100644
--- a/docs/libcurl/opts/CURLOPT_HEADER.3
+++ b/docs/libcurl/opts/CURLOPT_HEADER.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_HEADER 3 "October 03, 2018" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_HEADER 3 "October 03, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_HEADER \- pass headers to the data stream
diff --git a/docs/libcurl/opts/CURLOPT_HEADERDATA.3 b/docs/libcurl/opts/CURLOPT_HEADERDATA.3
index 8ea6c06..26062a9 100644
--- a/docs/libcurl/opts/CURLOPT_HEADERDATA.3
+++ b/docs/libcurl/opts/CURLOPT_HEADERDATA.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_HEADERDATA 3 "May 05, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_HEADERDATA 3 "May 05, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_HEADERDATA \- pointer to pass to header callback
diff --git a/docs/libcurl/opts/CURLOPT_HEADERFUNCTION.3 b/docs/libcurl/opts/CURLOPT_HEADERFUNCTION.3
index 5541b2d..f4afcaa 100644
--- a/docs/libcurl/opts/CURLOPT_HEADERFUNCTION.3
+++ b/docs/libcurl/opts/CURLOPT_HEADERFUNCTION.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_HEADERFUNCTION 3 "November 22, 2018" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_HEADERFUNCTION 3 "August 27, 2019" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_HEADERFUNCTION \- callback that receives header data
@@ -53,7 +53,7 @@
 libcurl function in progress will return \fICURLE_WRITE_ERROR\fP.
 
 A complete HTTP header that is passed to this function can be up to
-\fICURL_MAX_HTTP_HEADER\fP (100K) bytes.
+\fICURL_MAX_HTTP_HEADER\fP (100K) bytes and includes the final line terminator.
 
 If this option is not set, or if it is set to NULL, but
 \fICURLOPT_HEADERDATA(3)\fP is set to anything but NULL, the function used to
@@ -68,6 +68,9 @@
 response, you will need to collect headers in the callback yourself and use
 HTTP status lines, for example, to delimit response boundaries.
 
+For an HTTP transfer, the status line and the blank line preceding the response
+body are both included as headers and passed to this function.
+
 When a server sends a chunked encoded transfer, it may contain a trailer. That
 trailer is identical to an HTTP header and if such a trailer is received it is
 passed to the application using this callback as well. There are several ways
diff --git a/docs/libcurl/opts/CURLOPT_HEADEROPT.3 b/docs/libcurl/opts/CURLOPT_HEADEROPT.3
index 4ae5aad..4012726 100644
--- a/docs/libcurl/opts/CURLOPT_HEADEROPT.3
+++ b/docs/libcurl/opts/CURLOPT_HEADEROPT.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_HEADEROPT 3 "July 03, 2019" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_HEADEROPT 3 "July 03, 2019" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_HEADEROPT \- set how to send HTTP headers
diff --git a/docs/libcurl/opts/CURLOPT_HTTP09_ALLOWED.3 b/docs/libcurl/opts/CURLOPT_HTTP09_ALLOWED.3
index 1209e5e..e104757 100644
--- a/docs/libcurl/opts/CURLOPT_HTTP09_ALLOWED.3
+++ b/docs/libcurl/opts/CURLOPT_HTTP09_ALLOWED.3
@@ -5,7 +5,7 @@
 .\" *                            | (__| |_| |  _ <| |___
 .\" *                             \___|\___/|_| \_\_____|
 .\" *
-.\" * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_HTTP09_ALLOWED 3 "December 17, 2018" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_HTTP09_ALLOWED 3 "August 05, 2019" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_HTTP09 \- allow HTTP/0.9 response
@@ -32,12 +32,12 @@
 Pass the long argument \fIallowed\fP set to 1L to allow HTTP/0.9 responses.
 
 A HTTP/0.9 response is a server response entirely without headers and only a
-body, while you can connect to lots of random TCP services and still get a
-response that curl might consider to be HTTP/0.9.
+body. You can connect to lots of random TCP services and still get a response
+that curl might consider to be HTTP/0.9!
 .SH DEFAULT
-curl allows HTTP/0.9 responses by default.
+curl allowed HTTP/0.9 responses by default before 7.66.0
 
-A future curl version will require this option to be set to allow HTTP/0.9
+Since 7.66.0, libcurl requires this option set to 1L to allow HTTP/0.9
 responses.
 .SH PROTOCOLS
 HTTP
diff --git a/docs/libcurl/opts/CURLOPT_HTTP200ALIASES.3 b/docs/libcurl/opts/CURLOPT_HTTP200ALIASES.3
index d7b5973..5daa252 100644
--- a/docs/libcurl/opts/CURLOPT_HTTP200ALIASES.3
+++ b/docs/libcurl/opts/CURLOPT_HTTP200ALIASES.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_HTTP200ALIASES 3 "May 31, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_HTTP200ALIASES 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_HTTP200ALIASES \- specify alternative matches for HTTP 200 OK
diff --git a/docs/libcurl/opts/CURLOPT_HTTPAUTH.3 b/docs/libcurl/opts/CURLOPT_HTTPAUTH.3
index 68d0a51..9719916 100644
--- a/docs/libcurl/opts/CURLOPT_HTTPAUTH.3
+++ b/docs/libcurl/opts/CURLOPT_HTTPAUTH.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_HTTPAUTH 3 "June 15, 2018" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_HTTPAUTH 3 "June 15, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_HTTPAUTH \- set HTTP server authentication methods to try
diff --git a/docs/libcurl/opts/CURLOPT_HTTPGET.3 b/docs/libcurl/opts/CURLOPT_HTTPGET.3
index f885ff6..8b032e3 100644
--- a/docs/libcurl/opts/CURLOPT_HTTPGET.3
+++ b/docs/libcurl/opts/CURLOPT_HTTPGET.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_HTTPGET 3 "May 21, 2018" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_HTTPGET 3 "May 21, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_HTTPGET \- ask for an HTTP GET request
diff --git a/docs/libcurl/opts/CURLOPT_HTTPHEADER.3 b/docs/libcurl/opts/CURLOPT_HTTPHEADER.3
index 48981dd..7b702f4 100644
--- a/docs/libcurl/opts/CURLOPT_HTTPHEADER.3
+++ b/docs/libcurl/opts/CURLOPT_HTTPHEADER.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_HTTPHEADER 3 "December 30, 2018" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_HTTPHEADER 3 "December 30, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_HTTPHEADER \- set custom HTTP headers
diff --git a/docs/libcurl/opts/CURLOPT_HTTPPOST.3 b/docs/libcurl/opts/CURLOPT_HTTPPOST.3
index 398dcce..530c17a 100644
--- a/docs/libcurl/opts/CURLOPT_HTTPPOST.3
+++ b/docs/libcurl/opts/CURLOPT_HTTPPOST.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_HTTPPOST 3 "September 02, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_HTTPPOST 3 "September 02, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_HTTPPOST \- specify the multipart formpost content
diff --git a/docs/libcurl/opts/CURLOPT_HTTPPROXYTUNNEL.3 b/docs/libcurl/opts/CURLOPT_HTTPPROXYTUNNEL.3
index ee88f44..7192b86 100644
--- a/docs/libcurl/opts/CURLOPT_HTTPPROXYTUNNEL.3
+++ b/docs/libcurl/opts/CURLOPT_HTTPPROXYTUNNEL.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_HTTPPROXYTUNNEL 3 "April 17, 2018" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_HTTPPROXYTUNNEL 3 "April 17, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_HTTPPROXYTUNNEL \- tunnel through HTTP proxy
diff --git a/docs/libcurl/opts/CURLOPT_HTTP_CONTENT_DECODING.3 b/docs/libcurl/opts/CURLOPT_HTTP_CONTENT_DECODING.3
index 1c34106..cbfb11a 100644
--- a/docs/libcurl/opts/CURLOPT_HTTP_CONTENT_DECODING.3
+++ b/docs/libcurl/opts/CURLOPT_HTTP_CONTENT_DECODING.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_HTTP_CONTENT_DECODING 3 "May 31, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_HTTP_CONTENT_DECODING 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_HTTP_CONTENT_DECODING \- enable/disable HTTP content decoding
diff --git a/docs/libcurl/opts/CURLOPT_HTTP_TRANSFER_DECODING.3 b/docs/libcurl/opts/CURLOPT_HTTP_TRANSFER_DECODING.3
index 068285a..284f9e6 100644
--- a/docs/libcurl/opts/CURLOPT_HTTP_TRANSFER_DECODING.3
+++ b/docs/libcurl/opts/CURLOPT_HTTP_TRANSFER_DECODING.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_HTTP_TRANSFER_DECODING 3 "May 31, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_HTTP_TRANSFER_DECODING 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_HTTP_TRANSFER_DECODING \- enable/disable HTTP transfer decoding
diff --git a/docs/libcurl/opts/CURLOPT_HTTP_VERSION.3 b/docs/libcurl/opts/CURLOPT_HTTP_VERSION.3
index fa621a3..28395da 100644
--- a/docs/libcurl/opts/CURLOPT_HTTP_VERSION.3
+++ b/docs/libcurl/opts/CURLOPT_HTTP_VERSION.3
@@ -5,7 +5,7 @@
 .\" *                            | (__| |_| |  _ <| |___
 .\" *                             \___|\___/|_| \_\_____|
 .\" *
-.\" * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_HTTP_VERSION 3 "June 25, 2019" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_HTTP_VERSION 3 "August 09, 2019" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_HTTP_VERSION \- specify HTTP protocol version to use
@@ -58,6 +58,14 @@
 prior knowledge that the server supports HTTP/2 straight away. HTTPS requests
 will still do HTTP/2 the standard way with negotiated protocol version in the
 TLS handshake. (Added in 7.49.0)
+.IP CURL_HTTP_VERSION_3
+(Added in 7.66.0) Setting this value will make libcurl attempt to use HTTP/3
+directly to server given in the URL. Note that this cannot gracefully
+downgrade to earlier HTTP version if the server doesn't support HTTP/3.
+
+For more reliably upgrading to HTTP/3, set the prefered version to something
+lower and let the server announce its HTTP/3 support via Alt-Svc:. See
+\fICURLOPT_ALTSVC(3)\fP.
 .SH DEFAULT
 Since curl 7.62.0: CURL_HTTP_VERSION_2TLS
 
@@ -83,4 +91,4 @@
 Returns CURLE_OK if HTTP is supported, and CURLE_UNKNOWN_OPTION if not.
 .SH "SEE ALSO"
 .BR CURLOPT_SSLVERSION "(3), " CURLOPT_HTTP200ALIASES "(3), "
-.BR CURLOPT_HTTP09_ALLOWED "(3), "
+.BR CURLOPT_HTTP09_ALLOWED "(3), " CURLOPT_ALTSVC "(3) "
diff --git a/docs/libcurl/opts/CURLOPT_IGNORE_CONTENT_LENGTH.3 b/docs/libcurl/opts/CURLOPT_IGNORE_CONTENT_LENGTH.3
index c73dfd0..68be664 100644
--- a/docs/libcurl/opts/CURLOPT_IGNORE_CONTENT_LENGTH.3
+++ b/docs/libcurl/opts/CURLOPT_IGNORE_CONTENT_LENGTH.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_IGNORE_CONTENT_LENGTH 3 "February 03, 2016" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_IGNORE_CONTENT_LENGTH 3 "February 03, 2016" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_IGNORE_CONTENT_LENGTH \- ignore content length
diff --git a/docs/libcurl/opts/CURLOPT_INFILESIZE.3 b/docs/libcurl/opts/CURLOPT_INFILESIZE.3
index d5985f2..2d9a51d 100644
--- a/docs/libcurl/opts/CURLOPT_INFILESIZE.3
+++ b/docs/libcurl/opts/CURLOPT_INFILESIZE.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_INFILESIZE 3 "February 03, 2016" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_INFILESIZE 3 "February 03, 2016" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_INFILESIZE \- set size of the input file to send off
diff --git a/docs/libcurl/opts/CURLOPT_INFILESIZE_LARGE.3 b/docs/libcurl/opts/CURLOPT_INFILESIZE_LARGE.3
index f0e09c4..e73e78f 100644
--- a/docs/libcurl/opts/CURLOPT_INFILESIZE_LARGE.3
+++ b/docs/libcurl/opts/CURLOPT_INFILESIZE_LARGE.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_INFILESIZE_LARGE 3 "September 23, 2018" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_INFILESIZE_LARGE 3 "September 23, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_INFILESIZE_LARGE \- set size of the input file to send off
diff --git a/docs/libcurl/opts/CURLOPT_INTERFACE.3 b/docs/libcurl/opts/CURLOPT_INTERFACE.3
index 4a738a9..36e51e0 100644
--- a/docs/libcurl/opts/CURLOPT_INTERFACE.3
+++ b/docs/libcurl/opts/CURLOPT_INTERFACE.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_INTERFACE 3 "June 18, 2018" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_INTERFACE 3 "June 18, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_INTERFACE \- source interface for outgoing traffic
diff --git a/docs/libcurl/opts/CURLOPT_INTERLEAVEDATA.3 b/docs/libcurl/opts/CURLOPT_INTERLEAVEDATA.3
index 7015564..50ca0b0 100644
--- a/docs/libcurl/opts/CURLOPT_INTERLEAVEDATA.3
+++ b/docs/libcurl/opts/CURLOPT_INTERLEAVEDATA.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_INTERLEAVEDATA 3 "September 15, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_INTERLEAVEDATA 3 "September 15, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_INTERLEAVEDATA \- custom pointer passed to RTSP interleave callback
diff --git a/docs/libcurl/opts/CURLOPT_INTERLEAVEFUNCTION.3 b/docs/libcurl/opts/CURLOPT_INTERLEAVEFUNCTION.3
index 201d55d..73b6d5c 100644
--- a/docs/libcurl/opts/CURLOPT_INTERLEAVEFUNCTION.3
+++ b/docs/libcurl/opts/CURLOPT_INTERLEAVEFUNCTION.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_INTERLEAVEFUNCTION 3 "August 11, 2018" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_INTERLEAVEFUNCTION 3 "August 11, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_INTERLEAVEFUNCTION \- callback function for RTSP interleaved data
diff --git a/docs/libcurl/opts/CURLOPT_IOCTLDATA.3 b/docs/libcurl/opts/CURLOPT_IOCTLDATA.3
index 6da9351..8fedf2a 100644
--- a/docs/libcurl/opts/CURLOPT_IOCTLDATA.3
+++ b/docs/libcurl/opts/CURLOPT_IOCTLDATA.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_IOCTLDATA 3 "May 31, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_IOCTLDATA 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_IOCTLDATA \- custom pointer passed to I/O callback
diff --git a/docs/libcurl/opts/CURLOPT_IOCTLFUNCTION.3 b/docs/libcurl/opts/CURLOPT_IOCTLFUNCTION.3
index 03e296e..db0108f 100644
--- a/docs/libcurl/opts/CURLOPT_IOCTLFUNCTION.3
+++ b/docs/libcurl/opts/CURLOPT_IOCTLFUNCTION.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_IOCTLFUNCTION 3 "April 17, 2018" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_IOCTLFUNCTION 3 "April 17, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_IOCTLFUNCTION \- callback for I/O operations
diff --git a/docs/libcurl/opts/CURLOPT_IPRESOLVE.3 b/docs/libcurl/opts/CURLOPT_IPRESOLVE.3
index c26b75a..94591c3 100644
--- a/docs/libcurl/opts/CURLOPT_IPRESOLVE.3
+++ b/docs/libcurl/opts/CURLOPT_IPRESOLVE.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_IPRESOLVE 3 "May 05, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_IPRESOLVE 3 "May 05, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_IPRESOLVE \- specify which IP protocol version to use
diff --git a/docs/libcurl/opts/CURLOPT_ISSUERCERT.3 b/docs/libcurl/opts/CURLOPT_ISSUERCERT.3
index c74dcf6..98562ff 100644
--- a/docs/libcurl/opts/CURLOPT_ISSUERCERT.3
+++ b/docs/libcurl/opts/CURLOPT_ISSUERCERT.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_ISSUERCERT 3 "May 31, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_ISSUERCERT 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_ISSUERCERT \- issuer SSL certificate filename
diff --git a/docs/libcurl/opts/CURLOPT_KEEP_SENDING_ON_ERROR.3 b/docs/libcurl/opts/CURLOPT_KEEP_SENDING_ON_ERROR.3
index f59bf71..914d581 100644
--- a/docs/libcurl/opts/CURLOPT_KEEP_SENDING_ON_ERROR.3
+++ b/docs/libcurl/opts/CURLOPT_KEEP_SENDING_ON_ERROR.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_KEEP_SENDING_ON_ERROR 3 "May 31, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_KEEP_SENDING_ON_ERROR 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_KEEP_SENDING_ON_ERROR \- keep sending on early HTTP response >= 300
diff --git a/docs/libcurl/opts/CURLOPT_KEYPASSWD.3 b/docs/libcurl/opts/CURLOPT_KEYPASSWD.3
index 199bdf5..3fee45e 100644
--- a/docs/libcurl/opts/CURLOPT_KEYPASSWD.3
+++ b/docs/libcurl/opts/CURLOPT_KEYPASSWD.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_KEYPASSWD 3 "May 31, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_KEYPASSWD 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_KEYPASSWD \- set passphrase to private key
diff --git a/docs/libcurl/opts/CURLOPT_KRBLEVEL.3 b/docs/libcurl/opts/CURLOPT_KRBLEVEL.3
index ca5b19f..a7ebf57 100644
--- a/docs/libcurl/opts/CURLOPT_KRBLEVEL.3
+++ b/docs/libcurl/opts/CURLOPT_KRBLEVEL.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_KRBLEVEL 3 "May 31, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_KRBLEVEL 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_KRBLEVEL \- set FTP kerberos security level
diff --git a/docs/libcurl/opts/CURLOPT_LOCALPORT.3 b/docs/libcurl/opts/CURLOPT_LOCALPORT.3
index b599a20..d8adb3f 100644
--- a/docs/libcurl/opts/CURLOPT_LOCALPORT.3
+++ b/docs/libcurl/opts/CURLOPT_LOCALPORT.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_LOCALPORT 3 "January 31, 2019" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_LOCALPORT 3 "January 31, 2019" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_LOCALPORT \- set local port number to use for socket
diff --git a/docs/libcurl/opts/CURLOPT_LOCALPORTRANGE.3 b/docs/libcurl/opts/CURLOPT_LOCALPORTRANGE.3
index 4af9c3e..4e1c320 100644
--- a/docs/libcurl/opts/CURLOPT_LOCALPORTRANGE.3
+++ b/docs/libcurl/opts/CURLOPT_LOCALPORTRANGE.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_LOCALPORTRANGE 3 "January 31, 2019" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_LOCALPORTRANGE 3 "January 31, 2019" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_LOCALPORTRANGE \- number of additional local ports to try
diff --git a/docs/libcurl/opts/CURLOPT_LOGIN_OPTIONS.3 b/docs/libcurl/opts/CURLOPT_LOGIN_OPTIONS.3
index e092f06..c69d2b3 100644
--- a/docs/libcurl/opts/CURLOPT_LOGIN_OPTIONS.3
+++ b/docs/libcurl/opts/CURLOPT_LOGIN_OPTIONS.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_LOGIN_OPTIONS 3 "May 31, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_LOGIN_OPTIONS 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_LOGIN_OPTIONS \- set login options
diff --git a/docs/libcurl/opts/CURLOPT_LOW_SPEED_LIMIT.3 b/docs/libcurl/opts/CURLOPT_LOW_SPEED_LIMIT.3
index 510bd03..f03ca8c 100644
--- a/docs/libcurl/opts/CURLOPT_LOW_SPEED_LIMIT.3
+++ b/docs/libcurl/opts/CURLOPT_LOW_SPEED_LIMIT.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_LOW_SPEED_LIMIT 3 "May 06, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_LOW_SPEED_LIMIT 3 "May 06, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_LOW_SPEED_LIMIT \- set low speed limit in bytes per second
diff --git a/docs/libcurl/opts/CURLOPT_LOW_SPEED_TIME.3 b/docs/libcurl/opts/CURLOPT_LOW_SPEED_TIME.3
index ec5062b..795aba7 100644
--- a/docs/libcurl/opts/CURLOPT_LOW_SPEED_TIME.3
+++ b/docs/libcurl/opts/CURLOPT_LOW_SPEED_TIME.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_LOW_SPEED_TIME 3 "May 06, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_LOW_SPEED_TIME 3 "May 06, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_LOW_SPEED_TIME \- set low speed limit time period
diff --git a/docs/libcurl/opts/CURLOPT_MAIL_AUTH.3 b/docs/libcurl/opts/CURLOPT_MAIL_AUTH.3
index 3b79034..981e590 100644
--- a/docs/libcurl/opts/CURLOPT_MAIL_AUTH.3
+++ b/docs/libcurl/opts/CURLOPT_MAIL_AUTH.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_MAIL_AUTH 3 "May 31, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_MAIL_AUTH 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_MAIL_AUTH \- SMTP authentication address
diff --git a/docs/libcurl/opts/CURLOPT_MAIL_FROM.3 b/docs/libcurl/opts/CURLOPT_MAIL_FROM.3
index 55cb9ff..a682b4c 100644
--- a/docs/libcurl/opts/CURLOPT_MAIL_FROM.3
+++ b/docs/libcurl/opts/CURLOPT_MAIL_FROM.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_MAIL_FROM 3 "May 31, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_MAIL_FROM 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_MAIL_FROM \- SMTP sender address
diff --git a/docs/libcurl/opts/CURLOPT_MAIL_RCPT.3 b/docs/libcurl/opts/CURLOPT_MAIL_RCPT.3
index 61e9c95..651a366 100644
--- a/docs/libcurl/opts/CURLOPT_MAIL_RCPT.3
+++ b/docs/libcurl/opts/CURLOPT_MAIL_RCPT.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_MAIL_RCPT 3 "July 16, 2019" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_MAIL_RCPT 3 "July 16, 2019" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_MAIL_RCPT \- list of SMTP mail recipients
diff --git a/docs/libcurl/opts/CURLOPT_MAXAGE_CONN.3 b/docs/libcurl/opts/CURLOPT_MAXAGE_CONN.3
index bf96d5b..d7f298e 100644
--- a/docs/libcurl/opts/CURLOPT_MAXAGE_CONN.3
+++ b/docs/libcurl/opts/CURLOPT_MAXAGE_CONN.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_MAXAGE_CONN 3 "April 14, 2019" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_MAXAGE_CONN 3 "April 14, 2019" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_MAXAGE_CONN \- max idle time allowed for reusing a connection
diff --git a/docs/libcurl/opts/CURLOPT_MAXCONNECTS.3 b/docs/libcurl/opts/CURLOPT_MAXCONNECTS.3
index 9badf0c..060a3bd 100644
--- a/docs/libcurl/opts/CURLOPT_MAXCONNECTS.3
+++ b/docs/libcurl/opts/CURLOPT_MAXCONNECTS.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_MAXCONNECTS 3 "May 30, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_MAXCONNECTS 3 "May 30, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_MAXCONNECTS \- maximum connection cache size
diff --git a/docs/libcurl/opts/CURLOPT_MAXFILESIZE.3 b/docs/libcurl/opts/CURLOPT_MAXFILESIZE.3
index b42c44f..6095320 100644
--- a/docs/libcurl/opts/CURLOPT_MAXFILESIZE.3
+++ b/docs/libcurl/opts/CURLOPT_MAXFILESIZE.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_MAXFILESIZE 3 "May 30, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_MAXFILESIZE 3 "May 30, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_MAXFILESIZE \- maximum file size allowed to download
diff --git a/docs/libcurl/opts/CURLOPT_MAXFILESIZE_LARGE.3 b/docs/libcurl/opts/CURLOPT_MAXFILESIZE_LARGE.3
index 29ec386..1bcf2cd 100644
--- a/docs/libcurl/opts/CURLOPT_MAXFILESIZE_LARGE.3
+++ b/docs/libcurl/opts/CURLOPT_MAXFILESIZE_LARGE.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_MAXFILESIZE_LARGE 3 "May 30, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_MAXFILESIZE_LARGE 3 "May 30, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_MAXFILESIZE_LARGE \- maximum file size allowed to download
diff --git a/docs/libcurl/opts/CURLOPT_MAXREDIRS.3 b/docs/libcurl/opts/CURLOPT_MAXREDIRS.3
index 572cf9e..2c18fed 100644
--- a/docs/libcurl/opts/CURLOPT_MAXREDIRS.3
+++ b/docs/libcurl/opts/CURLOPT_MAXREDIRS.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_MAXREDIRS 3 "February 03, 2016" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_MAXREDIRS 3 "February 03, 2016" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_MAXREDIRS \- maximum number of redirects allowed
diff --git a/docs/libcurl/opts/CURLOPT_MAX_RECV_SPEED_LARGE.3 b/docs/libcurl/opts/CURLOPT_MAX_RECV_SPEED_LARGE.3
index 4329b4c..32db575 100644
--- a/docs/libcurl/opts/CURLOPT_MAX_RECV_SPEED_LARGE.3
+++ b/docs/libcurl/opts/CURLOPT_MAX_RECV_SPEED_LARGE.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_MAX_RECV_SPEED_LARGE 3 "May 30, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_MAX_RECV_SPEED_LARGE 3 "May 30, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_MAX_RECV_SPEED_LARGE \- rate limit data download speed
diff --git a/docs/libcurl/opts/CURLOPT_MAX_SEND_SPEED_LARGE.3 b/docs/libcurl/opts/CURLOPT_MAX_SEND_SPEED_LARGE.3
index 116b58a..ece0e21 100644
--- a/docs/libcurl/opts/CURLOPT_MAX_SEND_SPEED_LARGE.3
+++ b/docs/libcurl/opts/CURLOPT_MAX_SEND_SPEED_LARGE.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_MAX_SEND_SPEED_LARGE 3 "May 30, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_MAX_SEND_SPEED_LARGE 3 "May 30, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_MAX_SEND_SPEED_LARGE \- rate limit data upload speed
diff --git a/docs/libcurl/opts/CURLOPT_MIMEPOST.3 b/docs/libcurl/opts/CURLOPT_MIMEPOST.3
index ef9e211..102e477 100644
--- a/docs/libcurl/opts/CURLOPT_MIMEPOST.3
+++ b/docs/libcurl/opts/CURLOPT_MIMEPOST.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_MIMEPOST 3 "September 04, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_MIMEPOST 3 "September 04, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_MIMEPOST \- set post/send data from mime structure
diff --git a/docs/libcurl/opts/CURLOPT_NETRC.3 b/docs/libcurl/opts/CURLOPT_NETRC.3
index 6ffac17..42bc743 100644
--- a/docs/libcurl/opts/CURLOPT_NETRC.3
+++ b/docs/libcurl/opts/CURLOPT_NETRC.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_NETRC 3 "November 03, 2018" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_NETRC 3 "November 03, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_NETRC \- request that .netrc is used
diff --git a/docs/libcurl/opts/CURLOPT_NETRC_FILE.3 b/docs/libcurl/opts/CURLOPT_NETRC_FILE.3
index 0f0f261..ba3d329 100644
--- a/docs/libcurl/opts/CURLOPT_NETRC_FILE.3
+++ b/docs/libcurl/opts/CURLOPT_NETRC_FILE.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_NETRC_FILE 3 "May 31, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_NETRC_FILE 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_NETRC_FILE \- file name to read .netrc info from
diff --git a/docs/libcurl/opts/CURLOPT_NEW_DIRECTORY_PERMS.3 b/docs/libcurl/opts/CURLOPT_NEW_DIRECTORY_PERMS.3
index a55eadb..702af6d 100644
--- a/docs/libcurl/opts/CURLOPT_NEW_DIRECTORY_PERMS.3
+++ b/docs/libcurl/opts/CURLOPT_NEW_DIRECTORY_PERMS.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_NEW_DIRECTORY_PERMS 3 "May 31, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_NEW_DIRECTORY_PERMS 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_NEW_DIRECTORY_PERMS \- permissions for remotely created directories
diff --git a/docs/libcurl/opts/CURLOPT_NEW_FILE_PERMS.3 b/docs/libcurl/opts/CURLOPT_NEW_FILE_PERMS.3
index d5d16e5..88d2b8b 100644
--- a/docs/libcurl/opts/CURLOPT_NEW_FILE_PERMS.3
+++ b/docs/libcurl/opts/CURLOPT_NEW_FILE_PERMS.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_NEW_FILE_PERMS 3 "May 31, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_NEW_FILE_PERMS 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_NEW_FILE_PERMS \- permissions for remotely created files
diff --git a/docs/libcurl/opts/CURLOPT_NOBODY.3 b/docs/libcurl/opts/CURLOPT_NOBODY.3
index 9458b08..a15d6e0 100644
--- a/docs/libcurl/opts/CURLOPT_NOBODY.3
+++ b/docs/libcurl/opts/CURLOPT_NOBODY.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_NOBODY 3 "June 21, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_NOBODY 3 "June 21, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_NOBODY \- do the download request without getting the body
diff --git a/docs/libcurl/opts/CURLOPT_NOPROGRESS.3 b/docs/libcurl/opts/CURLOPT_NOPROGRESS.3
index 20b1d6f..c6bcbe2 100644
--- a/docs/libcurl/opts/CURLOPT_NOPROGRESS.3
+++ b/docs/libcurl/opts/CURLOPT_NOPROGRESS.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_NOPROGRESS 3 "October 09, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_NOPROGRESS 3 "October 09, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_NOPROGRESS \- switch off the progress meter
diff --git a/docs/libcurl/opts/CURLOPT_NOPROXY.3 b/docs/libcurl/opts/CURLOPT_NOPROXY.3
index ec1fbe7..719f323 100644
--- a/docs/libcurl/opts/CURLOPT_NOPROXY.3
+++ b/docs/libcurl/opts/CURLOPT_NOPROXY.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_NOPROXY 3 "August 24, 2018" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_NOPROXY 3 "August 24, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_NOPROXY \- disable proxy use for specific hosts
diff --git a/docs/libcurl/opts/CURLOPT_NOSIGNAL.3 b/docs/libcurl/opts/CURLOPT_NOSIGNAL.3
index ff34d0d..f93af34 100644
--- a/docs/libcurl/opts/CURLOPT_NOSIGNAL.3
+++ b/docs/libcurl/opts/CURLOPT_NOSIGNAL.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_NOSIGNAL 3 "February 03, 2016" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_NOSIGNAL 3 "February 03, 2016" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_NOSIGNAL \- skip all signal handling
diff --git a/docs/libcurl/opts/CURLOPT_OPENSOCKETDATA.3 b/docs/libcurl/opts/CURLOPT_OPENSOCKETDATA.3
index 4a2b6ec..fbbaa4f 100644
--- a/docs/libcurl/opts/CURLOPT_OPENSOCKETDATA.3
+++ b/docs/libcurl/opts/CURLOPT_OPENSOCKETDATA.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_OPENSOCKETDATA 3 "May 15, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_OPENSOCKETDATA 3 "May 15, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_OPENSOCKETDATA \- custom pointer passed to open socket callback
diff --git a/docs/libcurl/opts/CURLOPT_OPENSOCKETFUNCTION.3 b/docs/libcurl/opts/CURLOPT_OPENSOCKETFUNCTION.3
index 64a29ba..56e8f00 100644
--- a/docs/libcurl/opts/CURLOPT_OPENSOCKETFUNCTION.3
+++ b/docs/libcurl/opts/CURLOPT_OPENSOCKETFUNCTION.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_OPENSOCKETFUNCTION 3 "May 15, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_OPENSOCKETFUNCTION 3 "May 15, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_OPENSOCKETFUNCTION \- set callback for opening sockets
diff --git a/docs/libcurl/opts/CURLOPT_PASSWORD.3 b/docs/libcurl/opts/CURLOPT_PASSWORD.3
index d30a4e5..9a8caf2 100644
--- a/docs/libcurl/opts/CURLOPT_PASSWORD.3
+++ b/docs/libcurl/opts/CURLOPT_PASSWORD.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_PASSWORD 3 "September 23, 2018" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_PASSWORD 3 "September 23, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_PASSWORD \- password to use in authentication
diff --git a/docs/libcurl/opts/CURLOPT_PATH_AS_IS.3 b/docs/libcurl/opts/CURLOPT_PATH_AS_IS.3
index 2d7d9d2..e367aa1 100644
--- a/docs/libcurl/opts/CURLOPT_PATH_AS_IS.3
+++ b/docs/libcurl/opts/CURLOPT_PATH_AS_IS.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_PATH_AS_IS 3 "September 23, 2018" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_PATH_AS_IS 3 "September 23, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_PATH_AS_IS \- do not handle dot dot sequences
diff --git a/docs/libcurl/opts/CURLOPT_PINNEDPUBLICKEY.3 b/docs/libcurl/opts/CURLOPT_PINNEDPUBLICKEY.3
index ae41e87..af7d1e7 100644
--- a/docs/libcurl/opts/CURLOPT_PINNEDPUBLICKEY.3
+++ b/docs/libcurl/opts/CURLOPT_PINNEDPUBLICKEY.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_PINNEDPUBLICKEY 3 "June 02, 2019" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_PINNEDPUBLICKEY 3 "June 02, 2019" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_PINNEDPUBLICKEY \- set pinned public key
diff --git a/docs/libcurl/opts/CURLOPT_PIPEWAIT.3 b/docs/libcurl/opts/CURLOPT_PIPEWAIT.3
index 34cfd3a..49a97da 100644
--- a/docs/libcurl/opts/CURLOPT_PIPEWAIT.3
+++ b/docs/libcurl/opts/CURLOPT_PIPEWAIT.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_PIPEWAIT 3 "May 01, 2016" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_PIPEWAIT 3 "May 01, 2016" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_PIPEWAIT \- wait for pipelining/multiplexing
diff --git a/docs/libcurl/opts/CURLOPT_PORT.3 b/docs/libcurl/opts/CURLOPT_PORT.3
index 8596c26..af8c339 100644
--- a/docs/libcurl/opts/CURLOPT_PORT.3
+++ b/docs/libcurl/opts/CURLOPT_PORT.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_PORT 3 "May 31, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_PORT 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_PORT \- set remote port number to work with
diff --git a/docs/libcurl/opts/CURLOPT_POST.3 b/docs/libcurl/opts/CURLOPT_POST.3
index 200d1ce..fefa9b1 100644
--- a/docs/libcurl/opts/CURLOPT_POST.3
+++ b/docs/libcurl/opts/CURLOPT_POST.3
@@ -5,7 +5,7 @@
 .\" *                            | (__| |_| |  _ <| |___
 .\" *                             \___|\___/|_| \_\_____|
 .\" *
-.\" * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_POST 3 "May 21, 2018" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_POST 3 "July 22, 2019" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_POST \- request an HTTP POST
@@ -56,7 +56,8 @@
 size before starting the POST if you use chunked encoding. You enable this by
 adding a header like "Transfer-Encoding: chunked" with
 \fICURLOPT_HTTPHEADER(3)\fP. With HTTP 1.0 or without chunked transfer, you
-must specify the size in the request.
+must specify the size in the request. (Since 7.66.0, libcurl will
+automatically use chunked encoding for POSTs if the size is unknown.)
 
 When setting \fICURLOPT_POST(3)\fP to 1, libcurl will automatically set
 \fICURLOPT_NOBODY(3)\fP and \fICURLOPT_HTTPGET(3)\fP to 0.
diff --git a/docs/libcurl/opts/CURLOPT_POSTFIELDS.3 b/docs/libcurl/opts/CURLOPT_POSTFIELDS.3
index 0dcc948..641d7dd 100644
--- a/docs/libcurl/opts/CURLOPT_POSTFIELDS.3
+++ b/docs/libcurl/opts/CURLOPT_POSTFIELDS.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_POSTFIELDS 3 "May 21, 2018" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_POSTFIELDS 3 "May 21, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_POSTFIELDS \- specify data to POST to server
diff --git a/docs/libcurl/opts/CURLOPT_POSTFIELDSIZE.3 b/docs/libcurl/opts/CURLOPT_POSTFIELDSIZE.3
index 678bc88..78eea44 100644
--- a/docs/libcurl/opts/CURLOPT_POSTFIELDSIZE.3
+++ b/docs/libcurl/opts/CURLOPT_POSTFIELDSIZE.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_POSTFIELDSIZE 3 "February 03, 2016" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_POSTFIELDSIZE 3 "February 03, 2016" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_POSTFIELDSIZE \- size of POST data pointed to
diff --git a/docs/libcurl/opts/CURLOPT_POSTFIELDSIZE_LARGE.3 b/docs/libcurl/opts/CURLOPT_POSTFIELDSIZE_LARGE.3
index b5ef046..d30e5d4 100644
--- a/docs/libcurl/opts/CURLOPT_POSTFIELDSIZE_LARGE.3
+++ b/docs/libcurl/opts/CURLOPT_POSTFIELDSIZE_LARGE.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_POSTFIELDSIZE_LARGE 3 "February 03, 2016" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_POSTFIELDSIZE_LARGE 3 "February 03, 2016" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_POSTFIELDSIZE_LARGE \- size of POST data pointed to
diff --git a/docs/libcurl/opts/CURLOPT_POSTQUOTE.3 b/docs/libcurl/opts/CURLOPT_POSTQUOTE.3
index 8946daf..69bbd0c 100644
--- a/docs/libcurl/opts/CURLOPT_POSTQUOTE.3
+++ b/docs/libcurl/opts/CURLOPT_POSTQUOTE.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_POSTQUOTE 3 "May 05, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_POSTQUOTE 3 "May 05, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_POSTQUOTE \- (S)FTP commands to run after the transfer
diff --git a/docs/libcurl/opts/CURLOPT_POSTREDIR.3 b/docs/libcurl/opts/CURLOPT_POSTREDIR.3
index 1326d5c..0715e20 100644
--- a/docs/libcurl/opts/CURLOPT_POSTREDIR.3
+++ b/docs/libcurl/opts/CURLOPT_POSTREDIR.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_POSTREDIR 3 "April 17, 2018" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_POSTREDIR 3 "April 17, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_POSTREDIR \- how to act on an HTTP POST redirect
diff --git a/docs/libcurl/opts/CURLOPT_PREQUOTE.3 b/docs/libcurl/opts/CURLOPT_PREQUOTE.3
index ec8d3fc..51eda9c 100644
--- a/docs/libcurl/opts/CURLOPT_PREQUOTE.3
+++ b/docs/libcurl/opts/CURLOPT_PREQUOTE.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_PREQUOTE 3 "June 18, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_PREQUOTE 3 "June 18, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_PREQUOTE \- commands to run before an FTP transfer
diff --git a/docs/libcurl/opts/CURLOPT_PRE_PROXY.3 b/docs/libcurl/opts/CURLOPT_PRE_PROXY.3
index 8e9168e..1dfe4fe 100644
--- a/docs/libcurl/opts/CURLOPT_PRE_PROXY.3
+++ b/docs/libcurl/opts/CURLOPT_PRE_PROXY.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_PRE_PROXY 3 "September 23, 2018" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_PRE_PROXY 3 "September 23, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_PRE_PROXY \- set pre-proxy to use
diff --git a/docs/libcurl/opts/CURLOPT_PRIVATE.3 b/docs/libcurl/opts/CURLOPT_PRIVATE.3
index e95b651..eb9e6ea 100644
--- a/docs/libcurl/opts/CURLOPT_PRIVATE.3
+++ b/docs/libcurl/opts/CURLOPT_PRIVATE.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_PRIVATE 3 "December 08, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_PRIVATE 3 "December 08, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_PRIVATE \- store a private pointer
diff --git a/docs/libcurl/opts/CURLOPT_PROGRESSDATA.3 b/docs/libcurl/opts/CURLOPT_PROGRESSDATA.3
index 4dee6d8..500b24d 100644
--- a/docs/libcurl/opts/CURLOPT_PROGRESSDATA.3
+++ b/docs/libcurl/opts/CURLOPT_PROGRESSDATA.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_PROGRESSDATA 3 "February 03, 2016" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_PROGRESSDATA 3 "February 03, 2016" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_PROGRESSDATA \- custom pointer passed to the progress callback
diff --git a/docs/libcurl/opts/CURLOPT_PROGRESSFUNCTION.3 b/docs/libcurl/opts/CURLOPT_PROGRESSFUNCTION.3
index b5fa895..c619e0a 100644
--- a/docs/libcurl/opts/CURLOPT_PROGRESSFUNCTION.3
+++ b/docs/libcurl/opts/CURLOPT_PROGRESSFUNCTION.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_PROGRESSFUNCTION 3 "February 03, 2016" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_PROGRESSFUNCTION 3 "February 03, 2016" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_PROGRESSFUNCTION \- callback to progress meter function
diff --git a/docs/libcurl/opts/CURLOPT_PROTOCOLS.3 b/docs/libcurl/opts/CURLOPT_PROTOCOLS.3
index 99f5fa5..eecd13a 100644
--- a/docs/libcurl/opts/CURLOPT_PROTOCOLS.3
+++ b/docs/libcurl/opts/CURLOPT_PROTOCOLS.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_PROTOCOLS 3 "February 03, 2016" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_PROTOCOLS 3 "February 03, 2016" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_PROTOCOLS \- set allowed protocols
diff --git a/docs/libcurl/opts/CURLOPT_PROXY.3 b/docs/libcurl/opts/CURLOPT_PROXY.3
index 9b88d91..7e63f57 100644
--- a/docs/libcurl/opts/CURLOPT_PROXY.3
+++ b/docs/libcurl/opts/CURLOPT_PROXY.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_PROXY 3 "August 24, 2018" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_PROXY 3 "August 24, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_PROXY \- set proxy to use
diff --git a/docs/libcurl/opts/CURLOPT_PROXYAUTH.3 b/docs/libcurl/opts/CURLOPT_PROXYAUTH.3
index 4b51c3d..d2d8286 100644
--- a/docs/libcurl/opts/CURLOPT_PROXYAUTH.3
+++ b/docs/libcurl/opts/CURLOPT_PROXYAUTH.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_PROXYAUTH 3 "May 30, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_PROXYAUTH 3 "May 30, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_PROXYAUTH \- set HTTP proxy authentication methods to try
diff --git a/docs/libcurl/opts/CURLOPT_PROXYHEADER.3 b/docs/libcurl/opts/CURLOPT_PROXYHEADER.3
index b71766a..2ae7790 100644
--- a/docs/libcurl/opts/CURLOPT_PROXYHEADER.3
+++ b/docs/libcurl/opts/CURLOPT_PROXYHEADER.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_PROXYHEADER 3 "May 30, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_PROXYHEADER 3 "May 30, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_PROXYHEADER \- custom HTTP headers to pass to proxy
diff --git a/docs/libcurl/opts/CURLOPT_PROXYPASSWORD.3 b/docs/libcurl/opts/CURLOPT_PROXYPASSWORD.3
index 75728c4..cbef305 100644
--- a/docs/libcurl/opts/CURLOPT_PROXYPASSWORD.3
+++ b/docs/libcurl/opts/CURLOPT_PROXYPASSWORD.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_PROXYPASSWORD 3 "May 30, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_PROXYPASSWORD 3 "May 30, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_PROXYPASSWORD \- password to use with proxy authentication
diff --git a/docs/libcurl/opts/CURLOPT_PROXYPORT.3 b/docs/libcurl/opts/CURLOPT_PROXYPORT.3
index 91ae5e0..4cc1895 100644
--- a/docs/libcurl/opts/CURLOPT_PROXYPORT.3
+++ b/docs/libcurl/opts/CURLOPT_PROXYPORT.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_PROXYPORT 3 "May 31, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_PROXYPORT 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_PROXYPORT \- port number the proxy listens on
diff --git a/docs/libcurl/opts/CURLOPT_PROXYTYPE.3 b/docs/libcurl/opts/CURLOPT_PROXYTYPE.3
index fcb0d15..d1fab6c 100644
--- a/docs/libcurl/opts/CURLOPT_PROXYTYPE.3
+++ b/docs/libcurl/opts/CURLOPT_PROXYTYPE.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_PROXYTYPE 3 "May 30, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_PROXYTYPE 3 "May 30, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_PROXYTYPE \- proxy protocol type
diff --git a/docs/libcurl/opts/CURLOPT_PROXYUSERNAME.3 b/docs/libcurl/opts/CURLOPT_PROXYUSERNAME.3
index e5c4b65..71fec29 100644
--- a/docs/libcurl/opts/CURLOPT_PROXYUSERNAME.3
+++ b/docs/libcurl/opts/CURLOPT_PROXYUSERNAME.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_PROXYUSERNAME 3 "May 30, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_PROXYUSERNAME 3 "May 30, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_PROXYUSERNAME \- user name to use for proxy authentication
diff --git a/docs/libcurl/opts/CURLOPT_PROXYUSERPWD.3 b/docs/libcurl/opts/CURLOPT_PROXYUSERPWD.3
index ac32278..a429e22 100644
--- a/docs/libcurl/opts/CURLOPT_PROXYUSERPWD.3
+++ b/docs/libcurl/opts/CURLOPT_PROXYUSERPWD.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_PROXYUSERPWD 3 "May 30, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_PROXYUSERPWD 3 "May 30, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_PROXYUSERPWD \- user name and password to use for proxy authentication
diff --git a/docs/libcurl/opts/CURLOPT_PROXY_CAINFO.3 b/docs/libcurl/opts/CURLOPT_PROXY_CAINFO.3
index 3582e39..0b218b9 100644
--- a/docs/libcurl/opts/CURLOPT_PROXY_CAINFO.3
+++ b/docs/libcurl/opts/CURLOPT_PROXY_CAINFO.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_PROXY_CAINFO 3 "April 17, 2018" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_PROXY_CAINFO 3 "April 17, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_PROXY_CAINFO \- path to proxy Certificate Authority (CA) bundle
diff --git a/docs/libcurl/opts/CURLOPT_PROXY_CAPATH.3 b/docs/libcurl/opts/CURLOPT_PROXY_CAPATH.3
index 1112a0e..d623236 100644
--- a/docs/libcurl/opts/CURLOPT_PROXY_CAPATH.3
+++ b/docs/libcurl/opts/CURLOPT_PROXY_CAPATH.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_PROXY_CAPATH 3 "May 15, 2019" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_PROXY_CAPATH 3 "May 15, 2019" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_PROXY_CAPATH \- specify directory holding proxy CA certificates
diff --git a/docs/libcurl/opts/CURLOPT_PROXY_CRLFILE.3 b/docs/libcurl/opts/CURLOPT_PROXY_CRLFILE.3
index 1f1a975..95d9f3b 100644
--- a/docs/libcurl/opts/CURLOPT_PROXY_CRLFILE.3
+++ b/docs/libcurl/opts/CURLOPT_PROXY_CRLFILE.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_PROXY_CRLFILE 3 "April 17, 2018" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_PROXY_CRLFILE 3 "April 17, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_PROXY_CRLFILE \- specify a proxy Certificate Revocation List file
diff --git a/docs/libcurl/opts/CURLOPT_PROXY_KEYPASSWD.3 b/docs/libcurl/opts/CURLOPT_PROXY_KEYPASSWD.3
index 5700523..8c1e9d6 100644
--- a/docs/libcurl/opts/CURLOPT_PROXY_KEYPASSWD.3
+++ b/docs/libcurl/opts/CURLOPT_PROXY_KEYPASSWD.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_PROXY_KEYPASSWD 3 "April 17, 2018" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_PROXY_KEYPASSWD 3 "April 17, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_PROXY_KEYPASSWD \- set passphrase to proxy private key
diff --git a/docs/libcurl/opts/CURLOPT_PROXY_PINNEDPUBLICKEY.3 b/docs/libcurl/opts/CURLOPT_PROXY_PINNEDPUBLICKEY.3
index 8f68988..a075a46 100644
--- a/docs/libcurl/opts/CURLOPT_PROXY_PINNEDPUBLICKEY.3
+++ b/docs/libcurl/opts/CURLOPT_PROXY_PINNEDPUBLICKEY.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_PROXY_PINNEDPUBLICKEY 3 "May 15, 2019" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_PROXY_PINNEDPUBLICKEY 3 "May 15, 2019" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_PROXY_PINNEDPUBLICKEY \- set pinned public key for https proxy
diff --git a/docs/libcurl/opts/CURLOPT_PROXY_SERVICE_NAME.3 b/docs/libcurl/opts/CURLOPT_PROXY_SERVICE_NAME.3
index d26a163..435c084 100644
--- a/docs/libcurl/opts/CURLOPT_PROXY_SERVICE_NAME.3
+++ b/docs/libcurl/opts/CURLOPT_PROXY_SERVICE_NAME.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_PROXY_SERVICE_NAME 3 "May 31, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_PROXY_SERVICE_NAME 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_PROXY_SERVICE_NAME \- proxy authentication service name
diff --git a/docs/libcurl/opts/CURLOPT_PROXY_SSLCERT.3 b/docs/libcurl/opts/CURLOPT_PROXY_SSLCERT.3
index 1ad31df..1648447 100644
--- a/docs/libcurl/opts/CURLOPT_PROXY_SSLCERT.3
+++ b/docs/libcurl/opts/CURLOPT_PROXY_SSLCERT.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_PROXY_SSLCERT 3 "April 17, 2018" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_PROXY_SSLCERT 3 "April 17, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_PROXY_SSLCERT \- set SSL proxy client certificate
diff --git a/docs/libcurl/opts/CURLOPT_PROXY_SSLCERTTYPE.3 b/docs/libcurl/opts/CURLOPT_PROXY_SSLCERTTYPE.3
index 97baba8..eff8cfd 100644
--- a/docs/libcurl/opts/CURLOPT_PROXY_SSLCERTTYPE.3
+++ b/docs/libcurl/opts/CURLOPT_PROXY_SSLCERTTYPE.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_PROXY_SSLCERTTYPE 3 "April 17, 2018" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_PROXY_SSLCERTTYPE 3 "April 17, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_PROXY_SSLCERTTYPE \- specify type of the proxy client SSL certificate
diff --git a/docs/libcurl/opts/CURLOPT_PROXY_SSLKEY.3 b/docs/libcurl/opts/CURLOPT_PROXY_SSLKEY.3
index 6a691b5..19f06fb 100644
--- a/docs/libcurl/opts/CURLOPT_PROXY_SSLKEY.3
+++ b/docs/libcurl/opts/CURLOPT_PROXY_SSLKEY.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_PROXY_SSLKEY 3 "May 31, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_PROXY_SSLKEY 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_PROXY_SSLKEY \- specify private keyfile for TLS and SSL proxy client cert
diff --git a/docs/libcurl/opts/CURLOPT_PROXY_SSLKEYTYPE.3 b/docs/libcurl/opts/CURLOPT_PROXY_SSLKEYTYPE.3
index 4569cad..e2306e7 100644
--- a/docs/libcurl/opts/CURLOPT_PROXY_SSLKEYTYPE.3
+++ b/docs/libcurl/opts/CURLOPT_PROXY_SSLKEYTYPE.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_PROXY_SSLKEYTYPE 3 "April 17, 2018" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_PROXY_SSLKEYTYPE 3 "April 17, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_PROXY_SSLKEYTYPE \- set type of the proxy private key file
diff --git a/docs/libcurl/opts/CURLOPT_PROXY_SSLVERSION.3 b/docs/libcurl/opts/CURLOPT_PROXY_SSLVERSION.3
index 9391e8c..8c74c9f 100644
--- a/docs/libcurl/opts/CURLOPT_PROXY_SSLVERSION.3
+++ b/docs/libcurl/opts/CURLOPT_PROXY_SSLVERSION.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_PROXY_SSLVERSION 3 "July 16, 2019" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_PROXY_SSLVERSION 3 "July 16, 2019" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_PROXY_SSLVERSION \- set preferred proxy TLS/SSL version
diff --git a/docs/libcurl/opts/CURLOPT_PROXY_SSL_CIPHER_LIST.3 b/docs/libcurl/opts/CURLOPT_PROXY_SSL_CIPHER_LIST.3
index d03598d..af98808 100644
--- a/docs/libcurl/opts/CURLOPT_PROXY_SSL_CIPHER_LIST.3
+++ b/docs/libcurl/opts/CURLOPT_PROXY_SSL_CIPHER_LIST.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_PROXY_SSL_CIPHER_LIST 3 "October 10, 2018" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_PROXY_SSL_CIPHER_LIST 3 "October 10, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_PROXY_SSL_CIPHER_LIST \- specify ciphers to use for proxy TLS
diff --git a/docs/libcurl/opts/CURLOPT_PROXY_SSL_OPTIONS.3 b/docs/libcurl/opts/CURLOPT_PROXY_SSL_OPTIONS.3
index 82d9acd..b3f9a41 100644
--- a/docs/libcurl/opts/CURLOPT_PROXY_SSL_OPTIONS.3
+++ b/docs/libcurl/opts/CURLOPT_PROXY_SSL_OPTIONS.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_PROXY_SSL_OPTIONS 3 "July 16, 2019" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_PROXY_SSL_OPTIONS 3 "July 16, 2019" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_PROXY_SSL_OPTIONS \- set proxy SSL behavior options
diff --git a/docs/libcurl/opts/CURLOPT_PROXY_SSL_VERIFYHOST.3 b/docs/libcurl/opts/CURLOPT_PROXY_SSL_VERIFYHOST.3
index 284d3d1..aa393a7 100644
--- a/docs/libcurl/opts/CURLOPT_PROXY_SSL_VERIFYHOST.3
+++ b/docs/libcurl/opts/CURLOPT_PROXY_SSL_VERIFYHOST.3
@@ -5,7 +5,7 @@
 .\" *                            | (__| |_| |  _ <| |___
 .\" *                             \___|\___/|_| \_\_____|
 .\" *
-.\" * Copyright (C) 1998 - 2016, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_PROXY_SSL_VERIFYHOST 3 "May 02, 2018" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_PROXY_SSL_VERIFYHOST 3 "August 20, 2019" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_PROXY_SSL_VERIFYHOST \- verify the proxy certificate's name against host
@@ -43,8 +43,15 @@
 Subject Alternate Name field in the certificate matches the host name in the
 proxy string which you told curl to use.
 
-When the \fIverify\fP value is 1L, \fIcurl_easy_setopt\fP will return an error
-and the option value will not be changed due to old legacy reasons.
+If \fIverify\fP value is set to 1:
+
+In 7.28.0 and earlier: treated as a debug option of some sorts, not supported
+anymore due to frequently leading to programmer mistakes.
+
+From 7.28.1 to 7.65.3: setting it to 1 made curl_easy_setopt() return an error
+and leaving the flag untouched.
+
+From 7.66.0: treats 1 and 2 the same.
 
 When the \fIverify\fP value is 0L, the connection succeeds regardless of the
 names used in the certificate. Use that ability with caution!
diff --git a/docs/libcurl/opts/CURLOPT_PROXY_SSL_VERIFYPEER.3 b/docs/libcurl/opts/CURLOPT_PROXY_SSL_VERIFYPEER.3
index 340bd09..9d8c522 100644
--- a/docs/libcurl/opts/CURLOPT_PROXY_SSL_VERIFYPEER.3
+++ b/docs/libcurl/opts/CURLOPT_PROXY_SSL_VERIFYPEER.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_PROXY_SSL_VERIFYPEER 3 "December 16, 2016" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_PROXY_SSL_VERIFYPEER 3 "December 16, 2016" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_PROXY_SSL_VERIFYPEER \- verify the proxy's SSL certificate
diff --git a/docs/libcurl/opts/CURLOPT_PROXY_TLS13_CIPHERS.3 b/docs/libcurl/opts/CURLOPT_PROXY_TLS13_CIPHERS.3
index 6e6ef06..5d69d56 100644
--- a/docs/libcurl/opts/CURLOPT_PROXY_TLS13_CIPHERS.3
+++ b/docs/libcurl/opts/CURLOPT_PROXY_TLS13_CIPHERS.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_PROXY_TLS13_CIPHERS 3 "May 27, 2019" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_PROXY_TLS13_CIPHERS 3 "May 27, 2019" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_PROXY_TLS13_CIPHERS \- ciphers suites for proxy TLS 1.3
diff --git a/docs/libcurl/opts/CURLOPT_PROXY_TLSAUTH_PASSWORD.3 b/docs/libcurl/opts/CURLOPT_PROXY_TLSAUTH_PASSWORD.3
index 34508d0..d3448b1 100644
--- a/docs/libcurl/opts/CURLOPT_PROXY_TLSAUTH_PASSWORD.3
+++ b/docs/libcurl/opts/CURLOPT_PROXY_TLSAUTH_PASSWORD.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_PROXY_TLSAUTH_PASSWORD 3 "May 31, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_PROXY_TLSAUTH_PASSWORD 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_PROXY_TLSAUTH_PASSWORD \- password to use for proxy TLS authentication
diff --git a/docs/libcurl/opts/CURLOPT_PROXY_TLSAUTH_TYPE.3 b/docs/libcurl/opts/CURLOPT_PROXY_TLSAUTH_TYPE.3
index 43939b4..d1a43b2 100644
--- a/docs/libcurl/opts/CURLOPT_PROXY_TLSAUTH_TYPE.3
+++ b/docs/libcurl/opts/CURLOPT_PROXY_TLSAUTH_TYPE.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_PROXY_TLSAUTH_TYPE 3 "May 31, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_PROXY_TLSAUTH_TYPE 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_PROXY_TLSAUTH_TYPE \- set proxy TLS authentication methods
diff --git a/docs/libcurl/opts/CURLOPT_PROXY_TLSAUTH_USERNAME.3 b/docs/libcurl/opts/CURLOPT_PROXY_TLSAUTH_USERNAME.3
index a85b111..1c5720d 100644
--- a/docs/libcurl/opts/CURLOPT_PROXY_TLSAUTH_USERNAME.3
+++ b/docs/libcurl/opts/CURLOPT_PROXY_TLSAUTH_USERNAME.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_PROXY_TLSAUTH_USERNAME 3 "May 31, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_PROXY_TLSAUTH_USERNAME 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_PROXY_TLSAUTH_USERNAME \- user name to use for proxy TLS authentication
diff --git a/docs/libcurl/opts/CURLOPT_PROXY_TRANSFER_MODE.3 b/docs/libcurl/opts/CURLOPT_PROXY_TRANSFER_MODE.3
index c6aef6b..6726022 100644
--- a/docs/libcurl/opts/CURLOPT_PROXY_TRANSFER_MODE.3
+++ b/docs/libcurl/opts/CURLOPT_PROXY_TRANSFER_MODE.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_PROXY_TRANSFER_MODE 3 "April 17, 2018" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_PROXY_TRANSFER_MODE 3 "April 17, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_PROXY_TRANSFER_MODE \- append FTP transfer mode to URL for proxy
diff --git a/docs/libcurl/opts/CURLOPT_PUT.3 b/docs/libcurl/opts/CURLOPT_PUT.3
index 917f50e..2283841 100644
--- a/docs/libcurl/opts/CURLOPT_PUT.3
+++ b/docs/libcurl/opts/CURLOPT_PUT.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_PUT 3 "April 17, 2018" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_PUT 3 "April 17, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_PUT \- make an HTTP PUT request
diff --git a/docs/libcurl/opts/CURLOPT_QUOTE.3 b/docs/libcurl/opts/CURLOPT_QUOTE.3
index 6fd0595..341d1fd 100644
--- a/docs/libcurl/opts/CURLOPT_QUOTE.3
+++ b/docs/libcurl/opts/CURLOPT_QUOTE.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_QUOTE 3 "April 17, 2018" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_QUOTE 3 "April 17, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_QUOTE \- (S)FTP commands to run before transfer
diff --git a/docs/libcurl/opts/CURLOPT_RANDOM_FILE.3 b/docs/libcurl/opts/CURLOPT_RANDOM_FILE.3
index debff9f..6f78448 100644
--- a/docs/libcurl/opts/CURLOPT_RANDOM_FILE.3
+++ b/docs/libcurl/opts/CURLOPT_RANDOM_FILE.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_RANDOM_FILE 3 "May 31, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_RANDOM_FILE 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_RANDOM_FILE \- specify a source for random data
diff --git a/docs/libcurl/opts/CURLOPT_RANGE.3 b/docs/libcurl/opts/CURLOPT_RANGE.3
index e6cd269..0406c28 100644
--- a/docs/libcurl/opts/CURLOPT_RANGE.3
+++ b/docs/libcurl/opts/CURLOPT_RANGE.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_RANGE 3 "July 17, 2019" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_RANGE 3 "July 17, 2019" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_RANGE \- set byte range to request
diff --git a/docs/libcurl/opts/CURLOPT_READDATA.3 b/docs/libcurl/opts/CURLOPT_READDATA.3
index ba9e3e2..a0747ef 100644
--- a/docs/libcurl/opts/CURLOPT_READDATA.3
+++ b/docs/libcurl/opts/CURLOPT_READDATA.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_READDATA 3 "August 11, 2018" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_READDATA 3 "August 11, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_READDATA \- custom pointer passed to the read callback
diff --git a/docs/libcurl/opts/CURLOPT_READFUNCTION.3 b/docs/libcurl/opts/CURLOPT_READFUNCTION.3
index c8e5173..1994ff9 100644
--- a/docs/libcurl/opts/CURLOPT_READFUNCTION.3
+++ b/docs/libcurl/opts/CURLOPT_READFUNCTION.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_READFUNCTION 3 "May 15, 2019" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_READFUNCTION 3 "August 12, 2019" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_READFUNCTION \- read callback for data uploads
@@ -70,8 +70,37 @@
 .SH PROTOCOLS
 This is used for all protocols when doing uploads.
 .SH EXAMPLE
-Here's an example setting a read callback for reading that to upload to an FTP
-site: https://curl.haxx.se/libcurl/c/ftpupload.html
+.nf
+size_t read_callback(void *ptr, size_t size, size_t nmemb, void *userdata)
+{
+  FILE *readhere = (FILE *)userdata;
+  curl_off_t nread;
+
+  /* copy as much data as possible into the 'ptr' buffer, but no more than
+     'size' * 'nmemb' bytes! */
+  size_t retcode = fread(ptr, size, nmemb, readhere);
+
+  nread = (curl_off_t)retcode;
+
+  fprintf(stderr, "*** We read %" CURL_FORMAT_CURL_OFF_T
+          " bytes from file\\n", nread);
+  return retcode;
+}
+
+void setup(char *uploadthis)
+{
+  FILE *file = fopen("rb", uploadthis);
+  CURLcode result;
+
+  /* set callback to use */
+  curl_easy_setopt(curl, CURLOPT_READFUNCTION, read_callback);
+
+  /* pass in suitable argument to callback */
+  curl_easy_setopt(curl, CURLOPT_READDATA, uploadthis);
+
+  result = curl_easy_perform(curl);
+}
+.fi
 .SH AVAILABILITY
 CURL_READFUNC_PAUSE return code was added in 7.18.0 and CURL_READFUNC_ABORT
 was added in 7.12.1.
diff --git a/docs/libcurl/opts/CURLOPT_REDIR_PROTOCOLS.3 b/docs/libcurl/opts/CURLOPT_REDIR_PROTOCOLS.3
index fbba225..3b757ca 100644
--- a/docs/libcurl/opts/CURLOPT_REDIR_PROTOCOLS.3
+++ b/docs/libcurl/opts/CURLOPT_REDIR_PROTOCOLS.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_REDIR_PROTOCOLS 3 "July 16, 2019" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_REDIR_PROTOCOLS 3 "July 16, 2019" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_REDIR_PROTOCOLS \- set protocols allowed to redirect to
diff --git a/docs/libcurl/opts/CURLOPT_REFERER.3 b/docs/libcurl/opts/CURLOPT_REFERER.3
index c52e011..d59ee3b 100644
--- a/docs/libcurl/opts/CURLOPT_REFERER.3
+++ b/docs/libcurl/opts/CURLOPT_REFERER.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_REFERER 3 "December 21, 2016" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_REFERER 3 "December 21, 2016" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_REFERER \- set the HTTP referer header
diff --git a/docs/libcurl/opts/CURLOPT_REQUEST_TARGET.3 b/docs/libcurl/opts/CURLOPT_REQUEST_TARGET.3
index 66ac8c4..d743f6a 100644
--- a/docs/libcurl/opts/CURLOPT_REQUEST_TARGET.3
+++ b/docs/libcurl/opts/CURLOPT_REQUEST_TARGET.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_REQUEST_TARGET 3 "June 21, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_REQUEST_TARGET 3 "June 21, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_REQUEST_TARGET \- specify an alternative target for this request
diff --git a/docs/libcurl/opts/CURLOPT_RESOLVE.3 b/docs/libcurl/opts/CURLOPT_RESOLVE.3
index 8e47702..d6cfc9a 100644
--- a/docs/libcurl/opts/CURLOPT_RESOLVE.3
+++ b/docs/libcurl/opts/CURLOPT_RESOLVE.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_RESOLVE 3 "May 30, 2018" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_RESOLVE 3 "May 30, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_RESOLVE \- provide custom host name to IP address resolves
diff --git a/docs/libcurl/opts/CURLOPT_RESOLVER_START_DATA.3 b/docs/libcurl/opts/CURLOPT_RESOLVER_START_DATA.3
index 967012b..071beaf 100644
--- a/docs/libcurl/opts/CURLOPT_RESOLVER_START_DATA.3
+++ b/docs/libcurl/opts/CURLOPT_RESOLVER_START_DATA.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_RESOLVER_START_DATA 3 "February 14, 2018" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_RESOLVER_START_DATA 3 "February 14, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_RESOLVER_START_DATA \- custom pointer passed to the resolver start callback
diff --git a/docs/libcurl/opts/CURLOPT_RESOLVER_START_FUNCTION.3 b/docs/libcurl/opts/CURLOPT_RESOLVER_START_FUNCTION.3
index 61b51bc..6e5274c 100644
--- a/docs/libcurl/opts/CURLOPT_RESOLVER_START_FUNCTION.3
+++ b/docs/libcurl/opts/CURLOPT_RESOLVER_START_FUNCTION.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_RESOLVER_START_FUNCTION 3 "February 14, 2018" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_RESOLVER_START_FUNCTION 3 "February 14, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_RESOLVER_START_FUNCTION \- set callback to be called before a new resolve request is started
diff --git a/docs/libcurl/opts/CURLOPT_RESUME_FROM.3 b/docs/libcurl/opts/CURLOPT_RESUME_FROM.3
index fe023f7..cebe4f7 100644
--- a/docs/libcurl/opts/CURLOPT_RESUME_FROM.3
+++ b/docs/libcurl/opts/CURLOPT_RESUME_FROM.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_RESUME_FROM 3 "February 03, 2016" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_RESUME_FROM 3 "February 03, 2016" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_RESUME_FROM \- set a point to resume transfer from
diff --git a/docs/libcurl/opts/CURLOPT_RESUME_FROM_LARGE.3 b/docs/libcurl/opts/CURLOPT_RESUME_FROM_LARGE.3
index a89ea2c..2b7c2b4 100644
--- a/docs/libcurl/opts/CURLOPT_RESUME_FROM_LARGE.3
+++ b/docs/libcurl/opts/CURLOPT_RESUME_FROM_LARGE.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_RESUME_FROM_LARGE 3 "February 03, 2016" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_RESUME_FROM_LARGE 3 "February 03, 2016" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_RESUME_FROM_LARGE \- set a point to resume transfer from
diff --git a/docs/libcurl/opts/CURLOPT_RTSP_CLIENT_CSEQ.3 b/docs/libcurl/opts/CURLOPT_RTSP_CLIENT_CSEQ.3
index 42ccebd..1ae220a 100644
--- a/docs/libcurl/opts/CURLOPT_RTSP_CLIENT_CSEQ.3
+++ b/docs/libcurl/opts/CURLOPT_RTSP_CLIENT_CSEQ.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_RTSP_CLIENT_CSEQ 3 "April 17, 2018" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_RTSP_CLIENT_CSEQ 3 "April 17, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_RTSP_CLIENT_CSEQ \- set the RTSP client CSEQ number
diff --git a/docs/libcurl/opts/CURLOPT_RTSP_REQUEST.3 b/docs/libcurl/opts/CURLOPT_RTSP_REQUEST.3
index 3695b99..36c042d 100644
--- a/docs/libcurl/opts/CURLOPT_RTSP_REQUEST.3
+++ b/docs/libcurl/opts/CURLOPT_RTSP_REQUEST.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_RTSP_REQUEST 3 "July 16, 2019" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_RTSP_REQUEST 3 "July 16, 2019" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_RTSP_REQUEST \- specify RTSP request
diff --git a/docs/libcurl/opts/CURLOPT_RTSP_SERVER_CSEQ.3 b/docs/libcurl/opts/CURLOPT_RTSP_SERVER_CSEQ.3
index b2149e6..5d0956f 100644
--- a/docs/libcurl/opts/CURLOPT_RTSP_SERVER_CSEQ.3
+++ b/docs/libcurl/opts/CURLOPT_RTSP_SERVER_CSEQ.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_RTSP_SERVER_CSEQ 3 "May 31, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_RTSP_SERVER_CSEQ 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_RTSP_SERVER_CSEQ \- set the RTSP server CSEQ number
diff --git a/docs/libcurl/opts/CURLOPT_RTSP_SESSION_ID.3 b/docs/libcurl/opts/CURLOPT_RTSP_SESSION_ID.3
index 0cce176..553a989 100644
--- a/docs/libcurl/opts/CURLOPT_RTSP_SESSION_ID.3
+++ b/docs/libcurl/opts/CURLOPT_RTSP_SESSION_ID.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_RTSP_SESSION_ID 3 "May 31, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_RTSP_SESSION_ID 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_RTSP_SESSION_ID \- set RTSP session ID
diff --git a/docs/libcurl/opts/CURLOPT_RTSP_STREAM_URI.3 b/docs/libcurl/opts/CURLOPT_RTSP_STREAM_URI.3
index fcc7419..bb2abf5 100644
--- a/docs/libcurl/opts/CURLOPT_RTSP_STREAM_URI.3
+++ b/docs/libcurl/opts/CURLOPT_RTSP_STREAM_URI.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_RTSP_STREAM_URI 3 "July 16, 2019" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_RTSP_STREAM_URI 3 "July 16, 2019" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_RTSP_STREAM_URI \- set RTSP stream URI
diff --git a/docs/libcurl/opts/CURLOPT_RTSP_TRANSPORT.3 b/docs/libcurl/opts/CURLOPT_RTSP_TRANSPORT.3
index 2e73dd4..fe1d10f 100644
--- a/docs/libcurl/opts/CURLOPT_RTSP_TRANSPORT.3
+++ b/docs/libcurl/opts/CURLOPT_RTSP_TRANSPORT.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_RTSP_TRANSPORT 3 "May 31, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_RTSP_TRANSPORT 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_RTSP_TRANSPORT \- set RTSP Transport: header
diff --git a/docs/libcurl/opts/CURLOPT_SASL_AUTHZID.3 b/docs/libcurl/opts/CURLOPT_SASL_AUTHZID.3
new file mode 100644
index 0000000..6544547
--- /dev/null
+++ b/docs/libcurl/opts/CURLOPT_SASL_AUTHZID.3
@@ -0,0 +1,64 @@
+.\" **************************************************************************
+.\" *                                  _   _ ____  _
+.\" *  Project                     ___| | | |  _ \| |
+.\" *                             / __| | | | |_) | |
+.\" *                            | (__| |_| |  _ <| |___
+.\" *                             \___|\___/|_| \_\_____|
+.\" *
+.\" * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" *
+.\" * This software is licensed as described in the file COPYING, which
+.\" * you should have received as part of this distribution. The terms
+.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" *
+.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+.\" * copies of the Software, and permit persons to whom the Software is
+.\" * furnished to do so, under the terms of the COPYING file.
+.\" *
+.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+.\" * KIND, either express or implied.
+.\" *
+.\" **************************************************************************
+.\"
+.TH CURLOPT_SASL_AUTHZID 3 "11 Sep 2019" "libcurl 7.66.0" "curl_easy_setopt options"
+.SH NAME
+CURLOPT_SASL_AUTHZID \- authorisation identity (identity to act as)
+.SH SYNOPSIS
+#include <curl/curl.h>
+
+CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SASL_AUTHZID, char *authzid);
+.SH DESCRIPTION
+Pass a char * as parameter, which should be pointing to the zero terminated
+authorisation identity (authzid) for the transfer. Only applicable to the PLAIN
+SASL authentication mechanism where it is optional.
+
+When not specified only the authentication identity (authcid) as specified by
+the username will be sent to the server, along with the password. The server
+will derive a authzid from the authcid when not provided, which it will then
+uses internally.
+
+When the authzid is specified, the use of which is server dependent, it can be
+used to access another user's inbox, that the user has been granted access to,
+or a shared mailbox for example.
+.SH DEFAULT
+blank
+.SH PROTOCOLS
+IMAP, POP3 and SMTP
+.SH EXAMPLE
+.nf
+CURL *curl = curl_easy_init();
+if(curl) {
+  curl_easy_setopt(curl, CURLOPT_URL, "imap://example.com/");
+  curl_easy_setopt(curl, CURLOPT_USERNAME, "Kurt");
+  curl_easy_setopt(curl, CURLOPT_PASSWORD, "xipj3plmq");
+  curl_easy_setopt(curl, CURLOPT_SASL_AUTHZID, "Ursel");
+  ret = curl_easy_perform(curl);
+  curl_easy_cleanup(curl);
+}
+.fi
+.SH AVAILABILITY
+Added in 7.66.0
+.SH RETURN VALUE
+Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
+.SH "SEE ALSO"
+.BR CURLOPT_USERNAME "(3), " CURLOPT_PASSWORD "(3), ".BR CURLOPT_USERPWD "(3)"
diff --git a/docs/libcurl/opts/CURLOPT_SASL_IR.3 b/docs/libcurl/opts/CURLOPT_SASL_IR.3
index 29b983e..1256f5b 100644
--- a/docs/libcurl/opts/CURLOPT_SASL_IR.3
+++ b/docs/libcurl/opts/CURLOPT_SASL_IR.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_SASL_IR 3 "May 31, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_SASL_IR 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_SASL_IR \- enable sending initial response in first packet
diff --git a/docs/libcurl/opts/CURLOPT_SEEKDATA.3 b/docs/libcurl/opts/CURLOPT_SEEKDATA.3
index b59bff7..efd6b45 100644
--- a/docs/libcurl/opts/CURLOPT_SEEKDATA.3
+++ b/docs/libcurl/opts/CURLOPT_SEEKDATA.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_SEEKDATA 3 "July 16, 2019" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_SEEKDATA 3 "July 16, 2019" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_SEEKDATA \- custom pointer passed to the seek callback
diff --git a/docs/libcurl/opts/CURLOPT_SEEKFUNCTION.3 b/docs/libcurl/opts/CURLOPT_SEEKFUNCTION.3
index e6f6341..ecec26d 100644
--- a/docs/libcurl/opts/CURLOPT_SEEKFUNCTION.3
+++ b/docs/libcurl/opts/CURLOPT_SEEKFUNCTION.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_SEEKFUNCTION 3 "April 17, 2018" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_SEEKFUNCTION 3 "April 17, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_SEEKFUNCTION \- user callback for seeking in input stream
diff --git a/docs/libcurl/opts/CURLOPT_SERVICE_NAME.3 b/docs/libcurl/opts/CURLOPT_SERVICE_NAME.3
index 59f7db7..5ab8819 100644
--- a/docs/libcurl/opts/CURLOPT_SERVICE_NAME.3
+++ b/docs/libcurl/opts/CURLOPT_SERVICE_NAME.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_SERVICE_NAME 3 "May 31, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_SERVICE_NAME 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_SERVICE_NAME \- authentication service name
diff --git a/docs/libcurl/opts/CURLOPT_SHARE.3 b/docs/libcurl/opts/CURLOPT_SHARE.3
index ca9cb75..32bdb3c 100644
--- a/docs/libcurl/opts/CURLOPT_SHARE.3
+++ b/docs/libcurl/opts/CURLOPT_SHARE.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_SHARE 3 "May 31, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_SHARE 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_SHARE \- specify share handle to use
diff --git a/docs/libcurl/opts/CURLOPT_SOCKOPTDATA.3 b/docs/libcurl/opts/CURLOPT_SOCKOPTDATA.3
index 5fb4057..f06df5e 100644
--- a/docs/libcurl/opts/CURLOPT_SOCKOPTDATA.3
+++ b/docs/libcurl/opts/CURLOPT_SOCKOPTDATA.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_SOCKOPTDATA 3 "May 15, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_SOCKOPTDATA 3 "May 15, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_SOCKOPTDATA \- custom pointer to pass to sockopt callback
diff --git a/docs/libcurl/opts/CURLOPT_SOCKOPTFUNCTION.3 b/docs/libcurl/opts/CURLOPT_SOCKOPTFUNCTION.3
index 91cf8ef..d2537aa 100644
--- a/docs/libcurl/opts/CURLOPT_SOCKOPTFUNCTION.3
+++ b/docs/libcurl/opts/CURLOPT_SOCKOPTFUNCTION.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_SOCKOPTFUNCTION 3 "May 15, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_SOCKOPTFUNCTION 3 "May 15, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_SOCKOPTFUNCTION \- set callback for setting socket options
diff --git a/docs/libcurl/opts/CURLOPT_SOCKS5_AUTH.3 b/docs/libcurl/opts/CURLOPT_SOCKS5_AUTH.3
index 51b38f4..b5a8cf3 100644
--- a/docs/libcurl/opts/CURLOPT_SOCKS5_AUTH.3
+++ b/docs/libcurl/opts/CURLOPT_SOCKS5_AUTH.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_SOCKS5_AUTH 3 "April 27, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_SOCKS5_AUTH 3 "April 27, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_SOCKS5_AUTH \- set allowed methods for SOCKS5 proxy authentication
diff --git a/docs/libcurl/opts/CURLOPT_SOCKS5_GSSAPI_NEC.3 b/docs/libcurl/opts/CURLOPT_SOCKS5_GSSAPI_NEC.3
index fd6a289..5968ac6 100644
--- a/docs/libcurl/opts/CURLOPT_SOCKS5_GSSAPI_NEC.3
+++ b/docs/libcurl/opts/CURLOPT_SOCKS5_GSSAPI_NEC.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_SOCKS5_GSSAPI_NEC 3 "May 31, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_SOCKS5_GSSAPI_NEC 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_SOCKS5_GSSAPI_NEC \- set socks proxy gssapi negotiation protection
diff --git a/docs/libcurl/opts/CURLOPT_SOCKS5_GSSAPI_SERVICE.3 b/docs/libcurl/opts/CURLOPT_SOCKS5_GSSAPI_SERVICE.3
index 2a84bf8..c54c2c2 100644
--- a/docs/libcurl/opts/CURLOPT_SOCKS5_GSSAPI_SERVICE.3
+++ b/docs/libcurl/opts/CURLOPT_SOCKS5_GSSAPI_SERVICE.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_SOCKS5_GSSAPI_SERVICE 3 "May 31, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_SOCKS5_GSSAPI_SERVICE 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_SOCKS5_GSSAPI_SERVICE \- SOCKS5 proxy authentication service name
diff --git a/docs/libcurl/opts/CURLOPT_SSH_AUTH_TYPES.3 b/docs/libcurl/opts/CURLOPT_SSH_AUTH_TYPES.3
index 3457e2a..5b26f02 100644
--- a/docs/libcurl/opts/CURLOPT_SSH_AUTH_TYPES.3
+++ b/docs/libcurl/opts/CURLOPT_SSH_AUTH_TYPES.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_SSH_AUTH_TYPES 3 "May 31, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_SSH_AUTH_TYPES 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_SSH_AUTH_TYPES \- set desired auth types for SFTP and SCP
diff --git a/docs/libcurl/opts/CURLOPT_SSH_COMPRESSION.3 b/docs/libcurl/opts/CURLOPT_SSH_COMPRESSION.3
index 6a6bc85..fa9d824 100644
--- a/docs/libcurl/opts/CURLOPT_SSH_COMPRESSION.3
+++ b/docs/libcurl/opts/CURLOPT_SSH_COMPRESSION.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_SSH_COMPRESSION 3 "August 10, 2018" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_SSH_COMPRESSION 3 "August 10, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_SSH_COMPRESSION \- enables compression / decompression of SSH traffic
diff --git a/docs/libcurl/opts/CURLOPT_SSH_HOST_PUBLIC_KEY_MD5.3 b/docs/libcurl/opts/CURLOPT_SSH_HOST_PUBLIC_KEY_MD5.3
index 38c4e8a..97d3e6d 100644
--- a/docs/libcurl/opts/CURLOPT_SSH_HOST_PUBLIC_KEY_MD5.3
+++ b/docs/libcurl/opts/CURLOPT_SSH_HOST_PUBLIC_KEY_MD5.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_SSH_HOST_PUBLIC_KEY_MD5 3 "May 31, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_SSH_HOST_PUBLIC_KEY_MD5 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_SSH_HOST_PUBLIC_KEY_MD5 \- checksum of SSH server public key
diff --git a/docs/libcurl/opts/CURLOPT_SSH_KEYDATA.3 b/docs/libcurl/opts/CURLOPT_SSH_KEYDATA.3
index 7a8d7e8..cf1aa37 100644
--- a/docs/libcurl/opts/CURLOPT_SSH_KEYDATA.3
+++ b/docs/libcurl/opts/CURLOPT_SSH_KEYDATA.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_SSH_KEYDATA 3 "May 31, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_SSH_KEYDATA 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_SSH_KEYDATA \- pointer to pass to the SSH key callback
diff --git a/docs/libcurl/opts/CURLOPT_SSH_KEYFUNCTION.3 b/docs/libcurl/opts/CURLOPT_SSH_KEYFUNCTION.3
index cedf9d7..8d5bde0 100644
--- a/docs/libcurl/opts/CURLOPT_SSH_KEYFUNCTION.3
+++ b/docs/libcurl/opts/CURLOPT_SSH_KEYFUNCTION.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_SSH_KEYFUNCTION 3 "May 31, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_SSH_KEYFUNCTION 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_SSH_KEYFUNCTION \- callback for known host matching logic
diff --git a/docs/libcurl/opts/CURLOPT_SSH_KNOWNHOSTS.3 b/docs/libcurl/opts/CURLOPT_SSH_KNOWNHOSTS.3
index 8325b88..7784538 100644
--- a/docs/libcurl/opts/CURLOPT_SSH_KNOWNHOSTS.3
+++ b/docs/libcurl/opts/CURLOPT_SSH_KNOWNHOSTS.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_SSH_KNOWNHOSTS 3 "May 31, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_SSH_KNOWNHOSTS 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_SSH_KNOWNHOSTS \- file name holding the SSH known hosts
diff --git a/docs/libcurl/opts/CURLOPT_SSH_PRIVATE_KEYFILE.3 b/docs/libcurl/opts/CURLOPT_SSH_PRIVATE_KEYFILE.3
index 7f10382..e9b6b5c 100644
--- a/docs/libcurl/opts/CURLOPT_SSH_PRIVATE_KEYFILE.3
+++ b/docs/libcurl/opts/CURLOPT_SSH_PRIVATE_KEYFILE.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_SSH_PRIVATE_KEYFILE 3 "May 31, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_SSH_PRIVATE_KEYFILE 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_SSH_PRIVATE_KEYFILE \- set private key file for SSH auth
diff --git a/docs/libcurl/opts/CURLOPT_SSH_PUBLIC_KEYFILE.3 b/docs/libcurl/opts/CURLOPT_SSH_PUBLIC_KEYFILE.3
index 6779452..ec4ae39 100644
--- a/docs/libcurl/opts/CURLOPT_SSH_PUBLIC_KEYFILE.3
+++ b/docs/libcurl/opts/CURLOPT_SSH_PUBLIC_KEYFILE.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_SSH_PUBLIC_KEYFILE 3 "May 31, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_SSH_PUBLIC_KEYFILE 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_SSH_PUBLIC_KEYFILE \- set public key file for SSH auth
diff --git a/docs/libcurl/opts/CURLOPT_SSLCERT.3 b/docs/libcurl/opts/CURLOPT_SSLCERT.3
index a9ff5f9..fbccdfa 100644
--- a/docs/libcurl/opts/CURLOPT_SSLCERT.3
+++ b/docs/libcurl/opts/CURLOPT_SSLCERT.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_SSLCERT 3 "January 29, 2019" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_SSLCERT 3 "January 29, 2019" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_SSLCERT \- set SSL client certificate
diff --git a/docs/libcurl/opts/CURLOPT_SSLCERTTYPE.3 b/docs/libcurl/opts/CURLOPT_SSLCERTTYPE.3
index 138338e..1603884 100644
--- a/docs/libcurl/opts/CURLOPT_SSLCERTTYPE.3
+++ b/docs/libcurl/opts/CURLOPT_SSLCERTTYPE.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_SSLCERTTYPE 3 "May 31, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_SSLCERTTYPE 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_SSLCERTTYPE \- specify type of the client SSL certificate
diff --git a/docs/libcurl/opts/CURLOPT_SSLENGINE.3 b/docs/libcurl/opts/CURLOPT_SSLENGINE.3
index 678d763..46ebefe 100644
--- a/docs/libcurl/opts/CURLOPT_SSLENGINE.3
+++ b/docs/libcurl/opts/CURLOPT_SSLENGINE.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_SSLENGINE 3 "May 31, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_SSLENGINE 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_SSLENGINE \- set SSL engine identifier
diff --git a/docs/libcurl/opts/CURLOPT_SSLENGINE_DEFAULT.3 b/docs/libcurl/opts/CURLOPT_SSLENGINE_DEFAULT.3
index 0e0917d..2fc37c5 100644
--- a/docs/libcurl/opts/CURLOPT_SSLENGINE_DEFAULT.3
+++ b/docs/libcurl/opts/CURLOPT_SSLENGINE_DEFAULT.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_SSLENGINE_DEFAULT 3 "May 31, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_SSLENGINE_DEFAULT 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_SSLENGINE_DEFAULT \- make SSL engine default
diff --git a/docs/libcurl/opts/CURLOPT_SSLKEY.3 b/docs/libcurl/opts/CURLOPT_SSLKEY.3
index 546b10a..cec31ff 100644
--- a/docs/libcurl/opts/CURLOPT_SSLKEY.3
+++ b/docs/libcurl/opts/CURLOPT_SSLKEY.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_SSLKEY 3 "May 31, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_SSLKEY 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_SSLKEY \- specify private keyfile for TLS and SSL client cert
diff --git a/docs/libcurl/opts/CURLOPT_SSLKEYTYPE.3 b/docs/libcurl/opts/CURLOPT_SSLKEYTYPE.3
index 07a2e81..993b8ae 100644
--- a/docs/libcurl/opts/CURLOPT_SSLKEYTYPE.3
+++ b/docs/libcurl/opts/CURLOPT_SSLKEYTYPE.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_SSLKEYTYPE 3 "May 31, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_SSLKEYTYPE 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_SSLKEYTYPE \- set type of the private key file
diff --git a/docs/libcurl/opts/CURLOPT_SSLVERSION.3 b/docs/libcurl/opts/CURLOPT_SSLVERSION.3
index 8b2b4c6..553f2b6 100644
--- a/docs/libcurl/opts/CURLOPT_SSLVERSION.3
+++ b/docs/libcurl/opts/CURLOPT_SSLVERSION.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_SSLVERSION 3 "July 16, 2019" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_SSLVERSION 3 "July 16, 2019" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_SSLVERSION \- set preferred TLS/SSL version
diff --git a/docs/libcurl/opts/CURLOPT_SSL_CIPHER_LIST.3 b/docs/libcurl/opts/CURLOPT_SSL_CIPHER_LIST.3
index ab78b1e..e88eacc 100644
--- a/docs/libcurl/opts/CURLOPT_SSL_CIPHER_LIST.3
+++ b/docs/libcurl/opts/CURLOPT_SSL_CIPHER_LIST.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_SSL_CIPHER_LIST 3 "October 10, 2018" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_SSL_CIPHER_LIST 3 "October 10, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_SSL_CIPHER_LIST \- specify ciphers to use for TLS
diff --git a/docs/libcurl/opts/CURLOPT_SSL_CTX_DATA.3 b/docs/libcurl/opts/CURLOPT_SSL_CTX_DATA.3
index 2044c30..f7156b8 100644
--- a/docs/libcurl/opts/CURLOPT_SSL_CTX_DATA.3
+++ b/docs/libcurl/opts/CURLOPT_SSL_CTX_DATA.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_SSL_CTX_DATA 3 "June 02, 2019" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_SSL_CTX_DATA 3 "June 02, 2019" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_SSL_CTX_DATA \- custom pointer passed to ssl_ctx callback
diff --git a/docs/libcurl/opts/CURLOPT_SSL_CTX_FUNCTION.3 b/docs/libcurl/opts/CURLOPT_SSL_CTX_FUNCTION.3
index 148846a..fd8b8d0 100644
--- a/docs/libcurl/opts/CURLOPT_SSL_CTX_FUNCTION.3
+++ b/docs/libcurl/opts/CURLOPT_SSL_CTX_FUNCTION.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_SSL_CTX_FUNCTION 3 "June 02, 2019" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_SSL_CTX_FUNCTION 3 "June 02, 2019" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_SSL_CTX_FUNCTION \- SSL context callback for OpenSSL, wolfSSL or mbedTLS
diff --git a/docs/libcurl/opts/CURLOPT_SSL_ENABLE_ALPN.3 b/docs/libcurl/opts/CURLOPT_SSL_ENABLE_ALPN.3
index 1bb9533..58828a8 100644
--- a/docs/libcurl/opts/CURLOPT_SSL_ENABLE_ALPN.3
+++ b/docs/libcurl/opts/CURLOPT_SSL_ENABLE_ALPN.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_SSL_ENABLE_ALPN 3 "May 31, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_SSL_ENABLE_ALPN 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_SSL_ENABLE_ALPN \- enable ALPN
diff --git a/docs/libcurl/opts/CURLOPT_SSL_ENABLE_NPN.3 b/docs/libcurl/opts/CURLOPT_SSL_ENABLE_NPN.3
index f781edf..048d03b 100644
--- a/docs/libcurl/opts/CURLOPT_SSL_ENABLE_NPN.3
+++ b/docs/libcurl/opts/CURLOPT_SSL_ENABLE_NPN.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_SSL_ENABLE_NPN 3 "May 31, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_SSL_ENABLE_NPN 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_SSL_ENABLE_NPN \- enable NPN
diff --git a/docs/libcurl/opts/CURLOPT_SSL_FALSESTART.3 b/docs/libcurl/opts/CURLOPT_SSL_FALSESTART.3
index 5a0f1a2..5b6736d 100644
--- a/docs/libcurl/opts/CURLOPT_SSL_FALSESTART.3
+++ b/docs/libcurl/opts/CURLOPT_SSL_FALSESTART.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_SSL_FALSESTART 3 "May 15, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_SSL_FALSESTART 3 "May 15, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_SSL_FALSESTART \- enable TLS false start
diff --git a/docs/libcurl/opts/CURLOPT_SSL_OPTIONS.3 b/docs/libcurl/opts/CURLOPT_SSL_OPTIONS.3
index 32a61f4..dded057 100644
--- a/docs/libcurl/opts/CURLOPT_SSL_OPTIONS.3
+++ b/docs/libcurl/opts/CURLOPT_SSL_OPTIONS.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_SSL_OPTIONS 3 "July 16, 2019" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_SSL_OPTIONS 3 "July 16, 2019" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_SSL_OPTIONS \- set SSL behavior options
diff --git a/docs/libcurl/opts/CURLOPT_SSL_SESSIONID_CACHE.3 b/docs/libcurl/opts/CURLOPT_SSL_SESSIONID_CACHE.3
index be9adb1..a4318e5 100644
--- a/docs/libcurl/opts/CURLOPT_SSL_SESSIONID_CACHE.3
+++ b/docs/libcurl/opts/CURLOPT_SSL_SESSIONID_CACHE.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_SSL_SESSIONID_CACHE 3 "May 31, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_SSL_SESSIONID_CACHE 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_SSL_SESSIONID_CACHE \- enable/disable use of the SSL session-ID cache
diff --git a/docs/libcurl/opts/CURLOPT_SSL_VERIFYHOST.3 b/docs/libcurl/opts/CURLOPT_SSL_VERIFYHOST.3
index e11b372..8c016e5 100644
--- a/docs/libcurl/opts/CURLOPT_SSL_VERIFYHOST.3
+++ b/docs/libcurl/opts/CURLOPT_SSL_VERIFYHOST.3
@@ -5,7 +5,7 @@
 .\" *                            | (__| |_| |  _ <| |___
 .\" *                             \___|\___/|_| \_\_____|
 .\" *
-.\" * Copyright (C) 1998 - 2015, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_SSL_VERIFYHOST 3 "February 02, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_SSL_VERIFYHOST 3 "August 20, 2019" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_SSL_VERIFYHOST \- verify the certificate's name against host
@@ -46,11 +46,15 @@
 Subject Alternate Name field in the certificate matches the host name in the
 URL to which you told Curl to connect.
 
-When the \fIverify\fP value is 1, \fIcurl_easy_setopt\fP will return an error
-and the option value will not be changed.  It was previously (in 7.28.0 and
-earlier) a debug option of some sorts, but it is no longer supported due to
-frequently leading to programmer mistakes. Future versions will stop returning
-an error for 1 and just treat 1 and 2 the same.
+If \fIverify\fP value is set to 1:
+
+In 7.28.0 and earlier: treated as a debug option of some sorts, not supported
+anymore due to frequently leading to programmer mistakes.
+
+From 7.28.1 to 7.65.3: setting it to 1 made curl_easy_setopt() return an error
+and leaving the flag untouched.
+
+From 7.66.0: treats 1 and 2 the same.
 
 When the \fIverify\fP value is 0, the connection succeeds regardless of the
 names in the certificate. Use that ability with caution!
diff --git a/docs/libcurl/opts/CURLOPT_SSL_VERIFYPEER.3 b/docs/libcurl/opts/CURLOPT_SSL_VERIFYPEER.3
index 0eaebb0..20c33b9 100644
--- a/docs/libcurl/opts/CURLOPT_SSL_VERIFYPEER.3
+++ b/docs/libcurl/opts/CURLOPT_SSL_VERIFYPEER.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_SSL_VERIFYPEER 3 "June 24, 2018" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_SSL_VERIFYPEER 3 "June 24, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_SSL_VERIFYPEER \- verify the peer's SSL certificate
diff --git a/docs/libcurl/opts/CURLOPT_SSL_VERIFYSTATUS.3 b/docs/libcurl/opts/CURLOPT_SSL_VERIFYSTATUS.3
index 3d4d918..186dfc9 100644
--- a/docs/libcurl/opts/CURLOPT_SSL_VERIFYSTATUS.3
+++ b/docs/libcurl/opts/CURLOPT_SSL_VERIFYSTATUS.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_SSL_VERIFYSTATUS 3 "October 09, 2018" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_SSL_VERIFYSTATUS 3 "October 09, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_SSL_VERIFYSTATUS \- verify the certificate's status
diff --git a/docs/libcurl/opts/CURLOPT_STDERR.3 b/docs/libcurl/opts/CURLOPT_STDERR.3
index 87f68ab..ae0d196 100644
--- a/docs/libcurl/opts/CURLOPT_STDERR.3
+++ b/docs/libcurl/opts/CURLOPT_STDERR.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_STDERR 3 "February 03, 2016" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_STDERR 3 "February 03, 2016" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_STDERR \- redirect stderr to another stream
diff --git a/docs/libcurl/opts/CURLOPT_STREAM_DEPENDS.3 b/docs/libcurl/opts/CURLOPT_STREAM_DEPENDS.3
index 5bcc658..2083b01 100644
--- a/docs/libcurl/opts/CURLOPT_STREAM_DEPENDS.3
+++ b/docs/libcurl/opts/CURLOPT_STREAM_DEPENDS.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_STREAM_DEPENDS 3 "May 31, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_STREAM_DEPENDS 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_STREAM_DEPENDS \- set stream this transfer depends on
diff --git a/docs/libcurl/opts/CURLOPT_STREAM_DEPENDS_E.3 b/docs/libcurl/opts/CURLOPT_STREAM_DEPENDS_E.3
index d16443f..caf635f 100644
--- a/docs/libcurl/opts/CURLOPT_STREAM_DEPENDS_E.3
+++ b/docs/libcurl/opts/CURLOPT_STREAM_DEPENDS_E.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_STREAM_DEPENDS_E 3 "April 17, 2018" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_STREAM_DEPENDS_E 3 "April 17, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_STREAM_DEPENDS_E \- set stream this transfer depends on exclusively
diff --git a/docs/libcurl/opts/CURLOPT_STREAM_WEIGHT.3 b/docs/libcurl/opts/CURLOPT_STREAM_WEIGHT.3
index d2bcf0a..7c4a87e 100644
--- a/docs/libcurl/opts/CURLOPT_STREAM_WEIGHT.3
+++ b/docs/libcurl/opts/CURLOPT_STREAM_WEIGHT.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_STREAM_WEIGHT 3 "April 17, 2018" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_STREAM_WEIGHT 3 "April 17, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_STREAM_WEIGHT \- set numerical stream weight
diff --git a/docs/libcurl/opts/CURLOPT_SUPPRESS_CONNECT_HEADERS.3 b/docs/libcurl/opts/CURLOPT_SUPPRESS_CONNECT_HEADERS.3
index 16ddd88..459a88d 100644
--- a/docs/libcurl/opts/CURLOPT_SUPPRESS_CONNECT_HEADERS.3
+++ b/docs/libcurl/opts/CURLOPT_SUPPRESS_CONNECT_HEADERS.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_SUPPRESS_CONNECT_HEADERS 3 "April 28, 2016" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_SUPPRESS_CONNECT_HEADERS 3 "April 28, 2016" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_SUPPRESS_CONNECT_HEADERS \- Suppress proxy CONNECT response headers from user callbacks
diff --git a/docs/libcurl/opts/CURLOPT_TCP_FASTOPEN.3 b/docs/libcurl/opts/CURLOPT_TCP_FASTOPEN.3
index 7c8c335..ad2ebd3 100644
--- a/docs/libcurl/opts/CURLOPT_TCP_FASTOPEN.3
+++ b/docs/libcurl/opts/CURLOPT_TCP_FASTOPEN.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_TCP_FASTOPEN 3 "May 15, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_TCP_FASTOPEN 3 "May 15, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_TCP_FASTOPEN \- enable TCP Fast Open
diff --git a/docs/libcurl/opts/CURLOPT_TCP_KEEPALIVE.3 b/docs/libcurl/opts/CURLOPT_TCP_KEEPALIVE.3
index ef8d24d..9390d1c 100644
--- a/docs/libcurl/opts/CURLOPT_TCP_KEEPALIVE.3
+++ b/docs/libcurl/opts/CURLOPT_TCP_KEEPALIVE.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_TCP_KEEPALIVE 3 "February 03, 2016" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_TCP_KEEPALIVE 3 "February 03, 2016" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_TCP_KEEPALIVE \- enable TCP keep-alive probing
diff --git a/docs/libcurl/opts/CURLOPT_TCP_KEEPIDLE.3 b/docs/libcurl/opts/CURLOPT_TCP_KEEPIDLE.3
index 722f958..82ecf42 100644
--- a/docs/libcurl/opts/CURLOPT_TCP_KEEPIDLE.3
+++ b/docs/libcurl/opts/CURLOPT_TCP_KEEPIDLE.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_TCP_KEEPIDLE 3 "January 02, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_TCP_KEEPIDLE 3 "January 02, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_TCP_KEEPIDLE \- set TCP keep-alive idle time wait
diff --git a/docs/libcurl/opts/CURLOPT_TCP_KEEPINTVL.3 b/docs/libcurl/opts/CURLOPT_TCP_KEEPINTVL.3
index ffbd850..8eb8b4e 100644
--- a/docs/libcurl/opts/CURLOPT_TCP_KEEPINTVL.3
+++ b/docs/libcurl/opts/CURLOPT_TCP_KEEPINTVL.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_TCP_KEEPINTVL 3 "January 02, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_TCP_KEEPINTVL 3 "January 02, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_TCP_KEEPINTVL \- set TCP keep-alive interval
diff --git a/docs/libcurl/opts/CURLOPT_TCP_NODELAY.3 b/docs/libcurl/opts/CURLOPT_TCP_NODELAY.3
index a642f09..9f52b26 100644
--- a/docs/libcurl/opts/CURLOPT_TCP_NODELAY.3
+++ b/docs/libcurl/opts/CURLOPT_TCP_NODELAY.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_TCP_NODELAY 3 "January 15, 2018" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_TCP_NODELAY 3 "January 15, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_TCP_NODELAY \- set the TCP_NODELAY option
diff --git a/docs/libcurl/opts/CURLOPT_TELNETOPTIONS.3 b/docs/libcurl/opts/CURLOPT_TELNETOPTIONS.3
index 6610fbf..a23b1b5 100644
--- a/docs/libcurl/opts/CURLOPT_TELNETOPTIONS.3
+++ b/docs/libcurl/opts/CURLOPT_TELNETOPTIONS.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_TELNETOPTIONS 3 "May 31, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_TELNETOPTIONS 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_TELNETOPTIONS \- custom telnet options
diff --git a/docs/libcurl/opts/CURLOPT_TFTP_BLKSIZE.3 b/docs/libcurl/opts/CURLOPT_TFTP_BLKSIZE.3
index e6948d6..8de6d78 100644
--- a/docs/libcurl/opts/CURLOPT_TFTP_BLKSIZE.3
+++ b/docs/libcurl/opts/CURLOPT_TFTP_BLKSIZE.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_TFTP_BLKSIZE 3 "May 31, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_TFTP_BLKSIZE 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_TFTP_BLKSIZE \- TFTP block size
diff --git a/docs/libcurl/opts/CURLOPT_TFTP_NO_OPTIONS.3 b/docs/libcurl/opts/CURLOPT_TFTP_NO_OPTIONS.3
index 5015fa3..781e3a3 100644
--- a/docs/libcurl/opts/CURLOPT_TFTP_NO_OPTIONS.3
+++ b/docs/libcurl/opts/CURLOPT_TFTP_NO_OPTIONS.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_TFTP_NO_OPTIONS 3 "April 06, 2016" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_TFTP_NO_OPTIONS 3 "April 06, 2016" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_TFTP_NO_OPTIONS \- Do not send TFTP options requests.
diff --git a/docs/libcurl/opts/CURLOPT_TIMECONDITION.3 b/docs/libcurl/opts/CURLOPT_TIMECONDITION.3
index babd9e7..62f1059 100644
--- a/docs/libcurl/opts/CURLOPT_TIMECONDITION.3
+++ b/docs/libcurl/opts/CURLOPT_TIMECONDITION.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_TIMECONDITION 3 "April 03, 2016" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_TIMECONDITION 3 "April 03, 2016" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_TIMECONDITION \- select condition for a time request
diff --git a/docs/libcurl/opts/CURLOPT_TIMEOUT.3 b/docs/libcurl/opts/CURLOPT_TIMEOUT.3
index 66605a1..7f8a32f 100644
--- a/docs/libcurl/opts/CURLOPT_TIMEOUT.3
+++ b/docs/libcurl/opts/CURLOPT_TIMEOUT.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_TIMEOUT 3 "October 03, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_TIMEOUT 3 "October 03, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_TIMEOUT \- set maximum time the request is allowed to take
diff --git a/docs/libcurl/opts/CURLOPT_TIMEOUT_MS.3 b/docs/libcurl/opts/CURLOPT_TIMEOUT_MS.3
index 0592b47..6371f72 100644
--- a/docs/libcurl/opts/CURLOPT_TIMEOUT_MS.3
+++ b/docs/libcurl/opts/CURLOPT_TIMEOUT_MS.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_TIMEOUT_MS 3 "September 23, 2018" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_TIMEOUT_MS 3 "September 23, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_TIMEOUT_MS \- set maximum time the request is allowed to take
diff --git a/docs/libcurl/opts/CURLOPT_TIMEVALUE.3 b/docs/libcurl/opts/CURLOPT_TIMEVALUE.3
index a305373..74b24f2 100644
--- a/docs/libcurl/opts/CURLOPT_TIMEVALUE.3
+++ b/docs/libcurl/opts/CURLOPT_TIMEVALUE.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_TIMEVALUE 3 "January 25, 2018" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_TIMEVALUE 3 "January 25, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_TIMEVALUE \- set time value for conditional
diff --git a/docs/libcurl/opts/CURLOPT_TIMEVALUE_LARGE.3 b/docs/libcurl/opts/CURLOPT_TIMEVALUE_LARGE.3
index 3436e98..43dd3b8 100644
--- a/docs/libcurl/opts/CURLOPT_TIMEVALUE_LARGE.3
+++ b/docs/libcurl/opts/CURLOPT_TIMEVALUE_LARGE.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_TIMEVALUE_LARGE 3 "January 25, 2018" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_TIMEVALUE_LARGE 3 "January 25, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_TIMEVALUE_LARGE \- set time value for conditional
diff --git a/docs/libcurl/opts/CURLOPT_TLS13_CIPHERS.3 b/docs/libcurl/opts/CURLOPT_TLS13_CIPHERS.3
index e495639..f0db088 100644
--- a/docs/libcurl/opts/CURLOPT_TLS13_CIPHERS.3
+++ b/docs/libcurl/opts/CURLOPT_TLS13_CIPHERS.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_TLS13_CIPHERS 3 "May 27, 2019" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_TLS13_CIPHERS 3 "May 27, 2019" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_TLS13_CIPHERS \- specify ciphers suites to use for TLS 1.3
diff --git a/docs/libcurl/opts/CURLOPT_TLSAUTH_PASSWORD.3 b/docs/libcurl/opts/CURLOPT_TLSAUTH_PASSWORD.3
index e972edf..2762472 100644
--- a/docs/libcurl/opts/CURLOPT_TLSAUTH_PASSWORD.3
+++ b/docs/libcurl/opts/CURLOPT_TLSAUTH_PASSWORD.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_TLSAUTH_PASSWORD 3 "May 31, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_TLSAUTH_PASSWORD 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_TLSAUTH_PASSWORD \- password to use for TLS authentication
diff --git a/docs/libcurl/opts/CURLOPT_TLSAUTH_TYPE.3 b/docs/libcurl/opts/CURLOPT_TLSAUTH_TYPE.3
index 0cfa5bb..766482d 100644
--- a/docs/libcurl/opts/CURLOPT_TLSAUTH_TYPE.3
+++ b/docs/libcurl/opts/CURLOPT_TLSAUTH_TYPE.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_TLSAUTH_TYPE 3 "May 31, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_TLSAUTH_TYPE 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_TLSAUTH_TYPE \- set TLS authentication methods
diff --git a/docs/libcurl/opts/CURLOPT_TLSAUTH_USERNAME.3 b/docs/libcurl/opts/CURLOPT_TLSAUTH_USERNAME.3
index 877eb7f..8ff70be 100644
--- a/docs/libcurl/opts/CURLOPT_TLSAUTH_USERNAME.3
+++ b/docs/libcurl/opts/CURLOPT_TLSAUTH_USERNAME.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_TLSAUTH_USERNAME 3 "May 31, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_TLSAUTH_USERNAME 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_TLSAUTH_USERNAME \- user name to use for TLS authentication
diff --git a/docs/libcurl/opts/CURLOPT_TRAILERDATA.3 b/docs/libcurl/opts/CURLOPT_TRAILERDATA.3
index a01529c..e248473 100644
--- a/docs/libcurl/opts/CURLOPT_TRAILERDATA.3
+++ b/docs/libcurl/opts/CURLOPT_TRAILERDATA.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_TRAILERDATA 3 "December 14, 2018" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_TRAILERDATA 3 "December 14, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME:
 CURLOPT_TRAILERDATA \- Custom pointer passed to the trailing headers callback
diff --git a/docs/libcurl/opts/CURLOPT_TRAILERFUNCTION.3 b/docs/libcurl/opts/CURLOPT_TRAILERFUNCTION.3
index ed9355f..3a4c4c0 100644
--- a/docs/libcurl/opts/CURLOPT_TRAILERFUNCTION.3
+++ b/docs/libcurl/opts/CURLOPT_TRAILERFUNCTION.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_TRAILERFUNCTION 3 "December 14, 2018" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_TRAILERFUNCTION 3 "December 14, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME:
 CURLOPT_TRAILERFUNCTION \- Set callback for sending trailing headers
diff --git a/docs/libcurl/opts/CURLOPT_TRANSFERTEXT.3 b/docs/libcurl/opts/CURLOPT_TRANSFERTEXT.3
index 0619300..0f7e8f2 100644
--- a/docs/libcurl/opts/CURLOPT_TRANSFERTEXT.3
+++ b/docs/libcurl/opts/CURLOPT_TRANSFERTEXT.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_TRANSFERTEXT 3 "May 31, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_TRANSFERTEXT 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_TRANSFERTEXT \- request a text based transfer for FTP
diff --git a/docs/libcurl/opts/CURLOPT_TRANSFER_ENCODING.3 b/docs/libcurl/opts/CURLOPT_TRANSFER_ENCODING.3
index 6408725..615c1b2 100644
--- a/docs/libcurl/opts/CURLOPT_TRANSFER_ENCODING.3
+++ b/docs/libcurl/opts/CURLOPT_TRANSFER_ENCODING.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_TRANSFER_ENCODING 3 "May 15, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_TRANSFER_ENCODING 3 "May 15, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_TRANSFER_ENCODING \- ask for HTTP Transfer Encoding
diff --git a/docs/libcurl/opts/CURLOPT_UNIX_SOCKET_PATH.3 b/docs/libcurl/opts/CURLOPT_UNIX_SOCKET_PATH.3
index c18fb02..1cfcef0 100644
--- a/docs/libcurl/opts/CURLOPT_UNIX_SOCKET_PATH.3
+++ b/docs/libcurl/opts/CURLOPT_UNIX_SOCKET_PATH.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_UNIX_SOCKET_PATH 3 "April 17, 2018" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_UNIX_SOCKET_PATH 3 "April 17, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_UNIX_SOCKET_PATH \- set Unix domain socket
diff --git a/docs/libcurl/opts/CURLOPT_UNRESTRICTED_AUTH.3 b/docs/libcurl/opts/CURLOPT_UNRESTRICTED_AUTH.3
index 0ea12d1..3751b69 100644
--- a/docs/libcurl/opts/CURLOPT_UNRESTRICTED_AUTH.3
+++ b/docs/libcurl/opts/CURLOPT_UNRESTRICTED_AUTH.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_UNRESTRICTED_AUTH 3 "May 15, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_UNRESTRICTED_AUTH 3 "May 15, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_UNRESTRICTED_AUTH \- send credentials to other hosts too
diff --git a/docs/libcurl/opts/CURLOPT_UPLOAD.3 b/docs/libcurl/opts/CURLOPT_UPLOAD.3
index 42a1ca6..ed1268c 100644
--- a/docs/libcurl/opts/CURLOPT_UPLOAD.3
+++ b/docs/libcurl/opts/CURLOPT_UPLOAD.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_UPLOAD 3 "April 17, 2018" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_UPLOAD 3 "April 17, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_UPLOAD \- enable data upload
diff --git a/docs/libcurl/opts/CURLOPT_UPLOAD_BUFFERSIZE.3 b/docs/libcurl/opts/CURLOPT_UPLOAD_BUFFERSIZE.3
index 81dd95e..88f1e55 100644
--- a/docs/libcurl/opts/CURLOPT_UPLOAD_BUFFERSIZE.3
+++ b/docs/libcurl/opts/CURLOPT_UPLOAD_BUFFERSIZE.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_UPLOAD_BUFFERSIZE 3 "August 18, 2018" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_UPLOAD_BUFFERSIZE 3 "August 18, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_UPLOAD_BUFFERSIZE \- set preferred upload buffer size
diff --git a/docs/libcurl/opts/CURLOPT_URL.3 b/docs/libcurl/opts/CURLOPT_URL.3
index 8966516..17af070 100644
--- a/docs/libcurl/opts/CURLOPT_URL.3
+++ b/docs/libcurl/opts/CURLOPT_URL.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_URL 3 "November 11, 2018" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_URL 3 "November 11, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_URL \- provide the URL to use in the request
diff --git a/docs/libcurl/opts/CURLOPT_USERAGENT.3 b/docs/libcurl/opts/CURLOPT_USERAGENT.3
index fb0cd5b..6c53c9b 100644
--- a/docs/libcurl/opts/CURLOPT_USERAGENT.3
+++ b/docs/libcurl/opts/CURLOPT_USERAGENT.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_USERAGENT 3 "December 21, 2016" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_USERAGENT 3 "December 21, 2016" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_USERAGENT \- set HTTP user-agent header
diff --git a/docs/libcurl/opts/CURLOPT_USERNAME.3 b/docs/libcurl/opts/CURLOPT_USERNAME.3
index 00760cc..036e1d8 100644
--- a/docs/libcurl/opts/CURLOPT_USERNAME.3
+++ b/docs/libcurl/opts/CURLOPT_USERNAME.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_USERNAME 3 "May 05, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_USERNAME 3 "May 05, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_USERNAME \- user name to use in authentication
diff --git a/docs/libcurl/opts/CURLOPT_USERPWD.3 b/docs/libcurl/opts/CURLOPT_USERPWD.3
index f7f921d..50a2f7a 100644
--- a/docs/libcurl/opts/CURLOPT_USERPWD.3
+++ b/docs/libcurl/opts/CURLOPT_USERPWD.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_USERPWD 3 "August 24, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_USERPWD 3 "August 24, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_USERPWD \- user name and password to use in authentication
diff --git a/docs/libcurl/opts/CURLOPT_USE_SSL.3 b/docs/libcurl/opts/CURLOPT_USE_SSL.3
index bc3ac6b..e248dd6 100644
--- a/docs/libcurl/opts/CURLOPT_USE_SSL.3
+++ b/docs/libcurl/opts/CURLOPT_USE_SSL.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_USE_SSL 3 "October 10, 2018" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_USE_SSL 3 "October 10, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_USE_SSL \- request using SSL / TLS for the transfer
diff --git a/docs/libcurl/opts/CURLOPT_VERBOSE.3 b/docs/libcurl/opts/CURLOPT_VERBOSE.3
index 87b984b..70f2f05 100644
--- a/docs/libcurl/opts/CURLOPT_VERBOSE.3
+++ b/docs/libcurl/opts/CURLOPT_VERBOSE.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_VERBOSE 3 "February 03, 2016" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_VERBOSE 3 "February 03, 2016" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_VERBOSE \- set verbose mode on/off
diff --git a/docs/libcurl/opts/CURLOPT_WILDCARDMATCH.3 b/docs/libcurl/opts/CURLOPT_WILDCARDMATCH.3
index 51fbcff..5717d13 100644
--- a/docs/libcurl/opts/CURLOPT_WILDCARDMATCH.3
+++ b/docs/libcurl/opts/CURLOPT_WILDCARDMATCH.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_WILDCARDMATCH 3 "May 18, 2018" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_WILDCARDMATCH 3 "May 18, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_WILDCARDMATCH \- enable directory wildcard transfers
diff --git a/docs/libcurl/opts/CURLOPT_WRITEDATA.3 b/docs/libcurl/opts/CURLOPT_WRITEDATA.3
index fdc6bec..8e9cc5f 100644
--- a/docs/libcurl/opts/CURLOPT_WRITEDATA.3
+++ b/docs/libcurl/opts/CURLOPT_WRITEDATA.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_WRITEDATA 3 "August 11, 2018" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_WRITEDATA 3 "August 11, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_WRITEDATA \- custom pointer passed to the write callback
diff --git a/docs/libcurl/opts/CURLOPT_WRITEFUNCTION.3 b/docs/libcurl/opts/CURLOPT_WRITEFUNCTION.3
index 5b3bac0..71afb18 100644
--- a/docs/libcurl/opts/CURLOPT_WRITEFUNCTION.3
+++ b/docs/libcurl/opts/CURLOPT_WRITEFUNCTION.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_WRITEFUNCTION 3 "November 23, 2018" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_WRITEFUNCTION 3 "November 23, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_WRITEFUNCTION \- set callback for writing received data
diff --git a/docs/libcurl/opts/CURLOPT_XFERINFODATA.3 b/docs/libcurl/opts/CURLOPT_XFERINFODATA.3
index ef52472..23eb16f 100644
--- a/docs/libcurl/opts/CURLOPT_XFERINFODATA.3
+++ b/docs/libcurl/opts/CURLOPT_XFERINFODATA.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_XFERINFODATA 3 "October 09, 2017" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_XFERINFODATA 3 "October 09, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_XFERINFODATA \- custom pointer passed to the progress callback
diff --git a/docs/libcurl/opts/CURLOPT_XFERINFOFUNCTION.3 b/docs/libcurl/opts/CURLOPT_XFERINFOFUNCTION.3
index 3f885ea..9482480 100644
--- a/docs/libcurl/opts/CURLOPT_XFERINFOFUNCTION.3
+++ b/docs/libcurl/opts/CURLOPT_XFERINFOFUNCTION.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_XFERINFOFUNCTION 3 "February 03, 2016" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_XFERINFOFUNCTION 3 "February 03, 2016" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_XFERINFOFUNCTION \- callback to progress meter function
diff --git a/docs/libcurl/opts/CURLOPT_XOAUTH2_BEARER.3 b/docs/libcurl/opts/CURLOPT_XOAUTH2_BEARER.3
index 29cbca0..cad0417 100644
--- a/docs/libcurl/opts/CURLOPT_XOAUTH2_BEARER.3
+++ b/docs/libcurl/opts/CURLOPT_XOAUTH2_BEARER.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_XOAUTH2_BEARER 3 "May 22, 2018" "libcurl 7.65.3" "curl_easy_setopt options"
+.TH CURLOPT_XOAUTH2_BEARER 3 "May 22, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_XOAUTH2_BEARER \- specify OAuth 2.0 access token
diff --git a/docs/libcurl/opts/Makefile.inc b/docs/libcurl/opts/Makefile.inc
index c8e15a5..b5f62a1 100644
--- a/docs/libcurl/opts/Makefile.inc
+++ b/docs/libcurl/opts/Makefile.inc
@@ -43,6 +43,7 @@
   CURLINFO_REDIRECT_URL.3                       \
   CURLINFO_REQUEST_SIZE.3                       \
   CURLINFO_RESPONSE_CODE.3                      \
+  CURLINFO_RETRY_AFTER.3                        \
   CURLINFO_RTSP_CLIENT_CSEQ.3                   \
   CURLINFO_RTSP_CSEQ_RECV.3                     \
   CURLINFO_RTSP_SERVER_CSEQ.3                   \
@@ -272,6 +273,7 @@
   CURLOPT_RTSP_SESSION_ID.3                     \
   CURLOPT_RTSP_STREAM_URI.3                     \
   CURLOPT_RTSP_TRANSPORT.3                      \
+  CURLOPT_SASL_AUTHZID.3                        \
   CURLOPT_SASL_IR.3                             \
   CURLOPT_SEEKDATA.3                            \
   CURLOPT_SEEKFUNCTION.3                        \
diff --git a/docs/libcurl/symbols-in-versions b/docs/libcurl/symbols-in-versions
index 5244a7c..9daad94 100644
--- a/docs/libcurl/symbols-in-versions
+++ b/docs/libcurl/symbols-in-versions
@@ -12,7 +12,6 @@
 
  Name                           Introduced  Deprecated  Removed
 
-CURLALTSVC_ALTUSED              7.64.1
 CURLALTSVC_H1                   7.64.1
 CURLALTSVC_H2                   7.64.1
 CURLALTSVC_H3                   7.64.1
@@ -40,6 +39,7 @@
 CURLE_ABORTED_BY_CALLBACK       7.1
 CURLE_AGAIN                     7.18.2
 CURLE_ALREADY_COMPLETE          7.7.2
+CURLE_AUTH_ERROR                7.66.0
 CURLE_BAD_CALLING_ORDER         7.1           7.17.0
 CURLE_BAD_CONTENT_ENCODING      7.10
 CURLE_BAD_DOWNLOAD_RESUME       7.10
@@ -266,6 +266,7 @@
 CURLINFO_REDIRECT_URL           7.18.2
 CURLINFO_REQUEST_SIZE           7.4.1
 CURLINFO_RESPONSE_CODE          7.10.8
+CURLINFO_RETRY_AFTER            7.66.0
 CURLINFO_RTSP_CLIENT_CSEQ       7.20.0
 CURLINFO_RTSP_CSEQ_RECV         7.20.0
 CURLINFO_RTSP_SERVER_CSEQ       7.20.0
@@ -554,6 +555,7 @@
 CURLOPT_RTSP_SESSION_ID         7.20.0
 CURLOPT_RTSP_STREAM_URI         7.20.0
 CURLOPT_RTSP_TRANSPORT          7.20.0
+CURLOPT_SASL_AUTHZID            7.66.0
 CURLOPT_SASL_IR                 7.31.0
 CURLOPT_SEEKDATA                7.18.0
 CURLOPT_SEEKFUNCTION            7.18.0
@@ -786,6 +788,7 @@
 CURLVERSION_NOW                 7.10
 CURLVERSION_SECOND              7.11.1
 CURLVERSION_THIRD               7.12.0
+CURLVERSION_SIXTH               7.66.0
 CURL_CHUNK_BGN_FUNC_FAIL        7.21.0
 CURL_CHUNK_BGN_FUNC_OK          7.21.0
 CURL_CHUNK_BGN_FUNC_SKIP        7.21.0
@@ -830,6 +833,7 @@
 CURL_HTTP_VERSION_2TLS          7.47.0
 CURL_HTTP_VERSION_2_0           7.33.0
 CURL_HTTP_VERSION_2_PRIOR_KNOWLEDGE 7.49.0
+CURL_HTTP_VERSION_3             7.66.0
 CURL_HTTP_VERSION_NONE          7.9.1
 CURL_IPRESOLVE_V4               7.10.8
 CURL_IPRESOLVE_V6               7.10.8
@@ -924,6 +928,7 @@
 CURL_VERSION_GSSAPI             7.38.0
 CURL_VERSION_GSSNEGOTIATE       7.10.6        7.38.0
 CURL_VERSION_HTTP2              7.33.0
+CURL_VERSION_HTTP3              7.66.0
 CURL_VERSION_HTTPS_PROXY        7.52.0
 CURL_VERSION_IDN                7.12.0
 CURL_VERSION_IPV6               7.10
diff --git a/include/curl/curl.h b/include/curl/curl.h
index 19f6c0b..ff0c774 100644
--- a/include/curl/curl.h
+++ b/include/curl/curl.h
@@ -1,5 +1,5 @@
-#ifndef __CURL_CURL_H
-#define __CURL_CURL_H
+#ifndef CURLINC_CURL_H
+#define CURLINC_CURL_H
 /***************************************************************************
  *                                  _   _ ____  _
  *  Project                     ___| | | |  _ \| |
@@ -284,10 +284,7 @@
 #define CURLFINFOFLAG_KNOWN_SIZE        (1<<6)
 #define CURLFINFOFLAG_KNOWN_HLINKCOUNT  (1<<7)
 
-/* Content of this structure depends on information which is known and is
-   achievable (e.g. by FTP LIST parsing). Please see the url_easy_setopt(3) man
-   page for callbacks returning this structure -- some fields are mandatory,
-   some others are optional. The FLAG field has special meaning. */
+/* Information about a single file, used when doing FTP wildcard matching */
 struct curl_fileinfo {
   char *filename;
   curlfiletype filetype;
@@ -603,6 +600,8 @@
                                     */
   CURLE_RECURSIVE_API_CALL,      /* 93 - an api function was called from
                                     inside a callback */
+  CURLE_AUTH_ERROR,              /* 94 - an authentication function returned an
+                                    error */
   CURL_LAST /* never use! */
 } CURLcode;
 
@@ -886,7 +885,7 @@
 
 /* CURLALTSVC_* are bits for the CURLOPT_ALTSVC_CTRL option */
 #define CURLALTSVC_IMMEDIATELY  (1<<0)
-#define CURLALTSVC_ALTUSED      (1<<1)
+
 #define CURLALTSVC_READONLYFILE (1<<2)
 #define CURLALTSVC_H1           (1<<3)
 #define CURLALTSVC_H2           (1<<4)
@@ -1925,6 +1924,9 @@
   /* maximum age of a connection to consider it for reuse (in seconds) */
   CINIT(MAXAGE_CONN, LONG, 288),
 
+  /* SASL authorisation identity */
+  CINIT(SASL_AUTHZID, STRINGPOINT, 289),
+
   CURLOPT_LASTENTRY /* the last unused */
 } CURLoption;
 
@@ -1978,7 +1980,8 @@
   CURL_HTTP_VERSION_2TLS, /* use version 2 for HTTPS, version 1.1 for HTTP */
   CURL_HTTP_VERSION_2_PRIOR_KNOWLEDGE,  /* please use HTTP 2 without HTTP/1.1
                                            Upgrade */
-
+  CURL_HTTP_VERSION_3 = 30, /* Makes use of explicit HTTP/3 without fallback.
+                               Use CURLOPT_ALTSVC to enable HTTP/3 upgrade */
   CURL_HTTP_VERSION_LAST /* *ILLEGAL* http version */
 };
 
@@ -2614,8 +2617,9 @@
   CURLINFO_STARTTRANSFER_TIME_T = CURLINFO_OFF_T + 54,
   CURLINFO_REDIRECT_TIME_T  = CURLINFO_OFF_T + 55,
   CURLINFO_APPCONNECT_TIME_T = CURLINFO_OFF_T + 56,
+  CURLINFO_RETRY_AFTER      = CURLINFO_OFF_T + 57,
 
-  CURLINFO_LASTONE          = 56
+  CURLINFO_LASTONE          = 57
 } CURLINFO;
 
 /* CURLINFO_RESPONSE_CODE is the new name for the option previously known as
@@ -2714,6 +2718,7 @@
   CURLVERSION_THIRD,
   CURLVERSION_FOURTH,
   CURLVERSION_FIFTH,
+  CURLVERSION_SIXTH,
   CURLVERSION_LAST /* never actually use this */
 } CURLversion;
 
@@ -2722,7 +2727,7 @@
    meant to be a built-in version number for what kind of struct the caller
    expects. If the struct ever changes, we redefine the NOW to another enum
    from above. */
-#define CURLVERSION_NOW CURLVERSION_FIFTH
+#define CURLVERSION_NOW CURLVERSION_SIXTH
 
 typedef struct {
   CURLversion age;          /* age of the returned struct */
@@ -2751,11 +2756,16 @@
   const char *libssh_version; /* human readable string */
 
   /* These fields were added in CURLVERSION_FIFTH */
-
   unsigned int brotli_ver_num; /* Numeric Brotli version
                                   (MAJOR << 24) | (MINOR << 12) | PATCH */
   const char *brotli_version; /* human readable string. */
 
+  /* These fields were added in CURLVERSION_SIXTH */
+  unsigned int nghttp2_ver_num; /* Numeric nghttp2 version
+                                   (MAJOR << 16) | (MINOR << 8) | PATCH */
+  const char *nghttp2_version; /* human readable string. */
+  const char *quic_version;    /* human readable quic (+ HTTP/3) library +
+                                  version or NULL */
 } curl_version_info_data;
 
 #define CURL_VERSION_IPV6         (1<<0)  /* IPv6-enabled */
@@ -2788,6 +2798,7 @@
 #define CURL_VERSION_MULTI_SSL    (1<<22) /* Multiple SSL backends available */
 #define CURL_VERSION_BROTLI       (1<<23) /* Brotli features are present. */
 #define CURL_VERSION_ALTSVC       (1<<24) /* Alt-Svc handling built-in */
+#define CURL_VERSION_HTTP3        (1<<25) /* HTTP3 support built-in */
 
  /*
  * NAME curl_version_info()
@@ -2868,4 +2879,4 @@
 #endif /* __STDC__ >= 1 */
 #endif /* gcc >= 4.3 && !__cplusplus */
 
-#endif /* __CURL_CURL_H */
+#endif /* CURLINC_CURL_H */
diff --git a/include/curl/curlver.h b/include/curl/curlver.h
index 3e8789e..f537b92 100644
--- a/include/curl/curlver.h
+++ b/include/curl/curlver.h
@@ -1,5 +1,5 @@
-#ifndef __CURL_CURLVER_H
-#define __CURL_CURLVER_H
+#ifndef CURLINC_CURLVER_H
+#define CURLINC_CURLVER_H
 /***************************************************************************
  *                                  _   _ ____  _
  *  Project                     ___| | | |  _ \| |
@@ -30,13 +30,13 @@
 
 /* This is the version number of the libcurl package from which this header
    file origins: */
-#define LIBCURL_VERSION "7.65.3"
+#define LIBCURL_VERSION "7.66.0"
 
 /* The numeric version number is also available "in parts" by using these
    defines: */
 #define LIBCURL_VERSION_MAJOR 7
-#define LIBCURL_VERSION_MINOR 65
-#define LIBCURL_VERSION_PATCH 3
+#define LIBCURL_VERSION_MINOR 66
+#define LIBCURL_VERSION_PATCH 0
 
 /* This is the numeric version of the libcurl version number, meant for easier
    parsing and comparions by programs. The LIBCURL_VERSION_NUM define will
@@ -57,7 +57,7 @@
    CURL_VERSION_BITS() macro since curl's own configure script greps for it
    and needs it to contain the full number.
 */
-#define LIBCURL_VERSION_NUM 0x074103
+#define LIBCURL_VERSION_NUM 0x074200
 
 /*
  * This is the date and time when the full source package was created. The
@@ -68,10 +68,10 @@
  *
  * "2007-11-23"
  */
-#define LIBCURL_TIMESTAMP "2019-07-19"
+#define LIBCURL_TIMESTAMP "2019-09-11"
 
 #define CURL_VERSION_BITS(x,y,z) ((x)<<16|(y)<<8|(z))
 #define CURL_AT_LEAST_VERSION(x,y,z) \
   (LIBCURL_VERSION_NUM >= CURL_VERSION_BITS(x, y, z))
 
-#endif /* __CURL_CURLVER_H */
+#endif /* CURLINC_CURLVER_H */
diff --git a/include/curl/easy.h b/include/curl/easy.h
index f42a8a9..592f5d3 100644
--- a/include/curl/easy.h
+++ b/include/curl/easy.h
@@ -1,5 +1,5 @@
-#ifndef __CURL_EASY_H
-#define __CURL_EASY_H
+#ifndef CURLINC_EASY_H
+#define CURLINC_EASY_H
 /***************************************************************************
  *                                  _   _ ____  _
  *  Project                     ___| | | |  _ \| |
@@ -7,7 +7,7 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2016, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
diff --git a/include/curl/mprintf.h b/include/curl/mprintf.h
index e20f546..f615ed7 100644
--- a/include/curl/mprintf.h
+++ b/include/curl/mprintf.h
@@ -1,5 +1,5 @@
-#ifndef __CURL_MPRINTF_H
-#define __CURL_MPRINTF_H
+#ifndef CURLINC_MPRINTF_H
+#define CURLINC_MPRINTF_H
 /***************************************************************************
  *                                  _   _ ____  _
  *  Project                     ___| | | |  _ \| |
@@ -7,7 +7,7 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2016, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
@@ -47,4 +47,4 @@
 }
 #endif
 
-#endif /* __CURL_MPRINTF_H */
+#endif /* CURLINC_MPRINTF_H */
diff --git a/include/curl/multi.h b/include/curl/multi.h
index b19dbaf..02df0f3 100644
--- a/include/curl/multi.h
+++ b/include/curl/multi.h
@@ -1,5 +1,5 @@
-#ifndef __CURL_MULTI_H
-#define __CURL_MULTI_H
+#ifndef CURLINC_MULTI_H
+#define CURLINC_MULTI_H
 /***************************************************************************
  *                                  _   _ ____  _
  *  Project                     ___| | | |  _ \| |
@@ -7,7 +7,7 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
@@ -173,6 +173,20 @@
                                       int timeout_ms,
                                       int *ret);
 
+/*
+ * Name:     curl_multi_poll()
+ *
+ * Desc:     Poll on all fds within a CURLM set as well as any
+ *           additional fds passed to the function.
+ *
+ * Returns:  CURLMcode type, general multi error code.
+ */
+CURL_EXTERN CURLMcode curl_multi_poll(CURLM *multi_handle,
+                                      struct curl_waitfd extra_fds[],
+                                      unsigned int extra_nfds,
+                                      int timeout_ms,
+                                      int *ret);
+
  /*
   * Name:    curl_multi_perform()
   *
diff --git a/include/curl/stdcheaders.h b/include/curl/stdcheaders.h
index 027b6f4..a6bdc1a 100644
--- a/include/curl/stdcheaders.h
+++ b/include/curl/stdcheaders.h
@@ -1,5 +1,5 @@
-#ifndef __STDC_HEADERS_H
-#define __STDC_HEADERS_H
+#ifndef CURLINC_STDCHEADERS_H
+#define CURLINC_STDCHEADERS_H
 /***************************************************************************
  *                                  _   _ ____  _
  *  Project                     ___| | | |  _ \| |
@@ -7,7 +7,7 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2016, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
@@ -30,4 +30,4 @@
 int strcasecmp(const char *, const char *);
 int strncasecmp(const char *, const char *, size_t);
 
-#endif /* __STDC_HEADERS_H */
+#endif /* CURLINC_STDCHEADERS_H */
diff --git a/include/curl/system.h b/include/curl/system.h
index 1e555ec..cd37c2b 100644
--- a/include/curl/system.h
+++ b/include/curl/system.h
@@ -1,5 +1,5 @@
-#ifndef __CURL_SYSTEM_H
-#define __CURL_SYSTEM_H
+#ifndef CURLINC_SYSTEM_H
+#define CURLINC_SYSTEM_H
 /***************************************************************************
  *                                  _   _ ____  _
  *  Project                     ___| | | |  _ \| |
@@ -7,7 +7,7 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
@@ -473,21 +473,21 @@
  */
 
 #if defined(__BORLANDC__) && (__BORLANDC__ == 0x0551)
-#  define __CURL_OFF_T_C_HLPR2(x) x
-#  define __CURL_OFF_T_C_HLPR1(x) __CURL_OFF_T_C_HLPR2(x)
-#  define CURL_OFF_T_C(Val)  __CURL_OFF_T_C_HLPR1(Val) ## \
-                             __CURL_OFF_T_C_HLPR1(CURL_SUFFIX_CURL_OFF_T)
-#  define CURL_OFF_TU_C(Val) __CURL_OFF_T_C_HLPR1(Val) ## \
-                             __CURL_OFF_T_C_HLPR1(CURL_SUFFIX_CURL_OFF_TU)
+#  define CURLINC_OFF_T_C_HLPR2(x) x
+#  define CURLINC_OFF_T_C_HLPR1(x) CURLINC_OFF_T_C_HLPR2(x)
+#  define CURL_OFF_T_C(Val)  CURLINC_OFF_T_C_HLPR1(Val) ## \
+                             CURLINC_OFF_T_C_HLPR1(CURL_SUFFIX_CURL_OFF_T)
+#  define CURL_OFF_TU_C(Val) CURLINC_OFF_T_C_HLPR1(Val) ## \
+                             CURLINC_OFF_T_C_HLPR1(CURL_SUFFIX_CURL_OFF_TU)
 #else
 #  ifdef CURL_ISOCPP
-#    define __CURL_OFF_T_C_HLPR2(Val,Suffix) Val ## Suffix
+#    define CURLINC_OFF_T_C_HLPR2(Val,Suffix) Val ## Suffix
 #  else
-#    define __CURL_OFF_T_C_HLPR2(Val,Suffix) Val/**/Suffix
+#    define CURLINC_OFF_T_C_HLPR2(Val,Suffix) Val/**/Suffix
 #  endif
-#  define __CURL_OFF_T_C_HLPR1(Val,Suffix) __CURL_OFF_T_C_HLPR2(Val,Suffix)
-#  define CURL_OFF_T_C(Val)  __CURL_OFF_T_C_HLPR1(Val,CURL_SUFFIX_CURL_OFF_T)
-#  define CURL_OFF_TU_C(Val) __CURL_OFF_T_C_HLPR1(Val,CURL_SUFFIX_CURL_OFF_TU)
+#  define CURLINC_OFF_T_C_HLPR1(Val,Suffix) CURLINC_OFF_T_C_HLPR2(Val,Suffix)
+#  define CURL_OFF_T_C(Val)  CURLINC_OFF_T_C_HLPR1(Val,CURL_SUFFIX_CURL_OFF_T)
+#  define CURL_OFF_TU_C(Val) CURLINC_OFF_T_C_HLPR1(Val,CURL_SUFFIX_CURL_OFF_TU)
 #endif
 
-#endif /* __CURL_SYSTEM_H */
+#endif /* CURLINC_SYSTEM_H */
diff --git a/include/curl/typecheck-gcc.h b/include/curl/typecheck-gcc.h
index eeb36ab..03c84fc 100644
--- a/include/curl/typecheck-gcc.h
+++ b/include/curl/typecheck-gcc.h
@@ -1,5 +1,5 @@
-#ifndef __CURL_TYPECHECK_GCC_H
-#define __CURL_TYPECHECK_GCC_H
+#ifndef CURLINC_TYPECHECK_GCC_H
+#define CURLINC_TYPECHECK_GCC_H
 /***************************************************************************
  *                                  _   _ ____  _
  *  Project                     ___| | | |  _ \| |
@@ -25,10 +25,10 @@
 /* wraps curl_easy_setopt() with typechecking */
 
 /* To add a new kind of warning, add an
- *   if(_curl_is_sometype_option(_curl_opt))
- *     if(!_curl_is_sometype(value))
+ *   if(curlcheck_sometype_option(_curl_opt))
+ *     if(!curlcheck_sometype(value))
  *       _curl_easy_setopt_err_sometype();
- * block and define _curl_is_sometype_option, _curl_is_sometype and
+ * block and define curlcheck_sometype_option, curlcheck_sometype and
  * _curl_easy_setopt_err_sometype below
  *
  * NOTE: We use two nested 'if' statements here instead of the && operator, in
@@ -38,112 +38,112 @@
  * To add an option that uses the same type as an existing option, you'll just
  * need to extend the appropriate _curl_*_option macro
  */
-#define curl_easy_setopt(handle, option, value)                               \
-__extension__ ({                                                              \
-  __typeof__(option) _curl_opt = option;                                     \
-  if(__builtin_constant_p(_curl_opt)) {                                       \
-    if(_curl_is_long_option(_curl_opt))                                       \
-      if(!_curl_is_long(value))                                               \
-        _curl_easy_setopt_err_long();                                         \
-    if(_curl_is_off_t_option(_curl_opt))                                      \
-      if(!_curl_is_off_t(value))                                              \
-        _curl_easy_setopt_err_curl_off_t();                                   \
-    if(_curl_is_string_option(_curl_opt))                                     \
-      if(!_curl_is_string(value))                                             \
-        _curl_easy_setopt_err_string();                                       \
-    if(_curl_is_write_cb_option(_curl_opt))                                   \
-      if(!_curl_is_write_cb(value))                                           \
-        _curl_easy_setopt_err_write_callback();                               \
-    if((_curl_opt) == CURLOPT_RESOLVER_START_FUNCTION)                        \
-      if(!_curl_is_resolver_start_callback(value))                            \
-        _curl_easy_setopt_err_resolver_start_callback();                      \
-    if((_curl_opt) == CURLOPT_READFUNCTION)                                   \
-      if(!_curl_is_read_cb(value))                                            \
-        _curl_easy_setopt_err_read_cb();                                      \
-    if((_curl_opt) == CURLOPT_IOCTLFUNCTION)                                  \
-      if(!_curl_is_ioctl_cb(value))                                           \
-        _curl_easy_setopt_err_ioctl_cb();                                     \
-    if((_curl_opt) == CURLOPT_SOCKOPTFUNCTION)                                \
-      if(!_curl_is_sockopt_cb(value))                                         \
-        _curl_easy_setopt_err_sockopt_cb();                                   \
-    if((_curl_opt) == CURLOPT_OPENSOCKETFUNCTION)                             \
-      if(!_curl_is_opensocket_cb(value))                                      \
-        _curl_easy_setopt_err_opensocket_cb();                                \
-    if((_curl_opt) == CURLOPT_PROGRESSFUNCTION)                               \
-      if(!_curl_is_progress_cb(value))                                        \
-        _curl_easy_setopt_err_progress_cb();                                  \
-    if((_curl_opt) == CURLOPT_DEBUGFUNCTION)                                  \
-      if(!_curl_is_debug_cb(value))                                           \
-        _curl_easy_setopt_err_debug_cb();                                     \
-    if((_curl_opt) == CURLOPT_SSL_CTX_FUNCTION)                               \
-      if(!_curl_is_ssl_ctx_cb(value))                                         \
-        _curl_easy_setopt_err_ssl_ctx_cb();                                   \
-    if(_curl_is_conv_cb_option(_curl_opt))                                    \
-      if(!_curl_is_conv_cb(value))                                            \
-        _curl_easy_setopt_err_conv_cb();                                      \
-    if((_curl_opt) == CURLOPT_SEEKFUNCTION)                                   \
-      if(!_curl_is_seek_cb(value))                                            \
-        _curl_easy_setopt_err_seek_cb();                                      \
-    if(_curl_is_cb_data_option(_curl_opt))                                    \
-      if(!_curl_is_cb_data(value))                                            \
-        _curl_easy_setopt_err_cb_data();                                      \
-    if((_curl_opt) == CURLOPT_ERRORBUFFER)                                    \
-      if(!_curl_is_error_buffer(value))                                       \
-        _curl_easy_setopt_err_error_buffer();                                 \
-    if((_curl_opt) == CURLOPT_STDERR)                                         \
-      if(!_curl_is_FILE(value))                                               \
-        _curl_easy_setopt_err_FILE();                                         \
-    if(_curl_is_postfields_option(_curl_opt))                                 \
-      if(!_curl_is_postfields(value))                                         \
-        _curl_easy_setopt_err_postfields();                                   \
-    if((_curl_opt) == CURLOPT_HTTPPOST)                                       \
-      if(!_curl_is_arr((value), struct curl_httppost))                        \
-        _curl_easy_setopt_err_curl_httpost();                                 \
-    if((_curl_opt) == CURLOPT_MIMEPOST)                                       \
-      if(!_curl_is_ptr((value), curl_mime))                                   \
-        _curl_easy_setopt_err_curl_mimepost();                                \
-    if(_curl_is_slist_option(_curl_opt))                                      \
-      if(!_curl_is_arr((value), struct curl_slist))                           \
-        _curl_easy_setopt_err_curl_slist();                                   \
-    if((_curl_opt) == CURLOPT_SHARE)                                          \
-      if(!_curl_is_ptr((value), CURLSH))                                      \
-        _curl_easy_setopt_err_CURLSH();                                       \
-  }                                                                           \
-  curl_easy_setopt(handle, _curl_opt, value);                                 \
-})
+#define curl_easy_setopt(handle, option, value)                         \
+  __extension__({                                                       \
+      __typeof__(option) _curl_opt = option;                            \
+      if(__builtin_constant_p(_curl_opt)) {                             \
+        if(curlcheck_long_option(_curl_opt))                            \
+          if(!curlcheck_long(value))                                    \
+            _curl_easy_setopt_err_long();                               \
+        if(curlcheck_off_t_option(_curl_opt))                           \
+          if(!curlcheck_off_t(value))                                   \
+            _curl_easy_setopt_err_curl_off_t();                         \
+        if(curlcheck_string_option(_curl_opt))                          \
+          if(!curlcheck_string(value))                                  \
+            _curl_easy_setopt_err_string();                             \
+        if(curlcheck_write_cb_option(_curl_opt))                        \
+          if(!curlcheck_write_cb(value))                                \
+            _curl_easy_setopt_err_write_callback();                     \
+        if((_curl_opt) == CURLOPT_RESOLVER_START_FUNCTION)              \
+          if(!curlcheck_resolver_start_callback(value))                 \
+            _curl_easy_setopt_err_resolver_start_callback();            \
+        if((_curl_opt) == CURLOPT_READFUNCTION)                         \
+          if(!curlcheck_read_cb(value))                                 \
+            _curl_easy_setopt_err_read_cb();                            \
+        if((_curl_opt) == CURLOPT_IOCTLFUNCTION)                        \
+          if(!curlcheck_ioctl_cb(value))                                \
+            _curl_easy_setopt_err_ioctl_cb();                           \
+        if((_curl_opt) == CURLOPT_SOCKOPTFUNCTION)                      \
+          if(!curlcheck_sockopt_cb(value))                              \
+            _curl_easy_setopt_err_sockopt_cb();                         \
+        if((_curl_opt) == CURLOPT_OPENSOCKETFUNCTION)                   \
+          if(!curlcheck_opensocket_cb(value))                           \
+            _curl_easy_setopt_err_opensocket_cb();                      \
+        if((_curl_opt) == CURLOPT_PROGRESSFUNCTION)                     \
+          if(!curlcheck_progress_cb(value))                             \
+            _curl_easy_setopt_err_progress_cb();                        \
+        if((_curl_opt) == CURLOPT_DEBUGFUNCTION)                        \
+          if(!curlcheck_debug_cb(value))                                \
+            _curl_easy_setopt_err_debug_cb();                           \
+        if((_curl_opt) == CURLOPT_SSL_CTX_FUNCTION)                     \
+          if(!curlcheck_ssl_ctx_cb(value))                              \
+            _curl_easy_setopt_err_ssl_ctx_cb();                         \
+        if(curlcheck_conv_cb_option(_curl_opt))                         \
+          if(!curlcheck_conv_cb(value))                                 \
+            _curl_easy_setopt_err_conv_cb();                            \
+        if((_curl_opt) == CURLOPT_SEEKFUNCTION)                         \
+          if(!curlcheck_seek_cb(value))                                 \
+            _curl_easy_setopt_err_seek_cb();                            \
+        if(curlcheck_cb_data_option(_curl_opt))                         \
+          if(!curlcheck_cb_data(value))                                 \
+            _curl_easy_setopt_err_cb_data();                            \
+        if((_curl_opt) == CURLOPT_ERRORBUFFER)                          \
+          if(!curlcheck_error_buffer(value))                            \
+            _curl_easy_setopt_err_error_buffer();                       \
+        if((_curl_opt) == CURLOPT_STDERR)                               \
+          if(!curlcheck_FILE(value))                                    \
+            _curl_easy_setopt_err_FILE();                               \
+        if(curlcheck_postfields_option(_curl_opt))                      \
+          if(!curlcheck_postfields(value))                              \
+            _curl_easy_setopt_err_postfields();                         \
+        if((_curl_opt) == CURLOPT_HTTPPOST)                             \
+          if(!curlcheck_arr((value), struct curl_httppost))             \
+            _curl_easy_setopt_err_curl_httpost();                       \
+        if((_curl_opt) == CURLOPT_MIMEPOST)                             \
+          if(!curlcheck_ptr((value), curl_mime))                        \
+            _curl_easy_setopt_err_curl_mimepost();                      \
+        if(curlcheck_slist_option(_curl_opt))                           \
+          if(!curlcheck_arr((value), struct curl_slist))                \
+            _curl_easy_setopt_err_curl_slist();                         \
+        if((_curl_opt) == CURLOPT_SHARE)                                \
+          if(!curlcheck_ptr((value), CURLSH))                           \
+            _curl_easy_setopt_err_CURLSH();                             \
+      }                                                                 \
+      curl_easy_setopt(handle, _curl_opt, value);                       \
+    })
 
 /* wraps curl_easy_getinfo() with typechecking */
-#define curl_easy_getinfo(handle, info, arg)                                  \
-__extension__ ({                                                              \
-  __typeof__(info) _curl_info = info;                                         \
-  if(__builtin_constant_p(_curl_info)) {                                      \
-    if(_curl_is_string_info(_curl_info))                                      \
-      if(!_curl_is_arr((arg), char *))                                        \
-        _curl_easy_getinfo_err_string();                                      \
-    if(_curl_is_long_info(_curl_info))                                        \
-      if(!_curl_is_arr((arg), long))                                          \
-        _curl_easy_getinfo_err_long();                                        \
-    if(_curl_is_double_info(_curl_info))                                      \
-      if(!_curl_is_arr((arg), double))                                        \
-        _curl_easy_getinfo_err_double();                                      \
-    if(_curl_is_slist_info(_curl_info))                                       \
-      if(!_curl_is_arr((arg), struct curl_slist *))                           \
-        _curl_easy_getinfo_err_curl_slist();                                  \
-    if(_curl_is_tlssessioninfo_info(_curl_info))                              \
-      if(!_curl_is_arr((arg), struct curl_tlssessioninfo *))                  \
-        _curl_easy_getinfo_err_curl_tlssesssioninfo();                        \
-    if(_curl_is_certinfo_info(_curl_info))                                    \
-      if(!_curl_is_arr((arg), struct curl_certinfo *))                        \
-        _curl_easy_getinfo_err_curl_certinfo();                               \
-    if(_curl_is_socket_info(_curl_info))                                      \
-      if(!_curl_is_arr((arg), curl_socket_t))                                 \
-        _curl_easy_getinfo_err_curl_socket();                                 \
-    if(_curl_is_off_t_info(_curl_info))                                       \
-      if(!_curl_is_arr((arg), curl_off_t))                                    \
-        _curl_easy_getinfo_err_curl_off_t();                                  \
-  }                                                                           \
-  curl_easy_getinfo(handle, _curl_info, arg);                                 \
-})
+#define curl_easy_getinfo(handle, info, arg)                            \
+  __extension__({                                                      \
+      __typeof__(info) _curl_info = info;                               \
+      if(__builtin_constant_p(_curl_info)) {                            \
+        if(curlcheck_string_info(_curl_info))                           \
+          if(!curlcheck_arr((arg), char *))                             \
+            _curl_easy_getinfo_err_string();                            \
+        if(curlcheck_long_info(_curl_info))                             \
+          if(!curlcheck_arr((arg), long))                               \
+            _curl_easy_getinfo_err_long();                              \
+        if(curlcheck_double_info(_curl_info))                           \
+          if(!curlcheck_arr((arg), double))                             \
+            _curl_easy_getinfo_err_double();                            \
+        if(curlcheck_slist_info(_curl_info))                            \
+          if(!curlcheck_arr((arg), struct curl_slist *))                \
+            _curl_easy_getinfo_err_curl_slist();                        \
+        if(curlcheck_tlssessioninfo_info(_curl_info))                   \
+          if(!curlcheck_arr((arg), struct curl_tlssessioninfo *))       \
+            _curl_easy_getinfo_err_curl_tlssesssioninfo();              \
+        if(curlcheck_certinfo_info(_curl_info))                         \
+          if(!curlcheck_arr((arg), struct curl_certinfo *))             \
+            _curl_easy_getinfo_err_curl_certinfo();                     \
+        if(curlcheck_socket_info(_curl_info))                           \
+          if(!curlcheck_arr((arg), curl_socket_t))                      \
+            _curl_easy_getinfo_err_curl_socket();                       \
+        if(curlcheck_off_t_info(_curl_info))                            \
+          if(!curlcheck_arr((arg), curl_off_t))                         \
+            _curl_easy_getinfo_err_curl_off_t();                        \
+      }                                                                 \
+      curl_easy_getinfo(handle, _curl_info, arg);                       \
+    })
 
 /*
  * For now, just make sure that the functions are called with three arguments
@@ -156,83 +156,83 @@
  * functions */
 
 /* To define a new warning, use _CURL_WARNING(identifier, "message") */
-#define _CURL_WARNING(id, message)                                            \
-  static void __attribute__((__warning__(message)))                           \
-  __attribute__((__unused__)) __attribute__((__noinline__))                   \
+#define CURLWARNING(id, message)                                        \
+  static void __attribute__((__warning__(message)))                     \
+  __attribute__((__unused__)) __attribute__((__noinline__))             \
   id(void) { __asm__(""); }
 
-_CURL_WARNING(_curl_easy_setopt_err_long,
+CURLWARNING(_curl_easy_setopt_err_long,
   "curl_easy_setopt expects a long argument for this option")
-_CURL_WARNING(_curl_easy_setopt_err_curl_off_t,
+CURLWARNING(_curl_easy_setopt_err_curl_off_t,
   "curl_easy_setopt expects a curl_off_t argument for this option")
-_CURL_WARNING(_curl_easy_setopt_err_string,
+CURLWARNING(_curl_easy_setopt_err_string,
               "curl_easy_setopt expects a "
               "string ('char *' or char[]) argument for this option"
   )
-_CURL_WARNING(_curl_easy_setopt_err_write_callback,
+CURLWARNING(_curl_easy_setopt_err_write_callback,
   "curl_easy_setopt expects a curl_write_callback argument for this option")
-_CURL_WARNING(_curl_easy_setopt_err_resolver_start_callback,
+CURLWARNING(_curl_easy_setopt_err_resolver_start_callback,
               "curl_easy_setopt expects a "
               "curl_resolver_start_callback argument for this option"
   )
-_CURL_WARNING(_curl_easy_setopt_err_read_cb,
+CURLWARNING(_curl_easy_setopt_err_read_cb,
   "curl_easy_setopt expects a curl_read_callback argument for this option")
-_CURL_WARNING(_curl_easy_setopt_err_ioctl_cb,
+CURLWARNING(_curl_easy_setopt_err_ioctl_cb,
   "curl_easy_setopt expects a curl_ioctl_callback argument for this option")
-_CURL_WARNING(_curl_easy_setopt_err_sockopt_cb,
+CURLWARNING(_curl_easy_setopt_err_sockopt_cb,
   "curl_easy_setopt expects a curl_sockopt_callback argument for this option")
-_CURL_WARNING(_curl_easy_setopt_err_opensocket_cb,
+CURLWARNING(_curl_easy_setopt_err_opensocket_cb,
               "curl_easy_setopt expects a "
               "curl_opensocket_callback argument for this option"
   )
-_CURL_WARNING(_curl_easy_setopt_err_progress_cb,
+CURLWARNING(_curl_easy_setopt_err_progress_cb,
   "curl_easy_setopt expects a curl_progress_callback argument for this option")
-_CURL_WARNING(_curl_easy_setopt_err_debug_cb,
+CURLWARNING(_curl_easy_setopt_err_debug_cb,
   "curl_easy_setopt expects a curl_debug_callback argument for this option")
-_CURL_WARNING(_curl_easy_setopt_err_ssl_ctx_cb,
+CURLWARNING(_curl_easy_setopt_err_ssl_ctx_cb,
   "curl_easy_setopt expects a curl_ssl_ctx_callback argument for this option")
-_CURL_WARNING(_curl_easy_setopt_err_conv_cb,
+CURLWARNING(_curl_easy_setopt_err_conv_cb,
   "curl_easy_setopt expects a curl_conv_callback argument for this option")
-_CURL_WARNING(_curl_easy_setopt_err_seek_cb,
+CURLWARNING(_curl_easy_setopt_err_seek_cb,
   "curl_easy_setopt expects a curl_seek_callback argument for this option")
-_CURL_WARNING(_curl_easy_setopt_err_cb_data,
+CURLWARNING(_curl_easy_setopt_err_cb_data,
               "curl_easy_setopt expects a "
               "private data pointer as argument for this option")
-_CURL_WARNING(_curl_easy_setopt_err_error_buffer,
+CURLWARNING(_curl_easy_setopt_err_error_buffer,
               "curl_easy_setopt expects a "
               "char buffer of CURL_ERROR_SIZE as argument for this option")
-_CURL_WARNING(_curl_easy_setopt_err_FILE,
+CURLWARNING(_curl_easy_setopt_err_FILE,
   "curl_easy_setopt expects a 'FILE *' argument for this option")
-_CURL_WARNING(_curl_easy_setopt_err_postfields,
+CURLWARNING(_curl_easy_setopt_err_postfields,
   "curl_easy_setopt expects a 'void *' or 'char *' argument for this option")
-_CURL_WARNING(_curl_easy_setopt_err_curl_httpost,
+CURLWARNING(_curl_easy_setopt_err_curl_httpost,
               "curl_easy_setopt expects a 'struct curl_httppost *' "
               "argument for this option")
-_CURL_WARNING(_curl_easy_setopt_err_curl_mimepost,
+CURLWARNING(_curl_easy_setopt_err_curl_mimepost,
               "curl_easy_setopt expects a 'curl_mime *' "
               "argument for this option")
-_CURL_WARNING(_curl_easy_setopt_err_curl_slist,
+CURLWARNING(_curl_easy_setopt_err_curl_slist,
   "curl_easy_setopt expects a 'struct curl_slist *' argument for this option")
-_CURL_WARNING(_curl_easy_setopt_err_CURLSH,
+CURLWARNING(_curl_easy_setopt_err_CURLSH,
   "curl_easy_setopt expects a CURLSH* argument for this option")
 
-_CURL_WARNING(_curl_easy_getinfo_err_string,
+CURLWARNING(_curl_easy_getinfo_err_string,
   "curl_easy_getinfo expects a pointer to 'char *' for this info")
-_CURL_WARNING(_curl_easy_getinfo_err_long,
+CURLWARNING(_curl_easy_getinfo_err_long,
   "curl_easy_getinfo expects a pointer to long for this info")
-_CURL_WARNING(_curl_easy_getinfo_err_double,
+CURLWARNING(_curl_easy_getinfo_err_double,
   "curl_easy_getinfo expects a pointer to double for this info")
-_CURL_WARNING(_curl_easy_getinfo_err_curl_slist,
+CURLWARNING(_curl_easy_getinfo_err_curl_slist,
   "curl_easy_getinfo expects a pointer to 'struct curl_slist *' for this info")
-_CURL_WARNING(_curl_easy_getinfo_err_curl_tlssesssioninfo,
+CURLWARNING(_curl_easy_getinfo_err_curl_tlssesssioninfo,
               "curl_easy_getinfo expects a pointer to "
               "'struct curl_tlssessioninfo *' for this info")
-_CURL_WARNING(_curl_easy_getinfo_err_curl_certinfo,
+CURLWARNING(_curl_easy_getinfo_err_curl_certinfo,
               "curl_easy_getinfo expects a pointer to "
               "'struct curl_certinfo *' for this info")
-_CURL_WARNING(_curl_easy_getinfo_err_curl_socket,
+CURLWARNING(_curl_easy_getinfo_err_curl_socket,
   "curl_easy_getinfo expects a pointer to curl_socket_t for this info")
-_CURL_WARNING(_curl_easy_getinfo_err_curl_off_t,
+CURLWARNING(_curl_easy_getinfo_err_curl_off_t,
   "curl_easy_getinfo expects a pointer to curl_off_t for this info")
 
 /* groups of curl_easy_setops options that take the same type of argument */
@@ -244,14 +244,14 @@
  */
 
 /* evaluates to true if option takes a long argument */
-#define _curl_is_long_option(option)                                          \
+#define curlcheck_long_option(option)                   \
   (0 < (option) && (option) < CURLOPTTYPE_OBJECTPOINT)
 
-#define _curl_is_off_t_option(option)                                         \
+#define curlcheck_off_t_option(option)          \
   ((option) > CURLOPTTYPE_OFF_T)
 
 /* evaluates to true if option takes a char* argument */
-#define _curl_is_string_option(option)                                        \
+#define curlcheck_string_option(option)                                       \
   ((option) == CURLOPT_ABSTRACT_UNIX_SOCKET ||                                \
    (option) == CURLOPT_ACCEPT_ENCODING ||                                     \
    (option) == CURLOPT_ALTSVC ||                                              \
@@ -311,6 +311,7 @@
    (option) == CURLOPT_RTSP_SESSION_ID ||                                     \
    (option) == CURLOPT_RTSP_STREAM_URI ||                                     \
    (option) == CURLOPT_RTSP_TRANSPORT ||                                      \
+   (option) == CURLOPT_SASL_AUTHZID ||                                        \
    (option) == CURLOPT_SERVICE_NAME ||                                        \
    (option) == CURLOPT_SOCKS5_GSSAPI_SERVICE ||                               \
    (option) == CURLOPT_SSH_HOST_PUBLIC_KEY_MD5 ||                             \
@@ -336,18 +337,18 @@
    0)
 
 /* evaluates to true if option takes a curl_write_callback argument */
-#define _curl_is_write_cb_option(option)                                      \
-  ((option) == CURLOPT_HEADERFUNCTION ||                                      \
+#define curlcheck_write_cb_option(option)                               \
+  ((option) == CURLOPT_HEADERFUNCTION ||                                \
    (option) == CURLOPT_WRITEFUNCTION)
 
 /* evaluates to true if option takes a curl_conv_callback argument */
-#define _curl_is_conv_cb_option(option)                                       \
-  ((option) == CURLOPT_CONV_TO_NETWORK_FUNCTION ||                            \
-   (option) == CURLOPT_CONV_FROM_NETWORK_FUNCTION ||                          \
+#define curlcheck_conv_cb_option(option)                                \
+  ((option) == CURLOPT_CONV_TO_NETWORK_FUNCTION ||                      \
+   (option) == CURLOPT_CONV_FROM_NETWORK_FUNCTION ||                    \
    (option) == CURLOPT_CONV_FROM_UTF8_FUNCTION)
 
 /* evaluates to true if option takes a data argument to pass to a callback */
-#define _curl_is_cb_data_option(option)                                       \
+#define curlcheck_cb_data_option(option)                                      \
   ((option) == CURLOPT_CHUNK_DATA ||                                          \
    (option) == CURLOPT_CLOSESOCKETDATA ||                                     \
    (option) == CURLOPT_DEBUGDATA ||                                           \
@@ -369,13 +370,13 @@
    0)
 
 /* evaluates to true if option takes a POST data argument (void* or char*) */
-#define _curl_is_postfields_option(option)                                    \
+#define curlcheck_postfields_option(option)                                   \
   ((option) == CURLOPT_POSTFIELDS ||                                          \
    (option) == CURLOPT_COPYPOSTFIELDS ||                                      \
    0)
 
 /* evaluates to true if option takes a struct curl_slist * argument */
-#define _curl_is_slist_option(option)                                         \
+#define curlcheck_slist_option(option)                                        \
   ((option) == CURLOPT_HTTP200ALIASES ||                                      \
    (option) == CURLOPT_HTTPHEADER ||                                          \
    (option) == CURLOPT_MAIL_RCPT ||                                           \
@@ -391,40 +392,40 @@
 /* groups of curl_easy_getinfo infos that take the same type of argument */
 
 /* evaluates to true if info expects a pointer to char * argument */
-#define _curl_is_string_info(info)                                            \
+#define curlcheck_string_info(info)                     \
   (CURLINFO_STRING < (info) && (info) < CURLINFO_LONG)
 
 /* evaluates to true if info expects a pointer to long argument */
-#define _curl_is_long_info(info)                                              \
+#define curlcheck_long_info(info)                       \
   (CURLINFO_LONG < (info) && (info) < CURLINFO_DOUBLE)
 
 /* evaluates to true if info expects a pointer to double argument */
-#define _curl_is_double_info(info)                                            \
+#define curlcheck_double_info(info)                     \
   (CURLINFO_DOUBLE < (info) && (info) < CURLINFO_SLIST)
 
 /* true if info expects a pointer to struct curl_slist * argument */
-#define _curl_is_slist_info(info)                                       \
+#define curlcheck_slist_info(info)                                      \
   (((info) == CURLINFO_SSL_ENGINES) || ((info) == CURLINFO_COOKIELIST))
 
 /* true if info expects a pointer to struct curl_tlssessioninfo * argument */
-#define _curl_is_tlssessioninfo_info(info)                              \
+#define curlcheck_tlssessioninfo_info(info)                              \
   (((info) == CURLINFO_TLS_SSL_PTR) || ((info) == CURLINFO_TLS_SESSION))
 
 /* true if info expects a pointer to struct curl_certinfo * argument */
-#define _curl_is_certinfo_info(info) ((info) == CURLINFO_CERTINFO)
+#define curlcheck_certinfo_info(info) ((info) == CURLINFO_CERTINFO)
 
 /* true if info expects a pointer to struct curl_socket_t argument */
-#define _curl_is_socket_info(info)                                            \
+#define curlcheck_socket_info(info)                     \
   (CURLINFO_SOCKET < (info) && (info) < CURLINFO_OFF_T)
 
 /* true if info expects a pointer to curl_off_t argument */
-#define _curl_is_off_t_info(info)                                             \
+#define curlcheck_off_t_info(info)              \
   (CURLINFO_OFF_T < (info))
 
 
 /* typecheck helpers -- check whether given expression has requested type*/
 
-/* For pointers, you can use the _curl_is_ptr/_curl_is_arr macros,
+/* For pointers, you can use the curlcheck_ptr/curlcheck_arr macros,
  * otherwise define a new macro. Search for __builtin_types_compatible_p
  * in the GCC manual.
  * NOTE: these macros MUST NOT EVALUATE their arguments! The argument is
@@ -434,35 +435,35 @@
  */
 
 /* XXX: should evaluate to true if expr is a pointer */
-#define _curl_is_any_ptr(expr)                                                \
+#define curlcheck_any_ptr(expr)                 \
   (sizeof(expr) == sizeof(void *))
 
 /* evaluates to true if expr is NULL */
 /* XXX: must not evaluate expr, so this check is not accurate */
-#define _curl_is_NULL(expr)                                                   \
+#define curlcheck_NULL(expr)                                            \
   (__builtin_types_compatible_p(__typeof__(expr), __typeof__(NULL)))
 
 /* evaluates to true if expr is type*, const type* or NULL */
-#define _curl_is_ptr(expr, type)                                              \
-  (_curl_is_NULL(expr) ||                                                     \
-   __builtin_types_compatible_p(__typeof__(expr), type *) ||                  \
+#define curlcheck_ptr(expr, type)                                       \
+  (curlcheck_NULL(expr) ||                                              \
+   __builtin_types_compatible_p(__typeof__(expr), type *) ||            \
    __builtin_types_compatible_p(__typeof__(expr), const type *))
 
 /* evaluates to true if expr is one of type[], type*, NULL or const type* */
-#define _curl_is_arr(expr, type)                                              \
-  (_curl_is_ptr((expr), type) ||                                              \
+#define curlcheck_arr(expr, type)                                       \
+  (curlcheck_ptr((expr), type) ||                                       \
    __builtin_types_compatible_p(__typeof__(expr), type []))
 
 /* evaluates to true if expr is a string */
-#define _curl_is_string(expr)                                                 \
-  (_curl_is_arr((expr), char) ||                                              \
-   _curl_is_arr((expr), signed char) ||                                       \
-   _curl_is_arr((expr), unsigned char))
+#define curlcheck_string(expr)                                          \
+  (curlcheck_arr((expr), char) ||                                       \
+   curlcheck_arr((expr), signed char) ||                                \
+   curlcheck_arr((expr), unsigned char))
 
 /* evaluates to true if expr is a long (no matter the signedness)
  * XXX: for now, int is also accepted (and therefore short and char, which
  * are promoted to int when passed to a variadic function) */
-#define _curl_is_long(expr)                                                   \
+#define curlcheck_long(expr)                                                  \
   (__builtin_types_compatible_p(__typeof__(expr), long) ||                    \
    __builtin_types_compatible_p(__typeof__(expr), signed long) ||             \
    __builtin_types_compatible_p(__typeof__(expr), unsigned long) ||           \
@@ -477,59 +478,59 @@
    __builtin_types_compatible_p(__typeof__(expr), unsigned char))
 
 /* evaluates to true if expr is of type curl_off_t */
-#define _curl_is_off_t(expr)                                                  \
+#define curlcheck_off_t(expr)                                   \
   (__builtin_types_compatible_p(__typeof__(expr), curl_off_t))
 
 /* evaluates to true if expr is abuffer suitable for CURLOPT_ERRORBUFFER */
 /* XXX: also check size of an char[] array? */
-#define _curl_is_error_buffer(expr)                                           \
-  (_curl_is_NULL(expr) ||                                                     \
-   __builtin_types_compatible_p(__typeof__(expr), char *) ||                  \
+#define curlcheck_error_buffer(expr)                                    \
+  (curlcheck_NULL(expr) ||                                              \
+   __builtin_types_compatible_p(__typeof__(expr), char *) ||            \
    __builtin_types_compatible_p(__typeof__(expr), char[]))
 
 /* evaluates to true if expr is of type (const) void* or (const) FILE* */
 #if 0
-#define _curl_is_cb_data(expr)                                                \
-  (_curl_is_ptr((expr), void) ||                                              \
-   _curl_is_ptr((expr), FILE))
+#define curlcheck_cb_data(expr)                                         \
+  (curlcheck_ptr((expr), void) ||                                       \
+   curlcheck_ptr((expr), FILE))
 #else /* be less strict */
-#define _curl_is_cb_data(expr)                                                \
-  _curl_is_any_ptr(expr)
+#define curlcheck_cb_data(expr)                 \
+  curlcheck_any_ptr(expr)
 #endif
 
 /* evaluates to true if expr is of type FILE* */
-#define _curl_is_FILE(expr)                                             \
-  (_curl_is_NULL(expr) ||                                              \
+#define curlcheck_FILE(expr)                                            \
+  (curlcheck_NULL(expr) ||                                              \
    (__builtin_types_compatible_p(__typeof__(expr), FILE *)))
 
 /* evaluates to true if expr can be passed as POST data (void* or char*) */
-#define _curl_is_postfields(expr)                                             \
-  (_curl_is_ptr((expr), void) ||                                              \
-   _curl_is_arr((expr), char) ||                                              \
-   _curl_is_arr((expr), unsigned char))
+#define curlcheck_postfields(expr)                                      \
+  (curlcheck_ptr((expr), void) ||                                       \
+   curlcheck_arr((expr), char) ||                                       \
+   curlcheck_arr((expr), unsigned char))
 
 /* helper: __builtin_types_compatible_p distinguishes between functions and
  * function pointers, hide it */
-#define _curl_callback_compatible(func, type)                                 \
-  (__builtin_types_compatible_p(__typeof__(func), type) ||                    \
+#define curlcheck_cb_compatible(func, type)                             \
+  (__builtin_types_compatible_p(__typeof__(func), type) ||              \
    __builtin_types_compatible_p(__typeof__(func) *, type))
 
 /* evaluates to true if expr is of type curl_resolver_start_callback */
-#define _curl_is_resolver_start_callback(expr)       \
-  (_curl_is_NULL(expr) || \
-   _curl_callback_compatible((expr), curl_resolver_start_callback))
+#define curlcheck_resolver_start_callback(expr)       \
+  (curlcheck_NULL(expr) || \
+   curlcheck_cb_compatible((expr), curl_resolver_start_callback))
 
 /* evaluates to true if expr is of type curl_read_callback or "similar" */
-#define _curl_is_read_cb(expr)                                          \
-  (_curl_is_NULL(expr) ||                                                     \
-   _curl_callback_compatible((expr), __typeof__(fread) *) ||                  \
-   _curl_callback_compatible((expr), curl_read_callback) ||                   \
-   _curl_callback_compatible((expr), _curl_read_callback1) ||                 \
-   _curl_callback_compatible((expr), _curl_read_callback2) ||                 \
-   _curl_callback_compatible((expr), _curl_read_callback3) ||                 \
-   _curl_callback_compatible((expr), _curl_read_callback4) ||                 \
-   _curl_callback_compatible((expr), _curl_read_callback5) ||                 \
-   _curl_callback_compatible((expr), _curl_read_callback6))
+#define curlcheck_read_cb(expr)                                         \
+  (curlcheck_NULL(expr) ||                                              \
+   curlcheck_cb_compatible((expr), __typeof__(fread) *) ||              \
+   curlcheck_cb_compatible((expr), curl_read_callback) ||               \
+   curlcheck_cb_compatible((expr), _curl_read_callback1) ||             \
+   curlcheck_cb_compatible((expr), _curl_read_callback2) ||             \
+   curlcheck_cb_compatible((expr), _curl_read_callback3) ||             \
+   curlcheck_cb_compatible((expr), _curl_read_callback4) ||             \
+   curlcheck_cb_compatible((expr), _curl_read_callback5) ||             \
+   curlcheck_cb_compatible((expr), _curl_read_callback6))
 typedef size_t (*_curl_read_callback1)(char *, size_t, size_t, void *);
 typedef size_t (*_curl_read_callback2)(char *, size_t, size_t, const void *);
 typedef size_t (*_curl_read_callback3)(char *, size_t, size_t, FILE *);
@@ -538,16 +539,16 @@
 typedef size_t (*_curl_read_callback6)(void *, size_t, size_t, FILE *);
 
 /* evaluates to true if expr is of type curl_write_callback or "similar" */
-#define _curl_is_write_cb(expr)                                               \
-  (_curl_is_read_cb(expr) ||                                            \
-   _curl_callback_compatible((expr), __typeof__(fwrite) *) ||                 \
-   _curl_callback_compatible((expr), curl_write_callback) ||                  \
-   _curl_callback_compatible((expr), _curl_write_callback1) ||                \
-   _curl_callback_compatible((expr), _curl_write_callback2) ||                \
-   _curl_callback_compatible((expr), _curl_write_callback3) ||                \
-   _curl_callback_compatible((expr), _curl_write_callback4) ||                \
-   _curl_callback_compatible((expr), _curl_write_callback5) ||                \
-   _curl_callback_compatible((expr), _curl_write_callback6))
+#define curlcheck_write_cb(expr)                                        \
+  (curlcheck_read_cb(expr) ||                                           \
+   curlcheck_cb_compatible((expr), __typeof__(fwrite) *) ||             \
+   curlcheck_cb_compatible((expr), curl_write_callback) ||              \
+   curlcheck_cb_compatible((expr), _curl_write_callback1) ||            \
+   curlcheck_cb_compatible((expr), _curl_write_callback2) ||            \
+   curlcheck_cb_compatible((expr), _curl_write_callback3) ||            \
+   curlcheck_cb_compatible((expr), _curl_write_callback4) ||            \
+   curlcheck_cb_compatible((expr), _curl_write_callback5) ||            \
+   curlcheck_cb_compatible((expr), _curl_write_callback6))
 typedef size_t (*_curl_write_callback1)(const char *, size_t, size_t, void *);
 typedef size_t (*_curl_write_callback2)(const char *, size_t, size_t,
                                        const void *);
@@ -558,37 +559,37 @@
 typedef size_t (*_curl_write_callback6)(const void *, size_t, size_t, FILE *);
 
 /* evaluates to true if expr is of type curl_ioctl_callback or "similar" */
-#define _curl_is_ioctl_cb(expr)                                         \
-  (_curl_is_NULL(expr) ||                                                     \
-   _curl_callback_compatible((expr), curl_ioctl_callback) ||                  \
-   _curl_callback_compatible((expr), _curl_ioctl_callback1) ||                \
-   _curl_callback_compatible((expr), _curl_ioctl_callback2) ||                \
-   _curl_callback_compatible((expr), _curl_ioctl_callback3) ||                \
-   _curl_callback_compatible((expr), _curl_ioctl_callback4))
+#define curlcheck_ioctl_cb(expr)                                        \
+  (curlcheck_NULL(expr) ||                                              \
+   curlcheck_cb_compatible((expr), curl_ioctl_callback) ||              \
+   curlcheck_cb_compatible((expr), _curl_ioctl_callback1) ||            \
+   curlcheck_cb_compatible((expr), _curl_ioctl_callback2) ||            \
+   curlcheck_cb_compatible((expr), _curl_ioctl_callback3) ||            \
+   curlcheck_cb_compatible((expr), _curl_ioctl_callback4))
 typedef curlioerr (*_curl_ioctl_callback1)(CURL *, int, void *);
 typedef curlioerr (*_curl_ioctl_callback2)(CURL *, int, const void *);
 typedef curlioerr (*_curl_ioctl_callback3)(CURL *, curliocmd, void *);
 typedef curlioerr (*_curl_ioctl_callback4)(CURL *, curliocmd, const void *);
 
 /* evaluates to true if expr is of type curl_sockopt_callback or "similar" */
-#define _curl_is_sockopt_cb(expr)                                       \
-  (_curl_is_NULL(expr) ||                                                     \
-   _curl_callback_compatible((expr), curl_sockopt_callback) ||                \
-   _curl_callback_compatible((expr), _curl_sockopt_callback1) ||              \
-   _curl_callback_compatible((expr), _curl_sockopt_callback2))
+#define curlcheck_sockopt_cb(expr)                                      \
+  (curlcheck_NULL(expr) ||                                              \
+   curlcheck_cb_compatible((expr), curl_sockopt_callback) ||            \
+   curlcheck_cb_compatible((expr), _curl_sockopt_callback1) ||          \
+   curlcheck_cb_compatible((expr), _curl_sockopt_callback2))
 typedef int (*_curl_sockopt_callback1)(void *, curl_socket_t, curlsocktype);
 typedef int (*_curl_sockopt_callback2)(const void *, curl_socket_t,
                                       curlsocktype);
 
 /* evaluates to true if expr is of type curl_opensocket_callback or
    "similar" */
-#define _curl_is_opensocket_cb(expr)                                    \
-  (_curl_is_NULL(expr) ||                                                     \
-   _curl_callback_compatible((expr), curl_opensocket_callback) ||             \
-   _curl_callback_compatible((expr), _curl_opensocket_callback1) ||           \
-   _curl_callback_compatible((expr), _curl_opensocket_callback2) ||           \
-   _curl_callback_compatible((expr), _curl_opensocket_callback3) ||           \
-   _curl_callback_compatible((expr), _curl_opensocket_callback4))
+#define curlcheck_opensocket_cb(expr)                                   \
+  (curlcheck_NULL(expr) ||                                              \
+   curlcheck_cb_compatible((expr), curl_opensocket_callback) ||         \
+   curlcheck_cb_compatible((expr), _curl_opensocket_callback1) ||       \
+   curlcheck_cb_compatible((expr), _curl_opensocket_callback2) ||       \
+   curlcheck_cb_compatible((expr), _curl_opensocket_callback3) ||       \
+   curlcheck_cb_compatible((expr), _curl_opensocket_callback4))
 typedef curl_socket_t (*_curl_opensocket_callback1)
   (void *, curlsocktype, struct curl_sockaddr *);
 typedef curl_socket_t (*_curl_opensocket_callback2)
@@ -599,28 +600,28 @@
   (const void *, curlsocktype, const struct curl_sockaddr *);
 
 /* evaluates to true if expr is of type curl_progress_callback or "similar" */
-#define _curl_is_progress_cb(expr)                                      \
-  (_curl_is_NULL(expr) ||                                                     \
-   _curl_callback_compatible((expr), curl_progress_callback) ||               \
-   _curl_callback_compatible((expr), _curl_progress_callback1) ||             \
-   _curl_callback_compatible((expr), _curl_progress_callback2))
+#define curlcheck_progress_cb(expr)                                     \
+  (curlcheck_NULL(expr) ||                                              \
+   curlcheck_cb_compatible((expr), curl_progress_callback) ||           \
+   curlcheck_cb_compatible((expr), _curl_progress_callback1) ||         \
+   curlcheck_cb_compatible((expr), _curl_progress_callback2))
 typedef int (*_curl_progress_callback1)(void *,
     double, double, double, double);
 typedef int (*_curl_progress_callback2)(const void *,
     double, double, double, double);
 
 /* evaluates to true if expr is of type curl_debug_callback or "similar" */
-#define _curl_is_debug_cb(expr)                                         \
-  (_curl_is_NULL(expr) ||                                                     \
-   _curl_callback_compatible((expr), curl_debug_callback) ||                  \
-   _curl_callback_compatible((expr), _curl_debug_callback1) ||                \
-   _curl_callback_compatible((expr), _curl_debug_callback2) ||                \
-   _curl_callback_compatible((expr), _curl_debug_callback3) ||                \
-   _curl_callback_compatible((expr), _curl_debug_callback4) ||                \
-   _curl_callback_compatible((expr), _curl_debug_callback5) ||                \
-   _curl_callback_compatible((expr), _curl_debug_callback6) ||                \
-   _curl_callback_compatible((expr), _curl_debug_callback7) ||                \
-   _curl_callback_compatible((expr), _curl_debug_callback8))
+#define curlcheck_debug_cb(expr)                                        \
+  (curlcheck_NULL(expr) ||                                              \
+   curlcheck_cb_compatible((expr), curl_debug_callback) ||              \
+   curlcheck_cb_compatible((expr), _curl_debug_callback1) ||            \
+   curlcheck_cb_compatible((expr), _curl_debug_callback2) ||            \
+   curlcheck_cb_compatible((expr), _curl_debug_callback3) ||            \
+   curlcheck_cb_compatible((expr), _curl_debug_callback4) ||            \
+   curlcheck_cb_compatible((expr), _curl_debug_callback5) ||            \
+   curlcheck_cb_compatible((expr), _curl_debug_callback6) ||            \
+   curlcheck_cb_compatible((expr), _curl_debug_callback7) ||            \
+   curlcheck_cb_compatible((expr), _curl_debug_callback8))
 typedef int (*_curl_debug_callback1) (CURL *,
     curl_infotype, char *, size_t, void *);
 typedef int (*_curl_debug_callback2) (CURL *,
@@ -640,17 +641,17 @@
 
 /* evaluates to true if expr is of type curl_ssl_ctx_callback or "similar" */
 /* this is getting even messier... */
-#define _curl_is_ssl_ctx_cb(expr)                                       \
-  (_curl_is_NULL(expr) ||                                                     \
-   _curl_callback_compatible((expr), curl_ssl_ctx_callback) ||                \
-   _curl_callback_compatible((expr), _curl_ssl_ctx_callback1) ||              \
-   _curl_callback_compatible((expr), _curl_ssl_ctx_callback2) ||              \
-   _curl_callback_compatible((expr), _curl_ssl_ctx_callback3) ||              \
-   _curl_callback_compatible((expr), _curl_ssl_ctx_callback4) ||              \
-   _curl_callback_compatible((expr), _curl_ssl_ctx_callback5) ||              \
-   _curl_callback_compatible((expr), _curl_ssl_ctx_callback6) ||              \
-   _curl_callback_compatible((expr), _curl_ssl_ctx_callback7) ||              \
-   _curl_callback_compatible((expr), _curl_ssl_ctx_callback8))
+#define curlcheck_ssl_ctx_cb(expr)                                      \
+  (curlcheck_NULL(expr) ||                                              \
+   curlcheck_cb_compatible((expr), curl_ssl_ctx_callback) ||            \
+   curlcheck_cb_compatible((expr), _curl_ssl_ctx_callback1) ||          \
+   curlcheck_cb_compatible((expr), _curl_ssl_ctx_callback2) ||          \
+   curlcheck_cb_compatible((expr), _curl_ssl_ctx_callback3) ||          \
+   curlcheck_cb_compatible((expr), _curl_ssl_ctx_callback4) ||          \
+   curlcheck_cb_compatible((expr), _curl_ssl_ctx_callback5) ||          \
+   curlcheck_cb_compatible((expr), _curl_ssl_ctx_callback6) ||          \
+   curlcheck_cb_compatible((expr), _curl_ssl_ctx_callback7) ||          \
+   curlcheck_cb_compatible((expr), _curl_ssl_ctx_callback8))
 typedef CURLcode (*_curl_ssl_ctx_callback1)(CURL *, void *, void *);
 typedef CURLcode (*_curl_ssl_ctx_callback2)(CURL *, void *, const void *);
 typedef CURLcode (*_curl_ssl_ctx_callback3)(CURL *, const void *, void *);
@@ -673,26 +674,26 @@
 #endif
 
 /* evaluates to true if expr is of type curl_conv_callback or "similar" */
-#define _curl_is_conv_cb(expr)                                          \
-  (_curl_is_NULL(expr) ||                                                     \
-   _curl_callback_compatible((expr), curl_conv_callback) ||                   \
-   _curl_callback_compatible((expr), _curl_conv_callback1) ||                 \
-   _curl_callback_compatible((expr), _curl_conv_callback2) ||                 \
-   _curl_callback_compatible((expr), _curl_conv_callback3) ||                 \
-   _curl_callback_compatible((expr), _curl_conv_callback4))
+#define curlcheck_conv_cb(expr)                                         \
+  (curlcheck_NULL(expr) ||                                              \
+   curlcheck_cb_compatible((expr), curl_conv_callback) ||               \
+   curlcheck_cb_compatible((expr), _curl_conv_callback1) ||             \
+   curlcheck_cb_compatible((expr), _curl_conv_callback2) ||             \
+   curlcheck_cb_compatible((expr), _curl_conv_callback3) ||             \
+   curlcheck_cb_compatible((expr), _curl_conv_callback4))
 typedef CURLcode (*_curl_conv_callback1)(char *, size_t length);
 typedef CURLcode (*_curl_conv_callback2)(const char *, size_t length);
 typedef CURLcode (*_curl_conv_callback3)(void *, size_t length);
 typedef CURLcode (*_curl_conv_callback4)(const void *, size_t length);
 
 /* evaluates to true if expr is of type curl_seek_callback or "similar" */
-#define _curl_is_seek_cb(expr)                                          \
-  (_curl_is_NULL(expr) ||                                                     \
-   _curl_callback_compatible((expr), curl_seek_callback) ||                   \
-   _curl_callback_compatible((expr), _curl_seek_callback1) ||                 \
-   _curl_callback_compatible((expr), _curl_seek_callback2))
+#define curlcheck_seek_cb(expr)                                         \
+  (curlcheck_NULL(expr) ||                                              \
+   curlcheck_cb_compatible((expr), curl_seek_callback) ||               \
+   curlcheck_cb_compatible((expr), _curl_seek_callback1) ||             \
+   curlcheck_cb_compatible((expr), _curl_seek_callback2))
 typedef CURLcode (*_curl_seek_callback1)(void *, curl_off_t, int);
 typedef CURLcode (*_curl_seek_callback2)(const void *, curl_off_t, int);
 
 
-#endif /* __CURL_TYPECHECK_GCC_H */
+#endif /* CURLINC_TYPECHECK_GCC_H */
diff --git a/include/curl/urlapi.h b/include/curl/urlapi.h
index 58e89d8..0f2f152 100644
--- a/include/curl/urlapi.h
+++ b/include/curl/urlapi.h
@@ -1,5 +1,5 @@
-#ifndef __CURL_URLAPI_H
-#define __CURL_URLAPI_H
+#ifndef CURLINC_URLAPI_H
+#define CURLINC_URLAPI_H
 /***************************************************************************
  *                                  _   _ ____  _
  *  Project                     ___| | | |  _ \| |
@@ -120,4 +120,4 @@
 } /* end of extern "C" */
 #endif
 
-#endif
+#endif /* CURLINC_URLAPI_H */
diff --git a/lib/Makefile.am b/lib/Makefile.am
index 7c258b3..516a239 100644
--- a/lib/Makefile.am
+++ b/lib/Makefile.am
@@ -23,8 +23,8 @@
 
 CMAKE_DIST = CMakeLists.txt curl_config.h.cmake
 
-EXTRA_DIST = Makefile.m32 config-win32.h                            \
- config-win32ce.h config-riscos.h config-mac.h curl_config.h.in     \
+EXTRA_DIST = Makefile.m32 config-win32.h config-win32ce.h           \
+ config-plan9.h config-riscos.h config-mac.h curl_config.h.in       \
  makefile.dj config-dos.h libcurl.plist libcurl.rc config-amigaos.h \
  makefile.amiga Makefile.netware nwlib.c nwos.c config-win32ce.h    \
  config-os400.h setup-os400.h config-symbian.h Makefile.Watcom      \
@@ -65,7 +65,7 @@
 # Prevent LIBS from being used for all link targets
 LIBS = $(BLANK_AT_MAKETIME)
 
-VERSIONINFO=-version-info 9:0:5
+VERSIONINFO=-version-info 10:0:6
 # This flag accepts an argument of the form current[:revision[:age]]. So,
 # passing -version-info 3:12:1 sets current to 3, revision to 12, and age to
 # 1.
@@ -138,7 +138,7 @@
 
 checksrc:
 	$(CHECKSRC)(@PERL@ $(srcdir)/checksrc.pl -D$(srcdir) -W$(srcdir)/curl_config.h \
-	$(srcdir)/*.[ch] $(srcdir)/vauth/*.[ch] $(srcdir)/vtls/*.[ch])
+	$(srcdir)/*.[ch] $(srcdir)/vauth/*.[ch] $(srcdir)/vtls/*.[ch] $(srcdir)/vquic/*.[ch] $(srcdir)/vssh/*.[ch])
 
 if CURLDEBUG
 # for debug builds, we scan the sources on all regular make invokes
diff --git a/lib/Makefile.inc b/lib/Makefile.inc
index 37f7026..3e3a385 100644
--- a/lib/Makefile.inc
+++ b/lib/Makefile.inc
@@ -37,6 +37,12 @@
   vtls/wolfssl.h vtls/schannel.h vtls/sectransp.h vtls/gskit.h          \
   vtls/mbedtls.h vtls/mesalink.h
 
+LIB_VQUIC_CFILES = vquic/ngtcp2.c vquic/quiche.c
+
+LIB_VQUIC_HFILES = vquic/ngtcp2.h vquic/quiche.h
+
+LIB_VSSH_CFILES = vssh/libssh2.c vssh/libssh.c
+
 LIB_CFILES = file.c timeval.c base64.c hostip.c progress.c formdata.c   \
   cookie.c http.c sendf.c ftp.c url.c dict.c if2ip.c speedcheck.c       \
   ldap.c version.c getenv.c escape.c mprintf.c telnet.c netrc.c         \
@@ -46,7 +52,7 @@
   http_digest.c md4.c md5.c http_negotiate.c inet_pton.c strtoofft.c    \
   strerror.c amigaos.c hostasyn.c hostip4.c hostip6.c hostsyn.c         \
   inet_ntop.c parsedate.c select.c tftp.c splay.c strdup.c socks.c      \
-  ssh.c ssh-libssh.c curl_addrinfo.c socks_gssapi.c socks_sspi.c        \
+  curl_addrinfo.c socks_gssapi.c socks_sspi.c                           \
   curl_sspi.c slist.c nonblock.c curl_memrchr.c imap.c pop3.c smtp.c    \
   pingpong.c rtsp.c curl_threads.c warnless.c hmac.c curl_rtmp.c        \
   openldap.c curl_gethostname.c gopher.c idn_win32.c                    \
@@ -76,9 +82,11 @@
   x509asn1.h http2.h sigpipe.h smb.h curl_endian.h curl_des.h           \
   curl_printf.h system_win32.h rand.h mime.h curl_sha256.h setopt.h     \
   curl_path.h curl_ctype.h curl_range.h psl.h doh.h urlapi-int.h        \
-  curl_get_line.h altsvc.h
+  curl_get_line.h altsvc.h quic.h
 
 LIB_RCFILES = libcurl.rc
 
-CSOURCES = $(LIB_CFILES) $(LIB_VAUTH_CFILES) $(LIB_VTLS_CFILES)
-HHEADERS = $(LIB_HFILES) $(LIB_VAUTH_HFILES) $(LIB_VTLS_HFILES)
+CSOURCES = $(LIB_CFILES) $(LIB_VAUTH_CFILES) $(LIB_VTLS_CFILES) \
+  $(LIB_VQUIC_CFILES) $(LIB_VSSH_CFILES)
+HHEADERS = $(LIB_HFILES) $(LIB_VAUTH_HFILES) $(LIB_VTLS_HFILES) \
+  $(LIB_VQUIC_HFILES)
diff --git a/lib/altsvc.c b/lib/altsvc.c
index 85a4e01..a649fef 100644
--- a/lib/altsvc.c
+++ b/lib/altsvc.c
@@ -54,10 +54,13 @@
     return ALPN_h1;
   if(strcasecompare(name, "h2"))
     return ALPN_h2;
-  if(strcasecompare(name, "h2c"))
-    return ALPN_h2c;
+#if (defined(USE_QUICHE) || defined(USE_NGHTTP2)) && !defined(UNITTESTS)
+  if(strcasecompare(name, "h3-22"))
+    return ALPN_h3;
+#else
   if(strcasecompare(name, "h3"))
     return ALPN_h3;
+#endif
   return ALPN_none; /* unknown, probably rubbish input */
 }
 
@@ -69,10 +72,12 @@
     return "h1";
   case ALPN_h2:
     return "h2";
-  case ALPN_h2c:
-    return "h2c";
   case ALPN_h3:
+#if (defined(USE_QUICHE) || defined(USE_NGHTTP2)) && !defined(UNITTESTS)
+    return "h3-22";
+#else
     return "h3";
+#endif
   default:
     return ""; /* bad */
   }
@@ -81,8 +86,8 @@
 
 static void altsvc_free(struct altsvc *as)
 {
-  free(as->srchost);
-  free(as->dsthost);
+  free(as->src.host);
+  free(as->dst.host);
   free(as);
 }
 
@@ -97,17 +102,17 @@
   if(!as)
     return NULL;
 
-  as->srchost = strdup(srchost);
-  if(!as->srchost)
+  as->src.host = strdup(srchost);
+  if(!as->src.host)
     goto error;
-  as->dsthost = strdup(dsthost);
-  if(!as->dsthost)
+  as->dst.host = strdup(dsthost);
+  if(!as->dst.host)
     goto error;
 
-  as->srcalpnid = srcalpnid;
-  as->dstalpnid = dstalpnid;
-  as->srcport = curlx_ultous(srcport);
-  as->dstport = curlx_ultous(dstport);
+  as->src.alpnid = srcalpnid;
+  as->dst.alpnid = dstalpnid;
+  as->src.port = curlx_ultous(srcport);
+  as->dst.port = curlx_ultous(dstport);
 
   return as;
   error:
@@ -226,8 +231,8 @@
           "\"%d%02d%02d "
           "%02d:%02d:%02d\" "
           "%u %d\n",
-          Curl_alpnid2str(as->srcalpnid), as->srchost, as->srcport,
-          Curl_alpnid2str(as->dstalpnid), as->dsthost, as->dstport,
+          Curl_alpnid2str(as->src.alpnid), as->src.host, as->src.port,
+          Curl_alpnid2str(as->dst.alpnid), as->dst.host, as->dst.port,
           stamp.tm_year + 1900, stamp.tm_mon + 1, stamp.tm_mday,
           stamp.tm_hour, stamp.tm_min, stamp.tm_sec,
           as->persist, as->prio);
@@ -252,7 +257,7 @@
 #ifdef USE_NGHTTP2
     | CURLALTSVC_H2
 #endif
-#ifdef USE_HTTP3
+#ifdef ENABLE_QUIC
     | CURLALTSVC_H3
 #endif
     ;
@@ -343,7 +348,7 @@
   while(*p && ISBLANK(*p))
     p++;
   protop = p;
-  while(*p && ISALNUM(*p))
+  while(*p && !ISBLANK(*p) && (*p != ';') && (*p != '='))
     p++;
   len = p - protop;
 
@@ -365,9 +370,9 @@
   for(e = asi->list.head; e; e = n) {
     struct altsvc *as = e->ptr;
     n = e->next;
-    if((srcalpnid == as->srcalpnid) &&
-       (srcport == as->srcport) &&
-       strcasecompare(srchost, as->srchost)) {
+    if((srcalpnid == as->src.alpnid) &&
+       (srcport == as->src.port) &&
+       strcasecompare(srchost, as->src.host)) {
       Curl_llist_remove(&asi->list, e, NULL);
       altsvc_free(as);
       asi->num--;
@@ -535,31 +540,31 @@
 bool Curl_altsvc_lookup(struct altsvcinfo *asi,
                         enum alpnid srcalpnid, const char *srchost,
                         int srcport,
-                        enum alpnid *dstalpnid, const char **dsthost,
-                        int *dstport)
+                        struct altsvc **dstentry,
+                        const int versions) /* one or more bits */
 {
   struct curl_llist_element *e;
   struct curl_llist_element *n;
   time_t now = time(NULL);
   DEBUGASSERT(asi);
   DEBUGASSERT(srchost);
-  DEBUGASSERT(dsthost);
+  DEBUGASSERT(dstentry);
 
   for(e = asi->list.head; e; e = n) {
     struct altsvc *as = e->ptr;
     n = e->next;
     if(as->expires < now) {
       /* an expired entry, remove */
+      Curl_llist_remove(&asi->list, e, NULL);
       altsvc_free(as);
       continue;
     }
-    if((as->srcalpnid == srcalpnid) &&
-       strcasecompare(as->srchost, srchost) &&
-       as->srcport == srcport) {
+    if((as->src.alpnid == srcalpnid) &&
+       strcasecompare(as->src.host, srchost) &&
+       (as->src.port == srcport) &&
+       (versions & as->dst.alpnid)) {
       /* match */
-      *dstalpnid = as->dstalpnid;
-      *dsthost = as->dsthost;
-      *dstport = as->dstport;
+      *dstentry = as;
       return TRUE;
     }
   }
diff --git a/lib/altsvc.h b/lib/altsvc.h
index eefb45b..99d0499 100644
--- a/lib/altsvc.h
+++ b/lib/altsvc.h
@@ -28,20 +28,21 @@
 #include "llist.h"
 
 enum alpnid {
-  ALPN_none,
-  ALPN_h1,
-  ALPN_h2,
-  ALPN_h2c,
-  ALPN_h3
+  ALPN_none = 0,
+  ALPN_h1 = CURLALTSVC_H1,
+  ALPN_h2 = CURLALTSVC_H2,
+  ALPN_h3 = CURLALTSVC_H3
+};
+
+struct althost {
+  char *host;
+  unsigned short port;
+  enum alpnid alpnid;
 };
 
 struct altsvc {
-  char *srchost;
-  char *dsthost;
-  unsigned short srcport;
-  unsigned short dstport;
-  enum alpnid srcalpnid;
-  enum alpnid dstalpnid;
+  struct althost src;
+  struct althost dst;
   time_t expires;
   bool persist;
   int prio;
@@ -68,8 +69,8 @@
 bool Curl_altsvc_lookup(struct altsvcinfo *asi,
                         enum alpnid srcalpnid, const char *srchost,
                         int srcport,
-                        enum alpnid *dstalpnid, const char **dsthost,
-                        int *dstport);
+                        struct altsvc **dstentry,
+                        int versions); /* one or more CURLALTSVC_H* bits */
 #else
 /* disabled */
 #define Curl_altsvc_save(a,b)
diff --git a/lib/asyn-ares.c b/lib/asyn-ares.c
index 6b14aa6..835cfa4 100644
--- a/lib/asyn-ares.c
+++ b/lib/asyn-ares.c
@@ -253,16 +253,14 @@
  */
 
 int Curl_resolver_getsock(struct connectdata *conn,
-                          curl_socket_t *socks,
-                          int numsocks)
-
+                          curl_socket_t *socks)
 {
   struct timeval maxtime;
   struct timeval timebuf;
   struct timeval *timeout;
   long milli;
   int max = ares_getsock((ares_channel)conn->data->state.resolver,
-                         (ares_socket_t *)socks, numsocks);
+                         (ares_socket_t *)socks, MAX_SOCKSPEREASYHANDLE);
 
   maxtime.tv_sec = CURL_TIMEOUT_RESOLVE;
   maxtime.tv_usec = 0;
diff --git a/lib/asyn-thread.c b/lib/asyn-thread.c
old mode 100644
new mode 100755
index 55e0811..24da748
--- a/lib/asyn-thread.c
+++ b/lib/asyn-thread.c
@@ -163,6 +163,10 @@
   char *hostname;        /* hostname to resolve, Curl_async.hostname
                             duplicate */
   int port;
+#ifdef HAVE_SOCKETPAIR
+  struct connectdata *conn;
+  curl_socket_t sock_pair[2]; /* socket pair */
+#endif
   int sock_error;
   Curl_addrinfo *res;
 #ifdef HAVE_GETADDRINFO
@@ -197,6 +201,15 @@
   if(tsd->res)
     Curl_freeaddrinfo(tsd->res);
 
+#ifdef HAVE_SOCKETPAIR
+  /*
+   * close one end of the socket pair (may be done in resolver thread);
+   * the other end (for reading) is always closed in the parent thread.
+   */
+  if(tsd->sock_pair[1] != CURL_SOCKET_BAD) {
+    sclose(tsd->sock_pair[1]);
+  }
+#endif
   memset(tsd, 0, sizeof(*tsd));
 }
 
@@ -230,6 +243,14 @@
 
   Curl_mutex_init(tsd->mtx);
 
+#ifdef HAVE_SOCKETPAIR
+  /* create socket pair */
+  if(socketpair(AF_LOCAL, SOCK_STREAM, 0, &tsd->sock_pair[0]) < 0) {
+    tsd->sock_pair[0] = CURL_SOCKET_BAD;
+    tsd->sock_pair[1] = CURL_SOCKET_BAD;
+    goto err_exit;
+  }
+#endif
   tsd->sock_error = CURL_ASYNC_SUCCESS;
 
   /* Copying hostname string because original can be destroyed by parent
@@ -276,6 +297,9 @@
   struct thread_data *td = tsd->td;
   char service[12];
   int rc;
+#ifdef HAVE_SOCKETPAIR
+  char buf[1];
+#endif
 
   msnprintf(service, sizeof(service), "%d", tsd->port);
 
@@ -298,6 +322,16 @@
     free(td);
   }
   else {
+#ifdef HAVE_SOCKETPAIR
+    if(tsd->sock_pair[1] != CURL_SOCKET_BAD) {
+      /* DNS has been resolved, signal client task */
+      buf[0] = 1;
+      if(write(tsd->sock_pair[1],  buf, sizeof(buf)) < 0) {
+        /* update sock_erro to errno */
+        tsd->sock_error = SOCKERRNO;
+      }
+    }
+#endif
     tsd->done = 1;
     Curl_mutex_release(tsd->mtx);
   }
@@ -348,6 +382,10 @@
   if(async->os_specific) {
     struct thread_data *td = (struct thread_data*) async->os_specific;
     int done;
+#ifdef HAVE_SOCKETPAIR
+    curl_socket_t sock_rd = td->tsd.sock_pair[0];
+    struct connectdata *conn = td->tsd.conn;
+#endif
 
     /*
      * if the thread is still blocking in the resolve syscall, detach it and
@@ -369,6 +407,15 @@
 
       free(async->os_specific);
     }
+#ifdef HAVE_SOCKETPAIR
+    /*
+     * ensure CURLMOPT_SOCKETFUNCTION fires CURL_POLL_REMOVE
+     * before the FD is invalidated to avoid EBADF on EPOLL_CTL_DEL
+     */
+    if(conn)
+      Curl_multi_closed(conn->data, sock_rd);
+    sclose(sock_rd);
+#endif
   }
   async->os_specific = NULL;
 
@@ -569,8 +616,9 @@
   }
   else {
     /* poll for name lookup done with exponential backoff up to 250ms */
-    timediff_t elapsed = Curl_timediff(Curl_now(),
-                                       data->progress.t_startsingle);
+    /* should be fine even if this converts to 32 bit */
+    time_t elapsed = (time_t)Curl_timediff(Curl_now(),
+                                           data->progress.t_startsingle);
     if(elapsed < 0)
       elapsed = 0;
 
@@ -592,26 +640,45 @@
 }
 
 int Curl_resolver_getsock(struct connectdata *conn,
-                          curl_socket_t *socks,
-                          int numsocks)
+                          curl_socket_t *socks)
 {
+  int ret_val = 0;
   time_t milli;
   timediff_t ms;
   struct Curl_easy *data = conn->data;
   struct resdata *reslv = (struct resdata *)data->state.resolver;
+#ifdef HAVE_SOCKETPAIR
+  struct thread_data *td = (struct thread_data*)conn->async.os_specific;
+#else
   (void)socks;
-  (void)numsocks;
-  ms = Curl_timediff(Curl_now(), reslv->start);
-  if(ms < 3)
-    milli = 0;
-  else if(ms <= 50)
-    milli = ms/3;
-  else if(ms <= 250)
-    milli = 50;
-  else
-    milli = 200;
-  Curl_expire(data, milli, EXPIRE_ASYNC_NAME);
-  return 0;
+#endif
+
+#ifdef HAVE_SOCKETPAIR
+  if(td) {
+    /* return read fd to client for polling the DNS resolution status */
+    socks[0] = td->tsd.sock_pair[0];
+    DEBUGASSERT(td->tsd.conn == conn || !td->tsd.conn);
+    td->tsd.conn = conn;
+    ret_val = GETSOCK_READSOCK(0);
+  }
+  else {
+#endif
+    ms = Curl_timediff(Curl_now(), reslv->start);
+    if(ms < 3)
+      milli = 0;
+    else if(ms <= 50)
+      milli = (time_t)ms/3;
+    else if(ms <= 250)
+      milli = 50;
+    else
+      milli = 200;
+    Curl_expire(data, milli, EXPIRE_ASYNC_NAME);
+#ifdef HAVE_SOCKETPAIR
+  }
+#endif
+
+
+  return ret_val;
 }
 
 #ifndef HAVE_GETADDRINFO
@@ -706,7 +773,8 @@
 
   memset(&hints, 0, sizeof(hints));
   hints.ai_family = pf;
-  hints.ai_socktype = conn->socktype;
+  hints.ai_socktype = (conn->transport == TRNSPRT_TCP)?
+    SOCK_STREAM : SOCK_DGRAM;
 
   msnprintf(sbuf, sizeof(sbuf), "%d", port);
 
diff --git a/lib/asyn.h b/lib/asyn.h
index ccd4b1f..081c3fe 100644
--- a/lib/asyn.h
+++ b/lib/asyn.h
@@ -114,8 +114,7 @@
  * return bitmask indicating what file descriptors (referring to array indexes
  * in the 'sock' array) to wait for, read/write.
  */
-int Curl_resolver_getsock(struct connectdata *conn, curl_socket_t *sock,
-                          int numsocks);
+int Curl_resolver_getsock(struct connectdata *conn, curl_socket_t *sock);
 
 /*
  * Curl_resolver_is_resolved()
diff --git a/lib/base64.c b/lib/base64.c
index fb081a6..643cef6 100644
--- a/lib/base64.c
+++ b/lib/base64.c
@@ -24,8 +24,8 @@
 
 #include "curl_setup.h"
 
-#if !defined(CURL_DISABLE_HTTP_AUTH) || defined(USE_LIBSSH2) || \
-  defined(USE_LIBSSH) || !defined(CURL_DISABLE_LDAP) || \
+#if !defined(CURL_DISABLE_HTTP_AUTH) || defined(USE_SSH) || \
+  !defined(CURL_DISABLE_LDAP) || \
   !defined(CURL_DISABLE_DOH) || defined(USE_SSL)
 
 #include "urldata.h" /* for the Curl_easy definition */
diff --git a/lib/config-os400.h b/lib/config-os400.h
index a741e91..d14bd33 100644
--- a/lib/config-os400.h
+++ b/lib/config-os400.h
@@ -434,6 +434,9 @@
 /* Define to enable alt-svc support (experimental) */
 #undef USE_ALTSVC
 
+/* Define to enable HTTP3 support (experimental, requires NGTCP2 or QUICHE) */
+#undef ENABLE_QUIC
+
 /* Version number of package */
 #undef VERSION
 
diff --git a/lib/config-plan9.h b/lib/config-plan9.h
new file mode 100644
index 0000000..70833a5
--- /dev/null
+++ b/lib/config-plan9.h
@@ -0,0 +1,217 @@
+#ifndef HEADER_CURL_CONFIG_PLAN9_H
+#define HEADER_CURL_CONFIG_PLAN9_H
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
+ *
+ * This software is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at https://curl.haxx.se/docs/copyright.html.
+ *
+ * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+ * copies of the Software, and permit persons to whom the Software is
+ * furnished to do so, under the terms of the COPYING file.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ ***************************************************************************/
+
+#define BUILDING_LIBCURL 1
+#define CURL_CA_BUNDLE "/sys/lib/tls/ca.pem"
+#define CURL_CA_PATH "/sys/lib/tls"
+#define CURL_STATICLIB 1
+#define ENABLE_IPV6 1
+#define CURL_DISABLE_LDAP 1
+
+#define NEED_REENTRANT 1
+#define OS "plan9"
+#define PACKAGE "curl"
+#define PACKAGE_NAME "curl"
+#define PACKAGE_BUGREPORT "a suitable mailing list: https://curl.haxx.se/mail/"
+#define PACKAGE_STRING "curl -"
+#define PACKAGE_TARNAME "curl"
+#define PACKAGE_VERSION "-"
+#define RANDOM_FILE "/dev/random"
+#define VERSION "0.0.0" /* TODO */
+
+#define RETSIGTYPE void
+
+#define STDC_HEADERS 1
+
+#ifdef _BITS64
+#error not implement
+#else
+#define SIZEOF_INT 4
+#define SIZEOF_SHORT 2
+#define SIZEOF_LONG 4
+#define SIZEOF_OFF_T 8
+#define SIZEOF_CURL_OFF_T 4 /* curl_off_t = timediff_t = int */
+#define SIZEOF_SIZE_T 4
+#define SIZEOF_TIME_T 4
+#endif
+
+#define HAVE_GETNAMEINFO 1
+#define GETNAMEINFO_QUAL_ARG1 const
+#define GETNAMEINFO_TYPE_ARG1 struct sockaddr *
+#define GETNAMEINFO_TYPE_ARG2 int
+#define GETNAMEINFO_TYPE_ARG46 long
+#define GETNAMEINFO_TYPE_ARG7 int
+
+#define HAVE_RECV 1
+#define RECV_TYPE_ARG1 int
+#define RECV_TYPE_ARG2 void *
+#define RECV_TYPE_ARG3 int
+#define RECV_TYPE_ARG4 int
+#define RECV_TYPE_RETV int
+
+#define HAVE_RECVFROM 1
+#define RECVFROM_TYPE_ARG1 int
+#define RECVFROM_TYPE_ARG2 void
+#define RECVFROM_TYPE_ARG2_IS_VOID 1
+#define RECVFROM_TYPE_ARG3 int
+#define RECVFROM_TYPE_ARG4 int
+#define RECVFROM_TYPE_ARG5 void
+#define RECVFROM_TYPE_ARG5_IS_VOID 1
+#define RECVFROM_TYPE_ARG6 int
+#define RECVFROM_TYPE_ARG6_IS_VOID 1
+#define RECVFROM_TYPE_RETV int
+
+#define HAVE_SELECT 1
+#define SELECT_TYPE_ARG1 int
+#define SELECT_TYPE_ARG234 fd_set *
+#define SELECT_TYPE_ARG5 struct timeval *
+#define SELECT_TYPE_RETV int
+
+#define HAVE_SEND 1
+#define SEND_TYPE_ARG1 int
+#define SEND_TYPE_ARG2 void *
+#define SEND_QUAL_ARG2
+#define SEND_TYPE_ARG3 int
+#define SEND_TYPE_ARG4 int
+#define SEND_TYPE_RETV int
+
+#define HAVE_ALARM 1
+#define HAVE_ARPA_INET_H 1
+#define HAVE_ASSERT_H 1
+#define HAVE_BASENAME 1
+#define HAVE_BOOL_T 1
+#define HAVE_CRYPTO_CLEANUP_ALL_EX_DATA 1
+#define HAVE_ENGINE_LOAD_BUILTIN_ENGINES 1
+#define HAVE_ERRNO_H 1
+#define HAVE_FCNTL 1
+#define HAVE_FCNTL_H 1
+#define HAVE_FDOPEN 1
+#define HAVE_FORK 1
+#define HAVE_FREEADDRINFO 1
+#define HAVE_FTRUNCATE 1
+#define HAVE_GETADDRINFO 1
+#define HAVE_GETEUID 1
+#define HAVE_GETHOSTBYADDR 1
+#define HAVE_GETHOSTBYNAME 1
+#define HAVE_GETHOSTNAME 1
+#define HAVE_GETPPID 1
+#define HAVE_GETPROTOBYNAME 1
+#define HAVE_GETPWUID 1
+#define HAVE_GETTIMEOFDAY 1
+#define HAVE_GMTIME_R 1
+#define HAVE_INET_ADDR 1
+#define HAVE_INET_NTOP 1
+#define HAVE_INET_PTON 1
+#define HAVE_INTTYPES_H 1
+#define HAVE_IOCTL 1
+#define HAVE_LIBGEN_H 1
+#define HAVE_LIBSSL 1
+#define HAVE_LIBZ 1
+#define HAVE_LL 1
+#define HAVE_LOCALE_H 1
+#define HAVE_LOCALTIME_R 1
+#define HAVE_LONGLONG 1
+#define HAVE_NETDB_H 1
+#define HAVE_NETINET_IN_H 1
+#define HAVE_NETINET_TCP_H 1
+#define HAVE_PWD_H 1
+#define HAVE_SYS_SELECT_H 1
+
+#define USE_OPENSSL 1
+#define HAVE_OPENSSL_CRYPTO_H 1
+#define HAVE_OPENSSL_ENGINE_H 1
+#define HAVE_OPENSSL_ERR_H 1
+#define HAVE_OPENSSL_PEM_H 1
+#define HAVE_OPENSSL_PKCS12_H 1
+#define HAVE_OPENSSL_RSA_H 1
+#define HAVE_OPENSSL_SSL_H 1
+#define HAVE_OPENSSL_X509_H 1
+
+#define HAVE_PERROR 1
+#define HAVE_PIPE 1
+#define HAVE_POLL 1
+#define HAVE_POLL_FINE 1
+#define HAVE_POLL_H 1
+#define HAVE_PTHREAD_H 1
+#define HAVE_RAND_STATUS 1
+#define HAVE_SETJMP_H 1
+#define HAVE_SETLOCALE 1
+
+#define HAVE_SETSOCKOPT 1
+#define HAVE_SOCK_OPTS 1 /* for /sys/include/ape/sys/socket.h */
+
+#define HAVE_SIGACTION 1
+#define HAVE_SIGNAL 1
+#define HAVE_SIGNAL_H 1
+#define HAVE_SIGSETJMP 1
+#define HAVE_SIG_ATOMIC_T 1
+#define HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID 1
+#define HAVE_SOCKET 1
+#define HAVE_SSL_GET_SHUTDOWN 1
+#define HAVE_STDBOOL_H 1
+#define HAVE_STDINT_H 1
+#define HAVE_STDIO_H 1
+#define HAVE_STDLIB_H 1
+#define HAVE_STRCASECMP 1
+#define HAVE_STRDUP 1
+#define HAVE_STRING_H 1
+#define HAVE_STRNCASECMP 1
+#define HAVE_STRSTR 1
+#define HAVE_STRTOK_R 1
+#define HAVE_STRTOLL 1
+#define HAVE_STRUCT_TIMEVAL 1
+#define HAVE_SYS_IOCTL_H 1
+#define HAVE_SYS_PARAM_H 1
+#define HAVE_SYS_RESOURCE_H 1
+#define HAVE_SYS_SOCKET_H 1
+#define HAVE_SYS_STAT_H 1
+#define HAVE_SYS_TIME_H 1
+#define HAVE_SYS_TYPES_H 1
+#define HAVE_SYS_UIO_H 1
+#define HAVE_SYS_UN_H 1
+#define HAVE_TERMIOS_H 1
+#define HAVE_TIME_H 1
+#define HAVE_UNAME 1
+#define HAVE_UNISTD_H 1
+#define HAVE_UTIME 1
+#define HAVE_UTIME_H 1
+#define HAVE_WRITEV 1
+
+#define HAVE_ZLIB_H 1
+
+#define HAVE_POSIX_STRERROR_R 1
+#define HAVE_STRERROR_R 1
+#define STRERROR_R_TYPE_ARG3 int
+
+#define TIME_WITH_SYS_TIME 1
+#define USE_BLOCKING_SOCKETS 1
+#define USE_MANUAL 1
+
+#define __attribute__(x)
+
+#ifndef __cplusplus
+#undef inline
+#endif
+
+#endif /* HEADER_CURL_CONFIG_PLAN9_H */
diff --git a/lib/connect.c b/lib/connect.c
index 4a1f2c6..7719625 100644
--- a/lib/connect.c
+++ b/lib/connect.c
@@ -75,6 +75,8 @@
 #include "conncache.h"
 #include "multihandle.h"
 #include "system_win32.h"
+#include "quic.h"
+#include "socks.h"
 
 /* The last 3 #include files should be in this order */
 #include "curl_printf.h"
@@ -165,7 +167,7 @@
 static CURLcode
 singleipconnect(struct connectdata *conn,
                 const Curl_addrinfo *ai, /* start connecting to this */
-                curl_socket_t *sock);
+                int sockindex);          /* 0 or 1 among the temp ones */
 
 /*
  * Curl_timeleft() returns the amount of milliseconds left allowed for the
@@ -595,7 +597,7 @@
       }
 
       if(ai) {
-        result = singleipconnect(conn, ai, &conn->tempsock[tempindex]);
+        result = singleipconnect(conn, ai, tempindex);
         if(result == CURLE_COULDNT_CONNECT) {
           ai = ai->ai_next;
           continue;
@@ -625,13 +627,10 @@
   conn->data->info.conn_local_port = conn->local_port;
 }
 
-UNITTEST bool getaddressinfo(struct sockaddr *sa, char *addr,
-                             long *port);
-
 /* retrieves ip address and port from a sockaddr structure.
    note it calls Curl_inet_ntop which sets errno on fail, not SOCKERRNO. */
-UNITTEST bool getaddressinfo(struct sockaddr *sa, char *addr,
-                             long *port)
+bool Curl_addr2string(struct sockaddr *sa, curl_socklen_t salen,
+                      char *addr, long *port)
 {
   struct sockaddr_in *si = NULL;
 #ifdef ENABLE_IPV6
@@ -639,6 +638,8 @@
 #endif
 #if defined(HAVE_SYS_UN_H) && defined(AF_UNIX)
   struct sockaddr_un *su = NULL;
+#else
+  (void)salen;
 #endif
 
   switch(sa->sa_family) {
@@ -664,8 +665,12 @@
 #endif
 #if defined(HAVE_SYS_UN_H) && defined(AF_UNIX)
     case AF_UNIX:
-      su = (struct sockaddr_un*)sa;
-      msnprintf(addr, MAX_IPADR_LEN, "%s", su->sun_path);
+      if(salen > sizeof(sa_family_t)) {
+        su = (struct sockaddr_un*)sa;
+        msnprintf(addr, MAX_IPADR_LEN, "%s", su->sun_path);
+      }
+      else
+        addr[0] = 0; /* socket with no name */
       *port = 0;
       return TRUE;
 #endif
@@ -683,8 +688,8 @@
    connection */
 void Curl_updateconninfo(struct connectdata *conn, curl_socket_t sockfd)
 {
-  if(conn->socktype == SOCK_DGRAM)
-    /* there's no connection! */
+  if(conn->transport != TRNSPRT_TCP)
+    /* there's no TCP connection! */
     return;
 
 #if defined(HAVE_GETPEERNAME) || defined(HAVE_GETSOCKNAME)
@@ -693,10 +698,11 @@
     char buffer[STRERROR_LEN];
     struct Curl_sockaddr_storage ssrem;
     struct Curl_sockaddr_storage ssloc;
-    curl_socklen_t len;
+    curl_socklen_t plen;
+    curl_socklen_t slen;
 #ifdef HAVE_GETPEERNAME
-    len = sizeof(struct Curl_sockaddr_storage);
-    if(getpeername(sockfd, (struct sockaddr*) &ssrem, &len)) {
+    plen = sizeof(struct Curl_sockaddr_storage);
+    if(getpeername(sockfd, (struct sockaddr*) &ssrem, &plen)) {
       int error = SOCKERRNO;
       failf(data, "getpeername() failed with errno %d: %s",
             error, Curl_strerror(error, buffer, sizeof(buffer)));
@@ -704,9 +710,9 @@
     }
 #endif
 #ifdef HAVE_GETSOCKNAME
-    len = sizeof(struct Curl_sockaddr_storage);
+    slen = sizeof(struct Curl_sockaddr_storage);
     memset(&ssloc, 0, sizeof(ssloc));
-    if(getsockname(sockfd, (struct sockaddr*) &ssloc, &len)) {
+    if(getsockname(sockfd, (struct sockaddr*) &ssloc, &slen)) {
       int error = SOCKERRNO;
       failf(data, "getsockname() failed with errno %d: %s",
             error, Curl_strerror(error, buffer, sizeof(buffer)));
@@ -714,8 +720,8 @@
     }
 #endif
 #ifdef HAVE_GETPEERNAME
-    if(!getaddressinfo((struct sockaddr*)&ssrem,
-                       conn->primary_ip, &conn->primary_port)) {
+    if(!Curl_addr2string((struct sockaddr*)&ssrem, plen,
+                         conn->primary_ip, &conn->primary_port)) {
       failf(data, "ssrem inet_ntop() failed with errno %d: %s",
             errno, Curl_strerror(errno, buffer, sizeof(buffer)));
       return;
@@ -723,8 +729,8 @@
     memcpy(conn->ip_addr_str, conn->primary_ip, MAX_IPADR_LEN);
 #endif
 #ifdef HAVE_GETSOCKNAME
-    if(!getaddressinfo((struct sockaddr*)&ssloc,
-                       conn->local_ip, &conn->local_port)) {
+    if(!Curl_addr2string((struct sockaddr*)&ssloc, slen,
+                         conn->local_ip, &conn->local_port)) {
       failf(data, "ssloc inet_ntop() failed with errno %d: %s",
             errno, Curl_strerror(errno, buffer, sizeof(buffer)));
       return;
@@ -739,6 +745,58 @@
   Curl_persistconninfo(conn);
 }
 
+/* after a TCP connection to the proxy has been verified, this function does
+   the next magic step.
+
+   Note: this function's sub-functions call failf()
+
+*/
+static CURLcode connected_proxy(struct connectdata *conn, int sockindex)
+{
+  CURLcode result = CURLE_OK;
+
+  if(conn->bits.socksproxy) {
+#ifndef CURL_DISABLE_PROXY
+    /* for the secondary socket (FTP), use the "connect to host"
+     * but ignore the "connect to port" (use the secondary port)
+     */
+    const char * const host = conn->bits.httpproxy ?
+                              conn->http_proxy.host.name :
+                              conn->bits.conn_to_host ?
+                              conn->conn_to_host.name :
+                              sockindex == SECONDARYSOCKET ?
+                              conn->secondaryhostname : conn->host.name;
+    const int port = conn->bits.httpproxy ? (int)conn->http_proxy.port :
+                     sockindex == SECONDARYSOCKET ? conn->secondary_port :
+                     conn->bits.conn_to_port ? conn->conn_to_port :
+                     conn->remote_port;
+    conn->bits.socksproxy_connecting = TRUE;
+    switch(conn->socks_proxy.proxytype) {
+    case CURLPROXY_SOCKS5:
+    case CURLPROXY_SOCKS5_HOSTNAME:
+      result = Curl_SOCKS5(conn->socks_proxy.user, conn->socks_proxy.passwd,
+                         host, port, sockindex, conn);
+      break;
+
+    case CURLPROXY_SOCKS4:
+    case CURLPROXY_SOCKS4A:
+      result = Curl_SOCKS4(conn->socks_proxy.user, host, port, sockindex,
+                           conn);
+      break;
+
+    default:
+      failf(conn->data, "unknown proxytype option given");
+      result = CURLE_COULDNT_CONNECT;
+    } /* switch proxytype */
+    conn->bits.socksproxy_connecting = FALSE;
+#else
+  (void)sockindex;
+#endif /* CURL_DISABLE_PROXY */
+  }
+
+  return result;
+}
+
 /*
  * Curl_is_connected() checks if the socket has connected.
  */
@@ -781,6 +839,24 @@
     if(conn->tempsock[i] == CURL_SOCKET_BAD)
       continue;
 
+#ifdef ENABLE_QUIC
+    if(conn->transport == TRNSPRT_QUIC) {
+      result = Curl_quic_is_connected(conn, i, connected);
+      if(result) {
+        error = SOCKERRNO;
+        goto error;
+      }
+      if(*connected) {
+        /* use this socket from now on */
+        conn->sock[sockindex] = conn->tempsock[i];
+        conn->ip_addr = conn->tempaddr[i];
+        conn->tempsock[i] = CURL_SOCKET_BAD;
+        connkeep(conn, "HTTP/3 default");
+      }
+      return result;
+    }
+#endif
+
 #ifdef mpeix
     /* Call this function once now, and ignore the results. We do this to
        "clear" the error state on the socket so that we can later read it
@@ -794,8 +870,8 @@
     if(rc == 0) { /* no connection yet */
       error = 0;
       if(Curl_timediff(now, conn->connecttime) >= conn->timeoutms_per_addr) {
-        infof(data, "After %ldms connect time, move on!\n",
-              conn->timeoutms_per_addr);
+        infof(data, "After %" CURL_FORMAT_TIMEDIFF_T
+              "ms connect time, move on!\n", conn->timeoutms_per_addr);
         error = ETIMEDOUT;
       }
 
@@ -825,7 +901,7 @@
         }
 
         /* see if we need to do any proxy magic first once we connected */
-        result = Curl_connected_proxy(conn, sockindex);
+        result = connected_proxy(conn, sockindex);
         if(result)
           return result;
 
@@ -844,6 +920,9 @@
     else if(rc & CURL_CSELECT_ERR)
       (void)verifyconnect(conn->tempsock[i], &error);
 
+#ifdef ENABLE_QUIC
+    error:
+#endif
     /*
      * The connection failed here, we should attempt to connect to the "next
      * address" for the given host. But first remember the latest error.
@@ -861,11 +940,11 @@
               Curl_strerror(error, buffer, sizeof(buffer)));
 
         conn->timeoutms_per_addr = conn->tempaddr[i]->ai_next == NULL ?
-                                   allow : allow / 2;
+          allow : allow / 2;
 
         status = trynextip(conn, sockindex, i);
-        if(status != CURLE_COULDNT_CONNECT
-            || conn->tempsock[other] == CURL_SOCKET_BAD)
+        if((status != CURLE_COULDNT_CONNECT) ||
+           conn->tempsock[other] == CURL_SOCKET_BAD)
           /* the last attempt failed and no other sockets remain open */
           result = status;
       }
@@ -1004,7 +1083,7 @@
  */
 static CURLcode singleipconnect(struct connectdata *conn,
                                 const Curl_addrinfo *ai,
-                                curl_socket_t *sockp)
+                                int sockindex)
 {
   struct Curl_sockaddr_ex addr;
   int rc = -1;
@@ -1020,7 +1099,7 @@
   int optval = 1;
 #endif
   char buffer[STRERROR_LEN];
-
+  curl_socket_t *sockp = &conn->tempsock[sockindex];
   *sockp = CURL_SOCKET_BAD;
 
   result = Curl_socket(conn, ai, &addr, &sockfd);
@@ -1031,8 +1110,8 @@
     return CURLE_OK;
 
   /* store remote address and port used in this connection attempt */
-  if(!getaddressinfo((struct sockaddr*)&addr.sa_addr,
-                     ipaddress, &port)) {
+  if(!Curl_addr2string((struct sockaddr*)&addr.sa_addr, addr.addrlen,
+                       ipaddress, &port)) {
     /* malformed address or bug in inet_ntop, try next address */
     failf(data, "sa_addr inet_ntop() failed with errno %d: %s",
           errno, Curl_strerror(errno, buffer, sizeof(buffer)));
@@ -1099,8 +1178,8 @@
   if(conn->num_addr > 1)
     Curl_expire(data, conn->timeoutms_per_addr, EXPIRE_DNS_PER_NAME);
 
-  /* Connect TCP sockets, bind UDP */
-  if(!isconnected && (conn->socktype == SOCK_STREAM)) {
+  /* Connect TCP and QUIC sockets */
+  if(!isconnected && (conn->transport != TRNSPRT_UDP)) {
     if(conn->bits.tcp_fastopen) {
 #if defined(CONNECT_DATA_IDEMPOTENT) /* Darwin */
 #  if defined(HAVE_BUILTIN_AVAILABLE)
@@ -1146,6 +1225,16 @@
 
     if(-1 == rc)
       error = SOCKERRNO;
+#ifdef ENABLE_QUIC
+    else if(conn->transport == TRNSPRT_QUIC) {
+      /* pass in 'sockfd' separately since it hasn't been put into the
+         tempsock array at this point */
+      result = Curl_quic_connect(conn, sockfd, sockindex,
+                                 &addr.sa_addr, addr.addrlen);
+      if(result)
+        error = SOCKERRNO;
+    }
+#endif
   }
   else {
     *sockp = sockfd;
@@ -1219,7 +1308,7 @@
 
   /* start connecting to first IP */
   while(conn->tempaddr[0]) {
-    result = singleipconnect(conn, conn->tempaddr[0], &(conn->tempsock[0]));
+    result = singleipconnect(conn, conn->tempaddr[0], 0);
     if(!result)
       break;
     conn->tempaddr[0] = conn->tempaddr[0]->ai_next;
@@ -1386,8 +1475,9 @@
    */
 
   addr->family = ai->ai_family;
-  addr->socktype = conn->socktype;
-  addr->protocol = conn->socktype == SOCK_DGRAM?IPPROTO_UDP:ai->ai_protocol;
+  addr->socktype = (conn->transport == TRNSPRT_TCP) ? SOCK_STREAM : SOCK_DGRAM;
+  addr->protocol = conn->transport != TRNSPRT_TCP ? IPPROTO_UDP :
+    ai->ai_protocol;
   addr->addrlen = ai->ai_addrlen;
 
   if(addr->addrlen > sizeof(struct Curl_sockaddr_storage))
diff --git a/lib/connect.h b/lib/connect.h
index 6a5c755..b23085a 100644
--- a/lib/connect.h
+++ b/lib/connect.h
@@ -51,6 +51,9 @@
 curl_socket_t Curl_getconnectinfo(struct Curl_easy *data,
                                   struct connectdata **connp);
 
+bool Curl_addr2string(struct sockaddr *sa, curl_socklen_t salen,
+                      char *addr, long *port);
+
 /*
  * Check if a connection seems to be alive.
  */
diff --git a/lib/cookie.c b/lib/cookie.c
index 9a9e14d..53ca402 100644
--- a/lib/cookie.c
+++ b/lib/cookie.c
@@ -819,22 +819,14 @@
           badcookie = TRUE;
         break;
       case 1:
-        /* This field got its explanation on the 23rd of May 2001 by
-           Andrés García:
-
-           flag: A TRUE/FALSE value indicating if all machines within a given
-           domain can access the variable. This value is set automatically by
-           the browser, depending on the value you set for the domain.
-
-           As far as I can see, it is set to true when the cookie says
+        /* flag: A TRUE/FALSE value indicating if all machines within a given
+           domain can access the variable. Set TRUE when the cookie says
            .domain.com and to false when the domain is complete www.domain.com
         */
         co->tailmatch = strcasecompare(ptr, "TRUE")?TRUE:FALSE;
         break;
       case 2:
-        /* It turns out, that sometimes the file format allows the path
-           field to remain not filled in, we try to detect this and work
-           around it! Andrés García made us aware of this... */
+        /* The file format allows the path field to remain not filled in */
         if(strcmp("TRUE", ptr) && strcmp("FALSE", ptr)) {
           /* only if the path doesn't look like a boolean option! */
           co->path = strdup(ptr);
diff --git a/lib/curl_config.h b/lib/curl_config.h
index 60e3d68..6c102cb 100644
--- a/lib/curl_config.h
+++ b/lib/curl_config.h
@@ -487,6 +487,15 @@
 /* Define to 1 if you have the <nghttp2/nghttp2.h> header file. */
 /* #undef HAVE_NGHTTP2_NGHTTP2_H */
 
+/* Define to 1 if you have the <nghttp3/nghttp3.h> header file. */
+/* #undef HAVE_NGHTTP3_NGHTTP3_H */
+
+/* Define to 1 if you have the <ngtcp2/ngtcp2_crypto.h> header file. */
+/* #undef HAVE_NGTCP2_NGTCP2_CRYPTO_H */
+
+/* Define to 1 if you have the <ngtcp2/ngtcp2.h> header file. */
+/* #undef HAVE_NGTCP2_NGTCP2_H */
+
 /* if you have an old MIT Kerberos version, lacking GSS_C_NT_HOSTBASED_SERVICE
    */
 /* #undef HAVE_OLD_GSSMIT */
@@ -545,6 +554,9 @@
 /* Define to 1 if you have the <pwd.h> header file. */
 #define HAVE_PWD_H 1
 
+/* Define to 1 if you have the <quiche.h> header file. */
+/* #undef HAVE_QUICHE_H */
+
 /* Define to 1 if you have the `RAND_egd' function. */
 /* #undef HAVE_RAND_EGD */
 
@@ -740,6 +752,9 @@
 /* Define to 1 if you have the <unistd.h> header file. */
 #define HAVE_UNISTD_H 1
 
+/* Define to 1 if you have the `usleep' function. */
+#define HAVE_USLEEP 1
+
 /* Define to 1 if you have the `utime' function. */
 #define HAVE_UTIME 1
 
@@ -953,6 +968,15 @@
 /* if nghttp2 is in use */
 /* #undef USE_NGHTTP2 */
 
+/* if nghttp3 is in use */
+/* #undef USE_NGHTTP3 */
+
+/* if ngtcp2 is in use */
+/* #undef USE_NGTCP2 */
+
+/* if ngtcp2_crypto_openssl is in use */
+/* #undef USE_NGTCP2_CRYPTO_OPENSSL */
+
 /* if NSS is enabled */
 /* #undef USE_NSS */
 
@@ -962,6 +986,9 @@
 /* if OpenSSL is in use */
 #define USE_OPENSSL 1
 
+/* if quiche is in use */
+/* #undef USE_QUICHE */
+
 /* to enable Windows native SSL/TLS support */
 /* #undef USE_SCHANNEL */
 
diff --git a/lib/curl_config.h.in b/lib/curl_config.h.in
index 871c664..e5abe77 100644
--- a/lib/curl_config.h.in
+++ b/lib/curl_config.h.in
@@ -486,6 +486,15 @@
 /* Define to 1 if you have the <nghttp2/nghttp2.h> header file. */
 #undef HAVE_NGHTTP2_NGHTTP2_H
 
+/* Define to 1 if you have the <nghttp3/nghttp3.h> header file. */
+#undef HAVE_NGHTTP3_NGHTTP3_H
+
+/* Define to 1 if you have the <ngtcp2/ngtcp2_crypto.h> header file. */
+#undef HAVE_NGTCP2_NGTCP2_CRYPTO_H
+
+/* Define to 1 if you have the <ngtcp2/ngtcp2.h> header file. */
+#undef HAVE_NGTCP2_NGTCP2_H
+
 /* if you have an old MIT Kerberos version, lacking GSS_C_NT_HOSTBASED_SERVICE
    */
 #undef HAVE_OLD_GSSMIT
@@ -544,6 +553,9 @@
 /* Define to 1 if you have the <pwd.h> header file. */
 #undef HAVE_PWD_H
 
+/* Define to 1 if you have the <quiche.h> header file. */
+#undef HAVE_QUICHE_H
+
 /* Define to 1 if you have the `RAND_egd' function. */
 #undef HAVE_RAND_EGD
 
@@ -739,6 +751,9 @@
 /* Define to 1 if you have the <unistd.h> header file. */
 #undef HAVE_UNISTD_H
 
+/* Define to 1 if you have the `usleep' function. */
+#undef HAVE_USLEEP
+
 /* Define to 1 if you have the `utime' function. */
 #undef HAVE_UTIME
 
@@ -970,6 +985,15 @@
 /* if nghttp2 is in use */
 #undef USE_NGHTTP2
 
+/* if nghttp3 is in use */
+#undef USE_NGHTTP3
+
+/* if ngtcp2 is in use */
+#undef USE_NGTCP2
+
+/* if ngtcp2_crypto_openssl is in use */
+#undef USE_NGTCP2_CRYPTO_OPENSSL
+
 /* if NSS is enabled */
 #undef USE_NSS
 
@@ -979,6 +1003,9 @@
 /* if OpenSSL is in use */
 #undef USE_OPENSSL
 
+/* if quiche is in use */
+#undef USE_QUICHE
+
 /* to enable Windows native SSL/TLS support */
 #undef USE_SCHANNEL
 
diff --git a/lib/curl_md4.h b/lib/curl_md4.h
index 392203f..82df708 100644
--- a/lib/curl_md4.h
+++ b/lib/curl_md4.h
@@ -24,14 +24,12 @@
 
 #include "curl_setup.h"
 
-#if defined(USE_NSS) || defined(USE_OS400CRYPTO) || \
-    (defined(USE_OPENSSL) && defined(OPENSSL_NO_MD4)) || \
-    (defined(USE_MBEDTLS) && !defined(MBEDTLS_MD4_C))
+#if !defined(CURL_DISABLE_CRYPTO_AUTH)
+
+#define MD4_DIGEST_LENGTH 16
 
 void Curl_md4it(unsigned char *output, const unsigned char *input, size_t len);
 
-#endif /* defined(USE_NSS) || defined(USE_OS400CRYPTO) ||
-    (defined(USE_OPENSSL) && defined(OPENSSL_NO_MD4)) ||
-    (defined(USE_MBEDTLS) && !defined(MBEDTLS_MD4_C)) */
+#endif /* !defined(CURL_DISABLE_CRYPTO_AUTH) */
 
 #endif /* HEADER_CURL_MD4_H */
diff --git a/lib/curl_ntlm_core.c b/lib/curl_ntlm_core.c
index 9e6fdca..19f9b61 100644
--- a/lib/curl_ntlm_core.c
+++ b/lib/curl_ntlm_core.c
@@ -55,11 +55,6 @@
 #ifdef USE_OPENSSL
 
 #  include <openssl/des.h>
-#  ifndef OPENSSL_NO_MD4
-#    include <openssl/md4.h>
-#  else
-#    include "curl_md4.h"
-#  endif
 #  include <openssl/md5.h>
 #  include <openssl/ssl.h>
 #  include <openssl/rand.h>
@@ -79,29 +74,23 @@
 #elif defined(USE_GNUTLS_NETTLE)
 
 #  include <nettle/des.h>
-#  include <nettle/md4.h>
 
 #elif defined(USE_GNUTLS)
 
 #  include <gcrypt.h>
 #  define MD5_DIGEST_LENGTH 16
-#  define MD4_DIGEST_LENGTH 16
 
 #elif defined(USE_NSS)
 
 #  include <nss.h>
 #  include <pk11pub.h>
 #  include <hasht.h>
-#  include "curl_md4.h"
 #  define MD5_DIGEST_LENGTH MD5_LENGTH
 
 #elif defined(USE_MBEDTLS)
 
 #  include <mbedtls/des.h>
-#  include <mbedtls/md4.h>
-#  if !defined(MBEDTLS_MD4_C)
-#    include "curl_md4.h"
-#  endif
+#  include "curl_md4.h"
 
 #elif defined(USE_SECTRANSP)
 
@@ -110,7 +99,6 @@
 
 #elif defined(USE_OS400CRYPTO)
 #  include "cipher.mih"  /* mih/cipher */
-#  include "curl_md4.h"
 #elif defined(USE_WIN32_CRYPTO)
 #  include <wincrypt.h>
 #else
@@ -126,6 +114,7 @@
 #include "warnless.h"
 #include "curl_endian.h"
 #include "curl_des.h"
+#include "curl_md4.h"
 /* The last 3 #include files should be in this order */
 #include "curl_printf.h"
 #include "curl_memory.h"
@@ -552,7 +541,7 @@
   CURLcode result;
   if(len > SIZE_T_MAX/2) /* avoid integer overflow */
     return CURLE_OUT_OF_MEMORY;
-  pw = len ? malloc(len * 2) : strdup("");
+  pw = len ? malloc(len * 2) : (unsigned char *)strdup("");
   if(!pw)
     return CURLE_OUT_OF_MEMORY;
 
@@ -566,57 +555,10 @@
   if(result)
     return result;
 
-  {
-    /* Create NT hashed password. */
-#ifdef USE_OPENSSL
-#if !defined(OPENSSL_NO_MD4)
-    MD4_CTX MD4pw;
-    MD4_Init(&MD4pw);
-    MD4_Update(&MD4pw, pw, 2 * len);
-    MD4_Final(ntbuffer, &MD4pw);
-#else
-    Curl_md4it(ntbuffer, pw, 2 * len);
-#endif
-#elif defined(USE_GNUTLS_NETTLE)
-    struct md4_ctx MD4pw;
-    md4_init(&MD4pw);
-    md4_update(&MD4pw, (unsigned int)(2 * len), pw);
-    md4_digest(&MD4pw, MD4_DIGEST_SIZE, ntbuffer);
-#elif defined(USE_GNUTLS)
-    gcry_md_hd_t MD4pw;
-    gcry_md_open(&MD4pw, GCRY_MD_MD4, 0);
-    gcry_md_write(MD4pw, pw, 2 * len);
-    memcpy(ntbuffer, gcry_md_read(MD4pw, 0), MD4_DIGEST_LENGTH);
-    gcry_md_close(MD4pw);
-#elif defined(USE_NSS)
-    Curl_md4it(ntbuffer, pw, 2 * len);
-#elif defined(USE_MBEDTLS)
-#if defined(MBEDTLS_MD4_C)
-    mbedtls_md4(pw, 2 * len, ntbuffer);
-#else
-    Curl_md4it(ntbuffer, pw, 2 * len);
-#endif
-#elif defined(USE_SECTRANSP)
-    (void)CC_MD4(pw, (CC_LONG)(2 * len), ntbuffer);
-#elif defined(USE_OS400CRYPTO)
-    Curl_md4it(ntbuffer, pw, 2 * len);
-#elif defined(USE_WIN32_CRYPTO)
-    HCRYPTPROV hprov;
-    if(CryptAcquireContext(&hprov, NULL, NULL, PROV_RSA_FULL,
-                           CRYPT_VERIFYCONTEXT)) {
-      HCRYPTHASH hhash;
-      if(CryptCreateHash(hprov, CALG_MD4, 0, 0, &hhash)) {
-        DWORD length = 16;
-        CryptHashData(hhash, pw, (unsigned int)len * 2, 0);
-        CryptGetHashParam(hhash, HP_HASHVAL, ntbuffer, &length, 0);
-        CryptDestroyHash(hhash);
-      }
-      CryptReleaseContext(hprov, 0);
-    }
-#endif
+  /* Create NT hashed password. */
+  Curl_md4it(ntbuffer, pw, 2 * len);
 
-    memset(ntbuffer + 16, 0, 21 - 16);
-  }
+  memset(ntbuffer + 16, 0, 21 - 16);
 
   free(pw);
 
diff --git a/lib/curl_path.c b/lib/curl_path.c
index 85dddce..f429634 100644
--- a/lib/curl_path.c
+++ b/lib/curl_path.c
@@ -55,7 +55,7 @@
     }
     if((working_path_len > 3) && (!memcmp(working_path, "/~/", 3)))
       /* It is referenced to the home directory, so strip the leading '/~/' */
-      memcpy(real_path, working_path + 3, 4 + working_path_len-3);
+      memcpy(real_path, working_path + 3, working_path_len - 2);
     else
       memcpy(real_path, working_path, 1 + working_path_len);
   }
diff --git a/lib/curl_rtmp.c b/lib/curl_rtmp.c
index 16b1de1..df8f2b1 100644
--- a/lib/curl_rtmp.c
+++ b/lib/curl_rtmp.c
@@ -199,13 +199,13 @@
     RTMP_Free(r);
     return CURLE_URL_MALFORMAT;
   }
-  conn->proto.generic = r;
+  conn->proto.rtmp = r;
   return CURLE_OK;
 }
 
 static CURLcode rtmp_connect(struct connectdata *conn, bool *done)
 {
-  RTMP *r = conn->proto.generic;
+  RTMP *r = conn->proto.rtmp;
   SET_RCVTIMEO(tv, 10);
 
   r->m_sb.sb_socket = (int)conn->sock[FIRSTSOCKET];
@@ -240,7 +240,7 @@
 static CURLcode rtmp_do(struct connectdata *conn, bool *done)
 {
   struct Curl_easy *data = conn->data;
-  RTMP *r = conn->proto.generic;
+  RTMP *r = conn->proto.rtmp;
 
   if(!RTMP_ConnectStream(r, 0))
     return CURLE_FAILED_INIT;
@@ -268,10 +268,10 @@
 static CURLcode rtmp_disconnect(struct connectdata *conn,
                                 bool dead_connection)
 {
-  RTMP *r = conn->proto.generic;
+  RTMP *r = conn->proto.rtmp;
   (void)dead_connection;
   if(r) {
-    conn->proto.generic = NULL;
+    conn->proto.rtmp = NULL;
     RTMP_Close(r);
     RTMP_Free(r);
   }
@@ -281,7 +281,7 @@
 static ssize_t rtmp_recv(struct connectdata *conn, int sockindex, char *buf,
                          size_t len, CURLcode *err)
 {
-  RTMP *r = conn->proto.generic;
+  RTMP *r = conn->proto.rtmp;
   ssize_t nread;
 
   (void)sockindex; /* unused */
@@ -302,7 +302,7 @@
 static ssize_t rtmp_send(struct connectdata *conn, int sockindex,
                          const void *buf, size_t len, CURLcode *err)
 {
-  RTMP *r = conn->proto.generic;
+  RTMP *r = conn->proto.rtmp;
   ssize_t num;
 
   (void)sockindex; /* unused */
diff --git a/lib/curl_sasl.c b/lib/curl_sasl.c
index 018e422..0aa1f5b 100644
--- a/lib/curl_sasl.c
+++ b/lib/curl_sasl.c
@@ -370,8 +370,9 @@
       sasl->authused = SASL_MECH_PLAIN;
 
       if(force_ir || data->set.sasl_ir)
-        result = Curl_auth_create_plain_message(data, NULL, conn->user,
-                                                conn->passwd, &resp, &len);
+        result = Curl_auth_create_plain_message(data, conn->sasl_authzid,
+                                                conn->user, conn->passwd,
+                                                &resp, &len);
     }
     else if(enabledmechs & SASL_MECH_LOGIN) {
       mech = SASL_MECH_STRING_LOGIN;
@@ -453,8 +454,9 @@
     *progress = SASL_DONE;
     return result;
   case SASL_PLAIN:
-    result = Curl_auth_create_plain_message(data, NULL, conn->user,
-                                            conn->passwd, &resp, &len);
+    result = Curl_auth_create_plain_message(data, conn->sasl_authzid,
+                                            conn->user, conn->passwd,
+                                            &resp, &len);
     break;
   case SASL_LOGIN:
     result = Curl_auth_create_login_message(data, conn->user, &resp, &len);
diff --git a/lib/curl_setup.h b/lib/curl_setup.h
index 27414a5..13af8cd 100644
--- a/lib/curl_setup.h
+++ b/lib/curl_setup.h
@@ -96,6 +96,10 @@
 #  include "config-vxworks.h"
 #endif
 
+#ifdef __PLAN9__
+#  include "config-plan9.h"
+#endif
+
 #endif /* HAVE_CONFIG_H */
 
 /* ================================================================ */
@@ -482,7 +486,6 @@
 #ifdef WIN32
 
 #  define DIR_CHAR      "\\"
-#  define DOT_CHAR      "_"
 
 #else /* WIN32 */
 
@@ -508,14 +511,6 @@
 #  endif
 
 #  define DIR_CHAR      "/"
-#  ifndef DOT_CHAR
-#    define DOT_CHAR      "."
-#  endif
-
-#  ifdef MSDOS
-#    undef DOT_CHAR
-#    define DOT_CHAR      "_"
-#  endif
 
 #  ifndef fileno /* sunos 4 have this as a macro! */
      int fileno(FILE *stream);
@@ -827,4 +822,8 @@
 #define UNITTEST static
 #endif
 
+#if defined(USE_NGTCP2) || defined(USE_QUICHE)
+#define ENABLE_QUIC
+#endif
+
 #endif /* HEADER_CURL_SETUP_H */
diff --git a/lib/doh.h b/lib/doh.h
index 34bfa6f..f522d33 100644
--- a/lib/doh.h
+++ b/lib/doh.h
@@ -40,8 +40,7 @@
 CURLcode Curl_doh_is_resolved(struct connectdata *conn,
                               struct Curl_dns_entry **dns);
 
-int Curl_doh_getsock(struct connectdata *conn, curl_socket_t *socks,
-                     int numsocks);
+int Curl_doh_getsock(struct connectdata *conn, curl_socket_t *socks);
 
 typedef enum {
   DOH_OK,
diff --git a/lib/easy.c b/lib/easy.c
index a4fff5b..0b0016b 100644
--- a/lib/easy.c
+++ b/lib/easy.c
@@ -187,16 +187,8 @@
 
   (void)Curl_ipv6works();
 
-#if defined(USE_LIBSSH2) && defined(HAVE_LIBSSH2_INIT)
-  if(libssh2_init(0)) {
-    DEBUGF(fprintf(stderr, "Error: libssh2_init failed\n"));
-    return CURLE_FAILED_INIT;
-  }
-#endif
-
-#if defined(USE_LIBSSH)
-  if(ssh_init()) {
-    DEBUGF(fprintf(stderr, "Error: libssh_init failed\n"));
+#if defined(USE_SSH)
+  if(Curl_ssh_init()) {
     return CURLE_FAILED_INIT;
   }
 #endif
@@ -274,13 +266,7 @@
 
   Curl_amiga_cleanup();
 
-#if defined(USE_LIBSSH2) && defined(HAVE_LIBSSH2_EXIT)
-  (void)libssh2_exit();
-#endif
-
-#if defined(USE_LIBSSH)
-  (void)ssh_finalize();
-#endif
+  Curl_ssh_cleanup();
 
   init_flags  = 0;
 }
@@ -602,27 +588,11 @@
 
   while(!done && !mcode) {
     int still_running = 0;
-    bool gotsocket = FALSE;
 
-    mcode = Curl_multi_wait(multi, NULL, 0, 1000, NULL, &gotsocket);
+    mcode = curl_multi_poll(multi, NULL, 0, 1000, NULL);
 
-    if(!mcode) {
-      if(!gotsocket) {
-        long sleep_ms;
-
-        /* If it returns without any filedescriptor instantly, we need to
-           avoid busy-looping during periods where it has nothing particular
-           to wait for */
-        curl_multi_timeout(multi, &sleep_ms);
-        if(sleep_ms) {
-          if(sleep_ms > 1000)
-            sleep_ms = 1000;
-          Curl_wait_ms((int)sleep_ms);
-        }
-      }
-
+    if(!mcode)
       mcode = curl_multi_perform(multi, &still_running);
-    }
 
     /* only read 'still_running' if curl_multi_perform() return OK */
     if(!mcode && !still_running) {
@@ -942,6 +912,8 @@
  */
 void curl_easy_reset(struct Curl_easy *data)
 {
+  long old_buffer_size = data->set.buffer_size;
+
   Curl_free_request_state(data);
 
   /* zero out UserDefined data: */
@@ -965,6 +937,18 @@
 #if !defined(CURL_DISABLE_HTTP) && !defined(CURL_DISABLE_CRYPTO_AUTH)
   Curl_http_auth_cleanup_digest(data);
 #endif
+
+  /* resize receive buffer */
+  if(old_buffer_size != data->set.buffer_size) {
+    char *newbuff = realloc(data->state.buffer, data->set.buffer_size + 1);
+    if(!newbuff) {
+      DEBUGF(fprintf(stderr, "Error: realloc of buffer failed\n"));
+      /* nothing we can do here except use the old size */
+      data->set.buffer_size = old_buffer_size;
+    }
+    else
+      data->state.buffer = newbuff;
+  }
 }
 
 /*
@@ -1141,6 +1125,35 @@
 }
 
 /*
+ * Wrapper to call functions in Curl_conncache_foreach()
+ *
+ * Returns always 0.
+ */
+static int conn_upkeep(struct connectdata *conn,
+                       void *param)
+{
+  /* Param is unused. */
+  (void)param;
+
+  if(conn->handler->connection_check) {
+    /* Do a protocol-specific keepalive check on the connection. */
+    conn->handler->connection_check(conn, CONNCHECK_KEEPALIVE);
+  }
+
+  return 0; /* continue iteration */
+}
+
+static CURLcode upkeep(struct conncache *conn_cache, void *data)
+{
+  /* Loop over every connection and make connection alive. */
+  Curl_conncache_foreach(data,
+                         conn_cache,
+                         data,
+                         conn_upkeep);
+  return CURLE_OK;
+}
+
+/*
  * Performs connection upkeep for the given session handle.
  */
 CURLcode curl_easy_upkeep(struct Curl_easy *data)
@@ -1151,7 +1164,7 @@
 
   if(data->multi_easy) {
     /* Use the common function to keep connections alive. */
-    return Curl_upkeep(&data->multi_easy->conn_cache, data);
+    return upkeep(&data->multi_easy->conn_cache, data);
   }
   else {
     /* No connections, so just return success */
diff --git a/lib/ftp.c b/lib/ftp.c
index 76ebbc4..e807a2a 100644
--- a/lib/ftp.c
+++ b/lib/ftp.c
@@ -132,10 +132,8 @@
 static CURLcode ftp_disconnect(struct connectdata *conn, bool dead_connection);
 static CURLcode ftp_do_more(struct connectdata *conn, int *completed);
 static CURLcode ftp_multi_statemach(struct connectdata *conn, bool *done);
-static int ftp_getsock(struct connectdata *conn, curl_socket_t *socks,
-                       int numsocks);
-static int ftp_domore_getsock(struct connectdata *conn, curl_socket_t *socks,
-                              int numsocks);
+static int ftp_getsock(struct connectdata *conn, curl_socket_t *socks);
+static int ftp_domore_getsock(struct connectdata *conn, curl_socket_t *socks);
 static CURLcode ftp_doing(struct connectdata *conn,
                           bool *dophase_done);
 static CURLcode ftp_setup_connection(struct connectdata * conn);
@@ -382,7 +380,7 @@
   struct ftp_conn *ftpc = &conn->proto.ftpc;
   struct pingpong *pp = &ftpc->pp;
   int result;
-  time_t timeout_ms;
+  timediff_t timeout_ms;
   ssize_t nread;
   int ftpcode;
 
@@ -493,7 +491,7 @@
 static CURLcode AllowServerConnect(struct connectdata *conn, bool *connected)
 {
   struct Curl_easy *data = conn->data;
-  time_t timeout_ms;
+  timediff_t timeout_ms;
   CURLcode result = CURLE_OK;
 
   *connected = FALSE;
@@ -810,21 +808,16 @@
 
 /* For the FTP "protocol connect" and "doing" phases only */
 static int ftp_getsock(struct connectdata *conn,
-                       curl_socket_t *socks,
-                       int numsocks)
+                       curl_socket_t *socks)
 {
-  return Curl_pp_getsock(&conn->proto.ftpc.pp, socks, numsocks);
+  return Curl_pp_getsock(&conn->proto.ftpc.pp, socks);
 }
 
 /* For the FTP "DO_MORE" phase only */
-static int ftp_domore_getsock(struct connectdata *conn, curl_socket_t *socks,
-                              int numsocks)
+static int ftp_domore_getsock(struct connectdata *conn, curl_socket_t *socks)
 {
   struct ftp_conn *ftpc = &conn->proto.ftpc;
 
-  if(!numsocks)
-    return GETSOCK_BLANK;
-
   /* When in DO_MORE state, we could be either waiting for us to connect to a
    * remote site, or we could wait for that site to connect to us. Or just
    * handle ordinary commands.
@@ -856,7 +849,7 @@
 
     return bits;
   }
-  return Curl_pp_getsock(&conn->proto.ftpc.pp, socks, numsocks);
+  return Curl_pp_getsock(&conn->proto.ftpc.pp, socks);
 }
 
 /* This is called after the FTP_QUOTE state is passed.
diff --git a/lib/getenv.c b/lib/getenv.c
index 89d181d..e444a6a 100644
--- a/lib/getenv.c
+++ b/lib/getenv.c
@@ -5,7 +5,7 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2012, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
@@ -35,7 +35,7 @@
   return NULL;
 #else
 #ifdef WIN32
-  char env[MAX_PATH]; /* MAX_PATH is from windef.h */
+  char env[4096];
   char *temp = getenv(variable);
   env[0] = '\0';
   if(temp != NULL)
diff --git a/lib/getinfo.c b/lib/getinfo.c
index e118da8..2b8f230 100644
--- a/lib/getinfo.c
+++ b/lib/getinfo.c
@@ -235,6 +235,9 @@
     case 20:
       *param_longp = CURL_HTTP_VERSION_2_0;
       break;
+    case 30:
+      *param_longp = CURL_HTTP_VERSION_3;
+      break;
     default:
       *param_longp = CURL_HTTP_VERSION_NONE;
       break;
@@ -243,7 +246,6 @@
   case CURLINFO_PROTOCOL:
     *param_longp = data->info.conn_protocol;
     break;
-
   default:
     return CURLE_UNKNOWN_OPTION;
   }
@@ -301,7 +303,9 @@
   case CURLINFO_REDIRECT_TIME_T:
     *param_offt = data->progress.t_redirect;
     break;
-
+  case CURLINFO_RETRY_AFTER:
+    *param_offt = data->info.retry_after;
+    break;
   default:
     return CURLE_UNKNOWN_OPTION;
   }
diff --git a/lib/hostip.c b/lib/hostip.c
index cf33ed8..bd532a8 100644
--- a/lib/hostip.c
+++ b/lib/hostip.c
@@ -624,7 +624,7 @@
                         const char *hostname,
                         int port,
                         struct Curl_dns_entry **entry,
-                        time_t timeoutms)
+                        timediff_t timeoutms)
 {
 #ifdef USE_ALARM_TIMEOUT
 #ifdef HAVE_SIGACTION
@@ -1027,19 +1027,17 @@
 }
 
 int Curl_resolv_getsock(struct connectdata *conn,
-                        curl_socket_t *socks,
-                        int numsocks)
+                        curl_socket_t *socks)
 {
 #ifdef CURLRES_ASYNCH
   if(conn->data->set.doh)
     /* nothing to wait for during DOH resolve, those handles have their own
        sockets */
     return GETSOCK_BLANK;
-  return Curl_resolver_getsock(conn, socks, numsocks);
+  return Curl_resolver_getsock(conn, socks);
 #else
   (void)conn;
   (void)socks;
-  (void)numsocks;
   return GETSOCK_BLANK;
 #endif
 }
diff --git a/lib/hostip.h b/lib/hostip.h
index 1bda524..e0597ea 100644
--- a/lib/hostip.h
+++ b/lib/hostip.h
@@ -25,6 +25,7 @@
 #include "curl_setup.h"
 #include "hash.h"
 #include "curl_addrinfo.h"
+#include "timeval.h" /* for timediff_t */
 #include "asyn.h"
 
 #ifdef HAVE_SETJMP_H
@@ -89,7 +90,7 @@
                 struct Curl_dns_entry **dnsentry);
 int Curl_resolv_timeout(struct connectdata *conn, const char *hostname,
                         int port, struct Curl_dns_entry **dnsentry,
-                        time_t timeoutms);
+                        timediff_t timeoutms);
 
 #ifdef CURLRES_IPV6
 /*
@@ -240,7 +241,6 @@
 CURLcode Curl_resolv_check(struct connectdata *conn,
                            struct Curl_dns_entry **dns);
 int Curl_resolv_getsock(struct connectdata *conn,
-                        curl_socket_t *socks,
-                        int numsocks);
+                        curl_socket_t *socks);
 
 #endif /* HEADER_CURL_HOSTIP_H */
diff --git a/lib/hostip6.c b/lib/hostip6.c
index 5511f1a..e0e0c58 100644
--- a/lib/hostip6.c
+++ b/lib/hostip6.c
@@ -165,7 +165,8 @@
 
   memset(&hints, 0, sizeof(hints));
   hints.ai_family = pf;
-  hints.ai_socktype = conn->socktype;
+  hints.ai_socktype = (conn->transport == TRNSPRT_TCP) ?
+    SOCK_STREAM : SOCK_DGRAM;
 
 #ifndef USE_RESOLVE_ON_IPS
   /*
diff --git a/lib/http.c b/lib/http.c
index 9fbd720..28d1fa6 100644
--- a/lib/http.c
+++ b/lib/http.c
@@ -88,8 +88,7 @@
  */
 
 static int http_getsock_do(struct connectdata *conn,
-                           curl_socket_t *socks,
-                           int numsocks);
+                           curl_socket_t *socks);
 static int http_should_fail(struct connectdata *conn);
 
 #ifndef CURL_DISABLE_PROXY
@@ -99,8 +98,7 @@
 #ifdef USE_SSL
 static CURLcode https_connecting(struct connectdata *conn, bool *done);
 static int https_getsock(struct connectdata *conn,
-                         curl_socket_t *socks,
-                         int numsocks);
+                         curl_socket_t *socks);
 #else
 #define https_connecting(x,y) CURLE_COULDNT_CONNECT
 #endif
@@ -171,10 +169,22 @@
   Curl_mime_initpart(&http->form, conn->data);
   data->req.protop = http;
 
-  if(!CONN_INUSE(conn))
-    /* if not already multi-using, setup connection details */
-    Curl_http2_setup_conn(conn);
-  Curl_http2_setup_req(data);
+  if(data->set.httpversion == CURL_HTTP_VERSION_3) {
+    if(conn->handler->flags & PROTOPT_SSL)
+      /* Only go HTTP/3 directly on HTTPS URLs. It needs a UDP socket and does
+         the QUIC dance. */
+      conn->transport = TRNSPRT_QUIC;
+    else {
+      failf(data, "HTTP/3 requested for non-HTTPS URL");
+      return CURLE_URL_MALFORMAT;
+    }
+  }
+  else {
+    if(!CONN_INUSE(conn))
+      /* if not already multi-using, setup connection details */
+      Curl_http2_setup_conn(conn);
+    Curl_http2_setup_req(data);
+  }
   return CURLE_OK;
 }
 
@@ -1136,10 +1146,14 @@
  */
 void Curl_add_buffer_free(Curl_send_buffer **inp)
 {
-  Curl_send_buffer *in = *inp;
-  if(in) /* deal with NULL input */
+  Curl_send_buffer *in;
+  if(!inp)
+    return;
+  in = *inp;
+  if(in) { /* deal with NULL input */
     free(in->buffer);
-  free(in);
+    free(in);
+  }
   *inp = NULL;
 }
 
@@ -1497,11 +1511,9 @@
    interface and then we're always _sending_ a request and thus we wait for
    the single socket to become writable only */
 static int http_getsock_do(struct connectdata *conn,
-                           curl_socket_t *socks,
-                           int numsocks)
+                           curl_socket_t *socks)
 {
   /* write mode */
-  (void)numsocks; /* unused, we trust it to be at least 1 */
   socks[0] = conn->sock[FIRSTSOCKET];
   return GETSOCK_WRITESOCK(0);
 }
@@ -1555,6 +1567,13 @@
   CURLcode result;
   DEBUGASSERT((conn) && (conn->handler->flags & PROTOPT_SSL));
 
+#ifdef ENABLE_QUIC
+  if(conn->transport == TRNSPRT_QUIC) {
+    *done = TRUE;
+    return CURLE_OK;
+  }
+#endif
+
   /* perform SSL initialization for this socket */
   result = Curl_ssl_connect_nonblocking(conn, FIRSTSOCKET, done);
   if(result)
@@ -1564,11 +1583,10 @@
 }
 
 static int https_getsock(struct connectdata *conn,
-                         curl_socket_t *socks,
-                         int numsocks)
+                         curl_socket_t *socks)
 {
   if(conn->handler->flags & PROTOPT_SSL)
-    return Curl_ssl_getsock(conn, socks, numsocks);
+    return Curl_ssl_getsock(conn, socks);
   return GETSOCK_BLANK;
 }
 #endif /* USE_SSL */
@@ -1650,6 +1668,12 @@
 static const char *get_http_string(const struct Curl_easy *data,
                                    const struct connectdata *conn)
 {
+#ifdef ENABLE_QUIC
+  if((data->set.httpversion == CURL_HTTP_VERSION_3) ||
+     (conn->httpversion == 30))
+    return "3";
+#endif
+
 #ifdef USE_NGHTTP2
   if(conn->proto.httpc.h2)
     return "2";
@@ -1670,7 +1694,7 @@
   data->state.expect100header = FALSE; /* default to false unless it is set
                                           to TRUE below */
   if(use_http_1_1plus(data, conn) &&
-     (conn->httpversion != 20)) {
+     (conn->httpversion < 20)) {
     /* if not doing HTTP 1.0 or version 2, or disabled explicitly, we add an
        Expect: 100-continue to the headers which actually speeds up post
        operations (as there is one packet coming back from the web server) */
@@ -1700,7 +1724,7 @@
    will return an error code if one of the headers is
    not formatted correctly */
 CURLcode Curl_http_compile_trailers(struct curl_slist *trailers,
-                                    Curl_send_buffer *buffer,
+                                    Curl_send_buffer **buffer,
                                     struct Curl_easy *handle)
 {
   char *ptr = NULL;
@@ -1726,7 +1750,7 @@
     /* only add correctly formatted trailers */
     ptr = strchr(trailers->data, ':');
     if(ptr && *(ptr + 1) == ' ') {
-      result = Curl_add_bufferf(&buffer, "%s%s", trailers->data,
+      result = Curl_add_bufferf(buffer, "%s%s", trailers->data,
                                 endofline_native);
       if(result)
         return result;
@@ -1735,7 +1759,7 @@
       infof(handle, "Malformatted trailing header ! Skipping trailer.");
     trailers = trailers->next;
   }
-  result = Curl_add_buffer(&buffer, endofline_network,
+  result = Curl_add_buffer(buffer, endofline_network,
                            strlen(endofline_network));
   return result;
 }
@@ -1851,7 +1875,7 @@
                      Connection: */
                   checkprefix("Connection:", compare))
             ;
-          else if((conn->httpversion == 20) &&
+          else if((conn->httpversion >= 20) &&
                   checkprefix("Transfer-Encoding:", compare))
             /* HTTP/2 doesn't support chunked requests */
             ;
@@ -1982,55 +2006,57 @@
   const char *httpstring;
   Curl_send_buffer *req_buffer;
   curl_off_t postsize = 0; /* curl_off_t to handle large file sizes */
+  char *altused = NULL;
 
   /* Always consider the DO phase done after this function call, even if there
      may be parts of the request that is not yet sent, since we can deal with
      the rest of the request in the PERFORM phase. */
   *done = TRUE;
 
-  if(conn->httpversion < 20) { /* unless the connection is re-used and already
-                                  http2 */
-    switch(conn->negnpn) {
-    case CURL_HTTP_VERSION_2:
-      conn->httpversion = 20; /* we know we're on HTTP/2 now */
-
-      result = Curl_http2_switched(conn, NULL, 0);
-      if(result)
-        return result;
-      break;
-    case CURL_HTTP_VERSION_1_1:
-      /* continue with HTTP/1.1 when explicitly requested */
-      break;
-    default:
-      /* Check if user wants to use HTTP/2 with clear TCP*/
-#ifdef USE_NGHTTP2
-      if(conn->data->set.httpversion ==
-         CURL_HTTP_VERSION_2_PRIOR_KNOWLEDGE) {
-        if(conn->bits.httpproxy && !conn->bits.tunnel_proxy) {
-          /* We don't support HTTP/2 proxies yet. Also it's debatable whether
-             or not this setting should apply to HTTP/2 proxies. */
-          infof(data, "Ignoring HTTP/2 prior knowledge due to proxy\n");
-          break;
-        }
-
-        DEBUGF(infof(data, "HTTP/2 over clean TCP\n"));
-        conn->httpversion = 20;
+  if(conn->transport != TRNSPRT_QUIC) {
+    if(conn->httpversion < 20) { /* unless the connection is re-used and
+                                    already http2 */
+      switch(conn->negnpn) {
+      case CURL_HTTP_VERSION_2:
+        conn->httpversion = 20; /* we know we're on HTTP/2 now */
 
         result = Curl_http2_switched(conn, NULL, 0);
         if(result)
           return result;
-      }
+        break;
+      case CURL_HTTP_VERSION_1_1:
+        /* continue with HTTP/1.1 when explicitly requested */
+        break;
+      default:
+        /* Check if user wants to use HTTP/2 with clear TCP*/
+#ifdef USE_NGHTTP2
+        if(conn->data->set.httpversion ==
+           CURL_HTTP_VERSION_2_PRIOR_KNOWLEDGE) {
+          if(conn->bits.httpproxy && !conn->bits.tunnel_proxy) {
+            /* We don't support HTTP/2 proxies yet. Also it's debatable
+               whether or not this setting should apply to HTTP/2 proxies. */
+            infof(data, "Ignoring HTTP/2 prior knowledge due to proxy\n");
+            break;
+          }
+
+          DEBUGF(infof(data, "HTTP/2 over clean TCP\n"));
+          conn->httpversion = 20;
+
+          result = Curl_http2_switched(conn, NULL, 0);
+          if(result)
+            return result;
+        }
 #endif
-      break;
+        break;
+      }
+    }
+    else {
+      /* prepare for a http2 request */
+      result = Curl_http2_setup(conn);
+      if(result)
+        return result;
     }
   }
-  else {
-    /* prepare for a http2 request */
-    result = Curl_http2_setup(conn);
-    if(result)
-      return result;
-  }
-
   http = data->req.protop;
   DEBUGASSERT(http);
 
@@ -2226,14 +2252,16 @@
   else {
     if((conn->handler->protocol & PROTO_FAMILY_HTTP) &&
        (((httpreq == HTTPREQ_POST_MIME || httpreq == HTTPREQ_POST_FORM) &&
-       http->postsize < 0) ||
-       (data->set.upload && data->state.infilesize == -1))) {
+         http->postsize < 0) ||
+        ((data->set.upload || httpreq == HTTPREQ_POST) &&
+         data->state.infilesize == -1))) {
       if(conn->bits.authneg)
         /* don't enable chunked during auth neg */
         ;
       else if(use_http_1_1plus(data, conn)) {
-        /* HTTP, upload, unknown file size and not HTTP 1.0 */
-        data->req.upload_chunky = TRUE;
+        if(conn->httpversion < 20)
+          /* HTTP, upload, unknown file size and not HTTP 1.0 */
+          data->req.upload_chunky = TRUE;
       }
       else {
         failf(data, "Chunky upload is not supported by HTTP 1.0");
@@ -2334,7 +2362,6 @@
 
     /* and no fragment part */
     CURLUcode uc;
-    char *url;
     CURLU *h = curl_url_dup(data->state.uh);
     if(!h)
       return CURLE_OUT_OF_MEMORY;
@@ -2365,19 +2392,15 @@
         return CURLE_OUT_OF_MEMORY;
       }
     }
-    /* now extract the new version of the URL */
-    uc = curl_url_get(h, CURLUPART_URL, &url, 0);
+    /* Extract the the URL to use in the request. Store in STRING_TEMP_URL for
+       clean-up reasons if the function returns before the free() further
+       down. */
+    uc = curl_url_get(h, CURLUPART_URL, &data->set.str[STRING_TEMP_URL], 0);
     if(uc) {
       curl_url_cleanup(h);
       return CURLE_OUT_OF_MEMORY;
     }
 
-    if(data->change.url_alloc)
-      free(data->change.url);
-
-    data->change.url = url;
-    data->change.url_alloc = TRUE;
-
     curl_url_cleanup(h);
 
     if(strcasecompare("ftp", data->state.up.scheme)) {
@@ -2556,12 +2579,16 @@
     query = NULL;
   }
 
+#ifndef CURL_DISABLE_PROXY
   /* url */
   if(conn->bits.httpproxy && !conn->bits.tunnel_proxy) {
-    char *url = data->change.url;
+    char *url = data->set.str[STRING_TEMP_URL];
     result = Curl_add_buffer(&req_buffer, url, strlen(url));
+    Curl_safefree(data->set.str[STRING_TEMP_URL]);
   }
-  else if(paste_ftp_userpwd)
+  else
+#endif
+  if(paste_ftp_userpwd)
     result = Curl_add_bufferf(&req_buffer, "ftp://%s:%s@%s",
                               conn->user, conn->passwd,
                               path + sizeof("ftp://") - 1);
@@ -2575,6 +2602,14 @@
   if(result)
     return result;
 
+#ifdef USE_ALTSVC
+  if(conn->bits.altused && !Curl_checkheaders(conn, "Alt-Used")) {
+    altused = aprintf("Alt-Used: %s:%d\r\n",
+                      conn->conn_to_host.name, conn->conn_to_port);
+    if(!altused)
+      return CURLE_OUT_OF_MEMORY;
+  }
+#endif
   result =
     Curl_add_bufferf(&req_buffer,
                      "%s" /* ftp typecode (;type=x) */
@@ -2589,7 +2624,8 @@
                      "%s" /* accept-encoding */
                      "%s" /* referer */
                      "%s" /* Proxy-Connection */
-                     "%s",/* transfer-encoding */
+                     "%s" /* transfer-encoding */
+                     "%s",/* Alt-Used */
 
                      ftp_typecode,
                      httpstring,
@@ -2615,13 +2651,15 @@
                       !conn->bits.tunnel_proxy &&
                       !Curl_checkProxyheaders(conn, "Proxy-Connection"))?
                      "Proxy-Connection: Keep-Alive\r\n":"",
-                     te
+                     te,
+                     altused ? altused : ""
       );
 
   /* clear userpwd and proxyuserpwd to avoid re-using old credentials
    * from re-used connections */
   Curl_safefree(conn->allocptr.userpwd);
   Curl_safefree(conn->allocptr.proxyuserpwd);
+  free(altused);
 
   if(result)
     return result;
@@ -3660,6 +3698,7 @@
          * guarantees on future behaviors since it isn't within the protocol.
          */
         char separator;
+        char twoorthree[2];
         nc = sscanf(HEADER1,
                     " HTTP/%1d.%1d%c%3d",
                     &httpversion_major,
@@ -3667,8 +3706,8 @@
                     &separator,
                     &k->httpcode);
 
-        if(nc == 1 && httpversion_major == 2 &&
-           1 == sscanf(HEADER1, " HTTP/2 %d", &k->httpcode)) {
+        if(nc == 1 && httpversion_major >= 2 &&
+           2 == sscanf(HEADER1, " HTTP/%1[23] %d", twoorthree, &k->httpcode)) {
           conn->httpversion = 0;
           nc = 4;
           separator = ' ';
@@ -3706,7 +3745,7 @@
           }
         }
         else {
-          failf(data, "Unsupported HTTP version in response\n");
+          failf(data, "Unsupported HTTP version in response");
           return CURLE_UNSUPPORTED_PROTOCOL;
         }
       }
@@ -3935,6 +3974,19 @@
       if(result)
         return result;
     }
+    else if(checkprefix("Retry-After:", k->p)) {
+      /* Retry-After = HTTP-date / delay-seconds */
+      curl_off_t retry_after = 0; /* zero for unknown or "now" */
+      time_t date = curl_getdate(&k->p[12], NULL);
+      if(-1 == date) {
+        /* not a date, try it as a decimal number */
+        (void)curlx_strtoofft(&k->p[12], NULL, 10, &retry_after);
+      }
+      else
+        /* convert date to number of seconds into the future */
+        retry_after = date - time(NULL);
+      data->info.retry_after = retry_after; /* store it */
+    }
     else if(!k->http_bodyless && checkprefix("Content-Range:", k->p)) {
       /* Content-Range: bytes [num]-
          Content-Range: bytes: [num]-
diff --git a/lib/http.h b/lib/http.h
index 72161f6..f0ddec7 100644
--- a/lib/http.h
+++ b/lib/http.h
@@ -75,7 +75,7 @@
                                  bool is_connect,
                                  Curl_send_buffer *req_buffer);
 CURLcode Curl_http_compile_trailers(struct curl_slist *trailers,
-                                    Curl_send_buffer *buffer,
+                                    Curl_send_buffer **buffer,
                                     struct Curl_easy *handle);
 
 /* protocol-specific functions set up to be called by the main engine */
@@ -126,6 +126,10 @@
 
 #endif /* CURL_DISABLE_HTTP */
 
+#ifdef USE_NGHTTP3
+struct h3out; /* see ngtcp2 */
+#endif
+
 /****************************************************************************
  * HTTP unique setup
  ***************************************************************************/
@@ -172,20 +176,35 @@
   int status_code; /* HTTP status code */
   const uint8_t *pausedata; /* pointer to data received in on_data_chunk */
   size_t pauselen; /* the number of bytes left in data */
-  bool closed; /* TRUE on HTTP2 stream close */
   bool close_handled; /* TRUE if stream closure is handled by libcurl */
-  char *mem;     /* points to a buffer in memory to store received data */
-  size_t len;    /* size of the buffer 'mem' points to */
-  size_t memlen; /* size of data copied to mem */
-
-  const uint8_t *upload_mem; /* points to a buffer to read from */
-  size_t upload_len; /* size of the buffer 'upload_mem' points to */
-  curl_off_t upload_left; /* number of bytes left to upload */
 
   char **push_headers;       /* allocated array */
   size_t push_headers_used;  /* number of entries filled in */
   size_t push_headers_alloc; /* number of entries allocated */
 #endif
+#if defined(USE_NGHTTP2) || defined(USE_NGHTTP3)
+  bool closed; /* TRUE on HTTP2 stream close */
+  char *mem;     /* points to a buffer in memory to store received data */
+  size_t len;    /* size of the buffer 'mem' points to */
+  size_t memlen; /* size of data copied to mem */
+#endif
+#if defined(USE_NGHTTP2) || defined(ENABLE_QUIC)
+  /* fields used by both HTTP/2 and HTTP/3 */
+  const uint8_t *upload_mem; /* points to a buffer to read from */
+  size_t upload_len; /* size of the buffer 'upload_mem' points to */
+  curl_off_t upload_left; /* number of bytes left to upload */
+#endif
+
+#ifdef ENABLE_QUIC
+  /*********** for HTTP/3 we store stream-local data here *************/
+  int64_t stream3_id; /* stream we are interested in */
+  bool firstbody;  /* FALSE until body arrives */
+  bool h3req;    /* FALSE until request is issued */
+  bool upload_done;
+#endif
+#ifdef USE_NGHTTP3
+  struct h3out *h3out; /* per-stream buffers for upload */
+#endif
 };
 
 #ifdef USE_NGHTTP2
diff --git a/lib/http2.c b/lib/http2.c
index eb55e62..31d2d69 100644
--- a/lib/http2.c
+++ b/lib/http2.c
@@ -100,16 +100,11 @@
 }
 
 static int http2_perform_getsock(const struct connectdata *conn,
-                                 curl_socket_t *sock, /* points to
-                                                         numsocks
-                                                         number of
-                                                         sockets */
-                                 int numsocks)
+                                 curl_socket_t *sock)
 {
   const struct http_conn *c = &conn->proto.httpc;
   struct SingleRequest *k = &conn->data->req;
   int bitmap = GETSOCK_BLANK;
-  (void)numsocks;
 
   sock[0] = conn->sock[FIRSTSOCKET];
 
@@ -126,11 +121,9 @@
 }
 
 static int http2_getsock(struct connectdata *conn,
-                         curl_socket_t *sock, /* points to numsocks
-                                                 number of sockets */
-                         int numsocks)
+                         curl_socket_t *socks)
 {
-  return http2_perform_getsock(conn, sock, numsocks);
+  return http2_perform_getsock(conn, socks);
 }
 
 /*
@@ -240,7 +233,7 @@
 
   if(checks_to_perform & CONNCHECK_KEEPALIVE) {
     struct curltime now = Curl_now();
-    time_t elapsed = Curl_timediff(now, check->keepalive);
+    timediff_t elapsed = Curl_timediff(now, check->keepalive);
 
     if(elapsed > check->upkeep_interval_ms) {
       /* Perform an HTTP/2 PING */
@@ -1566,6 +1559,11 @@
   if(should_close_session(httpc)) {
     H2BUGF(infof(data,
                  "http2_recv: nothing to do in this session\n"));
+    if(conn->bits.close) {
+      /* already marked for closure, return OK and we're done */
+      *err = CURLE_OK;
+      return 0;
+    }
     *err = CURLE_HTTP2;
     return -1;
   }
@@ -1755,6 +1753,9 @@
     else if(!stream->closed) {
       drained_transfer(data, httpc);
     }
+    else
+      /* this stream is closed, trigger a another read ASAP to detect that */
+      Curl_expire(data, 0, EXPIRE_RUN_NOW);
 
     return retlen;
   }
diff --git a/lib/http_negotiate.c b/lib/http_negotiate.c
index c8f4064..8e1f3bf 100644
--- a/lib/http_negotiate.c
+++ b/lib/http_negotiate.c
@@ -148,10 +148,10 @@
     }
     if(!neg_ctx->context) {
       result = Curl_input_negotiate(conn, proxy, "Negotiate");
-      if(result == CURLE_LOGIN_DENIED) {
+      if(result == CURLE_AUTH_ERROR) {
         /* negotiate auth failed, let's continue unauthenticated to stay
          * compatible with the behavior before curl-7_64_0-158-g6c6035532 */
-        conn->data->state.authproblem = TRUE;
+        authp->done = TRUE;
         return CURLE_OK;
       }
       else if(result)
diff --git a/lib/imap.c b/lib/imap.c
index f3ffa29..ff9b629 100644
--- a/lib/imap.c
+++ b/lib/imap.c
@@ -95,8 +95,7 @@
 static CURLcode imap_connect(struct connectdata *conn, bool *done);
 static CURLcode imap_disconnect(struct connectdata *conn, bool dead);
 static CURLcode imap_multi_statemach(struct connectdata *conn, bool *done);
-static int imap_getsock(struct connectdata *conn, curl_socket_t *socks,
-                        int numsocks);
+static int imap_getsock(struct connectdata *conn, curl_socket_t *socks);
 static CURLcode imap_doing(struct connectdata *conn, bool *dophase_done);
 static CURLcode imap_setup_connection(struct connectdata *conn);
 static char *imap_atom(const char *str, bool escape_only);
@@ -1392,10 +1391,9 @@
 }
 
 /* For the IMAP "protocol connect" and "doing" phases only */
-static int imap_getsock(struct connectdata *conn, curl_socket_t *socks,
-                        int numsocks)
+static int imap_getsock(struct connectdata *conn, curl_socket_t *socks)
 {
-  return Curl_pp_getsock(&conn->proto.imapc.pp, socks, numsocks);
+  return Curl_pp_getsock(&conn->proto.imapc.pp, socks);
 }
 
 /***********************************************************************
diff --git a/lib/libcurl.plist b/lib/libcurl.plist
index c0adf43..9db8aa3 100644
--- a/lib/libcurl.plist
+++ b/lib/libcurl.plist
@@ -15,7 +15,7 @@
 	<string>se.haxx.curl.libcurl</string>
 
 	<key>CFBundleVersion</key>
-	<string>7.65.3</string>
+	<string>7.66.0</string>
 
 	<key>CFBundleName</key>
 	<string>libcurl</string>
@@ -27,9 +27,9 @@
 	<string>????</string>
 
 	<key>CFBundleShortVersionString</key>
-	<string>libcurl 7.65.3</string>
+	<string>libcurl 7.66.0</string>
 
 	<key>CFBundleGetInfoString</key>
-	<string>libcurl.plist 7.65.3</string>
+	<string>libcurl.plist 7.66.0</string>
 </dict>
 </plist>
diff --git a/lib/md4.c b/lib/md4.c
index 0b4ea9a..bbf8975 100644
--- a/lib/md4.c
+++ b/lib/md4.c
@@ -1,5 +1,223 @@
-/*
- * !checksrc! disable COPYRIGHT
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
+ *
+ * This software is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at https://curl.haxx.se/docs/copyright.html.
+ *
+ * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+ * copies of the Software, and permit persons to whom the Software is
+ * furnished to do so, under the terms of the COPYING file.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ ***************************************************************************/
+
+#include "curl_setup.h"
+
+#if !defined(CURL_DISABLE_CRYPTO_AUTH)
+
+#include "curl_md4.h"
+#include "warnless.h"
+
+#ifdef USE_OPENSSL
+#include <openssl/opensslconf.h>
+#endif
+#ifdef USE_MBEDTLS
+#include <mbedtls/config.h>
+#endif
+
+#if defined(USE_GNUTLS_NETTLE)
+
+#include <nettle/md4.h>
+
+#include "curl_memory.h"
+
+/* The last #include file should be: */
+#include "memdebug.h"
+
+typedef struct md4_ctx MD4_CTX;
+
+static void MD4_Init(MD4_CTX *ctx)
+{
+  md4_init(ctx);
+}
+
+static void MD4_Update(MD4_CTX *ctx, const void *data, unsigned long size)
+{
+  md4_update(ctx, size, data);
+}
+
+static void MD4_Final(unsigned char *result, MD4_CTX *ctx)
+{
+  md4_digest(ctx, MD4_DIGEST_SIZE, result);
+}
+
+#elif defined(USE_GNUTLS)
+
+#include <gcrypt.h>
+
+#include "curl_memory.h"
+/* The last #include file should be: */
+#include "memdebug.h"
+
+typedef struct gcry_md_hd_t MD4_CTX;
+
+static void MD4_Init(MD4_CTX *ctx)
+{
+  gcry_md_open(ctx, GCRY_MD_MD4, 0);
+}
+
+static void MD4_Update(MD4_CTX *ctx, const void *data, unsigned long size)
+{
+  gcry_md_write(*ctx, data, size);
+}
+
+static void MD4_Final(unsigned char *result, MD4_CTX *ctx)
+{
+  memcpy(result, gcry_md_read(ctx, 0), MD4_DIGEST_LENGTH);
+  gcry_md_close(ctx);
+}
+
+#elif defined(USE_OPENSSL) && !defined(OPENSSL_NO_MD4)
+/* When OpenSSL is available we use the MD4-functions from OpenSSL */
+#include <openssl/md4.h>
+
+#elif defined(USE_SECTRANSP)
+
+#include <CommonCrypto/CommonDigest.h>
+
+#include "curl_memory.h"
+/* The last #include file should be: */
+#include "memdebug.h"
+
+typedef struct {
+  void *data;
+  unsigned long size;
+} MD4_CTX;
+
+static void MD4_Init(MD4_CTX *ctx)
+{
+  ctx->data = NULL;
+  ctx->size = 0;
+}
+
+static void MD4_Update(MD4_CTX *ctx, const void *data, unsigned long size)
+{
+  if(ctx->data == NULL) {
+    ctx->data = malloc(size);
+    if(ctx->data != NULL) {
+      memcpy(ctx->data, data, size);
+      ctx->size = size;
+    }
+  }
+}
+
+static void MD4_Final(unsigned char *result, MD4_CTX *ctx)
+{
+  if(ctx->data != NULL) {
+    (void)CC_MD4(ctx->data, (CC_LONG) ctx->size, result);
+
+    Curl_safefree(ctx->data);
+    ctx->size = 0;
+  }
+}
+
+#elif defined(USE_WIN32_CRYPTO)
+
+#include <wincrypt.h>
+
+#include "curl_memory.h"
+ /* The last #include file should be: */
+#include "memdebug.h"
+
+typedef struct {
+  HCRYPTPROV hCryptProv;
+  HCRYPTHASH hHash;
+} MD4_CTX;
+
+static void MD4_Init(MD4_CTX *ctx)
+{
+  ctx->hCryptProv = 0;
+  ctx->hHash = 0;
+
+  if(CryptAcquireContext(&ctx->hCryptProv, NULL, NULL, PROV_RSA_FULL,
+                         CRYPT_VERIFYCONTEXT)) {
+    CryptCreateHash(ctx->hCryptProv, CALG_MD4, 0, 0, &ctx->hHash);
+  }
+}
+
+static void MD4_Update(MD4_CTX *ctx, const void *data, unsigned long size)
+{
+  CryptHashData(ctx->hHash, data, (unsigned int) size, 0);
+}
+
+static void MD4_Final(unsigned char *result, MD4_CTX *ctx)
+{
+  unsigned long length = 0;
+
+  CryptGetHashParam(ctx->hHash, HP_HASHVAL, NULL, &length, 0);
+  if(length == MD4_DIGEST_LENGTH)
+    CryptGetHashParam(ctx->hHash, HP_HASHVAL, result, &length, 0);
+
+  if(ctx->hHash)
+    CryptDestroyHash(ctx->hHash);
+
+  if(ctx->hCryptProv)
+    CryptReleaseContext(ctx->hCryptProv, 0);
+}
+
+#elif(defined(USE_MBEDTLS) && defined(MBEDTLS_MD4_C))
+
+#include <mbedtls/md4.h>
+
+#include "curl_memory.h"
+/* The last #include file should be: */
+#include "memdebug.h"
+
+typedef struct {
+  void *data;
+  unsigned long size;
+} MD4_CTX;
+
+static void MD4_Init(MD4_CTX *ctx)
+{
+  ctx->data = NULL;
+  ctx->size = 0;
+}
+
+static void MD4_Update(MD4_CTX *ctx, const void *data, unsigned long size)
+{
+  if(ctx->data == NULL) {
+    ctx->data = malloc(size);
+    if(ctx->data != NULL) {
+      memcpy(ctx->data, data, size);
+      ctx->size = size;
+    }
+  }
+}
+
+static void MD4_Final(unsigned char *result, MD4_CTX *ctx)
+{
+  if(ctx->data != NULL) {
+    mbedtls_md4(ctx->data, ctx->size, result);
+
+    Curl_safefree(ctx->data);
+    ctx->size = 0;
+  }
+}
+
+#else
+/* When no other crypto library is available, or the crypto library doesn't
+ * support MD4, we use this code segment this implementation of it
+ *
  * This is an OpenSSL-compatible implementation of the RSA Data Security, Inc.
  * MD4 Message-Digest Algorithm (RFC 1320).
  *
@@ -36,26 +254,6 @@
  * compile-time configuration.
  */
 
-#include "curl_setup.h"
-
-#ifdef USE_OPENSSL
-#include <openssl/opensslconf.h>
-#endif
-#ifdef USE_MBEDTLS
-#include <mbedtls/config.h>
-#endif
-
-/* The NSS, OS/400, and when not included, OpenSSL and mbed TLS crypto
- * libraries do not provide the MD4 hash algorithm, so we use this
- * implementation of it */
-#if defined(USE_NSS) || defined(USE_OS400CRYPTO) || \
-    (defined(USE_OPENSSL) && defined(OPENSSL_NO_MD4)) || \
-    (defined(USE_MBEDTLS) && !defined(MBEDTLS_MD4_C))
-
-#include "curl_md4.h"
-#include "warnless.h"
-
-#ifndef HAVE_OPENSSL
 
 #include <string.h>
 
@@ -305,7 +503,7 @@
   memset(ctx, 0, sizeof(*ctx));
 }
 
-#endif
+#endif /* CRYPTO LIBS */
 
 void Curl_md4it(unsigned char *output, const unsigned char *input, size_t len)
 {
@@ -315,6 +513,4 @@
   MD4_Final(output, &ctx);
 }
 
-#endif /* defined(USE_NSS) || defined(USE_OS400CRYPTO) ||
-    (defined(USE_OPENSSL) && defined(OPENSSL_NO_MD4)) ||
-    (defined(USE_MBEDTLS) && !defined(MBEDTLS_MD4_C)) */
+#endif /* CURL_DISABLE_CRYPTO_AUTH */
diff --git a/lib/multi.c b/lib/multi.c
old mode 100644
new mode 100755
index 2b6b1bc..2e91e4f
--- a/lib/multi.c
+++ b/lib/multi.c
@@ -818,25 +818,27 @@
 }
 
 static int waitconnect_getsock(struct connectdata *conn,
-                               curl_socket_t *sock,
-                               int numsocks)
+                               curl_socket_t *sock)
 {
   int i;
   int s = 0;
   int rc = 0;
 
-  if(!numsocks)
-    return GETSOCK_BLANK;
-
 #ifdef USE_SSL
   if(CONNECT_FIRSTSOCKET_PROXY_SSL())
-    return Curl_ssl_getsock(conn, sock, numsocks);
+    return Curl_ssl_getsock(conn, sock);
 #endif
 
   for(i = 0; i<2; i++) {
     if(conn->tempsock[i] != CURL_SOCKET_BAD) {
       sock[s] = conn->tempsock[i];
-      rc |= GETSOCK_WRITESOCK(s++);
+      rc |= GETSOCK_WRITESOCK(s);
+#ifdef ENABLE_QUIC
+      if(conn->transport == TRNSPRT_QUIC)
+        /* when connecting QUIC, we want to read the socket too */
+        rc |= GETSOCK_READSOCK(s);
+#endif
+      s++;
     }
   }
 
@@ -844,12 +846,8 @@
 }
 
 static int waitproxyconnect_getsock(struct connectdata *conn,
-                                    curl_socket_t *sock,
-                                    int numsocks)
+                                    curl_socket_t *sock)
 {
-  if(!numsocks)
-    return GETSOCK_BLANK;
-
   sock[0] = conn->sock[FIRSTSOCKET];
 
   /* when we've sent a CONNECT to a proxy, we should rather wait for the
@@ -861,19 +859,37 @@
 }
 
 static int domore_getsock(struct connectdata *conn,
-                          curl_socket_t *socks,
-                          int numsocks)
+                          curl_socket_t *socks)
 {
   if(conn && conn->handler->domore_getsock)
-    return conn->handler->domore_getsock(conn, socks, numsocks);
+    return conn->handler->domore_getsock(conn, socks);
   return GETSOCK_BLANK;
 }
 
-/* returns bitmapped flags for this handle and its sockets */
+static int doing_getsock(struct connectdata *conn,
+                         curl_socket_t *socks)
+{
+  if(conn && conn->handler->doing_getsock)
+    return conn->handler->doing_getsock(conn, socks);
+  return GETSOCK_BLANK;
+}
+
+static int protocol_getsock(struct connectdata *conn,
+                            curl_socket_t *socks)
+{
+  if(conn->handler->proto_getsock)
+    return conn->handler->proto_getsock(conn, socks);
+  /* Backup getsock logic. Since there is a live socket in use, we must wait
+     for it or it will be removed from watching when the multi_socket API is
+     used. */
+  socks[0] = conn->sock[FIRSTSOCKET];
+  return GETSOCK_READSOCK(0) | GETSOCK_WRITESOCK(0);
+}
+
+/* returns bitmapped flags for this handle and its sockets. The 'socks[]'
+   array contains MAX_SOCKSPEREASYHANDLE entries. */
 static int multi_getsock(struct Curl_easy *data,
-                         curl_socket_t *socks, /* points to numsocks number
-                                                  of sockets */
-                         int numsocks)
+                         curl_socket_t *socks)
 {
   /* The no connection case can happen when this is called from
      curl_multi_remove_handle() => singlesocket() => multi_getsock().
@@ -905,30 +921,30 @@
     return 0;
 
   case CURLM_STATE_WAITRESOLVE:
-    return Curl_resolv_getsock(data->conn, socks, numsocks);
+    return Curl_resolv_getsock(data->conn, socks);
 
   case CURLM_STATE_PROTOCONNECT:
   case CURLM_STATE_SENDPROTOCONNECT:
-    return Curl_protocol_getsock(data->conn, socks, numsocks);
+    return protocol_getsock(data->conn, socks);
 
   case CURLM_STATE_DO:
   case CURLM_STATE_DOING:
-    return Curl_doing_getsock(data->conn, socks, numsocks);
+    return doing_getsock(data->conn, socks);
 
   case CURLM_STATE_WAITPROXYCONNECT:
-    return waitproxyconnect_getsock(data->conn, socks, numsocks);
+    return waitproxyconnect_getsock(data->conn, socks);
 
   case CURLM_STATE_WAITCONNECT:
-    return waitconnect_getsock(data->conn, socks, numsocks);
+    return waitconnect_getsock(data->conn, socks);
 
   case CURLM_STATE_DO_MORE:
-    return domore_getsock(data->conn, socks, numsocks);
+    return domore_getsock(data->conn, socks);
 
   case CURLM_STATE_DO_DONE: /* since is set after DO is completed, we switch
                                to waiting for the same as the *PERFORM
                                states */
   case CURLM_STATE_PERFORM:
-    return Curl_single_getsock(data->conn, socks, numsocks);
+    return Curl_single_getsock(data->conn, socks);
   }
 
 }
@@ -954,7 +970,7 @@
 
   data = multi->easyp;
   while(data) {
-    int bitmap = multi_getsock(data, sockbunch, MAX_SOCKSPEREASYHANDLE);
+    int bitmap = multi_getsock(data, sockbunch);
 
     for(i = 0; i< MAX_SOCKSPEREASYHANDLE; i++) {
       curl_socket_t s = CURL_SOCKET_BAD;
@@ -984,12 +1000,12 @@
 
 #define NUM_POLLS_ON_STACK 10
 
-CURLMcode Curl_multi_wait(struct Curl_multi *multi,
-                          struct curl_waitfd extra_fds[],
-                          unsigned int extra_nfds,
-                          int timeout_ms,
-                          int *ret,
-                          bool *gotsocket) /* if any socket was checked */
+static CURLMcode Curl_multi_wait(struct Curl_multi *multi,
+                                 struct curl_waitfd extra_fds[],
+                                 unsigned int extra_nfds,
+                                 int timeout_ms,
+                                 int *ret,
+                                 bool extrawait) /* when no socket, wait */
 {
   struct Curl_easy *data;
   curl_socket_t sockbunch[MAX_SOCKSPEREASYHANDLE];
@@ -1003,9 +1019,6 @@
   struct pollfd a_few_on_stack[NUM_POLLS_ON_STACK];
   struct pollfd *ufds = &a_few_on_stack[0];
 
-  if(gotsocket)
-    *gotsocket = FALSE;
-
   if(!GOOD_MULTI_HANDLE(multi))
     return CURLM_BAD_HANDLE;
 
@@ -1015,7 +1028,7 @@
   /* Count up how many fds we have from the multi handle */
   data = multi->easyp;
   while(data) {
-    bitmap = multi_getsock(data, sockbunch, MAX_SOCKSPEREASYHANDLE);
+    bitmap = multi_getsock(data, sockbunch);
 
     for(i = 0; i< MAX_SOCKSPEREASYHANDLE; i++) {
       curl_socket_t s = CURL_SOCKET_BAD;
@@ -1065,7 +1078,7 @@
     /* Add the curl handles to our pollfds first */
     data = multi->easyp;
     while(data) {
-      bitmap = multi_getsock(data, sockbunch, MAX_SOCKSPEREASYHANDLE);
+      bitmap = multi_getsock(data, sockbunch);
 
       for(i = 0; i< MAX_SOCKSPEREASYHANDLE; i++) {
         curl_socket_t s = CURL_SOCKET_BAD;
@@ -1134,9 +1147,19 @@
     free(ufds);
   if(ret)
     *ret = retcode;
-  if(gotsocket && (extra_fds || curlfds))
+  if(!extrawait || extra_fds || curlfds)
     /* if any socket was checked */
-    *gotsocket = TRUE;
+    ;
+  else {
+    long sleep_ms = 0;
+
+    /* Avoid busy-looping when there's nothing particular to wait for */
+    if(!curl_multi_timeout(multi, &sleep_ms) && sleep_ms) {
+      if(sleep_ms > timeout_ms)
+        sleep_ms = timeout_ms;
+      Curl_wait_ms((int)sleep_ms);
+    }
+  }
 
   return CURLM_OK;
 }
@@ -1147,7 +1170,16 @@
                           int timeout_ms,
                           int *ret)
 {
-  return Curl_multi_wait(multi, extra_fds, extra_nfds, timeout_ms, ret, NULL);
+  return Curl_multi_wait(multi, extra_fds, extra_nfds, timeout_ms, ret, FALSE);
+}
+
+CURLMcode curl_multi_poll(struct Curl_multi *multi,
+                          struct curl_waitfd extra_fds[],
+                          unsigned int extra_nfds,
+                          int timeout_ms,
+                          int *ret)
+{
+  return Curl_multi_wait(multi, extra_fds, extra_nfds, timeout_ms, ret, TRUE);
 }
 
 /*
@@ -1247,6 +1279,109 @@
   return result;
 }
 
+/*
+ * We are doing protocol-specific connecting and this is being called over and
+ * over from the multi interface until the connection phase is done on
+ * protocol layer.
+ */
+
+static CURLcode protocol_connecting(struct connectdata *conn,
+                                    bool *done)
+{
+  CURLcode result = CURLE_OK;
+
+  if(conn && conn->handler->connecting) {
+    *done = FALSE;
+    result = conn->handler->connecting(conn, done);
+  }
+  else
+    *done = TRUE;
+
+  return result;
+}
+
+/*
+ * We are DOING this is being called over and over from the multi interface
+ * until the DOING phase is done on protocol layer.
+ */
+
+static CURLcode protocol_doing(struct connectdata *conn, bool *done)
+{
+  CURLcode result = CURLE_OK;
+
+  if(conn && conn->handler->doing) {
+    *done = FALSE;
+    result = conn->handler->doing(conn, done);
+  }
+  else
+    *done = TRUE;
+
+  return result;
+}
+
+/*
+ * We have discovered that the TCP connection has been successful, we can now
+ * proceed with some action.
+ *
+ */
+static CURLcode protocol_connect(struct connectdata *conn,
+                                 bool *protocol_done)
+{
+  CURLcode result = CURLE_OK;
+
+  DEBUGASSERT(conn);
+  DEBUGASSERT(protocol_done);
+
+  *protocol_done = FALSE;
+
+  if(conn->bits.tcpconnect[FIRSTSOCKET] && conn->bits.protoconnstart) {
+    /* We already are connected, get back. This may happen when the connect
+       worked fine in the first call, like when we connect to a local server
+       or proxy. Note that we don't know if the protocol is actually done.
+
+       Unless this protocol doesn't have any protocol-connect callback, as
+       then we know we're done. */
+    if(!conn->handler->connecting)
+      *protocol_done = TRUE;
+
+    return CURLE_OK;
+  }
+
+  if(!conn->bits.protoconnstart) {
+
+    result = Curl_proxy_connect(conn, FIRSTSOCKET);
+    if(result)
+      return result;
+
+    if(CONNECT_FIRSTSOCKET_PROXY_SSL())
+      /* wait for HTTPS proxy SSL initialization to complete */
+      return CURLE_OK;
+
+    if(conn->bits.tunnel_proxy && conn->bits.httpproxy &&
+       Curl_connect_ongoing(conn))
+      /* when using an HTTP tunnel proxy, await complete tunnel establishment
+         before proceeding further. Return CURLE_OK so we'll be called again */
+      return CURLE_OK;
+
+    if(conn->handler->connect_it) {
+      /* is there a protocol-specific connect() procedure? */
+
+      /* Call the protocol-specific connect function */
+      result = conn->handler->connect_it(conn, protocol_done);
+    }
+    else
+      *protocol_done = TRUE;
+
+    /* it has started, possibly even completed but that knowledge isn't stored
+       in this bit! */
+    if(!result)
+      conn->bits.protoconnstart = TRUE;
+  }
+
+  return result; /* pass back status */
+}
+
+
 static CURLMcode multi_runsingle(struct Curl_multi *multi,
                                  struct curltime now,
                                  struct Curl_easy *data)
@@ -1254,7 +1389,7 @@
   struct Curl_message *msg = NULL;
   bool connected;
   bool async;
-  bool protocol_connect = FALSE;
+  bool protocol_connected = FALSE;
   bool dophase_done = FALSE;
   bool done = FALSE;
   CURLMcode rc;
@@ -1373,7 +1508,7 @@
       if(data->set.connecttimeout)
         Curl_expire(data, data->set.connecttimeout, EXPIRE_CONNECTTIMEOUT);
 
-      result = Curl_connect(data, &async, &protocol_connect);
+      result = Curl_connect(data, &async, &protocol_connected);
       if(CURLE_NO_CONNECTION_AVAILABLE == result) {
         /* There was no connection available. We will go to the pending
            state and wait for an available connection. */
@@ -1401,7 +1536,7 @@
              WAITDO or DO! */
           rc = CURLM_CALL_MULTI_PERFORM;
 
-          if(protocol_connect)
+          if(protocol_connected)
             multistate(data, CURLM_STATE_DO);
           else {
 #ifndef CURL_DISABLE_HTTP
@@ -1456,7 +1591,7 @@
       if(dns) {
         /* Perform the next step in the connection phase, and then move on
            to the WAITCONNECT state */
-        result = Curl_once_resolved(data->conn, &protocol_connect);
+        result = Curl_once_resolved(data->conn, &protocol_connected);
 
         if(result)
           /* if Curl_once_resolved() returns failure, the connection struct
@@ -1465,7 +1600,7 @@
         else {
           /* call again please so that we get the next socket setup */
           rc = CURLM_CALL_MULTI_PERFORM;
-          if(protocol_connect)
+          if(protocol_connected)
             multistate(data, CURLM_STATE_DO);
           else {
 #ifndef CURL_DISABLE_HTTP
@@ -1490,7 +1625,7 @@
     case CURLM_STATE_WAITPROXYCONNECT:
       /* this is HTTP-specific, but sending CONNECT to a proxy is HTTP... */
       DEBUGASSERT(data->conn);
-      result = Curl_http_connect(data->conn, &protocol_connect);
+      result = Curl_http_connect(data->conn, &protocol_connected);
 
       if(data->conn->bits.proxy_connect_closed) {
         rc = CURLM_CALL_MULTI_PERFORM;
@@ -1541,8 +1676,8 @@
       break;
 
     case CURLM_STATE_SENDPROTOCONNECT:
-      result = Curl_protocol_connect(data->conn, &protocol_connect);
-      if(!result && !protocol_connect)
+      result = protocol_connect(data->conn, &protocol_connected);
+      if(!result && !protocol_connected)
         /* switch to waiting state */
         multistate(data, CURLM_STATE_PROTOCONNECT);
       else if(!result) {
@@ -1560,8 +1695,8 @@
 
     case CURLM_STATE_PROTOCONNECT:
       /* protocol-specific connect phase */
-      result = Curl_protocol_connecting(data->conn, &protocol_connect);
-      if(!result && protocol_connect) {
+      result = protocol_connecting(data->conn, &protocol_connected);
+      if(!result && protocol_connected) {
         /* after the connect has completed, go WAITDO or DO */
         multistate(data, CURLM_STATE_DO);
         rc = CURLM_CALL_MULTI_PERFORM;
@@ -1683,8 +1818,7 @@
     case CURLM_STATE_DOING:
       /* we continue DOING until the DO phase is complete */
       DEBUGASSERT(data->conn);
-      result = Curl_protocol_doing(data->conn,
-                                   &dophase_done);
+      result = protocol_doing(data->conn, &dophase_done);
       if(!result) {
         if(dophase_done) {
           /* after DO, go DO_DONE or DO_MORE */
@@ -2012,13 +2146,15 @@
           if(stream_error) {
             /* Don't attempt to send data over a connection that timed out */
             bool dead_connection = result == CURLE_OPERATION_TIMEDOUT;
-            /* disconnect properly */
-            Curl_disconnect(data, data->conn, dead_connection);
+            struct connectdata *conn = data->conn;
 
             /* This is where we make sure that the conn pointer is reset.
                We don't have to do this in every case block above where a
                failure is detected */
             detach_connnection(data);
+
+            /* disconnect properly */
+            Curl_disconnect(data, conn, dead_connection);
           }
         }
         else if(data->mstate == CURLM_STATE_CONNECT) {
@@ -2234,7 +2370,7 @@
 
   /* Fill in the 'current' struct with the state as it is now: what sockets to
      supervise and for what actions */
-  curraction = multi_getsock(data, socks, MAX_SOCKSPEREASYHANDLE);
+  curraction = multi_getsock(data, socks);
 
   /* We have 0 .. N sockets already and we get to know about the 0 .. M
      sockets we should have from now on. Detect the differences, remove no
@@ -2846,7 +2982,7 @@
  *
  * Expire replaces a former timeout using the same id if already set.
  */
-void Curl_expire(struct Curl_easy *data, time_t milli, expire_id id)
+void Curl_expire(struct Curl_easy *data, timediff_t milli, expire_id id)
 {
   struct Curl_multi *multi = data->multi;
   struct curltime *nowp = &data->state.expiretime;
@@ -2860,7 +2996,7 @@
   DEBUGASSERT(id < EXPIRE_LAST);
 
   set = Curl_now();
-  set.tv_sec += milli/1000;
+  set.tv_sec += (time_t)(milli/1000); /* might be a 64 to 32 bit conversion */
   set.tv_usec += (unsigned int)(milli%1000)*1000;
 
   if(set.tv_usec >= 1000000) {
diff --git a/lib/multiif.h b/lib/multiif.h
index a644558..0755a7c 100644
--- a/lib/multiif.h
+++ b/lib/multiif.h
@@ -27,7 +27,7 @@
  */
 
 void Curl_updatesocket(struct Curl_easy *data);
-void Curl_expire(struct Curl_easy *data, time_t milli, expire_id);
+void Curl_expire(struct Curl_easy *data, timediff_t milli, expire_id);
 void Curl_expire_clear(struct Curl_easy *data);
 void Curl_expire_done(struct Curl_easy *data, expire_id id);
 void Curl_update_timer(struct Curl_multi *multi);
@@ -89,11 +89,4 @@
                                  struct Curl_easy *data,
                                  struct connectdata *conn);
 
-CURLMcode Curl_multi_wait(struct Curl_multi *multi,
-                          struct curl_waitfd extra_fds[],
-                          unsigned int extra_nfds,
-                          int timeout_ms,
-                          int *ret,
-                          bool *gotsocket); /* if any socket was checked */
-
 #endif /* HEADER_CURL_MULTIIF_H */
diff --git a/lib/netrc.c b/lib/netrc.c
index f41636e..c74065e 100644
--- a/lib/netrc.c
+++ b/lib/netrc.c
@@ -45,27 +45,27 @@
   HOSTVALID     /* this is "our" machine! */
 };
 
+#define NETRC_FILE_MISSING 1
+#define NETRC_FAILED -1
+#define NETRC_SUCCESS 0
+
 /*
- * @unittest: 1304
- *
- * *loginp and *passwordp MUST be allocated if they aren't NULL when passed
- * in.
+ * Returns zero on success.
  */
-int Curl_parsenetrc(const char *host,
-                    char **loginp,
-                    char **passwordp,
-                    bool *login_changed,
-                    bool *password_changed,
-                    char *netrcfile)
+static int parsenetrc(const char *host,
+                      char **loginp,
+                      char **passwordp,
+                      bool *login_changed,
+                      bool *password_changed,
+                      char *netrcfile)
 {
   FILE *file;
-  int retcode = 1;
+  int retcode = NETRC_FILE_MISSING;
   char *login = *loginp;
   char *password = *passwordp;
   bool specific_login = (login && *login != 0);
   bool login_alloc = FALSE;
   bool password_alloc = FALSE;
-  bool netrc_alloc = FALSE;
   enum host_lookup_state state = NOTHING;
 
   char state_login = 0;      /* Found a login keyword */
@@ -73,51 +73,9 @@
   int state_our_login = FALSE;  /* With specific_login, found *our* login
                                    name */
 
-#define NETRC DOT_CHAR "netrc"
-
-  if(!netrcfile) {
-    bool home_alloc = FALSE;
-    char *home = curl_getenv("HOME"); /* portable environment reader */
-    if(home) {
-      home_alloc = TRUE;
-#if defined(HAVE_GETPWUID_R) && defined(HAVE_GETEUID)
-    }
-    else {
-      struct passwd pw, *pw_res;
-      char pwbuf[1024];
-      if(!getpwuid_r(geteuid(), &pw, pwbuf, sizeof(pwbuf), &pw_res)
-         && pw_res) {
-        home = strdup(pw.pw_dir);
-        if(!home)
-          return -1;
-        home_alloc = TRUE;
-      }
-#elif defined(HAVE_GETPWUID) && defined(HAVE_GETEUID)
-    }
-    else {
-      struct passwd *pw;
-      pw = getpwuid(geteuid());
-      if(pw) {
-        home = pw->pw_dir;
-      }
-#endif
-    }
-
-    if(!home)
-      return retcode; /* no home directory found (or possibly out of memory) */
-
-    netrcfile = curl_maprintf("%s%s%s", home, DIR_CHAR, NETRC);
-    if(home_alloc)
-      free(home);
-    if(!netrcfile) {
-      return -1;
-    }
-    netrc_alloc = TRUE;
-  }
+  DEBUGASSERT(netrcfile);
 
   file = fopen(netrcfile, FOPEN_READTEXT);
-  if(netrc_alloc)
-    free(netrcfile);
   if(file) {
     char *tok;
     char *tok_buf;
@@ -148,14 +106,14 @@
           }
           else if(strcasecompare("default", tok)) {
             state = HOSTVALID;
-            retcode = 0; /* we did find our host */
+            retcode = NETRC_SUCCESS; /* we did find our host */
           }
           break;
         case HOSTFOUND:
           if(strcasecompare(host, tok)) {
             /* and yes, this is our host! */
             state = HOSTVALID;
-            retcode = 0; /* we did find our host */
+            retcode = NETRC_SUCCESS; /* we did find our host */
           }
           else
             /* not our host */
@@ -174,7 +132,7 @@
               }
               login = strdup(tok);
               if(!login) {
-                retcode = -1; /* allocation failed */
+                retcode = NETRC_FAILED; /* allocation failed */
                 goto out;
               }
               login_alloc = TRUE;
@@ -190,7 +148,7 @@
               }
               password = strdup(tok);
               if(!password) {
-                retcode = -1; /* allocation failed */
+                retcode = NETRC_FAILED; /* allocation failed */
                 goto out;
               }
               password_alloc = TRUE;
@@ -215,6 +173,7 @@
 
     out:
     if(!retcode) {
+      /* success */
       *login_changed = FALSE;
       *password_changed = FALSE;
       if(login_alloc) {
@@ -242,4 +201,78 @@
   return retcode;
 }
 
+/*
+ * @unittest: 1304
+ *
+ * *loginp and *passwordp MUST be allocated if they aren't NULL when passed
+ * in.
+ */
+int Curl_parsenetrc(const char *host,
+                    char **loginp,
+                    char **passwordp,
+                    bool *login_changed,
+                    bool *password_changed,
+                    char *netrcfile)
+{
+  int retcode = 1;
+  char *filealloc = NULL;
+
+  if(!netrcfile) {
+    char *home = NULL;
+    char *homea = curl_getenv("HOME"); /* portable environment reader */
+    if(homea) {
+      home = homea;
+#if defined(HAVE_GETPWUID_R) && defined(HAVE_GETEUID)
+    }
+    else {
+      struct passwd pw, *pw_res;
+      char pwbuf[1024];
+      if(!getpwuid_r(geteuid(), &pw, pwbuf, sizeof(pwbuf), &pw_res)
+         && pw_res) {
+        home = pw.pw_dir;
+      }
+#elif defined(HAVE_GETPWUID) && defined(HAVE_GETEUID)
+    }
+    else {
+      struct passwd *pw;
+      pw = getpwuid(geteuid());
+      if(pw) {
+        home = pw->pw_dir;
+      }
+#endif
+    }
+
+    if(!home)
+      return retcode; /* no home directory found (or possibly out of
+                         memory) */
+
+    filealloc = curl_maprintf("%s%s.netrc", home, DIR_CHAR);
+    if(!filealloc) {
+      free(homea);
+      return -1;
+    }
+    retcode = parsenetrc(host, loginp, passwordp, login_changed,
+                         password_changed, filealloc);
+    free(filealloc);
+#ifdef WIN32
+    if(retcode == NETRC_FILE_MISSING) {
+      /* fallback to the old-style "_netrc" file */
+      filealloc = curl_maprintf("%s%s_netrc", home, DIR_CHAR);
+      if(!filealloc) {
+        free(homea);
+        return -1;
+      }
+      retcode = parsenetrc(host, loginp, passwordp, login_changed,
+                           password_changed, filealloc);
+      free(filealloc);
+    }
+#endif
+    free(homea);
+  }
+  else
+    retcode = parsenetrc(host, loginp, passwordp, login_changed,
+                         password_changed, netrcfile);
+  return retcode;
+}
+
 #endif
diff --git a/lib/openldap.c b/lib/openldap.c
index eeab2c7..734ca5f 100644
--- a/lib/openldap.c
+++ b/lib/openldap.c
@@ -151,7 +151,7 @@
   "bad or missing extensions"
 };
 
-typedef struct ldapconninfo {
+struct ldapconninfo {
   LDAP *ld;
   Curl_recv *recv;  /* for stacking SSL handler */
   Curl_send *send;
@@ -160,7 +160,7 @@
   bool ssldone;
   bool sslinst;
   bool didbind;
-} ldapconninfo;
+};
 
 typedef struct ldapreqinfo {
   int msgid;
@@ -169,7 +169,7 @@
 
 static CURLcode ldap_setup_connection(struct connectdata *conn)
 {
-  ldapconninfo *li;
+  struct ldapconninfo *li;
   LDAPURLDesc *lud;
   struct Curl_easy *data = conn->data;
   int rc, proto;
@@ -190,11 +190,11 @@
   proto = ldap_pvt_url_scheme2proto(lud->lud_scheme);
   ldap_free_urldesc(lud);
 
-  li = calloc(1, sizeof(ldapconninfo));
+  li = calloc(1, sizeof(struct ldapconninfo));
   if(!li)
     return CURLE_OUT_OF_MEMORY;
   li->proto = proto;
-  conn->proto.generic = li;
+  conn->proto.ldapc = li;
   connkeep(conn, "OpenLDAP default");
   return CURLE_OK;
 }
@@ -205,7 +205,7 @@
 
 static CURLcode ldap_connect(struct connectdata *conn, bool *done)
 {
-  ldapconninfo *li = conn->proto.generic;
+  struct ldapconninfo *li = conn->proto.ldapc;
   struct Curl_easy *data = conn->data;
   int rc, proto = LDAP_VERSION3;
   char hosturl[1024];
@@ -252,7 +252,7 @@
 
 static CURLcode ldap_connecting(struct connectdata *conn, bool *done)
 {
-  ldapconninfo *li = conn->proto.generic;
+  struct ldapconninfo *li = conn->proto.ldapc;
   struct Curl_easy *data = conn->data;
   LDAPMessage *msg = NULL;
   struct timeval tv = {0, 1}, *tvp;
@@ -357,7 +357,7 @@
 
 static CURLcode ldap_disconnect(struct connectdata *conn, bool dead_connection)
 {
-  ldapconninfo *li = conn->proto.generic;
+  struct ldapconninfo *li = conn->proto.ldapc;
   (void) dead_connection;
 
   if(li) {
@@ -365,7 +365,7 @@
       ldap_unbind_ext(li->ld, NULL, NULL);
       li->ld = NULL;
     }
-    conn->proto.generic = NULL;
+    conn->proto.ldapc = NULL;
     free(li);
   }
   return CURLE_OK;
@@ -373,7 +373,7 @@
 
 static CURLcode ldap_do(struct connectdata *conn, bool *done)
 {
-  ldapconninfo *li = conn->proto.generic;
+  struct ldapconninfo *li = conn->proto.ldapc;
   ldapreqinfo *lr;
   CURLcode status = CURLE_OK;
   int rc = 0;
@@ -427,7 +427,7 @@
   if(lr) {
     /* if there was a search in progress, abandon it */
     if(lr->msgid) {
-      ldapconninfo *li = conn->proto.generic;
+      struct ldapconninfo *li = conn->proto.ldapc;
       ldap_abandon_ext(li->ld, lr->msgid, NULL, NULL);
       lr->msgid = 0;
     }
@@ -441,7 +441,7 @@
 static ssize_t ldap_recv(struct connectdata *conn, int sockindex, char *buf,
                          size_t len, CURLcode *err)
 {
-  ldapconninfo *li = conn->proto.generic;
+  struct ldapconninfo *li = conn->proto.ldapc;
   struct Curl_easy *data = conn->data;
   ldapreqinfo *lr = data->req.protop;
   int rc, ret;
@@ -718,7 +718,7 @@
 ldapsb_tls_read(Sockbuf_IO_Desc *sbiod, void *buf, ber_len_t len)
 {
   struct connectdata *conn = sbiod->sbiod_pvt;
-  ldapconninfo *li = conn->proto.generic;
+  struct ldapconninfo *li = conn->proto.ldapc;
   ber_slen_t ret;
   CURLcode err = CURLE_RECV_ERROR;
 
@@ -733,7 +733,7 @@
 ldapsb_tls_write(Sockbuf_IO_Desc *sbiod, void *buf, ber_len_t len)
 {
   struct connectdata *conn = sbiod->sbiod_pvt;
-  ldapconninfo *li = conn->proto.generic;
+  struct ldapconninfo *li = conn->proto.ldapc;
   ber_slen_t ret;
   CURLcode err = CURLE_SEND_ERROR;
 
diff --git a/lib/pingpong.c b/lib/pingpong.c
index e9568ee..d071005 100644
--- a/lib/pingpong.c
+++ b/lib/pingpong.c
@@ -5,7 +5,7 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
@@ -60,12 +60,12 @@
   /* Without a requested timeout, we only wait 'response_time' seconds for the
      full response to arrive before we bail out */
   timeout_ms = response_time -
-    Curl_timediff(Curl_now(), pp->response); /* spent time */
+    (time_t)Curl_timediff(Curl_now(), pp->response); /* spent time */
 
   if(data->set.timeout && !disconnecting) {
     /* if timeout is requested, find out how much remaining time we have */
     time_t timeout2_ms = data->set.timeout - /* timeout time */
-      Curl_timediff(Curl_now(), conn->now); /* spent time */
+      (time_t)Curl_timediff(Curl_now(), conn->now); /* spent time */
 
     /* pick the lowest number */
     timeout_ms = CURLMIN(timeout_ms, timeout2_ms);
@@ -463,14 +463,9 @@
 }
 
 int Curl_pp_getsock(struct pingpong *pp,
-                    curl_socket_t *socks,
-                    int numsocks)
+                    curl_socket_t *socks)
 {
   struct connectdata *conn = pp->conn;
-
-  if(!numsocks)
-    return GETSOCK_BLANK;
-
   socks[0] = conn->sock[FIRSTSOCKET];
 
   if(pp->sendleft) {
diff --git a/lib/pingpong.h b/lib/pingpong.h
index dbe1f8d..849a7c0 100644
--- a/lib/pingpong.h
+++ b/lib/pingpong.h
@@ -7,7 +7,7 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
@@ -135,8 +135,7 @@
 /* call this when a pingpong connection is disconnected */
 CURLcode Curl_pp_disconnect(struct pingpong *pp);
 
-int Curl_pp_getsock(struct pingpong *pp, curl_socket_t *socks,
-                    int numsocks);
+int Curl_pp_getsock(struct pingpong *pp, curl_socket_t *socks);
 
 
 /***********************************************************************
diff --git a/lib/pop3.c b/lib/pop3.c
index a681d52..57c1373 100644
--- a/lib/pop3.c
+++ b/lib/pop3.c
@@ -95,8 +95,7 @@
 static CURLcode pop3_connect(struct connectdata *conn, bool *done);
 static CURLcode pop3_disconnect(struct connectdata *conn, bool dead);
 static CURLcode pop3_multi_statemach(struct connectdata *conn, bool *done);
-static int pop3_getsock(struct connectdata *conn, curl_socket_t *socks,
-                        int numsocks);
+static int pop3_getsock(struct connectdata *conn, curl_socket_t *socks);
 static CURLcode pop3_doing(struct connectdata *conn, bool *dophase_done);
 static CURLcode pop3_setup_connection(struct connectdata *conn);
 static CURLcode pop3_parse_url_options(struct connectdata *conn);
@@ -1055,10 +1054,9 @@
 }
 
 /* For the POP3 "protocol connect" and "doing" phases only */
-static int pop3_getsock(struct connectdata *conn, curl_socket_t *socks,
-                        int numsocks)
+static int pop3_getsock(struct connectdata *conn, curl_socket_t *socks)
 {
-  return Curl_pp_getsock(&conn->proto.pop3c.pp, socks, numsocks);
+  return Curl_pp_getsock(&conn->proto.pop3c.pp, socks);
 }
 
 /***********************************************************************
diff --git a/lib/progress.c b/lib/progress.c
index 9f953ef..2aa9295 100644
--- a/lib/progress.c
+++ b/lib/progress.c
@@ -26,6 +26,7 @@
 #include "sendf.h"
 #include "multiif.h"
 #include "progress.h"
+#include "timeval.h"
 #include "curl_printf.h"
 
 /* check rate limits within this many recent milliseconds, at minimum. */
@@ -168,7 +169,7 @@
 void Curl_pgrsTime(struct Curl_easy *data, timerid timer)
 {
   struct curltime now = Curl_now();
-  time_t *delta = NULL;
+  timediff_t *delta = NULL;
 
   switch(timer) {
   default:
@@ -238,6 +239,8 @@
   data->progress.ul_limit_start.tv_usec = 0;
   data->progress.dl_limit_start.tv_sec = 0;
   data->progress.dl_limit_start.tv_usec = 0;
+  data->progress.downloaded = 0;
+  data->progress.uploaded = 0;
   /* clear all bits except HIDE and HEADERS_OUT */
   data->progress.flags &= PGRS_HIDE|PGRS_HEADERS_OUT;
   Curl_ratelimit(data, data->progress.start);
@@ -268,8 +271,8 @@
                                   struct curltime now)
 {
   curl_off_t size = cursize - startsize;
-  time_t minimum;
-  time_t actual;
+  timediff_t minimum;
+  timediff_t actual;
 
   if(!limit || !size)
     return 0;
@@ -282,10 +285,10 @@
     minimum = (time_t) (CURL_OFF_T_C(1000) * size / limit);
   else {
     minimum = (time_t) (size / limit);
-    if(minimum < TIME_T_MAX/1000)
+    if(minimum < TIMEDIFF_T_MAX/1000)
       minimum *= 1000;
     else
-      minimum = TIME_T_MAX;
+      minimum = TIMEDIFF_T_MAX;
   }
 
   /*
diff --git a/lib/quic.h b/lib/quic.h
new file mode 100644
index 0000000..6c132a3
--- /dev/null
+++ b/lib/quic.h
@@ -0,0 +1,53 @@
+#ifndef HEADER_CURL_QUIC_H
+#define HEADER_CURL_QUIC_H
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
+ *
+ * This software is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at https://curl.haxx.se/docs/copyright.html.
+ *
+ * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+ * copies of the Software, and permit persons to whom the Software is
+ * furnished to do so, under the terms of the COPYING file.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ ***************************************************************************/
+
+#include "curl_setup.h"
+
+#ifdef ENABLE_QUIC
+#ifdef USE_NGTCP2
+#include "vquic/ngtcp2.h"
+#endif
+#ifdef USE_QUICHE
+#include "vquic/quiche.h"
+#endif
+
+#include "urldata.h"
+
+/* functions provided by the specific backends */
+CURLcode Curl_quic_connect(struct connectdata *conn,
+                           curl_socket_t sockfd,
+                           int sockindex,
+                           const struct sockaddr *addr,
+                           socklen_t addrlen);
+CURLcode Curl_quic_is_connected(struct connectdata *conn,
+                                curl_socket_t sockfd,
+                                bool *connected);
+int Curl_quic_ver(char *p, size_t len);
+CURLcode Curl_quic_done_sending(struct connectdata *conn);
+
+#else /* ENABLE_QUIC */
+#define Curl_quic_done_sending(x)
+#endif /* !ENABLE_QUIC */
+
+#endif /* HEADER_CURL_QUIC_H */
diff --git a/lib/rtsp.c b/lib/rtsp.c
index 25e194a..bba4c16 100644
--- a/lib/rtsp.c
+++ b/lib/rtsp.c
@@ -52,10 +52,7 @@
 static CURLcode rtsp_done(struct connectdata *conn, CURLcode, bool premature);
 static CURLcode rtsp_connect(struct connectdata *conn, bool *done);
 static CURLcode rtsp_disconnect(struct connectdata *conn, bool dead);
-
-static int rtsp_getsock_do(struct connectdata *conn,
-                           curl_socket_t *socks,
-                           int numsocks);
+static int rtsp_getsock_do(struct connectdata *conn, curl_socket_t *socks);
 
 /*
  * Parse and write out any available RTP data.
@@ -77,11 +74,9 @@
    interface and then we're always _sending_ a request and thus we wait for
    the single socket to become writable only */
 static int rtsp_getsock_do(struct connectdata *conn,
-                           curl_socket_t *socks,
-                           int numsocks)
+                           curl_socket_t *socks)
 {
   /* write mode */
-  (void)numsocks; /* unused, we trust it to be at least 1 */
   socks[0] = conn->sock[FIRSTSOCKET];
   return GETSOCK_WRITESOCK(0);
 }
diff --git a/lib/security.c b/lib/security.c
index 550ea2d..c5e4e13 100644
--- a/lib/security.c
+++ b/lib/security.c
@@ -191,7 +191,6 @@
                           struct krb5buffer *buf)
 {
   int len;
-  void *tmp = NULL;
   CURLcode result;
 
   result = socket_read(fd, &len, sizeof(len));
@@ -201,12 +200,11 @@
   if(len) {
     /* only realloc if there was a length */
     len = ntohl(len);
-    tmp = Curl_saferealloc(buf->data, len);
+    buf->data = Curl_saferealloc(buf->data, len);
   }
-  if(tmp == NULL)
+  if(!len || !buf->data)
     return CURLE_OUT_OF_MEMORY;
 
-  buf->data = tmp;
   result = socket_read(fd, buf->data, len);
   if(result)
     return result;
diff --git a/lib/select.h b/lib/select.h
index 9a1ba45..f5652a7 100644
--- a/lib/select.h
+++ b/lib/select.h
@@ -7,7 +7,7 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
@@ -77,9 +77,9 @@
                       time_t timeout_ms);
 
 #define SOCKET_READABLE(x,z) \
-  Curl_socket_check(x, CURL_SOCKET_BAD, CURL_SOCKET_BAD, z)
+  Curl_socket_check(x, CURL_SOCKET_BAD, CURL_SOCKET_BAD, (time_t)z)
 #define SOCKET_WRITABLE(x,z) \
-  Curl_socket_check(CURL_SOCKET_BAD, CURL_SOCKET_BAD, x, z)
+  Curl_socket_check(CURL_SOCKET_BAD, CURL_SOCKET_BAD, x, (time_t)z)
 
 int Curl_poll(struct pollfd ufds[], unsigned int nfds, int timeout_ms);
 
diff --git a/lib/setopt.c b/lib/setopt.c
index 1dbf00f..8909035 100644
--- a/lib/setopt.c
+++ b/lib/setopt.c
@@ -809,6 +809,11 @@
     arg = va_arg(param, long);
     if(arg < CURL_HTTP_VERSION_NONE)
       return CURLE_BAD_FUNCTION_ARGUMENT;
+#ifdef ENABLE_QUIC
+    if(arg == CURL_HTTP_VERSION_3)
+      ;
+    else
+#endif
 #ifndef USE_NGHTTP2
     if(arg >= CURL_HTTP_VERSION_2)
       return CURLE_UNSUPPORTED_PROTOCOL;
@@ -1778,16 +1783,9 @@
     arg = va_arg(param, long);
 
     /* Obviously people are not reading documentation and too many thought
-       this argument took a boolean when it wasn't and misused it. We thus ban
-       1 as a sensible input and we warn about its use. Then we only have the
-       2 action internally stored as TRUE. */
-
-    if(1 == arg) {
-      failf(data, "CURLOPT_SSL_VERIFYHOST no longer supports 1 as value!");
-      return CURLE_BAD_FUNCTION_ARGUMENT;
-    }
-
-    data->set.ssl.primary.verifyhost = (0 != arg) ? TRUE : FALSE;
+       this argument took a boolean when it wasn't and misused it.
+       Treat 1 and 2 the same */
+    data->set.ssl.primary.verifyhost = (bool)((arg & 3) ? TRUE : FALSE);
 
     /* Update the current connection ssl_config. */
     if(data->conn) {
@@ -1802,17 +1800,8 @@
      */
     arg = va_arg(param, long);
 
-    /* Obviously people are not reading documentation and too many thought
-       this argument took a boolean when it wasn't and misused it. We thus ban
-       1 as a sensible input and we warn about its use. Then we only have the
-       2 action internally stored as TRUE. */
-
-    if(1 == arg) {
-      failf(data, "CURLOPT_SSL_VERIFYHOST no longer supports 1 as value!");
-      return CURLE_BAD_FUNCTION_ARGUMENT;
-    }
-
-    data->set.proxy_ssl.primary.verifyhost = (0 != arg)?TRUE:FALSE;
+    /* Treat both 1 and 2 as TRUE */
+    data->set.proxy_ssl.primary.verifyhost = (bool)((arg & 3)?TRUE:FALSE);
 
     /* Update the current connection proxy_ssl_config. */
     if(data->conn) {
@@ -2402,6 +2391,12 @@
     break;
 #endif
 
+  case CURLOPT_SASL_AUTHZID:
+    /* Authorisation identity (identity to act as) */
+    result = Curl_setstropt(&data->set.str[STRING_SASL_AUTHZID],
+                            va_arg(param, char *));
+    break;
+
   case CURLOPT_SASL_IR:
     /* Enable/disable SASL initial response */
     data->set.sasl_ir = (0 != va_arg(param, long)) ? TRUE : FALSE;
diff --git a/lib/smb.c b/lib/smb.c
index 870244c..f66c05c 100644
--- a/lib/smb.c
+++ b/lib/smb.c
@@ -6,7 +6,7 @@
  *                             \___|\___/|_| \_\_____|
  *
  * Copyright (C) 2014, Bill Nagel <wnagel@tycoint.com>, Exacq Technologies
- * Copyright (C) 2016-2018, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 2016-2019, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
@@ -64,8 +64,7 @@
 static CURLcode smb_done(struct connectdata *conn, CURLcode status,
                          bool premature);
 static CURLcode smb_disconnect(struct connectdata *conn, bool dead);
-static int smb_getsock(struct connectdata *conn, curl_socket_t *socks,
-                       int numsocks);
+static int smb_getsock(struct connectdata *conn, curl_socket_t *socks);
 static CURLcode smb_parse_url_path(struct connectdata *conn);
 
 /*
@@ -607,6 +606,7 @@
 {
   struct smb_conn *smbc = &conn->proto.smbc;
   CURLcode result;
+  *msg = NULL; /* if it returns early */
 
   /* Check if there is data in the transfer buffer */
   if(!smbc->send_size && smbc->upload_size) {
@@ -936,12 +936,8 @@
   return CURLE_OK;
 }
 
-static int smb_getsock(struct connectdata *conn, curl_socket_t *socks,
-                       int numsocks)
+static int smb_getsock(struct connectdata *conn, curl_socket_t *socks)
 {
-  if(!numsocks)
-    return GETSOCK_BLANK;
-
   socks[0] = conn->sock[FIRSTSOCKET];
   return GETSOCK_READSOCK(0) | GETSOCK_WRITESOCK(0);
 }
diff --git a/lib/smtp.c b/lib/smtp.c
index e10d0fb..65220b0 100644
--- a/lib/smtp.c
+++ b/lib/smtp.c
@@ -95,8 +95,7 @@
 static CURLcode smtp_connect(struct connectdata *conn, bool *done);
 static CURLcode smtp_disconnect(struct connectdata *conn, bool dead);
 static CURLcode smtp_multi_statemach(struct connectdata *conn, bool *done);
-static int smtp_getsock(struct connectdata *conn, curl_socket_t *socks,
-                        int numsocks);
+static int smtp_getsock(struct connectdata *conn, curl_socket_t *socks);
 static CURLcode smtp_doing(struct connectdata *conn, bool *dophase_done);
 static CURLcode smtp_setup_connection(struct connectdata *conn);
 static CURLcode smtp_parse_url_options(struct connectdata *conn);
@@ -715,7 +714,7 @@
       result = CURLE_REMOTE_ACCESS_DENIED;
     }
   }
-  else {
+  else if(len >= 4) {
     line += 4;
     len -= 4;
 
@@ -786,6 +785,10 @@
         result = smtp_perform_authentication(conn);
     }
   }
+  else {
+    failf(data, "Unexpectedly short EHLO response");
+    result = CURLE_WEIRD_SERVER_REPLY;
+  }
 
   return result;
 }
@@ -1114,10 +1117,9 @@
 }
 
 /* For the SMTP "protocol connect" and "doing" phases only */
-static int smtp_getsock(struct connectdata *conn, curl_socket_t *socks,
-                        int numsocks)
+static int smtp_getsock(struct connectdata *conn, curl_socket_t *socks)
 {
-  return Curl_pp_getsock(&conn->proto.smtpc.pp, socks, numsocks);
+  return Curl_pp_getsock(&conn->proto.smtpc.pp, socks);
 }
 
 /***********************************************************************
diff --git a/lib/ssh.h b/lib/ssh.h
index 0620aac..3213c5a 100644
--- a/lib/ssh.h
+++ b/lib/ssh.h
@@ -7,7 +7,7 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
@@ -239,7 +239,16 @@
 
 extern const struct Curl_handler Curl_handler_scp;
 extern const struct Curl_handler Curl_handler_sftp;
-
 #endif /* USE_LIBSSH2 */
 
+#ifdef USE_SSH
+/* generic SSH backend functions */
+CURLcode Curl_ssh_init(void);
+void Curl_ssh_cleanup(void);
+size_t Curl_ssh_version(char *buffer, size_t buflen);
+#else
+/* for non-SSH builds */
+#define Curl_ssh_cleanup()
+#endif
+
 #endif /* HEADER_CURL_SSH_H */
diff --git a/lib/strerror.c b/lib/strerror.c
index e273f37..d0650d8 100644
--- a/lib/strerror.c
+++ b/lib/strerror.c
@@ -311,6 +311,9 @@
   case CURLE_RECURSIVE_API_CALL:
     return "API function called from within callback";
 
+  case CURLE_AUTH_ERROR:
+    return "An authentication function returned an error";
+
     /* error codes not used by current libcurl */
   case CURLE_OBSOLETE20:
   case CURLE_OBSOLETE24:
diff --git a/lib/tftp.c b/lib/tftp.c
index 289cda2..346f293 100644
--- a/lib/tftp.c
+++ b/lib/tftp.c
@@ -157,8 +157,7 @@
 static CURLcode tftp_setup_connection(struct connectdata * conn);
 static CURLcode tftp_multi_statemach(struct connectdata *conn, bool *done);
 static CURLcode tftp_doing(struct connectdata *conn, bool *dophase_done);
-static int tftp_getsock(struct connectdata *conn, curl_socket_t *socks,
-                        int numsocks);
+static int tftp_getsock(struct connectdata *conn, curl_socket_t *socks);
 static CURLcode tftp_translate_code(tftp_error_t error);
 
 
@@ -404,13 +403,14 @@
   return CURLE_OK;
 }
 
-static size_t tftp_option_add(tftp_state_data_t *state, size_t csize,
-                              char *buf, const char *option)
+static CURLcode tftp_option_add(tftp_state_data_t *state, size_t *csize,
+                                char *buf, const char *option)
 {
-  if(( strlen(option) + csize + 1) > (size_t)state->blksize)
-    return 0;
+  if(( strlen(option) + *csize + 1) > (size_t)state->blksize)
+    return CURLE_TFTP_ILLEGAL;
   strcpy(buf, option);
-  return strlen(option) + 1;
+  *csize += strlen(option) + 1;
+  return CURLE_OK;
 }
 
 static CURLcode tftp_connect_for_tx(tftp_state_data_t *state,
@@ -511,26 +511,38 @@
       else
         strcpy(buf, "0"); /* the destination is large enough */
 
-      sbytes += tftp_option_add(state, sbytes,
-                                (char *)state->spacket.data + sbytes,
-                                TFTP_OPTION_TSIZE);
-      sbytes += tftp_option_add(state, sbytes,
-                                (char *)state->spacket.data + sbytes, buf);
+      result = tftp_option_add(state, &sbytes,
+                               (char *)state->spacket.data + sbytes,
+                               TFTP_OPTION_TSIZE);
+      if(result == CURLE_OK)
+        result = tftp_option_add(state, &sbytes,
+                                 (char *)state->spacket.data + sbytes, buf);
+
       /* add blksize option */
       msnprintf(buf, sizeof(buf), "%d", state->requested_blksize);
-      sbytes += tftp_option_add(state, sbytes,
-                                (char *)state->spacket.data + sbytes,
-                                TFTP_OPTION_BLKSIZE);
-      sbytes += tftp_option_add(state, sbytes,
-                                (char *)state->spacket.data + sbytes, buf);
+      if(result == CURLE_OK)
+        result = tftp_option_add(state, &sbytes,
+                                 (char *)state->spacket.data + sbytes,
+                                 TFTP_OPTION_BLKSIZE);
+      if(result == CURLE_OK)
+        result = tftp_option_add(state, &sbytes,
+                                 (char *)state->spacket.data + sbytes, buf);
 
       /* add timeout option */
       msnprintf(buf, sizeof(buf), "%d", state->retry_time);
-      sbytes += tftp_option_add(state, sbytes,
-                                (char *)state->spacket.data + sbytes,
-                                TFTP_OPTION_INTERVAL);
-      sbytes += tftp_option_add(state, sbytes,
-                                (char *)state->spacket.data + sbytes, buf);
+      if(result == CURLE_OK)
+        result = tftp_option_add(state, &sbytes,
+                                 (char *)state->spacket.data + sbytes,
+                                 TFTP_OPTION_INTERVAL);
+      if(result == CURLE_OK)
+        result = tftp_option_add(state, &sbytes,
+                                 (char *)state->spacket.data + sbytes, buf);
+
+      if(result != CURLE_OK) {
+        failf(data, "TFTP buffer too small for options");
+        free(filename);
+        return CURLE_TFTP_ILLEGAL;
+      }
     }
 
     /* the typecase for the 3rd argument is mostly for systems that do
@@ -973,6 +985,7 @@
 {
   tftp_state_data_t *state;
   int blksize;
+  int need_blksize;
 
   blksize = TFTP_BLKSIZE_DEFAULT;
 
@@ -987,15 +1000,20 @@
       return CURLE_TFTP_ILLEGAL;
   }
 
+  need_blksize = blksize;
+  /* default size is the fallback when no OACK is received */
+  if(need_blksize < TFTP_BLKSIZE_DEFAULT)
+    need_blksize = TFTP_BLKSIZE_DEFAULT;
+
   if(!state->rpacket.data) {
-    state->rpacket.data = calloc(1, blksize + 2 + 2);
+    state->rpacket.data = calloc(1, need_blksize + 2 + 2);
 
     if(!state->rpacket.data)
       return CURLE_OUT_OF_MEMORY;
   }
 
   if(!state->spacket.data) {
-    state->spacket.data = calloc(1, blksize + 2 + 2);
+    state->spacket.data = calloc(1, need_blksize + 2 + 2);
 
     if(!state->spacket.data)
       return CURLE_OUT_OF_MEMORY;
@@ -1009,7 +1027,7 @@
   state->sockfd = state->conn->sock[FIRSTSOCKET];
   state->state = TFTP_STATE_START;
   state->error = TFTP_ERR_NONE;
-  state->blksize = blksize;
+  state->blksize = TFTP_BLKSIZE_DEFAULT; /* Unless updated by OACK response */
   state->requested_blksize = blksize;
 
   ((struct sockaddr *)&state->local_addr)->sa_family =
@@ -1082,14 +1100,9 @@
  * The getsock callback
  *
  **********************************************************/
-static int tftp_getsock(struct connectdata *conn, curl_socket_t *socks,
-                        int numsocks)
+static int tftp_getsock(struct connectdata *conn, curl_socket_t *socks)
 {
-  if(!numsocks)
-    return GETSOCK_BLANK;
-
   socks[0] = conn->sock[FIRSTSOCKET];
-
   return GETSOCK_READSOCK(0);
 }
 
@@ -1376,7 +1389,7 @@
   struct Curl_easy *data = conn->data;
   char *type;
 
-  conn->socktype = SOCK_DGRAM;   /* UDP datagram based */
+  conn->transport = TRNSPRT_UDP;
 
   /* TFTP URLs support an extension like ";mode=<typecode>" that
    * we'll try to get now! */
diff --git a/lib/timeval.c b/lib/timeval.c
index e2bd7fd..9b05cf0 100644
--- a/lib/timeval.c
+++ b/lib/timeval.c
@@ -174,14 +174,6 @@
 
 #endif
 
-#if SIZEOF_TIME_T < 8
-#define TIME_MAX INT_MAX
-#define TIME_MIN INT_MIN
-#else
-#define TIME_MAX 9223372036854775807LL
-#define TIME_MIN -9223372036854775807LL
-#endif
-
 /*
  * Returns: time difference in number of milliseconds. For too large diffs it
  * returns max value.
@@ -191,10 +183,10 @@
 timediff_t Curl_timediff(struct curltime newer, struct curltime older)
 {
   timediff_t diff = (timediff_t)newer.tv_sec-older.tv_sec;
-  if(diff >= (TIME_MAX/1000))
-    return TIME_MAX;
-  else if(diff <= (TIME_MIN/1000))
-    return TIME_MIN;
+  if(diff >= (TIMEDIFF_T_MAX/1000))
+    return TIMEDIFF_T_MAX;
+  else if(diff <= (TIMEDIFF_T_MIN/1000))
+    return TIMEDIFF_T_MIN;
   return diff * 1000 + (newer.tv_usec-older.tv_usec)/1000;
 }
 
@@ -205,9 +197,9 @@
 timediff_t Curl_timediff_us(struct curltime newer, struct curltime older)
 {
   timediff_t diff = (timediff_t)newer.tv_sec-older.tv_sec;
-  if(diff >= (TIME_MAX/1000000))
-    return TIME_MAX;
-  else if(diff <= (TIME_MIN/1000000))
-    return TIME_MIN;
+  if(diff >= (TIMEDIFF_T_MAX/1000000))
+    return TIMEDIFF_T_MAX;
+  else if(diff <= (TIMEDIFF_T_MIN/1000000))
+    return TIMEDIFF_T_MIN;
   return diff * 1000000 + newer.tv_usec-older.tv_usec;
 }
diff --git a/lib/timeval.h b/lib/timeval.h
index 96867d7..53e0636 100644
--- a/lib/timeval.h
+++ b/lib/timeval.h
@@ -24,13 +24,13 @@
 
 #include "curl_setup.h"
 
-#if SIZEOF_TIME_T < 8
-typedef int timediff_t;
-#define CURL_FORMAT_TIMEDIFF_T "d"
-#else
+/* Use a larger type even for 32 bit time_t systems so that we can keep
+   microsecond accuracy in it */
 typedef curl_off_t timediff_t;
 #define CURL_FORMAT_TIMEDIFF_T CURL_FORMAT_CURL_OFF_T
-#endif
+
+#define TIMEDIFF_T_MAX CURL_OFF_T_MAX
+#define TIMEDIFF_T_MIN CURL_OFF_T_MIN
 
 struct curltime {
   time_t tv_sec; /* seconds */
diff --git a/lib/transfer.c b/lib/transfer.c
index b9bb5f6..ef0d806 100644
--- a/lib/transfer.c
+++ b/lib/transfer.c
@@ -176,7 +176,7 @@
 #ifndef CURL_DISABLE_HTTP
   if(data->state.trailers_state == TRAILERS_INITIALIZED) {
     struct curl_slist *trailers = NULL;
-    CURLcode c;
+    CURLcode result;
     int trailers_ret_code;
 
     /* at this point we already verified that the callback exists
@@ -195,17 +195,18 @@
                                                    data->set.trailer_data);
     Curl_set_in_callback(data, false);
     if(trailers_ret_code == CURL_TRAILERFUNC_OK) {
-      c = Curl_http_compile_trailers(trailers, data->state.trailers_buf, data);
+      result = Curl_http_compile_trailers(trailers, &data->state.trailers_buf,
+                                          data);
     }
     else {
       failf(data, "operation aborted by trailing headers callback");
       *nreadp = 0;
-      c = CURLE_ABORTED_BY_CALLBACK;
+      result = CURLE_ABORTED_BY_CALLBACK;
     }
-    if(c != CURLE_OK) {
+    if(result) {
       Curl_add_buffer_free(&data->state.trailers_buf);
       curl_slist_free_all(trailers);
-      return c;
+      return result;
     }
     infof(data, "Successfully compiled trailers.\r\n");
     curl_slist_free_all(trailers);
@@ -497,7 +498,7 @@
        TRUE. The thing is if we read everything, then http2_recv won't
        be called and we cannot signal the HTTP/2 stream has closed. As
        a workaround, we return nonzero here to call http2_recv. */
-    ((conn->handler->protocol&PROTO_FAMILY_HTTP) && conn->httpversion == 20);
+    ((conn->handler->protocol&PROTO_FAMILY_HTTP) && conn->httpversion >= 20);
 #else
     Curl_ssl_data_pending(conn, FIRSTSOCKET);
 #endif
@@ -601,7 +602,7 @@
       nread = 0;
     }
 
-    if((k->bytecount == 0) && (k->writebytecount == 0)) {
+    if(!k->bytecount) {
       Curl_pgrsTime(data, TIMER_STARTTRANSFER);
       if(k->exp100 > EXP100_SEND_DATA)
         /* set time stamp to compare with when waiting for the 100 */
@@ -942,7 +943,9 @@
 {
   k->keepon &= ~KEEP_SEND; /* we're done writing */
 
+  /* These functions should be moved into the handler struct! */
   Curl_http2_done_sending(conn);
+  Curl_quic_done_sending(conn);
 
   if(conn->bits.rewindaftersend) {
     CURLcode result = Curl_readrewind(conn);
@@ -1354,20 +1357,14 @@
  * in the proper state to have this information available.
  */
 int Curl_single_getsock(const struct connectdata *conn,
-                        curl_socket_t *sock, /* points to numsocks number
-                                                of sockets */
-                        int numsocks)
+                        curl_socket_t *sock)
 {
   const struct Curl_easy *data = conn->data;
   int bitmap = GETSOCK_BLANK;
   unsigned sockindex = 0;
 
   if(conn->handler->perform_getsock)
-    return conn->handler->perform_getsock(conn, sock, numsocks);
-
-  if(numsocks < 2)
-    /* simple check but we might need two slots */
-    return GETSOCK_BLANK;
+    return conn->handler->perform_getsock(conn, sock);
 
   /* don't include HOLD and PAUSE connections */
   if((data->req.keepon & KEEP_RECVBITS) == KEEP_RECV) {
diff --git a/lib/transfer.h b/lib/transfer.h
index da36f19..67fd91f 100644
--- a/lib/transfer.h
+++ b/lib/transfer.h
@@ -47,8 +47,7 @@
                         struct Curl_easy *data, bool *done,
                         bool *comeback);
 int Curl_single_getsock(const struct connectdata *conn,
-                        curl_socket_t *socks,
-                        int numsocks);
+                        curl_socket_t *socks);
 CURLcode Curl_readrewind(struct connectdata *conn);
 CURLcode Curl_fillreadbuffer(struct connectdata *conn, size_t bytes,
                              size_t *nreadp);
diff --git a/lib/url.c b/lib/url.c
index 2b47b23..b7cf7be 100644
--- a/lib/url.c
+++ b/lib/url.c
@@ -112,7 +112,6 @@
 #include "connect.h"
 #include "inet_ntop.h"
 #include "http_ntlm.h"
-#include "socks.h"
 #include "curl_rtmp.h"
 #include "gopher.h"
 #include "http_proxy.h"
@@ -546,7 +545,7 @@
   set->upkeep_interval_ms = CURL_UPKEEP_INTERVAL_DEFAULT;
   set->maxconnects = DEFAULT_CONNCACHE_SIZE; /* for easy handles */
   set->maxage_conn = 118;
-  set->http09_allowed = TRUE;
+  set->http09_allowed = FALSE;
   set->httpversion =
 #ifdef USE_NGHTTP2
     CURL_HTTP_VERSION_2TLS
@@ -715,6 +714,7 @@
   Curl_safefree(conn->user);
   Curl_safefree(conn->passwd);
   Curl_safefree(conn->oauth_bearer);
+  Curl_safefree(conn->sasl_authzid);
   Curl_safefree(conn->options);
   Curl_safefree(conn->http_proxy.user);
   Curl_safefree(conn->socks_proxy.user);
@@ -972,7 +972,8 @@
 static void prune_dead_connections(struct Curl_easy *data)
 {
   struct curltime now = Curl_now();
-  time_t elapsed = Curl_timediff(now, data->state.conn_cache->last_cleanup);
+  timediff_t elapsed =
+    Curl_timediff(now, data->state.conn_cache->last_cleanup);
 
   if(elapsed >= 1000L) {
     struct prunedead prune;
@@ -1371,58 +1372,6 @@
   return FALSE; /* no matching connecting exists */
 }
 
-/* after a TCP connection to the proxy has been verified, this function does
-   the next magic step.
-
-   Note: this function's sub-functions call failf()
-
-*/
-CURLcode Curl_connected_proxy(struct connectdata *conn, int sockindex)
-{
-  CURLcode result = CURLE_OK;
-
-  if(conn->bits.socksproxy) {
-#ifndef CURL_DISABLE_PROXY
-    /* for the secondary socket (FTP), use the "connect to host"
-     * but ignore the "connect to port" (use the secondary port)
-     */
-    const char * const host = conn->bits.httpproxy ?
-                              conn->http_proxy.host.name :
-                              conn->bits.conn_to_host ?
-                              conn->conn_to_host.name :
-                              sockindex == SECONDARYSOCKET ?
-                              conn->secondaryhostname : conn->host.name;
-    const int port = conn->bits.httpproxy ? (int)conn->http_proxy.port :
-                     sockindex == SECONDARYSOCKET ? conn->secondary_port :
-                     conn->bits.conn_to_port ? conn->conn_to_port :
-                     conn->remote_port;
-    conn->bits.socksproxy_connecting = TRUE;
-    switch(conn->socks_proxy.proxytype) {
-    case CURLPROXY_SOCKS5:
-    case CURLPROXY_SOCKS5_HOSTNAME:
-      result = Curl_SOCKS5(conn->socks_proxy.user, conn->socks_proxy.passwd,
-                         host, port, sockindex, conn);
-      break;
-
-    case CURLPROXY_SOCKS4:
-    case CURLPROXY_SOCKS4A:
-      result = Curl_SOCKS4(conn->socks_proxy.user, host, port, sockindex,
-                           conn);
-      break;
-
-    default:
-      failf(conn->data, "unknown proxytype option given");
-      result = CURLE_COULDNT_CONNECT;
-    } /* switch proxytype */
-    conn->bits.socksproxy_connecting = FALSE;
-#else
-  (void)sockindex;
-#endif /* CURL_DISABLE_PROXY */
-  }
-
-  return result;
-}
-
 /*
  * verboseconnect() displays verbose information after a connect
  */
@@ -1439,127 +1388,6 @@
 }
 #endif
 
-int Curl_protocol_getsock(struct connectdata *conn,
-                          curl_socket_t *socks,
-                          int numsocks)
-{
-  if(conn->handler->proto_getsock)
-    return conn->handler->proto_getsock(conn, socks, numsocks);
-  /* Backup getsock logic. Since there is a live socket in use, we must wait
-     for it or it will be removed from watching when the multi_socket API is
-     used. */
-  socks[0] = conn->sock[FIRSTSOCKET];
-  return GETSOCK_READSOCK(0) | GETSOCK_WRITESOCK(0);
-}
-
-int Curl_doing_getsock(struct connectdata *conn,
-                       curl_socket_t *socks,
-                       int numsocks)
-{
-  if(conn && conn->handler->doing_getsock)
-    return conn->handler->doing_getsock(conn, socks, numsocks);
-  return GETSOCK_BLANK;
-}
-
-/*
- * We are doing protocol-specific connecting and this is being called over and
- * over from the multi interface until the connection phase is done on
- * protocol layer.
- */
-
-CURLcode Curl_protocol_connecting(struct connectdata *conn,
-                                  bool *done)
-{
-  CURLcode result = CURLE_OK;
-
-  if(conn && conn->handler->connecting) {
-    *done = FALSE;
-    result = conn->handler->connecting(conn, done);
-  }
-  else
-    *done = TRUE;
-
-  return result;
-}
-
-/*
- * We are DOING this is being called over and over from the multi interface
- * until the DOING phase is done on protocol layer.
- */
-
-CURLcode Curl_protocol_doing(struct connectdata *conn, bool *done)
-{
-  CURLcode result = CURLE_OK;
-
-  if(conn && conn->handler->doing) {
-    *done = FALSE;
-    result = conn->handler->doing(conn, done);
-  }
-  else
-    *done = TRUE;
-
-  return result;
-}
-
-/*
- * We have discovered that the TCP connection has been successful, we can now
- * proceed with some action.
- *
- */
-CURLcode Curl_protocol_connect(struct connectdata *conn,
-                               bool *protocol_done)
-{
-  CURLcode result = CURLE_OK;
-
-  *protocol_done = FALSE;
-
-  if(conn->bits.tcpconnect[FIRSTSOCKET] && conn->bits.protoconnstart) {
-    /* We already are connected, get back. This may happen when the connect
-       worked fine in the first call, like when we connect to a local server
-       or proxy. Note that we don't know if the protocol is actually done.
-
-       Unless this protocol doesn't have any protocol-connect callback, as
-       then we know we're done. */
-    if(!conn->handler->connecting)
-      *protocol_done = TRUE;
-
-    return CURLE_OK;
-  }
-
-  if(!conn->bits.protoconnstart) {
-
-    result = Curl_proxy_connect(conn, FIRSTSOCKET);
-    if(result)
-      return result;
-
-    if(CONNECT_FIRSTSOCKET_PROXY_SSL())
-      /* wait for HTTPS proxy SSL initialization to complete */
-      return CURLE_OK;
-
-    if(conn->bits.tunnel_proxy && conn->bits.httpproxy &&
-       Curl_connect_ongoing(conn))
-      /* when using an HTTP tunnel proxy, await complete tunnel establishment
-         before proceeding further. Return CURLE_OK so we'll be called again */
-      return CURLE_OK;
-
-    if(conn->handler->connect_it) {
-      /* is there a protocol-specific connect() procedure? */
-
-      /* Call the protocol-specific connect function */
-      result = conn->handler->connect_it(conn, protocol_done);
-    }
-    else
-      *protocol_done = TRUE;
-
-    /* it has started, possibly even completed but that knowledge isn't stored
-       in this bit! */
-    if(!result)
-      conn->bits.protoconnstart = TRUE;
-  }
-
-  return result; /* pass back status */
-}
-
 /*
  * Helpers for IDNA conversions.
  */
@@ -1774,6 +1602,7 @@
   conn->proxy_ssl_config.verifyhost = data->set.proxy_ssl.primary.verifyhost;
   conn->ip_version = data->set.ipver;
   conn->bits.connect_only = data->set.connect_only;
+  conn->transport = TRNSPRT_TCP; /* most of them are TCP streams */
 
 #if !defined(CURL_DISABLE_HTTP) && defined(USE_NTLM) && \
     defined(NTLM_WB_ENABLED)
@@ -2110,7 +1939,6 @@
 {
   const struct Curl_handler * p;
   CURLcode result;
-  conn->socktype = SOCK_STREAM; /* most of them are TCP streams */
 
   /* Perform setup complement if some. */
   p = conn->handler;
@@ -2860,8 +2688,7 @@
                           &netrc_user_changed, &netrc_passwd_changed,
                           data->set.str[STRING_NETRC_FILE]);
     if(ret > 0) {
-      infof(data, "Couldn't find host %s in the "
-            DOT_CHAR "netrc file; using defaults\n",
+      infof(data, "Couldn't find host %s in the .netrc file; using defaults\n",
             conn->host.name);
     }
     else if(ret < 0) {
@@ -3158,26 +2985,65 @@
   if(data->asi && !host && (port == -1) &&
      (conn->handler->protocol == CURLPROTO_HTTPS)) {
     /* no connect_to match, try alt-svc! */
-    const char *nhost;
-    int nport;
-    enum alpnid nalpnid;
+    enum alpnid srcalpnid;
     bool hit;
+    struct altsvc *as;
+    const int allowed_versions = ( ALPN_h1
+#ifdef USE_NGHTTP2
+      | ALPN_h2
+#endif
+#ifdef ENABLE_QUIC
+      | ALPN_h3
+#endif
+      ) & data->asi->flags;
+
     host = conn->host.rawalloc;
+#ifdef USE_NGHTTP2
+    /* with h2 support, check that first */
+    srcalpnid = ALPN_h2;
     hit = Curl_altsvc_lookup(data->asi,
-                             ALPN_h1, host, conn->remote_port, /* from */
-                             &nalpnid, &nhost, &nport /* to */);
+                             srcalpnid, host, conn->remote_port, /* from */
+                             &as /* to */,
+                             allowed_versions);
+    if(!hit)
+#endif
+    {
+      srcalpnid = ALPN_h1;
+      hit = Curl_altsvc_lookup(data->asi,
+                               srcalpnid, host, conn->remote_port, /* from */
+                               &as /* to */,
+                               allowed_versions);
+    }
     if(hit) {
-      char *hostd = strdup((char *)nhost);
+      char *hostd = strdup((char *)as->dst.host);
       if(!hostd)
         return CURLE_OUT_OF_MEMORY;
       conn->conn_to_host.rawalloc = hostd;
       conn->conn_to_host.name = hostd;
       conn->bits.conn_to_host = TRUE;
-      conn->conn_to_port = nport;
+      conn->conn_to_port = as->dst.port;
       conn->bits.conn_to_port = TRUE;
+      conn->bits.altused = TRUE;
       infof(data, "Alt-svc connecting from [%s]%s:%d to [%s]%s:%d\n",
-            Curl_alpnid2str(ALPN_h1), host, conn->remote_port,
-            Curl_alpnid2str(nalpnid), hostd, nport);
+            Curl_alpnid2str(srcalpnid), host, conn->remote_port,
+            Curl_alpnid2str(as->dst.alpnid), hostd, as->dst.port);
+      if(srcalpnid != as->dst.alpnid) {
+        /* protocol version switch */
+        switch(as->dst.alpnid) {
+        case ALPN_h1:
+          conn->httpversion = 11;
+          break;
+        case ALPN_h2:
+          conn->httpversion = 20;
+          break;
+        case ALPN_h3:
+          conn->transport = TRNSPRT_QUIC;
+          conn->httpversion = 30;
+          break;
+        default: /* shouldn't be possible */
+          break;
+        }
+      }
     }
   }
 #endif
@@ -3464,6 +3330,14 @@
     }
   }
 
+  if(data->set.str[STRING_SASL_AUTHZID]) {
+    conn->sasl_authzid = strdup(data->set.str[STRING_SASL_AUTHZID]);
+    if(!conn->sasl_authzid) {
+      result = CURLE_OUT_OF_MEMORY;
+      goto out;
+    }
+  }
+
 #ifdef USE_UNIX_SOCKETS
   if(data->set.str[STRING_UNIX_SOCKET_PATH]) {
     conn->unix_domain_socket = strdup(data->set.str[STRING_UNIX_SOCKET_PATH]);
@@ -4162,34 +4036,3 @@
 
   return family;
 }
-
-
-/*
- * Wrapper to call functions in Curl_conncache_foreach()
- *
- * Returns always 0.
- */
-static int conn_upkeep(struct connectdata *conn,
-                       void *param)
-{
-  /* Param is unused. */
-  (void)param;
-
-  if(conn->handler->connection_check) {
-    /* Do a protocol-specific keepalive check on the connection. */
-    conn->handler->connection_check(conn, CONNCHECK_KEEPALIVE);
-  }
-
-  return 0; /* continue iteration */
-}
-
-CURLcode Curl_upkeep(struct conncache *conn_cache,
-                          void *data)
-{
-  /* Loop over every connection and make connection alive. */
-  Curl_conncache_foreach(data,
-                         conn_cache,
-                         data,
-                         conn_upkeep);
-  return CURLE_OK;
-}
diff --git a/lib/url.h b/lib/url.h
index 7c87432..f4d611a 100644
--- a/lib/url.h
+++ b/lib/url.h
@@ -53,23 +53,12 @@
 CURLcode Curl_connect(struct Curl_easy *, bool *async, bool *protocol_connect);
 CURLcode Curl_disconnect(struct Curl_easy *data,
                          struct connectdata *, bool dead_connection);
-CURLcode Curl_protocol_connect(struct connectdata *conn, bool *done);
-CURLcode Curl_protocol_connecting(struct connectdata *conn, bool *done);
-CURLcode Curl_protocol_doing(struct connectdata *conn, bool *done);
 CURLcode Curl_setup_conn(struct connectdata *conn,
                          bool *protocol_done);
 void Curl_free_request_state(struct Curl_easy *data);
-
-int Curl_protocol_getsock(struct connectdata *conn,
-                          curl_socket_t *socks,
-                          int numsocks);
-int Curl_doing_getsock(struct connectdata *conn,
-                       curl_socket_t *socks,
-                       int numsocks);
 CURLcode Curl_parse_login_details(const char *login, const size_t len,
                                   char **userptr, char **passwdptr,
                                   char **optionsptr);
-CURLcode Curl_upkeep(struct conncache *conn_cache, void *data);
 
 const struct Curl_handler *Curl_builtin_scheme(const char *scheme);
 
@@ -77,8 +66,6 @@
 #define CURL_DEFAULT_HTTPS_PROXY_PORT 443 /* default https proxy port unless
                                              specified */
 
-CURLcode Curl_connected_proxy(struct connectdata *conn, int sockindex);
-
 #ifdef CURL_DISABLE_VERBOSE_STRINGS
 #define Curl_verboseconnect(x)  Curl_nop_stmt
 #else
diff --git a/lib/urlapi.c b/lib/urlapi.c
index d07e4f5..a0ee331 100644
--- a/lib/urlapi.c
+++ b/lib/urlapi.c
@@ -29,6 +29,7 @@
 #include "url.h"
 #include "escape.h"
 #include "curl_ctype.h"
+#include "inet_pton.h"
 
 /* The last 3 #include files should be in this order */
 #include "curl_printf.h"
@@ -591,20 +592,22 @@
 
 static CURLUcode hostname_check(struct Curl_URL *u, char *hostname)
 {
-  const char *l = NULL; /* accepted characters */
   size_t len;
   size_t hlen = strlen(hostname);
 
   if(hostname[0] == '[') {
+    char dest[16]; /* fits a binary IPv6 address */
+    const char *l = "0123456789abcdefABCDEF:.";
     hostname++;
-    l = "0123456789abcdefABCDEF::.";
     hlen -= 2;
-  }
 
-  if(l) {
+    if(hostname[hlen] != ']')
+      return CURLUE_MALFORMED_INPUT;
+
     /* only valid letters are ok */
     len = strspn(hostname, l);
     if(hlen != len) {
+      hlen = len;
       if(hostname[len] == '%') {
         /* this could now be '%[zone id]' */
         char zoneid[16];
@@ -628,6 +631,12 @@
         return CURLUE_MALFORMED_INPUT;
       /* hostname is fine */
     }
+#ifdef ENABLE_IPV6
+    hostname[hlen] = 0; /* end the address there */
+    if(1 != Curl_inet_pton(AF_INET6, hostname, dest))
+      return CURLUE_MALFORMED_INPUT;
+    hostname[hlen] = ']'; /* restore ending bracket */
+#endif
   }
   else {
     /* letters from the second string is not ok */
diff --git a/lib/urldata.h b/lib/urldata.h
index fdc185b..acc1fd1 100644
--- a/lib/urldata.h
+++ b/lib/urldata.h
@@ -129,6 +129,7 @@
 #include "smb.h"
 #include "wildcard.h"
 #include "multihandle.h"
+#include "quic.h"
 
 #ifdef HAVE_GSSAPI
 # ifdef HAVE_GSSGNU
@@ -404,6 +405,7 @@
                          the first time on the first connect function call */
   bit close:1; /* if set, we close the connection after this request */
   bit reuse:1; /* if set, this is a re-used connection */
+  bit altused:1; /* this is an alt-svc "redirect" */
   bit conn_to_host:1; /* if set, this connection has a "connect to host"
                          that overrides the host in the URL */
   bit conn_to_port:1; /* if set, this connection has a "connect to port"
@@ -663,27 +665,23 @@
   /* Called from the multi interface during the PROTOCONNECT phase, and it
      should then return a proper fd set */
   int (*proto_getsock)(struct connectdata *conn,
-                       curl_socket_t *socks,
-                       int numsocks);
+                       curl_socket_t *socks);
 
   /* Called from the multi interface during the DOING phase, and it should
      then return a proper fd set */
   int (*doing_getsock)(struct connectdata *conn,
-                       curl_socket_t *socks,
-                       int numsocks);
+                       curl_socket_t *socks);
 
   /* Called from the multi interface during the DO_MORE phase, and it should
      then return a proper fd set */
   int (*domore_getsock)(struct connectdata *conn,
-                        curl_socket_t *socks,
-                        int numsocks);
+                        curl_socket_t *socks);
 
   /* Called from the multi interface during the DO_DONE, PERFORM and
      WAITPERFORM phases, and it should then return a proper fd set. Not setting
      this will make libcurl use the generic default one. */
   int (*perform_getsock)(const struct connectdata *conn,
-                         curl_socket_t *socks,
-                         int numsocks);
+                         curl_socket_t *socks);
 
   /* This function *MAY* be set to a protocol-dependent function that is run
    * by the curl_disconnect(), as a step in the disconnection.  If the handler
@@ -782,6 +780,8 @@
   bit close_connection:1;
 };
 
+struct ldapconninfo;
+
 /*
  * The connectdata struct contains all fields and variables that should be
  * unique for an entire connection.
@@ -831,7 +831,16 @@
 
   unsigned int scope_id;  /* Scope id for IPv6 */
 
-  int socktype;  /* SOCK_STREAM or SOCK_DGRAM */
+  enum {
+    TRNSPRT_TCP = 3,
+    TRNSPRT_UDP = 4,
+    TRNSPRT_QUIC = 5
+  } transport;
+
+#ifdef ENABLE_QUIC
+  struct quicsocket hequic[2]; /* two, for happy eyeballs! */
+  struct quicsocket *quic;
+#endif
 
   struct hostname host;
   char *hostname_resolve; /* host name to resolve to address, allocated */
@@ -870,7 +879,8 @@
   char *passwd;  /* password string, allocated */
   char *options; /* options string, allocated */
 
-  char *oauth_bearer; /* bearer token for OAuth 2.0, allocated */
+  char *oauth_bearer;     /* bearer token for OAuth 2.0, allocated */
+  char *sasl_authzid;     /* authorisation identity string, allocated */
 
   int httpversion;        /* the HTTP version*10 reported by the server */
   int rtspversion;        /* the RTSP version*10 reported by the server */
@@ -904,8 +914,8 @@
   struct curltime connecttime;
   /* The two fields below get set in Curl_connecthost */
   int num_addr; /* number of addresses to try to connect to */
-  time_t timeoutms_per_addr; /* how long time in milliseconds to spend on
-                                trying to connect to each IP address */
+  timediff_t timeoutms_per_addr; /* how long time in milliseconds to spend on
+                                    trying to connect to each IP address */
 
   const struct Curl_handler *handler; /* Connection's protocol handler */
   const struct Curl_handler *given;   /* The protocol first given */
@@ -1010,7 +1020,8 @@
     struct smtp_conn smtpc;
     struct rtsp_conn rtspc;
     struct smb_conn smbc;
-    void *generic; /* RTMP and LDAP use this */
+    void *rtmp;
+    struct ldapconninfo *ldapc;
   } proto;
 
   int cselect_bits; /* bitmask of socket events */
@@ -1065,6 +1076,7 @@
   long numconnects; /* how many new connection did libcurl created */
   char *contenttype; /* the content type of the object */
   char *wouldredirect; /* URL this would've been redirected to if asked to */
+  curl_off_t retry_after; /* info from Retry-After: header */
 
   /* PureInfo members 'conn_primary_ip', 'conn_primary_port', 'conn_local_ip'
      and, 'conn_local_port' are copied over from the connectdata struct in
@@ -1084,7 +1096,6 @@
                                  OpenSSL, GnuTLS, Schannel, NSS and GSKit
                                  builds. Asked for with CURLOPT_CERTINFO
                                  / CURLINFO_CERTINFO */
-
   bit timecond:1;  /* set to TRUE if the time condition didn't match, which
                       thus made the document NOT get fetched */
 };
@@ -1103,17 +1114,17 @@
   int width; /* screen width at download start */
   int flags; /* see progress.h */
 
-  time_t timespent;
+  timediff_t timespent;
 
   curl_off_t dlspeed;
   curl_off_t ulspeed;
 
-  time_t t_nslookup;
-  time_t t_connect;
-  time_t t_appconnect;
-  time_t t_pretransfer;
-  time_t t_starttransfer;
-  time_t t_redirect;
+  timediff_t t_nslookup;
+  timediff_t t_connect;
+  timediff_t t_appconnect;
+  timediff_t t_pretransfer;
+  timediff_t t_starttransfer;
+  timediff_t t_redirect;
 
   struct curltime start;
   struct curltime t_startsingle;
@@ -1221,6 +1232,7 @@
   EXPIRE_SPEEDCHECK,
   EXPIRE_TIMEOUT,
   EXPIRE_TOOFAST,
+  EXPIRE_QUIC,
   EXPIRE_LAST /* not an actual timer, used as a marker only */
 } expire_id;
 
@@ -1493,6 +1505,10 @@
 #ifdef USE_ALTSVC
   STRING_ALTSVC,                /* CURLOPT_ALTSVC */
 #endif
+  STRING_SASL_AUTHZID,          /* CURLOPT_SASL_AUTHZID */
+#ifndef CURL_DISABLE_PROXY
+  STRING_TEMP_URL,              /* temp URL storage for proxy use */
+#endif
   /* -- end of zero-terminated strings -- */
 
   STRING_LASTZEROTERMINATED,
diff --git a/lib/vauth/digest_sspi.c b/lib/vauth/digest_sspi.c
index fe8093e..a109056 100644
--- a/lib/vauth/digest_sspi.c
+++ b/lib/vauth/digest_sspi.c
@@ -61,6 +61,11 @@
   status = s_pSecFn->QuerySecurityPackageInfo((TCHAR *) TEXT(SP_NAME_DIGEST),
                                               &SecurityPackage);
 
+  /* Release the package buffer as it is not required anymore */
+  if(status == SEC_E_OK) {
+    s_pSecFn->FreeContextBuffer(SecurityPackage);
+  }
+
   return (status == SEC_E_OK ? TRUE : FALSE);
 }
 
@@ -220,7 +225,10 @@
     free(output_token);
     free(input_token);
 
-    return CURLE_RECV_ERROR;
+    if(status == SEC_E_INSUFFICIENT_MEMORY)
+      return CURLE_OUT_OF_MEMORY;
+
+    return CURLE_AUTH_ERROR;
   }
 
   /* Base64 encode the response */
@@ -607,7 +615,10 @@
 
       Curl_safefree(digest->http_context);
 
-      return CURLE_OUT_OF_MEMORY;
+      if(status == SEC_E_INSUFFICIENT_MEMORY)
+        return CURLE_OUT_OF_MEMORY;
+
+      return CURLE_AUTH_ERROR;
     }
 
     output_token_len = resp_buf.cbBuffer;
diff --git a/lib/vauth/krb5_gssapi.c b/lib/vauth/krb5_gssapi.c
index ea0a5f1..95bab0e 100644
--- a/lib/vauth/krb5_gssapi.c
+++ b/lib/vauth/krb5_gssapi.c
@@ -121,7 +121,7 @@
 
       free(spn);
 
-      return CURLE_OUT_OF_MEMORY;
+      return CURLE_AUTH_ERROR;
     }
 
     free(spn);
@@ -168,7 +168,7 @@
     Curl_gss_log_error(data, "gss_init_sec_context() failed: ",
                        major_status, minor_status);
 
-    return CURLE_RECV_ERROR;
+    return CURLE_AUTH_ERROR;
   }
 
   if(output_token.value && output_token.length) {
@@ -252,7 +252,7 @@
 
     free(chlg);
 
-    return CURLE_OUT_OF_MEMORY;
+    return CURLE_AUTH_ERROR;
   }
 
   /* Convert the username from internal format to a displayable token */
@@ -264,7 +264,7 @@
 
     free(chlg);
 
-    return CURLE_OUT_OF_MEMORY;
+    return CURLE_AUTH_ERROR;
   }
 
   /* Setup the challenge "input" security buffer */
@@ -355,7 +355,7 @@
 
     free(message);
 
-    return CURLE_OUT_OF_MEMORY;
+    return CURLE_AUTH_ERROR;
   }
 
   /* Base64 encode the response */
diff --git a/lib/vauth/krb5_sspi.c b/lib/vauth/krb5_sspi.c
index 1f6e462..98041d9 100644
--- a/lib/vauth/krb5_sspi.c
+++ b/lib/vauth/krb5_sspi.c
@@ -58,6 +58,11 @@
                                               TEXT(SP_NAME_KERBEROS),
                                               &SecurityPackage);
 
+  /* Release the package buffer as it is not required anymore */
+  if(status == SEC_E_OK) {
+    s_pSecFn->FreeContextBuffer(SecurityPackage);
+  }
+
   return (status == SEC_E_OK ? TRUE : FALSE);
 }
 
@@ -217,8 +222,12 @@
   /* Free the decoded challenge as it is not required anymore */
   free(chlg);
 
+  if(status == SEC_E_INSUFFICIENT_MEMORY) {
+    return CURLE_OUT_OF_MEMORY;
+  }
+
   if(status != SEC_E_OK && status != SEC_I_CONTINUE_NEEDED) {
-    return CURLE_RECV_ERROR;
+    return CURLE_AUTH_ERROR;
   }
 
   if(memcmp(&context, krb5->context, sizeof(context))) {
@@ -309,7 +318,10 @@
   if(status != SEC_E_OK) {
     free(chlg);
 
-    return CURLE_OUT_OF_MEMORY;
+    if(status == SEC_E_INSUFFICIENT_MEMORY)
+      return CURLE_OUT_OF_MEMORY;
+
+    return CURLE_AUTH_ERROR;
   }
 
   /* Get the fully qualified username back from the context */
@@ -319,7 +331,10 @@
   if(status != SEC_E_OK) {
     free(chlg);
 
-    return CURLE_RECV_ERROR;
+    if(status == SEC_E_INSUFFICIENT_MEMORY)
+      return CURLE_OUT_OF_MEMORY;
+
+    return CURLE_AUTH_ERROR;
   }
 
   /* Setup the "input" security buffer */
@@ -438,7 +453,10 @@
     free(message);
     free(trailer);
 
-    return CURLE_OUT_OF_MEMORY;
+    if(status == SEC_E_INSUFFICIENT_MEMORY)
+      return CURLE_OUT_OF_MEMORY;
+
+    return CURLE_AUTH_ERROR;
   }
 
   /* Allocate the encryption (wrap) buffer */
diff --git a/lib/vauth/ntlm_sspi.c b/lib/vauth/ntlm_sspi.c
index 589cca1..cd6cb79 100644
--- a/lib/vauth/ntlm_sspi.c
+++ b/lib/vauth/ntlm_sspi.c
@@ -56,6 +56,11 @@
   status = s_pSecFn->QuerySecurityPackageInfo((TCHAR *) TEXT(SP_NAME_NTLM),
                                               &SecurityPackage);
 
+  /* Release the package buffer as it is not required anymore */
+  if(status == SEC_E_OK) {
+    s_pSecFn->FreeContextBuffer(SecurityPackage);
+  }
+
   return (status == SEC_E_OK ? TRUE : FALSE);
 }
 
@@ -169,8 +174,10 @@
   if(status == SEC_I_COMPLETE_NEEDED ||
     status == SEC_I_COMPLETE_AND_CONTINUE)
     s_pSecFn->CompleteAuthToken(ntlm->context, &type_1_desc);
+  else if(status == SEC_E_INSUFFICIENT_MEMORY)
+    return CURLE_OUT_OF_MEMORY;
   else if(status != SEC_E_OK && status != SEC_I_CONTINUE_NEEDED)
-    return CURLE_RECV_ERROR;
+    return CURLE_AUTH_ERROR;
 
   /* Base64 encode the response */
   return Curl_base64_encode(data, (char *) ntlm->output_token,
@@ -316,7 +323,10 @@
     infof(data, "NTLM handshake failure (type-3 message): Status=%x\n",
           status);
 
-    return CURLE_RECV_ERROR;
+    if(status == SEC_E_INSUFFICIENT_MEMORY)
+      return CURLE_OUT_OF_MEMORY;
+
+    return CURLE_AUTH_ERROR;
   }
 
   /* Base64 encode the response */
diff --git a/lib/vauth/spnego_gssapi.c b/lib/vauth/spnego_gssapi.c
index 5d43e11..ed7ce02 100644
--- a/lib/vauth/spnego_gssapi.c
+++ b/lib/vauth/spnego_gssapi.c
@@ -121,7 +121,7 @@
 
       free(spn);
 
-      return CURLE_OUT_OF_MEMORY;
+      return CURLE_AUTH_ERROR;
     }
 
     free(spn);
@@ -170,14 +170,14 @@
     Curl_gss_log_error(data, "gss_init_sec_context() failed: ",
                        major_status, minor_status);
 
-    return CURLE_LOGIN_DENIED;
+    return CURLE_AUTH_ERROR;
   }
 
   if(!output_token.value || !output_token.length) {
     if(output_token.value)
       gss_release_buffer(&unused_status, &output_token);
 
-    return CURLE_OUT_OF_MEMORY;
+    return CURLE_AUTH_ERROR;
   }
 
   /* Free previous token */
diff --git a/lib/vauth/spnego_sspi.c b/lib/vauth/spnego_sspi.c
index 4b21cc7..b9c2cf7 100644
--- a/lib/vauth/spnego_sspi.c
+++ b/lib/vauth/spnego_sspi.c
@@ -59,6 +59,12 @@
                                               TEXT(SP_NAME_NEGOTIATE),
                                               &SecurityPackage);
 
+  /* Release the package buffer as it is not required anymore */
+  if(status == SEC_E_OK) {
+    s_pSecFn->FreeContextBuffer(SecurityPackage);
+  }
+
+
   return (status == SEC_E_OK ? TRUE : FALSE);
 }
 
@@ -165,7 +171,7 @@
                                          nego->p_identity, NULL, NULL,
                                          nego->credentials, &expiry);
     if(nego->status != SEC_E_OK)
-      return CURLE_LOGIN_DENIED;
+      return CURLE_AUTH_ERROR;
 
     /* Allocate our new context handle */
     nego->context = calloc(1, sizeof(CtxtHandle));
@@ -251,14 +257,25 @@
     char buffer[STRERROR_LEN];
     failf(data, "InitializeSecurityContext failed: %s",
           Curl_sspi_strerror(nego->status, buffer, sizeof(buffer)));
-    return CURLE_OUT_OF_MEMORY;
+
+    if(nego->status == (DWORD)SEC_E_INSUFFICIENT_MEMORY)
+      return CURLE_OUT_OF_MEMORY;
+
+    return CURLE_AUTH_ERROR;
   }
 
   if(nego->status == SEC_I_COMPLETE_NEEDED ||
      nego->status == SEC_I_COMPLETE_AND_CONTINUE) {
     nego->status = s_pSecFn->CompleteAuthToken(nego->context, &resp_desc);
     if(GSS_ERROR(nego->status)) {
-      return CURLE_RECV_ERROR;
+      char buffer[STRERROR_LEN];
+      failf(data, "CompleteAuthToken failed: %s",
+            Curl_sspi_strerror(nego->status, buffer, sizeof(buffer)));
+
+      if(nego->status == (DWORD)SEC_E_INSUFFICIENT_MEMORY)
+        return CURLE_OUT_OF_MEMORY;
+
+      return CURLE_AUTH_ERROR;
     }
   }
 
diff --git a/lib/version.c b/lib/version.c
index 14b0531..ae2b09d 100644
--- a/lib/version.c
+++ b/lib/version.c
@@ -27,6 +27,7 @@
 #include "vtls/vtls.h"
 #include "http2.h"
 #include "ssh.h"
+#include "quic.h"
 #include "curl_printf.h"
 
 #ifdef USE_ARES
@@ -53,18 +54,6 @@
 #include <librtmp/rtmp.h>
 #endif
 
-#ifdef USE_LIBSSH2
-#include <libssh2.h>
-#endif
-
-#ifdef HAVE_LIBSSH2_VERSION
-/* get it run-time if possible */
-#define CURL_LIBSSH2_VERSION libssh2_version(0)
-#else
-/* use build-time if run-time not possible */
-#define CURL_LIBSSH2_VERSION LIBSSH2_VERSION
-#endif
-
 #ifdef HAVE_ZLIB_H
 #include <zlib.h>
 #ifdef __SYMBIAN32__
@@ -102,7 +91,7 @@
 char *curl_version(void)
 {
   static bool initialized;
-  static char version[200];
+  static char version[250];
   char *ptr = version;
   size_t len;
   size_t left = sizeof(version);
@@ -172,13 +161,12 @@
   left -= len;
   ptr += len;
 #endif
-#ifdef USE_LIBSSH2
-  len = msnprintf(ptr, left, " libssh2/%s", CURL_LIBSSH2_VERSION);
-  left -= len;
-  ptr += len;
-#endif
-#ifdef USE_LIBSSH
-  len = msnprintf(ptr, left, " libssh/%s", CURL_LIBSSH_VERSION);
+#ifdef USE_SSH
+  if(left) {
+    *ptr++=' ';
+    left--;
+  }
+  len = Curl_ssh_version(ptr, left);
   left -= len;
   ptr += len;
 #endif
@@ -187,6 +175,11 @@
   left -= len;
   ptr += len;
 #endif
+#ifdef ENABLE_QUIC
+  len = Curl_quic_ver(ptr, left);
+  left -= len;
+  ptr += len;
+#endif
 #ifdef USE_LIBRTMP
   {
     char suff[2];
@@ -358,6 +351,9 @@
 #if defined(USE_NGHTTP2)
   | CURL_VERSION_HTTP2
 #endif
+#if defined(ENABLE_QUIC)
+  | CURL_VERSION_HTTP3
+#endif
 #if defined(USE_UNIX_SOCKETS)
   | CURL_VERSION_UNIX_SOCKETS
 #endif
@@ -385,6 +381,9 @@
   NULL, /* ssh lib version */
   0,    /* brotli_ver_num */
   NULL, /* brotli version */
+  0,    /* nghttp2 version number */
+  NULL, /* nghttp2 version string */
+  NULL  /* quic library string */
 };
 
 curl_version_info_data *curl_version_info(CURLversion stamp)
@@ -446,11 +445,8 @@
 #endif /* _LIBICONV_VERSION */
 #endif
 
-#if defined(USE_LIBSSH2)
-  msnprintf(ssh_buffer, sizeof(ssh_buffer), "libssh2/%s", LIBSSH2_VERSION);
-  version_info.libssh_version = ssh_buffer;
-#elif defined(USE_LIBSSH)
-  msnprintf(ssh_buffer, sizeof(ssh_buffer), "libssh/%s", CURL_LIBSSH_VERSION);
+#if defined(USE_SSH)
+  Curl_ssh_version(ssh_buffer, sizeof(ssh_buffer));
   version_info.libssh_version = ssh_buffer;
 #endif
 
@@ -460,6 +456,22 @@
   version_info.brotli_version = brotli_buffer;
 #endif
 
+#ifdef USE_NGHTTP2
+  {
+    nghttp2_info *h2 = nghttp2_version(0);
+    version_info.nghttp2_ver_num = h2->version_num;
+    version_info.nghttp2_version = h2->version_str;
+  }
+#endif
+
+#ifdef ENABLE_QUIC
+  {
+    static char quicbuffer[80];
+    Curl_quic_ver(quicbuffer, sizeof(quicbuffer));
+    version_info.quic_version = quicbuffer;
+  }
+#endif
+
   (void)stamp; /* avoid compiler warnings, we don't use this */
 
   initialized = true;
diff --git a/lib/vquic/ngtcp2.c b/lib/vquic/ngtcp2.c
new file mode 100644
index 0000000..6b3d53e
--- /dev/null
+++ b/lib/vquic/ngtcp2.c
@@ -0,0 +1,1600 @@
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
+ *
+ * This software is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at https://curl.haxx.se/docs/copyright.html.
+ *
+ * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+ * copies of the Software, and permit persons to whom the Software is
+ * furnished to do so, under the terms of the COPYING file.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ ***************************************************************************/
+
+#include "curl_setup.h"
+
+#ifdef USE_NGTCP2
+#include <ngtcp2/ngtcp2.h>
+#include <ngtcp2/ngtcp2_crypto.h>
+#include <nghttp3/nghttp3.h>
+#include <openssl/err.h>
+#include "urldata.h"
+#include "sendf.h"
+#include "strdup.h"
+#include "rand.h"
+#include "ngtcp2.h"
+#include "multiif.h"
+#include "strcase.h"
+#include "connect.h"
+#include "strerror.h"
+
+/* The last 3 #include files should be in this order */
+#include "curl_printf.h"
+#include "curl_memory.h"
+#include "memdebug.h"
+
+/* #define DEBUG_NGTCP2 */
+#define DEBUG_HTTP3
+#ifdef DEBUG_HTTP3
+#define H3BUGF(x) x
+#else
+#define H3BUGF(x) do { } WHILE_FALSE
+#endif
+
+/*
+ * This holds outgoing HTTP/3 stream data that is used by nghttp3 until acked.
+ * It is used as a circular buffer. Add new bytes at the end until it reaches
+ * the far end, then start over at index 0 again.
+ */
+
+#define H3_SEND_SIZE (20*1024)
+struct h3out {
+  uint8_t buf[H3_SEND_SIZE];
+  size_t used;   /* number of bytes used in the buffer */
+  size_t windex; /* index in the buffer where to start writing the next
+                    data block */
+};
+
+#define QUIC_MAX_STREAMS (256*1024)
+#define QUIC_MAX_DATA (1*1024*1024)
+#define QUIC_IDLE_TIMEOUT 60000 /* milliseconds */
+#define QUIC_CIPHERS                                                          \
+  "TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_"               \
+  "POLY1305_SHA256:TLS_AES_128_CCM_SHA256"
+#define QUIC_GROUPS "P-256:X25519:P-384:P-521"
+
+static CURLcode ng_process_ingress(struct connectdata *conn,
+                                   curl_socket_t sockfd,
+                                   struct quicsocket *qs);
+static CURLcode ng_flush_egress(struct connectdata *conn, int sockfd,
+                                struct quicsocket *qs);
+static int cb_h3_acked_stream_data(nghttp3_conn *conn, int64_t stream_id,
+                                   size_t datalen, void *user_data,
+                                   void *stream_user_data);
+
+static ngtcp2_tstamp timestamp(void)
+{
+  struct curltime ct = Curl_now();
+  return ct.tv_sec * NGTCP2_SECONDS + ct.tv_usec * NGTCP2_MICROSECONDS;
+}
+
+#ifdef DEBUG_NGTCP2
+static void quic_printf(void *user_data, const char *fmt, ...)
+{
+  va_list ap;
+  (void)user_data; /* TODO, use this to do infof() instead long-term */
+  va_start(ap, fmt);
+  vfprintf(stderr, fmt, ap);
+  va_end(ap);
+  fprintf(stderr, "\n");
+}
+#endif
+
+static ngtcp2_crypto_level
+quic_from_ossl_level(OSSL_ENCRYPTION_LEVEL ossl_level)
+{
+  switch(ossl_level) {
+  case ssl_encryption_initial:
+    return NGTCP2_CRYPTO_LEVEL_INITIAL;
+  case ssl_encryption_early_data:
+    return NGTCP2_CRYPTO_LEVEL_EARLY;
+  case ssl_encryption_handshake:
+    return NGTCP2_CRYPTO_LEVEL_HANDSHAKE;
+  case ssl_encryption_application:
+    return NGTCP2_CRYPTO_LEVEL_APP;
+  default:
+    assert(0);
+  }
+}
+
+static int setup_initial_crypto_context(struct quicsocket *qs)
+{
+  const ngtcp2_cid *dcid = ngtcp2_conn_get_dcid(qs->qconn);
+
+  if(ngtcp2_crypto_derive_and_install_initial_key(
+         qs->qconn, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, dcid,
+         NGTCP2_CRYPTO_SIDE_CLIENT) != 0)
+    return -1;
+
+  return 0;
+}
+
+static void quic_settings(ngtcp2_settings *s,
+                          uint64_t stream_buffer_size)
+{
+  ngtcp2_settings_default(s);
+#ifdef DEBUG_NGTCP2
+  s->log_printf = quic_printf;
+#else
+  s->log_printf = NULL;
+#endif
+  s->initial_ts = timestamp();
+  s->max_stream_data_bidi_local = stream_buffer_size;
+  s->max_stream_data_bidi_remote = QUIC_MAX_STREAMS;
+  s->max_stream_data_uni = QUIC_MAX_STREAMS;
+  s->max_data = QUIC_MAX_DATA;
+  s->max_streams_bidi = 1;
+  s->max_streams_uni = 3;
+  s->idle_timeout = QUIC_IDLE_TIMEOUT;
+}
+
+static FILE *keylog_file; /* not thread-safe */
+static void keylog_callback(const SSL *ssl, const char *line)
+{
+  (void)ssl;
+  fputs(line, keylog_file);
+  fputc('\n', keylog_file);
+  fflush(keylog_file);
+}
+
+static int init_ngh3_conn(struct quicsocket *qs);
+
+static int quic_set_encryption_secrets(SSL *ssl,
+                                       OSSL_ENCRYPTION_LEVEL ossl_level,
+                                       const uint8_t *rx_secret,
+                                       const uint8_t *tx_secret,
+                                       size_t secretlen)
+{
+  struct quicsocket *qs = (struct quicsocket *)SSL_get_app_data(ssl);
+  int level = quic_from_ossl_level(ossl_level);
+
+  if(ngtcp2_crypto_derive_and_install_key(
+         qs->qconn, ssl, NULL, NULL, NULL, NULL, NULL, NULL, level, rx_secret,
+         tx_secret, secretlen, NGTCP2_CRYPTO_SIDE_CLIENT) != 0)
+    return 0;
+
+  if(level == NGTCP2_CRYPTO_LEVEL_APP && init_ngh3_conn(qs) != CURLE_OK)
+    return 0;
+
+  return 1;
+}
+
+static int quic_add_handshake_data(SSL *ssl, OSSL_ENCRYPTION_LEVEL ossl_level,
+                                   const uint8_t *data, size_t len)
+{
+  struct quicsocket *qs = (struct quicsocket *)SSL_get_app_data(ssl);
+  struct quic_handshake *crypto_data;
+  ngtcp2_crypto_level level = quic_from_ossl_level(ossl_level);
+  int rv;
+
+  crypto_data = &qs->client_crypto_data[level];
+  if(crypto_data->buf == NULL) {
+    crypto_data->buf = malloc(4096);
+    crypto_data->alloclen = 4096;
+    /* TODO Explode if malloc failed */
+  }
+
+  /* TODO Just pretend that handshake does not grow more than 4KiB for
+     now */
+  assert(crypto_data->len + len <= crypto_data->alloclen);
+
+  memcpy(&crypto_data->buf[crypto_data->len], data, len);
+  crypto_data->len += len;
+
+  rv = ngtcp2_conn_submit_crypto_data(
+      qs->qconn, level, (uint8_t *)(&crypto_data->buf[crypto_data->len] - len),
+      len);
+  if(rv) {
+    fprintf(stderr, "write_client_handshake failed\n");
+  }
+  assert(0 == rv);
+
+  return 1;
+}
+
+static int quic_flush_flight(SSL *ssl)
+{
+  (void)ssl;
+  return 1;
+}
+
+static int quic_send_alert(SSL *ssl, enum ssl_encryption_level_t level,
+                           uint8_t alert)
+{
+  struct quicsocket *qs = (struct quicsocket *)SSL_get_app_data(ssl);
+  (void)level;
+
+  qs->tls_alert = alert;
+  return 1;
+}
+
+static SSL_QUIC_METHOD quic_method = {quic_set_encryption_secrets,
+                                      quic_add_handshake_data,
+                                      quic_flush_flight, quic_send_alert};
+
+static SSL_CTX *quic_ssl_ctx(struct Curl_easy *data)
+{
+  SSL_CTX *ssl_ctx = SSL_CTX_new(TLS_method());
+  const char *keylog_filename;
+
+  SSL_CTX_set_min_proto_version(ssl_ctx, TLS1_3_VERSION);
+  SSL_CTX_set_max_proto_version(ssl_ctx, TLS1_3_VERSION);
+
+  SSL_CTX_set_default_verify_paths(ssl_ctx);
+
+  if(SSL_CTX_set_ciphersuites(ssl_ctx, QUIC_CIPHERS) != 1) {
+    failf(data, "SSL_CTX_set_ciphersuites: %s",
+          ERR_error_string(ERR_get_error(), NULL));
+    return NULL;
+  }
+
+  if(SSL_CTX_set1_groups_list(ssl_ctx, QUIC_GROUPS) != 1) {
+    failf(data, "SSL_CTX_set1_groups_list failed");
+    return NULL;
+  }
+
+  SSL_CTX_set_quic_method(ssl_ctx, &quic_method);
+
+  keylog_filename = getenv("SSLKEYLOGFILE");
+  if(keylog_filename) {
+    keylog_file = fopen(keylog_filename, "wb");
+    if(keylog_file) {
+      SSL_CTX_set_keylog_callback(ssl_ctx, keylog_callback);
+    }
+  }
+
+  return ssl_ctx;
+}
+
+/** SSL callbacks ***/
+
+static int quic_init_ssl(struct quicsocket *qs)
+{
+  const uint8_t *alpn = NULL;
+  size_t alpnlen = 0;
+  /* this will need some attention when HTTPS proxy over QUIC get fixed */
+  const char * const hostname = qs->conn->host.name;
+
+  if(qs->ssl)
+    SSL_free(qs->ssl);
+
+  qs->ssl = SSL_new(qs->sslctx);
+
+  SSL_set_app_data(qs->ssl, qs);
+  SSL_set_connect_state(qs->ssl);
+
+  switch(qs->version) {
+#ifdef NGTCP2_PROTO_VER
+  case NGTCP2_PROTO_VER:
+    alpn = (const uint8_t *)NGTCP2_ALPN_H3;
+    alpnlen = sizeof(NGTCP2_ALPN_H3) - 1;
+    break;
+#endif
+  }
+  if(alpn)
+    SSL_set_alpn_protos(qs->ssl, alpn, (int)alpnlen);
+
+  /* set SNI */
+  SSL_set_tlsext_host_name(qs->ssl, hostname);
+  return 0;
+}
+
+static int cb_initial(ngtcp2_conn *quic, void *user_data)
+{
+  struct quicsocket *qs = (struct quicsocket *)user_data;
+
+  if(ngtcp2_crypto_read_write_crypto_data(
+         quic, qs->ssl, NGTCP2_CRYPTO_LEVEL_INITIAL, NULL, 0) != 0)
+    return NGTCP2_ERR_CALLBACK_FAILURE;
+
+  return 0;
+}
+
+static int
+cb_recv_crypto_data(ngtcp2_conn *tconn, ngtcp2_crypto_level crypto_level,
+                    uint64_t offset,
+                    const uint8_t *data, size_t datalen,
+                    void *user_data)
+{
+  struct quicsocket *qs = (struct quicsocket *)user_data;
+  (void)offset;
+
+  if(ngtcp2_crypto_read_write_crypto_data(tconn, qs->ssl, crypto_level, data,
+                                          datalen) != 0)
+    return NGTCP2_ERR_CRYPTO;
+
+  return 0;
+}
+
+static int cb_handshake_completed(ngtcp2_conn *tconn, void *user_data)
+{
+  struct quicsocket *qs = (struct quicsocket *)user_data;
+  (void)tconn;
+  infof(qs->conn->data, "QUIC handshake is completed\n");
+
+  return 0;
+}
+
+static int cb_recv_stream_data(ngtcp2_conn *tconn, int64_t stream_id,
+                               int fin, uint64_t offset,
+                               const uint8_t *buf, size_t buflen,
+                               void *user_data, void *stream_user_data)
+{
+  struct quicsocket *qs = (struct quicsocket *)user_data;
+  ssize_t nconsumed;
+  (void)offset;
+  (void)stream_user_data;
+
+  infof(qs->conn->data, "Received %ld bytes data on stream %u\n",
+        buflen, stream_id);
+
+  nconsumed =
+    nghttp3_conn_read_stream(qs->h3conn, stream_id, buf, buflen, fin);
+  if(nconsumed < 0) {
+    failf(qs->conn->data, "nghttp3_conn_read_stream returned error: %s\n",
+          nghttp3_strerror((int)nconsumed));
+    return NGTCP2_ERR_CALLBACK_FAILURE;
+  }
+
+  ngtcp2_conn_extend_max_stream_offset(tconn, stream_id, nconsumed);
+  ngtcp2_conn_extend_max_offset(tconn, nconsumed);
+
+  return 0;
+}
+
+static int
+cb_acked_stream_data_offset(ngtcp2_conn *tconn, int64_t stream_id,
+                            uint64_t offset, size_t datalen, void *user_data,
+                            void *stream_user_data)
+{
+  struct quicsocket *qs = (struct quicsocket *)user_data;
+  int rv;
+  (void)stream_id;
+  (void)tconn;
+  (void)offset;
+  (void)datalen;
+  (void)stream_user_data;
+
+  rv = nghttp3_conn_add_ack_offset(qs->h3conn, stream_id, datalen);
+  if(rv != 0) {
+    failf(qs->conn->data, "nghttp3_conn_add_ack_offset returned error: %s\n",
+          nghttp3_strerror(rv));
+    return NGTCP2_ERR_CALLBACK_FAILURE;
+  }
+
+  return 0;
+}
+
+static int cb_stream_close(ngtcp2_conn *tconn, int64_t stream_id,
+                           uint64_t app_error_code,
+                           void *user_data, void *stream_user_data)
+{
+  struct quicsocket *qs = (struct quicsocket *)user_data;
+  int rv;
+  (void)tconn;
+  (void)stream_user_data;
+  /* stream is closed... */
+
+  rv = nghttp3_conn_close_stream(qs->h3conn, stream_id,
+                                 app_error_code);
+  if(rv != 0) {
+    failf(qs->conn->data, "nghttp3_conn_close_stream returned error: %s\n",
+          nghttp3_strerror(rv));
+    return NGTCP2_ERR_CALLBACK_FAILURE;
+  }
+
+  return 0;
+}
+
+static int cb_stream_reset(ngtcp2_conn *tconn, int64_t stream_id,
+                           uint64_t final_size, uint64_t app_error_code,
+                           void *user_data, void *stream_user_data)
+{
+  struct quicsocket *qs = (struct quicsocket *)user_data;
+  int rv;
+  (void)tconn;
+  (void)final_size;
+  (void)app_error_code;
+  (void)stream_user_data;
+
+  rv = nghttp3_conn_reset_stream(qs->h3conn, stream_id);
+  if(rv != 0) {
+    failf(qs->conn->data, "nghttp3_conn_reset_stream returned error: %s\n",
+          nghttp3_strerror(rv));
+    return NGTCP2_ERR_CALLBACK_FAILURE;
+  }
+
+  return 0;
+}
+
+static int cb_recv_retry(ngtcp2_conn *tconn, const ngtcp2_pkt_hd *hd,
+                         const ngtcp2_pkt_retry *retry, void *user_data)
+{
+  /* Re-generate handshake secrets here because connection ID might change. */
+  struct quicsocket *qs = (struct quicsocket *)user_data;
+  (void)tconn;
+  (void)hd;
+  (void)retry;
+
+  setup_initial_crypto_context(qs);
+
+  return 0;
+}
+
+static int cb_extend_max_local_streams_bidi(ngtcp2_conn *tconn,
+                                            uint64_t max_streams,
+                                            void *user_data)
+{
+  (void)tconn;
+  (void)max_streams;
+  (void)user_data;
+
+  return 0;
+}
+
+static int cb_extend_max_stream_data(ngtcp2_conn *tconn, int64_t stream_id,
+                                     uint64_t max_data, void *user_data,
+                                     void *stream_user_data)
+{
+  struct quicsocket *qs = (struct quicsocket *)user_data;
+  int rv;
+  (void)tconn;
+  (void)max_data;
+  (void)stream_user_data;
+
+  rv = nghttp3_conn_unblock_stream(qs->h3conn, stream_id);
+  if(rv != 0) {
+    failf(qs->conn->data, "nghttp3_conn_unblock_stream returned error: %s\n",
+          nghttp3_strerror(rv));
+    return NGTCP2_ERR_CALLBACK_FAILURE;
+  }
+
+  return 0;
+}
+
+static int cb_get_new_connection_id(ngtcp2_conn *tconn, ngtcp2_cid *cid,
+                                    uint8_t *token, size_t cidlen,
+                                    void *user_data)
+{
+  struct quicsocket *qs = (struct quicsocket *)user_data;
+  CURLcode result;
+  (void)tconn;
+
+  result = Curl_rand(qs->conn->data, cid->data, cidlen);
+  if(result)
+    return NGTCP2_ERR_CALLBACK_FAILURE;
+  cid->datalen = cidlen;
+
+  result = Curl_rand(qs->conn->data, token, NGTCP2_STATELESS_RESET_TOKENLEN);
+  if(result)
+    return NGTCP2_ERR_CALLBACK_FAILURE;
+
+  return 0;
+}
+
+static ngtcp2_conn_callbacks ng_callbacks = {
+  cb_initial,
+  NULL, /* recv_client_initial */
+  cb_recv_crypto_data,
+  cb_handshake_completed,
+  NULL, /* recv_version_negotiation */
+  ngtcp2_crypto_encrypt_cb,
+  ngtcp2_crypto_decrypt_cb,
+  ngtcp2_crypto_hp_mask_cb,
+  cb_recv_stream_data,
+  NULL, /* acked_crypto_offset */
+  cb_acked_stream_data_offset,
+  NULL, /* stream_open */
+  cb_stream_close,
+  NULL, /* recv_stateless_reset */
+  cb_recv_retry,
+  cb_extend_max_local_streams_bidi,
+  NULL, /* extend_max_local_streams_uni */
+  NULL, /* rand  */
+  cb_get_new_connection_id,
+  NULL, /* remove_connection_id */
+  NULL, /* update_key */
+  NULL, /* path_validation */
+  NULL, /* select_preferred_addr */
+  cb_stream_reset,
+  NULL, /* extend_max_remote_streams_bidi */
+  NULL, /* extend_max_remote_streams_uni */
+  cb_extend_max_stream_data,
+};
+
+/*
+ * Might be called twice for happy eyeballs.
+ */
+CURLcode Curl_quic_connect(struct connectdata *conn,
+                           curl_socket_t sockfd,
+                           int sockindex,
+                           const struct sockaddr *addr,
+                           socklen_t addrlen)
+{
+  int rc;
+  int rv;
+  CURLcode result;
+  ngtcp2_path path; /* TODO: this must be initialized properly */
+  struct Curl_easy *data = conn->data;
+  struct quicsocket *qs = &conn->hequic[sockindex];
+  char ipbuf[40];
+  long port;
+  uint8_t paramsbuf[64];
+  ngtcp2_transport_params params;
+  ssize_t nwrite;
+
+  qs->conn = conn;
+
+  /* extract the used address as a string */
+  if(!Curl_addr2string((struct sockaddr*)addr, addrlen, ipbuf, &port)) {
+    char buffer[STRERROR_LEN];
+    failf(data, "ssrem inet_ntop() failed with errno %d: %s",
+          errno, Curl_strerror(errno, buffer, sizeof(buffer)));
+    return CURLE_BAD_FUNCTION_ARGUMENT;
+  }
+
+  infof(data, "Connect socket %d over QUIC to %s:%ld\n",
+        sockfd, ipbuf, port);
+
+  qs->version = NGTCP2_PROTO_VER;
+  qs->sslctx = quic_ssl_ctx(data);
+  if(!qs->sslctx)
+    return CURLE_FAILED_INIT; /* TODO: better return code */
+
+  if(quic_init_ssl(qs))
+    return CURLE_FAILED_INIT; /* TODO: better return code */
+
+  qs->dcid.datalen = NGTCP2_MAX_CIDLEN;
+  result = Curl_rand(data, qs->dcid.data, NGTCP2_MAX_CIDLEN);
+  if(result)
+    return result;
+
+  qs->scid.datalen = NGTCP2_MAX_CIDLEN;
+  result = Curl_rand(data, qs->scid.data, NGTCP2_MAX_CIDLEN);
+  if(result)
+    return result;
+
+  quic_settings(&qs->settings, data->set.buffer_size);
+
+  qs->local_addrlen = sizeof(qs->local_addr);
+  rv = getsockname(sockfd, (struct sockaddr *)&qs->local_addr,
+                   &qs->local_addrlen);
+  if(rv == -1)
+    return CURLE_FAILED_INIT;
+
+  ngtcp2_addr_init(&path.local, (uint8_t *)&qs->local_addr, qs->local_addrlen,
+                   NULL);
+  ngtcp2_addr_init(&path.remote, (uint8_t*)addr, addrlen, NULL);
+
+#ifdef NGTCP2_PROTO_VER
+#define QUICVER NGTCP2_PROTO_VER
+#else
+#error "unsupported ngtcp2 version"
+#endif
+  rc = ngtcp2_conn_client_new(&qs->qconn, &qs->dcid, &qs->scid, &path, QUICVER,
+                              &ng_callbacks, &qs->settings, NULL, qs);
+  if(rc)
+    return CURLE_FAILED_INIT; /* TODO: create a QUIC error code */
+
+  ngtcp2_conn_get_local_transport_params(qs->qconn, &params);
+  nwrite = ngtcp2_encode_transport_params(
+      paramsbuf, sizeof(paramsbuf), NGTCP2_TRANSPORT_PARAMS_TYPE_CLIENT_HELLO,
+      &params);
+  if(nwrite < 0) {
+    fprintf(stderr, "ngtcp2_encode_transport_params: %s\n",
+            ngtcp2_strerror((int)nwrite));
+
+    return CURLE_FAILED_INIT;
+  }
+
+  if(!SSL_set_quic_transport_params(qs->ssl, paramsbuf, nwrite))
+    return CURLE_FAILED_INIT;
+
+  rc = setup_initial_crypto_context(qs);
+  if(rc)
+    return CURLE_FAILED_INIT; /* TODO: better return code */
+
+  return CURLE_OK;
+}
+
+/*
+ * Store ngtp2 version info in this buffer, Prefix with a space.  Return total
+ * length written.
+ */
+int Curl_quic_ver(char *p, size_t len)
+{
+  ngtcp2_info *ng2 = ngtcp2_version(0);
+  nghttp3_info *ht3 = nghttp3_version(0);
+  return msnprintf(p, len, " ngtcp2/%s nghttp3/%s",
+                   ng2->version_str, ht3->version_str);
+}
+
+static int ng_getsock(struct connectdata *conn, curl_socket_t *socks)
+{
+  struct SingleRequest *k = &conn->data->req;
+  int bitmap = GETSOCK_BLANK;
+
+  socks[0] = conn->sock[FIRSTSOCKET];
+
+  /* in a HTTP/2 connection we can basically always get a frame so we should
+     always be ready for one */
+  bitmap |= GETSOCK_READSOCK(FIRSTSOCKET);
+
+  /* we're still uploading or the HTTP/2 layer wants to send data */
+  if((k->keepon & (KEEP_SEND|KEEP_SEND_PAUSE)) == KEEP_SEND)
+    bitmap |= GETSOCK_WRITESOCK(FIRSTSOCKET);
+
+  return bitmap;
+}
+
+static int ng_perform_getsock(const struct connectdata *conn,
+                              curl_socket_t *socks)
+{
+  return ng_getsock((struct connectdata *)conn, socks);
+}
+
+static CURLcode ng_disconnect(struct connectdata *conn,
+                              bool dead_connection)
+{
+  (void)conn;
+  (void)dead_connection;
+  return CURLE_OK;
+}
+
+static unsigned int ng_conncheck(struct connectdata *conn,
+                                 unsigned int checks_to_perform)
+{
+  (void)conn;
+  (void)checks_to_perform;
+  return CONNRESULT_NONE;
+}
+
+static const struct Curl_handler Curl_handler_http3 = {
+  "HTTPS",                              /* scheme */
+  ZERO_NULL,                            /* setup_connection */
+  Curl_http,                            /* do_it */
+  Curl_http_done,                       /* done */
+  ZERO_NULL,                            /* do_more */
+  ZERO_NULL,                            /* connect_it */
+  ZERO_NULL,                            /* connecting */
+  ZERO_NULL,                            /* doing */
+  ng_getsock,                           /* proto_getsock */
+  ng_getsock,                           /* doing_getsock */
+  ZERO_NULL,                            /* domore_getsock */
+  ng_perform_getsock,                   /* perform_getsock */
+  ng_disconnect,                        /* disconnect */
+  ZERO_NULL,                            /* readwrite */
+  ng_conncheck,                         /* connection_check */
+  PORT_HTTP,                            /* defport */
+  CURLPROTO_HTTPS,                      /* protocol */
+  PROTOPT_SSL | PROTOPT_STREAM          /* flags */
+};
+
+static int cb_h3_stream_close(nghttp3_conn *conn, int64_t stream_id,
+                              uint64_t app_error_code, void *user_data,
+                              void *stream_user_data)
+{
+  struct Curl_easy *data = stream_user_data;
+  struct HTTP *stream = data->req.protop;
+  (void)conn;
+  (void)stream_id;
+  (void)app_error_code;
+  (void)user_data;
+  fprintf(stderr, "cb_h3_stream_close CALLED\n");
+
+  stream->closed = TRUE;
+  Curl_expire(data, 0, EXPIRE_QUIC);
+  return 0;
+}
+
+static int cb_h3_recv_data(nghttp3_conn *conn, int64_t stream_id,
+                           const uint8_t *buf, size_t buflen,
+                           void *user_data, void *stream_user_data)
+{
+  struct quicsocket *qs = user_data;
+  size_t ncopy;
+  struct Curl_easy *data = stream_user_data;
+  struct HTTP *stream = data->req.protop;
+  (void)conn;
+  fprintf(stderr, "cb_h3_recv_data CALLED with %d bytes\n", buflen);
+
+  /* TODO: this needs to be handled properly */
+  DEBUGASSERT(buflen <= stream->len);
+
+  ncopy = CURLMIN(stream->len, buflen);
+  memcpy(stream->mem, buf, ncopy);
+  stream->len -= ncopy;
+  stream->memlen += ncopy;
+#if 0 /* extra debugging of incoming h3 data */
+  fprintf(stderr, "!! Copies %zd bytes to %p (total %zd)\n",
+          ncopy, stream->mem, stream->memlen);
+  {
+    size_t i;
+    for(i = 0; i < ncopy; i++) {
+      fprintf(stderr, "!! data[%d]: %02x '%c'\n", i, buf[i], buf[i]);
+    }
+  }
+#endif
+  stream->mem += ncopy;
+
+  ngtcp2_conn_extend_max_stream_offset(qs->qconn, stream_id, buflen);
+  ngtcp2_conn_extend_max_offset(qs->qconn, buflen);
+
+  return 0;
+}
+
+static int cb_h3_deferred_consume(nghttp3_conn *conn, int64_t stream_id,
+                                  size_t consumed, void *user_data,
+                                  void *stream_user_data)
+{
+  struct quicsocket *qs = user_data;
+  (void)conn;
+  (void)stream_user_data;
+  fprintf(stderr, "cb_h3_deferred_consume CALLED\n");
+
+  ngtcp2_conn_extend_max_stream_offset(qs->qconn, stream_id, consumed);
+  ngtcp2_conn_extend_max_offset(qs->qconn, consumed);
+
+  return 0;
+}
+
+/* Decode HTTP status code.  Returns -1 if no valid status code was
+   decoded. (duplicate from http2.c) */
+static int decode_status_code(const uint8_t *value, size_t len)
+{
+  int i;
+  int res;
+
+  if(len != 3) {
+    return -1;
+  }
+
+  res = 0;
+
+  for(i = 0; i < 3; ++i) {
+    char c = value[i];
+
+    if(c < '0' || c > '9') {
+      return -1;
+    }
+
+    res *= 10;
+    res += c - '0';
+  }
+
+  return res;
+}
+
+static int cb_h3_end_headers(nghttp3_conn *conn, int64_t stream_id,
+                             void *user_data, void *stream_user_data)
+{
+  struct Curl_easy *data = stream_user_data;
+  struct HTTP *stream = data->req.protop;
+  (void)conn;
+  (void)stream_id;
+  (void)user_data;
+
+  if(stream->memlen >= 2) {
+    memcpy(stream->mem, "\r\n", 2);
+    stream->len -= 2;
+    stream->memlen += 2;
+    stream->mem += 2;
+  }
+  return 0;
+}
+
+static int cb_h3_recv_header(nghttp3_conn *conn, int64_t stream_id,
+                             int32_t token, nghttp3_rcbuf *name,
+                             nghttp3_rcbuf *value, uint8_t flags,
+                             void *user_data, void *stream_user_data)
+{
+  nghttp3_vec h3name = nghttp3_rcbuf_get_buf(name);
+  nghttp3_vec h3val = nghttp3_rcbuf_get_buf(value);
+  struct Curl_easy *data = stream_user_data;
+  struct HTTP *stream = data->req.protop;
+  size_t ncopy;
+  (void)conn;
+  (void)stream_id;
+  (void)token;
+  (void)flags;
+  (void)user_data;
+
+  fprintf(stderr, "cb_h3_recv_header called!\n");
+
+  if(h3name.len == sizeof(":status") - 1 &&
+     !memcmp(":status", h3name.base, h3name.len)) {
+    int status = decode_status_code(h3val.base, h3val.len);
+    DEBUGASSERT(status != -1);
+    msnprintf(stream->mem, stream->len, "HTTP/3 %03d \r\n", status);
+  }
+  else {
+    /* store as a HTTP1-style header */
+    msnprintf(stream->mem, stream->len, "%.*s: %.*s\n",
+              h3name.len, h3name.base, h3val.len, h3val.base);
+  }
+
+  ncopy = strlen(stream->mem);
+  stream->len -= ncopy;
+  stream->memlen += ncopy;
+  stream->mem += ncopy;
+  return 0;
+}
+
+static int cb_h3_send_stop_sending(nghttp3_conn *conn, int64_t stream_id,
+                                   uint64_t app_error_code,
+                                   void *user_data,
+                                   void *stream_user_data)
+{
+  (void)conn;
+  (void)stream_id;
+  (void)app_error_code;
+  (void)user_data;
+  (void)stream_user_data;
+  fprintf(stderr, "cb_h3_send_stop_sending CALLED\n");
+  return 0;
+}
+
+static nghttp3_conn_callbacks ngh3_callbacks = {
+  cb_h3_acked_stream_data, /* acked_stream_data */
+  cb_h3_stream_close,
+  cb_h3_recv_data,
+  cb_h3_deferred_consume,
+  NULL, /* begin_headers */
+  cb_h3_recv_header,
+  cb_h3_end_headers,
+  NULL, /* begin_trailers */
+  cb_h3_recv_header,
+  NULL, /* end_trailers */
+  NULL, /* http_begin_push_promise */
+  NULL, /* http_recv_push_promise */
+  NULL, /* http_end_push_promise */
+  NULL, /* http_cancel_push */
+  cb_h3_send_stop_sending,
+  NULL, /* push_stream */
+  NULL, /* end_stream */
+};
+
+static int init_ngh3_conn(struct quicsocket *qs)
+{
+  CURLcode result;
+  int rc;
+  int64_t ctrl_stream_id, qpack_enc_stream_id, qpack_dec_stream_id;
+
+  if(ngtcp2_conn_get_max_local_streams_uni(qs->qconn) < 3) {
+    failf(qs->conn->data, "too few available QUIC streams");
+    return CURLE_FAILED_INIT;
+  }
+
+  nghttp3_conn_settings_default(&qs->h3settings);
+
+  rc = nghttp3_conn_client_new(&qs->h3conn,
+                               &ngh3_callbacks,
+                               &qs->h3settings,
+                               nghttp3_mem_default(),
+                               qs);
+  if(rc) {
+    result = CURLE_OUT_OF_MEMORY;
+    goto fail;
+  }
+
+  rc = ngtcp2_conn_open_uni_stream(qs->qconn, &ctrl_stream_id, NULL);
+  if(rc) {
+    result = CURLE_FAILED_INIT;
+    goto fail;
+  }
+
+  rc = nghttp3_conn_bind_control_stream(qs->h3conn, ctrl_stream_id);
+  if(rc) {
+    result = CURLE_FAILED_INIT;
+    goto fail;
+  }
+
+  rc = ngtcp2_conn_open_uni_stream(qs->qconn, &qpack_enc_stream_id, NULL);
+  if(rc) {
+    result = CURLE_FAILED_INIT;
+    goto fail;
+  }
+
+  rc = ngtcp2_conn_open_uni_stream(qs->qconn, &qpack_dec_stream_id, NULL);
+  if(rc) {
+    result = CURLE_FAILED_INIT;
+    goto fail;
+  }
+
+  rc = nghttp3_conn_bind_qpack_streams(qs->h3conn, qpack_enc_stream_id,
+                                       qpack_dec_stream_id);
+  if(rc) {
+    result = CURLE_FAILED_INIT;
+    goto fail;
+  }
+
+  return CURLE_OK;
+  fail:
+
+  return result;
+}
+
+static Curl_recv ngh3_stream_recv;
+static Curl_send ngh3_stream_send;
+
+/* incoming data frames on the h3 stream */
+static ssize_t ngh3_stream_recv(struct connectdata *conn,
+                                int sockindex,
+                                char *buf,
+                                size_t buffersize,
+                                CURLcode *curlcode)
+{
+  curl_socket_t sockfd = conn->sock[sockindex];
+  struct HTTP *stream = conn->data->req.protop;
+  struct quicsocket *qs = conn->quic;
+
+  fprintf(stderr, "ngh3_stream_recv CALLED (easy %p, socket %d)\n",
+          conn->data, sockfd);
+
+  if(!stream->memlen) {
+    /* remember where to store incoming data for this stream and how big the
+       buffer is */
+    stream->mem = buf;
+    stream->len = buffersize;
+  }
+  /* else, there's data in the buffer already */
+
+  if(ng_process_ingress(conn, sockfd, qs)) {
+    *curlcode = CURLE_RECV_ERROR;
+    return -1;
+  }
+  if(ng_flush_egress(conn, sockfd, qs)) {
+    *curlcode = CURLE_SEND_ERROR;
+    return -1;
+  }
+
+  if(stream->memlen) {
+    ssize_t memlen = stream->memlen;
+    /* data arrived */
+    *curlcode = CURLE_OK;
+    /* reset to allow more data to come */
+    stream->memlen = 0;
+    stream->mem = buf;
+    stream->len = buffersize;
+    H3BUGF(infof(conn->data, "!! ngh3_stream_recv returns %zd bytes at %p\n",
+                 memlen, buf));
+    return memlen;
+  }
+
+  if(stream->closed) {
+    *curlcode = CURLE_OK;
+    return 0;
+  }
+
+  infof(conn->data, "ngh3_stream_recv returns 0 bytes and EAGAIN\n");
+  *curlcode = CURLE_AGAIN;
+  return -1;
+}
+
+/* this amount of data has now been acked on this stream */
+static int cb_h3_acked_stream_data(nghttp3_conn *conn, int64_t stream_id,
+                                   size_t datalen, void *user_data,
+                                   void *stream_user_data)
+{
+  struct Curl_easy *data = stream_user_data;
+  struct HTTP *stream = data->req.protop;
+  (void)conn;
+  (void)stream_id;
+  (void)user_data;
+
+  if(!data->set.postfields) {
+    stream->h3out->used -= datalen;
+    fprintf(stderr, "cb_h3_acked_stream_data, %zd bytes, %zd left unacked\n",
+            datalen, stream->h3out->used);
+    DEBUGASSERT(stream->h3out->used < H3_SEND_SIZE);
+  }
+  return 0;
+}
+
+static int cb_h3_readfunction(nghttp3_conn *conn, int64_t stream_id,
+                              const uint8_t **pdata,
+                              size_t *pdatalen, uint32_t *pflags,
+                              void *user_data, void *stream_user_data)
+{
+  struct Curl_easy *data = stream_user_data;
+  size_t nread;
+  struct HTTP *stream = data->req.protop;
+  (void)conn;
+  (void)stream_id;
+  (void)user_data;
+
+  if(data->set.postfields) {
+    *pdata = data->set.postfields;
+    *pdatalen = data->state.infilesize;
+    *pflags = NGHTTP3_DATA_FLAG_EOF;
+    return 0;
+  }
+
+  nread = CURLMIN(stream->upload_len, H3_SEND_SIZE - stream->h3out->used);
+  if(nread > 0) {
+    /* nghttp3 wants us to hold on to the data until it tells us it is okay to
+       delete it. Append the data at the end of the h3out buffer. Since we can
+       only return consecutive data, copy the amount that fits and the next
+       part comes in next invoke. */
+    struct h3out *out = stream->h3out;
+    if(nread + out->windex > H3_SEND_SIZE)
+      nread = H3_SEND_SIZE - out->windex;
+
+    memcpy(&out->buf[out->windex], stream->upload_mem, nread);
+    out->windex += nread;
+    out->used += nread;
+
+    /* that's the chunk we return to nghttp3 */
+    *pdata = &out->buf[out->windex];
+    *pdatalen = nread;
+
+    if(out->windex == H3_SEND_SIZE)
+      out->windex = 0; /* wrap */
+    stream->upload_mem += nread;
+    stream->upload_len -= nread;
+    if(data->state.infilesize != -1) {
+      stream->upload_left -= nread;
+      if(!stream->upload_left)
+        *pflags = NGHTTP3_DATA_FLAG_EOF;
+    }
+    fprintf(stderr, "cb_h3_readfunction %zd bytes%s (at %zd unacked)\n",
+            nread, *pflags == NGHTTP3_DATA_FLAG_EOF?" EOF":"",
+            out->used);
+  }
+  if(stream->upload_done && !stream->upload_len &&
+     (stream->upload_left <= 0)) {
+    H3BUGF(infof(data, "!!!!!!!!! cb_h3_readfunction sets EOF\n"));
+    *pdata = NULL;
+    *pdatalen = 0;
+    *pflags = NGHTTP3_DATA_FLAG_EOF;
+  }
+  else if(!nread) {
+    *pdatalen = 0;
+    return NGHTTP3_ERR_WOULDBLOCK;
+  }
+  return 0;
+}
+
+/* Index where :authority header field will appear in request header
+   field list. */
+#define AUTHORITY_DST_IDX 3
+
+static CURLcode http_request(struct connectdata *conn, const void *mem,
+                             size_t len)
+{
+  struct HTTP *stream = conn->data->req.protop;
+  size_t nheader;
+  size_t i;
+  size_t authority_idx;
+  char *hdbuf = (char *)mem;
+  char *end, *line_end;
+  struct quicsocket *qs = conn->quic;
+  CURLcode result = CURLE_OK;
+  struct Curl_easy *data = conn->data;
+  nghttp3_nv *nva = NULL;
+  int64_t stream3_id;
+  int rc;
+  struct h3out *h3out = NULL;
+
+  rc = ngtcp2_conn_open_bidi_stream(qs->qconn, &stream3_id, NULL);
+  if(rc) {
+    failf(conn->data, "can get bidi streams");
+    result = CURLE_SEND_ERROR;
+    goto fail;
+  }
+
+  stream->stream3_id = stream3_id;
+  stream->h3req = TRUE; /* senf off! */
+
+  /* Calculate number of headers contained in [mem, mem + len). Assumes a
+     correctly generated HTTP header field block. */
+  nheader = 0;
+  for(i = 1; i < len; ++i) {
+    if(hdbuf[i] == '\n' && hdbuf[i - 1] == '\r') {
+      ++nheader;
+      ++i;
+    }
+  }
+  if(nheader < 2)
+    goto fail;
+
+  /* We counted additional 2 \r\n in the first and last line. We need 3
+     new headers: :method, :path and :scheme. Therefore we need one
+     more space. */
+  nheader += 1;
+  nva = malloc(sizeof(nghttp3_nv) * nheader);
+  if(!nva) {
+    result = CURLE_OUT_OF_MEMORY;
+    goto fail;
+  }
+
+  /* Extract :method, :path from request line
+     We do line endings with CRLF so checking for CR is enough */
+  line_end = memchr(hdbuf, '\r', len);
+  if(!line_end) {
+    result = CURLE_BAD_FUNCTION_ARGUMENT; /* internal error */
+    goto fail;
+  }
+
+  /* Method does not contain spaces */
+  end = memchr(hdbuf, ' ', line_end - hdbuf);
+  if(!end || end == hdbuf)
+    goto fail;
+  nva[0].name = (unsigned char *)":method";
+  nva[0].namelen = strlen((char *)nva[0].name);
+  nva[0].value = (unsigned char *)hdbuf;
+  nva[0].valuelen = (size_t)(end - hdbuf);
+  nva[0].flags = NGHTTP3_NV_FLAG_NONE;
+
+  hdbuf = end + 1;
+
+  /* Path may contain spaces so scan backwards */
+  end = NULL;
+  for(i = (size_t)(line_end - hdbuf); i; --i) {
+    if(hdbuf[i - 1] == ' ') {
+      end = &hdbuf[i - 1];
+      break;
+    }
+  }
+  if(!end || end == hdbuf)
+    goto fail;
+  nva[1].name = (unsigned char *)":path";
+  nva[1].namelen = strlen((char *)nva[1].name);
+  nva[1].value = (unsigned char *)hdbuf;
+  nva[1].valuelen = (size_t)(end - hdbuf);
+  nva[1].flags = NGHTTP3_NV_FLAG_NONE;
+
+  nva[2].name = (unsigned char *)":scheme";
+  nva[2].namelen = strlen((char *)nva[2].name);
+  if(conn->handler->flags & PROTOPT_SSL)
+    nva[2].value = (unsigned char *)"https";
+  else
+    nva[2].value = (unsigned char *)"http";
+  nva[2].valuelen = strlen((char *)nva[2].value);
+  nva[2].flags = NGHTTP3_NV_FLAG_NONE;
+
+
+  authority_idx = 0;
+  i = 3;
+  while(i < nheader) {
+    size_t hlen;
+
+    hdbuf = line_end + 2;
+
+    /* check for next CR, but only within the piece of data left in the given
+       buffer */
+    line_end = memchr(hdbuf, '\r', len - (hdbuf - (char *)mem));
+    if(!line_end || (line_end == hdbuf))
+      goto fail;
+
+    /* header continuation lines are not supported */
+    if(*hdbuf == ' ' || *hdbuf == '\t')
+      goto fail;
+
+    for(end = hdbuf; end < line_end && *end != ':'; ++end)
+      ;
+    if(end == hdbuf || end == line_end)
+      goto fail;
+    hlen = end - hdbuf;
+
+    if(hlen == 4 && strncasecompare("host", hdbuf, 4)) {
+      authority_idx = i;
+      nva[i].name = (unsigned char *)":authority";
+      nva[i].namelen = strlen((char *)nva[i].name);
+    }
+    else {
+      nva[i].name = (unsigned char *)hdbuf;
+      nva[i].namelen = (size_t)(end - hdbuf);
+    }
+    nva[i].flags = NGHTTP3_NV_FLAG_NONE;
+    hdbuf = end + 1;
+    while(*hdbuf == ' ' || *hdbuf == '\t')
+      ++hdbuf;
+    end = line_end;
+
+#if 0 /* This should probably go in more or less like this */
+    switch(inspect_header((const char *)nva[i].name, nva[i].namelen, hdbuf,
+                          end - hdbuf)) {
+    case HEADERINST_IGNORE:
+      /* skip header fields prohibited by HTTP/2 specification. */
+      --nheader;
+      continue;
+    case HEADERINST_TE_TRAILERS:
+      nva[i].value = (uint8_t*)"trailers";
+      nva[i].value_len = sizeof("trailers") - 1;
+      break;
+    default:
+      nva[i].value = (unsigned char *)hdbuf;
+      nva[i].value_len = (size_t)(end - hdbuf);
+    }
+#endif
+    nva[i].value = (unsigned char *)hdbuf;
+    nva[i].valuelen = (size_t)(end - hdbuf);
+    nva[i].flags = NGHTTP3_NV_FLAG_NONE;
+
+    ++i;
+  }
+
+  /* :authority must come before non-pseudo header fields */
+  if(authority_idx != 0 && authority_idx != AUTHORITY_DST_IDX) {
+    nghttp3_nv authority = nva[authority_idx];
+    for(i = authority_idx; i > AUTHORITY_DST_IDX; --i) {
+      nva[i] = nva[i - 1];
+    }
+    nva[i] = authority;
+  }
+
+  /* Warn stream may be rejected if cumulative length of headers is too
+     large. */
+#define MAX_ACC 60000  /* <64KB to account for some overhead */
+  {
+    size_t acc = 0;
+    for(i = 0; i < nheader; ++i)
+      acc += nva[i].namelen + nva[i].valuelen;
+
+    if(acc > MAX_ACC) {
+      infof(data, "http_request: Warning: The cumulative length of all "
+            "headers exceeds %zu bytes and that could cause the "
+            "stream to be rejected.\n", MAX_ACC);
+    }
+  }
+
+  switch(data->set.httpreq) {
+  case HTTPREQ_POST:
+  case HTTPREQ_POST_FORM:
+  case HTTPREQ_POST_MIME:
+  case HTTPREQ_PUT: {
+    nghttp3_data_reader data_reader;
+    if(data->state.infilesize != -1)
+      stream->upload_left = data->state.infilesize;
+    else
+      /* data sending without specifying the data amount up front */
+      stream->upload_left = -1; /* unknown, but not zero */
+
+    data_reader.read_data = cb_h3_readfunction;
+
+    h3out = calloc(sizeof(struct h3out), 1);
+    if(!h3out) {
+      result = CURLE_OUT_OF_MEMORY;
+      goto fail;
+    }
+    stream->h3out = h3out;
+
+    rc = nghttp3_conn_submit_request(qs->h3conn, stream->stream3_id,
+                                     nva, nheader, &data_reader,
+                                     conn->data);
+    if(rc) {
+      result = CURLE_SEND_ERROR;
+      goto fail;
+    }
+    break;
+  }
+  default:
+    stream->upload_left = 0; /* nothing left to send */
+    rc = nghttp3_conn_submit_request(qs->h3conn, stream->stream3_id,
+                                     nva, nheader,
+                                     NULL, /* no body! */
+                                     conn->data);
+    if(rc) {
+      result = CURLE_SEND_ERROR;
+      goto fail;
+    }
+    break;
+  }
+
+  Curl_safefree(nva);
+
+  infof(data, "Using HTTP/3 Stream ID: %x (easy handle %p)\n",
+        stream3_id, (void *)data);
+
+  return CURLE_OK;
+
+fail:
+  free(nva);
+  return result;
+}
+static ssize_t ngh3_stream_send(struct connectdata *conn,
+                                int sockindex,
+                                const void *mem,
+                                size_t len,
+                                CURLcode *curlcode)
+{
+  ssize_t sent;
+  struct quicsocket *qs = conn->quic;
+  curl_socket_t sockfd = conn->sock[sockindex];
+  struct HTTP *stream = conn->data->req.protop;
+
+  if(!stream->h3req) {
+    CURLcode result = http_request(conn, mem, len);
+    if(result) {
+      *curlcode = CURLE_SEND_ERROR;
+      return -1;
+    }
+    sent = len;
+  }
+  else {
+    fprintf(stderr, "ngh3_stream_send() wants to send %zd bytes\n", len);
+    if(!stream->upload_len) {
+      stream->upload_mem = mem;
+      stream->upload_len = len;
+      (void)nghttp3_conn_resume_stream(qs->h3conn, stream->stream3_id);
+      sent = len;
+    }
+    else {
+      *curlcode = CURLE_AGAIN;
+      return -1;
+    }
+  }
+
+  if(ng_flush_egress(conn, sockfd, qs)) {
+    *curlcode = CURLE_SEND_ERROR;
+    return -1;
+  }
+
+  *curlcode = CURLE_OK;
+  return sent;
+}
+
+static void ng_has_connected(struct connectdata *conn, int tempindex)
+{
+  conn->recv[FIRSTSOCKET] = ngh3_stream_recv;
+  conn->send[FIRSTSOCKET] = ngh3_stream_send;
+  conn->handler = &Curl_handler_http3;
+  conn->bits.multiplex = TRUE; /* at least potentially multiplexed */
+  conn->httpversion = 30;
+  conn->bundle->multiuse = BUNDLE_MULTIPLEX;
+  conn->quic = &conn->hequic[tempindex];
+  DEBUGF(infof(conn->data, "ngtcp2 established connection!\n"));
+}
+
+/*
+ * There can be multiple connection attempts going on in parallel.
+ */
+CURLcode Curl_quic_is_connected(struct connectdata *conn,
+                                int sockindex,
+                                bool *done)
+{
+  CURLcode result;
+  struct quicsocket *qs = &conn->hequic[sockindex];
+  curl_socket_t sockfd = conn->tempsock[sockindex];
+
+  result = ng_process_ingress(conn, sockfd, qs);
+  if(result)
+    return result;
+
+  result = ng_flush_egress(conn, sockfd, qs);
+  if(result)
+    return result;
+
+  if(ngtcp2_conn_get_handshake_completed(qs->qconn)) {
+    *done = TRUE;
+    ng_has_connected(conn, sockindex);
+  }
+
+  return result;
+}
+
+static CURLcode ng_process_ingress(struct connectdata *conn, int sockfd,
+                                   struct quicsocket *qs)
+{
+  ssize_t recvd;
+  int rv;
+  uint8_t buf[65536];
+  size_t bufsize = sizeof(buf);
+  struct sockaddr_storage remote_addr;
+  socklen_t remote_addrlen;
+  ngtcp2_path path;
+  ngtcp2_tstamp ts = timestamp();
+
+  for(;;) {
+    remote_addrlen = sizeof(remote_addr);
+    while((recvd = recvfrom(sockfd, buf, bufsize, MSG_DONTWAIT,
+                            (struct sockaddr *)&remote_addr,
+                            &remote_addrlen)) == -1 &&
+          errno == EINTR)
+      ;
+    if(recvd == -1) {
+      if(errno == EAGAIN || errno == EWOULDBLOCK)
+        break;
+
+      failf(conn->data, "ngtcp2: recvfrom() unexpectedly returned %d", recvd);
+      return CURLE_RECV_ERROR;
+    }
+
+    ngtcp2_addr_init(&path.local, (uint8_t *)&qs->local_addr,
+                     qs->local_addrlen, NULL);
+    ngtcp2_addr_init(&path.remote, (uint8_t *)&remote_addr, remote_addrlen,
+                     NULL);
+
+    rv = ngtcp2_conn_read_pkt(qs->qconn, &path, buf, recvd, ts);
+    if(rv != 0) {
+      /* TODO Send CONNECTION_CLOSE if possible */
+      return CURLE_RECV_ERROR;
+    }
+  }
+
+  return CURLE_OK;
+}
+
+static CURLcode ng_flush_egress(struct connectdata *conn, int sockfd,
+                                struct quicsocket *qs)
+{
+  int rv;
+  ssize_t sent;
+  ssize_t outlen;
+  uint8_t out[NGTCP2_MAX_PKTLEN_IPV4];
+  size_t pktlen;
+  ngtcp2_path_storage ps;
+  ngtcp2_tstamp ts = timestamp();
+  struct sockaddr_storage remote_addr;
+  ngtcp2_tstamp expiry;
+  ngtcp2_duration timeout;
+  int64_t stream_id;
+  ssize_t veccnt;
+  int fin;
+  nghttp3_vec vec[16];
+  ssize_t ndatalen;
+
+  switch(qs->local_addr.ss_family) {
+  case AF_INET:
+    pktlen = NGTCP2_MAX_PKTLEN_IPV4;
+    break;
+  case AF_INET6:
+    pktlen = NGTCP2_MAX_PKTLEN_IPV6;
+    break;
+  default:
+    assert(0);
+  }
+
+  rv = ngtcp2_conn_handle_expiry(qs->qconn, ts);
+  if(rv != 0) {
+    failf(conn->data, "ngtcp2_conn_handle_expiry returned error: %s\n",
+          ngtcp2_strerror(rv));
+    return CURLE_SEND_ERROR;
+  }
+
+  ngtcp2_path_storage_zero(&ps);
+
+  for(;;) {
+    outlen = -1;
+    if(qs->h3conn && ngtcp2_conn_get_max_data_left(qs->qconn)) {
+      veccnt = nghttp3_conn_writev_stream(qs->h3conn, &stream_id, &fin, vec,
+                                          sizeof(vec) / sizeof(vec[0]));
+      if(veccnt < 0) {
+        failf(conn->data, "nghttp3_conn_writev_stream returned error: %s\n",
+              nghttp3_strerror((int)veccnt));
+        return CURLE_SEND_ERROR;
+      }
+      else if(veccnt > 0) {
+        outlen =
+          ngtcp2_conn_writev_stream(qs->qconn, &ps.path,
+                                    out, pktlen, &ndatalen,
+                                    NGTCP2_WRITE_STREAM_FLAG_MORE,
+                                    stream_id, fin,
+                                    (const ngtcp2_vec *)vec, veccnt, ts);
+        if(outlen == 0) {
+          break;
+        }
+        if(outlen < 0) {
+          if(outlen == NGTCP2_ERR_STREAM_DATA_BLOCKED ||
+             outlen == NGTCP2_ERR_STREAM_SHUT_WR) {
+            rv = nghttp3_conn_block_stream(qs->h3conn, stream_id);
+            if(rv != 0) {
+              failf(conn->data,
+                    "nghttp3_conn_block_stream returned error: %s\n",
+                    nghttp3_strerror(rv));
+              return CURLE_SEND_ERROR;
+            }
+            continue;
+          }
+          else if(outlen == NGTCP2_ERR_WRITE_STREAM_MORE) {
+            assert(ndatalen > 0);
+            rv = nghttp3_conn_add_write_offset(qs->h3conn, stream_id,
+                                               ndatalen);
+            if(rv != 0) {
+              failf(conn->data,
+                    "nghttp3_conn_add_write_offset returned error: %s\n",
+                    nghttp3_strerror(rv));
+              return CURLE_SEND_ERROR;
+            }
+            continue;
+          }
+          else {
+            failf(conn->data, "ngtcp2_conn_writev_stream returned error: %s\n",
+                  ngtcp2_strerror((int)outlen));
+            return CURLE_SEND_ERROR;
+          }
+        }
+        else if(ndatalen > 0) {
+          rv = nghttp3_conn_add_write_offset(qs->h3conn, stream_id, ndatalen);
+          if(rv != 0) {
+            failf(conn->data,
+                  "nghttp3_conn_add_write_offset returned error: %s\n",
+                  nghttp3_strerror(rv));
+            return CURLE_SEND_ERROR;
+          }
+        }
+      }
+    }
+    if(outlen < 0) {
+      outlen = ngtcp2_conn_write_pkt(qs->qconn, &ps.path, out, pktlen, ts);
+      if(outlen < 0) {
+        failf(conn->data, "ngtcp2_conn_write_pkt returned error: %s\n",
+              ngtcp2_strerror((int)outlen));
+        return CURLE_SEND_ERROR;
+      }
+      if(outlen == 0)
+        break;
+    }
+
+    memcpy(&remote_addr, ps.path.remote.addr, ps.path.remote.addrlen);
+    while((sent = sendto(sockfd, out, outlen, MSG_DONTWAIT,
+                         (struct sockaddr *)&remote_addr,
+                         (socklen_t)ps.path.remote.addrlen)) == -1 &&
+          errno == EINTR)
+      ;
+
+    if(sent == -1) {
+      if(errno == EAGAIN || errno == EWOULDBLOCK) {
+        /* TODO Cache packet */
+        break;
+      }
+      else {
+        failf(conn->data, "sendto() returned %zd (errno %d)\n", sent,
+              SOCKERRNO);
+        return CURLE_SEND_ERROR;
+      }
+    }
+  }
+
+  expiry = ngtcp2_conn_get_expiry(qs->qconn);
+  if(expiry != UINT64_MAX) {
+    if(expiry <= ts) {
+      timeout = NGTCP2_MILLISECONDS;
+    }
+    else {
+      timeout = expiry - ts;
+    }
+    Curl_expire(conn->data, timeout / NGTCP2_MILLISECONDS, EXPIRE_QUIC);
+  }
+
+  return CURLE_OK;
+}
+
+/*
+ * Called from transfer.c:done_sending when we stop HTTP/3 uploading.
+ */
+CURLcode Curl_quic_done_sending(struct connectdata *conn)
+{
+  if(conn->handler == &Curl_handler_http3) {
+    /* only for HTTP/3 transfers */
+    struct HTTP *stream = conn->data->req.protop;
+    struct quicsocket *qs = conn->quic;
+    fprintf(stderr, "!!! Curl_quic_done_sending stream %zu\n",
+            stream->stream3_id);
+    stream->upload_done = TRUE;
+    (void)nghttp3_conn_resume_stream(qs->h3conn, stream->stream3_id);
+  }
+
+  return CURLE_OK;
+}
+#endif
diff --git a/lib/vquic/ngtcp2.h b/lib/vquic/ngtcp2.h
new file mode 100644
index 0000000..5570fc7
--- /dev/null
+++ b/lib/vquic/ngtcp2.h
@@ -0,0 +1,63 @@
+#ifndef HEADER_CURL_VQUIC_NGTCP2_H
+#define HEADER_CURL_VQUIC_NGTCP2_H
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
+ *
+ * This software is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at https://curl.haxx.se/docs/copyright.html.
+ *
+ * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+ * copies of the Software, and permit persons to whom the Software is
+ * furnished to do so, under the terms of the COPYING file.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ ***************************************************************************/
+
+#include "curl_setup.h"
+
+#ifdef USE_NGTCP2
+
+#include <ngtcp2/ngtcp2.h>
+#include <nghttp3/nghttp3.h>
+#include <openssl/ssl.h>
+
+struct quic_handshake {
+  char *buf;       /* pointer to the buffer */
+  size_t alloclen; /* size of allocation */
+  size_t len;      /* size of content in buffer */
+  size_t nread;    /* how many bytes have been read */
+};
+
+struct quicsocket {
+  struct connectdata *conn; /* point back to the connection */
+  ngtcp2_conn *qconn;
+  ngtcp2_cid dcid;
+  ngtcp2_cid scid;
+  uint32_t version;
+  ngtcp2_settings settings;
+  SSL_CTX *sslctx;
+  SSL *ssl;
+  struct quic_handshake client_crypto_data[3];
+  /* the last TLS alert description generated by the local endpoint */
+  uint8_t tls_alert;
+  struct sockaddr_storage local_addr;
+  socklen_t local_addrlen;
+
+  nghttp3_conn *h3conn;
+  nghttp3_conn_settings h3settings;
+};
+
+#include "urldata.h"
+
+#endif
+
+#endif /* HEADER_CURL_VQUIC_NGTCP2_H */
diff --git a/lib/vquic/quiche.c b/lib/vquic/quiche.c
new file mode 100644
index 0000000..7f9b34a
--- /dev/null
+++ b/lib/vquic/quiche.c
@@ -0,0 +1,780 @@
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
+ *
+ * This software is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at https://curl.haxx.se/docs/copyright.html.
+ *
+ * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+ * copies of the Software, and permit persons to whom the Software is
+ * furnished to do so, under the terms of the COPYING file.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ ***************************************************************************/
+
+#include "curl_setup.h"
+
+#ifdef USE_QUICHE
+#include <quiche.h>
+#include <openssl/err.h>
+#include "urldata.h"
+#include "sendf.h"
+#include "strdup.h"
+#include "rand.h"
+#include "quic.h"
+#include "strcase.h"
+#include "multiif.h"
+#include "connect.h"
+#include "strerror.h"
+
+/* The last 3 #include files should be in this order */
+#include "curl_printf.h"
+#include "curl_memory.h"
+#include "memdebug.h"
+
+#define DEBUG_HTTP3
+/* #define DEBUG_QUICHE */
+#ifdef DEBUG_HTTP3
+#define H3BUGF(x) x
+#else
+#define H3BUGF(x) do { } WHILE_FALSE
+#endif
+
+#define QUIC_MAX_STREAMS (256*1024)
+#define QUIC_MAX_DATA (1*1024*1024)
+#define QUIC_IDLE_TIMEOUT 60 * 1000 /* milliseconds */
+
+static CURLcode process_ingress(struct connectdata *conn,
+                                curl_socket_t sockfd,
+                                struct quicsocket *qs);
+
+static CURLcode flush_egress(struct connectdata *conn, curl_socket_t sockfd,
+                             struct quicsocket *qs);
+
+static CURLcode http_request(struct connectdata *conn, const void *mem,
+                             size_t len);
+static Curl_recv h3_stream_recv;
+static Curl_send h3_stream_send;
+
+
+static int quiche_getsock(struct connectdata *conn, curl_socket_t *socks)
+{
+  struct SingleRequest *k = &conn->data->req;
+  int bitmap = GETSOCK_BLANK;
+
+  socks[0] = conn->sock[FIRSTSOCKET];
+
+  /* in a HTTP/2 connection we can basically always get a frame so we should
+     always be ready for one */
+  bitmap |= GETSOCK_READSOCK(FIRSTSOCKET);
+
+  /* we're still uploading or the HTTP/2 layer wants to send data */
+  if((k->keepon & (KEEP_SEND|KEEP_SEND_PAUSE)) == KEEP_SEND)
+    bitmap |= GETSOCK_WRITESOCK(FIRSTSOCKET);
+
+  return bitmap;
+}
+
+static int quiche_perform_getsock(const struct connectdata *conn,
+                                  curl_socket_t *socks)
+{
+  return quiche_getsock((struct connectdata *)conn, socks);
+}
+
+static CURLcode quiche_disconnect(struct connectdata *conn,
+                                  bool dead_connection)
+{
+  struct quicsocket *qs = conn->quic;
+  (void)dead_connection;
+  quiche_h3_config_free(qs->h3config);
+  quiche_h3_conn_free(qs->h3c);
+  quiche_config_free(qs->cfg);
+  quiche_conn_free(qs->conn);
+  return CURLE_OK;
+}
+
+static unsigned int quiche_conncheck(struct connectdata *conn,
+                                     unsigned int checks_to_perform)
+{
+  (void)conn;
+  (void)checks_to_perform;
+  return CONNRESULT_NONE;
+}
+
+static CURLcode quiche_do(struct connectdata *conn, bool *done)
+{
+  struct HTTP *stream = conn->data->req.protop;
+  stream->h3req = FALSE; /* not sent */
+  return Curl_http(conn, done);
+}
+
+static const struct Curl_handler Curl_handler_http3 = {
+  "HTTPS",                              /* scheme */
+  ZERO_NULL,                            /* setup_connection */
+  quiche_do,                            /* do_it */
+  Curl_http_done,                       /* done */
+  ZERO_NULL,                            /* do_more */
+  ZERO_NULL,                            /* connect_it */
+  ZERO_NULL,                            /* connecting */
+  ZERO_NULL,                            /* doing */
+  quiche_getsock,                       /* proto_getsock */
+  quiche_getsock,                       /* doing_getsock */
+  ZERO_NULL,                            /* domore_getsock */
+  quiche_perform_getsock,               /* perform_getsock */
+  quiche_disconnect,                    /* disconnect */
+  ZERO_NULL,                            /* readwrite */
+  quiche_conncheck,                     /* connection_check */
+  PORT_HTTP,                            /* defport */
+  CURLPROTO_HTTPS,                      /* protocol */
+  PROTOPT_SSL | PROTOPT_STREAM          /* flags */
+};
+
+#ifdef DEBUG_QUICHE
+static void quiche_debug_log(const char *line, void *argp)
+{
+  (void)argp;
+  fprintf(stderr, "%s\n", line);
+}
+#endif
+
+CURLcode Curl_quic_connect(struct connectdata *conn, curl_socket_t sockfd,
+                           int sockindex,
+                           const struct sockaddr *addr, socklen_t addrlen)
+{
+  CURLcode result;
+  struct quicsocket *qs = &conn->hequic[sockindex];
+  struct Curl_easy *data = conn->data;
+
+#ifdef DEBUG_QUICHE
+  /* initialize debug log callback only once */
+  static int debug_log_init = 0;
+  if(!debug_log_init) {
+    quiche_enable_debug_logging(quiche_debug_log, NULL);
+    debug_log_init = 1;
+  }
+#endif
+
+  (void)addr;
+  (void)addrlen;
+
+  qs->cfg = quiche_config_new(QUICHE_PROTOCOL_VERSION);
+  if(!qs->cfg) {
+    failf(data, "can't create quiche config");
+    return CURLE_FAILED_INIT;
+  }
+
+  quiche_config_set_idle_timeout(qs->cfg, QUIC_IDLE_TIMEOUT);
+  quiche_config_set_initial_max_data(qs->cfg, QUIC_MAX_DATA);
+  quiche_config_set_initial_max_stream_data_bidi_local(qs->cfg, QUIC_MAX_DATA);
+  quiche_config_set_initial_max_stream_data_bidi_remote(qs->cfg,
+                                                        QUIC_MAX_DATA);
+  quiche_config_set_initial_max_stream_data_uni(qs->cfg, QUIC_MAX_DATA);
+  quiche_config_set_initial_max_streams_bidi(qs->cfg, QUIC_MAX_STREAMS);
+  quiche_config_set_initial_max_streams_uni(qs->cfg, QUIC_MAX_STREAMS);
+  quiche_config_set_application_protos(qs->cfg,
+                                       (uint8_t *)
+                                       QUICHE_H3_APPLICATION_PROTOCOL,
+                                       sizeof(QUICHE_H3_APPLICATION_PROTOCOL)
+                                       - 1);
+
+  result = Curl_rand(data, qs->scid, sizeof(qs->scid));
+  if(result)
+    return result;
+
+  if(getenv("SSLKEYLOGFILE"))
+    quiche_config_log_keys(qs->cfg);
+
+  qs->conn = quiche_connect(conn->host.name, (const uint8_t *) qs->scid,
+                            sizeof(qs->scid), qs->cfg);
+  if(!qs->conn) {
+    failf(data, "can't create quiche connection");
+    return CURLE_OUT_OF_MEMORY;
+  }
+
+  result = flush_egress(conn, sockfd, qs);
+  if(result)
+    return result;
+
+#if 0
+  /* store the used address as a string */
+  if(!Curl_addr2string((struct sockaddr*)addr,
+                       conn->primary_ip, &conn->primary_port)) {
+    char buffer[STRERROR_LEN];
+    failf(data, "ssrem inet_ntop() failed with errno %d: %s",
+          errno, Curl_strerror(errno, buffer, sizeof(buffer)));
+    return CURLE_BAD_FUNCTION_ARGUMENT;
+  }
+  memcpy(conn->ip_addr_str, conn->primary_ip, MAX_IPADR_LEN);
+#endif
+  /* for connection reuse purposes: */
+  conn->ssl[FIRSTSOCKET].state = ssl_connection_complete;
+
+  infof(data, "Sent QUIC client Initial, ALPN: %s\n",
+        QUICHE_H3_APPLICATION_PROTOCOL + 1);
+
+  return CURLE_OK;
+}
+
+static CURLcode quiche_has_connected(struct connectdata *conn,
+                                     int sockindex,
+                                     int tempindex)
+{
+  CURLcode result;
+  struct quicsocket *qs = conn->quic = &conn->hequic[tempindex];
+
+  conn->recv[sockindex] = h3_stream_recv;
+  conn->send[sockindex] = h3_stream_send;
+  conn->handler = &Curl_handler_http3;
+  conn->bits.multiplex = TRUE; /* at least potentially multiplexed */
+  conn->httpversion = 30;
+  conn->bundle->multiuse = BUNDLE_MULTIPLEX;
+
+  qs->h3config = quiche_h3_config_new(0, 1024, 0, 0);
+  if(!qs->h3config)
+    return CURLE_OUT_OF_MEMORY;
+
+  /* Create a new HTTP/3 connection on the QUIC connection. */
+  qs->h3c = quiche_h3_conn_new_with_transport(qs->conn, qs->h3config);
+  if(!qs->h3c) {
+    result = CURLE_OUT_OF_MEMORY;
+    goto fail;
+  }
+  if(conn->hequic[1-tempindex].cfg) {
+    qs = &conn->hequic[1-tempindex];
+    quiche_config_free(qs->cfg);
+    quiche_conn_free(qs->conn);
+    qs->cfg = NULL;
+    qs->conn = NULL;
+  }
+  return CURLE_OK;
+  fail:
+  quiche_h3_config_free(qs->h3config);
+  quiche_h3_conn_free(qs->h3c);
+  return result;
+}
+
+/*
+ * This function gets polled to check if this QUIC connection has connected.
+ */
+CURLcode Curl_quic_is_connected(struct connectdata *conn, int sockindex,
+                                bool *done)
+{
+  CURLcode result;
+  struct quicsocket *qs = &conn->hequic[sockindex];
+  curl_socket_t sockfd = conn->tempsock[sockindex];
+
+  result = process_ingress(conn, sockfd, qs);
+  if(result)
+    return result;
+
+  result = flush_egress(conn, sockfd, qs);
+  if(result)
+    return result;
+
+  if(quiche_conn_is_established(qs->conn)) {
+    *done = TRUE;
+    result = quiche_has_connected(conn, 0, sockindex);
+    DEBUGF(infof(conn->data, "quiche established connection!\n"));
+  }
+
+  return result;
+}
+
+static CURLcode process_ingress(struct connectdata *conn, int sockfd,
+                                struct quicsocket *qs)
+{
+  ssize_t recvd;
+  struct Curl_easy *data = conn->data;
+  uint8_t *buf = (uint8_t *)data->state.buffer;
+  size_t bufsize = data->set.buffer_size;
+
+  /* in case the timeout expired */
+  quiche_conn_on_timeout(qs->conn);
+
+  do {
+    recvd = recv(sockfd, buf, bufsize, 0);
+    if((recvd < 0) && ((errno == EAGAIN) || (errno == EWOULDBLOCK)))
+      break;
+
+    if(recvd < 0) {
+      failf(conn->data, "quiche: recv() unexpectedly returned %d "
+            "(errno: %d, socket %d)", recvd, SOCKERRNO, sockfd);
+      return CURLE_RECV_ERROR;
+    }
+
+    recvd = quiche_conn_recv(qs->conn, buf, recvd);
+    if(recvd == QUICHE_ERR_DONE)
+      break;
+
+    if(recvd < 0) {
+      failf(conn->data, "quiche_conn_recv() == %d", recvd);
+      return CURLE_RECV_ERROR;
+    }
+  } while(1);
+
+  return CURLE_OK;
+}
+
+/*
+ * flush_egress drains the buffers and sends off data.
+ * Calls failf() on errors.
+ */
+static CURLcode flush_egress(struct connectdata *conn, int sockfd,
+                             struct quicsocket *qs)
+{
+  ssize_t sent;
+  static uint8_t out[1200];
+  int64_t timeout_ns;
+
+  do {
+    sent = quiche_conn_send(qs->conn, out, sizeof(out));
+    if(sent == QUICHE_ERR_DONE)
+      break;
+
+    if(sent < 0) {
+      failf(conn->data, "quiche_conn_send returned %zd\n",
+            sent);
+      return CURLE_SEND_ERROR;
+    }
+
+    sent = send(sockfd, out, sent, 0);
+    if(sent < 0) {
+      failf(conn->data, "send() returned %zd\n", sent);
+      return CURLE_SEND_ERROR;
+    }
+  } while(1);
+
+  /* time until the next timeout event, as nanoseconds. */
+  timeout_ns = quiche_conn_timeout_as_nanos(qs->conn);
+  if(timeout_ns)
+    /* expire uses milliseconds */
+    Curl_expire(conn->data, (timeout_ns + 999999) / 1000000, EXPIRE_QUIC);
+
+  return CURLE_OK;
+}
+
+struct h3h1header {
+  char *dest;
+  size_t destlen; /* left to use */
+  size_t nlen; /* used */
+};
+
+static int cb_each_header(uint8_t *name, size_t name_len,
+                          uint8_t *value, size_t value_len,
+                          void *argp)
+{
+  struct h3h1header *headers = (struct h3h1header *)argp;
+  size_t olen = 0;
+
+  if((name_len == 7) && !strncmp(":status", (char *)name, 7)) {
+    msnprintf(headers->dest,
+              headers->destlen, "HTTP/3 %.*s\n",
+              (int) value_len, value);
+  }
+  else {
+    msnprintf(headers->dest,
+              headers->destlen, "%.*s: %.*s\n",
+              (int)name_len, name, (int) value_len, value);
+  }
+  olen = strlen(headers->dest);
+  headers->destlen -= olen;
+  headers->nlen += olen;
+  headers->dest += olen;
+  return 0;
+}
+
+static ssize_t h3_stream_recv(struct connectdata *conn,
+                              int sockindex,
+                              char *buf,
+                              size_t buffersize,
+                              CURLcode *curlcode)
+{
+  ssize_t recvd = -1;
+  ssize_t rcode;
+  struct quicsocket *qs = conn->quic;
+  curl_socket_t sockfd = conn->sock[sockindex];
+  quiche_h3_event *ev;
+  int rc;
+  struct h3h1header headers;
+  struct HTTP *stream = conn->data->req.protop;
+  headers.dest = buf;
+  headers.destlen = buffersize;
+  headers.nlen = 0;
+
+  if(process_ingress(conn, sockfd, qs)) {
+    infof(conn->data, "h3_stream_recv returns on ingress\n");
+    *curlcode = CURLE_RECV_ERROR;
+    return -1;
+  }
+
+  while(recvd < 0) {
+    int64_t s = quiche_h3_conn_poll(qs->h3c, qs->conn, &ev);
+    if(s < 0)
+      /* nothing more to do */
+      break;
+
+    if(s != stream->stream3_id) {
+      /* another transfer, ignore for now */
+      infof(conn->data, "Got h3 for stream %u, expects %u\n",
+            s, stream->stream3_id);
+      continue;
+    }
+
+    switch(quiche_h3_event_type(ev)) {
+    case QUICHE_H3_EVENT_HEADERS:
+      rc = quiche_h3_event_for_each_header(ev, cb_each_header, &headers);
+      if(rc) {
+        /* what do we do about this? */
+      }
+      recvd = headers.nlen;
+      break;
+    case QUICHE_H3_EVENT_DATA:
+      if(!stream->firstbody) {
+        /* add a header-body separator CRLF */
+        buf[0] = '\r';
+        buf[1] = '\n';
+        buf += 2;
+        buffersize -= 2;
+        stream->firstbody = TRUE;
+        recvd = 2; /* two bytes already */
+      }
+      else
+        recvd = 0;
+      rcode = quiche_h3_recv_body(qs->h3c, qs->conn, s, (unsigned char *)buf,
+                                  buffersize);
+      if(rcode <= 0) {
+        recvd = -1;
+        break;
+      }
+      recvd += rcode;
+      break;
+
+    case QUICHE_H3_EVENT_FINISHED:
+      if(quiche_conn_close(qs->conn, true, 0, NULL, 0) < 0) {
+        ;
+      }
+      recvd = 0; /* end of stream */
+      break;
+    default:
+      break;
+    }
+
+    quiche_h3_event_free(ev);
+  }
+  if(flush_egress(conn, sockfd, qs)) {
+    *curlcode = CURLE_SEND_ERROR;
+    return -1;
+  }
+
+  *curlcode = (-1 == recvd)? CURLE_AGAIN : CURLE_OK;
+  if(recvd >= 0)
+    /* Get this called again to drain the event queue */
+    Curl_expire(conn->data, 0, EXPIRE_QUIC);
+  return recvd;
+}
+
+static ssize_t h3_stream_send(struct connectdata *conn,
+                              int sockindex,
+                              const void *mem,
+                              size_t len,
+                              CURLcode *curlcode)
+{
+  ssize_t sent;
+  struct quicsocket *qs = conn->quic;
+  curl_socket_t sockfd = conn->sock[sockindex];
+  struct HTTP *stream = conn->data->req.protop;
+
+  if(!stream->h3req) {
+    CURLcode result = http_request(conn, mem, len);
+    if(result) {
+      *curlcode = CURLE_SEND_ERROR;
+      return -1;
+    }
+    sent = len;
+  }
+  else {
+    H3BUGF(infof(conn->data, "Pass on %zd body bytes to quiche\n",
+                 len));
+    sent = quiche_h3_send_body(qs->h3c, qs->conn, stream->stream3_id,
+                               (uint8_t *)mem, len, FALSE);
+    if(sent < 0) {
+      *curlcode = CURLE_SEND_ERROR;
+      return -1;
+    }
+  }
+
+  if(flush_egress(conn, sockfd, qs)) {
+    *curlcode = CURLE_SEND_ERROR;
+    return -1;
+  }
+
+  *curlcode = CURLE_OK;
+  return sent;
+}
+
+/*
+ * Store quiche version info in this buffer, Prefix with a space.  Return total
+ * length written.
+ */
+int Curl_quic_ver(char *p, size_t len)
+{
+  return msnprintf(p, len, " quiche/%s", quiche_version());
+}
+
+/* Index where :authority header field will appear in request header
+   field list. */
+#define AUTHORITY_DST_IDX 3
+
+static CURLcode http_request(struct connectdata *conn, const void *mem,
+                             size_t len)
+{
+  /*
+   */
+  struct HTTP *stream = conn->data->req.protop;
+  size_t nheader;
+  size_t i;
+  size_t authority_idx;
+  char *hdbuf = (char *)mem;
+  char *end, *line_end;
+  int64_t stream3_id;
+  quiche_h3_header *nva = NULL;
+  struct quicsocket *qs = conn->quic;
+  CURLcode result = CURLE_OK;
+  struct Curl_easy *data = conn->data;
+
+  stream->h3req = TRUE; /* senf off! */
+
+  /* Calculate number of headers contained in [mem, mem + len). Assumes a
+     correctly generated HTTP header field block. */
+  nheader = 0;
+  for(i = 1; i < len; ++i) {
+    if(hdbuf[i] == '\n' && hdbuf[i - 1] == '\r') {
+      ++nheader;
+      ++i;
+    }
+  }
+  if(nheader < 2)
+    goto fail;
+
+  /* We counted additional 2 \r\n in the first and last line. We need 3
+     new headers: :method, :path and :scheme. Therefore we need one
+     more space. */
+  nheader += 1;
+  nva = malloc(sizeof(quiche_h3_header) * nheader);
+  if(!nva) {
+    result = CURLE_OUT_OF_MEMORY;
+    goto fail;
+  }
+
+  /* Extract :method, :path from request line
+     We do line endings with CRLF so checking for CR is enough */
+  line_end = memchr(hdbuf, '\r', len);
+  if(!line_end) {
+    result = CURLE_BAD_FUNCTION_ARGUMENT; /* internal error */
+    goto fail;
+  }
+
+  /* Method does not contain spaces */
+  end = memchr(hdbuf, ' ', line_end - hdbuf);
+  if(!end || end == hdbuf)
+    goto fail;
+  nva[0].name = (unsigned char *)":method";
+  nva[0].name_len = strlen((char *)nva[0].name);
+  nva[0].value = (unsigned char *)hdbuf;
+  nva[0].value_len = (size_t)(end - hdbuf);
+
+  hdbuf = end + 1;
+
+  /* Path may contain spaces so scan backwards */
+  end = NULL;
+  for(i = (size_t)(line_end - hdbuf); i; --i) {
+    if(hdbuf[i - 1] == ' ') {
+      end = &hdbuf[i - 1];
+      break;
+    }
+  }
+  if(!end || end == hdbuf)
+    goto fail;
+  nva[1].name = (unsigned char *)":path";
+  nva[1].name_len = strlen((char *)nva[1].name);
+  nva[1].value = (unsigned char *)hdbuf;
+  nva[1].value_len = (size_t)(end - hdbuf);
+
+  nva[2].name = (unsigned char *)":scheme";
+  nva[2].name_len = strlen((char *)nva[2].name);
+  if(conn->handler->flags & PROTOPT_SSL)
+    nva[2].value = (unsigned char *)"https";
+  else
+    nva[2].value = (unsigned char *)"http";
+  nva[2].value_len = strlen((char *)nva[2].value);
+
+
+  authority_idx = 0;
+  i = 3;
+  while(i < nheader) {
+    size_t hlen;
+
+    hdbuf = line_end + 2;
+
+    /* check for next CR, but only within the piece of data left in the given
+       buffer */
+    line_end = memchr(hdbuf, '\r', len - (hdbuf - (char *)mem));
+    if(!line_end || (line_end == hdbuf))
+      goto fail;
+
+    /* header continuation lines are not supported */
+    if(*hdbuf == ' ' || *hdbuf == '\t')
+      goto fail;
+
+    for(end = hdbuf; end < line_end && *end != ':'; ++end)
+      ;
+    if(end == hdbuf || end == line_end)
+      goto fail;
+    hlen = end - hdbuf;
+
+    if(hlen == 4 && strncasecompare("host", hdbuf, 4)) {
+      authority_idx = i;
+      nva[i].name = (unsigned char *)":authority";
+      nva[i].name_len = strlen((char *)nva[i].name);
+    }
+    else {
+      nva[i].name = (unsigned char *)hdbuf;
+      nva[i].name_len = (size_t)(end - hdbuf);
+    }
+    hdbuf = end + 1;
+    while(*hdbuf == ' ' || *hdbuf == '\t')
+      ++hdbuf;
+    end = line_end;
+
+#if 0 /* This should probably go in more or less like this */
+    switch(inspect_header((const char *)nva[i].name, nva[i].namelen, hdbuf,
+                          end - hdbuf)) {
+    case HEADERINST_IGNORE:
+      /* skip header fields prohibited by HTTP/2 specification. */
+      --nheader;
+      continue;
+    case HEADERINST_TE_TRAILERS:
+      nva[i].value = (uint8_t*)"trailers";
+      nva[i].value_len = sizeof("trailers") - 1;
+      break;
+    default:
+      nva[i].value = (unsigned char *)hdbuf;
+      nva[i].value_len = (size_t)(end - hdbuf);
+    }
+#endif
+    nva[i].value = (unsigned char *)hdbuf;
+    nva[i].value_len = (size_t)(end - hdbuf);
+
+    ++i;
+  }
+
+  /* :authority must come before non-pseudo header fields */
+  if(authority_idx != 0 && authority_idx != AUTHORITY_DST_IDX) {
+    quiche_h3_header authority = nva[authority_idx];
+    for(i = authority_idx; i > AUTHORITY_DST_IDX; --i) {
+      nva[i] = nva[i - 1];
+    }
+    nva[i] = authority;
+  }
+
+  /* Warn stream may be rejected if cumulative length of headers is too
+     large. */
+#define MAX_ACC 60000  /* <64KB to account for some overhead */
+  {
+    size_t acc = 0;
+
+    for(i = 0; i < nheader; ++i) {
+      acc += nva[i].name_len + nva[i].value_len;
+
+      H3BUGF(infof(data, "h3 [%.*s: %.*s]\n",
+                   nva[i].name_len, nva[i].name,
+                   nva[i].value_len, nva[i].value));
+    }
+
+    if(acc > MAX_ACC) {
+      infof(data, "http_request: Warning: The cumulative length of all "
+            "headers exceeds %zu bytes and that could cause the "
+            "stream to be rejected.\n", MAX_ACC);
+    }
+  }
+
+  switch(data->set.httpreq) {
+  case HTTPREQ_POST:
+  case HTTPREQ_POST_FORM:
+  case HTTPREQ_POST_MIME:
+  case HTTPREQ_PUT:
+    if(data->state.infilesize != -1)
+      stream->upload_left = data->state.infilesize;
+    else
+      /* data sending without specifying the data amount up front */
+      stream->upload_left = -1; /* unknown, but not zero */
+
+    stream3_id = quiche_h3_send_request(qs->h3c, qs->conn, nva, nheader,
+                                        stream->upload_left ? FALSE: TRUE);
+    if((stream3_id >= 0) && data->set.postfields) {
+      ssize_t sent = quiche_h3_send_body(qs->h3c, qs->conn, stream3_id,
+                                         (uint8_t *)data->set.postfields,
+                                         stream->upload_left, TRUE);
+      if(sent <= 0) {
+        failf(data, "quiche_h3_send_body failed!");
+        result = CURLE_SEND_ERROR;
+      }
+      stream->upload_left = 0; /* nothing left to send */
+    }
+    break;
+  default:
+    stream3_id = quiche_h3_send_request(qs->h3c, qs->conn, nva, nheader,
+                                        TRUE);
+    break;
+  }
+
+  Curl_safefree(nva);
+
+  if(stream3_id < 0) {
+    H3BUGF(infof(data, "quiche_h3_send_request returned %d\n",
+                 stream3_id));
+    result = CURLE_SEND_ERROR;
+    goto fail;
+  }
+
+  infof(data, "Using HTTP/3 Stream ID: %x (easy handle %p)\n",
+        stream3_id, (void *)data);
+  stream->stream3_id = stream3_id;
+
+  return CURLE_OK;
+
+fail:
+  free(nva);
+  return result;
+}
+
+/*
+ * Called from transfer.c:done_sending when we stop HTTP/3 uploading.
+ */
+CURLcode Curl_quic_done_sending(struct connectdata *conn)
+{
+  if(conn->handler == &Curl_handler_http3) {
+    /* only for HTTP/3 transfers */
+    ssize_t sent;
+    struct HTTP *stream = conn->data->req.protop;
+    struct quicsocket *qs = conn->quic;
+    fprintf(stderr, "!!! Curl_quic_done_sending\n");
+    stream->upload_done = TRUE;
+    sent = quiche_h3_send_body(qs->h3c, qs->conn, stream->stream3_id,
+                               NULL, 0, TRUE);
+    if(sent < 0)
+      return CURLE_SEND_ERROR;
+  }
+
+  return CURLE_OK;
+}
+
+#endif
diff --git a/lib/vquic/quiche.h b/lib/vquic/quiche.h
new file mode 100644
index 0000000..c8d1837
--- /dev/null
+++ b/lib/vquic/quiche.h
@@ -0,0 +1,49 @@
+#ifndef HEADER_CURL_VQUIC_QUICHE_H
+#define HEADER_CURL_VQUIC_QUICHE_H
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
+ *
+ * This software is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at https://curl.haxx.se/docs/copyright.html.
+ *
+ * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+ * copies of the Software, and permit persons to whom the Software is
+ * furnished to do so, under the terms of the COPYING file.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ ***************************************************************************/
+
+#include "curl_setup.h"
+
+#ifdef USE_QUICHE
+
+#include <quiche.h>
+
+struct quic_handshake {
+  char *buf;       /* pointer to the buffer */
+  size_t alloclen; /* size of allocation */
+  size_t len;      /* size of content in buffer */
+  size_t nread;    /* how many bytes have been read */
+};
+
+struct quicsocket {
+  quiche_config *cfg;
+  quiche_conn *conn;
+  quiche_h3_conn *h3c;
+  quiche_h3_config *h3config;
+  uint8_t scid[QUICHE_MAX_CONN_ID_LEN];
+  uint32_t version;
+};
+
+#endif
+
+#endif /* HEADER_CURL_VQUIC_QUICHE_H */
diff --git a/lib/ssh-libssh.c b/lib/vssh/libssh.c
similarity index 98%
rename from lib/ssh-libssh.c
rename to lib/vssh/libssh.c
index ca13376..76956a3 100644
--- a/lib/ssh-libssh.c
+++ b/lib/vssh/libssh.c
@@ -126,13 +126,9 @@
 
 static void sftp_quote(struct connectdata *conn);
 static void sftp_quote_stat(struct connectdata *conn);
-
-static int myssh_getsock(struct connectdata *conn, curl_socket_t *sock,
-                         int numsocks);
-
+static int myssh_getsock(struct connectdata *conn, curl_socket_t *sock);
 static int myssh_perform_getsock(const struct connectdata *conn,
-                                 curl_socket_t *sock,
-                                 int numsocks);
+                                 curl_socket_t *sock);
 
 static CURLcode myssh_setup_connection(struct connectdata *conn);
 
@@ -1119,7 +1115,7 @@
         flags = O_WRONLY|O_APPEND;
       else
         /* Clear file before writing (normal behaviour) */
-        flags = O_WRONLY|O_APPEND|O_CREAT|O_TRUNC;
+        flags = O_WRONLY|O_CREAT|O_TRUNC;
 
       if(sshc->sftp_file)
         sftp_close(sshc->sftp_file);
@@ -1913,13 +1909,9 @@
 /* called by the multi interface to figure out what socket(s) to wait for and
    for what actions in the DO_DONE, PERFORM and WAITPERFORM states */
 static int myssh_perform_getsock(const struct connectdata *conn,
-                                 curl_socket_t *sock,  /* points to numsocks
-                                                          number of sockets */
-                                 int numsocks)
+                                 curl_socket_t *sock)
 {
   int bitmap = GETSOCK_BLANK;
-  (void) numsocks;
-
   sock[0] = conn->sock[FIRSTSOCKET];
 
   if(conn->waitfor & KEEP_RECV)
@@ -1934,13 +1926,11 @@
 /* Generic function called by the multi interface to figure out what socket(s)
    to wait for and for what actions during the DOING and PROTOCONNECT states*/
 static int myssh_getsock(struct connectdata *conn,
-                         curl_socket_t *sock,  /* points to numsocks
-                                                   number of sockets */
-                         int numsocks)
+                         curl_socket_t *sock)
 {
   /* if we know the direction we can use the generic *_getsock() function even
      for the protocol_connect and doing states */
-  return myssh_perform_getsock(conn, sock, numsocks);
+  return myssh_perform_getsock(conn, sock);
 }
 
 static void myssh_block2waitfor(struct connectdata *conn, bool block)
@@ -2735,5 +2725,23 @@
   return;
 }
 
+CURLcode Curl_ssh_init(void)
+{
+  if(ssh_init()) {
+    DEBUGF(fprintf(stderr, "Error: libssh_init failed\n"));
+    return CURLE_FAILED_INIT;
+  }
+  return CURLE_OK;
+}
+
+void Curl_ssh_cleanup(void)
+{
+  (void)ssh_finalize();
+}
+
+size_t Curl_ssh_version(char *buffer, size_t buflen)
+{
+  return msnprintf(buffer, buflen, "libssh/%s", CURL_LIBSSH_VERSION);
+}
 
 #endif                          /* USE_LIBSSH */
diff --git a/lib/ssh.c b/lib/vssh/libssh2.c
similarity index 98%
rename from lib/ssh.c
rename to lib/vssh/libssh2.c
index a265c3c..2b25a51 100644
--- a/lib/ssh.c
+++ b/lib/vssh/libssh2.c
@@ -125,17 +125,9 @@
 CURLcode sftp_perform(struct connectdata *conn,
                       bool *connected,
                       bool *dophase_done);
-
-static int ssh_getsock(struct connectdata *conn,
-                       curl_socket_t *sock, /* points to numsocks number
-                                               of sockets */
-                       int numsocks);
-
+static int ssh_getsock(struct connectdata *conn, curl_socket_t *sock);
 static int ssh_perform_getsock(const struct connectdata *conn,
-                               curl_socket_t *sock, /* points to numsocks
-                                                       number of sockets */
-                               int numsocks);
-
+                               curl_socket_t *sock);
 static CURLcode ssh_setup_connection(struct connectdata *conn);
 
 /*
@@ -2700,13 +2692,10 @@
 /* called by the multi interface to figure out what socket(s) to wait for and
    for what actions in the DO_DONE, PERFORM and WAITPERFORM states */
 static int ssh_perform_getsock(const struct connectdata *conn,
-                               curl_socket_t *sock, /* points to numsocks
-                                                       number of sockets */
-                               int numsocks)
+                               curl_socket_t *sock)
 {
 #ifdef HAVE_LIBSSH2_SESSION_BLOCK_DIRECTION
   int bitmap = GETSOCK_BLANK;
-  (void)numsocks;
 
   sock[0] = conn->sock[FIRSTSOCKET];
 
@@ -2720,28 +2709,25 @@
 #else
   /* if we don't know the direction we can use the generic *_getsock()
      function even for the protocol_connect and doing states */
-  return Curl_single_getsock(conn, sock, numsocks);
+  return Curl_single_getsock(conn, sock);
 #endif
 }
 
 /* Generic function called by the multi interface to figure out what socket(s)
    to wait for and for what actions during the DOING and PROTOCONNECT states*/
 static int ssh_getsock(struct connectdata *conn,
-                       curl_socket_t *sock, /* points to numsocks number
-                                               of sockets */
-                       int numsocks)
+                       curl_socket_t *sock)
 {
 #ifndef HAVE_LIBSSH2_SESSION_BLOCK_DIRECTION
   (void)conn;
   (void)sock;
-  (void)numsocks;
   /* if we don't know any direction we can just play along as we used to and
      not provide any sensible info */
   return GETSOCK_BLANK;
 #else
   /* if we know the direction we can use the generic *_getsock() function even
      for the protocol_connect and doing states */
-  return ssh_perform_getsock(conn, sock, numsocks);
+  return ssh_perform_getsock(conn, sock);
 #endif
 }
 
@@ -3334,4 +3320,27 @@
   return "Unknown error in libssh2";
 }
 
+CURLcode Curl_ssh_init(void)
+{
+#ifdef HAVE_LIBSSH2_INIT
+  if(libssh2_init(0)) {
+    DEBUGF(fprintf(stderr, "Error: libssh2_init failed\n"));
+    return CURLE_FAILED_INIT;
+  }
+#endif
+  return CURLE_OK;
+}
+
+void Curl_ssh_cleanup(void)
+{
+#ifdef HAVE_LIBSSH2_EXIT
+  (void)libssh2_exit();
+#endif
+}
+
+size_t Curl_ssh_version(char *buffer, size_t buflen)
+{
+  return msnprintf(buffer, buflen, "libssh2/%s", LIBSSH2_VERSION);
+}
+
 #endif /* USE_LIBSSH2 */
diff --git a/lib/vtls/mesalink.c b/lib/vtls/mesalink.c
index 7ca4f0e..9507888 100644
--- a/lib/vtls/mesalink.c
+++ b/lib/vtls/mesalink.c
@@ -73,6 +73,17 @@
 static Curl_recv mesalink_recv;
 static Curl_send mesalink_send;
 
+static int do_file_type(const char *type)
+{
+  if(!type || !type[0])
+    return SSL_FILETYPE_PEM;
+  if(strcasecompare(type, "PEM"))
+    return SSL_FILETYPE_PEM;
+  if(strcasecompare(type, "DER"))
+    return SSL_FILETYPE_ASN1;
+  return -1;
+}
+
 /*
  * This function loads all the client/CA certificates and CRLs. Setup the TLS
  * layer and do all necessary magic.
@@ -83,9 +94,6 @@
   char *ciphers;
   struct Curl_easy *data = conn->data;
   struct ssl_connect_data *connssl = &conn->ssl[sockindex];
-  const bool verifypeer = SSL_CONN_CONFIG(verifypeer);
-  const char *const ssl_cafile = SSL_CONN_CONFIG(CAfile);
-  const char *const ssl_capath = SSL_CONN_CONFIG(CApath);
   struct in_addr addr4;
 #ifdef ENABLE_IPV6
   struct in6_addr addr6;
@@ -142,21 +150,25 @@
   }
 
   SSL_CTX_set_verify(
-    BACKEND->ctx, verifypeer ? SSL_VERIFY_PEER : SSL_VERIFY_NONE, NULL);
+    BACKEND->ctx, SSL_CONN_CONFIG(verifypeer) ?
+      SSL_VERIFY_PEER : SSL_VERIFY_NONE, NULL);
 
-  if(ssl_cafile || ssl_capath) {
-    if(!SSL_CTX_load_verify_locations(BACKEND->ctx, ssl_cafile, ssl_capath)) {
-      if(verifypeer) {
+  if(SSL_CONN_CONFIG(CAfile) || SSL_CONN_CONFIG(CApath)) {
+    if(!SSL_CTX_load_verify_locations(BACKEND->ctx, SSL_CONN_CONFIG(CAfile),
+                                                    SSL_CONN_CONFIG(CApath))) {
+      if(SSL_CONN_CONFIG(verifypeer)) {
         failf(data,
               "error setting certificate verify locations:\n"
               "  CAfile: %s\n  CApath: %s",
-              ssl_cafile ? ssl_cafile : "none",
-              ssl_capath ? ssl_capath : "none");
+              SSL_CONN_CONFIG(CAfile) ?
+              SSL_CONN_CONFIG(CAfile) : "none",
+              SSL_CONN_CONFIG(CApath) ?
+              SSL_CONN_CONFIG(CApath) : "none");
         return CURLE_SSL_CACERT_BADFILE;
       }
       infof(data,
-            "error setting certificate verify locations,"
-            " continuing anyway:\n");
+          "error setting certificate verify locations,"
+          " continuing anyway:\n");
     }
     else {
       infof(data, "successfully set certificate verify locations:\n");
@@ -164,8 +176,32 @@
     infof(data,
           "  CAfile: %s\n"
           "  CApath: %s\n",
-          ssl_cafile ? ssl_cafile : "none",
-          ssl_capath ? ssl_capath : "none");
+          SSL_CONN_CONFIG(CAfile)?
+          SSL_CONN_CONFIG(CAfile): "none",
+          SSL_CONN_CONFIG(CApath)?
+          SSL_CONN_CONFIG(CApath): "none");
+  }
+
+  if(SSL_SET_OPTION(cert) && SSL_SET_OPTION(key)) {
+    int file_type = do_file_type(SSL_SET_OPTION(cert_type));
+
+    if(SSL_CTX_use_certificate_chain_file(BACKEND->ctx, SSL_SET_OPTION(cert),
+                                     file_type) != 1) {
+      failf(data, "unable to use client certificate (no key or wrong pass"
+            " phrase?)");
+      return CURLE_SSL_CONNECT_ERROR;
+    }
+
+    file_type = do_file_type(SSL_SET_OPTION(key_type));
+    if(SSL_CTX_use_PrivateKey_file(BACKEND->ctx, SSL_SET_OPTION(key),
+                                    file_type) != 1) {
+      failf(data, "unable to set private key");
+      return CURLE_SSL_CONNECT_ERROR;
+    }
+    infof(data,
+          "client cert: %s\n",
+          SSL_CONN_CONFIG(clientcert)?
+          SSL_CONN_CONFIG(clientcert): "none");
   }
 
   ciphers = SSL_CONN_CONFIG(cipher_list);
diff --git a/lib/vtls/nss.c b/lib/vtls/nss.c
index 482fd5e..435f3e9 100644
--- a/lib/vtls/nss.c
+++ b/lib/vtls/nss.c
@@ -1734,20 +1734,16 @@
   CURLcode result;
   const long min = SSL_CONN_CONFIG(version);
   const long max = SSL_CONN_CONFIG(version_max);
-
-  /* map CURL_SSLVERSION_DEFAULT to NSS default */
-  if(min == CURL_SSLVERSION_DEFAULT || max == CURL_SSLVERSION_MAX_DEFAULT) {
-    /* map CURL_SSLVERSION_DEFAULT to NSS default */
-    if(SSL_VersionRangeGetDefault(ssl_variant_stream, sslver) != SECSuccess)
-      return CURLE_SSL_CONNECT_ERROR;
-    /* ... but make sure we use at least TLSv1.0 according to libcurl API */
-    if(sslver->min < SSL_LIBRARY_VERSION_TLS_1_0)
-      sslver->min = SSL_LIBRARY_VERSION_TLS_1_0;
-  }
+  SSLVersionRange vrange;
 
   switch(min) {
   case CURL_SSLVERSION_TLSv1:
   case CURL_SSLVERSION_DEFAULT:
+    /* Bump our minimum TLS version if NSS has stricter requirements. */
+    if(SSL_VersionRangeGetDefault(ssl_variant_stream, &vrange) != SECSuccess)
+      return CURLE_SSL_CONNECT_ERROR;
+    if(sslver->min < vrange.min)
+      sslver->min = vrange.min;
     break;
   default:
     result = nss_sslver_from_curl(&sslver->min, min);
diff --git a/lib/vtls/openssl.c b/lib/vtls/openssl.c
index fb9f271..385f281 100644
--- a/lib/vtls/openssl.c
+++ b/lib/vtls/openssl.c
@@ -25,11 +25,6 @@
  * but vtls.c should ever call or use these functions.
  */
 
-/*
- * The original SSLeay-using code for curl was written by Linas Vepstas and
- * Sampo Kellomaki 1998.
- */
-
 #include "curl_setup.h"
 
 #ifdef USE_OPENSSL
@@ -396,7 +391,11 @@
  */
 static char *ossl_strerror(unsigned long error, char *buf, size_t size)
 {
+#ifdef OPENSSL_IS_BORINGSSL
+  ERR_error_string_n((uint32_t)error, buf, size);
+#else
   ERR_error_string_n(error, buf, size);
+#endif
   return buf;
 }
 
@@ -1534,8 +1533,13 @@
   altnames = X509_get_ext_d2i(server_cert, NID_subject_alt_name, NULL, NULL);
 
   if(altnames) {
+#ifdef OPENSSL_IS_BORINGSSL
+    size_t numalts;
+    size_t i;
+#else
     int numalts;
     int i;
+#endif
     bool dnsmatched = FALSE;
     bool ipmatched = FALSE;
 
@@ -1565,11 +1569,10 @@
              assumed that the data returned by ASN1_STRING_data() is null
              terminated or does not contain embedded nulls." But also that
              "The actual format of the data will depend on the actual string
-             type itself: for example for and IA5String the data will be ASCII"
+             type itself: for example for an IA5String the data will be ASCII"
 
-             Gisle researched the OpenSSL sources:
-             "I checked the 0.9.6 and 0.9.8 sources before my patch and
-             it always 0-terminates an IA5String."
+             It has been however verified that in 0.9.6 and 0.9.7, IA5String
+             is always zero-terminated.
           */
           if((altlen == strlen(altptr)) &&
              /* if this isn't true, there was an embedded zero in the name
@@ -1633,8 +1636,7 @@
       /* In OpenSSL 0.9.7d and earlier, ASN1_STRING_to_UTF8 fails if the input
          is already UTF-8 encoded. We check for this case and copy the raw
          string manually to avoid the problem. This code can be made
-         conditional in the future when OpenSSL has been fixed. Work-around
-         brought by Alexis S. L. Carvalho. */
+         conditional in the future when OpenSSL has been fixed. */
       if(tmp) {
         if(ASN1_STRING_type(tmp) == V_ASN1_UTF8STRING) {
           j = ASN1_STRING_length(tmp);
@@ -2154,9 +2156,96 @@
 }
 #endif
 
+#if (OPENSSL_VERSION_NUMBER >= 0x10100000L) /* 1.1.0 */
 static CURLcode
-set_ssl_version_min_max(long *ctx_options, struct connectdata *conn,
-                        int sockindex)
+set_ssl_version_min_max(SSL_CTX *ctx, struct connectdata *conn)
+{
+  /* first, TLS min version... */
+  long curl_ssl_version_min = SSL_CONN_CONFIG(version);
+  long curl_ssl_version_max;
+
+  /* convert cURL min SSL version option to OpenSSL constant */
+  long ossl_ssl_version_min = 0;
+  long ossl_ssl_version_max = 0;
+  switch(curl_ssl_version_min) {
+    case CURL_SSLVERSION_TLSv1: /* TLS 1.x */
+    case CURL_SSLVERSION_TLSv1_0:
+      ossl_ssl_version_min = TLS1_VERSION;
+      break;
+    case CURL_SSLVERSION_TLSv1_1:
+      ossl_ssl_version_min = TLS1_1_VERSION;
+      break;
+    case CURL_SSLVERSION_TLSv1_2:
+      ossl_ssl_version_min = TLS1_2_VERSION;
+      break;
+#ifdef TLS1_3_VERSION
+    case CURL_SSLVERSION_TLSv1_3:
+      ossl_ssl_version_min = TLS1_3_VERSION;
+      break;
+#endif
+  }
+
+  /* CURL_SSLVERSION_DEFAULT means that no option was selected.
+    We don't want to pass 0 to SSL_CTX_set_min_proto_version as
+    it would enable all versions down to the lowest supported by
+    the library.
+    So we skip this, and stay with the OS default
+  */
+  if(curl_ssl_version_min != CURL_SSLVERSION_DEFAULT) {
+    if(!SSL_CTX_set_min_proto_version(ctx, ossl_ssl_version_min)) {
+      return CURLE_SSL_CONNECT_ERROR;
+    }
+  }
+
+  /* ... then, TLS max version */
+  curl_ssl_version_max = SSL_CONN_CONFIG(version_max);
+
+  /* convert cURL max SSL version option to OpenSSL constant */
+  ossl_ssl_version_max = 0;
+  switch(curl_ssl_version_max) {
+    case CURL_SSLVERSION_MAX_TLSv1_0:
+      ossl_ssl_version_max = TLS1_VERSION;
+      break;
+    case CURL_SSLVERSION_MAX_TLSv1_1:
+      ossl_ssl_version_max = TLS1_1_VERSION;
+      break;
+    case CURL_SSLVERSION_MAX_TLSv1_2:
+      ossl_ssl_version_max = TLS1_2_VERSION;
+      break;
+#ifdef TLS1_3_VERSION
+    case CURL_SSLVERSION_MAX_TLSv1_3:
+      ossl_ssl_version_max = TLS1_3_VERSION;
+      break;
+#endif
+    case CURL_SSLVERSION_MAX_NONE:  /* none selected */
+    case CURL_SSLVERSION_MAX_DEFAULT:  /* max selected */
+    default:
+      /* SSL_CTX_set_max_proto_version states that:
+        setting the maximum to 0 will enable
+        protocol versions up to the highest version
+        supported by the library */
+      ossl_ssl_version_max = 0;
+      break;
+  }
+
+  if(!SSL_CTX_set_max_proto_version(ctx, ossl_ssl_version_max)) {
+    return CURLE_SSL_CONNECT_ERROR;
+  }
+
+  return CURLE_OK;
+}
+#endif
+
+#ifdef OPENSSL_IS_BORINGSSL
+typedef uint32_t ctx_option_t;
+#else
+typedef long ctx_option_t;
+#endif
+
+#if (OPENSSL_VERSION_NUMBER < 0x10100000L) /* 1.1.0 */
+static CURLcode
+set_ssl_version_min_max_legacy(ctx_option_t *ctx_options,
+                              struct connectdata *conn, int sockindex)
 {
 #if (OPENSSL_VERSION_NUMBER < 0x1000100FL) || !defined(TLS1_3_VERSION)
   /* convoluted #if condition just to avoid compiler warnings on unused
@@ -2228,6 +2317,7 @@
   }
   return CURLE_OK;
 }
+#endif
 
 /* The "new session" callback must return zero if the session can be removed
  * or non-zero if the session has been put into the session cache.
@@ -2294,7 +2384,8 @@
   X509_LOOKUP *lookup = NULL;
   curl_socket_t sockfd = conn->sock[sockindex];
   struct ssl_connect_data *connssl = &conn->ssl[sockindex];
-  long ctx_options = 0;
+  ctx_option_t ctx_options = 0;
+
 #ifdef SSL_CTRL_SET_TLSEXT_HOSTNAME
   bool sni;
   const char * const hostname = SSL_IS_PROXY() ? conn->http_proxy.host.name :
@@ -2457,48 +2548,66 @@
 #endif
 
   switch(ssl_version) {
-  case CURL_SSLVERSION_SSLv3:
-    ctx_options |= SSL_OP_NO_SSLv2;
-    ctx_options |= SSL_OP_NO_TLSv1;
-#if OPENSSL_VERSION_NUMBER >= 0x1000100FL
-    ctx_options |= SSL_OP_NO_TLSv1_1;
-    ctx_options |= SSL_OP_NO_TLSv1_2;
-#ifdef TLS1_3_VERSION
-    ctx_options |= SSL_OP_NO_TLSv1_3;
+    /* "--sslv2" option means SSLv2 only, disable all others */
+    case CURL_SSLVERSION_SSLv2:
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L /* 1.1.0 */
+      SSL_CTX_set_min_proto_version(BACKEND->ctx, SSL2_VERSION);
+      SSL_CTX_set_max_proto_version(BACKEND->ctx, SSL2_VERSION);
+#else
+      ctx_options |= SSL_OP_NO_SSLv3;
+      ctx_options |= SSL_OP_NO_TLSv1;
+#  if OPENSSL_VERSION_NUMBER >= 0x1000100FL
+      ctx_options |= SSL_OP_NO_TLSv1_1;
+      ctx_options |= SSL_OP_NO_TLSv1_2;
+#    ifdef TLS1_3_VERSION
+      ctx_options |= SSL_OP_NO_TLSv1_3;
+#    endif
+#  endif
 #endif
-#endif
-    break;
+      break;
 
-  case CURL_SSLVERSION_DEFAULT:
-  case CURL_SSLVERSION_TLSv1:
-  case CURL_SSLVERSION_TLSv1_0:
-  case CURL_SSLVERSION_TLSv1_1:
-  case CURL_SSLVERSION_TLSv1_2:
-  case CURL_SSLVERSION_TLSv1_3:
-    /* asking for any TLS version as the minimum, means no SSL versions
-       allowed */
-    ctx_options |= SSL_OP_NO_SSLv2;
-    ctx_options |= SSL_OP_NO_SSLv3;
-    result = set_ssl_version_min_max(&ctx_options, conn, sockindex);
-    if(result != CURLE_OK)
-       return result;
-    break;
-
-  case CURL_SSLVERSION_SSLv2:
-    ctx_options |= SSL_OP_NO_SSLv3;
-    ctx_options |= SSL_OP_NO_TLSv1;
-#if OPENSSL_VERSION_NUMBER >= 0x1000100FL
-    ctx_options |= SSL_OP_NO_TLSv1_1;
-    ctx_options |= SSL_OP_NO_TLSv1_2;
-#ifdef TLS1_3_VERSION
-    ctx_options |= SSL_OP_NO_TLSv1_3;
+    /* "--sslv3" option means SSLv3 only, disable all others */
+    case CURL_SSLVERSION_SSLv3:
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L /* 1.1.0 */
+      SSL_CTX_set_min_proto_version(BACKEND->ctx, SSL3_VERSION);
+      SSL_CTX_set_max_proto_version(BACKEND->ctx, SSL3_VERSION);
+#else
+      ctx_options |= SSL_OP_NO_SSLv2;
+      ctx_options |= SSL_OP_NO_TLSv1;
+#  if OPENSSL_VERSION_NUMBER >= 0x1000100FL
+      ctx_options |= SSL_OP_NO_TLSv1_1;
+      ctx_options |= SSL_OP_NO_TLSv1_2;
+#    ifdef TLS1_3_VERSION
+      ctx_options |= SSL_OP_NO_TLSv1_3;
+#    endif
+#  endif
 #endif
-#endif
-    break;
+      break;
 
-  default:
-    failf(data, "Unrecognized parameter passed via CURLOPT_SSLVERSION");
-    return CURLE_SSL_CONNECT_ERROR;
+    /* "--tlsv<x.y>" options mean TLS >= version <x.y> */
+    case CURL_SSLVERSION_DEFAULT:
+    case CURL_SSLVERSION_TLSv1: /* TLS >= version 1.0 */
+    case CURL_SSLVERSION_TLSv1_0: /* TLS >= version 1.0 */
+    case CURL_SSLVERSION_TLSv1_1: /* TLS >= version 1.1 */
+    case CURL_SSLVERSION_TLSv1_2: /* TLS >= version 1.2 */
+    case CURL_SSLVERSION_TLSv1_3: /* TLS >= version 1.3 */
+      /* asking for any TLS version as the minimum, means no SSL versions
+        allowed */
+      ctx_options |= SSL_OP_NO_SSLv2;
+      ctx_options |= SSL_OP_NO_SSLv3;
+
+#if (OPENSSL_VERSION_NUMBER >= 0x10100000L) /* 1.1.0 */
+      result = set_ssl_version_min_max(BACKEND->ctx, conn);
+#else
+      result = set_ssl_version_min_max_legacy(&ctx_options, conn, sockindex);
+#endif
+      if(result != CURLE_OK)
+        return result;
+      break;
+
+    default:
+      failf(data, "Unrecognized parameter passed via CURLOPT_SSLVERSION");
+      return CURLE_SSL_CONNECT_ERROR;
   }
 
   SSL_CTX_set_options(BACKEND->ctx, ctx_options);
@@ -2654,11 +2763,11 @@
   }
 
   /* Try building a chain using issuers in the trusted store first to avoid
-  problems with server-sent legacy intermediates.
-  Newer versions of OpenSSL do alternate chain checking by default which
-  gives us the same fix without as much of a performance hit (slight), so we
-  prefer that if available.
-  https://rt.openssl.org/Ticket/Display.html?id=3621&user=guest&pass=guest
+     problems with server-sent legacy intermediates.  Newer versions of
+     OpenSSL do alternate chain checking by default which gives us the same
+     fix without as much of a performance hit (slight), so we prefer that if
+     available.
+     https://rt.openssl.org/Ticket/Display.html?id=3621&user=guest&pass=guest
   */
 #if defined(X509_V_FLAG_TRUSTED_FIRST) && !defined(X509_V_FLAG_NO_ALT_CHAINS)
   if(verifypeer) {
@@ -3038,6 +3147,12 @@
   return 0; /* all is fine */
 }
 
+#ifdef OPENSSL_IS_BORINGSSL
+typedef size_t numcert_t;
+#else
+typedef int numcert_t;
+#endif
+
 static CURLcode get_cert_chain(struct connectdata *conn,
                                struct ssl_connect_data *connssl)
 
@@ -3046,7 +3161,7 @@
   STACK_OF(X509) *sk;
   int i;
   struct Curl_easy *data = conn->data;
-  int numcerts;
+  numcert_t numcerts;
   BIO *mem;
 
   sk = SSL_get_peer_cert_chain(BACKEND->handle);
@@ -3056,14 +3171,14 @@
 
   numcerts = sk_X509_num(sk);
 
-  result = Curl_ssl_init_certinfo(data, numcerts);
+  result = Curl_ssl_init_certinfo(data, (int)numcerts);
   if(result) {
     return result;
   }
 
   mem = BIO_new(BIO_s_mem());
 
-  for(i = 0; i < numcerts; i++) {
+  for(i = 0; i < (int)numcerts; i++) {
     ASN1_INTEGER *num;
     X509 *x = sk_X509_value(sk, i);
     EVP_PKEY *pubkey = NULL;
diff --git a/lib/vtls/vtls.c b/lib/vtls/vtls.c
index 6a0e60f..4228198 100644
--- a/lib/vtls/vtls.c
+++ b/lib/vtls/vtls.c
@@ -515,14 +515,10 @@
 #if defined(USE_OPENSSL) || defined(USE_GNUTLS) || defined(USE_SCHANNEL) || \
   defined(USE_SECTRANSP) || defined(USE_POLARSSL) || defined(USE_NSS) || \
   defined(USE_MBEDTLS) || defined(USE_WOLFSSL)
-int Curl_ssl_getsock(struct connectdata *conn, curl_socket_t *socks,
-                     int numsocks)
+int Curl_ssl_getsock(struct connectdata *conn, curl_socket_t *socks)
 {
   struct ssl_connect_data *connssl = &conn->ssl[FIRSTSOCKET];
 
-  if(!numsocks)
-    return GETSOCK_BLANK;
-
   if(connssl->connecting_state == ssl_connect_2_writing) {
     /* write mode */
     socks[0] = conn->sock[FIRSTSOCKET];
@@ -538,12 +534,10 @@
 }
 #else
 int Curl_ssl_getsock(struct connectdata *conn,
-                     curl_socket_t *socks,
-                     int numsocks)
+                     curl_socket_t *socks)
 {
   (void)conn;
   (void)socks;
-  (void)numsocks;
   return GETSOCK_BLANK;
 }
 /* USE_OPENSSL || USE_GNUTLS || USE_SCHANNEL || USE_SECTRANSP || USE_NSS */
diff --git a/lib/vtls/vtls.h b/lib/vtls/vtls.h
index 173d360..61d8416 100644
--- a/lib/vtls/vtls.h
+++ b/lib/vtls/vtls.h
@@ -143,8 +143,7 @@
 bool Curl_clone_primary_ssl_config(struct ssl_primary_config *source,
                                    struct ssl_primary_config *dest);
 void Curl_free_primary_ssl_config(struct ssl_primary_config* sslc);
-int Curl_ssl_getsock(struct connectdata *conn, curl_socket_t *socks,
-                     int numsocks);
+int Curl_ssl_getsock(struct connectdata *conn, curl_socket_t *socks);
 
 int Curl_ssl_backend(void);
 
diff --git a/local-configure.patch b/local-configure.patch
index b7a7091..65d2b42 100644
--- a/local-configure.patch
+++ b/local-configure.patch
@@ -2,7 +2,7 @@
 ===================================================================
 --- curl.orig/lib/curl_config.h
 +++ curl/lib/curl_config.h
-@@ -467,7 +467,7 @@
+@@ -473,7 +473,7 @@
  #define HAVE_NETDB_H 1
  
  /* Define to 1 if you have the <netinet/in6.h> header file. */
@@ -11,7 +11,7 @@
  
  /* Define to 1 if you have the <netinet/in.h> header file. */
  #define HAVE_NETINET_IN_H 1
-@@ -498,7 +498,7 @@
+@@ -513,7 +513,7 @@
  #define HAVE_OPENSSL_RSA_H 1
  
  /* if you have the function SRP_Calc_client_key */
@@ -20,7 +20,7 @@
  
  /* Define to 1 if you have the <openssl/ssl.h> header file. */
  #define HAVE_OPENSSL_SSL_H 1
-@@ -815,9 +815,6 @@
+@@ -833,9 +833,6 @@
  /* Define absolute filename for winbind's ntlm_auth helper. */
  /* #undef NTLM_WB_FILE */
  
@@ -30,7 +30,7 @@
  /* Name of package */
  #define PACKAGE "curl"
  
-@@ -873,7 +870,7 @@
+@@ -891,7 +888,7 @@
  #define SELECT_TYPE_ARG5 struct timeval *
  
  /* Define to the function return type for select. */
@@ -39,7 +39,7 @@
  
  /* Define to the type qualifier of arg 2 for send. */
  #define SEND_QUAL_ARG2 const
-@@ -899,24 +896,9 @@
+@@ -917,24 +914,9 @@
  /* The number of bytes in type int */
  #define SIZEOF_INT 4
  
@@ -64,7 +64,7 @@
  /* Define to 1 if you have the ANSI C header files. */
  #define STDC_HEADERS 1
  
-@@ -993,7 +975,7 @@
+@@ -1020,7 +1002,7 @@
  /* #undef USE_THREADS_WIN32 */
  
  /* Use TLS-SRP authentication */
@@ -73,7 +73,7 @@
  
  /* Use Unix domain sockets */
  #define USE_UNIX_SOCKETS 1
-@@ -1032,7 +1014,7 @@
+@@ -1062,7 +1044,7 @@
  #endif
  
  /* Number of bits in a file offset, on hosts where this is settable. */
diff --git a/ltmain.sh b/ltmain.sh
index f402c9c..c12c197 100644
--- a/ltmain.sh
+++ b/ltmain.sh
@@ -31,7 +31,7 @@
 
 PROGRAM=libtool
 PACKAGE=libtool
-VERSION="2.4.6 Debian-2.4.6-10"
+VERSION="2.4.6 Debian-2.4.6-9"
 package_revision=2.4.6
 
 
@@ -2141,7 +2141,7 @@
        compiler:       $LTCC
        compiler flags: $LTCFLAGS
        linker:         $LD (gnu? $with_gnu_ld)
-       version:        $progname $scriptversion Debian-2.4.6-10
+       version:        $progname $scriptversion Debian-2.4.6-9
        automake:       `($AUTOMAKE --version) 2>/dev/null |$SED 1q`
        autoconf:       `($AUTOCONF --version) 2>/dev/null |$SED 1q`
 
diff --git a/m4/libtool.m4 b/m4/libtool.m4
index 90924a6..0130746 100644
--- a/m4/libtool.m4
+++ b/m4/libtool.m4
@@ -4704,12 +4704,6 @@
 	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
 	_LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
         ;;
-      # flang / f18. f95 an alias for gfortran or flang on Debian
-      flang* | f18* | f95*)
-	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
-	_LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
-        ;;
       # icc used to be incompatible with GCC.
       # ICC 10 doesn't accept -KPIC any more.
       icc* | ifort*)
diff --git a/packages/OS400/README.OS400 b/packages/OS400/README.OS400
index c653cec..95a5584 100644
--- a/packages/OS400/README.OS400
+++ b/packages/OS400/README.OS400
@@ -120,6 +120,7 @@
         CURLOPT_RTSP_SESSION_UID
         CURLOPT_RTSP_STREAM_URI
         CURLOPT_RTSP_TRANSPORT
+        CURLOPT_SASL_AUTHZID
         CURLOPT_SERVICE_NAME
         CURLOPT_SOCKS5_GSSAPI_SERVICE
         CURLOPT_SSH_HOST_PUBLIC_KEY_MD5
diff --git a/packages/OS400/ccsidcurl.c b/packages/OS400/ccsidcurl.c
index 4b462a2..11e4c77 100644
--- a/packages/OS400/ccsidcurl.c
+++ b/packages/OS400/ccsidcurl.c
@@ -1141,12 +1141,7 @@
   if(testwarn) {
     testwarn = 0;
 
-    if(
-#ifdef USE_ALTSVC
-       (int) STRING_LASTZEROTERMINATED != (int) STRING_ALTSVC + 1 ||
-#else
-       (int) STRING_LASTZEROTERMINATED != (int) STRING_DOH + 1 ||
-#endif
+    if((int) STRING_LASTZEROTERMINATED != (int) STRING_SASL_AUTHZID + 1 ||
        (int) STRING_LAST != (int) STRING_COPYPOSTFIELDS + 1)
       curl_mfprintf(stderr,
        "*** WARNING: curl_easy_setopt_ccsid() should be reworked ***\n");
@@ -1213,6 +1208,7 @@
   case CURLOPT_RTSP_SESSION_ID:
   case CURLOPT_RTSP_STREAM_URI:
   case CURLOPT_RTSP_TRANSPORT:
+  case CURLOPT_SASL_AUTHZID:
   case CURLOPT_SERVICE_NAME:
   case CURLOPT_SOCKS5_GSSAPI_SERVICE:
   case CURLOPT_SSH_HOST_PUBLIC_KEY_MD5:
diff --git a/packages/OS400/ccsidcurl.h b/packages/OS400/ccsidcurl.h
index 895db70..9594f66 100644
--- a/packages/OS400/ccsidcurl.h
+++ b/packages/OS400/ccsidcurl.h
@@ -1,3 +1,5 @@
+#ifndef CURLINC_CCSIDCURL_H
+#define CURLINC_CCSIDCURL_H
 /***************************************************************************
  *                                  _   _ ____  _
  *  Project                     ___| | | |  _ \| |
@@ -5,7 +7,7 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
@@ -20,10 +22,6 @@
  *
  *
  ***************************************************************************/
-
-#ifndef __CURL_CCSIDCURL_H
-#define __CURL_CCSIDCURL_H
-
 #include "curl.h"
 #include "easy.h"
 #include "multi.h"
diff --git a/packages/OS400/curl.inc.in b/packages/OS400/curl.inc.in
index 8e36bac..5a53b1b 100644
--- a/packages/OS400/curl.inc.in
+++ b/packages/OS400/curl.inc.in
@@ -138,6 +138,8 @@
      d                 c                   X'00800000'
      d CURL_VERSION_ALTSVC...
      d                 c                   X'01000000'
+     d CURL_VERSION_HTTP3...
+     d                 c                   X'02000000'
       *
      d CURL_HTTPPOST_FILENAME...
      d                 c                   X'00000001'
@@ -1418,6 +1420,8 @@
      d                 c                   10287
      d  CURLOPT_MAXAGE_CONN...
      d                 c                   00288
+     d  CURLOPT_SASL_AUTHZID...
+     d                 c                   10289
       *
       /if not defined(CURL_NO_OLDIES)
      d  CURLOPT_FILE   c                   10001
diff --git a/plan9/BUILD.PLAN9.txt b/plan9/BUILD.PLAN9.txt
new file mode 100644
index 0000000..6df23d3
--- /dev/null
+++ b/plan9/BUILD.PLAN9.txt
@@ -0,0 +1,55 @@
+Prerequirement
+==============
+This document describes how to compile, build and install curl and libcurl
+from sources using mk. To build it, you will require to install latest
+9legacy patches into Plan 9. Also Plan 9 still have no configuration option so
+both zlib and libopenssl are required too.
+
+The zlib that is available on Plan 9 can be downloaded from:
+
+  https://github.com/madler/zlib/pull/398
+
+LibreSSL Portable can be downloaded from:
+
+  https://github.com/libressl-portable/portable/pull/510
+
+Instruction
+===========
+First, you should construct namespace as like described below:
+
+% bind -ac ../lib lib
+% bind -ac ../src src
+% bind -ac ../include include
+% bind -ac .. .
+
+Then you will see as shown below (excerpt):
+
+  curl.git/
+   |_plan9
+   | |_BUILD.PLAN9.txt
+   | |_CHANGES
+   | |_CMake
+   | |  :
+   | |_mkfile
+   | |_mkfile.proto
+   | |_include
+   | | |_Makefile.am
+   | | |  :
+   | | |_mkfile
+   | |_lib
+   | | |_CMakeLists.txt
+   | | |  :
+   | | |_mkfile
+   | | |_mkfile.inc
+   | |_src
+   | | |_CMakeLists.txt
+   | | |  :
+   | | |_mkfile
+   | | |_mkfile.inc
+   |_lib
+   |_src
+
+After constructing namespace, you can run mk on plan9 directory.
+
+% mk
+% mk install
diff --git a/plan9/include/mkfile b/plan9/include/mkfile
new file mode 100644
index 0000000..c1ed850
--- /dev/null
+++ b/plan9/include/mkfile
@@ -0,0 +1,34 @@
+#***************************************************************************
+#                                  _   _ ____  _
+#  Project                     ___| | | |  _ \| |
+#                             / __| | | | |_) | |
+#                            | (__| |_| |  _ <| |___
+#                             \___|\___/|_| \_\_____|
+#
+# Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
+#
+# This software is licensed as described in the file COPYING, which
+# you should have received as part of this distribution. The terms
+# are also available at https://curl.haxx.se/docs/copyright.html.
+#
+# You may opt to use, copy, modify, merge, publish, distribute and/or sell
+# copies of the Software, and permit persons to whom the Software is
+# furnished to do so, under the terms of the COPYING file.
+#
+# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+# KIND, either express or implied.
+#
+###########################################################################
+
+DIR=/sys/include/ape/curl
+HFILES=`{ls curl/*.h}
+
+all:V: $HFILES
+
+install:V: all
+	mkdir -p $DIR
+	cp curl/*.h $DIR/
+
+clean:V: $HFILES  # do nothing
+
+nuke:V: clean
diff --git a/plan9/lib/mkfile b/plan9/lib/mkfile
new file mode 100644
index 0000000..d7a7ac5
--- /dev/null
+++ b/plan9/lib/mkfile
@@ -0,0 +1,39 @@
+#***************************************************************************
+#                                  _   _ ____  _
+#  Project                     ___| | | |  _ \| |
+#                             / __| | | | |_) | |
+#                            | (__| |_| |  _ <| |___
+#                             \___|\___/|_| \_\_____|
+#
+# Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
+#
+# This software is licensed as described in the file COPYING, which
+# you should have received as part of this distribution. The terms
+# are also available at https://curl.haxx.se/docs/copyright.html.
+#
+# You may opt to use, copy, modify, merge, publish, distribute and/or sell
+# copies of the Software, and permit persons to whom the Software is
+# furnished to do so, under the terms of the COPYING file.
+#
+# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+# KIND, either express or implied.
+#
+###########################################################################
+
+<../mkfile.proto
+<|mkfile.inc
+
+CFLAGS=$CFLAGS -I../include -I. -c
+
+OFILES=${CSOURCES:%.c=%.$O}
+HFILES=$HHEADERS
+LIB=/$objtype/lib/ape/libcurl.a
+
+CLEANFILES=\
+	${LIB_VAUTH_CFILES:%.c=%.$O}\
+	${LIB_VTLS_CFILES:%.c=%.$O}\
+
+</sys/src/cmd/mklib
+
+%.$O: %.c
+	$CC $CFLAGS -o $target $stem.c
diff --git a/plan9/lib/mkfile.inc b/plan9/lib/mkfile.inc
new file mode 100755
index 0000000..0966d77
--- /dev/null
+++ b/plan9/lib/mkfile.inc
@@ -0,0 +1,25 @@
+#!/bin/rc
+#***************************************************************************
+#                                  _   _ ____  _
+#  Project                     ___| | | |  _ \| |
+#                             / __| | | | |_) | |
+#                            | (__| |_| |  _ <| |___
+#                             \___|\___/|_| \_\_____|
+#
+# Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
+#
+# This software is licensed as described in the file COPYING, which
+# you should have received as part of this distribution. The terms
+# are also available at https://curl.haxx.se/docs/copyright.html.
+#
+# You may opt to use, copy, modify, merge, publish, distribute and/or sell
+# copies of the Software, and permit persons to whom the Software is
+# furnished to do so, under the terms of the COPYING file.
+#
+# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+# KIND, either express or implied.
+#
+###########################################################################
+
+# rename $(VAR) -> $VAR
+sed 's/\$\(([A-Z_]+)\)/$\1/g' Makefile.inc
diff --git a/plan9/mkfile b/plan9/mkfile
new file mode 100644
index 0000000..a9b4fe6
--- /dev/null
+++ b/plan9/mkfile
@@ -0,0 +1,36 @@
+#***************************************************************************
+#                                  _   _ ____  _
+#  Project                     ___| | | |  _ \| |
+#                             / __| | | | |_) | |
+#                            | (__| |_| |  _ <| |___
+#                             \___|\___/|_| \_\_____|
+#
+# Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
+#
+# This software is licensed as described in the file COPYING, which
+# you should have received as part of this distribution. The terms
+# are also available at https://curl.haxx.se/docs/copyright.html.
+#
+# You may opt to use, copy, modify, merge, publish, distribute and/or sell
+# copies of the Software, and permit persons to whom the Software is
+# furnished to do so, under the terms of the COPYING file.
+#
+# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+# KIND, either express or implied.
+#
+###########################################################################
+
+</sys/src/ape/config
+
+DIRS=\
+	lib\
+	src\
+	include\
+
+default:V: all
+
+all install clean nuke:V:
+	for(i in $DIRS) @{
+		cd $i
+		mk $target
+	}
diff --git a/plan9/mkfile.proto b/plan9/mkfile.proto
new file mode 100644
index 0000000..edb79f5
--- /dev/null
+++ b/plan9/mkfile.proto
@@ -0,0 +1,30 @@
+#***************************************************************************
+#                                  _   _ ____  _
+#  Project                     ___| | | |  _ \| |
+#                             / __| | | | |_) | |
+#                            | (__| |_| |  _ <| |___
+#                             \___|\___/|_| \_\_____|
+#
+# Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
+#
+# This software is licensed as described in the file COPYING, which
+# you should have received as part of this distribution. The terms
+# are also available at https://curl.haxx.se/docs/copyright.html.
+#
+# You may opt to use, copy, modify, merge, publish, distribute and/or sell
+# copies of the Software, and permit persons to whom the Software is
+# furnished to do so, under the terms of the COPYING file.
+#
+# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+# KIND, either express or implied.
+#
+###########################################################################
+
+</sys/src/ape/config
+
+CFLAGS=\
+	-D__PLAN9__\
+	-D_POSIX_SOURCE\
+	-D_BSD_EXTENSION\
+	-D_SUSV2_SOURCE\
+	-D_REENTRANT_SOURCE\
diff --git a/plan9/src/mkfile b/plan9/src/mkfile
new file mode 100644
index 0000000..889d066
--- /dev/null
+++ b/plan9/src/mkfile
@@ -0,0 +1,45 @@
+#***************************************************************************
+#                                  _   _ ____  _
+#  Project                     ___| | | |  _ \| |
+#                             / __| | | | |_) | |
+#                            | (__| |_| |  _ <| |___
+#                             \___|\___/|_| \_\_____|
+#
+# Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
+#
+# This software is licensed as described in the file COPYING, which
+# you should have received as part of this distribution. The terms
+# are also available at https://curl.haxx.se/docs/copyright.html.
+#
+# You may opt to use, copy, modify, merge, publish, distribute and/or sell
+# copies of the Software, and permit persons to whom the Software is
+# furnished to do so, under the terms of the COPYING file.
+#
+# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+# KIND, either express or implied.
+#
+###########################################################################
+
+<../mkfile.proto
+<|mkfile.inc
+
+CFLAGS=$CFLAGS -I../include -I../lib -c
+
+OFILES=${CURL_CFILES:%.c=%.$O}
+HFILES=$CURL_HFILES
+
+LIB=\
+	/$objtype/lib/ape/libcurl.a\
+	/$objtype/lib/ape/libssl.a\
+	/$objtype/lib/ape/libcrypto.a\
+	/$objtype/lib/ape/libz.a\
+
+BIN=/$objtype/bin
+TARG=curl
+
+CLEANFILES=tool_hugehelp.c
+
+</sys/src/cmd/mkone
+
+tool_hugehelp.c:
+	echo 'void hugehelp(void) {}' >$target
diff --git a/plan9/src/mkfile.inc b/plan9/src/mkfile.inc
new file mode 100755
index 0000000..0966d77
--- /dev/null
+++ b/plan9/src/mkfile.inc
@@ -0,0 +1,25 @@
+#!/bin/rc
+#***************************************************************************
+#                                  _   _ ____  _
+#  Project                     ___| | | |  _ \| |
+#                             / __| | | | |_) | |
+#                            | (__| |_| |  _ <| |___
+#                             \___|\___/|_| \_\_____|
+#
+# Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
+#
+# This software is licensed as described in the file COPYING, which
+# you should have received as part of this distribution. The terms
+# are also available at https://curl.haxx.se/docs/copyright.html.
+#
+# You may opt to use, copy, modify, merge, publish, distribute and/or sell
+# copies of the Software, and permit persons to whom the Software is
+# furnished to do so, under the terms of the COPYING file.
+#
+# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+# KIND, either express or implied.
+#
+###########################################################################
+
+# rename $(VAR) -> $VAR
+sed 's/\$\(([A-Z_]+)\)/$\1/g' Makefile.inc
diff --git a/projects/Windows/VC10/lib/libcurl.vcxproj b/projects/Windows/VC10/lib/libcurl.vcxproj
index a534b13..7a60664 100644
--- a/projects/Windows/VC10/lib/libcurl.vcxproj
+++ b/projects/Windows/VC10/lib/libcurl.vcxproj
@@ -2417,8 +2417,6 @@
     <ClCompile Include="..\..\..\..\lib\socks_sspi.c" />

     <ClCompile Include="..\..\..\..\lib\speedcheck.c" />

     <ClCompile Include="..\..\..\..\lib\splay.c" />

-    <ClCompile Include="..\..\..\..\lib\ssh.c" />

-    <ClCompile Include="..\..\..\..\lib\ssh-libssh.c" />

     <ClCompile Include="..\..\..\..\lib\strcase.c" />

     <ClCompile Include="..\..\..\..\lib\strdup.c" />

     <ClCompile Include="..\..\..\..\lib\strerror.c" />

@@ -2540,6 +2538,7 @@
     <ClInclude Include="..\..\..\..\lib\pop3.h" />

     <ClInclude Include="..\..\..\..\lib\progress.h" />

     <ClInclude Include="..\..\..\..\lib\psl.h" />

+    <ClInclude Include="..\..\..\..\lib\quic.h" />

     <ClInclude Include="..\..\..\..\lib\rand.h" />

     <ClInclude Include="..\..\..\..\lib\rtsp.h" />

     <ClInclude Include="..\..\..\..\lib\select.h" />

diff --git a/projects/Windows/VC10/src/curl.vcxproj b/projects/Windows/VC10/src/curl.vcxproj
index 850dd6f..a4dfabc 100644
--- a/projects/Windows/VC10/src/curl.vcxproj
+++ b/projects/Windows/VC10/src/curl.vcxproj
@@ -2662,6 +2662,7 @@
     <ClCompile Include="..\..\..\..\src\tool_panykey.c" />

     <ClCompile Include="..\..\..\..\src\tool_paramhlp.c" />

     <ClCompile Include="..\..\..\..\src\tool_parsecfg.c" />

+    <ClCompile Include="..\..\..\..\src\tool_progress.c" />

     <ClCompile Include="..\..\..\..\src\tool_setopt.c" />

     <ClCompile Include="..\..\..\..\src\tool_sleep.c" />

     <ClCompile Include="..\..\..\..\src\tool_strdup.c" />

@@ -2709,6 +2710,7 @@
     <ClInclude Include="..\..\..\..\src\tool_panykey.h" />

     <ClInclude Include="..\..\..\..\src\tool_paramhlp.h" />

     <ClInclude Include="..\..\..\..\src\tool_parsecfg.h" />

+    <ClInclude Include="..\..\..\..\src\tool_progress.h" />

     <ClInclude Include="..\..\..\..\src\tool_sdecls.h" />

     <ClInclude Include="..\..\..\..\src\tool_setopt.h" />

     <ClInclude Include="..\..\..\..\src\tool_setup.h" />

diff --git a/projects/Windows/VC11/lib/libcurl.vcxproj b/projects/Windows/VC11/lib/libcurl.vcxproj
index cd7979f..0aea58d 100644
--- a/projects/Windows/VC11/lib/libcurl.vcxproj
+++ b/projects/Windows/VC11/lib/libcurl.vcxproj
@@ -2473,8 +2473,6 @@
     <ClCompile Include="..\..\..\..\lib\socks_sspi.c" />

     <ClCompile Include="..\..\..\..\lib\speedcheck.c" />

     <ClCompile Include="..\..\..\..\lib\splay.c" />

-    <ClCompile Include="..\..\..\..\lib\ssh.c" />

-    <ClCompile Include="..\..\..\..\lib\ssh-libssh.c" />

     <ClCompile Include="..\..\..\..\lib\strcase.c" />

     <ClCompile Include="..\..\..\..\lib\strdup.c" />

     <ClCompile Include="..\..\..\..\lib\strerror.c" />

@@ -2596,6 +2594,7 @@
     <ClInclude Include="..\..\..\..\lib\pop3.h" />

     <ClInclude Include="..\..\..\..\lib\progress.h" />

     <ClInclude Include="..\..\..\..\lib\psl.h" />

+    <ClInclude Include="..\..\..\..\lib\quic.h" />

     <ClInclude Include="..\..\..\..\lib\rand.h" />

     <ClInclude Include="..\..\..\..\lib\rtsp.h" />

     <ClInclude Include="..\..\..\..\lib\select.h" />

diff --git a/projects/Windows/VC11/src/curl.vcxproj b/projects/Windows/VC11/src/curl.vcxproj
index 3e6beb1..0c9adcb 100644
--- a/projects/Windows/VC11/src/curl.vcxproj
+++ b/projects/Windows/VC11/src/curl.vcxproj
@@ -2718,6 +2718,7 @@
     <ClCompile Include="..\..\..\..\src\tool_panykey.c" />

     <ClCompile Include="..\..\..\..\src\tool_paramhlp.c" />

     <ClCompile Include="..\..\..\..\src\tool_parsecfg.c" />

+    <ClCompile Include="..\..\..\..\src\tool_progress.c" />

     <ClCompile Include="..\..\..\..\src\tool_setopt.c" />

     <ClCompile Include="..\..\..\..\src\tool_sleep.c" />

     <ClCompile Include="..\..\..\..\src\tool_strdup.c" />

@@ -2765,6 +2766,7 @@
     <ClInclude Include="..\..\..\..\src\tool_panykey.h" />

     <ClInclude Include="..\..\..\..\src\tool_paramhlp.h" />

     <ClInclude Include="..\..\..\..\src\tool_parsecfg.h" />

+    <ClInclude Include="..\..\..\..\src\tool_progress.h" />

     <ClInclude Include="..\..\..\..\src\tool_sdecls.h" />

     <ClInclude Include="..\..\..\..\src\tool_setopt.h" />

     <ClInclude Include="..\..\..\..\src\tool_setup.h" />

diff --git a/projects/Windows/VC12/lib/libcurl.vcxproj b/projects/Windows/VC12/lib/libcurl.vcxproj
index c77e935..01a7bae 100644
--- a/projects/Windows/VC12/lib/libcurl.vcxproj
+++ b/projects/Windows/VC12/lib/libcurl.vcxproj
@@ -2473,8 +2473,6 @@
     <ClCompile Include="..\..\..\..\lib\socks_sspi.c" />

     <ClCompile Include="..\..\..\..\lib\speedcheck.c" />

     <ClCompile Include="..\..\..\..\lib\splay.c" />

-    <ClCompile Include="..\..\..\..\lib\ssh.c" />

-    <ClCompile Include="..\..\..\..\lib\ssh-libssh.c" />

     <ClCompile Include="..\..\..\..\lib\strcase.c" />

     <ClCompile Include="..\..\..\..\lib\strdup.c" />

     <ClCompile Include="..\..\..\..\lib\strerror.c" />

@@ -2596,6 +2594,7 @@
     <ClInclude Include="..\..\..\..\lib\pop3.h" />

     <ClInclude Include="..\..\..\..\lib\progress.h" />

     <ClInclude Include="..\..\..\..\lib\psl.h" />

+    <ClInclude Include="..\..\..\..\lib\quic.h" />

     <ClInclude Include="..\..\..\..\lib\rand.h" />

     <ClInclude Include="..\..\..\..\lib\rtsp.h" />

     <ClInclude Include="..\..\..\..\lib\select.h" />

diff --git a/projects/Windows/VC12/src/curl.vcxproj b/projects/Windows/VC12/src/curl.vcxproj
index bb3bb76..c03c56d 100644
--- a/projects/Windows/VC12/src/curl.vcxproj
+++ b/projects/Windows/VC12/src/curl.vcxproj
@@ -2718,6 +2718,7 @@
     <ClCompile Include="..\..\..\..\src\tool_panykey.c" />

     <ClCompile Include="..\..\..\..\src\tool_paramhlp.c" />

     <ClCompile Include="..\..\..\..\src\tool_parsecfg.c" />

+    <ClCompile Include="..\..\..\..\src\tool_progress.c" />

     <ClCompile Include="..\..\..\..\src\tool_setopt.c" />

     <ClCompile Include="..\..\..\..\src\tool_sleep.c" />

     <ClCompile Include="..\..\..\..\src\tool_strdup.c" />

@@ -2765,6 +2766,7 @@
     <ClInclude Include="..\..\..\..\src\tool_panykey.h" />

     <ClInclude Include="..\..\..\..\src\tool_paramhlp.h" />

     <ClInclude Include="..\..\..\..\src\tool_parsecfg.h" />

+    <ClInclude Include="..\..\..\..\src\tool_progress.h" />

     <ClInclude Include="..\..\..\..\src\tool_sdecls.h" />

     <ClInclude Include="..\..\..\..\src\tool_setopt.h" />

     <ClInclude Include="..\..\..\..\src\tool_setup.h" />

diff --git a/projects/Windows/VC14/lib/libcurl.vcxproj b/projects/Windows/VC14/lib/libcurl.vcxproj
index 9ca7093..943046d 100644
--- a/projects/Windows/VC14/lib/libcurl.vcxproj
+++ b/projects/Windows/VC14/lib/libcurl.vcxproj
@@ -2473,8 +2473,6 @@
     <ClCompile Include="..\..\..\..\lib\socks_sspi.c" />

     <ClCompile Include="..\..\..\..\lib\speedcheck.c" />

     <ClCompile Include="..\..\..\..\lib\splay.c" />

-    <ClCompile Include="..\..\..\..\lib\ssh.c" />

-    <ClCompile Include="..\..\..\..\lib\ssh-libssh.c" />

     <ClCompile Include="..\..\..\..\lib\strcase.c" />

     <ClCompile Include="..\..\..\..\lib\strdup.c" />

     <ClCompile Include="..\..\..\..\lib\strerror.c" />

@@ -2596,6 +2594,7 @@
     <ClInclude Include="..\..\..\..\lib\pop3.h" />

     <ClInclude Include="..\..\..\..\lib\progress.h" />

     <ClInclude Include="..\..\..\..\lib\psl.h" />

+    <ClInclude Include="..\..\..\..\lib\quic.h" />

     <ClInclude Include="..\..\..\..\lib\rand.h" />

     <ClInclude Include="..\..\..\..\lib\rtsp.h" />

     <ClInclude Include="..\..\..\..\lib\select.h" />

diff --git a/projects/Windows/VC14/src/curl.vcxproj b/projects/Windows/VC14/src/curl.vcxproj
index c208960..3680660 100644
--- a/projects/Windows/VC14/src/curl.vcxproj
+++ b/projects/Windows/VC14/src/curl.vcxproj
@@ -2718,6 +2718,7 @@
     <ClCompile Include="..\..\..\..\src\tool_panykey.c" />

     <ClCompile Include="..\..\..\..\src\tool_paramhlp.c" />

     <ClCompile Include="..\..\..\..\src\tool_parsecfg.c" />

+    <ClCompile Include="..\..\..\..\src\tool_progress.c" />

     <ClCompile Include="..\..\..\..\src\tool_setopt.c" />

     <ClCompile Include="..\..\..\..\src\tool_sleep.c" />

     <ClCompile Include="..\..\..\..\src\tool_strdup.c" />

@@ -2765,6 +2766,7 @@
     <ClInclude Include="..\..\..\..\src\tool_panykey.h" />

     <ClInclude Include="..\..\..\..\src\tool_paramhlp.h" />

     <ClInclude Include="..\..\..\..\src\tool_parsecfg.h" />

+    <ClInclude Include="..\..\..\..\src\tool_progress.h" />

     <ClInclude Include="..\..\..\..\src\tool_sdecls.h" />

     <ClInclude Include="..\..\..\..\src\tool_setopt.h" />

     <ClInclude Include="..\..\..\..\src\tool_setup.h" />

diff --git a/projects/Windows/VC15/lib/libcurl.vcxproj b/projects/Windows/VC15/lib/libcurl.vcxproj
index 3a6978d..1f14dba 100644
--- a/projects/Windows/VC15/lib/libcurl.vcxproj
+++ b/projects/Windows/VC15/lib/libcurl.vcxproj
@@ -2445,8 +2445,6 @@
     <ClCompile Include="..\..\..\..\lib\socks_sspi.c" />

     <ClCompile Include="..\..\..\..\lib\speedcheck.c" />

     <ClCompile Include="..\..\..\..\lib\splay.c" />

-    <ClCompile Include="..\..\..\..\lib\ssh.c" />

-    <ClCompile Include="..\..\..\..\lib\ssh-libssh.c" />

     <ClCompile Include="..\..\..\..\lib\strcase.c" />

     <ClCompile Include="..\..\..\..\lib\strdup.c" />

     <ClCompile Include="..\..\..\..\lib\strerror.c" />

@@ -2568,6 +2566,7 @@
     <ClInclude Include="..\..\..\..\lib\pop3.h" />

     <ClInclude Include="..\..\..\..\lib\progress.h" />

     <ClInclude Include="..\..\..\..\lib\psl.h" />

+    <ClInclude Include="..\..\..\..\lib\quic.h" />

     <ClInclude Include="..\..\..\..\lib\rand.h" />

     <ClInclude Include="..\..\..\..\lib\rtsp.h" />

     <ClInclude Include="..\..\..\..\lib\select.h" />

diff --git a/projects/Windows/VC15/src/curl.vcxproj b/projects/Windows/VC15/src/curl.vcxproj
index 7c12fab..f1d4483 100644
--- a/projects/Windows/VC15/src/curl.vcxproj
+++ b/projects/Windows/VC15/src/curl.vcxproj
@@ -2690,6 +2690,7 @@
     <ClCompile Include="..\..\..\..\src\tool_panykey.c" />

     <ClCompile Include="..\..\..\..\src\tool_paramhlp.c" />

     <ClCompile Include="..\..\..\..\src\tool_parsecfg.c" />

+    <ClCompile Include="..\..\..\..\src\tool_progress.c" />

     <ClCompile Include="..\..\..\..\src\tool_setopt.c" />

     <ClCompile Include="..\..\..\..\src\tool_sleep.c" />

     <ClCompile Include="..\..\..\..\src\tool_strdup.c" />

@@ -2737,6 +2738,7 @@
     <ClInclude Include="..\..\..\..\src\tool_panykey.h" />

     <ClInclude Include="..\..\..\..\src\tool_paramhlp.h" />

     <ClInclude Include="..\..\..\..\src\tool_parsecfg.h" />

+    <ClInclude Include="..\..\..\..\src\tool_progress.h" />

     <ClInclude Include="..\..\..\..\src\tool_sdecls.h" />

     <ClInclude Include="..\..\..\..\src\tool_setopt.h" />

     <ClInclude Include="..\..\..\..\src\tool_setup.h" />

diff --git a/projects/Windows/VC6/lib/libcurl.dsp b/projects/Windows/VC6/lib/libcurl.dsp
index 16c6518..19bea26 100644
--- a/projects/Windows/VC6/lib/libcurl.dsp
+++ b/projects/Windows/VC6/lib/libcurl.dsp
@@ -1106,14 +1106,6 @@
 # End Source File

 # Begin Source File

 

-SOURCE=..\..\..\..\lib\ssh.c

-# End Source File

-# Begin Source File

-

-SOURCE=..\..\..\..\lib\ssh-libssh.c

-# End Source File

-# Begin Source File

-

 SOURCE=..\..\..\..\lib\strcase.c

 # End Source File

 # Begin Source File

@@ -1594,6 +1586,10 @@
 # End Source File

 # Begin Source File

 

+SOURCE=..\..\..\..\lib\quic.h

+# End Source File

+# Begin Source File

+

 SOURCE=..\..\..\..\lib\rand.h

 # End Source File

 # Begin Source File

diff --git a/projects/Windows/VC6/src/curl.dsp b/projects/Windows/VC6/src/curl.dsp
index 05dd73c..ff2617a 100644
--- a/projects/Windows/VC6/src/curl.dsp
+++ b/projects/Windows/VC6/src/curl.dsp
@@ -819,6 +819,10 @@
 # End Source File

 # Begin Source File

 

+SOURCE=..\..\..\..\src\tool_progress.c

+# End Source File

+# Begin Source File

+

 SOURCE=..\..\..\..\src\tool_setopt.c

 # End Source File

 # Begin Source File

@@ -1003,6 +1007,10 @@
 # End Source File

 # Begin Source File

 

+SOURCE=..\..\..\..\src\tool_progress.h

+# End Source File

+# Begin Source File

+

 SOURCE=..\..\..\..\src\tool_sdecls.h

 # End Source File

 # Begin Source File

diff --git a/projects/Windows/VC7.1/lib/libcurl.vcproj b/projects/Windows/VC7.1/lib/libcurl.vcproj
index 0203dbe..3b07dca 100644
--- a/projects/Windows/VC7.1/lib/libcurl.vcproj
+++ b/projects/Windows/VC7.1/lib/libcurl.vcproj
@@ -1538,12 +1538,6 @@
 				RelativePath="..\..\..\..\lib\splay.c">

 			</File>

 			<File

-				RelativePath="..\..\..\..\lib\ssh.c">

-			</File>

-			<File

-				RelativePath="..\..\..\..\lib\ssh-libssh.c">

-			</File>

-			<File

 				RelativePath="..\..\..\..\lib\strcase.c">

 			</File>

 			<File

@@ -1830,6 +1824,9 @@
 				RelativePath="..\..\..\..\lib\psl.h">

 			</File>

 			<File

+				RelativePath="..\..\..\..\lib\quic.h">

+			</File>

+			<File

 				RelativePath="..\..\..\..\lib\rand.h">

 			</File>

 			<File

diff --git a/projects/Windows/VC7.1/src/curl.vcproj b/projects/Windows/VC7.1/src/curl.vcproj
index 8fecea6..00f6a7f 100644
--- a/projects/Windows/VC7.1/src/curl.vcproj
+++ b/projects/Windows/VC7.1/src/curl.vcproj
@@ -1467,6 +1467,9 @@
 				RelativePath="..\..\..\..\src\tool_parsecfg.c">

 			</File>

 			<File

+				RelativePath="..\..\..\..\src\tool_progress.c">

+			</File>

+			<File

 				RelativePath="..\..\..\..\src\tool_setopt.c">

 			</File>

 			<File

@@ -1606,6 +1609,9 @@
 				RelativePath="..\..\..\..\src\tool_parsecfg.h">

 			</File>

 			<File

+				RelativePath="..\..\..\..\src\tool_progress.h">

+			</File>

+			<File

 				RelativePath="..\..\..\..\src\tool_sdecls.h">

 			</File>

 			<File

diff --git a/projects/Windows/VC7/lib/libcurl.vcproj b/projects/Windows/VC7/lib/libcurl.vcproj
index bab7b56..61e31c2 100644
--- a/projects/Windows/VC7/lib/libcurl.vcproj
+++ b/projects/Windows/VC7/lib/libcurl.vcproj
@@ -1392,12 +1392,6 @@
 				RelativePath="..\..\..\..\lib\splay.c">

 			</File>

 			<File

-				RelativePath="..\..\..\..\lib\ssh.c">

-			</File>

-			<File

-				RelativePath="..\..\..\..\lib\ssh-libssh.c">

-			</File>

-			<File

 				RelativePath="..\..\..\..\lib\strcase.c">

 			</File>

 			<File

@@ -1684,6 +1678,9 @@
 				RelativePath="..\..\..\..\lib\psl.h">

 			</File>

 			<File

+				RelativePath="..\..\..\..\lib\quic.h">

+			</File>

+			<File

 				RelativePath="..\..\..\..\lib\rand.h">

 			</File>

 			<File

diff --git a/projects/Windows/VC7/src/curl.vcproj b/projects/Windows/VC7/src/curl.vcproj
index 821aebc..fe5a6a8 100644
--- a/projects/Windows/VC7/src/curl.vcproj
+++ b/projects/Windows/VC7/src/curl.vcproj
@@ -1321,6 +1321,9 @@
 				RelativePath="..\..\..\..\src\tool_parsecfg.c">

 			</File>

 			<File

+				RelativePath="..\..\..\..\src\tool_progress.c">

+			</File>

+			<File

 				RelativePath="..\..\..\..\src\tool_setopt.c">

 			</File>

 			<File

@@ -1460,6 +1463,9 @@
 				RelativePath="..\..\..\..\src\tool_parsecfg.h">

 			</File>

 			<File

+				RelativePath="..\..\..\..\src\tool_progress.h">

+			</File>

+			<File

 				RelativePath="..\..\..\..\src\tool_sdecls.h">

 			</File>

 			<File

diff --git a/projects/Windows/VC8/lib/libcurl.vcproj b/projects/Windows/VC8/lib/libcurl.vcproj
index a9e670d..f258fc7 100644
--- a/projects/Windows/VC8/lib/libcurl.vcproj
+++ b/projects/Windows/VC8/lib/libcurl.vcproj
@@ -3993,14 +3993,6 @@
 			>

 			</File>

 			<File

-				RelativePath="..\..\..\..\lib\ssh.c"

-			>

-			</File>

-			<File

-				RelativePath="..\..\..\..\lib\ssh-libssh.c"

-			>

-			</File>

-			<File

 				RelativePath="..\..\..\..\lib\strcase.c"

 			>

 			</File>

@@ -4381,6 +4373,10 @@
 			>

 			</File>

 			<File

+				RelativePath="..\..\..\..\lib\quic.h"

+			>

+			</File>

+			<File

 				RelativePath="..\..\..\..\lib\rand.h"

 			>

 			</File>

diff --git a/projects/Windows/VC8/src/curl.vcproj b/projects/Windows/VC8/src/curl.vcproj
index fb031cf..7b554c7 100644
--- a/projects/Windows/VC8/src/curl.vcproj
+++ b/projects/Windows/VC8/src/curl.vcproj
@@ -4221,6 +4221,10 @@
 			>

 			</File>

 			<File

+				RelativePath="..\..\..\..\src\tool_progress.c"

+			>

+			</File>

+			<File

 				RelativePath="..\..\..\..\src\tool_setopt.c"

 			>

 			</File>

@@ -4405,6 +4409,10 @@
 			>

 			</File>

 			<File

+				RelativePath="..\..\..\..\src\tool_progress.h"

+			>

+			</File>

+			<File

 				RelativePath="..\..\..\..\src\tool_sdecls.h"

 			>

 			</File>

diff --git a/projects/Windows/VC9/lib/libcurl.vcproj b/projects/Windows/VC9/lib/libcurl.vcproj
index f3999d8..a02a0d9 100644
--- a/projects/Windows/VC9/lib/libcurl.vcproj
+++ b/projects/Windows/VC9/lib/libcurl.vcproj
@@ -3934,14 +3934,6 @@
 			>

 			</File>

 			<File

-				RelativePath="..\..\..\..\lib\ssh.c"

-			>

-			</File>

-			<File

-				RelativePath="..\..\..\..\lib\ssh-libssh.c"

-			>

-			</File>

-			<File

 				RelativePath="..\..\..\..\lib\strcase.c"

 			>

 			</File>

@@ -4322,6 +4314,10 @@
 			>

 			</File>

 			<File

+				RelativePath="..\..\..\..\lib\quic.h"

+			>

+			</File>

+			<File

 				RelativePath="..\..\..\..\lib\rand.h"

 			>

 			</File>

diff --git a/projects/Windows/VC9/src/curl.vcproj b/projects/Windows/VC9/src/curl.vcproj
index 1d0ae65..6e702f4 100644
--- a/projects/Windows/VC9/src/curl.vcproj
+++ b/projects/Windows/VC9/src/curl.vcproj
@@ -4078,6 +4078,10 @@
 			>

 			</File>

 			<File

+				RelativePath="..\..\..\..\src\tool_progress.c"

+			>

+			</File>

+			<File

 				RelativePath="..\..\..\..\src\tool_setopt.c"

 			>

 			</File>

@@ -4262,6 +4266,10 @@
 			>

 			</File>

 			<File

+				RelativePath="..\..\..\..\src\tool_progress.h"

+			>

+			</File>

+			<File

 				RelativePath="..\..\..\..\src\tool_sdecls.h"

 			>

 			</File>

diff --git a/projects/build-openssl.bat b/projects/build-openssl.bat
index 793a63b..c9633b4 100644
--- a/projects/build-openssl.bat
+++ b/projects/build-openssl.bat
@@ -95,6 +95,19 @@
       ) else (
         set "VC_PATH=Microsoft Visual Studio\2017\Community\VC"
       )
+    ) else if /i "%~1" == "vc14.2" (
+      set VC_VER=14.2
+      set VC_DESC=VC14.2
+
+      rem Determine the VC14.2 path based on the installed edition in descending
+      rem order (Enterprise, then Professional and finally Community)
+      if exist "%PF%\Microsoft Visual Studio\2019\Enterprise\VC" (
+        set "VC_PATH=Microsoft Visual Studio\2019\Enterprise\VC"
+      ) else if exist "%PF%\Microsoft Visual Studio\2019\Professional\VC" (
+        set "VC_PATH=Microsoft Visual Studio\2019\Professional\VC"
+      ) else (
+        set "VC_PATH=Microsoft Visual Studio\2019\Community\VC"
+      )
     ) else if /i "%~1%" == "x86" (
       set BUILD_PLATFORM=x86
     ) else if /i "%~1%" == "x64" (
@@ -202,6 +215,7 @@
     if "%VC_VER%" == "12.0" set VCVARS_PLATFORM=amd64
     if "%VC_VER%" == "14.0" set VCVARS_PLATFORM=amd64
     if "%VC_VER%" == "14.1" set VCVARS_PLATFORM=amd64
+    if "%VC_VER%" == "14.2" set VCVARS_PLATFORM=amd64
   )
 
   if exist "%START_DIR%\ms\do_ms.bat" (
@@ -222,6 +236,8 @@
     call "%ABS_VC_PATH%\bin\vcvars32"
   ) else if "%VC_VER%" == "14.1" (
     call "%ABS_VC_PATH%\Auxiliary\Build\vcvarsall" %VCVARS_PLATFORM%
+  ) else if "%VC_VER%" == "14.2" (
+    call "%ABS_VC_PATH%\Auxiliary\Build\vcvarsall" %VCVARS_PLATFORM%
   ) else (
     call "%ABS_VC_PATH%\vcvarsall" %VCVARS_PLATFORM%
   )
@@ -569,7 +585,7 @@
         if not exist "%OUTDIR%\DLL Release" (
           mkdir "%OUTDIR%\DLL Release" 1>nul
         )
-  
+
         move !build_dir!\lib\*.lib "%OUTDIR%\DLL Release" 1>nul
         move !build_dir!\bin\*.dll "%OUTDIR%\DLL Release" 1>nul
         move !build_dir!\bin\*.exe "%OUTDIR%\DLL Release" 1>nul
@@ -605,6 +621,7 @@
   echo vc12      - Use Visual Studio 2013
   echo vc14      - Use Visual Studio 2015
   echo vc14.1    - Use Visual Studio 2017
+  echo vc14.2    - Use Visual Studio 2019
   echo.
   echo Platform:
   echo.
diff --git a/src/Makefile.am b/src/Makefile.am
index a26a570..90f1562 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -123,7 +123,7 @@
 else # HAVE_LIBZ
 # This generates the tool_hugehelp.c file uncompressed only
 $(HUGE): $(MANPAGE) $(MKHELP)
-	$(HUGECMD)(echo '#include "tool_setup.h"' > $(HUGE):    \
+	$(HUGECMD)(echo '#include "tool_setup.h"' > $(HUGE);    \
 	$(NROFF) $(MANPAGE) | $(PERL) $(MKHELP) >> $(HUGE) )
 endif
 
diff --git a/src/Makefile.inc b/src/Makefile.inc
index e1e8306..dd6b9d3 100644
--- a/src/Makefile.inc
+++ b/src/Makefile.inc
@@ -54,6 +54,7 @@
   tool_panykey.c \
   tool_paramhlp.c \
   tool_parsecfg.c \
+  tool_progress.c \
   tool_strdup.c \
   tool_setopt.c \
   tool_sleep.c \
@@ -95,6 +96,7 @@
   tool_panykey.h \
   tool_paramhlp.h \
   tool_parsecfg.h \
+  tool_progress.h \
   tool_sdecls.h \
   tool_setopt.h \
   tool_setup.h \
diff --git a/src/tool_cb_hdr.c b/src/tool_cb_hdr.c
index 3844904..b0880f1 100644
--- a/src/tool_cb_hdr.c
+++ b/src/tool_cb_hdr.c
@@ -5,7 +5,7 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
@@ -32,6 +32,7 @@
 #include "tool_msgs.h"
 #include "tool_cb_hdr.h"
 #include "tool_cb_wrt.h"
+#include "tool_operate.h"
 
 #include "memdebug.h" /* keep this as LAST include */
 
@@ -54,9 +55,10 @@
 
 size_t tool_header_cb(char *ptr, size_t size, size_t nmemb, void *userdata)
 {
-  struct HdrCbData *hdrcbdata = userdata;
-  struct OutStruct *outs = hdrcbdata->outs;
-  struct OutStruct *heads = hdrcbdata->heads;
+  struct per_transfer *per = userdata;
+  struct HdrCbData *hdrcbdata = &per->hdrcbdata;
+  struct OutStruct *outs = &per->outs;
+  struct OutStruct *heads = &per->heads;
   const char *str = ptr;
   const size_t cb = size * nmemb;
   const char *end = (char *)ptr + cb;
@@ -100,7 +102,7 @@
    * Content-Disposition header specifying a filename property.
    */
 
-  curl_easy_getinfo(outs->config->easy, CURLINFO_PROTOCOL, &protocol);
+  curl_easy_getinfo(per->curl, CURLINFO_PROTOCOL, &protocol);
   if(hdrcbdata->honor_cd_filename &&
      (cb > 20) && checkprefix("Content-disposition:", str) &&
      (protocol & (CURLPROTO_HTTPS|CURLPROTO_HTTP))) {
diff --git a/src/tool_cb_wrt.c b/src/tool_cb_wrt.c
index 2f699f3..0f47b4d 100644
--- a/src/tool_cb_wrt.c
+++ b/src/tool_cb_wrt.c
@@ -5,7 +5,7 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
@@ -28,6 +28,7 @@
 #include "tool_cfgable.h"
 #include "tool_msgs.h"
 #include "tool_cb_wrt.h"
+#include "tool_operate.h"
 
 #include "memdebug.h" /* keep this as LAST include */
 
@@ -75,7 +76,8 @@
 size_t tool_write_cb(char *buffer, size_t sz, size_t nmemb, void *userdata)
 {
   size_t rc;
-  struct OutStruct *outs = userdata;
+  struct per_transfer *per = userdata;
+  struct OutStruct *outs = &per->outs;
   struct OperationConfig *config = outs->config;
   size_t bytes = sz * nmemb;
   bool is_tty = config->global->isatty;
@@ -202,7 +204,7 @@
 
   if(config->readbusy) {
     config->readbusy = FALSE;
-    curl_easy_pause(config->easy, CURLPAUSE_CONT);
+    curl_easy_pause(per->curl, CURLPAUSE_CONT);
   }
 
   if(config->nobuffer) {
diff --git a/src/tool_cfgable.c b/src/tool_cfgable.c
index 7d178e4..efa8c50 100644
--- a/src/tool_cfgable.c
+++ b/src/tool_cfgable.c
@@ -43,7 +43,7 @@
   config->proto_default = NULL;
   config->tcp_nodelay = TRUE; /* enabled by default */
   config->happy_eyeballs_timeout_ms = CURL_HET_DEFAULT;
-  config->http09_allowed = TRUE;
+  config->http09_allowed = FALSE;
 }
 
 static void free_config_fields(struct OperationConfig *config)
@@ -133,6 +133,7 @@
   Curl_safefree(config->krblevel);
 
   Curl_safefree(config->oauth_bearer);
+  Curl_safefree(config->sasl_authzid);
 
   Curl_safefree(config->unix_socket_path);
   Curl_safefree(config->writeout);
diff --git a/src/tool_cfgable.h b/src/tool_cfgable.h
index e374a7f..ff80f8e 100644
--- a/src/tool_cfgable.h
+++ b/src/tool_cfgable.h
@@ -38,7 +38,6 @@
 struct GlobalConfig;
 
 struct OperationConfig {
-  CURL *easy;               /* A copy of the handle from GlobalConfig */
   bool remote_time;
   char *random_file;
   char *egd_file;
@@ -97,6 +96,7 @@
   char *mail_from;
   struct curl_slist *mail_rcpt;
   char *mail_auth;
+  char *sasl_authzid;       /* Authorisation identity (identity to use) */
   bool sasl_ir;             /* Enable/disable SASL initial response */
   bool proxytunnel;
   bool ftp_append;          /* APPE on ftp */
@@ -242,9 +242,6 @@
   bool use_metalink;        /* process given URLs as metalink XML file */
   metalinkfile *metalinkfile_list; /* point to the first node */
   metalinkfile *metalinkfile_last; /* point to the last/current node */
-#ifdef CURLDEBUG
-  bool test_event_based;
-#endif
   char *oauth_bearer;             /* OAuth 2.0 bearer token */
   bool nonpn;                     /* enable/disable TLS NPN extension */
   bool noalpn;                    /* enable/disable TLS ALPN extension */
@@ -268,7 +265,6 @@
 };
 
 struct GlobalConfig {
-  CURL *easy;                     /* Once we have one, we keep it here */
   int showerror;                  /* -1 == unset, default => show errors
                                       0 => -s is used to NOT show errors
                                       1 => -S has been used to show errors */
@@ -286,6 +282,11 @@
   char *libcurl;                  /* Output libcurl code to this file name */
   bool fail_early;                /* exit on first transfer error */
   bool styled_output;             /* enable fancy output style detection */
+#ifdef CURLDEBUG
+  bool test_event_based;
+#endif
+  bool parallel;
+  long parallel_max;
   struct OperationConfig *first;
   struct OperationConfig *current;
   struct OperationConfig *last;   /* Always last in the struct */
diff --git a/src/tool_getparam.c b/src/tool_getparam.c
index b347121..2c18683 100644
--- a/src/tool_getparam.c
+++ b/src/tool_getparam.c
@@ -40,6 +40,7 @@
 #include "tool_msgs.h"
 #include "tool_paramhlp.h"
 #include "tool_parsecfg.h"
+#include "tool_main.h"
 
 #include "memdebug.h" /* keep this as LAST include */
 
@@ -177,7 +178,8 @@
   {"$H", "mail-auth",                ARG_STRING},
   {"$I", "post303",                  ARG_BOOL},
   {"$J", "metalink",                 ARG_BOOL},
-  {"$K", "sasl-ir",                  ARG_BOOL},
+  {"$6", "sasl-authzid",             ARG_STRING},
+  {"$K", "sasl-ir",                  ARG_BOOL },
   {"$L", "test-event",               ARG_BOOL},
   {"$M", "unix-socket",              ARG_FILENAME},
   {"$N", "path-as-is",               ARG_BOOL},
@@ -199,6 +201,7 @@
   {"01",  "http1.1",                 ARG_NONE},
   {"02",  "http2",                   ARG_NONE},
   {"03",  "http2-prior-knowledge",   ARG_NONE},
+  {"04",  "http3",                   ARG_NONE},
   {"09",  "http0.9",                 ARG_BOOL},
   {"1",  "tlsv1",                    ARG_NONE},
   {"10",  "tlsv1.0",                 ARG_NONE},
@@ -316,6 +319,8 @@
   {"Y",  "speed-limit",              ARG_STRING},
   {"y",  "speed-time",               ARG_STRING},
   {"z",  "time-cond",                ARG_STRING},
+  {"Z",  "parallel",                 ARG_BOOL},
+  {"Zb", "parallel-max",             ARG_STRING},
   {"#",  "progress-bar",             ARG_BOOL},
   {":",  "next",                     ARG_NONE},
 };
@@ -907,12 +912,12 @@
         config->retry_connrefused = toggle;
         break;
       case 'h': /* --retry-delay */
-        err = str2unum(&config->retry_delay, nextarg);
+        err = str2unummax(&config->retry_delay, nextarg, LONG_MAX/1000);
         if(err)
           return err;
         break;
       case 'i': /* --retry-max-time */
-        err = str2unum(&config->retry_maxtime, nextarg);
+        err = str2unummax(&config->retry_maxtime, nextarg, LONG_MAX/1000);
         if(err)
           return err;
         break;
@@ -1099,12 +1104,15 @@
 #endif
           break;
         }
+      case '6': /* --sasl-authzid */
+        GetStr(&config->sasl_authzid, nextarg);
+        break;
       case 'K': /* --sasl-ir */
         config->sasl_ir = toggle;
         break;
       case 'L': /* --test-event */
 #ifdef CURLDEBUG
-        config->test_event_based = toggle;
+        global->test_event_based = toggle;
 #else
         warnf(global, "--test-event is ignored unless a debug build!\n");
 #endif
@@ -1186,10 +1194,14 @@
         /* HTTP version 2.0 */
         config->httpversion = CURL_HTTP_VERSION_2_0;
         break;
-      case '3':
+      case '3': /* --http2-prior-knowledge */
         /* HTTP version 2.0 over clean TCP*/
         config->httpversion = CURL_HTTP_VERSION_2_PRIOR_KNOWLEDGE;
         break;
+      case '4': /* --http3 */
+        /* HTTP version 3 go over QUIC - at once */
+        config->httpversion = CURL_HTTP_VERSION_3;
+        break;
       case '9':
         /* Allow HTTP/0.9 responses! */
         config->http09_allowed = toggle;
@@ -1356,7 +1368,7 @@
           size = 0;
         }
         else {
-          char *enc = curl_easy_escape(config->easy, postdata, (int)size);
+          char *enc = curl_easy_escape(NULL, postdata, (int)size);
           Curl_safefree(postdata); /* no matter if it worked or not */
           if(enc) {
             /* now make a string with the name from above and append the
@@ -2127,6 +2139,21 @@
       if(!config->low_speed_time)
         config->low_speed_time = 30;
       break;
+    case 'Z':
+      switch(subletter) {
+      case '\0':  /* --parallel */
+        global->parallel = toggle;
+        break;
+      case 'b':   /* --parallel-max */
+        err = str2unum(&global->parallel_max, nextarg);
+        if(err)
+          return err;
+        if((global->parallel_max > MAX_PARALLEL) ||
+           (global->parallel_max < 1))
+          global->parallel_max = PARALLEL_DEFAULT;
+        break;
+      }
+      break;
     case 'z': /* time condition coming up */
       switch(*nextarg) {
       case '+':
@@ -2176,14 +2203,14 @@
   return PARAM_OK;
 }
 
-ParameterError parse_args(struct GlobalConfig *config, int argc,
+ParameterError parse_args(struct GlobalConfig *global, int argc,
                           argv_item_t argv[])
 {
   int i;
   bool stillflags;
   char *orig_opt = NULL;
   ParameterError result = PARAM_OK;
-  struct OperationConfig *operation = config->first;
+  struct OperationConfig *config = global->first;
 
   for(i = 1, stillflags = TRUE; i < argc && !result; i++) {
     orig_opt = argv[i];
@@ -2199,31 +2226,28 @@
       else {
         char *nextarg = (i < (argc - 1)) ? argv[i + 1] : NULL;
 
-        result = getparameter(flag, nextarg, &passarg, config, operation);
+        result = getparameter(flag, nextarg, &passarg, global, config);
         if(result == PARAM_NEXT_OPERATION) {
           /* Reset result as PARAM_NEXT_OPERATION is only used here and not
              returned from this function */
           result = PARAM_OK;
 
-          if(operation->url_list && operation->url_list->url) {
+          if(config->url_list && config->url_list->url) {
             /* Allocate the next config */
-            operation->next = malloc(sizeof(struct OperationConfig));
-            if(operation->next) {
+            config->next = malloc(sizeof(struct OperationConfig));
+            if(config->next) {
               /* Initialise the newly created config */
-              config_init(operation->next);
-
-              /* Copy the easy handle */
-              operation->next->easy = config->easy;
+              config_init(config->next);
 
               /* Set the global config pointer */
-              operation->next->global = config;
+              config->next->global = global;
 
-              /* Update the last operation pointer */
-              config->last = operation->next;
+              /* Update the last config pointer */
+              global->last = config->next;
 
               /* Move onto the new config */
-              operation->next->prev = operation;
-              operation = operation->next;
+              config->next->prev = config;
+              config = config->next;
             }
             else
               result = PARAM_NO_MEM;
@@ -2237,8 +2261,8 @@
       bool used;
 
       /* Just add the URL please */
-      result = getparameter((char *)"--url", argv[i], &used, config,
-                            operation);
+      result = getparameter((char *)"--url", argv[i], &used, global,
+                            config);
     }
   }
 
@@ -2249,9 +2273,9 @@
     const char *reason = param2text(result);
 
     if(orig_opt && strcmp(":", orig_opt))
-      helpf(config->errors, "option %s: %s\n", orig_opt, reason);
+      helpf(global->errors, "option %s: %s\n", orig_opt, reason);
     else
-      helpf(config->errors, "%s\n", reason);
+      helpf(global->errors, "%s\n", reason);
   }
 
   return result;
diff --git a/src/tool_help.c b/src/tool_help.c
index 9209a13..2714390 100644
--- a/src/tool_help.c
+++ b/src/tool_help.c
@@ -20,7 +20,7 @@
  *
  ***************************************************************************/
 #include "tool_setup.h"
-#ifdef HAVE_STRCASECMP
+#if defined(HAVE_STRCASECMP) && defined(HAVE_STRINGS_H)
 #include <strings.h>
 #endif
 
@@ -191,6 +191,8 @@
    "Use HTTP 2"},
   {"    --http2-prior-knowledge",
    "Use HTTP 2 without HTTP/1.1 Upgrade"},
+  {"    --http3",
+   "Use HTTP v3"},
   {"    --ignore-content-length",
    "Ignore the size of the remote resource"},
   {"-i, --include",
@@ -273,6 +275,10 @@
    "OAuth 2 Bearer Token"},
   {"-o, --output <file>",
    "Write to file instead of stdout"},
+  {"-Z, --parallel",
+   "Perform transfers in parallel"},
+  {"    --parallel-max",
+   "Maximum concurrency for parallel transfers"},
   {"    --pass <phrase>",
    "Pass phrase for the private key"},
   {"    --path-as-is",
@@ -385,6 +391,8 @@
    "Wait time between retries"},
   {"    --retry-max-time <seconds>",
    "Retry only within this period"},
+  {"    --sasl-authzid <identity> ",
+   "Use this identity to act as during SASL PLAIN authentication"},
   {"    --sasl-ir",
    "Enable initial response in SASL authentication"},
   {"    --service-name <name>",
@@ -526,6 +534,7 @@
   {"CharConv",       CURL_VERSION_CONV},
   {"TLS-SRP",        CURL_VERSION_TLSAUTH_SRP},
   {"HTTP2",          CURL_VERSION_HTTP2},
+  {"HTTP3",          CURL_VERSION_HTTP3},
   {"UnixSockets",    CURL_VERSION_UNIX_SOCKETS},
   {"HTTPS-proxy",    CURL_VERSION_HTTPS_PROXY},
   {"MultiSSL",       CURL_VERSION_MULTI_SSL},
@@ -602,8 +611,9 @@
   }
 }
 
-void tool_list_engines(CURL *curl)
+void tool_list_engines(void)
 {
+  CURL *curl = curl_easy_init();
   struct curl_slist *engines = NULL;
 
   /* Get the list of engines */
@@ -620,4 +630,5 @@
 
   /* Cleanup the list of engines */
   curl_slist_free_all(engines);
+  curl_easy_cleanup(curl);
 }
diff --git a/src/tool_help.h b/src/tool_help.h
index 0289f30..bfb5dcd 100644
--- a/src/tool_help.h
+++ b/src/tool_help.h
@@ -7,7 +7,7 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
@@ -24,7 +24,7 @@
 #include "tool_setup.h"
 
 void tool_help(void);
-void tool_list_engines(CURL *curl);
+void tool_list_engines(void);
 void tool_version_info(void);
 
 #endif /* HEADER_CURL_TOOL_HELP_H */
diff --git a/src/tool_hugehelp.c b/src/tool_hugehelp.c
index 3d943d6..43209be 100644
--- a/src/tool_hugehelp.c
+++ b/src/tool_hugehelp.c
@@ -468,7 +468,7 @@
  fputs(
 "              PROFILE%\\Application Data'.\n"
 "\n"
-"              2) On windows, if there is no _curlrc file in the home  dir,  it\n"
+"              2) On windows, if there is no .curlrc file in the home  dir,  it\n"
 "              checks for one in the same dir the curl executable is placed. On\n"
 "              Unix-like systems, it will simply try to load .curlrc  from  the\n"
 "              determined home dir.\n"
@@ -1491,13 +1491,12 @@
 "              response since curl will simply transparently downgrade - if al-\n"
 "              lowed.\n"
 "\n"
-"              A future curl version will deny continuing if the response isn't\n"
-"              at least HTTP/1.0 unless this option is used.\n"
+"              Since curl 7.66.0, HTTP/0.9 is disabled by default.\n"
 "\n"
 "       -0, --http1.0\n"
 , stdout);
  fputs(
-"              (HTTP)  Tells  curl to use HTTP version 1.0 instead of using its\n"
+"              (HTTP) Tells curl to use HTTP version 1.0 instead of  using  its\n"
 "              internally preferred HTTP version.\n"
 "\n"
 "              This option overrides --http1.1 and --http2.\n"
@@ -1505,16 +1504,16 @@
 "       --http1.1\n"
 "              (HTTP) Tells curl to use HTTP version 1.1.\n"
 "\n"
-"              This option  overrides  -0,  --http1.0  and  --http2.  Added  in\n"
+"              This  option  overrides  -0,  --http1.0  and  --http2.  Added in\n"
 "              7.33.0.\n"
 "\n"
 "       --http2-prior-knowledge\n"
-"              (HTTP)  Tells  curl  to  issue  its  non-TLS HTTP requests using\n"
+"              (HTTP) Tells curl to  issue  its  non-TLS  HTTP  requests  using\n"
 , stdout);
  fputs(
-"              HTTP/2 without HTTP/1.1 Upgrade.  It  requires  prior  knowledge\n"
-"              that  the  server  supports HTTP/2 straight away. HTTPS requests\n"
-"              will still do HTTP/2 the standard way with  negotiated  protocol\n"
+"              HTTP/2  without  HTTP/1.1  Upgrade.  It requires prior knowledge\n"
+"              that the server supports HTTP/2 straight  away.  HTTPS  requests\n"
+"              will  still  do HTTP/2 the standard way with negotiated protocol\n"
 "              version in the TLS handshake.\n"
 "\n"
 "              --http2-prior-knowledge requires that the underlying libcurl was\n"
@@ -1526,15 +1525,39 @@
 "       --http2\n"
 "              (HTTP) Tells curl to use HTTP version 2.\n"
 "\n"
-"              See also --no-alpn. --http2 requires that the underlying libcurl\n"
-"              was built to support HTTP/2. This option overrides --http1.1 and\n"
-"              -0, --http1.0 and --http2-prior-knowledge. Added in 7.33.0.\n"
+"              See also --http1.1 and --http3. --http2 requires that the under-\n"
+"              lying libcurl was built to support HTTP/2. This option overrides\n"
+"              --http1.1 and -0, --http1.0 and  --http2-prior-knowledge.  Added\n"
+"              in 7.33.0.\n"
+"\n"
+"       --http3\n"
+"              (HTTP) WARNING: this option is experiemental. Do not use in pro-\n"
+"              duction.\n"
+"\n"
+, stdout);
+ fputs(
+"              Tells curl to use HTTP version 3 directly to the host  and  port\n"
+"              number used in the URL. A normal HTTP/3 transaction will be done\n"
+"              to a host and then get redirected via Alt-SVc, but  this  option\n"
+"              allows  a  user to circumvent that when you know that the target\n"
+"              speaks HTTP/3 on the given host and port.\n"
+"\n"
+"              This option will make curl fail if a QUIC connection  cannot  be\n"
+, stdout);
+ fputs(
+"              established,  it cannot fall back to a lower HTTP version on its\n"
+"              own.\n"
+"\n"
+"              See also --http1.1 and --http2. --http3 requires that the under-\n"
+"              lying libcurl was built to support HTTP/3. This option overrides\n"
+"              --http1.1 and -0, --http1.0 and --http2 and --http2-prior-knowl-\n"
+"              edge. Added in 7.66.0.\n"
 "\n"
 "       --ignore-content-length\n"
 "              (FTP  HTTP)  For HTTP, Ignore the Content-Length header. This is\n"
-"              particularly useful for servers running Apache 1.x,  which  will\n"
 , stdout);
  fputs(
+"              particularly useful for servers running Apache 1.x,  which  will\n"
 "              report  incorrect  Content-Length  for files larger than 2 giga-\n"
 "              bytes.\n"
 "\n"
@@ -1544,10 +1567,10 @@
 "       -i, --include\n"
 "              Include  the  HTTP  response headers in the output. The HTTP re-\n"
 "              sponse headers can include things  like  server  name,  cookies,\n"
-"              date of the document, HTTP version and more...\n"
-"\n"
 , stdout);
  fputs(
+"              date of the document, HTTP version and more...\n"
+"\n"
 "              To view the request headers, consider the -v, --verbose option.\n"
 "\n"
 "              See also -v, --verbose.\n"
@@ -1557,9 +1580,9 @@
 "              be secure. This option allows curl to proceed and  operate  even\n"
 "              for server connections otherwise considered insecure.\n"
 "\n"
-"              The  server  connection  is verified by making sure the server's\n"
 , stdout);
  fputs(
+"              The  server  connection  is verified by making sure the server's\n"
 "              certificate contains the right name  and  verifies  successfully\n"
 "              using the cert store.\n"
 "\n"
@@ -1570,24 +1593,24 @@
 "       --interface <name>\n"
 "\n"
 "              Perform  an operation using a specified interface. You can enter\n"
+, stdout);
+ fputs(
 "              interface name, IP address or host name. An example  could  look\n"
 "              like:\n"
 "\n"
-, stdout);
- fputs(
 "               curl --interface eth0:1 https://www.example.com/\n"
 "\n"
 "              If this option is used several times, the last one will be used.\n"
 "              On  Linux  it can be used to specify a VRF, but the binary needs\n"
 "              to either have CAP_NET_RAW or to be run as root.  More  informa-\n"
 "              tion   about  Linux  VRF:  https://www.kernel.org/doc/Documenta-\n"
+, stdout);
+ fputs(
 "              tion/networking/vrf.txt\n"
 "\n"
 "              See also --dns-interface.\n"
 "\n"
 "       -4, --ipv4\n"
-, stdout);
- fputs(
 "              This option tells curl to resolve names to IPv4 addresses  only,\n"
 "              and not for example try IPv6.\n"
 "\n"
@@ -1598,11 +1621,11 @@
 "              This option tells curl to resolve names to IPv6 addresses  only,\n"
 "              and not for example try IPv4.\n"
 "\n"
+, stdout);
+ fputs(
 "              See  also  --http1.1  and  --http2.  This  option  overrides -4,\n"
 "              --ipv4.\n"
 "\n"
-, stdout);
- fputs(
 "       -j, --junk-session-cookies\n"
 "              (HTTP) When curl is told to read cookies from a given file, this\n"
 "              option will make it discard all \"session cookies\". This will ba-\n"
@@ -1610,20 +1633,20 @@
 "              Typical  browsers  always  discard  session cookies when they're\n"
 "              closed down.\n"
 "\n"
+, stdout);
+ fputs(
 "              See also -b, --cookie and -c, --cookie-jar.\n"
 "\n"
 "       --keepalive-time <seconds>\n"
-, stdout);
- fputs(
 "              This option sets the time a connection needs to remain idle  be-\n"
 "              fore  sending  keepalive  probes and the time between individual\n"
 "              keepalive probes. It is currently effective on operating systems\n"
 "              offering  the  TCP_KEEPIDLE  and  TCP_KEEPINTVL  socket  options\n"
 "              (meaning Linux, recent AIX, HP-UX and more). This option has  no\n"
-"              effect if --no-keepalive is used.\n"
-"\n"
 , stdout);
  fputs(
+"              effect if --no-keepalive is used.\n"
+"\n"
 "              If this option is used several times, the last one will be used.\n"
 "              If unspecified, the option defaults to 60 seconds.\n"
 "\n"
@@ -1634,10 +1657,10 @@
 "              vided  private  key  is. DER, PEM, and ENG are supported. If not\n"
 "              specified, PEM is assumed.\n"
 "\n"
-"              If this option is used several times, the last one will be used.\n"
-"\n"
 , stdout);
  fputs(
+"              If this option is used several times, the last one will be used.\n"
+"\n"
 "       --key <key>\n"
 "              (TLS SSH) Private key file name. Allows you to provide your pri-\n"
 "              vate  key in this separate file. For SSH, if not specified, curl\n"
@@ -1645,32 +1668,32 @@
 "              '~/.ssh/id_dsa', './id_rsa', './id_dsa'.\n"
 "\n"
 "              If  curl is built against OpenSSL library, and the engine pkcs11\n"
-"              is available, then a PKCS#11 URI (RFC 7512) can be used to spec-\n"
 , stdout);
  fputs(
+"              is available, then a PKCS#11 URI (RFC 7512) can be used to spec-\n"
 "              ify  a  private key located in a PKCS#11 device. A string begin-\n"
 "              ning with \"pkcs11:\" will be interpreted as a PKCS#11 URI.  If  a\n"
 "              PKCS#11 URI is provided, then the --engine option will be set as\n"
 "              \"pkcs11\" if none was provided and the --key-type option will  be\n"
 "              set as \"ENG\" if none was provided.\n"
 "\n"
+, stdout);
+ fputs(
 "              If this option is used several times, the last one will be used.\n"
 "\n"
 "       --krb <level>\n"
-, stdout);
- fputs(
 "              (FTP)  Enable Kerberos authentication and use. The level must be\n"
 "              entered and should be one of 'clear', 'safe', 'confidential', or\n"
 "              'private'.  Should  you  use  a  level that is not one of these,\n"
 "              'private' will instead be used.\n"
 "\n"
 "              If this option is used several times, the last one will be used.\n"
+, stdout);
+ fputs(
 "              --krb requires that the underlying libcurl was built to  support\n"
 "              Kerberos.\n"
 "\n"
 "       --libcurl <file>\n"
-, stdout);
- fputs(
 "              Append  this  option  to any ordinary curl command line, and you\n"
 "              will get a libcurl-using C source code written to the file  that\n"
 "              does the equivalent of what your command-line operation does!\n"
@@ -1678,52 +1701,52 @@
 "              If  this  option is used several times, the last given file name\n"
 "              will be used.\n"
 "\n"
+, stdout);
+ fputs(
 "              Added in 7.16.1.\n"
 "\n"
 "       --limit-rate <speed>\n"
 "              Specify the maximum transfer rate you want curl  to  use  -  for\n"
-, stdout);
- fputs(
 "              both downloads and uploads. This feature is useful if you have a\n"
 "              limited pipe and you'd like your transfer not to use your entire\n"
 "              bandwidth. To make it slower than it otherwise would be.\n"
 "\n"
 "              The  given speed is measured in bytes/second, unless a suffix is\n"
-"              appended.  Appending 'k' or 'K' will count the number  as  kilo-\n"
-"              bytes,  'm' or 'M' makes it megabytes, while 'g' or 'G' makes it\n"
 , stdout);
  fputs(
+"              appended.  Appending 'k' or 'K' will count the number  as  kilo-\n"
+"              bytes,  'm' or 'M' makes it megabytes, while 'g' or 'G' makes it\n"
 "              gigabytes. Examples: 200K, 3m and 1G.\n"
 "\n"
 "              If you also use the -Y, --speed-limit option, that  option  will\n"
 "              take precedence and might cripple the rate-limiting slightly, to\n"
 "              help keeping the speed-limit logic working.\n"
 "\n"
+, stdout);
+ fputs(
 "              If this option is used several times, the last one will be used.\n"
 "\n"
 "       -l, --list-only\n"
 "              (FTP POP3) (FTP) When listing  an  FTP  directory,  this  switch\n"
-, stdout);
- fputs(
 "              forces  a  name-only view. This is especially useful if the user\n"
 "              wants to machine-parse the contents of an  FTP  directory  since\n"
 "              the normal directory view doesn't use a standard look or format.\n"
 "              When used like this, the option causes a NLST command to be sent\n"
+, stdout);
+ fputs(
 "              to the server instead of LIST.\n"
 "\n"
 "              Note:  Some  FTP  servers  list  only files in their response to\n"
-, stdout);
- fputs(
 "              NLST; they do not include sub-directories and symbolic links.\n"
 "\n"
 "              (POP3) When retrieving a specific email from POP3,  this  switch\n"
 "              forces  a  LIST command to be performed instead of RETR. This is\n"
 "              particularly useful if the user wants to see if a specific  mes-\n"
+, stdout);
+ fputs(
 "              sage id exists on the server and what size it is.\n"
 "\n"
 "              Note:  When combined with -X, --request, this option can be used\n"
-, stdout);
- fputs(
 "              to send an UIDL command instead, so the user may use the email's\n"
 "              unique  identifier  rather  than it's message id to make the re-\n"
 "              quest.\n"
@@ -1732,10 +1755,10 @@
 "\n"
 "       --local-port <num/range>\n"
 "              Set a preferred single number or range (FROM-TO) of  local  port\n"
-"              numbers to use for the connection(s).  Note that port numbers by\n"
-"              nature are a scarce resource that will be busy at times so  set-\n"
 , stdout);
  fputs(
+"              numbers to use for the connection(s).  Note that port numbers by\n"
+"              nature are a scarce resource that will be busy at times so  set-\n"
 "              ting  this range to something too narrow might cause unnecessary\n"
 "              connection setup failures.\n"
 "\n"
@@ -1744,10 +1767,10 @@
 "       --location-trusted\n"
 "              (HTTP) Like -L, --location, but will allow sending  the  name  +\n"
 "              password to all hosts that the site may redirect to. This may or\n"
-"              may not introduce a security breach if the site redirects you to\n"
-"              a  site  to which you'll send your authentication info (which is\n"
 , stdout);
  fputs(
+"              may not introduce a security breach if the site redirects you to\n"
+"              a  site  to which you'll send your authentication info (which is\n"
 "              plaintext in the case of HTTP Basic authentication).\n"
 "\n"
 "              See also -u, --user.\n"
@@ -1755,28 +1778,28 @@
 "       -L, --location\n"
 "              (HTTP) If the server reports that the requested page  has  moved\n"
 "              to a different location (indicated with a Location: header and a\n"
-"              3XX response code), this option will make curl redo the  request\n"
-"              on  the  new  place.  If used together with -i, --include or -I,\n"
 , stdout);
  fputs(
+"              3XX response code), this option will make curl redo the  request\n"
+"              on  the  new  place.  If used together with -i, --include or -I,\n"
 "              --head, headers from all requested pages will be shown. When au-\n"
 "              thentication  is  used,  curl  only sends its credentials to the\n"
 "              initial host. If a redirect takes curl to a different  host,  it\n"
 "              won't  be  able to intercept the user+password. See also --loca-\n"
+, stdout);
+ fputs(
 "              tion-trusted on how to change this. You can limit the amount  of\n"
 "              redirects to follow by using the --max-redirs option.\n"
 "\n"
-, stdout);
- fputs(
 "              When  curl follows a redirect and the request is not a plain GET\n"
 "              (for example POST or PUT), it will do the following request with\n"
 "              a GET if the HTTP response was 301, 302, or 303. If the response\n"
 "              code was any other 3xx code, curl will re-send the following re-\n"
+, stdout);
+ fputs(
 "              quest using the same unmodified method.\n"
 "\n"
 "              You  can  tell  curl to not change the non-GET request method to\n"
-, stdout);
- fputs(
 "              GET after a 30x response by  using  the  dedicated  options  for\n"
 "              that: --post301, --post302 and --post303.\n"
 "\n"
@@ -1785,9 +1808,9 @@
 "              authentication.\n"
 "\n"
 "              You can use the login options to specify protocol  specific  op-\n"
-"              tions  that  may  be used during authentication. At present only\n"
 , stdout);
  fputs(
+"              tions  that  may  be used during authentication. At present only\n"
 "              IMAP, POP3 and SMTP support login options. For more  information\n"
 "              about  the  login options please see RFC 2384, RFC 5092 and IETF\n"
 "              draft draft-earhart-url-smtp-00.txt\n"
@@ -1797,9 +1820,9 @@
 "              Added in 7.34.0.\n"
 "\n"
 "       --mail-auth <address>\n"
-"              (SMTP) Specify a single address. This will be  used  to  specify\n"
 , stdout);
  fputs(
+"              (SMTP) Specify a single address. This will be  used  to  specify\n"
 "              the  authentication  address  (identity)  of a submitted message\n"
 "              that is being relayed to another server.\n"
 "\n"
@@ -1811,9 +1834,9 @@
 "\n"
 "              See also --mail-rcpt and --mail-auth. Added in 7.20.0.\n"
 "\n"
-"       --mail-rcpt <address>\n"
 , stdout);
  fputs(
+"       --mail-rcpt <address>\n"
 "              (SMTP) Specify a single address, user name or mailing list name.\n"
 "              Repeat this option several times to send to multiple recipients.\n"
 "              When performing a mail transfer, the recipient should specify  a\n"
@@ -2153,40 +2176,57 @@
 "              See  also  -O, --remote-name and --remote-name-all and -J, --re-\n"
 "              mote-header-name.\n"
 "\n"
+"       --parallel-max\n"
+"              When asked to do parallel transfers, using -Z, --parallel,  this\n"
+"              option controls the maximum amount of transfers to do simultane-\n"
+"              ously.\n"
+"\n"
+"              The default is 50.\n"
+"\n"
+"              See also -Z, --parallel. Added in 7.66.0.\n"
+"\n"
+"       -Z, --parallel\n"
+, stdout);
+ fputs(
+"              Makes curl perform its transfers in parallel as compared to  the\n"
+"              regular serial manner.\n"
+"\n"
+"              Added in 7.66.0.\n"
+"\n"
 "       --pass <phrase>\n"
 "              (SSH TLS) Passphrase for the private key\n"
 "\n"
 "              If this option is used several times, the last one will be used.\n"
 "\n"
 "       --path-as-is\n"
-"              Tell curl to not handle sequences of /../ or /./  in  the  given\n"
+"              Tell  curl  to  not handle sequences of /../ or /./ in the given\n"
+"              URL path. Normally curl will squash or merge them  according  to\n"
 , stdout);
  fputs(
-"              URL  path.  Normally curl will squash or merge them according to\n"
 "              standards but with this option set you tell it not to do that.\n"
 "\n"
 "              Added in 7.42.0.\n"
 "\n"
 "       --pinnedpubkey <hashes>\n"
-"              (TLS) Tells curl to  use  the  specified  public  key  file  (or\n"
-"              hashes)  to  verify the peer. This can be a path to a file which\n"
+"              (TLS)  Tells  curl  to  use  the  specified  public key file (or\n"
+"              hashes) to verify the peer. This can be a path to a  file  which\n"
 "              contains a single public key in PEM or DER format, or any number\n"
-, stdout);
- fputs(
 "              of base64 encoded sha256 hashes preceded by 'sha256//' and sepa-\n"
 "              rated by ';'\n"
 "\n"
-"              When negotiating a TLS or SSL connection,  the  server  sends  a\n"
-"              certificate  indicating  its identity. A public key is extracted\n"
-"              from this certificate and if it does not exactly match the  pub-\n"
-"              lic  key provided to this option, curl will abort the connection\n"
-"              before sending or receiving any data.\n"
-"\n"
 , stdout);
  fputs(
+"              When  negotiating  a  TLS  or SSL connection, the server sends a\n"
+"              certificate indicating its identity. A public key  is  extracted\n"
+"              from  this certificate and if it does not exactly match the pub-\n"
+"              lic key provided to this option, curl will abort the  connection\n"
+"              before sending or receiving any data.\n"
+"\n"
 "              PEM/DER support:\n"
 "                7.39.0: OpenSSL, GnuTLS and GSKit\n"
 "                7.43.0: NSS and wolfSSL\n"
+, stdout);
+ fputs(
 "                7.47.0: mbedtls sha256 support:\n"
 "                7.44.0: OpenSSL, GnuTLS, NSS and wolfSSL\n"
 "                7.47.0: mbedtls Other SSL backends not supported.\n"
@@ -2195,66 +2235,66 @@
 "\n"
 "       --post301\n"
 "              (HTTP) Tells curl to respect RFC 7231/6.4.2 and not convert POST\n"
+"              requests into GET requests when following a 301 redirection. The\n"
 , stdout);
  fputs(
-"              requests into GET requests when following a 301 redirection. The\n"
+"              non-RFC  behaviour  is  ubiquitous in web browsers, so curl does\n"
+"              the conversion by default to maintain  consistency.  However,  a\n"
+"              server  may  require  a POST to remain a POST after such a redi-\n"
+"              rection. This option is meaningful only when using  -L,  --loca-\n"
+"              tion.\n"
+"\n"
+"              See  also  --post302  and --post303 and -L, --location. Added in\n"
+"              7.17.1.\n"
+"\n"
+"       --post302\n"
+, stdout);
+ fputs(
+"              (HTTP) Tells curl to respect RFC 7231/6.4.3 and not convert POST\n"
+"              requests into GET requests when following a 302 redirection. The\n"
 "              non-RFC behaviour is ubiquitous in web browsers,  so  curl  does\n"
 "              the  conversion  by  default to maintain consistency. However, a\n"
 "              server may require a POST to remain a POST after  such  a  redi-\n"
 "              rection.  This  option is meaningful only when using -L, --loca-\n"
 "              tion.\n"
 "\n"
-"              See also --post302 and --post303 and -L,  --location.  Added  in\n"
 , stdout);
  fputs(
-"              7.17.1.\n"
-"\n"
-"       --post302\n"
-"              (HTTP) Tells curl to respect RFC 7231/6.4.3 and not convert POST\n"
-"              requests into GET requests when following a 302 redirection. The\n"
-"              non-RFC  behaviour  is  ubiquitous in web browsers, so curl does\n"
-"              the conversion by default to maintain  consistency.  However,  a\n"
-"              server  may  require  a POST to remain a POST after such a redi-\n"
-, stdout);
- fputs(
-"              rection. This option is meaningful only when using  -L,  --loca-\n"
-"              tion.\n"
-"\n"
-"              See  also  --post301  and --post303 and -L, --location. Added in\n"
+"              See also --post301 and --post303 and -L,  --location.  Added  in\n"
 "              7.19.1.\n"
 "\n"
 "       --post303\n"
 "              (HTTP) Tells curl to violate RFC 7231/6.4.4 and not convert POST\n"
-"              requests  into  GET  requests when following 303 redirections. A\n"
+"              requests into GET requests when following  303  redirections.  A\n"
 "              server may require a POST to remain a POST after a 303 redirect-\n"
-, stdout);
- fputs(
 "              ion. This option is meaningful only when using -L, --location.\n"
 "\n"
-"              See  also  --post302  and --post301 and -L, --location. Added in\n"
+, stdout);
+ fputs(
+"              See also --post302 and --post301 and -L,  --location.  Added  in\n"
 "              7.26.0.\n"
 "\n"
 "       --preproxy [protocol://]host[:port]\n"
-"              Use the specified SOCKS proxy before connecting to  an  HTTP  or\n"
-"              HTTPS  -x,  --proxy.  In  such a case curl first connects to the\n"
-"              SOCKS proxy and then connects (through SOCKS)  to  the  HTTP  or\n"
-, stdout);
- fputs(
+"              Use  the  specified  SOCKS proxy before connecting to an HTTP or\n"
+"              HTTPS -x, --proxy. In such a case curl  first  connects  to  the\n"
+"              SOCKS  proxy  and  then  connects (through SOCKS) to the HTTP or\n"
 "              HTTPS proxy. Hence pre proxy.\n"
 "\n"
-"              The pre proxy string should be specified with a protocol:// pre-\n"
-"              fix to  specify  alternative  proxy  protocols.  Use  socks4://,\n"
-"              socks4a://,  socks5://  or  socks5h://  to  request the specific\n"
-"              SOCKS version to be used. No protocol specified will  make  curl\n"
-"              default to SOCKS4.\n"
-"\n"
-"              If  the  port number is not specified in the proxy string, it is\n"
 , stdout);
  fputs(
+"              The pre proxy string should be specified with a protocol:// pre-\n"
+"              fix  to  specify  alternative  proxy  protocols.  Use socks4://,\n"
+"              socks4a://, socks5:// or  socks5h://  to  request  the  specific\n"
+"              SOCKS  version  to be used. No protocol specified will make curl\n"
+"              default to SOCKS4.\n"
+"\n"
+"              If the port number is not specified in the proxy string,  it  is\n"
 "              assumed to be 1080.\n"
 "\n"
+, stdout);
+ fputs(
 "              User and password that might be provided in the proxy string are\n"
-"              URL  decoded by curl. This allows you to pass in special charac-\n"
+"              URL decoded by curl. This allows you to pass in special  charac-\n"
 "              ters such as @ by using %40 or pass in a colon with %3a.\n"
 "\n"
 "              If this option is used several times, the last one will be used.\n"
@@ -2267,10 +2307,10 @@
  fputs(
 "              stead of the standard, more informational, meter.\n"
 "\n"
-"              This  progress  bar draws a single line of '#' characters across\n"
+"              This progress bar draws a single line of '#'  characters  across\n"
 "              the screen and shows a percentage if the transfer size is known.\n"
-"              For  transfers  without  a  known size, there will be space ship\n"
-"              (-=o=-) that moves back and forth but only while data  is  being\n"
+"              For transfers without a known size, there  will  be  space  ship\n"
+"              (-=o=-)  that  moves back and forth but only while data is being\n"
 "              transferred, with a set of flying hash sign symbols on top.\n"
 "\n"
 "       --proto-default <protocol>\n"
@@ -2282,12 +2322,12 @@
 "\n"
 "               curl --proto-default https ftp.mozilla.org\n"
 "\n"
-"              An  unknown  or  unsupported  protocol causes error CURLE_UNSUP-\n"
+"              An unknown or unsupported  protocol  causes  error  CURLE_UNSUP-\n"
 "              PORTED_PROTOCOL (1).\n"
 "\n"
 "              This option does not change the default proxy protocol (http).\n"
 "\n"
-"              Without this option curl would make a guess based on  the  host,\n"
+"              Without  this  option curl would make a guess based on the host,\n"
 "              see --url for details.\n"
 "\n"
 , stdout);
@@ -2295,8 +2335,8 @@
 "              Added in 7.45.0.\n"
 "\n"
 "       --proto-redir <protocols>\n"
-"              Tells  curl to limit what protocols it may use on redirect. Pro-\n"
-"              tocols denied by --proto are not overridden by this option.  See\n"
+"              Tells curl to limit what protocols it may use on redirect.  Pro-\n"
+"              tocols  denied by --proto are not overridden by this option. See\n"
 "              --proto for how protocols are represented.\n"
 "\n"
 "              Example, allow only HTTP and HTTPS on redirect:\n"
@@ -2307,9 +2347,9 @@
 , stdout);
  fputs(
 "              (7.65.2).  Older versions of curl allowed all protocols on redi-\n"
-"              rect  except several disabled for security reasons: Since 7.19.4\n"
-"              FILE and SCP are disabled, and since 7.40.0  SMB  and  SMBS  are\n"
-"              also  disabled.  Specifying all or +all enables all protocols on\n"
+"              rect except several disabled for security reasons: Since  7.19.4\n"
+"              FILE  and  SCP  are  disabled, and since 7.40.0 SMB and SMBS are\n"
+"              also disabled. Specifying all or +all enables all  protocols  on\n"
 "              redirect, including those disabled for security.\n"
 "\n"
 "              Added in 7.20.2.\n"
@@ -2317,9 +2357,9 @@
 "       --proto <protocols>\n"
 , stdout);
  fputs(
-"              Tells curl to limit what protocols it may use in  the  transfer.\n"
-"              Protocols  are evaluated left to right, are comma separated, and\n"
-"              are each a protocol name or 'all', optionally prefixed  by  zero\n"
+"              Tells  curl  to limit what protocols it may use in the transfer.\n"
+"              Protocols are evaluated left to right, are comma separated,  and\n"
+"              are  each  a protocol name or 'all', optionally prefixed by zero\n"
 "              or more modifiers. Available modifiers are:\n"
 "\n"
 "              +  Permit this protocol in addition to protocols already permit-\n"
@@ -2327,11 +2367,11 @@
 "\n"
 , stdout);
  fputs(
-"              -  Deny this protocol, removing it from the  list  of  protocols\n"
+"              -  Deny  this  protocol,  removing it from the list of protocols\n"
 "                 already permitted.\n"
 "\n"
-"              =  Permit  only this protocol (ignoring the list already permit-\n"
-"                 ted), though subject to later modification by subsequent  en-\n"
+"              =  Permit only this protocol (ignoring the list already  permit-\n"
+"                 ted),  though subject to later modification by subsequent en-\n"
 "                 tries in the comma separated list.\n"
 "\n"
 "              For example:\n"
@@ -2348,7 +2388,7 @@
 "\n"
 "       Unknown protocols produce a warning. This allows scripts to safely rely\n"
 "       on being able to disable potentially dangerous protocols, without rely-\n"
-"       ing  upon  support  for that protocol being built into curl to avoid an\n"
+"       ing upon support for that protocol being built into curl  to  avoid  an\n"
 "       error.\n"
 "\n"
 "       This option can be used multiple times, in which case the effect is the\n"
@@ -2359,8 +2399,8 @@
 "       See also --proto-redir and --proto-default. Added in 7.20.2.\n"
 "\n"
 "       --proxy-anyauth\n"
-"              Tells  curl to pick a suitable authentication method when commu-\n"
-"              nicating with the given HTTP proxy. This might  cause  an  extra\n"
+"              Tells curl to pick a suitable authentication method when  commu-\n"
+"              nicating  with  the  given HTTP proxy. This might cause an extra\n"
 "              request/response round-trip.\n"
 "\n"
 "              See also -x, --proxy and --proxy-basic and --proxy-digest. Added\n"
@@ -2369,9 +2409,9 @@
 "       --proxy-basic\n"
 , stdout);
  fputs(
-"              Tells curl to use HTTP Basic authentication  when  communicating\n"
+"              Tells  curl  to use HTTP Basic authentication when communicating\n"
 "              with the given proxy. Use --basic for enabling HTTP Basic with a\n"
-"              remote host. Basic is the  default  authentication  method  curl\n"
+"              remote  host.  Basic  is  the default authentication method curl\n"
 "              uses with proxies.\n"
 "\n"
 "              See also -x, --proxy and --proxy-anyauth and --proxy-digest.\n"
@@ -2381,13 +2421,13 @@
 "\n"
 , stdout);
  fputs(
-"              See  also  --proxy-capath  and  --cacert  and  --capath  and -x,\n"
+"              See also  --proxy-capath  and  --cacert  and  --capath  and  -x,\n"
 "              --proxy. Added in 7.52.0.\n"
 "\n"
 "       --proxy-capath <dir>\n"
 "              Same as --capath but used in HTTPS proxy context.\n"
 "\n"
-"              See also --proxy-cacert and -x, --proxy and --capath.  Added  in\n"
+"              See  also  --proxy-cacert and -x, --proxy and --capath. Added in\n"
 "              7.52.0.\n"
 "\n"
 "       --proxy-cert-type <type>\n"
@@ -2413,7 +2453,7 @@
 "              Added in 7.52.0.\n"
 "\n"
 "       --proxy-digest\n"
-"              Tells  curl to use HTTP Digest authentication when communicating\n"
+"              Tells curl to use HTTP Digest authentication when  communicating\n"
 , stdout);
  fputs(
 "              with the given proxy. Use --digest for enabling HTTP Digest with\n"
@@ -2422,30 +2462,30 @@
 "              See also -x, --proxy and --proxy-anyauth and --proxy-basic.\n"
 "\n"
 "       --proxy-header <header/@file>\n"
-"              (HTTP)  Extra header to include in the request when sending HTTP\n"
+"              (HTTP) Extra header to include in the request when sending  HTTP\n"
 "              to a proxy. You may specify any number of extra headers. This is\n"
-"              the  equivalent option to -H, --header but is for proxy communi-\n"
+"              the equivalent option to -H, --header but is for proxy  communi-\n"
 , stdout);
  fputs(
-"              cation only like in CONNECT requests when you  want  a  separate\n"
-"              header  sent  to  the proxy to what is sent to the actual remote\n"
+"              cation  only  like  in CONNECT requests when you want a separate\n"
+"              header sent to the proxy to what is sent to  the  actual  remote\n"
 "              host.\n"
 "\n"
-"              curl will make sure that each header  you  add/replace  is  sent\n"
+"              curl  will  make  sure  that each header you add/replace is sent\n"
 "              with the proper end-of-line marker, you should thus not add that\n"
 "              as a part of the header content: do not add newlines or carriage\n"
 "              returns, they will only mess things up for you.\n"
 "\n"
 , stdout);
  fputs(
-"              Headers  specified  with this option will not be included in re-\n"
+"              Headers specified with this option will not be included  in  re-\n"
 "              quests that curl knows will not be sent to a proxy.\n"
 "\n"
-"              Starting in 7.55.0, this option can take an argument  in  @file-\n"
-"              name  style, which then adds a header for each line in the input\n"
+"              Starting  in  7.55.0, this option can take an argument in @file-\n"
+"              name style, which then adds a header for each line in the  input\n"
 "              file. Using @- will make curl read the header file from stdin.\n"
 "\n"
-"              This option can be used  multiple  times  to  add/replace/remove\n"
+"              This  option  can  be  used multiple times to add/replace/remove\n"
 "              multiple headers.\n"
 "\n"
 , stdout);
@@ -2465,7 +2505,7 @@
 "              Same as --key but used in HTTPS proxy context.\n"
 "\n"
 "       --proxy-negotiate\n"
-"              Tells  curl  to  use HTTP Negotiate (SPNEGO) authentication when\n"
+"              Tells curl to use HTTP Negotiate  (SPNEGO)  authentication  when\n"
 , stdout);
  fputs(
 "              communicating with the given proxy. Use --negotiate for enabling\n"
@@ -2474,7 +2514,7 @@
 "              See also --proxy-anyauth and --proxy-basic. Added in 7.17.1.\n"
 "\n"
 "       --proxy-ntlm\n"
-"              Tells  curl  to  use HTTP NTLM authentication when communicating\n"
+"              Tells curl to use HTTP NTLM  authentication  when  communicating\n"
 "              with the given proxy. Use --ntlm for enabling NTLM with a remote\n"
 "              host.\n"
 "\n"
@@ -2488,18 +2528,18 @@
 "              Added in 7.52.0.\n"
 "\n"
 "       --proxy-pinnedpubkey <hashes>\n"
-"              (TLS)  Tells  curl  to  use  the  specified  public key file (or\n"
-"              hashes) to verify the proxy. This can be a path to a file  which\n"
+"              (TLS) Tells curl to  use  the  specified  public  key  file  (or\n"
+"              hashes)  to verify the proxy. This can be a path to a file which\n"
 "              contains a single public key in PEM or DER format, or any number\n"
 "              of base64 encoded sha256 hashes preceded by 'sha256//' and sepa-\n"
 , stdout);
  fputs(
 "              rated by ';'\n"
 "\n"
-"              When  negotiating  a  TLS  or SSL connection, the server sends a\n"
-"              certificate indicating its identity. A public key  is  extracted\n"
-"              from  this certificate and if it does not exactly match the pub-\n"
-"              lic key provided to this option, curl will abort the  connection\n"
+"              When negotiating a TLS or SSL connection,  the  server  sends  a\n"
+"              certificate  indicating  its identity. A public key is extracted\n"
+"              from this certificate and if it does not exactly match the  pub-\n"
+"              lic  key provided to this option, curl will abort the connection\n"
 "              before sending or receiving any data.\n"
 "\n"
 "              If this option is used several times, the last one will be used.\n"
@@ -2507,7 +2547,7 @@
 , stdout);
  fputs(
 "       --proxy-service-name <name>\n"
-"              This  option allows you to change the service name for proxy ne-\n"
+"              This option allows you to change the service name for proxy  ne-\n"
 "              gotiation.\n"
 "\n"
 "              Added in 7.43.0.\n"
@@ -2518,18 +2558,18 @@
 "              Added in 7.52.0.\n"
 "\n"
 "       --proxy-tls13-ciphers <ciphersuite list>\n"
-"              (TLS) Specifies which cipher suites to use in the connection  to\n"
+"              (TLS)  Specifies which cipher suites to use in the connection to\n"
 , stdout);
  fputs(
 "              your HTTPS proxy when it negotiates TLS 1.3. The list of ciphers\n"
-"              suites must specify valid ciphers. Read up  on  TLS  1.3  cipher\n"
+"              suites  must  specify  valid  ciphers. Read up on TLS 1.3 cipher\n"
 "              suite details on this URL:\n"
 "\n"
 "               https://curl.haxx.se/docs/ssl-ciphers.html\n"
 "\n"
-"              This  option  is  currently  used only when curl is built to use\n"
+"              This option is currently used only when curl  is  built  to  use\n"
 "              OpenSSL 1.1.1 or later. If you are using a different SSL backend\n"
-"              you  can try setting TLS 1.3 cipher suites by using the --proxy-\n"
+"              you can try setting TLS 1.3 cipher suites by using the  --proxy-\n"
 , stdout);
  fputs(
 "              ciphers option.\n"
@@ -2559,20 +2599,20 @@
 "              Added in 7.52.0.\n"
 "\n"
 "       -U, --proxy-user <user:password>\n"
-"              Specify the user name and password to use for proxy  authentica-\n"
+"              Specify  the user name and password to use for proxy authentica-\n"
 "              tion.\n"
 "\n"
-"              If  you use a Windows SSPI-enabled curl binary and do either Ne-\n"
-"              gotiate or NTLM authentication then you can tell curl to  select\n"
+"              If you use a Windows SSPI-enabled curl binary and do either  Ne-\n"
+"              gotiate  or NTLM authentication then you can tell curl to select\n"
 , stdout);
  fputs(
 "              the user name and password from your environment by specifying a\n"
 "              single colon with this option: \"-U :\".\n"
 "\n"
 "              On systems where it works, curl will hide the given option argu-\n"
-"              ment  from  process listings. This is not enough to protect cre-\n"
-"              dentials from possibly getting seen by other users on  the  same\n"
-"              system  as  they will still be visible for a brief moment before\n"
+"              ment from process listings. This is not enough to  protect  cre-\n"
+"              dentials  from  possibly getting seen by other users on the same\n"
+"              system as they will still be visible for a brief  moment  before\n"
 , stdout);
  fputs(
 "              cleared. Such sensitive data should be retrieved from a file in-\n"
@@ -2582,7 +2622,7 @@
 "       -x, --proxy [protocol://]host[:port]\n"
 "              Use the specified proxy.\n"
 "\n"
-"              The  proxy string can be specified with a protocol:// prefix. No\n"
+"              The proxy string can be specified with a protocol:// prefix.  No\n"
 "              protocol specified or http:// will be treated as HTTP proxy. Use\n"
 , stdout);
  fputs(
@@ -2590,62 +2630,62 @@
 "              cific SOCKS version to be used.  (The protocol support was added\n"
 "              in curl 7.21.7)\n"
 "\n"
-"              HTTPS  proxy  support  via https:// protocol prefix was added in\n"
+"              HTTPS proxy support via https:// protocol prefix  was  added  in\n"
 "              7.52.0 for OpenSSL, GnuTLS and NSS.\n"
 "\n"
-"              Unrecognized and unsupported  proxy  protocols  cause  an  error\n"
-"              since  7.52.0.   Prior  versions may ignore the protocol and use\n"
+"              Unrecognized  and  unsupported  proxy  protocols  cause an error\n"
+"              since 7.52.0.  Prior versions may ignore the  protocol  and  use\n"
 , stdout);
  fputs(
 "              http:// instead.\n"
 "\n"
-"              If the port number is not specified in the proxy string,  it  is\n"
+"              If  the  port number is not specified in the proxy string, it is\n"
 "              assumed to be 1080.\n"
 "\n"
-"              This  option  overrides  existing environment variables that set\n"
-"              the proxy to use. If there's an environment variable  setting  a\n"
+"              This option overrides existing environment  variables  that  set\n"
+"              the  proxy  to use. If there's an environment variable setting a\n"
 "              proxy, you can set proxy to \"\" to override it.\n"
 "\n"
 "              All operations that are performed over an HTTP proxy will trans-\n"
 , stdout);
  fputs(
-"              parently be converted to HTTP. It means  that  certain  protocol\n"
+"              parently  be  converted  to HTTP. It means that certain protocol\n"
 "              specific operations might not be available. This is not the case\n"
 "              if you can tunnel through the proxy, as one with the -p, --prox-\n"
 "              ytunnel option.\n"
 "\n"
 "              User and password that might be provided in the proxy string are\n"
-"              URL decoded by curl. This allows you to pass in special  charac-\n"
+"              URL  decoded by curl. This allows you to pass in special charac-\n"
 "              ters such as @ by using %40 or pass in a colon with %3a.\n"
 "\n"
 , stdout);
  fputs(
-"              The  proxy host can be specified the exact same way as the proxy\n"
-"              environment variables, including the protocol  prefix  (http://)\n"
+"              The proxy host can be specified the exact same way as the  proxy\n"
+"              environment  variables,  including the protocol prefix (http://)\n"
 "              and the embedded user + password.\n"
 "\n"
 "              If this option is used several times, the last one will be used.\n"
 "\n"
 "       --proxy1.0 <host[:port]>\n"
-"              Use  the  specified  HTTP  1.0  proxy. If the port number is not\n"
+"              Use the specified HTTP 1.0 proxy. If  the  port  number  is  not\n"
 "              specified, it is assumed at port 1080.\n"
 "\n"
 , stdout);
  fputs(
-"              The only difference between this and the HTTP proxy  option  -x,\n"
-"              --proxy,  is that attempts to use CONNECT through the proxy will\n"
+"              The  only  difference between this and the HTTP proxy option -x,\n"
+"              --proxy, is that attempts to use CONNECT through the proxy  will\n"
 "              specify an HTTP 1.0 protocol instead of the default HTTP 1.1.\n"
 "\n"
 "       -p, --proxytunnel\n"
-"              When an HTTP proxy is used -x, --proxy, this  option  will  make\n"
-"              curl  tunnel through the proxy. The tunnel approach is made with\n"
-"              the HTTP proxy CONNECT request and requires that the  proxy  al-\n"
+"              When  an  HTTP  proxy is used -x, --proxy, this option will make\n"
+"              curl tunnel through the proxy. The tunnel approach is made  with\n"
+"              the  HTTP  proxy CONNECT request and requires that the proxy al-\n"
 , stdout);
  fputs(
 "              lows direct connect to the remote port number curl wants to tun-\n"
 "              nel through to.\n"
 "\n"
-"              To suppress proxy CONNECT response headers when curl is  set  to\n"
+"              To  suppress  proxy CONNECT response headers when curl is set to\n"
 "              output headers use --suppress-connect-headers.\n"
 "\n"
 "              See also -x, --proxy.\n"
@@ -2658,53 +2698,53 @@
  fputs(
 "              If this option is used several times, the last one will be used.\n"
 "              (As of 7.39.0, curl attempts to automatically extract the public\n"
-"              key  from the private key file, so passing this option is gener-\n"
+"              key from the private key file, so passing this option is  gener-\n"
 "              ally not required. Note that this public key extraction requires\n"
-"              libcurl  to  be linked against a copy of libssh2 1.2.8 or higher\n"
+"              libcurl to be linked against a copy of libssh2 1.2.8  or  higher\n"
 "              that is itself linked against OpenSSL.)\n"
 "\n"
 "       -Q, --quote\n"
 , stdout);
  fputs(
-"              (FTP SFTP) Send an arbitrary command to the remote FTP  or  SFTP\n"
-"              server.  Quote commands are sent BEFORE the transfer takes place\n"
-"              (just after the initial PWD command in an FTP  transfer,  to  be\n"
+"              (FTP  SFTP)  Send an arbitrary command to the remote FTP or SFTP\n"
+"              server. Quote commands are sent BEFORE the transfer takes  place\n"
+"              (just  after  the  initial PWD command in an FTP transfer, to be\n"
 "              exact). To make commands take place after a successful transfer,\n"
-"              prefix them with a dash '-'.  To make  commands  be  sent  after\n"
+"              prefix  them  with  a  dash '-'.  To make commands be sent after\n"
 "              curl has changed the working directory, just before the transfer\n"
 , stdout);
  fputs(
-"              command(s), prefix the command with a '+'  (this  is  only  sup-\n"
+"              command(s),  prefix  the  command  with a '+' (this is only sup-\n"
 "              ported for FTP). You may specify any number of commands.\n"
 "\n"
-"              If  the  server returns failure for one of the commands, the en-\n"
+"              If the server returns failure for one of the commands,  the  en-\n"
 "              tire operation will be aborted. You must send syntactically cor-\n"
-"              rect  FTP  commands as RFC 959 defines to FTP servers, or one of\n"
+"              rect FTP commands as RFC 959 defines to FTP servers, or  one  of\n"
 "              the commands listed below to SFTP servers.\n"
 "\n"
 , stdout);
  fputs(
-"              Prefix the command with an asterisk (*) to  make  curl  continue\n"
-"              even  if the command fails as by default curl will stop at first\n"
+"              Prefix  the  command  with an asterisk (*) to make curl continue\n"
+"              even if the command fails as by default curl will stop at  first\n"
 "              failure.\n"
 "\n"
 "              This option can be used multiple times.\n"
 "\n"
-"              SFTP is a binary protocol. Unlike for FTP, curl interprets  SFTP\n"
-"              quote  commands  itself before sending them to the server.  File\n"
+"              SFTP  is a binary protocol. Unlike for FTP, curl interprets SFTP\n"
+"              quote commands itself before sending them to the  server.   File\n"
 "              names may be quoted shell-style to embed spaces or special char-\n"
 , stdout);
  fputs(
-"              acters.   Following is the list of all supported SFTP quote com-\n"
+"              acters.  Following is the list of all supported SFTP quote  com-\n"
 "              mands:\n"
 "\n"
 "              chgrp group file\n"
-"                     The chgrp command sets the group ID of the file named  by\n"
-"                     the  file  operand to the group ID specified by the group\n"
+"                     The  chgrp command sets the group ID of the file named by\n"
+"                     the file operand to the group ID specified by  the  group\n"
 "                     operand. The group operand is a decimal integer group ID.\n"
 "\n"
 "              chmod mode file\n"
-"                     The chmod command modifies the  file  mode  bits  of  the\n"
+"                     The  chmod  command  modifies  the  file mode bits of the\n"
 , stdout);
  fputs(
 "                     specified file. The mode operand is an octal integer mode\n"
@@ -2712,18 +2752,18 @@
 "\n"
 "              chown user file\n"
 "                     The chown command sets the owner of the file named by the\n"
-"                     file  operand  to the user ID specified by the user oper-\n"
+"                     file operand to the user ID specified by the  user  oper-\n"
 "                     and. The user operand is a decimal integer user ID.\n"
 "\n"
 "              ln source_file target_file\n"
 "                     The ln and symlink commands create a symbolic link at the\n"
 , stdout);
  fputs(
-"                     target_file  location  pointing  to the source_file loca-\n"
+"                     target_file location pointing to  the  source_file  loca-\n"
 "                     tion.\n"
 "\n"
 "              mkdir directory_name\n"
-"                     The mkdir command creates the directory named by the  di-\n"
+"                     The  mkdir command creates the directory named by the di-\n"
 "                     rectory_name operand.\n"
 "\n"
 "              pwd    The pwd command returns the absolute pathname of the cur-\n"
@@ -2733,7 +2773,7 @@
 , stdout);
  fputs(
 "                     The rename command renames the file or directory named by\n"
-"                     the  source  operand to the destination path named by the\n"
+"                     the source operand to the destination path named  by  the\n"
 "                     target operand.\n"
 "\n"
 "              rm file\n"
@@ -2741,7 +2781,7 @@
 "                     erand.\n"
 "\n"
 "              rmdir directory\n"
-"                     The  rmdir  command removes the directory entry specified\n"
+"                     The rmdir command removes the directory  entry  specified\n"
 , stdout);
  fputs(
 "                     by the directory operand, provided it is empty.\n"
@@ -2751,14 +2791,14 @@
 "\n"
 "       --random-file <file>\n"
 "              Specify the path name to file containing what will be considered\n"
-"              as  random  data. The data may be used to seed the random engine\n"
+"              as random data. The data may be used to seed the  random  engine\n"
 "              for SSL connections.  See also the --egd-file option.\n"
 "\n"
 "       -r, --range <range>\n"
 , stdout);
  fputs(
 "              (HTTP FTP SFTP FILE) Retrieve a byte range (i.e. a partial docu-\n"
-"              ment)  from  an  HTTP/1.1,  FTP  or SFTP server or a local FILE.\n"
+"              ment) from an HTTP/1.1, FTP or SFTP  server  or  a  local  FILE.\n"
 "              Ranges can be specified in a number of ways.\n"
 "\n"
 "              0-499     specifies the first 500 bytes\n"
@@ -2776,30 +2816,30 @@
 "              100-199,500-599\n"
 "                        specifies two separate 100-byte ranges(*) (HTTP)\n"
 "\n"
-"              (*) = NOTE that this will cause the server to reply with a  mul-\n"
+"              (*)  = NOTE that this will cause the server to reply with a mul-\n"
 "              tipart response!\n"
 "\n"
-"              Only  digit characters (0-9) are valid in the 'start' and 'stop'\n"
-"              fields of the 'start-stop' range syntax. If a non-digit  charac-\n"
+"              Only digit characters (0-9) are valid in the 'start' and  'stop'\n"
+"              fields  of the 'start-stop' range syntax. If a non-digit charac-\n"
 , stdout);
  fputs(
 "              ter is given in the range, the server's response will be unspec-\n"
 "              ified, depending on the server's configuration.\n"
 "\n"
-"              You should also be aware that many HTTP/1.1 servers do not  have\n"
-"              this  feature  enabled, so that when you attempt to get a range,\n"
+"              You  should also be aware that many HTTP/1.1 servers do not have\n"
+"              this feature enabled, so that when you attempt to get  a  range,\n"
 "              you'll instead get the whole document.\n"
 "\n"
-"              FTP and SFTP range downloads only  support  the  simple  'start-\n"
+"              FTP  and  SFTP  range  downloads only support the simple 'start-\n"
 , stdout);
  fputs(
-"              stop'  syntax  (optionally with one of the numbers omitted). FTP\n"
+"              stop' syntax (optionally with one of the numbers  omitted).  FTP\n"
 "              use depends on the extended FTP command SIZE.\n"
 "\n"
 "              If this option is used several times, the last one will be used.\n"
 "\n"
 "       --raw  (HTTP) When used, it disables all internal HTTP decoding of con-\n"
-"              tent  or transfer encodings and instead makes them passed on un-\n"
+"              tent or transfer encodings and instead makes them passed on  un-\n"
 "              altered, raw.\n"
 "\n"
 "              Added in 7.16.2.\n"
@@ -2809,9 +2849,9 @@
  fputs(
 "              (HTTP) Sends the \"Referrer Page\" information to the HTTP server.\n"
 "              This can also be set with the -H, --header flag of course.  When\n"
-"              used with -L, --location you  can  append  \";auto\"  to  the  -e,\n"
-"              --referer  URL  to  make curl automatically set the previous URL\n"
-"              when it follows a Location: header. The \";auto\"  string  can  be\n"
+"              used  with  -L,  --location  you  can  append \";auto\" to the -e,\n"
+"              --referer URL to make curl automatically set  the  previous  URL\n"
+"              when  it  follows  a Location: header. The \";auto\" string can be\n"
 "              used alone, even if you don't set an initial -e, --referer.\n"
 "\n"
 , stdout);
@@ -2822,29 +2862,29 @@
 "\n"
 "       -J, --remote-header-name\n"
 "              (HTTP) This option tells the -O, --remote-name option to use the\n"
-"              server-specified Content-Disposition  filename  instead  of  ex-\n"
+"              server-specified  Content-Disposition  filename  instead  of ex-\n"
 "              tracting a filename from the URL.\n"
 "\n"
-"              If  the  server  specifies a file name and a file with that name\n"
+"              If the server specifies a file name and a file  with  that  name\n"
 , stdout);
  fputs(
-"              already exists in the current working directory it will  not  be\n"
+"              already  exists  in the current working directory it will not be\n"
 "              overwritten and an error will occur. If the server doesn't spec-\n"
 "              ify a file name then this option has no effect.\n"
 "\n"
-"              There's no attempt to decode %-sequences (yet) in  the  provided\n"
+"              There's  no  attempt to decode %-sequences (yet) in the provided\n"
 "              file name, so this option may provide you with rather unexpected\n"
 "              file names.\n"
 "\n"
-"              WARNING: Exercise judicious use of this  option,  especially  on\n"
+"              WARNING:  Exercise  judicious  use of this option, especially on\n"
 , stdout);
  fputs(
-"              Windows.  A  rogue  server  could  send you the name of a DLL or\n"
-"              other file that could possibly be loaded automatically  by  Win-\n"
+"              Windows. A rogue server could send you the  name  of  a  DLL  or\n"
+"              other  file  that could possibly be loaded automatically by Win-\n"
 "              dows or some third party software.\n"
 "\n"
 "       --remote-name-all\n"
-"              This  option changes the default action for all given URLs to be\n"
+"              This option changes the default action for all given URLs to  be\n"
 "              dealt with as if -O, --remote-name were used for each one. So if\n"
 "              you want to disable that for a specific URL after --remote-name-\n"
 , stdout);
@@ -2854,76 +2894,76 @@
 "              Added in 7.19.0.\n"
 "\n"
 "       -O, --remote-name\n"
-"              Write output to a local file named like the remote file we  get.\n"
-"              (Only  the file part of the remote file is used, the path is cut\n"
+"              Write  output to a local file named like the remote file we get.\n"
+"              (Only the file part of the remote file is used, the path is  cut\n"
 "              off.)\n"
 "\n"
-"              The file will be saved in the current working directory. If  you\n"
-"              want  the  file  saved  in  a different directory, make sure you\n"
+"              The  file will be saved in the current working directory. If you\n"
+"              want the file saved in a  different  directory,  make  sure  you\n"
 , stdout);
  fputs(
-"              change the current working directory before invoking  curl  with\n"
+"              change  the  current working directory before invoking curl with\n"
 "              this option.\n"
 "\n"
-"              The  remote  file  name  to use for saving is extracted from the\n"
-"              given URL, nothing else, and if it already  exists  it  will  be\n"
-"              overwritten.  If  you  want  the server to be able to choose the\n"
+"              The remote file name to use for saving  is  extracted  from  the\n"
+"              given  URL,  nothing  else,  and if it already exists it will be\n"
+"              overwritten. If you want the server to be  able  to  choose  the\n"
 "              file name refer to -J, --remote-header-name which can be used in\n"
 , stdout);
  fputs(
-"              addition  to  this option. If the server chooses a file name and\n"
+"              addition to this option. If the server chooses a file  name  and\n"
 "              that name already exists it will not be overwritten.\n"
 "\n"
 "              There is no URL decoding done on the file name. If it has %20 or\n"
-"              other  URL  encoded parts of the name, they will end up as-is as\n"
+"              other URL encoded parts of the name, they will end up  as-is  as\n"
 "              file name.\n"
 "\n"
-"              You may use this option as many times as the number of URLs  you\n"
+"              You  may use this option as many times as the number of URLs you\n"
 "              have.\n"
 "\n"
 "       -R, --remote-time\n"
 , stdout);
  fputs(
-"              When  used,  this will make curl attempt to figure out the time-\n"
-"              stamp of the remote file, and if that is available make the  lo-\n"
+"              When used, this will make curl attempt to figure out  the  time-\n"
+"              stamp  of the remote file, and if that is available make the lo-\n"
 "              cal file get that same timestamp.\n"
 "\n"
 "       --request-target\n"
-"              (HTTP)  Tells curl to use an alternative \"target\" (path) instead\n"
-"              of using the path as provided in the  URL.  Particularly  useful\n"
-"              when  wanting  to  issue  HTTP requests without leading slash or\n"
+"              (HTTP) Tells curl to use an alternative \"target\" (path)  instead\n"
+"              of  using  the  path as provided in the URL. Particularly useful\n"
+"              when wanting to issue HTTP requests  without  leading  slash  or\n"
 , stdout);
  fputs(
-"              other data that doesn't follow the  regular  URL  pattern,  like\n"
+"              other  data  that  doesn't  follow the regular URL pattern, like\n"
 "              \"OPTIONS *\".\n"
 "\n"
 "              Added in 7.55.0.\n"
 "\n"
 "       -X, --request <command>\n"
 "              (HTTP) Specifies a custom request method to use when communicat-\n"
-"              ing with the HTTP server.  The specified request method will  be\n"
-"              used  instead  of  the  method otherwise used (which defaults to\n"
-"              GET). Read the HTTP 1.1 specification for details  and  explana-\n"
+"              ing  with the HTTP server.  The specified request method will be\n"
+"              used instead of the method otherwise  used  (which  defaults  to\n"
+"              GET).  Read  the HTTP 1.1 specification for details and explana-\n"
 , stdout);
  fputs(
-"              tions.  Common  additional HTTP requests include PUT and DELETE,\n"
+"              tions. Common additional HTTP requests include PUT  and  DELETE,\n"
 "              but related technologies like WebDAV offers PROPFIND, COPY, MOVE\n"
 "              and more.\n"
 "\n"
-"              Normally  you  don't  need  this option. All sorts of GET, HEAD,\n"
+"              Normally you don't need this option. All  sorts  of  GET,  HEAD,\n"
 "              POST and PUT requests are rather invoked by using dedicated com-\n"
 "              mand line options.\n"
 "\n"
-"              This  option  only  changes the actual word used in the HTTP re-\n"
+"              This option only changes the actual word used in  the  HTTP  re-\n"
 , stdout);
  fputs(
 "              quest, it does not alter the way curl behaves. So for example if\n"
-"              you  want  to make a proper HEAD request, using -X HEAD will not\n"
+"              you want to make a proper HEAD request, using -X HEAD  will  not\n"
 "              suffice. You need to use the -I, --head option.\n"
 "\n"
-"              The method string you set with -X, --request will  be  used  for\n"
-"              all  requests,  which  if you for example use -L, --location may\n"
-"              cause unintended side-effects when curl doesn't  change  request\n"
+"              The  method  string  you set with -X, --request will be used for\n"
+"              all requests, which if you for example use  -L,  --location  may\n"
+"              cause  unintended  side-effects when curl doesn't change request\n"
 , stdout);
  fputs(
 "              method according to the HTTP 30x response codes - and similar.\n"
@@ -2934,7 +2974,7 @@
 "              (POP3) Specifies a custom POP3 command to use instead of LIST or\n"
 "              RETR. (Added in 7.26.0)\n"
 "\n"
-"              (IMAP)  Specifies  a custom IMAP command to use instead of LIST.\n"
+"              (IMAP) Specifies a custom IMAP command to use instead  of  LIST.\n"
 "              (Added in 7.30.0)\n"
 "\n"
 , stdout);
@@ -2945,22 +2985,22 @@
 "              If this option is used several times, the last one will be used.\n"
 "\n"
 "       --resolve <host:port:address[,address]...>\n"
-"              Provide  a custom address for a specific host and port pair. Us-\n"
-"              ing this, you can make the curl requests(s) use a specified  ad-\n"
-"              dress  and prevent the otherwise normally resolved address to be\n"
+"              Provide a custom address for a specific host and port pair.  Us-\n"
+"              ing  this, you can make the curl requests(s) use a specified ad-\n"
+"              dress and prevent the otherwise normally resolved address to  be\n"
 , stdout);
  fputs(
-"              used. Consider it a sort of /etc/hosts alternative  provided  on\n"
-"              the  command line. The port number should be the number used for\n"
-"              the specific protocol the host will be used for.  It  means  you\n"
+"              used.  Consider  it a sort of /etc/hosts alternative provided on\n"
+"              the command line. The port number should be the number used  for\n"
+"              the  specific  protocol  the host will be used for. It means you\n"
 "              need several entries if you want to provide address for the same\n"
 "              host but different ports.\n"
 "\n"
-"              By specifying '*' as host you can tell curl to resolve any  host\n"
+"              By  specifying '*' as host you can tell curl to resolve any host\n"
 , stdout);
  fputs(
 "              and specific port pair to the specified address. Wildcard is re-\n"
-"              solved last so any --resolve with a specific host and port  will\n"
+"              solved  last so any --resolve with a specific host and port will\n"
 "              be used first.\n"
 "\n"
 "              The provided address set by this option will be used even if -4,\n"
@@ -2970,7 +3010,7 @@
 "\n"
 , stdout);
  fputs(
-"              Support  for providing multiple IP addresses per entry was added\n"
+"              Support for providing multiple IP addresses per entry was  added\n"
 "              in 7.59.0.\n"
 "\n"
 "              Support for resolving with wildcard was added in 7.64.0.\n"
@@ -2981,8 +3021,8 @@
 "              Added in 7.21.3.\n"
 "\n"
 "       --retry-connrefused\n"
-"              In  addition to the other conditions, consider ECONNREFUSED as a\n"
-"              transient error too for --retry. This option  is  used  together\n"
+"              In addition to the other conditions, consider ECONNREFUSED as  a\n"
+"              transient  error  too  for --retry. This option is used together\n"
 , stdout);
  fputs(
 "              with --retry.\n"
@@ -2990,10 +3030,10 @@
 "              Added in 7.52.0.\n"
 "\n"
 "       --retry-delay <seconds>\n"
-"              Make  curl  sleep  this  amount of time before each retry when a\n"
-"              transfer has failed with a transient error (it changes  the  de-\n"
-"              fault  backoff  time  algorithm between retries). This option is\n"
-"              only interesting if --retry is also used. Setting this delay  to\n"
+"              Make curl sleep this amount of time before  each  retry  when  a\n"
+"              transfer  has  failed with a transient error (it changes the de-\n"
+"              fault backoff time algorithm between retries).  This  option  is\n"
+"              only  interesting if --retry is also used. Setting this delay to\n"
 "              zero will make curl use the default backoff time.\n"
 "\n"
 , stdout);
@@ -3003,13 +3043,13 @@
 "              Added in 7.12.3.\n"
 "\n"
 "       --retry-max-time <seconds>\n"
-"              The  retry timer is reset before the first transfer attempt. Re-\n"
-"              tries will be done as usual (see --retry) as long as  the  timer\n"
+"              The retry timer is reset before the first transfer attempt.  Re-\n"
+"              tries  will  be done as usual (see --retry) as long as the timer\n"
 "              hasn't reached this given limit. Notice that if the timer hasn't\n"
-"              reached the limit, the request will be made and  while  perform-\n"
+"              reached  the  limit, the request will be made and while perform-\n"
 , stdout);
  fputs(
-"              ing,  it may take longer than this given time period. To limit a\n"
+"              ing, it may take longer than this given time period. To limit  a\n"
 "              single request's maximum time, use -m, --max-time.  Set this op-\n"
 "              tion to zero to not timeout retries.\n"
 "\n"
@@ -3018,30 +3058,49 @@
 "              Added in 7.12.3.\n"
 "\n"
 "       --retry <num>\n"
-"              If  a  transient  error is returned when curl tries to perform a\n"
+"              If a transient error is returned when curl tries  to  perform  a\n"
 , stdout);
  fputs(
-"              transfer, it will retry this number of times before  giving  up.\n"
-"              Setting  the  number to 0 makes curl do no retries (which is the\n"
-"              default). Transient error means either: a timeout,  an  FTP  4xx\n"
+"              transfer,  it  will retry this number of times before giving up.\n"
+"              Setting the number to 0 makes curl do no retries (which  is  the\n"
+"              default).  Transient  error  means either: a timeout, an FTP 4xx\n"
 "              response code or an HTTP 408 or 5xx response code.\n"
 "\n"
-"              When  curl  is about to retry a transfer, it will first wait one\n"
-"              second and then for all forthcoming retries it will  double  the\n"
+"              When curl is about to retry a transfer, it will first  wait  one\n"
+"              second  and  then for all forthcoming retries it will double the\n"
 , stdout);
  fputs(
-"              waiting  time until it reaches 10 minutes which then will be the\n"
-"              delay between the rest of the retries.  By  using  --retry-delay\n"
-"              you   disable  this  exponential  backoff  algorithm.  See  also\n"
+"              waiting time until it reaches 10 minutes which then will be  the\n"
+"              delay  between  the rest of the retries.  By using --retry-delay\n"
+"              you  disable  this  exponential  backoff  algorithm.  See   also\n"
 "              --retry-max-time to limit the total time allowed for retries.\n"
 "\n"
+"              Since  curl  7.66.0,  curl will comply with the Retry-After: re-\n"
+"              sponse header if one was present to know when to issue the  next\n"
+"              retry.\n"
+"\n"
+, stdout);
+ fputs(
 "              If this option is used several times, the last one will be used.\n"
 "\n"
 "              Added in 7.12.3.\n"
 "\n"
-"       --sasl-ir\n"
+"       --sasl-authzid\n"
+"              Use this authorisation identity (authzid), during SASL PLAIN au-\n"
+"              thentication, in addition to the authentication identity  (auth-\n"
+"              cid) as specified by -u, --user.\n"
+"\n"
+"              If  the  option  isn't specified, the server will derive the au-\n"
+"              thzid from the authcid, but if specified, and depending  on  the\n"
 , stdout);
  fputs(
+"              server  implementation,  it may be used to access another user's\n"
+"              inbox, that the user has been granted access  to,  or  a  shared\n"
+"              mailbox for example.\n"
+"\n"
+"              Added in 7.66.0.\n"
+"\n"
+"       --sasl-ir\n"
 "              Enable initial response in SASL authentication.\n"
 "\n"
 "              Added in 7.31.0.\n"
@@ -3049,7 +3108,9 @@
 "       --service-name <name>\n"
 "              This option allows you to change the service name for SPNEGO.\n"
 "\n"
-"              Examples:   --negotiate   --service-name   sockd    would    use\n"
+, stdout);
+ fputs(
+"              Examples:    --negotiate    --service-name   sockd   would   use\n"
 "              sockd/server-name.\n"
 "\n"
 "              Added in 7.43.0.\n"
@@ -3057,33 +3118,33 @@
 "              When used with -s, --silent, it makes curl show an error message\n"
 "              if it fails.\n"
 "       -s, --silent\n"
+"              Silent  or  quiet  mode. Don't show progress meter or error mes-\n"
+"              sages.  Makes Curl mute. It will still output the data  you  ask\n"
 , stdout);
  fputs(
-"              Silent or quiet mode. Don't show progress meter  or  error  mes-\n"
-"              sages.   Makes  Curl mute. It will still output the data you ask\n"
 "              for, potentially even to the terminal/stdout unless you redirect\n"
 "              it.\n"
 "\n"
-"              Use  -S,  --show-error  in  addition  to  this option to disable\n"
+"              Use -S, --show-error in  addition  to  this  option  to  disable\n"
 "              progress meter but still show error messages.\n"
 "\n"
 "              See also -v, --verbose and --stderr.\n"
 "\n"
 "       --socks4 <host[:port]>\n"
-, stdout);
- fputs(
 "              Use the specified SOCKS4 proxy. If the port number is not speci-\n"
 "              fied, it is assumed at port 1080.\n"
 "\n"
-"              This  option  overrides any previous use of -x, --proxy, as they\n"
+, stdout);
+ fputs(
+"              This option overrides any previous use of -x, --proxy,  as  they\n"
 "              are mutually exclusive.\n"
 "\n"
 "              Since 7.21.7, this option is superfluous since you can specify a\n"
 "              socks4 proxy with -x, --proxy using a socks4:// protocol prefix.\n"
 "              Since 7.52.0, --preproxy can be used to specify a SOCKS proxy at\n"
+"              the  same  time -x, --proxy is used with an HTTP/HTTPS proxy. In\n"
 , stdout);
  fputs(
-"              the same time -x, --proxy is used with an HTTP/HTTPS  proxy.  In\n"
 "              such a case curl first connects to the SOCKS proxy and then con-\n"
 "              nects (through SOCKS) to the HTTP or HTTPS proxy.\n"
 "\n"
@@ -3095,20 +3156,20 @@
 "              Use the specified SOCKS4a proxy. If the port number is not spec-\n"
 "              ified, it is assumed at port 1080.\n"
 "\n"
+"              This option overrides any previous use of -x, --proxy,  as  they\n"
 , stdout);
  fputs(
-"              This  option  overrides any previous use of -x, --proxy, as they\n"
 "              are mutually exclusive.\n"
 "\n"
 "              Since 7.21.7, this option is superfluous since you can specify a\n"
-"              socks4a  proxy with -x, --proxy using a socks4a:// protocol pre-\n"
+"              socks4a proxy with -x, --proxy using a socks4a:// protocol  pre-\n"
 "              fix.\n"
 "\n"
 "              Since 7.52.0, --preproxy can be used to specify a SOCKS proxy at\n"
-"              the  same  time -x, --proxy is used with an HTTP/HTTPS proxy. In\n"
+"              the same time -x, --proxy is used with an HTTP/HTTPS  proxy.  In\n"
+"              such a case curl first connects to the SOCKS proxy and then con-\n"
 , stdout);
  fputs(
-"              such a case curl first connects to the SOCKS proxy and then con-\n"
 "              nects (through SOCKS) to the HTTP or HTTPS proxy.\n"
 "\n"
 "              If this option is used several times, the last one will be used.\n"
@@ -3117,127 +3178,125 @@
 "\n"
 "       --socks5-basic\n"
 "              Tells curl to use username/password authentication when connect-\n"
-"              ing to a SOCKS5 proxy.  The username/password authentication  is\n"
-, stdout);
- fputs(
-"              enabled  by  default.   Use --socks5-gssapi to force GSS-API au-\n"
+"              ing  to a SOCKS5 proxy.  The username/password authentication is\n"
+"              enabled by default.  Use --socks5-gssapi to  force  GSS-API  au-\n"
 "              thentication to SOCKS5 proxies.\n"
 "\n"
+, stdout);
+ fputs(
 "              Added in 7.55.0.\n"
 "\n"
 "       --socks5-gssapi-nec\n"
-"              As part of the GSS-API negotiation a protection mode is  negoti-\n"
-"              ated.  RFC  1961 says in section 4.3/4.4 it should be protected,\n"
-"              but the NEC  reference  implementation  does  not.   The  option\n"
-, stdout);
- fputs(
-"              --socks5-gssapi-nec  allows the unprotected exchange of the pro-\n"
+"              As  part of the GSS-API negotiation a protection mode is negoti-\n"
+"              ated. RFC 1961 says in section 4.3/4.4 it should  be  protected,\n"
+"              but  the  NEC  reference  implementation  does  not.  The option\n"
+"              --socks5-gssapi-nec allows the unprotected exchange of the  pro-\n"
 "              tection mode negotiation.\n"
 "\n"
 "              Added in 7.19.4.\n"
 "\n"
 "       --socks5-gssapi-service <name>\n"
+, stdout);
+ fputs(
 "              The default service name for a socks server is rcmd/server-fqdn.\n"
 "              This option allows you to change it.\n"
 "\n"
-"              Examples:   --socks5  proxy-name  --socks5-gssapi-service  sockd\n"
-"              would use sockd/proxy-name --socks5 proxy-name  --socks5-gssapi-\n"
-, stdout);
- fputs(
-"              service  sockd/real-name  would  use  sockd/real-name  for cases\n"
+"              Examples:  --socks5  proxy-name  --socks5-gssapi-service   sockd\n"
+"              would  use sockd/proxy-name --socks5 proxy-name --socks5-gssapi-\n"
+"              service sockd/real-name  would  use  sockd/real-name  for  cases\n"
 "              where the proxy-name does not match the principal name.\n"
 "\n"
 "              Added in 7.19.4.\n"
 "\n"
 "       --socks5-gssapi\n"
-"              Tells curl to use GSS-API authentication when  connecting  to  a\n"
-"              SOCKS5  proxy.  The GSS-API authentication is enabled by default\n"
-"              (if curl is compiled with GSS-API support).  Use  --socks5-basic\n"
 , stdout);
  fputs(
+"              Tells  curl  to  use GSS-API authentication when connecting to a\n"
+"              SOCKS5 proxy.  The GSS-API authentication is enabled by  default\n"
+"              (if  curl is compiled with GSS-API support).  Use --socks5-basic\n"
 "              to force username/password authentication to SOCKS5 proxies.\n"
 "\n"
 "              Added in 7.55.0.\n"
 "\n"
 "       --socks5-hostname <host[:port]>\n"
-"              Use  the  specified  SOCKS5 proxy (and let the proxy resolve the\n"
-"              host name). If the port number is not specified, it  is  assumed\n"
-"              at port 1080.\n"
-"\n"
-"              This  option  overrides any previous use of -x, --proxy, as they\n"
-"              are mutually exclusive.\n"
-"\n"
+"              Use the specified SOCKS5 proxy (and let the  proxy  resolve  the\n"
 , stdout);
  fputs(
+"              host  name).  If the port number is not specified, it is assumed\n"
+"              at port 1080.\n"
+"\n"
+"              This option overrides any previous use of -x, --proxy,  as  they\n"
+"              are mutually exclusive.\n"
+"\n"
 "              Since 7.21.7, this option is superfluous since you can specify a\n"
 "              socks5 hostname proxy with -x, --proxy using a socks5h:// proto-\n"
 "              col prefix.\n"
 "\n"
 "              Since 7.52.0, --preproxy can be used to specify a SOCKS proxy at\n"
-"              the  same  time -x, --proxy is used with an HTTP/HTTPS proxy. In\n"
+, stdout);
+ fputs(
+"              the same time -x, --proxy is used with an HTTP/HTTPS  proxy.  In\n"
 "              such a case curl first connects to the SOCKS proxy and then con-\n"
 "              nects (through SOCKS) to the HTTP or HTTPS proxy.\n"
 "\n"
-, stdout);
- fputs(
 "              If this option is used several times, the last one will be used.\n"
 "\n"
 "              Added in 7.18.0.\n"
 "\n"
 "       --socks5 <host[:port]>\n"
-"              Use  the  specified SOCKS5 proxy - but resolve the host name lo-\n"
-"              cally. If the port number is not specified,  it  is  assumed  at\n"
-"              port 1080.\n"
-"\n"
-"              This  option  overrides any previous use of -x, --proxy, as they\n"
-"              are mutually exclusive.\n"
-"\n"
+"              Use the specified SOCKS5 proxy - but resolve the host  name  lo-\n"
 , stdout);
  fputs(
+"              cally.  If  the  port  number is not specified, it is assumed at\n"
+"              port 1080.\n"
+"\n"
+"              This option overrides any previous use of -x, --proxy,  as  they\n"
+"              are mutually exclusive.\n"
+"\n"
 "              Since 7.21.7, this option is superfluous since you can specify a\n"
 "              socks5 proxy with -x, --proxy using a socks5:// protocol prefix.\n"
 "              Since 7.52.0, --preproxy can be used to specify a SOCKS proxy at\n"
-"              the same time -x, --proxy is used with an HTTP/HTTPS  proxy.  In\n"
+, stdout);
+ fputs(
+"              the  same  time -x, --proxy is used with an HTTP/HTTPS proxy. In\n"
 "              such a case curl first connects to the SOCKS proxy and then con-\n"
 "              nects (through SOCKS) to the HTTP or HTTPS proxy.\n"
 "\n"
-, stdout);
- fputs(
 "              If this option is used several times, the last one will be used.\n"
-"              This option (as well as --socks4) does not work with IPV6,  FTPS\n"
+"              This  option (as well as --socks4) does not work with IPV6, FTPS\n"
 "              or LDAP.\n"
 "\n"
 "              Added in 7.18.0.\n"
 "\n"
 "       -Y, --speed-limit <speed>\n"
-"              If a download is slower than this given speed (in bytes per sec-\n"
-"              ond) for speed-time seconds it gets aborted. speed-time  is  set\n"
-"              with -y, --speed-time and is 30 if not set.\n"
-"\n"
 , stdout);
  fputs(
+"              If a download is slower than this given speed (in bytes per sec-\n"
+"              ond)  for  speed-time seconds it gets aborted. speed-time is set\n"
+"              with -y, --speed-time and is 30 if not set.\n"
+"\n"
 "              If this option is used several times, the last one will be used.\n"
 "\n"
 "       -y, --speed-time <seconds>\n"
 "              If a download is slower than speed-limit bytes per second during\n"
 "              a speed-time period, the download gets aborted. If speed-time is\n"
-"              used,  the  default  speed-limit  will  be 1 unless set with -Y,\n"
-"              --speed-limit.\n"
-"\n"
-"              This option controls transfers and thus  will  not  affect  slow\n"
 , stdout);
  fputs(
-"              connects  etc.  If this is a concern for you, try the --connect-\n"
+"              used, the default speed-limit will be  1  unless  set  with  -Y,\n"
+"              --speed-limit.\n"
+"\n"
+"              This  option  controls  transfers  and thus will not affect slow\n"
+"              connects etc. If this is a concern for you, try  the  --connect-\n"
 "              timeout option.\n"
 "\n"
 "              If this option is used several times, the last one will be used.\n"
 "\n"
 "       --ssl-allow-beast\n"
 "              This option tells curl to not work around a security flaw in the\n"
-"              SSL3  and TLS1.0 protocols known as BEAST.  If this option isn't\n"
-"              used, the SSL layer may use workarounds known to cause  interop-\n"
 , stdout);
  fputs(
+"              SSL3 and TLS1.0 protocols known as BEAST.  If this option  isn't\n"
+"              used,  the SSL layer may use workarounds known to cause interop-\n"
 "              erability problems with some older SSL implementations. WARNING:\n"
 "              this option loosens the SSL security, and by using this flag you\n"
 "              ask for exactly that.\n"
@@ -3246,13 +3305,13 @@
 "\n"
 "       --ssl-no-revoke\n"
 "              (Schannel) This option tells curl to disable certificate revoca-\n"
+, stdout);
+ fputs(
 "              tion checks.  WARNING: this option loosens the SSL security, and\n"
 "              by using this flag you ask for exactly that.\n"
 "\n"
 "              Added in 7.44.0.\n"
 "\n"
-, stdout);
- fputs(
 "       --ssl-reqd\n"
 "              (FTP IMAP POP3 SMTP) Require SSL/TLS for the connection.  Termi-\n"
 "              nates the connection if the server doesn't support SSL/TLS.\n"
@@ -3261,45 +3320,45 @@
 "\n"
 "              Added in 7.20.0.\n"
 "\n"
-"       --ssl  (FTP IMAP POP3 SMTP) Try to use SSL/TLS for the connection.  Re-\n"
-"              verts  to  a non-secure connection if the server doesn't support\n"
 , stdout);
  fputs(
-"              SSL/TLS.  See also --ftp-ssl-control and --ssl-reqd for  differ-\n"
+"       --ssl  (FTP IMAP POP3 SMTP) Try to use SSL/TLS for the connection.  Re-\n"
+"              verts to a non-secure connection if the server  doesn't  support\n"
+"              SSL/TLS.   See also --ftp-ssl-control and --ssl-reqd for differ-\n"
 "              ent levels of encryption required.\n"
 "\n"
-"              This  option  was formerly known as --ftp-ssl (Added in 7.11.0).\n"
-"              That option name can still be used but will be removed in a  fu-\n"
+"              This option was formerly known as --ftp-ssl (Added  in  7.11.0).\n"
+"              That  option name can still be used but will be removed in a fu-\n"
 "              ture version.\n"
 "\n"
+, stdout);
+ fputs(
 "              Added in 7.20.0.\n"
 "\n"
 "       -2, --sslv2\n"
-"              (SSL)  Forces  curl to use SSL version 2 when negotiating with a\n"
-, stdout);
- fputs(
-"              remote SSL server. Sometimes curl is built  without  SSLv2  sup-\n"
+"              (SSL) Forces curl to use SSL version 2 when negotiating  with  a\n"
+"              remote  SSL  server.  Sometimes curl is built without SSLv2 sup-\n"
 "              port. SSLv2 is widely considered insecure (see RFC 6176).\n"
 "\n"
-"              See  also  --http1.1  and --http2. -2, --sslv2 requires that the\n"
-"              underlying libcurl was built to support TLS. This  option  over-\n"
+"              See also --http1.1 and --http2. -2, --sslv2  requires  that  the\n"
+"              underlying  libcurl  was built to support TLS. This option over-\n"
+, stdout);
+ fputs(
 "              rides -3, --sslv3 and -1, --tlsv1 and --tlsv1.1 and --tlsv1.2.\n"
 "\n"
 "       -3, --sslv3\n"
-"              (SSL)  Forces  curl to use SSL version 3 when negotiating with a\n"
-, stdout);
- fputs(
-"              remote SSL server. Sometimes curl is built  without  SSLv3  sup-\n"
+"              (SSL) Forces curl to use SSL version 3 when negotiating  with  a\n"
+"              remote  SSL  server.  Sometimes curl is built without SSLv3 sup-\n"
 "              port. SSLv3 is widely considered insecure (see RFC 7568).\n"
 "\n"
-"              See  also  --http1.1  and --http2. -3, --sslv3 requires that the\n"
-"              underlying libcurl was built to support TLS. This  option  over-\n"
+"              See also --http1.1 and --http2. -3, --sslv3  requires  that  the\n"
+"              underlying  libcurl  was built to support TLS. This option over-\n"
+, stdout);
+ fputs(
 "              rides -2, --sslv2 and -1, --tlsv1 and --tlsv1.1 and --tlsv1.2.\n"
 "\n"
 "       --stderr\n"
-"              Redirect  all writes to stderr to the specified file instead. If\n"
-, stdout);
- fputs(
+"              Redirect all writes to stderr to the specified file instead.  If\n"
 "              the file name is a plain '-', it is instead written to stdout.\n"
 "\n"
 "              If this option is used several times, the last one will be used.\n"
@@ -3307,24 +3366,24 @@
 "              See also -v, --verbose and -s, --silent.\n"
 "\n"
 "       --styled-output\n"
-"              Enables the automatic use of bold font styles when writing  HTTP\n"
-"              headers  to  the terminal. Use --no-styled-output to switch them\n"
+"              Enables  the automatic use of bold font styles when writing HTTP\n"
+, stdout);
+ fputs(
+"              headers to the terminal. Use --no-styled-output to  switch  them\n"
 "              off.\n"
 "\n"
 "              Added in 7.61.0.\n"
 "\n"
 "       --suppress-connect-headers\n"
+"              When  -p,  --proxytunnel  is  used and a CONNECT request is made\n"
+"              don't output proxy CONNECT  response  headers.  This  option  is\n"
+"              meant  to  be used with -D, --dump-header or -i, --include which\n"
+"              are used to show protocol headers in the output. It has  no  ef-\n"
 , stdout);
  fputs(
-"              When -p, --proxytunnel is used and a  CONNECT  request  is  made\n"
-"              don't  output  proxy  CONNECT  response  headers. This option is\n"
-"              meant to be used with -D, --dump-header or -i,  --include  which\n"
-"              are  used  to show protocol headers in the output. It has no ef-\n"
-"              fect on debug options such as -v, --verbose or --trace,  or  any\n"
+"              fect  on  debug options such as -v, --verbose or --trace, or any\n"
 "              statistics.\n"
 "\n"
-, stdout);
- fputs(
 "              See also -D, --dump-header and -i, --include and -p, --proxytun-\n"
 "              nel.\n"
 "\n"
@@ -3334,12 +3393,12 @@
 "              Added in 7.49.0.\n"
 "\n"
 "       --tcp-nodelay\n"
-"              Turn on the TCP_NODELAY option. See the curl_easy_setopt(3)  man\n"
+"              Turn  on the TCP_NODELAY option. See the curl_easy_setopt(3) man\n"
 "              page for details about this option.\n"
 "\n"
-"              Since  7.50.2,  curl sets this option by default and you need to\n"
 , stdout);
  fputs(
+"              Since 7.50.2, curl sets this option by default and you  need  to\n"
 "              explicitly switch it off if you don't want it on.\n"
 "\n"
 "              Added in 7.11.2.\n"
@@ -3354,9 +3413,9 @@
 "              NEW_ENV=<var,val> Sets an environment variable.\n"
 "\n"
 "       --tftp-blksize <value>\n"
-"              (TFTP) Set TFTP BLKSIZE option (must be >512). This is the block\n"
 , stdout);
  fputs(
+"              (TFTP) Set TFTP BLKSIZE option (must be >512). This is the block\n"
 "              size that curl will try to use when transferring data to or from\n"
 "              a TFTP server. By default 512 bytes will be used.\n"
 "\n"
@@ -3367,46 +3426,46 @@
 "       --tftp-no-options\n"
 "              (TFTP) Tells curl not to send TFTP options requests.\n"
 "\n"
-"              This option improves interop with some legacy  servers  that  do\n"
 , stdout);
  fputs(
-"              not  acknowledge  or  properly implement TFTP options. When this\n"
+"              This  option  improves  interop with some legacy servers that do\n"
+"              not acknowledge or properly implement TFTP  options.  When  this\n"
 "              option is used --tftp-blksize is ignored.\n"
 "\n"
 "              Added in 7.48.0.\n"
 "\n"
 "       -z, --time-cond <time>\n"
-"              (HTTP FTP) Request a file that has been modified later than  the\n"
-"              given  time  and date, or one that has been modified before that\n"
-"              time. The <date expression> can be all sorts of date strings  or\n"
+"              (HTTP  FTP) Request a file that has been modified later than the\n"
+"              given time and date, or one that has been modified  before  that\n"
 , stdout);
  fputs(
+"              time.  The <date expression> can be all sorts of date strings or\n"
 "              if it doesn't match any internal ones, it is taken as a filename\n"
-"              and tries to get the modification date (mtime) from  <file>  in-\n"
+"              and  tries  to get the modification date (mtime) from <file> in-\n"
 "              stead. See the curl_getdate(3) man pages for date expression de-\n"
 "              tails.\n"
 "\n"
 "              Start the date expression with a dash (-) to make it request for\n"
-"              a  document that is older than the given date/time, default is a\n"
-"              document that is newer than the specified date/time.\n"
-"\n"
+"              a document that is older than the given date/time, default is  a\n"
 , stdout);
  fputs(
+"              document that is newer than the specified date/time.\n"
+"\n"
 "              If this option is used several times, the last one will be used.\n"
 "\n"
 "       --tls-max <VERSION>\n"
 "              (SSL) VERSION defines maximum supported TLS version. The minimum\n"
-"              acceptable  version  is  set  by  tlsv1.0,  tlsv1.1,  tlsv1.2 or\n"
+"              acceptable version  is  set  by  tlsv1.0,  tlsv1.1,  tlsv1.2  or\n"
 "              tlsv1.3.\n"
 "\n"
 "              default\n"
 "                     Use up to recommended TLS version.\n"
 "\n"
 "              1.0    Use up to TLSv1.0.\n"
-"              1.1    Use up to TLSv1.1.\n"
-"              1.2    Use up to TLSv1.2.\n"
 , stdout);
  fputs(
+"              1.1    Use up to TLSv1.1.\n"
+"              1.2    Use up to TLSv1.2.\n"
 "              1.3    Use up to TLSv1.3.\n"
 "\n"
 "       See also --tlsv1.0 and --tlsv1.1 and --tlsv1.2 and --tlsv1.3. --tls-max\n"
@@ -3414,128 +3473,128 @@
 "       7.54.0.\n"
 "\n"
 "       --tls13-ciphers <list of TLS 1.3 ciphersuites>\n"
-"              (TLS) Specifies which cipher suites to use in the connection  if\n"
-"              it  negotiates  TLS 1.3. The list of ciphers suites must specify\n"
+"              (TLS)  Specifies which cipher suites to use in the connection if\n"
 , stdout);
  fputs(
-"              valid ciphers. Read up on TLS 1.3 cipher suite details  on  this\n"
+"              it negotiates TLS 1.3. The list of ciphers suites  must  specify\n"
+"              valid  ciphers.  Read up on TLS 1.3 cipher suite details on this\n"
 "              URL:\n"
 "\n"
 "               https://curl.haxx.se/docs/ssl-ciphers.html\n"
 "\n"
-"              This  option  is  currently  used only when curl is built to use\n"
+"              This option is currently used only when curl  is  built  to  use\n"
 "              OpenSSL 1.1.1 or later. If you are using a different SSL backend\n"
 "              you can try setting TLS 1.3 cipher suites by using the --ciphers\n"
 "              option.\n"
 "\n"
+, stdout);
+ fputs(
 "              If this option is used several times, the last one will be used.\n"
 "\n"
+"       --tlsauthtype <type>\n"
+"              Set  TLS  authentication type. Currently, the only supported op-\n"
+"              tion  is  \"SRP\",  for  TLS-SRP  (RFC  5054).  If  --tlsuser  and\n"
+"              --tlspassword  are specified but --tlsauthtype is not, then this\n"
+"              option defaults to \"SRP\".  This option works only if the  under-\n"
 , stdout);
  fputs(
-"       --tlsauthtype <type>\n"
-"              Set TLS authentication type. Currently, the only  supported  op-\n"
-"              tion  is  \"SRP\",  for  TLS-SRP  (RFC  5054).  If  --tlsuser  and\n"
-"              --tlspassword are specified but --tlsauthtype is not, then  this\n"
-"              option  defaults to \"SRP\".  This option works only if the under-\n"
-"              lying libcurl is built  with  TLS-SRP  support,  which  requires\n"
+"              lying  libcurl  is  built  with  TLS-SRP support, which requires\n"
 "              OpenSSL or GnuTLS with TLS-SRP support.\n"
 "\n"
-, stdout);
- fputs(
 "              Added in 7.21.4.\n"
 "\n"
 "       --tlspassword\n"
-"              Set  password  for use with the TLS authentication method speci-\n"
+"              Set password for use with the TLS authentication  method  speci-\n"
 "              fied with --tlsauthtype. Requires that --tlsuser also be set.\n"
 "\n"
 "              Added in 7.21.4.\n"
 "       --tlsuser <name>\n"
-"              Set username for use with the TLS authentication  method  speci-\n"
-"              fied  with  --tlsauthtype.  Requires  that --tlspassword also is\n"
+"              Set  username  for use with the TLS authentication method speci-\n"
+, stdout);
+ fputs(
+"              fied with --tlsauthtype. Requires  that  --tlspassword  also  is\n"
 "              set.\n"
 "\n"
 "              Added in 7.21.4.\n"
 "\n"
 "       --tlsv1.0\n"
-, stdout);
- fputs(
-"              (TLS) Forces curl to use TLS version 1.0 or later when  connect-\n"
+"              (TLS)  Forces curl to use TLS version 1.0 or later when connect-\n"
 "              ing to a remote TLS server.\n"
 "\n"
-"              In  old  versions  of  curl  this option was documented to allow\n"
-"              _only_ TLS 1.0, but behavior was inconsistent depending  on  the\n"
+"              In old versions of curl this  option  was  documented  to  allow\n"
+"              _only_  TLS  1.0, but behavior was inconsistent depending on the\n"
+, stdout);
+ fputs(
 "              TLS library. Use --tls-max if you want to set a maximum TLS ver-\n"
 "              sion.\n"
 "\n"
 "              Added in 7.34.0.\n"
 "\n"
 "       --tlsv1.1\n"
-, stdout);
- fputs(
-"              (TLS) Forces curl to use TLS version 1.1 or later when  connect-\n"
+"              (TLS)  Forces curl to use TLS version 1.1 or later when connect-\n"
 "              ing to a remote TLS server.\n"
 "\n"
-"              In  old  versions  of  curl  this option was documented to allow\n"
-"              _only_ TLS 1.1, but behavior was inconsistent depending  on  the\n"
+"              In old versions of curl this  option  was  documented  to  allow\n"
+"              _only_  TLS  1.1, but behavior was inconsistent depending on the\n"
+, stdout);
+ fputs(
 "              TLS library. Use --tls-max if you want to set a maximum TLS ver-\n"
 "              sion.\n"
 "\n"
 "              Added in 7.34.0.\n"
 "\n"
 "       --tlsv1.2\n"
-, stdout);
- fputs(
-"              (TLS) Forces curl to use TLS version 1.2 or later when  connect-\n"
+"              (TLS)  Forces curl to use TLS version 1.2 or later when connect-\n"
 "              ing to a remote TLS server.\n"
 "\n"
-"              In  old  versions  of  curl  this option was documented to allow\n"
-"              _only_ TLS 1.2, but behavior was inconsistent depending  on  the\n"
+"              In old versions of curl this  option  was  documented  to  allow\n"
+"              _only_  TLS  1.2, but behavior was inconsistent depending on the\n"
+, stdout);
+ fputs(
 "              TLS library. Use --tls-max if you want to set a maximum TLS ver-\n"
 "              sion.\n"
 "\n"
 "              Added in 7.34.0.\n"
 "\n"
 "       --tlsv1.3\n"
-, stdout);
- fputs(
-"              (TLS) Forces curl to use TLS version 1.3 or later when  connect-\n"
+"              (TLS)  Forces curl to use TLS version 1.3 or later when connect-\n"
 "              ing to a remote TLS server.\n"
 "\n"
 "              Note that TLS 1.3 is only supported by a subset of TLS backends.\n"
 "              At the time of this writing, they are BoringSSL, NSS, and Secure\n"
+, stdout);
+ fputs(
 "              Transport (on iOS 11 or later, and macOS 10.13 or later).\n"
 "\n"
 "              Added in 7.52.0.\n"
 "\n"
 "       -1, --tlsv1\n"
-"              (SSL)  Tells curl to use at least TLS version 1.x when negotiat-\n"
-, stdout);
- fputs(
-"              ing with a remote TLS server. That  means  TLS  version  1.0  or\n"
+"              (SSL) Tells curl to use at least TLS version 1.x when  negotiat-\n"
+"              ing  with  a  remote  TLS  server. That means TLS version 1.0 or\n"
 "              higher\n"
 "\n"
-"              See  also  --http1.1  and --http2. -1, --tlsv1 requires that the\n"
-"              underlying libcurl was built to support TLS. This  option  over-\n"
+"              See also --http1.1 and --http2. -1, --tlsv1  requires  that  the\n"
+"              underlying  libcurl  was built to support TLS. This option over-\n"
+, stdout);
+ fputs(
 "              rides --tlsv1.1 and --tlsv1.2 and --tlsv1.3.\n"
 "\n"
 "       --tr-encoding\n"
 "              (HTTP) Request a compressed Transfer-Encoding response using one\n"
-"              of the algorithms curl supports, and uncompress the  data  while\n"
-, stdout);
- fputs(
+"              of  the  algorithms curl supports, and uncompress the data while\n"
 "              receiving it.\n"
 "\n"
 "              Added in 7.21.6.\n"
 "\n"
 "       --trace-ascii <file>\n"
 "              Enables a full trace dump of all incoming and outgoing data, in-\n"
-"              cluding descriptive information, to the given output  file.  Use\n"
+"              cluding  descriptive  information, to the given output file. Use\n"
+, stdout);
+ fputs(
 "              \"-\" as filename to have the output sent to stdout.\n"
 "\n"
 "              This is very similar to --trace, but leaves out the hex part and\n"
-"              only shows the ASCII part of the dump. It makes  smaller  output\n"
-, stdout);
- fputs(
+"              only  shows  the ASCII part of the dump. It makes smaller output\n"
 "              that might be easier to read for untrained humans.\n"
 "\n"
 "              If this option is used several times, the last one will be used.\n"
@@ -3543,214 +3602,216 @@
 "              This option overrides --trace and -v, --verbose.\n"
 "\n"
 "       --trace-time\n"
-"              Prepends  a  time  stamp to each trace or verbose line that curl\n"
+, stdout);
+ fputs(
+"              Prepends a time stamp to each trace or verbose  line  that  curl\n"
 "              displays.\n"
 "\n"
 "              Added in 7.14.0.\n"
 "\n"
 "       --trace <file>\n"
 "              Enables a full trace dump of all incoming and outgoing data, in-\n"
-, stdout);
- fputs(
-"              cluding  descriptive  information, to the given output file. Use\n"
-"              \"-\" as filename to have the output sent to stdout.  Use  \"%\"  as\n"
+"              cluding descriptive information, to the given output  file.  Use\n"
+"              \"-\"  as  filename  to have the output sent to stdout. Use \"%\" as\n"
 "              filename to have the output sent to stderr.\n"
 "\n"
+, stdout);
+ fputs(
 "              If this option is used several times, the last one will be used.\n"
 "\n"
 "              This option overrides -v, --verbose and --trace-ascii.\n"
 "\n"
 "       --unix-socket <path>\n"
 "              (HTTP) Connect through this Unix domain socket, instead of using\n"
-, stdout);
- fputs(
 "              the network.\n"
 "\n"
 "              Added in 7.40.0.\n"
 "\n"
 "       -T, --upload-file <file>\n"
-"              This transfers the specified local file to the  remote  URL.  If\n"
-"              there is no file part in the specified URL, curl will append the\n"
-"              local file name. NOTE that you must use a trailing / on the last\n"
-"              directory  to really prove to Curl that there is no file name or\n"
-"              curl will think that your last directory name is the remote file\n"
+"              This  transfers  the  specified local file to the remote URL. If\n"
 , stdout);
  fputs(
+"              there is no file part in the specified URL, curl will append the\n"
+"              local file name. NOTE that you must use a trailing / on the last\n"
+"              directory to really prove to Curl that there is no file name  or\n"
+"              curl will think that your last directory name is the remote file\n"
 "              name to use. That will most likely cause the upload operation to\n"
 "              fail. If this is used on an HTTP(S) server, the PUT command will\n"
 "              be used.\n"
 "\n"
-"              Use  the file name \"-\" (a single dash) to use stdin instead of a\n"
-"              given file.  Alternately, the file name \".\"  (a  single  period)\n"
-"              may  be  specified  instead  of \"-\" to use stdin in non-blocking\n"
-"              mode to allow reading server output while  stdin  is  being  up-\n"
 , stdout);
  fputs(
+"              Use the file name \"-\" (a single dash) to use stdin instead of  a\n"
+"              given  file.   Alternately,  the file name \".\" (a single period)\n"
+"              may be specified instead of \"-\" to  use  stdin  in  non-blocking\n"
+"              mode  to  allow  reading  server output while stdin is being up-\n"
 "              loaded.\n"
 "\n"
-"              You  can  specify one -T, --upload-file for each URL on the com-\n"
-"              mand line. Each -T, --upload-file + URL pair specifies  what  to\n"
-"              upload  and  to  where. curl also supports \"globbing\" of the -T,\n"
-"              --upload-file argument, meaning that  you  can  upload  multiple\n"
-"              files  to a single URL by using the same URL globbing style sup-\n"
-"              ported in the URL, like this:\n"
-"\n"
+"              You can specify one -T, --upload-file for each URL on  the  com-\n"
+"              mand  line.  Each -T, --upload-file + URL pair specifies what to\n"
 , stdout);
  fputs(
+"              upload and to where. curl also supports \"globbing\"  of  the  -T,\n"
+"              --upload-file  argument,  meaning  that  you can upload multiple\n"
+"              files to a single URL by using the same URL globbing style  sup-\n"
+"              ported in the URL, like this:\n"
+"\n"
 "               curl --upload-file \"{file1,file2}\" http://www.example.com\n"
 "\n"
 "              or even\n"
 "\n"
 "               curl -T \"img[1-1000].png\" ftp://ftp.example.com/upload/\n"
 "\n"
-"              When uploading to an SMTP server: the uploaded data  is  assumed\n"
+, stdout);
+ fputs(
+"              When  uploading  to an SMTP server: the uploaded data is assumed\n"
 "              to be RFC 5322 formatted. It has to feature the necessary set of\n"
-"              headers and mail body formatted correctly by the  user  as  curl\n"
+"              headers  and  mail  body formatted correctly by the user as curl\n"
 "              will not transcode nor encode it further in any way.\n"
 "\n"
 "       --url <url>\n"
-, stdout);
- fputs(
-"              Specify  a  URL  to  fetch. This option is mostly handy when you\n"
+"              Specify a URL to fetch. This option is  mostly  handy  when  you\n"
 "              want to specify URL(s) in a config file.\n"
 "\n"
-"              If the given URL is missing a scheme name (such as \"http://\"  or\n"
-"              \"ftp://\"  etc) then curl will make a guess based on the host. If\n"
-"              the outermost sub-domain name matches  DICT,  FTP,  IMAP,  LDAP,\n"
-"              POP3  or  SMTP  then  that protocol will be used, otherwise HTTP\n"
 , stdout);
  fputs(
+"              If  the given URL is missing a scheme name (such as \"http://\" or\n"
+"              \"ftp://\" etc) then curl will make a guess based on the host.  If\n"
+"              the  outermost  sub-domain  name  matches DICT, FTP, IMAP, LDAP,\n"
+"              POP3 or SMTP then that protocol will  be  used,  otherwise  HTTP\n"
 "              will be used. Since 7.45.0 guessing can be disabled by setting a\n"
 "              default protocol, see --proto-default for details.\n"
 "\n"
-"              This  option  may  be used any number of times. To control where\n"
-"              this URL is written, use the -o, --output or the  -O,  --remote-\n"
+, stdout);
+ fputs(
+"              This option may be used any number of times.  To  control  where\n"
+"              this  URL  is written, use the -o, --output or the -O, --remote-\n"
 "              name options.\n"
 "\n"
 "       -B, --use-ascii\n"
-"              (FTP  LDAP) Enable ASCII transfer. For FTP, this can also be en-\n"
-, stdout);
- fputs(
-"              forced by using a URL that  ends  with  \";type=A\".  This  option\n"
+"              (FTP LDAP) Enable ASCII transfer. For FTP, this can also be  en-\n"
+"              forced  by  using  a  URL  that ends with \";type=A\". This option\n"
 "              causes data sent to stdout to be in text mode for win32 systems.\n"
 "\n"
 "       -A, --user-agent <name>\n"
-"              (HTTP) Specify the User-Agent string to send to the HTTP server.\n"
-"              To encode blanks in the string, surround the string with  single\n"
-"              quote  marks.  This header can also be set with the -H, --header\n"
-"              or the --proxy-header options.\n"
-"\n"
 , stdout);
  fputs(
+"              (HTTP) Specify the User-Agent string to send to the HTTP server.\n"
+"              To  encode blanks in the string, surround the string with single\n"
+"              quote marks. This header can also be set with the  -H,  --header\n"
+"              or the --proxy-header options.\n"
+"\n"
 "              If this option is used several times, the last one will be used.\n"
 "\n"
 "       -u, --user <user:password>\n"
 "              Specify the user name and password to use for server authentica-\n"
-"              tion. Overrides -n, --netrc and --netrc-optional.\n"
-"\n"
-"              If  you  simply  specify  the  user name, curl will prompt for a\n"
-"              password.\n"
-"\n"
-"              The user name and passwords are split up  on  the  first  colon,\n"
 , stdout);
  fputs(
-"              which  makes  it impossible to use a colon in the user name with\n"
+"              tion. Overrides -n, --netrc and --netrc-optional.\n"
+"\n"
+"              If you simply specify the user name,  curl  will  prompt  for  a\n"
+"              password.\n"
+"\n"
+"              The  user  name  and  passwords are split up on the first colon,\n"
+"              which makes it impossible to use a colon in the user  name  with\n"
 "              this option. The password can, still.\n"
 "\n"
 "              On systems where it works, curl will hide the given option argu-\n"
-"              ment  from  process listings. This is not enough to protect cre-\n"
-"              dentials from possibly getting seen by other users on  the  same\n"
-"              system  as  they will still be visible for a brief moment before\n"
 , stdout);
  fputs(
+"              ment from process listings. This is not enough to  protect  cre-\n"
+"              dentials  from  possibly getting seen by other users on the same\n"
+"              system as they will still be visible for a brief  moment  before\n"
 "              cleared. Such sensitive data should be retrieved from a file in-\n"
 "              stead or similar and never used in clear text in a command line.\n"
-"              When  using  Kerberos  V5 with a Windows based server you should\n"
-"              include the Windows domain name in the user name, in  order  for\n"
-"              the  server  to  successfully  obtain  a Kerberos Ticket. If you\n"
+"              When using Kerberos V5 with a Windows based  server  you  should\n"
+, stdout);
+ fputs(
+"              include  the  Windows domain name in the user name, in order for\n"
+"              the server to successfully obtain  a  Kerberos  Ticket.  If  you\n"
 "              don't then the initial authentication handshake may fail.\n"
 "\n"
+"              When  using  NTLM,  the user name can be specified simply as the\n"
+"              user name, without the domain, if there is a single  domain  and\n"
+"              forest in your setup for example.\n"
+"\n"
 , stdout);
  fputs(
-"              When using NTLM, the user name can be specified  simply  as  the\n"
-"              user  name,  without the domain, if there is a single domain and\n"
-"              forest in your setup for example.\n"
-"\n"
-"              To specify the domain name use either Down-Level Logon  Name  or\n"
+"              To  specify  the domain name use either Down-Level Logon Name or\n"
 "              UPN (User Principal Name) formats. For example, EXAMPLE\\user and\n"
 "              user@example.com respectively.\n"
 "\n"
-"              If you use a Windows SSPI-enabled curl binary and  perform  Ker-\n"
+"              If  you  use a Windows SSPI-enabled curl binary and perform Ker-\n"
+"              beros V5, Negotiate, NTLM or Digest authentication then you  can\n"
+"              tell  curl  to select the user name and password from your envi-\n"
 , stdout);
  fputs(
-"              beros  V5, Negotiate, NTLM or Digest authentication then you can\n"
-"              tell curl to select the user name and password from  your  envi-\n"
 "              ronment by specifying a single colon with this option: \"-u :\".\n"
 "\n"
 "              If this option is used several times, the last one will be used.\n"
 "\n"
 "       -v, --verbose\n"
-"              Makes  curl  verbose  during the operation. Useful for debugging\n"
-"              and seeing what's going on \"under the  hood\".  A  line  starting\n"
+"              Makes curl verbose during the operation.  Useful  for  debugging\n"
+"              and  seeing  what's  going  on \"under the hood\". A line starting\n"
+"              with '>' means \"header data\" sent by  curl,  '<'  means  \"header\n"
+"              data\"  received  by  curl  that is hidden in normal cases, and a\n"
 , stdout);
  fputs(
-"              with  '>'  means  \"header  data\" sent by curl, '<' means \"header\n"
-"              data\" received by curl that is hidden in  normal  cases,  and  a\n"
 "              line starting with '*' means additional info provided by curl.\n"
 "\n"
 "              If you only want HTTP headers in the output, -i, --include might\n"
 "              be the option you're looking for.\n"
 "\n"
-"              If you think this option still doesn't give you enough  details,\n"
-, stdout);
- fputs(
+"              If  you think this option still doesn't give you enough details,\n"
 "              consider using --trace or --trace-ascii instead.\n"
 "\n"
 "              Use -s, --silent to make curl really quiet.\n"
 "\n"
-"              See  also  -i,  --include.  This  option  overrides  --trace and\n"
+"              See also  -i,  --include.  This  option  overrides  --trace  and\n"
+, stdout);
+ fputs(
 "              --trace-ascii.\n"
 "\n"
 "       -V, --version\n"
 "              Displays information about curl and the libcurl version it uses.\n"
-"              The first line includes the full version of  curl,  libcurl  and\n"
+"              The  first  line  includes the full version of curl, libcurl and\n"
 "              other 3rd party libraries linked with the executable.\n"
 "\n"
-, stdout);
- fputs(
-"              The  second  line (starts with \"Protocols:\") shows all protocols\n"
+"              The second line (starts with \"Protocols:\") shows  all  protocols\n"
 "              that libcurl reports to support.\n"
 "\n"
 "              The third line (starts with \"Features:\") shows specific features\n"
+, stdout);
+ fputs(
 "              libcurl reports to offer. Available features include:\n"
 "\n"
 "              IPv6   You can use IPv6 with this.\n"
 "\n"
 "              krb4   Krb4 for FTP is supported.\n"
 "\n"
-"              SSL    SSL  versions of various protocols are supported, such as\n"
-, stdout);
- fputs(
+"              SSL    SSL versions of various protocols are supported, such  as\n"
 "                     HTTPS, FTPS, POP3S and so on.\n"
 "\n"
-"              libz   Automatic decompression of compressed files over HTTP  is\n"
+"              libz   Automatic  decompression of compressed files over HTTP is\n"
 "                     supported.\n"
 "\n"
 "              NTLM   NTLM authentication is supported.\n"
 "\n"
-"              Debug  This  curl  uses a libcurl built with Debug. This enables\n"
-"                     more error-tracking and memory debugging etc.  For  curl-\n"
+, stdout);
+ fputs(
+"              Debug  This curl uses a libcurl built with Debug.  This  enables\n"
+"                     more  error-tracking  and memory debugging etc. For curl-\n"
 "                     developers only!\n"
 "\n"
 "              AsynchDNS\n"
-, stdout);
- fputs(
-"                     This  curl  uses asynchronous name resolves. Asynchronous\n"
-"                     name resolves can be done using either the c-ares or  the\n"
+"                     This curl uses asynchronous name  resolves.  Asynchronous\n"
+"                     name  resolves can be done using either the c-ares or the\n"
 "                     threaded resolver backends.\n"
 "\n"
 "              SPNEGO SPNEGO authentication is supported.\n"
 "\n"
+, stdout);
+ fputs(
 "              Largefile\n"
 "                     This curl supports transfers of large files, files larger\n"
 "                     than 2GB.\n"
@@ -3758,16 +3819,16 @@
 "              IDN    This curl supports IDN - international domain names.\n"
 "\n"
 "              GSS-API\n"
-, stdout);
- fputs(
 "                     GSS-API is supported.\n"
 "\n"
 "              SSPI   SSPI is supported.\n"
 "\n"
 "              TLS-SRP\n"
-"                     SRP (Secure Remote Password) authentication is  supported\n"
+"                     SRP  (Secure Remote Password) authentication is supported\n"
 "                     for TLS.\n"
 "\n"
+, stdout);
+ fputs(
 "              HTTP2  HTTP/2 support has been built-in.\n"
 "\n"
 "              UnixSockets\n"
@@ -3777,120 +3838,120 @@
 "                     This curl is built to support HTTPS proxy.\n"
 "\n"
 "              Metalink\n"
+"                     This curl supports Metalink (both version 3  and  4  (RFC\n"
+"                     5854)),  which  describes  mirrors and hashes.  curl will\n"
+"                     use mirrors for failover if there are errors (such as the\n"
 , stdout);
  fputs(
-"                     This  curl  supports  Metalink (both version 3 and 4 (RFC\n"
-"                     5854)), which describes mirrors and  hashes.   curl  will\n"
-"                     use mirrors for failover if there are errors (such as the\n"
 "                     file or server not being available).\n"
 "\n"
-"              PSL    PSL is short for Public Suffix List and means  that  this\n"
-"                     curl  has  been  built  with knowledge about \"public suf-\n"
+"              PSL    PSL  is  short for Public Suffix List and means that this\n"
+"                     curl has been built with  knowledge  about  \"public  suf-\n"
 "                     fixes\".\n"
 "\n"
-, stdout);
- fputs(
 "              MultiSSL\n"
 "                     This curl supports multiple TLS backends.\n"
 "\n"
 "       -w, --write-out <format>\n"
 "              Make curl display information on stdout after a completed trans-\n"
-"              fer.  The  format  is a string that may contain plain text mixed\n"
-"              with any number of variables. The format can be specified  as  a\n"
-"              literal  \"string\",  or  you can have curl read the format from a\n"
 , stdout);
  fputs(
-"              file with \"@filename\" and to tell curl to read the  format  from\n"
+"              fer. The format is a string that may contain  plain  text  mixed\n"
+"              with  any  number of variables. The format can be specified as a\n"
+"              literal \"string\", or you can have curl read the  format  from  a\n"
+"              file  with  \"@filename\" and to tell curl to read the format from\n"
 "              stdin you write \"@-\".\n"
 "\n"
-"              The  variables  present in the output format will be substituted\n"
-"              by the value or text that curl thinks fit, as  described  below.\n"
-"              All  variables are specified as %{variable_name} and to output a\n"
-"              normal % you just write them as %%. You can output a newline  by\n"
+"              The variables present in the output format will  be  substituted\n"
 , stdout);
  fputs(
+"              by  the  value or text that curl thinks fit, as described below.\n"
+"              All variables are specified as %{variable_name} and to output  a\n"
+"              normal  % you just write them as %%. You can output a newline by\n"
 "              using \\n, a carriage return with \\r and a tab space with \\t.\n"
 "\n"
-"              The  output  will be written to standard output, but this can be\n"
+"              The output will be written to standard output, but this  can  be\n"
 "              switched to standard error by using %{stderr}.\n"
 "\n"
+, stdout);
+ fputs(
 "              NOTE: The %-symbol is a special symbol in the win32-environment,\n"
-"              where  all  occurrences of % must be doubled when using this op-\n"
+"              where all occurrences of % must be doubled when using  this  op-\n"
 "              tion.\n"
 "\n"
 "              The variables available are:\n"
 "\n"
-, stdout);
- fputs(
-"              content_type   The Content-Type of the  requested  document,  if\n"
+"              content_type   The  Content-Type  of  the requested document, if\n"
 "                             there was any.\n"
 "\n"
 "              filename_effective\n"
-"                             The  ultimate  filename  that curl writes out to.\n"
-"                             This is only meaningful if curl is told to  write\n"
-"                             to  a  file  with  the  -O,  --remote-name or -o,\n"
-"                             --output option. It's most useful in  combination\n"
+"                             The ultimate filename that curl  writes  out  to.\n"
 , stdout);
  fputs(
-"                             with  the -J, --remote-header-name option. (Added\n"
+"                             This  is only meaningful if curl is told to write\n"
+"                             to a file  with  the  -O,  --remote-name  or  -o,\n"
+"                             --output  option. It's most useful in combination\n"
+"                             with the -J, --remote-header-name option.  (Added\n"
 "                             in 7.26.0)\n"
 "\n"
 "              ftp_entry_path The initial path curl ended up in when logging on\n"
+, stdout);
+ fputs(
 "                             to the remote FTP server. (Added in 7.15.4)\n"
 "\n"
 "              http_code      The numerical response code that was found in the\n"
-"                             last retrieved HTTP(S)  or  FTP(s)  transfer.  In\n"
-, stdout);
- fputs(
-"                             7.18.2  the alias response_code was added to show\n"
+"                             last  retrieved  HTTP(S)  or  FTP(s) transfer. In\n"
+"                             7.18.2 the alias response_code was added to  show\n"
 "                             the same info.\n"
 "\n"
 "              http_connect   The numerical code that was found in the last re-\n"
-"                             sponse  (from a proxy) to a curl CONNECT request.\n"
+, stdout);
+ fputs(
+"                             sponse (from a proxy) to a curl CONNECT  request.\n"
 "                             (Added in 7.12.4)\n"
 "\n"
 "              http_version   The  http  version  that  was  effectively  used.\n"
 "                             (Added in 7.50.0)\n"
 "\n"
-, stdout);
- fputs(
-"              local_ip       The  IP  address of the local end of the most re-\n"
-"                             cently done connection - can be  either  IPv4  or\n"
+"              local_ip       The IP address of the local end of the  most  re-\n"
+"                             cently  done  connection  - can be either IPv4 or\n"
 "                             IPv6 (Added in 7.29.0)\n"
 "\n"
-"              local_port     The  local  port number of the most recently done\n"
-"                             connection (Added in 7.29.0)\n"
-"\n"
-"              num_connects   Number of new connects made in the recent  trans-\n"
-"                             fer. (Added in 7.12.3)\n"
-"\n"
 , stdout);
  fputs(
+"              local_port     The local port number of the most  recently  done\n"
+"                             connection (Added in 7.29.0)\n"
+"\n"
+"              num_connects   Number  of new connects made in the recent trans-\n"
+"                             fer. (Added in 7.12.3)\n"
+"\n"
 "              num_redirects  Number of redirects that were followed in the re-\n"
 "                             quest. (Added in 7.12.3)\n"
 "\n"
 "              proxy_ssl_verify_result\n"
+, stdout);
+ fputs(
 "                             The result of the HTTPS proxy's SSL peer certifi-\n"
 "                             cate verification that was requested. 0 means the\n"
 "                             verification was successful. (Added in 7.52.0)\n"
 "\n"
 "              redirect_url   When an HTTP request was made without -L, --loca-\n"
+"                             tion to follow redirects (or when --max-redir  is\n"
+"                             met),  this  variable  will show the actual URL a\n"
 , stdout);
  fputs(
-"                             tion  to follow redirects (or when --max-redir is\n"
-"                             met), this variable will show the  actual  URL  a\n"
 "                             redirect would have gone to. (Added in 7.18.2)\n"
 "\n"
-"              remote_ip      The  remote  IP address of the most recently done\n"
+"              remote_ip      The remote IP address of the most  recently  done\n"
 "                             connection - can be either IPv4 or IPv6 (Added in\n"
 "                             7.29.0)\n"
 "\n"
-, stdout);
- fputs(
-"              remote_port    The  remote port number of the most recently done\n"
+"              remote_port    The remote port number of the most recently  done\n"
 "                             connection (Added in 7.29.0)\n"
 "\n"
-"              scheme         The URL scheme (sometimes called  protocol)  that\n"
+"              scheme         The  URL  scheme (sometimes called protocol) that\n"
+, stdout);
+ fputs(
 "                             was effectively used (Added in 7.52.0)\n"
 "\n"
 "              size_download  The total amount of bytes that were downloaded.\n"
@@ -3898,102 +3959,102 @@
 "              size_header    The total amount of bytes of the downloaded head-\n"
 "                             ers.\n"
 "\n"
-, stdout);
- fputs(
-"              size_request   The total amount of bytes that were sent  in  the\n"
+"              size_request   The  total  amount of bytes that were sent in the\n"
 "                             HTTP request.\n"
 "\n"
 "              size_upload    The total amount of bytes that were uploaded.\n"
 "\n"
+, stdout);
+ fputs(
 "              speed_download The average download speed that curl measured for\n"
 "                             the complete download. Bytes per second.\n"
 "\n"
-"              speed_upload   The average upload speed that curl  measured  for\n"
+"              speed_upload   The  average  upload speed that curl measured for\n"
 "                             the complete upload. Bytes per second.\n"
 "\n"
+"              ssl_verify_result\n"
+"                             The result of the SSL peer certificate  verifica-\n"
+"                             tion that was requested. 0 means the verification\n"
 , stdout);
  fputs(
-"              ssl_verify_result\n"
-"                             The  result of the SSL peer certificate verifica-\n"
-"                             tion that was requested. 0 means the verification\n"
 "                             was successful. (Added in 7.19.0)\n"
 "\n"
-"              stderr         From  this  point  on, the -w, --write-out output\n"
-"                             will be written  to  standard  error.  (Added  in\n"
+"              stderr         From this point on, the  -w,  --write-out  output\n"
+"                             will  be  written  to  standard  error. (Added in\n"
 "                             7.63.0)\n"
 "\n"
+"              stdout         From this point on, the  -w,  --write-out  output\n"
+"                             will  be written to standard output.  This is the\n"
+"                             default, but can be used  to  switch  back  after\n"
 , stdout);
  fputs(
-"              stdout         From  this  point  on, the -w, --write-out output\n"
-"                             will be written to standard output.  This is  the\n"
-"                             default,  but  can  be  used to switch back after\n"
 "                             switching to stderr.  (Added in 7.63.0)\n"
 "\n"
 "              time_appconnect\n"
-"                             The time, in seconds, it took from the start  un-\n"
-"                             til  the SSL/SSH/etc connect/handshake to the re-\n"
-, stdout);
- fputs(
+"                             The  time, in seconds, it took from the start un-\n"
+"                             til the SSL/SSH/etc connect/handshake to the  re-\n"
 "                             mote host was completed. (Added in 7.19.0)\n"
 "\n"
-"              time_connect   The time, in seconds, it took from the start  un-\n"
+"              time_connect   The  time, in seconds, it took from the start un-\n"
 "                             til the TCP connect to the remote host (or proxy)\n"
+, stdout);
+ fputs(
 "                             was completed.\n"
 "\n"
 "              time_namelookup\n"
-"                             The time, in seconds, it took from the start  un-\n"
+"                             The  time, in seconds, it took from the start un-\n"
 "                             til the name resolving was completed.\n"
 "\n"
 "              time_pretransfer\n"
+"                             The time, in seconds, it took from the start  un-\n"
+"                             til  the  file  transfer was just about to begin.\n"
+"                             This includes all pre-transfer commands and nego-\n"
 , stdout);
  fputs(
-"                             The  time, in seconds, it took from the start un-\n"
-"                             til the file transfer was just  about  to  begin.\n"
-"                             This includes all pre-transfer commands and nego-\n"
 "                             tiations that are specific to the particular pro-\n"
 "                             tocol(s) involved.\n"
 "\n"
 "              time_redirect  The time, in seconds, it took for all redirection\n"
+"                             steps including name lookup, connect, pretransfer\n"
+"                             and transfer before  the  final  transaction  was\n"
+"                             started.  time_redirect shows the complete execu-\n"
 , stdout);
  fputs(
-"                             steps including name lookup, connect, pretransfer\n"
-"                             and  transfer  before  the  final transaction was\n"
-"                             started. time_redirect shows the complete  execu-\n"
-"                             tion  time  for  multiple redirections. (Added in\n"
+"                             tion time for multiple  redirections.  (Added  in\n"
 "                             7.12.3)\n"
 "\n"
 "              time_starttransfer\n"
-"                             The time, in seconds, it took from the start  un-\n"
+"                             The  time, in seconds, it took from the start un-\n"
+"                             til the first byte was just about  to  be  trans-\n"
+"                             ferred.  This  includes time_pretransfer and also\n"
+"                             the time the server needed to calculate  the  re-\n"
 , stdout);
  fputs(
-"                             til  the  first  byte was just about to be trans-\n"
-"                             ferred. This includes time_pretransfer  and  also\n"
-"                             the  time  the server needed to calculate the re-\n"
 "                             sult.\n"
 "\n"
-"              time_total     The total time, in seconds, that the full  opera-\n"
+"              time_total     The  total time, in seconds, that the full opera-\n"
 "                             tion lasted.\n"
 "\n"
 "              url_effective  The URL that was fetched last. This is most mean-\n"
-, stdout);
- fputs(
-"                             ingful if you've told curl  to  follow  location:\n"
+"                             ingful  if  you've  told curl to follow location:\n"
 "                             headers.\n"
 "\n"
 "              If this option is used several times, the last one will be used.\n"
 "\n"
 "       --xattr\n"
-"              When  saving  output  to a file, this option tells curl to store\n"
-"              certain file metadata in extended  file  attributes.  Currently,\n"
-"              the URL is stored in the xdg.origin.url attribute and, for HTTP,\n"
 , stdout);
  fputs(
-"              the content type is stored in the mime_type  attribute.  If  the\n"
-"              file  system  does not support extended attributes, a warning is\n"
+"              When saving output to a file, this option tells  curl  to  store\n"
+"              certain  file  metadata  in extended file attributes. Currently,\n"
+"              the URL is stored in the xdg.origin.url attribute and, for HTTP,\n"
+"              the  content  type  is stored in the mime_type attribute. If the\n"
+"              file system does not support extended attributes, a  warning  is\n"
 "              issued.\n"
 "\n"
 "FILES\n"
 "       ~/.curlrc\n"
+, stdout);
+ fputs(
 "              Default config file, see -K, --config for details.\n"
 "\n"
 "ENVIRONMENT\n"
@@ -4001,70 +4062,68 @@
 "       The lower case version has precedence. http_proxy is an exception as it\n"
 "       is only available in lower case.\n"
 "\n"
-, stdout);
- fputs(
-"       Using an environment variable to set the proxy has the same  effect  as\n"
+"       Using  an  environment variable to set the proxy has the same effect as\n"
 "       using the -x, --proxy option.\n"
 "\n"
 "       http_proxy [protocol://]<host>[:port]\n"
 "              Sets the proxy server to use for HTTP.\n"
+, stdout);
+ fputs(
 "       HTTPS_PROXY [protocol://]<host>[:port]\n"
 "              Sets the proxy server to use for HTTPS.\n"
 "\n"
 "       [url-protocol]_PROXY [protocol://]<host>[:port]\n"
-"              Sets  the proxy server to use for [url-protocol], where the pro-\n"
-, stdout);
- fputs(
-"              tocol is a protocol that curl supports and  as  specified  in  a\n"
+"              Sets the proxy server to use for [url-protocol], where the  pro-\n"
+"              tocol  is  a  protocol  that curl supports and as specified in a\n"
 "              URL. FTP, FTPS, POP3, IMAP, SMTP, LDAP etc.\n"
 "\n"
 "       ALL_PROXY [protocol://]<host>[:port]\n"
-"              Sets  the  proxy  server to use if no protocol-specific proxy is\n"
+"              Sets the proxy server to use if no  protocol-specific  proxy  is\n"
+, stdout);
+ fputs(
 "              set.\n"
 "\n"
 "       NO_PROXY <comma-separated list of hosts/domains>\n"
-"              list of host names that shouldn't go through any proxy.  If  set\n"
+"              list  of  host names that shouldn't go through any proxy. If set\n"
 "              to an asterisk '*' only, it matches all hosts. Each name in this\n"
-, stdout);
- fputs(
 "              list is matched as either a domain name which contains the host-\n"
 "              name, or the hostname itself.\n"
 "\n"
-"              This  environment  variable  disables use of the proxy even when\n"
-"              specified with the -x,  --proxy  option.  That  is  NO_PROXY=di-\n"
-"              rect.example.com  curl  -x  http://proxy.example.com  http://di-\n"
-"              rect.example.com  accesses  the   target   URL   directly,   and\n"
+"              This environment variable disables use of the  proxy  even  when\n"
 , stdout);
  fputs(
-"              NO_PROXY=direct.example.com   curl  -x  http://proxy.example.com\n"
+"              specified  with  the  -x,  --proxy  option. That is NO_PROXY=di-\n"
+"              rect.example.com  curl  -x  http://proxy.example.com  http://di-\n"
+"              rect.example.com   accesses   the   target   URL  directly,  and\n"
+"              NO_PROXY=direct.example.com  curl  -x   http://proxy.example.com\n"
 "              http://somewhere.example.com accesses the target URL through the\n"
 "              proxy.\n"
 "\n"
-"              The  list  of  host  names  can also be include numerical IP ad-\n"
-"              dresses, and IPv6 versions should then be given without  enclos-\n"
+"              The list of host names can also  be  include  numerical  IP  ad-\n"
+, stdout);
+ fputs(
+"              dresses,  and IPv6 versions should then be given without enclos-\n"
 "              ing brackets.\n"
 "\n"
 "PROXY PROTOCOL PREFIXES\n"
-"       Since  curl  version  7.21.7,  the proxy string may be specified with a\n"
-, stdout);
- fputs(
+"       Since curl version 7.21.7, the proxy string may  be  specified  with  a\n"
 "       protocol:// prefix to specify alternative proxy protocols.\n"
 "\n"
-"       If no protocol is specified in  the  proxy  string  or  if  the  string\n"
-"       doesn't  match  a  supported  one, the proxy will be treated as an HTTP\n"
+"       If  no  protocol  is  specified  in  the  proxy string or if the string\n"
+"       doesn't match a supported one, the proxy will be  treated  as  an  HTTP\n"
 "       proxy.\n"
 "\n"
+, stdout);
+ fputs(
 "       The supported proxy protocol prefixes are as follows:\n"
 "\n"
 "       http://\n"
-"              Makes it use it as an HTTP proxy. The default if no scheme  pre-\n"
+"              Makes  it use it as an HTTP proxy. The default if no scheme pre-\n"
 "              fix is used.\n"
 "\n"
 "       https://\n"
 "              Makes it treated as an HTTPS proxy.\n"
 "\n"
-, stdout);
- fputs(
 "       socks4://\n"
 "              Makes it the equivalent of --socks4\n"
 "\n"
@@ -4075,15 +4134,15 @@
 "              Makes it the equivalent of --socks5\n"
 "\n"
 "       socks5h://\n"
+, stdout);
+ fputs(
 "              Makes it the equivalent of --socks5-hostname\n"
 "\n"
 "EXIT CODES\n"
-"       There  are a bunch of different error codes and their corresponding er-\n"
+"       There are a bunch of different error codes and their corresponding  er-\n"
 "       ror messages that may appear during bad conditions. At the time of this\n"
 "       writing, the exit codes are:\n"
 "\n"
-, stdout);
- fputs(
 "       1      Unsupported protocol. This build of curl has no support for this\n"
 "              protocol.\n"
 "\n"
@@ -4091,77 +4150,77 @@
 "\n"
 "       3      URL malformed. The syntax was not correct.\n"
 "\n"
-"       4      A feature or option that was needed to perform the  desired  re-\n"
-"              quest  was not enabled or was explicitly disabled at build-time.\n"
+, stdout);
+ fputs(
+"       4      A  feature  or option that was needed to perform the desired re-\n"
+"              quest was not enabled or was explicitly disabled at  build-time.\n"
 "              To make curl able to do this, you probably need another build of\n"
 "              libcurl!\n"
 "\n"
-, stdout);
- fputs(
-"       5      Couldn't  resolve  proxy.  The given proxy host could not be re-\n"
+"       5      Couldn't resolve proxy. The given proxy host could  not  be  re-\n"
 "              solved.\n"
 "\n"
 "       6      Couldn't resolve host. The given remote host was not resolved.\n"
 "\n"
 "       7      Failed to connect to host.\n"
 "\n"
+, stdout);
+ fputs(
 "       8      Weird server reply. The server sent data curl couldn't parse.\n"
 "\n"
-"       9      FTP access denied. The server denied login or denied  access  to\n"
-"              the  particular  resource or directory you wanted to reach. Most\n"
-, stdout);
- fputs(
-"              often you tried to change to a directory that doesn't  exist  on\n"
+"       9      FTP  access  denied. The server denied login or denied access to\n"
+"              the particular resource or directory you wanted to  reach.  Most\n"
+"              often  you  tried to change to a directory that doesn't exist on\n"
 "              the server.\n"
 "\n"
-"       10     FTP  accept failed. While waiting for the server to connect back\n"
-"              when an active FTP session is used, an error code was sent  over\n"
+"       10     FTP accept failed. While waiting for the server to connect  back\n"
+"              when  an active FTP session is used, an error code was sent over\n"
+, stdout);
+ fputs(
 "              the control connection or similar.\n"
 "\n"
-"       11     FTP  weird PASS reply. Curl couldn't parse the reply sent to the\n"
+"       11     FTP weird PASS reply. Curl couldn't parse the reply sent to  the\n"
 "              PASS request.\n"
 "\n"
-, stdout);
- fputs(
-"       12     During an active FTP session while waiting  for  the  server  to\n"
+"       12     During  an  active  FTP  session while waiting for the server to\n"
 "              connect back to curl, the timeout expired.\n"
 "\n"
-"       13     FTP  weird PASV reply, Curl couldn't parse the reply sent to the\n"
+"       13     FTP weird PASV reply, Curl couldn't parse the reply sent to  the\n"
 "              PASV request.\n"
 "\n"
-"       14     FTP weird 227 format.  Curl  couldn't  parse  the  227-line  the\n"
-"              server sent.\n"
-"\n"
-"       15     FTP  can't  get host. Couldn't resolve the host IP we got in the\n"
-"              227-line.\n"
-"\n"
+"       14     FTP  weird  227  format.  Curl  couldn't  parse the 227-line the\n"
 , stdout);
  fputs(
+"              server sent.\n"
+"\n"
+"       15     FTP can't get host. Couldn't resolve the host IP we got  in  the\n"
+"              227-line.\n"
+"\n"
 "       16     HTTP/2 error. A problem was detected in the HTTP2 framing layer.\n"
 "              This is somewhat generic and can be one out of several problems,\n"
 "              see the error message for details.\n"
 "\n"
-"       17     FTP couldn't set binary. Couldn't change transfer method to  bi-\n"
+"       17     FTP  couldn't set binary. Couldn't change transfer method to bi-\n"
 "              nary.\n"
 "\n"
+, stdout);
+ fputs(
 "       18     Partial file. Only a part of the file was transferred.\n"
 "\n"
-"       19     FTP  couldn't download/access the given file, the RETR (or simi-\n"
+"       19     FTP couldn't download/access the given file, the RETR (or  simi-\n"
 "              lar) command failed.\n"
 "\n"
-, stdout);
- fputs(
 "       21     FTP quote error. A quote command returned error from the server.\n"
-"       22     HTTP page not retrieved. The requested url was not found or  re-\n"
-"              turned  another  error  with  the  HTTP  error code being 400 or\n"
+"       22     HTTP  page not retrieved. The requested url was not found or re-\n"
+"              turned another error with the  HTTP  error  code  being  400  or\n"
 "              above. This return code only appears if -f, --fail is used.\n"
 "\n"
-"       23     Write error. Curl couldn't write data to a local  filesystem  or\n"
-"              similar.\n"
-"\n"
-"       25     FTP  couldn't  STOR  file. The server denied the STOR operation,\n"
 , stdout);
  fputs(
+"       23     Write  error.  Curl couldn't write data to a local filesystem or\n"
+"              similar.\n"
+"\n"
+"       25     FTP couldn't STOR file. The server denied  the  STOR  operation,\n"
 "              used for FTP uploading.\n"
 "\n"
 "       26     Read error. Various reading problems.\n"
@@ -4171,26 +4230,26 @@
 "       28     Operation timeout. The specified time-out period was reached ac-\n"
 "              cording to the conditions.\n"
 "\n"
-"       30     FTP  PORT  failed.  The PORT command failed. Not all FTP servers\n"
-"              support the PORT command, try doing a transfer  using  PASV  in-\n"
-"              stead!\n"
-"\n"
 , stdout);
  fputs(
-"       31     FTP  couldn't use REST. The REST command failed. This command is\n"
+"       30     FTP PORT failed. The PORT command failed. Not  all  FTP  servers\n"
+"              support  the  PORT  command, try doing a transfer using PASV in-\n"
+"              stead!\n"
+"\n"
+"       31     FTP couldn't use REST. The REST command failed. This command  is\n"
 "              used for resumed FTP transfers.\n"
 "\n"
 "       33     HTTP range error. The range \"command\" didn't work.\n"
 "\n"
 "       34     HTTP post error. Internal post-request generation error.\n"
 "\n"
-"       35     SSL connect error. The SSL handshaking failed.\n"
-"\n"
-"       36     Bad download resume. Couldn't continue an earlier aborted  down-\n"
-"              load.\n"
-"\n"
 , stdout);
  fputs(
+"       35     SSL connect error. The SSL handshaking failed.\n"
+"\n"
+"       36     Bad  download resume. Couldn't continue an earlier aborted down-\n"
+"              load.\n"
+"\n"
 "       37     FILE couldn't read file. Failed to open the file. Permissions?\n"
 "\n"
 "       38     LDAP cannot bind. LDAP bind operation failed.\n"
@@ -4200,29 +4259,29 @@
 "       41     Function not found. A required LDAP function was not found.\n"
 "\n"
 "       42     Aborted by callback. An application told curl to abort the oper-\n"
+, stdout);
+ fputs(
 "              ation.\n"
 "\n"
 "       43     Internal error. A function was called with a bad parameter.\n"
 "\n"
-, stdout);
- fputs(
-"       45     Interface error. A specified outgoing  interface  could  not  be\n"
+"       45     Interface  error.  A  specified  outgoing interface could not be\n"
 "              used.\n"
 "\n"
 "       47     Too many redirects. When following redirects, curl hit the maxi-\n"
 "              mum amount.\n"
 "\n"
-"       48     Unknown option specified to libcurl.  This  indicates  that  you\n"
-"              passed  a weird option to curl that was passed on to libcurl and\n"
+"       48     Unknown  option  specified  to  libcurl. This indicates that you\n"
+"              passed a weird option to curl that was passed on to libcurl  and\n"
+, stdout);
+ fputs(
 "              rejected. Read up in the manual!\n"
 "\n"
 "       49     Malformed telnet option.\n"
 "\n"
-, stdout);
- fputs(
 "       51     The peer's SSL certificate or SSH MD5 fingerprint was not OK.\n"
 "\n"
-"       52     The server didn't reply anything, which here  is  considered  an\n"
+"       52     The  server  didn't  reply anything, which here is considered an\n"
 "              error.\n"
 "\n"
 "       53     SSL crypto engine not found.\n"
@@ -4233,13 +4292,13 @@
 "\n"
 "       56     Failure in receiving network data.\n"
 "\n"
+, stdout);
+ fputs(
 "       58     Problem with the local certificate.\n"
 "\n"
 "       59     Couldn't use specified SSL cipher.\n"
 "\n"
-, stdout);
- fputs(
-"       60     Peer  certificate cannot be authenticated with known CA certifi-\n"
+"       60     Peer certificate cannot be authenticated with known CA  certifi-\n"
 "              cates.\n"
 "\n"
 "       61     Unrecognized transfer encoding.\n"
@@ -4254,11 +4313,11 @@
 "\n"
 "       66     Failed to initialise SSL Engine.\n"
 "\n"
-"       67     The user name, password, or similar was not  accepted  and  curl\n"
-"              failed to log in.\n"
-"\n"
 , stdout);
  fputs(
+"       67     The  user  name,  password, or similar was not accepted and curl\n"
+"              failed to log in.\n"
+"\n"
 "       68     File not found on TFTP server.\n"
 "\n"
 "       69     Permission problem on TFTP server.\n"
@@ -4275,31 +4334,31 @@
 "\n"
 "       75     Character conversion failed.\n"
 "\n"
+, stdout);
+ fputs(
 "       76     Character conversion functions required.\n"
 "\n"
 "       77     Problem with reading the SSL CA cert (path? access rights?).\n"
 "\n"
-, stdout);
- fputs(
 "       78     The resource referenced in the URL does not exist.\n"
 "\n"
 "       79     An unspecified error occurred during the SSH session.\n"
 "\n"
 "       80     Failed to shut down the SSL connection.\n"
 "\n"
-"       82     Could  not  load  CRL  file,  missing  or wrong format (added in\n"
+"       82     Could not load CRL file,  missing  or  wrong  format  (added  in\n"
 "              7.19.0).\n"
 "\n"
 "       83     Issuer check failed (added in 7.19.0).\n"
 "\n"
+, stdout);
+ fputs(
 "       84     The FTP PRET command failed\n"
 "\n"
 "       85     RTSP: mismatch of CSeq numbers\n"
 "\n"
 "       86     RTSP: mismatch of Session Identifiers\n"
 "\n"
-, stdout);
- fputs(
 "       87     unable to parse FTP file list\n"
 "\n"
 "       88     FTP chunk callback reported error\n"
@@ -4312,13 +4371,13 @@
 "\n"
 "       92     Stream error in HTTP/2 framing layer.\n"
 "\n"
+, stdout);
+ fputs(
 "       XX     More error codes will appear here in future releases. The exist-\n"
 "              ing ones are meant to never change.\n"
 "\n"
 "AUTHORS / CONTRIBUTORS\n"
-, stdout);
- fputs(
-"       Daniel  Stenberg is the main author, but the whole list of contributors\n"
+"       Daniel Stenberg is the main author, but the whole list of  contributors\n"
 "       is found in the separate THANKS file.\n"
 "\n"
 "WWW\n"
@@ -4344,3926 +4403,3976 @@
 #include "memdebug.h" /* keep this as LAST include */
 static const unsigned char hugehelpgz[] = {
   /* This mumbo-jumbo is the huge help text compressed with gzip.
-     Thanks to this operation, the size of this data shrank from 167622
-     to 47001 bytes. You can disable the use of compressed help
+     Thanks to this operation, the size of this data shrank from 169779
+     to 47597 bytes. You can disable the use of compressed help
      texts by NOT passing -c to the mkhelp.pl tool. */
   0x1f, 0x8b, 0x08, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x03, 0xed, 0xbd,
-  0x7b, 0x77, 0xdc, 0xc6, 0xb1, 0x2f, 0xfa, 0xbf, 0x3f, 0x05, 0x36, 0xb3,
-  0x72, 0x48, 0xee, 0xcc, 0x0c, 0x1f, 0x7a, 0x59, 0x8a, 0x9c, 0x6d, 0x45,
-  0xa2, 0x6c, 0x6e, 0x53, 0x22, 0x0f, 0x87, 0xb2, 0x9d, 0x1b, 0x7b, 0x69,
-  0x61, 0x66, 0x30, 0x24, 0xa2, 0x19, 0x60, 0x02, 0x60, 0xf8, 0xc8, 0x3e,
-  0xb9, 0x9f, 0xfd, 0x76, 0xfd, 0xaa, 0xaa, 0xbb, 0x81, 0x6e, 0x0c, 0x69,
-  0xc7, 0xf6, 0x79, 0xdd, 0xec, 0xb5, 0x2d, 0x89, 0x04, 0x1a, 0xfd, 0xa8,
-  0xae, 0x77, 0xfd, 0x2a, 0x49, 0xee, 0xfb, 0xdf, 0x47, 0xfc, 0xff, 0x47,
-  0xf3, 0x3f, 0xf3, 0xe7, 0x67, 0x49, 0x72, 0x56, 0x95, 0x7f, 0xcb, 0xa6,
-  0x4d, 0xfc, 0xd9, 0x8f, 0x1f, 0xff, 0x47, 0xc2, 0xff, 0x67, 0xde, 0xf9,
-  0xc1, 0xfc, 0xf9, 0xd9, 0xc6, 0xb1, 0xf7, 0x12, 0xf7, 0xc2, 0xff, 0xf8,
-  0xb8, 0x9b, 0xdc, 0xf7, 0xc2, 0xff, 0x48, 0x76, 0xf0, 0xc2, 0x47, 0xf9,
-  0xc2, 0x4b, 0xfa, 0xfb, 0xc7, 0x8f, 0x9b, 0x3f, 0xf2, 0x03, 0xcd, 0x8a,
-  0xfe, 0xb3, 0x47, 0xef, 0xfd, 0xf0, 0x91, 0xfe, 0x6a, 0x7e, 0xf2, 0xd9,
-  0x67, 0xef, 0x5f, 0xbd, 0x3b, 0xd2, 0x57, 0xa7, 0xeb, 0x6a, 0x91, 0x0c,
-  0x93, 0xa6, 0x4a, 0x8b, 0x7a, 0x9e, 0x55, 0x49, 0x9a, 0x7c, 0x38, 0x3f,
-  0xf9, 0xec, 0xb3, 0xf1, 0x5f, 0xde, 0x9f, 0x9e, 0x8d, 0x8f, 0xc7, 0xad,
-  0xc7, 0xfe, 0x5a, 0xae, 0x9a, 0xbc, 0x2c, 0x6a, 0x33, 0x7d, 0xf3, 0x50,
-  0xfd, 0xe3, 0x67, 0x9f, 0xbd, 0x39, 0x1a, 0xbf, 0x3e, 0x3f, 0x3e, 0xbb,
-  0x38, 0x3e, 0x7d, 0xdf, 0x7a, 0x32, 0xc9, 0xeb, 0xc4, 0x0c, 0xd5, 0x94,
-  0xe5, 0xc2, 0xfc, 0xc7, 0x8d, 0x3e, 0x4b, 0x9b, 0x34, 0x99, 0x57, 0xe5,
-  0x32, 0x29, 0x2b, 0xfa, 0x45, 0x9a, 0xd4, 0x59, 0x75, 0x9d, 0x55, 0x83,
-  0x64, 0x5d, 0xe7, 0xc5, 0x65, 0x52, 0x16, 0x59, 0x52, 0xce, 0x93, 0xe6,
-  0x2a, 0xd3, 0xe1, 0xea, 0xf5, 0x6a, 0x55, 0x56, 0x4d, 0x36, 0x4b, 0x56,
-  0x55, 0xd9, 0x94, 0xd3, 0x72, 0x51, 0x27, 0x3b, 0x6f, 0x8e, 0x5f, 0x5f,
-  0x0c, 0x92, 0xb7, 0xc7, 0x27, 0x47, 0xe6, 0xbf, 0x17, 0x67, 0xf8, 0xcf,
-  0x78, 0x90, 0x7c, 0x75, 0x7a, 0xf6, 0xf5, 0xd1, 0xf9, 0x20, 0xf9, 0xfa,
-  0x82, 0x7e, 0x46, 0xff, 0x35, 0x3f, 0x4c, 0x8e, 0xdf, 0xbd, 0x3a, 0x1b,
-  0xe8, 0x70, 0xf4, 0x0f, 0xfa, 0xe1, 0xc9, 0x1b, 0xf3, 0x43, 0xfe, 0x83,
-  0xfe, 0x79, 0x76, 0x7a, 0xf6, 0x48, 0xfe, 0xa0, 0x7f, 0x9e, 0x5f, 0xbc,
-  0x33, 0xbf, 0x3d, 0xbf, 0x18, 0x9b, 0xff, 0x8e, 0x5f, 0xd3, 0x7f, 0xf0,
-  0x95, 0xf1, 0xbb, 0x3f, 0xe3, 0x3f, 0x63, 0x3b, 0xdc, 0xf8, 0x1d, 0xff,
-  0x1c, 0x5f, 0xba, 0x38, 0x3a, 0x79, 0x7f, 0x74, 0x91, 0xa4, 0xc5, 0x2c,
-  0xb9, 0x30, 0xcf, 0xef, 0x8e, 0x92, 0x8b, 0xab, 0x2c, 0x99, 0x96, 0xcb,
-  0x25, 0xfd, 0xc8, 0xec, 0xc8, 0x2c, 0xab, 0xf3, 0xcb, 0xc2, 0x2c, 0xc5,
-  0xac, 0xfc, 0xa6, 0xac, 0x3e, 0x25, 0xc9, 0x4d, 0xde, 0x5c, 0x95, 0xeb,
-  0x46, 0x87, 0x5b, 0x9b, 0xdd, 0x48, 0xf2, 0xa2, 0xc9, 0xaa, 0x74, 0x4a,
-  0x3b, 0x3d, 0xfa, 0xac, 0xb5, 0xab, 0xe5, 0xdc, 0xec, 0x61, 0x6d, 0x36,
-  0x6d, 0xb2, 0xae, 0x17, 0x65, 0x3a, 0xa3, 0xad, 0x32, 0xaf, 0xcc, 0xd7,
-  0x66, 0x93, 0xab, 0x7c, 0xfa, 0xa9, 0x4e, 0x16, 0xf9, 0xa7, 0x8c, 0x36,
-  0xea, 0xf6, 0x4e, 0x37, 0x6e, 0xc0, 0x83, 0xa6, 0x6b, 0xb3, 0xa7, 0xc5,
-  0x50, 0x87, 0x6b, 0xf2, 0x69, 0x4a, 0x1f, 0xc0, 0xce, 0x25, 0xeb, 0x15,
-  0x8d, 0xc6, 0x3b, 0x96, 0xac, 0xca, 0xda, 0xbc, 0x34, 0x1e, 0x9f, 0x98,
-  0x99, 0x17, 0x45, 0x86, 0x79, 0xd4, 0x03, 0xf3, 0x8f, 0xf2, 0x53, 0x9e,
-  0x99, 0xbf, 0xcc, 0xf3, 0x45, 0x96, 0xf0, 0x89, 0xda, 0xe1, 0xe8, 0x68,
-  0x93, 0x2a, 0xab, 0xd7, 0xcb, 0xcc, 0xec, 0xde, 0xbb, 0xac, 0x49, 0x17,
-  0x79, 0xf1, 0xc9, 0xfc, 0x95, 0x16, 0xbe, 0x2c, 0xab, 0x6c, 0x94, 0xbc,
-  0xaa, 0x93, 0xbb, 0x72, 0x6d, 0x16, 0xbc, 0x58, 0x98, 0x33, 0xcf, 0x92,
-  0x49, 0xb6, 0x28, 0x6f, 0x06, 0x74, 0xd2, 0x49, 0xb1, 0x5e, 0x4e, 0xcc,
-  0x00, 0xe5, 0xdc, 0x0d, 0x97, 0x36, 0x6b, 0x33, 0x1c, 0x3f, 0xbd, 0x4c,
-  0xcd, 0x9a, 0xcc, 0xbb, 0x55, 0x72, 0x95, 0x99, 0x35, 0xd7, 0xab, 0xbc,
-  0xf8, 0xb7, 0xf6, 0xbe, 0x98, 0xad, 0x5d, 0x95, 0x37, 0x59, 0x65, 0x76,
-  0x76, 0x72, 0x97, 0x98, 0x4d, 0x98, 0x30, 0x11, 0xce, 0x0d, 0x91, 0x25,
-  0xa9, 0x19, 0xc2, 0x12, 0xe0, 0xb0, 0xca, 0x16, 0x29, 0x11, 0x93, 0xfd,
-  0xc6, 0xc8, 0x1c, 0x62, 0x66, 0xa9, 0x4d, 0x5e, 0xdd, 0x79, 0xb4, 0x8b,
-  0x97, 0x67, 0x66, 0x25, 0xf9, 0xa2, 0x36, 0xc7, 0x40, 0x97, 0x42, 0x9e,
-  0xa1, 0x43, 0x25, 0xfa, 0x37, 0xb4, 0x79, 0x57, 0x34, 0xe9, 0x2d, 0x3e,
-  0x2f, 0xb4, 0x39, 0x9c, 0x65, 0xab, 0xac, 0x98, 0x65, 0x45, 0x33, 0x4a,
-  0xfe, 0x52, 0xae, 0xb7, 0xcd, 0xb7, 0xe7, 0xb9, 0xd9, 0x83, 0x54, 0x86,
-  0x32, 0x5f, 0x36, 0x44, 0x30, 0xad, 0xf2, 0x95, 0x77, 0x14, 0x65, 0x61,
-  0xce, 0x3c, 0x39, 0x7f, 0xfb, 0x3a, 0x79, 0xf4, 0xfc, 0xf3, 0xa7, 0xee,
-  0xcc, 0xcd, 0x00, 0xc9, 0x34, 0x2d, 0xcc, 0x8a, 0xb3, 0x69, 0x3e, 0xbf,
-  0x4b, 0x96, 0xeb, 0x45, 0x93, 0xaf, 0xcc, 0xee, 0xd3, 0xe5, 0xa3, 0x0b,
-  0xb4, 0x4a, 0xab, 0xa6, 0x26, 0x22, 0xc0, 0x0f, 0xb0, 0xf6, 0x9b, 0x2a,
-  0x6f, 0xe8, 0x22, 0xe1, 0x77, 0x66, 0x86, 0x59, 0x53, 0xeb, 0x70, 0x44,
-  0x6b, 0xe6, 0x3b, 0x13, 0x43, 0x5b, 0x66, 0x6b, 0xd3, 0xda, 0x7c, 0xf4,
-  0xc5, 0x67, 0x8e, 0x83, 0x5c, 0x35, 0xcd, 0xea, 0xc5, 0xde, 0x5e, 0x9d,
-  0x37, 0xd9, 0xe8, 0xbf, 0xcc, 0x3d, 0x1c, 0x34, 0x37, 0xe5, 0xa0, 0xb9,
-  0xaa, 0xb2, 0xec, 0x9f, 0x23, 0x43, 0xc3, 0xf6, 0x49, 0xf3, 0xdd, 0x3b,
-  0x99, 0xd8, 0x65, 0xd6, 0x98, 0x2f, 0xfc, 0x7d, 0x9d, 0x15, 0x34, 0xa2,
-  0x99, 0x47, 0xba, 0x58, 0x5d, 0xa5, 0xe6, 0x38, 0x33, 0x43, 0x8d, 0x74,
-  0xb3, 0x0d, 0xc1, 0xd0, 0xac, 0xf8, 0x6e, 0xff, 0xf5, 0xc7, 0xf0, 0xa3,
-  0x73, 0x7c, 0xd3, 0xfc, 0x77, 0x94, 0xdd, 0xa6, 0x4b, 0xb3, 0x36, 0xfa,
-  0xd4, 0x1e, 0x91, 0xd8, 0x5f, 0x0f, 0x86, 0x07, 0xfb, 0xfb, 0x3f, 0x8e,
-  0x9a, 0xdb, 0xe6, 0x61, 0xcf, 0xef, 0xef, 0xbb, 0x37, 0xe8, 0xd1, 0x1d,
-  0x5a, 0x6f, 0xb2, 0x30, 0x24, 0x43, 0x1f, 0xff, 0x47, 0x56, 0x95, 0xf5,
-  0xee, 0xc3, 0x46, 0x4a, 0x87, 0xff, 0x68, 0x7f, 0xf7, 0x7d, 0x56, 0x83,
-  0x66, 0xdc, 0x5a, 0x93, 0xb4, 0x32, 0x74, 0x5b, 0x36, 0x8e, 0x3d, 0x0d,
-  0xcc, 0xa5, 0x6c, 0xec, 0xce, 0x98, 0x3b, 0x67, 0x9e, 0x36, 0x8c, 0x2d,
-  0x5d, 0x10, 0x4f, 0xab, 0x93, 0x22, 0xbb, 0xb5, 0xb7, 0xdc, 0xdc, 0xfe,
-  0x2c, 0x9d, 0x5e, 0x25, 0xa5, 0x21, 0xfe, 0x2a, 0x72, 0x04, 0xfe, 0x84,
-  0xd2, 0x6a, 0x7a, 0x95, 0x5f, 0x9b, 0xdd, 0x78, 0xfe, 0xfc, 0xe9, 0xd0,
-  0xfc, 0xe7, 0xf9, 0x8f, 0x7b, 0xd7, 0xe5, 0xc2, 0x6c, 0xce, 0xe3, 0x1f,
-  0xf7, 0xe8, 0x88, 0xff, 0x2b, 0x1d, 0x4c, 0x06, 0xd3, 0x7f, 0x8e, 0xae,
-  0x9a, 0xe5, 0xa2, 0x97, 0x70, 0xd2, 0xc2, 0xfc, 0xff, 0xb2, 0x5c, 0x17,
-  0x8d, 0x25, 0x16, 0x43, 0x73, 0x8d, 0xc7, 0x9c, 0xcc, 0x75, 0x35, 0x77,
-  0x94, 0x48, 0x9b, 0x68, 0x88, 0x6e, 0x9d, 0xb9, 0xa0, 0xee, 0x3a, 0x36,
-  0xd3, 0x2b, 0x5a, 0xbf, 0xa1, 0x9e, 0x54, 0x36, 0xa1, 0xc9, 0x53, 0xba,
-  0x99, 0x86, 0x41, 0x10, 0xc3, 0xc2, 0x58, 0xfc, 0xb5, 0xdc, 0x3c, 0x58,
-  0x56, 0xb3, 0xac, 0x1a, 0x75, 0xa7, 0x61, 0xaf, 0xac, 0xf7, 0xcd, 0x44,
-  0x25, 0x0a, 0xfd, 0x00, 0x13, 0x5b, 0xe6, 0xb7, 0x66, 0x04, 0x30, 0xcc,
-  0x02, 0x13, 0xe7, 0xd1, 0x12, 0x9a, 0x31, 0x3e, 0xa3, 0xef, 0xbb, 0x2b,
-  0x6b, 0xa6, 0xde, 0x5a, 0x3a, 0x3e, 0xea, 0x16, 0x9f, 0x98, 0xc3, 0x5b,
-  0x99, 0xb7, 0xd6, 0xc4, 0x57, 0x71, 0xad, 0x69, 0x18, 0xc3, 0x10, 0x2e,
-  0xcd, 0xb9, 0x98, 0xb3, 0x20, 0x2a, 0xa6, 0xa3, 0xba, 0x4b, 0xde, 0x1b,
-  0x82, 0x61, 0x66, 0xe4, 0x11, 0xfb, 0x22, 0x6b, 0x9a, 0x7b, 0x8f, 0xc9,
-  0x51, 0xec, 0x8b, 0x83, 0x80, 0x68, 0xfb, 0x9e, 0x37, 0x74, 0xf6, 0xe2,
-  0xb0, 0xfd, 0xf0, 0x77, 0x86, 0x49, 0xbb, 0xeb, 0x62, 0xbe, 0xfe, 0x5f,
-  0xff, 0xf4, 0xa8, 0xee, 0x86, 0x7e, 0x9b, 0x17, 0xd7, 0xe5, 0x27, 0xb3,
-  0x45, 0x90, 0xa2, 0x69, 0x7b, 0x37, 0x89, 0x0f, 0x2d, 0x57, 0x8d, 0x15,
-  0x4f, 0x44, 0x8e, 0xe6, 0x47, 0x93, 0x74, 0xb2, 0xb8, 0x4b, 0xae, 0xd2,
-  0xeb, 0x8c, 0xd6, 0xbb, 0x32, 0x74, 0x4a, 0x3b, 0x60, 0xc4, 0xc6, 0x02,
-  0x7c, 0x4c, 0x18, 0xc3, 0xac, 0x5c, 0x4f, 0x0c, 0x73, 0xf9, 0xfb, 0xba,
-  0x6c, 0x78, 0x63, 0xd2, 0xeb, 0x32, 0x9f, 0xb5, 0x64, 0xf1, 0x55, 0x46,
-  0x0c, 0x8d, 0x3e, 0x0c, 0x21, 0x65, 0x18, 0x2a, 0xcd, 0x14, 0x17, 0x2d,
-  0x6f, 0x48, 0xdc, 0x19, 0x56, 0x98, 0x2e, 0xea, 0x32, 0x49, 0x2e, 0x4b,
-  0xba, 0x25, 0x60, 0xc0, 0x20, 0x73, 0x73, 0x28, 0x57, 0x29, 0x49, 0x35,
-  0x23, 0xc0, 0xec, 0x3d, 0xa8, 0x32, 0xf0, 0x62, 0x9c, 0x54, 0xba, 0x18,
-  0xb0, 0xf4, 0xa2, 0x77, 0x64, 0xab, 0x92, 0xed, 0xff, 0xb6, 0x3d, 0x48,
-  0xb6, 0xff, 0x63, 0x1b, 0xf4, 0xb0, 0xfd, 0xef, 0xdb, 0xee, 0x9c, 0x8d,
-  0x32, 0x76, 0x9d, 0xcf, 0x32, 0x26, 0x89, 0xe3, 0xb3, 0xeb, 0xa7, 0xc9,
-  0x3f, 0x48, 0x77, 0x30, 0xbc, 0x36, 0xbb, 0x55, 0x82, 0xd4, 0xb5, 0x99,
-  0xb7, 0x13, 0xc3, 0x74, 0xd3, 0x15, 0x29, 0x11, 0x59, 0x35, 0x35, 0xd4,
-  0x9b, 0x5e, 0x1a, 0x7a, 0x35, 0xb2, 0x58, 0x87, 0xa3, 0xf1, 0xe9, 0x15,
-  0x5e, 0x96, 0x61, 0x90, 0x49, 0x91, 0x2e, 0xcd, 0x8d, 0x38, 0xa1, 0x19,
-  0xe5, 0x45, 0x78, 0x98, 0x7f, 0x9d, 0x67, 0x9f, 0xef, 0xbf, 0x78, 0xf1,
-  0xe8, 0xf7, 0x87, 0x4f, 0xb2, 0xe6, 0x6a, 0xff, 0xc7, 0x3d, 0xfb, 0xc8,
-  0xf1, 0x1c, 0xdb, 0xae, 0xe4, 0xa7, 0x93, 0x30, 0x52, 0xde, 0x4a, 0x09,
-  0xf3, 0xbe, 0xf9, 0x7b, 0x36, 0xcf, 0x6f, 0x07, 0xaa, 0x2f, 0xf1, 0x9d,
-  0x4b, 0x0d, 0xa9, 0x99, 0xf3, 0x23, 0x16, 0xa1, 0xc3, 0x5d, 0xae, 0xb3,
-  0xda, 0xec, 0xe4, 0xcd, 0x55, 0xda, 0x24, 0x76, 0x00, 0x3e, 0xd9, 0x65,
-  0x7e, 0x79, 0xd5, 0x24, 0x37, 0x29, 0x09, 0x9b, 0xe3, 0x86, 0x87, 0x20,
-  0x29, 0x6f, 0x44, 0xcc, 0x3c, 0x35, 0xb2, 0x82, 0xce, 0x10, 0x22, 0x7d,
-  0xe2, 0x34, 0x8c, 0xc6, 0x90, 0x39, 0x1f, 0x88, 0x53, 0xa7, 0x26, 0x69,
-  0x4d, 0x97, 0xb6, 0x30, 0xcc, 0xa1, 0x31, 0x3a, 0xc2, 0x9a, 0xfe, 0x75,
-  0x65, 0xb4, 0x00, 0xec, 0x81, 0x4c, 0x14, 0x82, 0xf2, 0x2d, 0x1d, 0x27,
-  0x9d, 0x8d, 0x15, 0x5e, 0xe6, 0x90, 0x06, 0x72, 0xcc, 0xf6, 0x8d, 0xda,
-  0x5c, 0x38, 0xc3, 0x99, 0x2c, 0x65, 0x6c, 0x11, 0x93, 0xdd, 0xe2, 0x75,
-  0x62, 0x8e, 0x69, 0x4d, 0x8a, 0x02, 0xab, 0x03, 0x66, 0xf2, 0xde, 0x62,
-  0xcd, 0xa6, 0xa5, 0x9f, 0x48, 0x25, 0xe9, 0x28, 0x3e, 0x78, 0x6d, 0x56,
-  0x1a, 0x22, 0x33, 0xb3, 0x35, 0xcc, 0x98, 0x56, 0x46, 0x2c, 0x16, 0xbb,
-  0x02, 0x22, 0x37, 0x63, 0xd2, 0x0f, 0xf3, 0x86, 0x64, 0x0c, 0x74, 0x58,
-  0x33, 0x5f, 0xb3, 0x29, 0x50, 0x44, 0x0d, 0xa3, 0xf6, 0xd6, 0x0f, 0xf1,
-  0x68, 0x9e, 0x4d, 0xae, 0x8d, 0x96, 0x62, 0x14, 0xd2, 0xcc, 0xbe, 0x05,
-  0x79, 0x3e, 0x25, 0xdd, 0x68, 0x61, 0xee, 0xcb, 0xb4, 0xac, 0x2a, 0xd2,
-  0xf7, 0xe9, 0x04, 0x27, 0xcc, 0x44, 0x97, 0x99, 0x51, 0x23, 0xfc, 0xed,
-  0xcc, 0x49, 0xa0, 0x19, 0xfe, 0x62, 0xf4, 0x12, 0x70, 0x10, 0xa3, 0x3f,
-  0x80, 0xe7, 0x63, 0xe1, 0x98, 0x1d, 0x8d, 0x3d, 0x9d, 0x66, 0xab, 0xa6,
-  0x8e, 0xad, 0x49, 0x0f, 0xdc, 0x4c, 0xa7, 0xca, 0x68, 0xe7, 0x7d, 0xa5,
-  0x0b, 0xfb, 0x6a, 0x85, 0x3e, 0xf4, 0x2e, 0xd5, 0x63, 0x8c, 0x1e, 0x56,
-  0xdb, 0x5d, 0x6b, 0x40, 0x1b, 0x86, 0x8d, 0x61, 0xcf, 0x97, 0x34, 0x51,
-  0x7a, 0xb8, 0xe6, 0x9b, 0x0a, 0xd6, 0x4c, 0x07, 0xc9, 0x9a, 0x36, 0x7f,
-  0x97, 0x44, 0x97, 0xd9, 0x4f, 0x3b, 0xb8, 0xf9, 0xaa, 0x3d, 0x53, 0xfa,
-  0x3c, 0xa9, 0xf8, 0x46, 0x92, 0xcf, 0xea, 0x2b, 0xa3, 0x7c, 0xd5, 0x72,
-  0xb3, 0xf3, 0xa5, 0xa1, 0x99, 0x6b, 0x3a, 0xdf, 0x55, 0x96, 0xcd, 0x46,
-  0xc9, 0xe9, 0x9c, 0xb8, 0x6a, 0x65, 0x26, 0xdd, 0xe0, 0xd7, 0x24, 0x55,
-  0xcc, 0xbe, 0xcd, 0xa0, 0xc4, 0xdb, 0xab, 0xc5, 0x53, 0xf1, 0xa4, 0x03,
-  0x38, 0x79, 0x6a, 0x7e, 0x62, 0x66, 0xbb, 0x68, 0x8b, 0x20, 0xdc, 0x43,
-  0xc3, 0xbd, 0x69, 0x7a, 0x93, 0x2c, 0x01, 0x25, 0x4e, 0xb2, 0xe6, 0x26,
-  0xcb, 0xec, 0x70, 0x75, 0x66, 0xc4, 0x1e, 0x1d, 0x1a, 0x6b, 0x7e, 0x60,
-  0x86, 0xb4, 0xb5, 0x67, 0xe7, 0xa7, 0x5f, 0x9d, 0x1f, 0x8d, 0xc7, 0xc9,
-  0xbb, 0xa3, 0x8b, 0xa3, 0xf3, 0xd6, 0x4e, 0x17, 0x65, 0xb5, 0xc4, 0x89,
-  0xce, 0xf2, 0x7a, 0xb5, 0x48, 0xef, 0xe8, 0xa8, 0xcd, 0x4a, 0x2e, 0x2b,
-  0xba, 0x59, 0xcb, 0x8c, 0xa4, 0xc2, 0x6c, 0x0d, 0x4e, 0x66, 0xc4, 0x91,
-  0x39, 0x3e, 0xd1, 0x78, 0x89, 0x99, 0x40, 0x4d, 0x2e, 0x2e, 0xdd, 0x4e,
-  0x1b, 0x8e, 0x23, 0x92, 0x94, 0x44, 0xa9, 0x3d, 0x0f, 0x52, 0x3d, 0x61,
-  0xdc, 0x0c, 0xdc, 0xcf, 0x78, 0x9b, 0x58, 0xb4, 0x19, 0x9a, 0xcd, 0x97,
-  0x60, 0x76, 0xe6, 0x4f, 0xa7, 0x6d, 0x66, 0x73, 0xa3, 0x6a, 0x1b, 0xe9,
-  0xca, 0x96, 0x42, 0x77, 0x4e, 0x3a, 0x5b, 0xab, 0x1f, 0x1b, 0x32, 0x24,
-  0xd6, 0x4c, 0x03, 0xf2, 0x54, 0xf8, 0x0b, 0x96, 0x89, 0x19, 0x9d, 0x84,
-  0x78, 0x9f, 0x3c, 0xb6, 0xa2, 0x29, 0x64, 0xe6, 0x64, 0x67, 0x3c, 0x7c,
-  0xbd, 0x9e, 0xe3, 0x22, 0x27, 0x3b, 0x46, 0x33, 0x7f, 0x67, 0xac, 0x25,
-  0x63, 0xb1, 0x0c, 0x92, 0xb3, 0x5d, 0xbc, 0x77, 0xb0, 0x7f, 0xf8, 0x98,
-  0x19, 0xc1, 0x48, 0x87, 0x7b, 0xeb, 0x31, 0xe2, 0x83, 0x4f, 0x74, 0xbc,
-  0xfc, 0x10, 0x0d, 0x3e, 0x4a, 0x0e, 0xde, 0xf1, 0x4f, 0x1e, 0x7f, 0xfe,
-  0xe4, 0xd9, 0x53, 0xf9, 0x61, 0x9b, 0xc0, 0xed, 0xfc, 0x41, 0x1d, 0xb0,
-  0xfc, 0xc8, 0x14, 0x34, 0x33, 0x31, 0xab, 0x5b, 0xe6, 0x85, 0xb9, 0x26,
-  0xe6, 0x5a, 0x09, 0xaf, 0x22, 0x7a, 0x36, 0x93, 0x9f, 0x33, 0x67, 0x93,
-  0x73, 0x6d, 0x9b, 0x94, 0xe6, 0x65, 0x43, 0xb2, 0x86, 0x97, 0xdb, 0x43,
-  0x62, 0x35, 0xa1, 0xa1, 0x89, 0xa4, 0x13, 0x62, 0xb0, 0x64, 0x57, 0x19,
-  0x05, 0x38, 0x8b, 0x7e, 0xcd, 0x4a, 0x45, 0xf3, 0x86, 0x99, 0x9b, 0x91,
-  0x89, 0x24, 0xe6, 0xc2, 0x7d, 0x37, 0xac, 0x00, 0x1c, 0xf2, 0x26, 0xaf,
-  0xc1, 0x1a, 0x6e, 0xca, 0xf5, 0xc2, 0x58, 0x31, 0xf4, 0xc0, 0x7a, 0x85,
-  0x17, 0xcc, 0xa7, 0x56, 0x8e, 0x07, 0x18, 0x8d, 0x85, 0x68, 0xa7, 0x3b,
-  0x8a, 0x99, 0x9a, 0xf9, 0xe7, 0xca, 0x90, 0x12, 0x4f, 0x67, 0xd4, 0x95,
-  0x10, 0xe0, 0x7d, 0x01, 0x25, 0xd2, 0x9d, 0x07, 0xd3, 0x3e, 0x3b, 0x1d,
-  0x5f, 0x90, 0x06, 0x70, 0xf6, 0xe1, 0xc2, 0x0c, 0x64, 0x54, 0x80, 0xba,
-  0x31, 0x44, 0x49, 0x2f, 0x16, 0x19, 0x4c, 0x48, 0x1d, 0xce, 0xd0, 0x5e,
-  0x0e, 0x46, 0x05, 0xb5, 0x46, 0x3f, 0xc9, 0x73, 0x64, 0x1b, 0x9b, 0xae,
-  0xa0, 0x5a, 0xd8, 0x2c, 0xc3, 0xed, 0x3b, 0xc9, 0xce, 0x9f, 0x76, 0x0d,
-  0xcd, 0x0e, 0x4b, 0xbb, 0x3b, 0xc3, 0xa1, 0xbc, 0x6a, 0xbe, 0x5d, 0xe7,
-  0xcb, 0x7c, 0x91, 0x56, 0xde, 0xd4, 0x99, 0xa3, 0xd2, 0xfd, 0xb4, 0x7c,
-  0x65, 0x6a, 0xa8, 0x06, 0xd3, 0x76, 0xa6, 0x24, 0xed, 0x21, 0xb8, 0x92,
-  0x3b, 0xaa, 0x19, 0x29, 0x04, 0xd0, 0x98, 0x57, 0xb9, 0xdd, 0x3a, 0x3a,
-  0x33, 0x62, 0x57, 0xad, 0x8d, 0xea, 0x9e, 0x5b, 0xb0, 0x71, 0x24, 0x91,
-  0xe0, 0xa9, 0xb0, 0x5b, 0x97, 0x6c, 0x4d, 0xd2, 0x6a, 0x2b, 0xb1, 0xbc,
-  0x98, 0xef, 0x26, 0xdd, 0x90, 0x2a, 0xbb, 0x5c, 0x9b, 0x15, 0x24, 0xbc,
-  0xbb, 0xb4, 0xd2, 0xdf, 0x79, 0x2b, 0xd5, 0x01, 0x86, 0x13, 0x7a, 0x24,
-  0xaf, 0xd9, 0xcc, 0x9c, 0x1b, 0xbb, 0x85, 0x2e, 0x8d, 0xea, 0xaf, 0xd0,
-  0x68, 0x84, 0x62, 0x22, 0x04, 0xe3, 0xe9, 0xb5, 0xe6, 0xaa, 0x34, 0x99,
-  0x61, 0x34, 0x60, 0xff, 0xf4, 0xe4, 0xd0, 0x1c, 0xd9, 0x70, 0x58, 0x9b,
-  0xfd, 0x27, 0xdd, 0x7b, 0x25, 0x36, 0xfd, 0x29, 0x1c, 0x26, 0xd6, 0xb7,
-  0x72, 0x2a, 0x3a, 0x30, 0xc4, 0x26, 0xbf, 0x0b, 0x16, 0x6a, 0x14, 0xd5,
-  0x1b, 0xf3, 0xe1, 0xd4, 0x1c, 0x99, 0xb9, 0x70, 0xef, 0x68, 0xa3, 0xd8,
-  0x37, 0x92, 0x58, 0xb5, 0x19, 0x94, 0x91, 0xd3, 0xbd, 0x4f, 0x9d, 0x2e,
-  0x33, 0x9b, 0xe5, 0xf4, 0x5b, 0x73, 0xbf, 0x8c, 0x84, 0x5b, 0x67, 0xb0,
-  0x3d, 0x64, 0x53, 0x97, 0x6e, 0x33, 0x61, 0xc6, 0xd6, 0x57, 0x25, 0x99,
-  0x89, 0x5b, 0xcc, 0x8b, 0x87, 0xf4, 0xad, 0x2d, 0xc8, 0xf3, 0x65, 0xa2,
-  0xdf, 0x92, 0x4f, 0x99, 0x75, 0xcc, 0x7c, 0xdd, 0x6c, 0x60, 0x04, 0xcd,
-  0x9d, 0x67, 0x24, 0x80, 0x57, 0xf3, 0xdc, 0x2b, 0xab, 0xf0, 0x18, 0x91,
-  0xba, 0x22, 0x65, 0x4a, 0x78, 0x38, 0x84, 0x21, 0xae, 0x6c, 0xcd, 0x53,
-  0x1b, 0x98, 0xbd, 0xa5, 0x27, 0x2f, 0xaf, 0xf4, 0x51, 0x4f, 0xb0, 0xa6,
-  0x66, 0x71, 0x24, 0x1c, 0xc8, 0x9e, 0x9e, 0x29, 0xdf, 0x2f, 0x2b, 0x66,
-  0x66, 0x8b, 0xd2, 0xd0, 0xf2, 0x16, 0xab, 0xac, 0x32, 0x6d, 0x9a, 0x35,
-  0xcd, 0x92, 0x76, 0x9c, 0xfd, 0x4c, 0xa5, 0x3d, 0x1b, 0x3b, 0x69, 0xd9,
-  0xaf, 0xfa, 0xde, 0xa9, 0xb9, 0x8d, 0x1a, 0x63, 0x8f, 0x8c, 0xe8, 0xac,
-  0x89, 0x8e, 0x75, 0xe7, 0x41, 0xde, 0x46, 0xd4, 0x6d, 0x37, 0x7c, 0x1f,
-  0x61, 0x63, 0x75, 0x76, 0xbe, 0x06, 0xf9, 0x88, 0x20, 0xb3, 0x2b, 0x33,
-  0x2b, 0x9a, 0xe5, 0x29, 0xe8, 0x84, 0x8f, 0x06, 0xca, 0x88, 0xb3, 0x08,
-  0x23, 0x7a, 0xf0, 0x5d, 0xd7, 0xa0, 0x5b, 0x2c, 0x7c, 0x91, 0xa4, 0x73,
-  0x1a, 0x9e, 0x9a, 0xb5, 0x9f, 0x60, 0x1d, 0xc3, 0xeb, 0x84, 0xae, 0x9f,
-  0x31, 0x1b, 0xe8, 0x2e, 0x0e, 0x4f, 0x4f, 0xae, 0xbd, 0x6b, 0x44, 0x96,
-  0x7b, 0x41, 0x7a, 0xca, 0x00, 0xde, 0x91, 0x49, 0x59, 0x1a, 0x33, 0xd9,
-  0x2d, 0x8d, 0xe4, 0x41, 0x56, 0x10, 0xb5, 0xcb, 0x89, 0x1a, 0x96, 0xb0,
-  0xb2, 0xfc, 0xf6, 0xce, 0x98, 0x4b, 0xe9, 0x65, 0x9a, 0x5b, 0x7a, 0x93,
-  0x9b, 0x31, 0x4b, 0xf4, 0xe1, 0xa2, 0x94, 0xe7, 0xe9, 0xa8, 0x48, 0x05,
-  0x12, 0xbe, 0xb5, 0xae, 0xf9, 0xfa, 0x98, 0x55, 0x19, 0xce, 0x03, 0xde,
-  0x21, 0xe3, 0x92, 0xda, 0xa8, 0xc3, 0x4d, 0xa0, 0x28, 0x93, 0xce, 0x09,
-  0xe6, 0x0b, 0x0d, 0xd2, 0x8c, 0xb8, 0x35, 0x4a, 0xbe, 0x2e, 0x6f, 0x32,
-  0xf8, 0x0a, 0xa1, 0xdf, 0xe7, 0xe4, 0xed, 0x32, 0xaa, 0xe0, 0x4d, 0x96,
-  0x2c, 0x8d, 0xea, 0x69, 0x76, 0x13, 0xda, 0x07, 0x7e, 0xe6, 0x99, 0x87,
-  0x86, 0xc2, 0x6f, 0x78, 0x97, 0xec, 0x2a, 0xec, 0x51, 0xce, 0xf9, 0x4a,
-  0x24, 0x3b, 0x50, 0x6f, 0xa6, 0xb4, 0x5b, 0xab, 0xc6, 0xad, 0xc2, 0x6e,
-  0xc8, 0x4d, 0x5a, 0x7b, 0x97, 0x2b, 0x83, 0x69, 0xfa, 0x6c, 0x74, 0xf0,
-  0x7c, 0xb4, 0x3f, 0x32, 0x86, 0x48, 0x76, 0x9d, 0x97, 0xeb, 0xda, 0x7c,
-  0x9a, 0xa6, 0xe1, 0xde, 0xc9, 0xe8, 0x56, 0x36, 0xe5, 0xe5, 0xe5, 0x82,
-  0x75, 0x9e, 0xbd, 0x72, 0x3e, 0x67, 0xdd, 0xc7, 0x68, 0x7a, 0x56, 0x7f,
-  0x66, 0x0b, 0x88, 0x76, 0x46, 0xae, 0x1b, 0xb3, 0xd4, 0xd0, 0x44, 0x1e,
-  0x39, 0xe7, 0xc5, 0x70, 0x98, 0x4e, 0xea, 0x86, 0x8c, 0xa9, 0xe1, 0xba,
-  0xc8, 0x6f, 0x87, 0x75, 0x39, 0xfd, 0x64, 0x0e, 0xe5, 0xe5, 0x2a, 0x6d,
-  0xae, 0xfe, 0xd4, 0x71, 0x09, 0xef, 0x90, 0x2c, 0xd9, 0x4d, 0x92, 0xd7,
-  0xac, 0x56, 0xd2, 0x4e, 0x54, 0x7c, 0xdf, 0xcc, 0x69, 0xca, 0x28, 0xc9,
-  0x07, 0x33, 0x8a, 0xa1, 0xe5, 0xa5, 0x39, 0xd4, 0x84, 0x07, 0x1b, 0x28,
-  0x2b, 0xed, 0x0c, 0x07, 0x87, 0x23, 0x89, 0x11, 0xf8, 0xed, 0xcc, 0xd5,
-  0x29, 0xab, 0x4f, 0x46, 0xd1, 0x7e, 0x6f, 0x4c, 0xc6, 0x17, 0xf4, 0x6f,
-  0xc3, 0xc2, 0x1a, 0x6c, 0xb9, 0x48, 0x56, 0x33, 0x23, 0x66, 0xc6, 0x64,
-  0x91, 0xa7, 0x93, 0x61, 0x67, 0x38, 0xf9, 0xbe, 0x7c, 0x34, 0x51, 0x5b,
-  0x43, 0x49, 0x29, 0xd9, 0xfe, 0xd2, 0xd8, 0x7f, 0x57, 0x7c, 0xec, 0x18,
-  0x90, 0xd7, 0x68, 0x28, 0xf4, 0xd2, 0x58, 0x10, 0x45, 0xd3, 0x1d, 0xee,
-  0x0a, 0xa2, 0x9a, 0xa4, 0x0c, 0x1b, 0xbb, 0x20, 0x12, 0xf1, 0x00, 0x59,
-  0xfb, 0x73, 0xf4, 0x59, 0xe7, 0xb5, 0x57, 0xee, 0x4c, 0x9f, 0x3c, 0x32,
-  0x67, 0xea, 0x6f, 0xf4, 0xa2, 0x19, 0xd6, 0xd7, 0xd3, 0xe4, 0x25, 0xb4,
-  0x6f, 0x22, 0xd3, 0xe8, 0x06, 0x8f, 0x77, 0x93, 0xef, 0x5e, 0x9d, 0xbf,
-  0x3f, 0x7e, 0xff, 0xd5, 0x0b, 0xfe, 0xa8, 0x50, 0x9a, 0xf9, 0x5b, 0x76,
-  0xbb, 0x22, 0x3f, 0x18, 0xcd, 0xd6, 0x88, 0xb2, 0x24, 0x79, 0x53, 0xc2,
-  0x1e, 0x01, 0xc3, 0x24, 0x81, 0xd5, 0x19, 0xce, 0x88, 0x96, 0xd9, 0xba,
-  0xe3, 0xfb, 0xb5, 0x0c, 0xdb, 0x0d, 0xcc, 0xd7, 0x93, 0x37, 0x59, 0xe7,
-  0x68, 0xf8, 0x23, 0xbb, 0x8f, 0xa1, 0x2f, 0x8d, 0x48, 0x5a, 0xc2, 0xcc,
-  0xd7, 0x99, 0x77, 0xbf, 0x54, 0x1a, 0x63, 0x97, 0xed, 0x7c, 0x33, 0xde,
-  0xad, 0xb9, 0x36, 0xb4, 0x4b, 0x3a, 0xd8, 0xd4, 0xb0, 0xa3, 0x4c, 0x14,
-  0x07, 0xb0, 0x3a, 0x98, 0x0d, 0xc2, 0xca, 0x46, 0xc9, 0xab, 0x79, 0xf7,
-  0x28, 0x49, 0x77, 0x21, 0xad, 0x5e, 0xa5, 0xe0, 0xcc, 0x29, 0xc2, 0xec,
-  0xe5, 0xe5, 0x11, 0x75, 0x98, 0xda, 0x9c, 0xcf, 0x4c, 0x25, 0x3d, 0x7d,
-  0xa6, 0x33, 0x1c, 0x4c, 0x4f, 0xb0, 0x19, 0x52, 0x0a, 0x73, 0x3a, 0x50,
-  0x32, 0xfd, 0x0c, 0xa3, 0x5e, 0x96, 0x33, 0xd8, 0x11, 0xc1, 0xfe, 0x8c,
-  0xad, 0xc3, 0x67, 0x6b, 0xcb, 0xad, 0x3a, 0xd9, 0x21, 0xd7, 0x9f, 0xa1,
-  0x82, 0xe2, 0xb2, 0xb9, 0xda, 0x75, 0x6e, 0x0d, 0x52, 0x53, 0xcc, 0x82,
-  0xf7, 0xcc, 0x44, 0xb0, 0xee, 0xa2, 0x4b, 0xea, 0x70, 0x3b, 0x43, 0xf3,
-  0xfc, 0xdb, 0xba, 0x6e, 0x60, 0x0d, 0x89, 0xf8, 0xe7, 0x95, 0x98, 0x99,
-  0x2d, 0xb3, 0x65, 0x59, 0xdd, 0x05, 0x13, 0x39, 0x86, 0xf2, 0x41, 0x86,
-  0xa7, 0x9c, 0x16, 0xd1, 0x01, 0xe4, 0xa3, 0xba, 0x04, 0xc9, 0x08, 0x20,
-  0x9f, 0xba, 0xb5, 0x03, 0xa1, 0x34, 0x19, 0x06, 0x64, 0xec, 0x6f, 0xe7,
-  0xb0, 0x55, 0x03, 0x0a, 0x8e, 0x1e, 0xb6, 0xed, 0xc5, 0x9a, 0x9a, 0x88,
-  0x0b, 0x87, 0xfe, 0x7f, 0x91, 0x12, 0xd7, 0x29, 0xb2, 0xd6, 0x09, 0x41,
-  0x7a, 0xf0, 0xd2, 0x36, 0x91, 0xfb, 0xd3, 0xc7, 0xa3, 0x83, 0x16, 0xb9,
-  0x17, 0x77, 0x14, 0x28, 0x88, 0xf3, 0x90, 0x0b, 0xa3, 0x38, 0xd6, 0x3c,
-  0x67, 0xb3, 0x8b, 0xf3, 0xfc, 0x72, 0x5d, 0x65, 0xac, 0xc1, 0x21, 0xb6,
-  0xa0, 0x21, 0x05, 0x52, 0x8a, 0xae, 0x4a, 0x78, 0xe2, 0x8d, 0x30, 0xcd,
-  0x16, 0xf3, 0x41, 0x67, 0x38, 0x98, 0x2f, 0xa0, 0x7e, 0x9a, 0x3e, 0x98,
-  0xa6, 0x31, 0x53, 0x30, 0x58, 0x91, 0x89, 0x12, 0xbb, 0x34, 0x0c, 0x25,
-  0x21, 0x57, 0x74, 0x32, 0x5d, 0xa4, 0xf9, 0x12, 0x64, 0x2a, 0xae, 0xd6,
-  0x51, 0xec, 0x5a, 0x90, 0x81, 0x41, 0x6f, 0x4f, 0xc8, 0xf4, 0xad, 0x6a,
-  0x92, 0xcc, 0x38, 0x55, 0xd5, 0x9c, 0xd9, 0xb0, 0xbc, 0xca, 0xa6, 0x9f,
-  0x94, 0x79, 0xa9, 0xca, 0xd9, 0xa5, 0x63, 0x8a, 0x31, 0xc0, 0xbe, 0x36,
-  0x4f, 0xad, 0x6b, 0xba, 0x26, 0x75, 0x9d, 0x93, 0xfb, 0x8c, 0xcc, 0xc1,
-  0xf5, 0x14, 0x56, 0x22, 0x2e, 0x8c, 0xa1, 0x6e, 0xe5, 0x80, 0x89, 0x61,
-  0xa9, 0xc5, 0x6c, 0xd8, 0x54, 0xf9, 0xaa, 0x6f, 0x76, 0x7c, 0x2a, 0x6d,
-  0x05, 0xb5, 0x16, 0x8b, 0x1d, 0xc6, 0x30, 0x9b, 0xc7, 0xd3, 0xa4, 0xb3,
-  0x9b, 0x5d, 0xa2, 0xc4, 0xde, 0x0e, 0xc8, 0x1f, 0x94, 0x1b, 0x7d, 0x81,
-  0x8d, 0x25, 0xb8, 0x3b, 0x8d, 0x69, 0x24, 0x82, 0xcb, 0x58, 0x71, 0xf9,
-  0x14, 0x4a, 0x50, 0x7e, 0x99, 0x51, 0x2c, 0xc7, 0xc8, 0xb2, 0x66, 0x61,
-  0x54, 0xa3, 0x90, 0xc6, 0xcd, 0x6f, 0xb2, 0xcb, 0xb2, 0x21, 0x6d, 0x24,
-  0x20, 0x93, 0x0f, 0xe0, 0xf3, 0x96, 0x26, 0x54, 0xed, 0xf7, 0x75, 0xb2,
-  0x9c, 0xf5, 0x71, 0xf3, 0x69, 0x56, 0xfb, 0xc5, 0xe3, 0x50, 0x37, 0xe6,
-  0x66, 0x75, 0x4f, 0xdd, 0x8c, 0x36, 0xcd, 0x60, 0x7b, 0x41, 0x71, 0x54,
-  0xbd, 0x55, 0x15, 0x7e, 0x62, 0x09, 0xa4, 0x23, 0x37, 0x37, 0xf9, 0x34,
-  0x53, 0x77, 0x9c, 0xf8, 0xa8, 0x17, 0x79, 0xc8, 0xea, 0x97, 0x74, 0x27,
-  0xcd, 0x4b, 0xac, 0x93, 0x93, 0xf7, 0xe4, 0x26, 0x27, 0x9d, 0x5d, 0x98,
-  0x1e, 0x54, 0x32, 0x11, 0x07, 0x69, 0x95, 0xc3, 0x55, 0x64, 0x86, 0x93,
-  0x79, 0x7a, 0x16, 0xbd, 0x7f, 0xc7, 0x78, 0xde, 0x78, 0x5f, 0xcc, 0x18,
-  0x67, 0xbe, 0xe0, 0x72, 0xcd, 0xd3, 0x7c, 0x11, 0xd9, 0x27, 0x30, 0xb2,
-  0xcb, 0x0c, 0x5e, 0x35, 0x3e, 0x83, 0x35, 0x6d, 0x3a, 0xc5, 0xdd, 0x42,
-  0x26, 0x95, 0x65, 0x6c, 0x4f, 0xc0, 0xf8, 0xb8, 0xbd, 0xb3, 0xdb, 0x0b,
-  0xa5, 0x8d, 0xcf, 0x4e, 0xfe, 0xce, 0xc7, 0xe7, 0x5d, 0xcf, 0x94, 0x46,
-  0x4d, 0x57, 0x14, 0x60, 0xea, 0xde, 0x50, 0x32, 0xbd, 0x28, 0x46, 0xb9,
-  0xab, 0x1e, 0xe4, 0x4c, 0xfc, 0xe7, 0x36, 0xb6, 0x07, 0x86, 0x44, 0x3c,
-  0x4d, 0xae, 0x30, 0x8f, 0x23, 0x1c, 0xb8, 0xcb, 0xcb, 0x8d, 0x7c, 0x35,
-  0xe2, 0x18, 0x3c, 0xb4, 0x45, 0xb1, 0xa5, 0x61, 0x5f, 0x36, 0xc2, 0x44,
-  0x1e, 0x5f, 0xe1, 0x75, 0x30, 0xb4, 0x70, 0x67, 0x63, 0xbc, 0x9c, 0x4c,
-  0x3f, 0xd2, 0x93, 0x59, 0xca, 0x0c, 0x12, 0xd6, 0xeb, 0x98, 0x59, 0x4d,
-  0xd9, 0x07, 0x2c, 0x3a, 0x04, 0x8b, 0x1a, 0x4c, 0x75, 0xbe, 0x48, 0x2f,
-  0xe1, 0x5e, 0xbb, 0xec, 0xde, 0xd0, 0xa2, 0x94, 0x40, 0x5f, 0x5d, 0x1a,
-  0xf6, 0x4e, 0xab, 0x16, 0xd7, 0x56, 0x9d, 0xec, 0x18, 0x22, 0x5b, 0xac,
-  0x21, 0xee, 0x4f, 0xcd, 0xf2, 0xc6, 0xe3, 0xaf, 0x77, 0x7d, 0xf6, 0x86,
-  0xdd, 0x7d, 0x08, 0x73, 0x23, 0xee, 0x04, 0x23, 0xfc, 0xcf, 0x7c, 0x1e,
-  0x6d, 0x06, 0x67, 0xad, 0x3b, 0x5f, 0x93, 0x53, 0xba, 0xa4, 0x55, 0x90,
-  0x2b, 0x74, 0x64, 0xaf, 0x3e, 0x3d, 0xa9, 0x1e, 0x59, 0x26, 0xec, 0x96,
-  0x82, 0xb0, 0xae, 0xd7, 0x70, 0x4e, 0x41, 0x1e, 0x77, 0x87, 0x33, 0xcc,
-  0xde, 0xb0, 0xa2, 0x75, 0x41, 0x7f, 0x5a, 0x1d, 0x3a, 0x87, 0x35, 0x47,
-  0x67, 0x51, 0x91, 0x0b, 0x9c, 0xec, 0x60, 0xab, 0x83, 0x1a, 0x9e, 0xa2,
-  0x63, 0xd3, 0x5e, 0x76, 0x2f, 0xa1, 0xd1, 0xd0, 0xc0, 0x6e, 0x8c, 0x08,
-  0x35, 0x82, 0x99, 0x2e, 0x5c, 0x0f, 0xf7, 0xde, 0xa9, 0xd7, 0x86, 0xbf,
-  0x90, 0xe9, 0x20, 0xcc, 0x83, 0xe8, 0xb1, 0x3b, 0x3b, 0x66, 0x2f, 0x46,
-  0xd2, 0x78, 0x7c, 0x64, 0xf7, 0x97, 0xbe, 0x20, 0x38, 0x34, 0xff, 0x14,
-  0x8d, 0xf8, 0xcd, 0x8c, 0x41, 0x06, 0x95, 0x2c, 0xd0, 0xc6, 0x2e, 0x4e,
-  0xc6, 0xb1, 0xc3, 0x6c, 0xc7, 0xa7, 0xe8, 0x7d, 0x62, 0xb6, 0xe4, 0x46,
-  0x64, 0xb7, 0x6a, 0x49, 0x46, 0x81, 0x17, 0xa3, 0xf2, 0xfd, 0x7d, 0xab,
-  0x8c, 0x82, 0x59, 0x6c, 0x2f, 0x73, 0xf0, 0x9b, 0x18, 0x18, 0x09, 0x6b,
-  0xd2, 0x4e, 0xac, 0x0b, 0xf5, 0xf5, 0x2b, 0x7f, 0x5c, 0xf8, 0x4c, 0xbb,
-  0x17, 0xc1, 0xfb, 0xfd, 0x4e, 0xbd, 0x6b, 0x79, 0x98, 0x19, 0xe5, 0xec,
-  0xe8, 0x1d, 0xec, 0xd7, 0xd4, 0xd0, 0xcd, 0x7b, 0x75, 0x57, 0x6a, 0x6c,
-  0x7b, 0xb2, 0xce, 0x17, 0xad, 0x98, 0x80, 0x33, 0xb9, 0x11, 0x58, 0x66,
-  0xd2, 0xc2, 0xd4, 0x38, 0xba, 0x95, 0xc3, 0x3d, 0xdc, 0x25, 0xb4, 0xe6,
-  0x6e, 0x25, 0x9e, 0xed, 0x75, 0xdd, 0x72, 0x20, 0xa9, 0x5c, 0x5e, 0x34,
-  0xd0, 0xb2, 0xc9, 0xae, 0xf5, 0xc6, 0x0c, 0x4e, 0x08, 0xd3, 0x22, 0x31,
-  0x70, 0x59, 0xe4, 0xff, 0x10, 0x1d, 0x34, 0x2b, 0xae, 0xf3, 0xaa, 0x2c,
-  0x48, 0xcb, 0x35, 0xa6, 0x6f, 0x95, 0x83, 0x2d, 0x93, 0xfa, 0x65, 0x18,
-  0xc7, 0xf6, 0xeb, 0x0f, 0xe7, 0x27, 0x1f, 0x5f, 0xbf, 0xfa, 0xf8, 0xe7,
-  0x0f, 0xef, 0xdf, 0x9c, 0x1c, 0x6d, 0x77, 0x86, 0x23, 0x9f, 0x5f, 0x2e,
-  0x8e, 0xfa, 0x9a, 0x2c, 0x0f, 0x5c, 0x12, 0x33, 0x45, 0x1e, 0xf9, 0x32,
-  0xbf, 0x36, 0x0c, 0x0d, 0x86, 0x04, 0x7c, 0xf4, 0xf8, 0x1b, 0xbc, 0x5a,
-  0xb2, 0xe1, 0x9d, 0xe1, 0x26, 0x6b, 0xd2, 0xd3, 0x46, 0x2d, 0x6d, 0x59,
-  0xaf, 0x8a, 0x58, 0xed, 0x3a, 0xc1, 0x88, 0x86, 0x4d, 0x5a, 0x54, 0x31,
-  0x23, 0xf3, 0xc5, 0x33, 0x12, 0x3d, 0x77, 0xfd, 0xba, 0x31, 0x56, 0x92,
-  0x06, 0x08, 0x8c, 0xd6, 0x56, 0x7e, 0xd2, 0x2c, 0x03, 0x63, 0x62, 0xbd,
-  0x8a, 0x1c, 0x77, 0xed, 0x34, 0xd1, 0x59, 0xb2, 0x4d, 0x23, 0x19, 0xfa,
-  0x1d, 0xca, 0x24, 0xa7, 0x55, 0x63, 0xec, 0x9b, 0x2c, 0xc7, 0xc5, 0xd0,
-  0x28, 0x2a, 0xe9, 0xac, 0x70, 0xce, 0x05, 0x1a, 0xb6, 0xd1, 0x35, 0x69,
-  0x0f, 0xa0, 0xdd, 0x67, 0xb7, 0x19, 0x6e, 0x9e, 0xbc, 0xf5, 0x7a, 0x5d,
-  0xe1, 0x36, 0x7f, 0x67, 0xb4, 0x11, 0xe2, 0x7e, 0x6f, 0xe0, 0xdd, 0x33,
-  0x2f, 0xe8, 0x43, 0x46, 0xcc, 0x74, 0x45, 0x5e, 0xb9, 0xa0, 0xb8, 0x6a,
-  0x0a, 0x4f, 0x0a, 0xfc, 0x5e, 0x67, 0xaf, 0x2e, 0xbe, 0x8e, 0x2a, 0xb3,
-  0x2e, 0xa5, 0x47, 0x48, 0x11, 0x8a, 0x79, 0xdd, 0xc8, 0x05, 0x79, 0x3f,
-  0x1e, 0x27, 0x48, 0x18, 0x59, 0xe4, 0x93, 0x2a, 0xa5, 0x6f, 0xd2, 0x8f,
-  0xe9, 0xa7, 0x86, 0xac, 0x3b, 0xc3, 0x9d, 0x7d, 0xf3, 0x7a, 0xfc, 0xbb,
-  0x83, 0x03, 0xd2, 0xe2, 0xd7, 0x66, 0x5f, 0x76, 0xcc, 0x2b, 0x45, 0x6d,
-  0x6e, 0xe6, 0x72, 0x54, 0x97, 0xbb, 0x10, 0xdb, 0xb5, 0xa8, 0x03, 0xe9,
-  0xb5, 0x91, 0xb6, 0xa0, 0x23, 0x25, 0x6a, 0x73, 0x9c, 0xc1, 0x9e, 0x80,
-  0xd1, 0x49, 0x36, 0x8d, 0xe1, 0x17, 0x46, 0x5e, 0x2f, 0x42, 0x85, 0x7c,
-  0x27, 0x3f, 0x1d, 0x4b, 0x2e, 0x4a, 0x3a, 0x35, 0x7f, 0x25, 0x47, 0xc1,
-  0x2e, 0xad, 0xac, 0x7d, 0xc3, 0x74, 0x55, 0x63, 0xd6, 0x46, 0x2f, 0xc8,
-  0x7c, 0x41, 0x0a, 0x4d, 0xc8, 0x15, 0x8a, 0xee, 0xe5, 0x72, 0x69, 0x4a,
-  0x20, 0x87, 0x49, 0x3a, 0xfd, 0x74, 0x93, 0x56, 0x33, 0xb6, 0x87, 0x0c,
-  0xc5, 0x4c, 0xf2, 0x45, 0xde, 0xdc, 0xb1, 0x5d, 0xdb, 0xb5, 0xa9, 0x39,
-  0x3e, 0x4a, 0x1b, 0x68, 0xee, 0xd1, 0xa5, 0x31, 0xf9, 0x49, 0xfb, 0x24,
-  0x15, 0x3f, 0x6f, 0x7c, 0x93, 0x16, 0x2a, 0x52, 0x63, 0x55, 0x1c, 0xfb,
-  0xed, 0x40, 0x3c, 0x36, 0x7c, 0x8f, 0x30, 0x4d, 0x47, 0xbb, 0xca, 0x06,
-  0x7d, 0x26, 0xa5, 0xe4, 0x93, 0xd4, 0x77, 0x46, 0xca, 0x2f, 0x93, 0x88,
-  0x8a, 0x88, 0xec, 0xa1, 0xe4, 0x9b, 0xec, 0xce, 0xd8, 0xcf, 0x79, 0xe1,
-  0x38, 0x25, 0xdb, 0xf7, 0x19, 0x59, 0x77, 0xac, 0x8b, 0xe6, 0xea, 0x4c,
-  0xcf, 0x24, 0x1e, 0xc2, 0x92, 0x24, 0x74, 0x20, 0xf0, 0xfb, 0xaa, 0x87,
-  0xd3, 0x10, 0xdb, 0x75, 0x8b, 0x25, 0xe3, 0x4b, 0xe1, 0x21, 0x8e, 0xcd,
-  0xcf, 0x8b, 0x22, 0x5b, 0xc8, 0xf1, 0x5d, 0x6c, 0x3a, 0x00, 0xfb, 0xac,
-  0x99, 0xf2, 0x77, 0x7c, 0xa3, 0x3b, 0xc3, 0x3d, 0xe3, 0xe0, 0x7e, 0xda,
-  0xa8, 0x4c, 0xd2, 0xac, 0x21, 0x63, 0x15, 0xed, 0xdb, 0x5f, 0x8d, 0x7a,
-  0x3f, 0x13, 0xdc, 0xa6, 0xca, 0x1d, 0x7a, 0xfb, 0xcc, 0xd9, 0x29, 0x8a,
-  0x43, 0xa6, 0x33, 0x96, 0x23, 0xfe, 0xa3, 0xd5, 0xac, 0x10, 0xc0, 0xe8,
-  0x0c, 0xe7, 0x6b, 0xd9, 0x2a, 0xc3, 0x64, 0x1d, 0xdb, 0x46, 0x4f, 0x2d,
-  0x2b, 0xf8, 0x8b, 0xaa, 0xd2, 0x9c, 0x75, 0xeb, 0x3c, 0x77, 0x58, 0xd9,
-  0xe8, 0x5e, 0x13, 0xe1, 0xe6, 0xde, 0xc6, 0xec, 0xc6, 0x2e, 0x7a, 0xa0,
-  0x99, 0x84, 0x26, 0x6b, 0xaf, 0xc5, 0xd9, 0x96, 0xd0, 0xe0, 0xd2, 0x2f,
-  0x0d, 0x1b, 0xfb, 0xd7, 0x05, 0x34, 0x33, 0x43, 0x30, 0xbf, 0x50, 0x66,
-  0x09, 0x2d, 0xb6, 0x04, 0xf5, 0x3b, 0x95, 0xc8, 0x34, 0x09, 0xeb, 0x82,
-  0x5d, 0x71, 0xc2, 0x00, 0x2b, 0x8e, 0xec, 0x4b, 0x0e, 0xcd, 0x00, 0x72,
-  0x07, 0x8a, 0xcb, 0xf1, 0xc5, 0x56, 0xb2, 0x93, 0x8d, 0x2e, 0xcd, 0x78,
-  0x5b, 0x34, 0xce, 0xc1, 0x0b, 0xfa, 0xef, 0x21, 0xfe, 0xfb, 0x68, 0x4b,
-  0x53, 0xfb, 0xfc, 0xad, 0x27, 0x69, 0xde, 0x95, 0x45, 0x1c, 0x8f, 0x73,
-  0xc2, 0x7d, 0xc0, 0x3e, 0xe6, 0x3e, 0xc6, 0xc3, 0x3a, 0xeb, 0x09, 0xef,
-  0x72, 0xa8, 0x6e, 0xe9, 0x36, 0x2c, 0xd9, 0x1f, 0x71, 0x9d, 0xb1, 0x43,
-  0xc4, 0xac, 0x6c, 0x6a, 0xd4, 0x43, 0xb8, 0x11, 0xf5, 0x56, 0x4d, 0x3f,
-  0x56, 0xd9, 0x55, 0x5a, 0x5f, 0x25, 0xeb, 0x86, 0x89, 0xd0, 0xd0, 0x6d,
-  0x77, 0xb8, 0xd5, 0x22, 0x77, 0x9e, 0x36, 0xf9, 0xf4, 0x48, 0xed, 0x3e,
-  0x77, 0x8a, 0x1c, 0x01, 0x59, 0x94, 0x37, 0xfa, 0xcc, 0x50, 0x72, 0xed,
-  0x62, 0x6a, 0x81, 0x39, 0x4d, 0xf8, 0x4d, 0xe8, 0x31, 0x3f, 0x92, 0xbd,
-  0x24, 0x6d, 0x92, 0x12, 0x01, 0x0d, 0x8b, 0x9b, 0x9b, 0x1d, 0x23, 0x8b,
-  0x6e, 0x81, 0x73, 0x23, 0xdb, 0x15, 0xf3, 0x0e, 0x4c, 0x53, 0xd1, 0xf3,
-  0xf2, 0xb9, 0x78, 0x6f, 0xe5, 0xdf, 0x90, 0xa7, 0xa2, 0x7d, 0xd5, 0x1c,
-  0xed, 0xee, 0xaa, 0x5e, 0xf7, 0x93, 0xb6, 0x32, 0x48, 0xab, 0xe9, 0xc8,
-  0x62, 0x39, 0x60, 0xa2, 0x74, 0x9d, 0x5f, 0xc2, 0xd6, 0x88, 0x39, 0x30,
-  0xd8, 0x29, 0xf5, 0x2f, 0x5d, 0x12, 0x33, 0xe3, 0x21, 0xf9, 0x4b, 0xd7,
-  0xf5, 0x03, 0xee, 0x88, 0xc7, 0x74, 0xf9, 0x1d, 0xeb, 0x2f, 0xe6, 0xa8,
-  0xbe, 0xbf, 0x01, 0x5d, 0x2a, 0xbc, 0xf3, 0x08, 0xe3, 0xb5, 0x77, 0xb3,
-  0xc6, 0x3c, 0xd0, 0xb9, 0xb8, 0x48, 0x76, 0xd2, 0x4f, 0xe9, 0x28, 0x39,
-  0x7d, 0x3d, 0x3e, 0xa3, 0x4f, 0x18, 0xea, 0x28, 0x2e, 0xcd, 0x2c, 0x4e,
-  0xc6, 0x9d, 0xe1, 0xb2, 0xdb, 0x26, 0x2b, 0xea, 0x98, 0x83, 0x32, 0xdc,
-  0x66, 0x8d, 0x22, 0x68, 0x7a, 0x8d, 0x4c, 0xd6, 0x58, 0xfa, 0x88, 0x8b,
-  0x53, 0x98, 0x97, 0x72, 0x30, 0x12, 0xbe, 0x6a, 0xc1, 0x87, 0x56, 0xe6,
-  0xe6, 0xcf, 0x76, 0xad, 0xab, 0x66, 0xa0, 0xb4, 0x60, 0xc3, 0x85, 0xf5,
-  0xfa, 0x92, 0x6c, 0x90, 0x5a, 0xed, 0x46, 0xfb, 0x05, 0xb3, 0x1b, 0xa1,
-  0xaa, 0x20, 0xcb, 0xb6, 0x9e, 0x44, 0x63, 0x35, 0x51, 0x26, 0x15, 0x54,
-  0xa4, 0xa2, 0x74, 0xa3, 0x52, 0x36, 0x05, 0xb2, 0x46, 0x73, 0x04, 0xd8,
-  0xa6, 0x99, 0x51, 0x41, 0x67, 0x11, 0x25, 0x80, 0x0f, 0x45, 0x0d, 0xa7,
-  0xb9, 0x64, 0x8a, 0x46, 0xfc, 0x3f, 0x18, 0x68, 0xca, 0x2a, 0x1a, 0x51,
-  0x3d, 0x02, 0x15, 0x39, 0xf9, 0x49, 0x49, 0x61, 0x66, 0x53, 0x9d, 0xc6,
-  0xb3, 0xf7, 0xff, 0xab, 0x62, 0x6d, 0x36, 0x3e, 0x22, 0x8d, 0x49, 0xa9,
-  0x22, 0x31, 0x43, 0x1b, 0xb8, 0xc9, 0xb1, 0xf7, 0xf8, 0xa0, 0xed, 0xc7,
-  0x06, 0xb1, 0x19, 0x03, 0x20, 0x4b, 0x5e, 0xd2, 0x7f, 0xef, 0xe5, 0xca,
-  0x48, 0x5d, 0xc1, 0xf3, 0x12, 0xef, 0x64, 0xde, 0x29, 0xbe, 0x98, 0xa4,
-  0xcd, 0xa0, 0x03, 0xe9, 0x05, 0x72, 0x1b, 0x11, 0xdf, 0x1b, 0x24, 0x6f,
-  0x28, 0x21, 0xfb, 0xe8, 0xfd, 0x57, 0xa0, 0x81, 0xb3, 0x83, 0x43, 0x44,
-  0x97, 0xac, 0xf5, 0x30, 0xc3, 0x47, 0x6a, 0x76, 0x24, 0x70, 0x74, 0x38,
-  0x54, 0x7c, 0x21, 0x13, 0x06, 0x60, 0xa3, 0x14, 0x16, 0x44, 0xf6, 0xd0,
-  0xec, 0xd7, 0x93, 0x5f, 0x81, 0x21, 0x7a, 0x34, 0x90, 0x1d, 0x14, 0xc7,
-  0xcc, 0xa7, 0xec, 0xce, 0xfd, 0x0d, 0xbb, 0xea, 0x6d, 0xb5, 0x7b, 0xf8,
-  0xa5, 0xb7, 0x49, 0x7f, 0x7d, 0x41, 0x19, 0x4a, 0x46, 0x4b, 0x9d, 0xfd,
-  0xf8, 0xf3, 0x24, 0x62, 0x7c, 0xe7, 0x23, 0xce, 0x16, 0xf8, 0xb9, 0x34,
-  0x17, 0x88, 0x43, 0xff, 0xcc, 0xe2, 0x25, 0x1d, 0x9e, 0x32, 0xe5, 0x89,
-  0xe0, 0xd3, 0xc2, 0xaa, 0x24, 0x43, 0x4e, 0x00, 0x43, 0x42, 0x58, 0x77,
-  0xef, 0xa7, 0xe5, 0x22, 0x90, 0x75, 0x2d, 0xc3, 0x15, 0xfa, 0xfc, 0xa1,
-  0xc8, 0x37, 0x18, 0x73, 0xcc, 0x6c, 0x44, 0x8b, 0xee, 0x5e, 0x07, 0xab,
-  0x53, 0x43, 0xfd, 0x72, 0x92, 0x91, 0xde, 0xe4, 0x17, 0x11, 0xe6, 0xc6,
-  0xd4, 0x58, 0x53, 0x1a, 0x25, 0x4e, 0xe3, 0x8d, 0xa9, 0xff, 0xe6, 0x6c,
-  0x75, 0x6f, 0xcd, 0xa1, 0x93, 0x9f, 0xc9, 0xee, 0xda, 0xc0, 0xf7, 0x34,
-  0x19, 0x26, 0x57, 0xe5, 0xaa, 0x9f, 0x4b, 0x32, 0x69, 0x18, 0xc3, 0xe0,
-  0x8c, 0x03, 0xf1, 0x46, 0x49, 0x66, 0x55, 0xcb, 0x97, 0xcf, 0xe4, 0x47,
-  0x96, 0xe8, 0x96, 0xb7, 0x25, 0x5b, 0xb1, 0xa3, 0x68, 0x38, 0xf8, 0x29,
-  0x57, 0x28, 0xbf, 0xa6, 0xad, 0x53, 0xda, 0x71, 0x8e, 0xcd, 0xb6, 0xea,
-  0x5b, 0x16, 0xf4, 0x67, 0x41, 0x3e, 0xb1, 0x7f, 0x8b, 0x10, 0x64, 0x94,
-  0x16, 0xc9, 0x37, 0x2e, 0xb1, 0x0f, 0x28, 0x30, 0x94, 0x04, 0x29, 0x59,
-  0xe8, 0x8b, 0xbb, 0x07, 0x19, 0x74, 0xaa, 0x80, 0xa8, 0xdd, 0xe6, 0x19,
-  0x73, 0x81, 0xb5, 0xd3, 0x25, 0x10, 0xc3, 0xc6, 0x1b, 0x4a, 0x29, 0x61,
-  0xda, 0x25, 0xdf, 0x6b, 0x3e, 0xfd, 0x84, 0xc8, 0x8b, 0x48, 0x28, 0x7f,
-  0x7d, 0x9a, 0xb7, 0xc7, 0x19, 0xa7, 0x91, 0x23, 0x80, 0x2d, 0x49, 0x4e,
-  0x61, 0xa2, 0x49, 0x92, 0xce, 0x79, 0xc1, 0x3a, 0x5b, 0xaf, 0x97, 0xc1,
-  0xcc, 0xf5, 0xe3, 0x9b, 0xe3, 0xf3, 0x64, 0x87, 0x34, 0xf0, 0xae, 0x91,
-  0xab, 0xe2, 0x7d, 0x2f, 0x6b, 0xa6, 0x7b, 0xab, 0x4f, 0xf9, 0x9e, 0x31,
-  0x36, 0x67, 0x93, 0x5d, 0x6b, 0x44, 0xe1, 0x73, 0x44, 0x85, 0xd6, 0x30,
-  0x55, 0xcb, 0x14, 0xa6, 0x69, 0xe0, 0x7a, 0x74, 0xa6, 0x2a, 0x57, 0xb8,
-  0x58, 0x1b, 0x95, 0xb7, 0x89, 0x09, 0x1a, 0x21, 0x1a, 0xce, 0x8e, 0x40,
-  0x60, 0x27, 0x63, 0xbf, 0xb4, 0xb1, 0xb1, 0xbb, 0x77, 0x95, 0xb3, 0x1f,
-  0xc5, 0x91, 0xc3, 0x0e, 0x1c, 0x4d, 0xd9, 0x13, 0x71, 0xe1, 0xb4, 0xdf,
-  0x01, 0x25, 0x5b, 0xd2, 0xa6, 0xac, 0x48, 0x24, 0xcd, 0xc8, 0x0d, 0xd8,
-  0x1d, 0x0e, 0x9a, 0xdc, 0xd6, 0x68, 0x6f, 0x2b, 0xb1, 0xe9, 0xa5, 0x66,
-  0x97, 0x39, 0x7f, 0xda, 0x06, 0xbe, 0x0c, 0x89, 0xcd, 0xd7, 0xb5, 0xf5,
-  0x63, 0xa6, 0xf6, 0xbc, 0x46, 0x31, 0x86, 0xea, 0x1d, 0xa7, 0xd5, 0xb9,
-  0x8c, 0x6e, 0x8c, 0x9b, 0xe5, 0x5b, 0xeb, 0x32, 0x29, 0x1c, 0xd5, 0xd6,
-  0x0f, 0x5b, 0x89, 0x97, 0x9e, 0xd8, 0xca, 0x52, 0xcc, 0x5d, 0x02, 0x91,
-  0x27, 0x04, 0x8c, 0x44, 0xb6, 0x77, 0x78, 0x96, 0x2d, 0xf2, 0x65, 0x0e,
-  0xdb, 0xcb, 0x9f, 0xc2, 0x30, 0x16, 0x20, 0x74, 0x53, 0xfa, 0x21, 0x9c,
-  0x92, 0xa6, 0xfc, 0xa6, 0xf4, 0x6b, 0x33, 0x25, 0x78, 0xc4, 0x38, 0x23,
-  0x33, 0x6e, 0x35, 0xb7, 0x27, 0x64, 0x93, 0x86, 0x37, 0x44, 0x8e, 0xed,
-  0x5d, 0xea, 0x53, 0xe5, 0x9d, 0x4b, 0x44, 0x2f, 0x3d, 0x33, 0xb5, 0x64,
-  0xf5, 0x69, 0x5a, 0x1f, 0x1c, 0x74, 0x05, 0x5d, 0xed, 0x28, 0x4a, 0xec,
-  0xf7, 0xd4, 0x12, 0xe6, 0x87, 0xf3, 0xe3, 0x64, 0x87, 0x8a, 0x44, 0x9e,
-  0x3d, 0x39, 0x38, 0xdc, 0xf5, 0x33, 0x4b, 0x94, 0x01, 0x84, 0x72, 0xf3,
-  0x8e, 0x43, 0xb2, 0xde, 0x05, 0x5c, 0x94, 0xd3, 0x54, 0x34, 0x0e, 0x37,
-  0xf4, 0x2c, 0xbb, 0xce, 0xa7, 0x54, 0xa3, 0x43, 0x01, 0x79, 0xe2, 0xc1,
-  0x93, 0xcc, 0x4c, 0x32, 0xd8, 0x71, 0x97, 0xd1, 0xcb, 0xb3, 0x37, 0x26,
-  0x92, 0xd5, 0x94, 0x29, 0x6f, 0xda, 0xd0, 0x40, 0x23, 0x7b, 0xe7, 0xcf,
-  0x5a, 0xa2, 0x04, 0x69, 0x8f, 0x27, 0x88, 0xd6, 0xc5, 0x15, 0x34, 0xd0,
-  0x31, 0x06, 0x2e, 0xf0, 0x33, 0x1c, 0xca, 0x66, 0x09, 0xeb, 0xb5, 0xb1,
-  0x63, 0xca, 0x40, 0xe9, 0x1e, 0xa0, 0xcc, 0x69, 0x8b, 0x04, 0x49, 0x01,
-  0xe1, 0x9e, 0xba, 0x41, 0xed, 0xee, 0xfb, 0x9a, 0x50, 0x7b, 0xd4, 0xd0,
-  0x53, 0x0e, 0xc2, 0x31, 0x9a, 0x4b, 0x7c, 0xc8, 0xdf, 0xc8, 0xc9, 0xd4,
-  0x66, 0x9f, 0x72, 0x3c, 0x74, 0xf6, 0xe2, 0x35, 0x9c, 0xb0, 0xa2, 0xa0,
-  0xfc, 0x36, 0xd5, 0xc7, 0x03, 0x39, 0x6e, 0x5e, 0xdf, 0x53, 0x21, 0x04,
-  0x29, 0xa4, 0xfe, 0x46, 0xf6, 0xfc, 0x18, 0xe6, 0x09, 0x4f, 0xcf, 0x27,
-  0x71, 0xf4, 0x40, 0x29, 0xb6, 0x29, 0x1c, 0xa1, 0xaf, 0x58, 0x05, 0xbf,
-  0x39, 0xa2, 0x69, 0x39, 0xeb, 0x98, 0xec, 0xb4, 0x09, 0x9e, 0xc0, 0x03,
-  0xf7, 0xe3, 0x50, 0x25, 0x38, 0x5e, 0xdc, 0x93, 0x4d, 0x94, 0xca, 0xee,
-  0xf5, 0x9f, 0xc4, 0x03, 0x63, 0x1e, 0x35, 0xb0, 0xc0, 0x9f, 0xc5, 0x01,
-  0xef, 0xf1, 0x39, 0xbd, 0x0e, 0x24, 0x76, 0x6d, 0x95, 0x21, 0xa7, 0xab,
-  0x51, 0xb2, 0x78, 0x82, 0x8d, 0x0b, 0x2d, 0x1a, 0x4a, 0x1b, 0x44, 0x4a,
-  0x00, 0xe5, 0x7c, 0x75, 0xee, 0x26, 0x3b, 0x76, 0xcc, 0x75, 0xd9, 0x39,
-  0xe1, 0x20, 0x65, 0x72, 0xf6, 0xf6, 0x7b, 0xe5, 0x96, 0x31, 0x03, 0x1e,
-  0x8e, 0xa8, 0x3f, 0xda, 0xec, 0x30, 0x63, 0x51, 0x50, 0xa6, 0x5a, 0x2e,
-  0x59, 0x9f, 0xec, 0x26, 0x42, 0x38, 0x7c, 0xd7, 0x25, 0x33, 0xd2, 0x56,
-  0x6f, 0xbd, 0xc4, 0xef, 0xba, 0xb1, 0xa6, 0x92, 0x2d, 0x99, 0x3f, 0xfd,
-  0xc0, 0xbf, 0x66, 0x1e, 0x6b, 0xfe, 0xd5, 0x5c, 0xad, 0x97, 0x13, 0x73,
-  0x9e, 0x45, 0xf3, 0xa7, 0xad, 0x84, 0x83, 0xad, 0x73, 0xd9, 0xcf, 0x0d,
-  0x66, 0x67, 0xae, 0xf5, 0x3a, 0xea, 0x5b, 0x6c, 0xed, 0x1a, 0xcf, 0x4e,
-  0x6b, 0x07, 0x5c, 0x7e, 0x9e, 0x39, 0x3c, 0xf6, 0x65, 0x07, 0xaa, 0xde,
-  0x07, 0x43, 0x9e, 0x3f, 0xbc, 0xfb, 0xcb, 0x0f, 0xcf, 0x1f, 0x3d, 0x4e,
-  0x9f, 0xa5, 0xd3, 0xa7, 0xf3, 0xcf, 0xd3, 0x27, 0xb3, 0x27, 0xcf, 0x9e,
-  0x1f, 0x7e, 0xfe, 0x24, 0x7d, 0xf6, 0x78, 0x9e, 0x3e, 0x3d, 0xc8, 0x0e,
-  0x9e, 0xcf, 0x0f, 0x1f, 0xcd, 0x66, 0xf3, 0xec, 0xf3, 0xd9, 0xb3, 0x74,
-  0x6b, 0x04, 0xf3, 0x4b, 0xa7, 0x1e, 0xb2, 0x5a, 0x0d, 0xbc, 0xa5, 0xc9,
-  0xf8, 0xeb, 0x57, 0xc3, 0x83, 0xe4, 0x2a, 0xbb, 0xd5, 0x0b, 0xc6, 0x1e,
-  0x4d, 0x9b, 0x75, 0x97, 0x49, 0x5e, 0x75, 0xff, 0x62, 0xb5, 0x50, 0x90,
-  0xb2, 0xa6, 0xc9, 0x57, 0x02, 0x0d, 0x98, 0x77, 0x51, 0xb7, 0x95, 0xf3,
-  0xea, 0xac, 0xff, 0xf0, 0x85, 0xfa, 0xec, 0x69, 0x5d, 0xdd, 0xcb, 0x7f,
-  0x62, 0xde, 0x59, 0xbc, 0x4b, 0xa7, 0x46, 0x49, 0x32, 0x7b, 0x22, 0x0f,
-  0x8e, 0x8d, 0x69, 0x6b, 0xd8, 0xf4, 0x20, 0x91, 0xbf, 0x90, 0x97, 0xd8,
-  0x1b, 0xe3, 0xab, 0xaa, 0x5c, 0xaf, 0xce, 0xca, 0x45, 0x3e, 0xbd, 0xdb,
-  0x34, 0x9c, 0xff, 0x58, 0xeb, 0x17, 0x47, 0xcc, 0xc2, 0xf3, 0x3a, 0xfb,
-  0x0d, 0x4d, 0x2b, 0x8f, 0x1d, 0x3f, 0xc0, 0xb6, 0x1a, 0x4e, 0xf3, 0xd5,
-  0x15, 0xc5, 0x79, 0x5f, 0x22, 0xcb, 0x8f, 0x42, 0x33, 0xfc, 0x83, 0xb8,
-  0x4d, 0x35, 0x96, 0x1b, 0x59, 0xcb, 0x79, 0xea, 0xdb, 0xa2, 0x71, 0xe5,
-  0x5a, 0x02, 0xa7, 0x6e, 0x2a, 0xc9, 0x2c, 0xcd, 0x03, 0x3f, 0x9e, 0xfb,
-  0x10, 0xdf, 0x76, 0xd5, 0xb6, 0xd9, 0x79, 0x21, 0xbf, 0x1a, 0x25, 0xe7,
-  0x88, 0x93, 0xaf, 0x57, 0x6c, 0x5e, 0xc0, 0x9f, 0xcf, 0xbf, 0xeb, 0x5e,
-  0x34, 0x9a, 0xbc, 0x50, 0x0c, 0x17, 0xe2, 0x99, 0x1d, 0xfd, 0x70, 0x7e,
-  0xf2, 0xa2, 0xbb, 0x4f, 0x28, 0x36, 0xaa, 0x5f, 0xec, 0xed, 0x21, 0xe4,
-  0x73, 0x95, 0xde, 0xde, 0x8e, 0xea, 0x6c, 0x6f, 0x56, 0x4e, 0xeb, 0xbd,
-  0xba, 0x5e, 0xe8, 0x6e, 0xb4, 0x6b, 0xff, 0x7e, 0x05, 0x6f, 0x6e, 0xb9,
-  0x04, 0xdb, 0xca, 0x66, 0xc3, 0xba, 0x0e, 0x72, 0x83, 0xc6, 0xaf, 0x35,
-  0xf3, 0xe0, 0x48, 0x72, 0xd2, 0x20, 0xe7, 0x86, 0x66, 0x77, 0xc7, 0xe3,
-  0xaf, 0x13, 0x7d, 0x19, 0xdb, 0x6b, 0x43, 0xe2, 0x36, 0x2f, 0x67, 0x10,
-  0x51, 0xc3, 0x52, 0x61, 0xd8, 0x7f, 0xf4, 0x1d, 0x3a, 0xa4, 0x4e, 0x97,
-  0xfc, 0x87, 0xd4, 0xae, 0xe4, 0xcd, 0xc6, 0x44, 0xbe, 0xa7, 0x1d, 0x07,
-  0x88, 0x5d, 0x44, 0x3c, 0xfe, 0xaf, 0x4e, 0xb0, 0x34, 0x71, 0x4f, 0x3a,
-  0x8f, 0x50, 0xb7, 0x38, 0xdd, 0x50, 0xef, 0x65, 0x59, 0x19, 0xe1, 0xb1,
-  0xac, 0x63, 0x5e, 0x50, 0xbd, 0xe5, 0x35, 0xab, 0x7d, 0x35, 0xe7, 0x22,
-  0x9a, 0x61, 0x0a, 0x6f, 0x70, 0x73, 0x8c, 0xc8, 0x61, 0x1c, 0xf9, 0x87,
-  0x15, 0x8d, 0x6f, 0xe9, 0xe1, 0xf5, 0x79, 0xd1, 0xd6, 0x85, 0x0b, 0x7e,
-  0x40, 0x1c, 0x9b, 0xc9, 0x4a, 0x61, 0x59, 0x60, 0x21, 0x20, 0xf7, 0x1f,
-  0x62, 0x82, 0x74, 0x88, 0xaa, 0x2a, 0x3d, 0xa5, 0x76, 0xf8, 0x0d, 0x8c,
-  0x4b, 0x23, 0x1d, 0xf3, 0x4b, 0x0d, 0xaf, 0xf7, 0xe4, 0xd8, 0x91, 0xe8,
-  0x6a, 0x90, 0xbb, 0x2c, 0xe5, 0xe0, 0x24, 0x14, 0x28, 0x85, 0x0d, 0xa9,
-  0x25, 0x92, 0x9d, 0xc9, 0xe9, 0x40, 0xad, 0x2a, 0xf8, 0xe0, 0x26, 0x50,
-  0xcd, 0x8f, 0x7b, 0x9c, 0xd2, 0xa8, 0xf4, 0x5e, 0x62, 0x78, 0x71, 0x5f,
-  0x78, 0x89, 0x6d, 0xa4, 0x95, 0xc1, 0xcd, 0x60, 0x9e, 0xe9, 0x5a, 0x7b,
-  0xc8, 0xb9, 0xb5, 0x3a, 0x5f, 0xac, 0xc4, 0xb5, 0xbb, 0x1e, 0x4d, 0xbd,
-  0xd7, 0xbd, 0xcd, 0x51, 0x54, 0x9d, 0x22, 0xaf, 0x3f, 0x26, 0xda, 0x4b,
-  0x2f, 0x48, 0x4b, 0x03, 0x86, 0x32, 0xaf, 0xb1, 0x69, 0x93, 0x5a, 0xa9,
-  0x04, 0x85, 0xc0, 0x70, 0x20, 0x23, 0xf6, 0x28, 0xe3, 0x9c, 0x4a, 0xe9,
-  0x17, 0xa5, 0x53, 0xb0, 0x0c, 0xe1, 0x19, 0x5e, 0x88, 0x6a, 0xc4, 0x51,
-  0xc0, 0xb7, 0xb9, 0x26, 0x89, 0x93, 0x08, 0xb9, 0xb6, 0x8e, 0xb3, 0xbd,
-  0xf8, 0x67, 0x10, 0x5f, 0x13, 0x8d, 0x91, 0x3b, 0x7e, 0x46, 0xe7, 0x17,
-  0x73, 0x0d, 0x49, 0x56, 0x3e, 0x17, 0x3a, 0xe6, 0x28, 0xe1, 0x95, 0xa2,
-  0x4f, 0x2e, 0x32, 0x50, 0xcf, 0x76, 0x5d, 0x4a, 0xca, 0x26, 0x4d, 0x94,
-  0xe6, 0xc9, 0x73, 0xec, 0x92, 0xba, 0x2d, 0xe8, 0x6c, 0x19, 0x23, 0x69,
-  0xed, 0x72, 0xf5, 0xeb, 0x30, 0x5a, 0xe9, 0x36, 0x33, 0x66, 0xbd, 0x06,
-  0x75, 0x0f, 0x98, 0x48, 0x95, 0xe9, 0x17, 0x8a, 0xb2, 0x3b, 0x29, 0x9d,
-  0x47, 0x2c, 0x1f, 0x55, 0x73, 0xfb, 0xbd, 0x09, 0x68, 0x8e, 0xbf, 0x3d,
-  0xe5, 0x9e, 0xec, 0xcd, 0x2c, 0x71, 0x8f, 0x24, 0xce, 0xce, 0x74, 0xc7,
-  0x08, 0x7f, 0x03, 0x2a, 0x36, 0x6a, 0x9e, 0xfa, 0x0b, 0x9a, 0xd3, 0x17,
-  0xbb, 0x31, 0x3f, 0xb1, 0x1b, 0x49, 0x29, 0x8a, 0xee, 0xe9, 0xa2, 0xac,
-  0x35, 0xfe, 0x42, 0xca, 0x05, 0xd7, 0xdd, 0x1a, 0x6e, 0xf0, 0x9d, 0xfc,
-  0x80, 0x8f, 0xa6, 0x33, 0x1c, 0x3f, 0x35, 0x90, 0x29, 0xce, 0x9d, 0xb2,
-  0x21, 0xb6, 0xaa, 0x2b, 0x16, 0x26, 0x6d, 0xc3, 0x5a, 0x93, 0x2f, 0x92,
-  0x1f, 0x7e, 0x18, 0x24, 0xc6, 0x48, 0xee, 0x0c, 0xf7, 0x43, 0x63, 0x7e,
-  0x6a, 0x68, 0xf1, 0x07, 0x2e, 0x58, 0xfa, 0xe1, 0x9a, 0x8c, 0x40, 0x72,
-  0x30, 0xd7, 0x0b, 0x8a, 0x1e, 0xb1, 0x9a, 0xdd, 0xf6, 0xca, 0x71, 0x3d,
-  0xf4, 0x86, 0xd4, 0x2c, 0x67, 0xb7, 0x73, 0x2a, 0xa6, 0x39, 0xb0, 0xf5,
-  0xb2, 0x10, 0xeb, 0x84, 0x89, 0x13, 0xf7, 0x1e, 0x72, 0x60, 0xfb, 0x77,
-  0xdb, 0x8e, 0x90, 0x62, 0x7b, 0x57, 0x65, 0x2c, 0xe9, 0x21, 0xaa, 0x72,
-  0x4f, 0x4c, 0x69, 0xf5, 0x30, 0xcc, 0xcd, 0x84, 0xc3, 0xa5, 0xc4, 0x4c,
-  0x4f, 0xc9, 0xb9, 0xce, 0x65, 0x60, 0x5d, 0x31, 0xee, 0x4c, 0x49, 0xaa,
-  0x8d, 0x5b, 0x5d, 0xdd, 0xd5, 0x94, 0xc9, 0x21, 0xb3, 0x09, 0x6e, 0x4f,
-  0x6f, 0x82, 0xb1, 0xec, 0x3d, 0x15, 0xf5, 0x10, 0x1f, 0x20, 0xe6, 0xd7,
-  0x62, 0x9d, 0x66, 0x46, 0xdb, 0xc3, 0x6d, 0x1b, 0x0b, 0x93, 0x7c, 0x99,
-  0x20, 0x97, 0xde, 0x26, 0x67, 0xbb, 0xe4, 0xc3, 0xe0, 0x93, 0x5e, 0x52,
-  0x5c, 0xe9, 0xa7, 0x3b, 0xba, 0xe2, 0x76, 0xaa, 0x4e, 0xd5, 0x28, 0xbe,
-  0x7c, 0x5f, 0xf8, 0x4f, 0xc4, 0xe1, 0x84, 0xb4, 0x48, 0x98, 0x1e, 0x3a,
-  0x00, 0xbc, 0x21, 0x2e, 0x3c, 0x34, 0x1c, 0x02, 0x67, 0x64, 0xc5, 0xd8,
-  0x20, 0x44, 0x12, 0xc8, 0x3c, 0xb8, 0xa3, 0x4a, 0xb0, 0xd5, 0x22, 0xe0,
-  0xb7, 0x92, 0x0a, 0xa8, 0xc5, 0xd6, 0x74, 0xc1, 0x09, 0x90, 0xe2, 0xa6,
-  0x10, 0x40, 0x81, 0x71, 0x09, 0xaf, 0xcc, 0x14, 0x39, 0x0c, 0x92, 0x2e,
-  0x23, 0x35, 0x65, 0x11, 0x2b, 0x90, 0x64, 0x60, 0xa0, 0x03, 0xd1, 0x7c,
-  0xbe, 0x48, 0xb6, 0xfa, 0x35, 0xa1, 0xad, 0xee, 0x1b, 0xc8, 0x80, 0x74,
-  0x2e, 0x4e, 0xa9, 0x97, 0xc7, 0x44, 0x76, 0x24, 0x93, 0x6e, 0xf8, 0x77,
-  0x4e, 0x68, 0xe3, 0x92, 0x2e, 0x91, 0xaf, 0xbb, 0x9c, 0x20, 0x5c, 0x47,
-  0x22, 0xfb, 0x2e, 0xcb, 0xca, 0xa3, 0x0f, 0x97, 0xa7, 0x94, 0xc3, 0x7d,
-  0x0d, 0xe9, 0xc5, 0xd2, 0xce, 0x7b, 0x3a, 0x08, 0xc5, 0xeb, 0xdb, 0x54,
-  0x71, 0x42, 0xdf, 0x13, 0x97, 0xb4, 0x8a, 0x0e, 0x7b, 0xa3, 0x57, 0x0b,
-  0xe0, 0x74, 0x68, 0xad, 0x0b, 0x54, 0xa2, 0x60, 0x77, 0x0e, 0x76, 0x6d,
-  0x75, 0x24, 0xc0, 0x36, 0x38, 0x33, 0x5b, 0xf4, 0x84, 0xad, 0xab, 0x92,
-  0x73, 0x89, 0xb6, 0x5e, 0x50, 0xe1, 0x9e, 0xdc, 0x46, 0xac, 0x51, 0x61,
-  0x10, 0x3a, 0xc3, 0x21, 0x53, 0xeb, 0xeb, 0xd3, 0x77, 0x47, 0xed, 0x0c,
-  0x5c, 0xfc, 0x24, 0xe6, 0x7c, 0x35, 0xec, 0xea, 0xad, 0xe1, 0x30, 0x4c,
-  0x03, 0x69, 0xa0, 0xcd, 0x31, 0x6d, 0x99, 0x69, 0x5d, 0x66, 0xcd, 0xea,
-  0x66, 0x9d, 0xcf, 0x76, 0x76, 0x89, 0x46, 0xa8, 0xdc, 0x64, 0x88, 0x1a,
-  0x27, 0x36, 0x0d, 0xeb, 0x64, 0x87, 0x15, 0xf4, 0x2a, 0x6b, 0xd6, 0x55,
-  0xc1, 0x0e, 0x73, 0x9a, 0x7b, 0xd7, 0xc8, 0x32, 0xd2, 0x99, 0x45, 0x9d,
-  0xef, 0x1c, 0x10, 0xcc, 0x1c, 0x4e, 0x61, 0xe2, 0x01, 0x8d, 0xb9, 0x7b,
-  0x6a, 0xf3, 0x3e, 0x70, 0xf0, 0x58, 0x4b, 0x20, 0xbf, 0xfc, 0x9d, 0x48,
-  0x5e, 0x9d, 0x9d, 0xbd, 0x79, 0x75, 0xf1, 0xca, 0xae, 0x0d, 0x02, 0x1a,
-  0xcc, 0x05, 0x1a, 0xb2, 0xe1, 0x43, 0xa4, 0x35, 0xd1, 0x93, 0xdb, 0xbf,
-  0xff, 0x30, 0x3e, 0x3a, 0xef, 0x1e, 0xec, 0xd9, 0xf9, 0x29, 0x01, 0x12,
-  0xfd, 0xfe, 0x87, 0x57, 0xab, 0xd5, 0x42, 0x83, 0x82, 0x6f, 0xd2, 0x26,
-  0xdd, 0x0e, 0x6e, 0xf5, 0xe1, 0x2e, 0xcd, 0xef, 0xc6, 0xce, 0x6f, 0x2e,
-  0x42, 0x0e, 0xa6, 0x7e, 0xf2, 0x91, 0x0e, 0xb4, 0x9a, 0x6a, 0xfa, 0xad,
-  0xdd, 0x0d, 0x6c, 0x00, 0xb2, 0x67, 0xfb, 0x17, 0x52, 0x3a, 0x4e, 0xa6,
-  0x89, 0x64, 0xba, 0x59, 0x0b, 0x63, 0x64, 0x67, 0xd3, 0x75, 0xa3, 0x24,
-  0x0f, 0xfa, 0xa2, 0x2a, 0xee, 0xee, 0xbe, 0x04, 0xc7, 0xe3, 0xc2, 0x28,
-  0xcc, 0x05, 0x00, 0x22, 0x60, 0x08, 0x0d, 0x29, 0xd2, 0x23, 0x99, 0x2d,
-  0x73, 0xb1, 0x08, 0x4d, 0xcd, 0x32, 0x0e, 0xab, 0x00, 0x54, 0x80, 0xa7,
-  0x14, 0x6c, 0xc8, 0xef, 0xcc, 0x6d, 0x1c, 0x26, 0x47, 0x52, 0xed, 0x86,
-  0x85, 0x9b, 0x1f, 0x04, 0x0f, 0x35, 0xd6, 0x7c, 0x10, 0x76, 0x1f, 0xe7,
-  0x15, 0x1e, 0xd0, 0xc6, 0x56, 0x57, 0x04, 0x70, 0x69, 0xab, 0x79, 0x88,
-  0xa6, 0x4d, 0x9b, 0x0e, 0xeb, 0x69, 0x2b, 0x92, 0xf4, 0x34, 0x4c, 0x2f,
-  0x89, 0xbc, 0xcc, 0xa3, 0x46, 0xbb, 0x36, 0x46, 0x13, 0xfd, 0x6b, 0xef,
-  0x60, 0xb4, 0xbf, 0x15, 0x4e, 0x9e, 0x2e, 0x0b, 0x40, 0x52, 0x6c, 0x54,
-  0x8d, 0xb8, 0x61, 0x53, 0x96, 0xf7, 0xce, 0x8f, 0x59, 0x98, 0xd1, 0x4f,
-  0x57, 0x66, 0xfc, 0xe8, 0x54, 0x86, 0xa7, 0x41, 0x16, 0x08, 0x65, 0xee,
-  0x56, 0xca, 0x14, 0x0d, 0x4f, 0x2c, 0xca, 0x1b, 0x5a, 0x89, 0x21, 0xb5,
-  0xc5, 0xa2, 0x85, 0x66, 0xb3, 0x15, 0xdf, 0xe6, 0x02, 0xc0, 0x51, 0x59,
-  0x77, 0xb7, 0xa3, 0x91, 0x6b, 0x55, 0x3e, 0x7d, 0x0d, 0xcf, 0xa6, 0xbc,
-  0xc2, 0x8a, 0xb4, 0x94, 0xe0, 0x83, 0x09, 0x18, 0x2e, 0x17, 0xf0, 0xbd,
-  0x85, 0x9f, 0x99, 0x31, 0xd4, 0xf4, 0x90, 0x21, 0x0d, 0x42, 0x5a, 0xe9,
-  0x4b, 0xae, 0x55, 0x0f, 0x6c, 0xf9, 0x77, 0xe9, 0x6d, 0xbe, 0x5c, 0x2f,
-  0xf1, 0x31, 0xa2, 0x6d, 0x79, 0x4c, 0xe2, 0x09, 0xf0, 0x2a, 0x72, 0x7a,
-  0x0a, 0x88, 0x7c, 0xbb, 0x4e, 0x3c, 0x8b, 0x3e, 0x26, 0x64, 0x8c, 0x48,
-  0x1e, 0xb9, 0xe5, 0x41, 0x59, 0x40, 0xc0, 0xa1, 0xee, 0x78, 0x03, 0x8c,
-  0x7e, 0x90, 0x52, 0xce, 0x41, 0x5d, 0xda, 0x84, 0x9d, 0x08, 0x3b, 0x67,
-  0xb0, 0x04, 0xd1, 0xe1, 0xbc, 0x7c, 0xd5, 0xac, 0xca, 0xcb, 0x99, 0xbd,
-  0x37, 0xa4, 0x3f, 0xe6, 0xc5, 0xda, 0xec, 0x33, 0xfb, 0x92, 0x39, 0x08,
-  0x41, 0xbf, 0x0a, 0x3c, 0x84, 0xc8, 0xaa, 0x1f, 0xa3, 0x58, 0x42, 0x53,
-  0x50, 0x9f, 0x8d, 0x1e, 0x1d, 0x8e, 0xf6, 0x07, 0x2d, 0x83, 0x5e, 0x30,
-  0x25, 0xcc, 0xed, 0x9a, 0xe6, 0x4b, 0x5b, 0x6f, 0x3a, 0xfa, 0xcd, 0x1c,
-  0x37, 0xc8, 0x08, 0x5f, 0xa6, 0xb7, 0x38, 0xbe, 0xe8, 0xb1, 0x96, 0xc9,
-  0xcb, 0xaf, 0x4f, 0xc7, 0x17, 0x07, 0x2f, 0xce, 0x4e, 0xcf, 0xcd, 0x7f,
-  0xe9, 0xef, 0x87, 0xf8, 0xfb, 0x61, 0x60, 0x55, 0xbe, 0x95, 0x0c, 0x5a,
-  0x2d, 0xd6, 0x81, 0x86, 0x02, 0x8d, 0x86, 0x77, 0x33, 0xf1, 0x06, 0x22,
-  0xbd, 0x1c, 0x6c, 0x70, 0x6a, 0x2b, 0x1a, 0xbb, 0x47, 0xec, 0x7d, 0x4a,
-  0x93, 0xec, 0x46, 0x49, 0x98, 0xc8, 0x97, 0x37, 0xaa, 0x4d, 0x49, 0x2d,
-  0xbc, 0x56, 0xd9, 0x77, 0x7d, 0xdd, 0x5c, 0xc7, 0x2c, 0xf5, 0x39, 0x8a,
-  0x57, 0x87, 0xdc, 0xb0, 0xf6, 0xaf, 0xa6, 0x0b, 0xa3, 0xdd, 0x67, 0x94,
-  0x4b, 0x32, 0xcb, 0x38, 0xc0, 0x42, 0x3f, 0x89, 0x19, 0x26, 0xe6, 0xfa,
-  0x49, 0xc9, 0x42, 0x90, 0x60, 0x08, 0x8a, 0xd4, 0xa8, 0x8e, 0x99, 0x8d,
-  0x99, 0x63, 0x6e, 0x34, 0x71, 0xde, 0x8e, 0x22, 0x0b, 0x2a, 0x04, 0x18,
-  0x47, 0xce, 0x77, 0x62, 0xa1, 0x48, 0x1f, 0xe5, 0xf6, 0xef, 0x4f, 0x2f,
-  0x92, 0x74, 0x3e, 0x57, 0x6c, 0x00, 0x2a, 0x4b, 0x20, 0x8d, 0x75, 0x6f,
-  0xc5, 0x92, 0x2c, 0x6d, 0x62, 0xa9, 0x1b, 0xa2, 0x8f, 0x5c, 0x9c, 0x8c,
-  0xf7, 0xc8, 0x85, 0xc5, 0x49, 0x70, 0xe3, 0xf7, 0xc7, 0x83, 0x96, 0xaf,
-  0xda, 0x4f, 0x7d, 0xd9, 0x25, 0x49, 0x19, 0x57, 0x28, 0x52, 0x4f, 0x16,
-  0x3a, 0xc4, 0x19, 0x4a, 0xaa, 0xc3, 0x91, 0x6e, 0x49, 0x35, 0xd8, 0x16,
-  0x8e, 0x76, 0x2b, 0xd1, 0xa8, 0x29, 0xec, 0xe2, 0xe5, 0xaa, 0xb9, 0x0b,
-  0xeb, 0x45, 0xe1, 0xdb, 0x20, 0x1c, 0x16, 0x52, 0x3a, 0xb6, 0xc8, 0x2c,
-  0xa1, 0x65, 0x61, 0x49, 0x5b, 0x23, 0x1e, 0xf6, 0x70, 0x0b, 0xa3, 0x62,
-  0x50, 0xf3, 0x77, 0x1a, 0x13, 0x44, 0x3b, 0xc9, 0x62, 0xe9, 0xfd, 0xfc,
-  0x21, 0x6f, 0xf0, 0xc4, 0x0e, 0x6f, 0x26, 0x66, 0xeb, 0xd4, 0x94, 0x3a,
-  0x88, 0xc1, 0x94, 0x55, 0x7e, 0x49, 0x79, 0x02, 0xdd, 0xd2, 0x31, 0x37,
-  0x91, 0xc0, 0x33, 0x45, 0xca, 0x58, 0xdd, 0x6c, 0x79, 0xae, 0x84, 0x26,
-  0x48, 0xd0, 0x47, 0xda, 0x68, 0xa5, 0x26, 0x8d, 0x4e, 0x87, 0xf8, 0x4f,
-  0x13, 0xd1, 0xe3, 0x59, 0xd9, 0x33, 0xab, 0x23, 0xb9, 0xe3, 0x82, 0x40,
-  0x5a, 0xfa, 0xa3, 0x77, 0x09, 0x48, 0x38, 0xc7, 0x8d, 0x32, 0x70, 0x0e,
-  0x1b, 0x75, 0x87, 0x63, 0xc4, 0x36, 0xc3, 0x11, 0xb4, 0xea, 0x63, 0xeb,
-  0xe0, 0xf0, 0xd9, 0x68, 0xdf, 0xfc, 0x9f, 0x39, 0x14, 0xd1, 0x8f, 0x00,
-  0x17, 0xe5, 0x60, 0x81, 0xec, 0x93, 0xd9, 0x6d, 0x97, 0x24, 0x59, 0x00,
-  0x95, 0xd5, 0xe5, 0xd6, 0xc6, 0x1a, 0xd6, 0x96, 0x48, 0xa1, 0x83, 0xb4,
-  0xe2, 0x24, 0x9d, 0xc9, 0x4f, 0xf4, 0x8e, 0x57, 0xeb, 0x45, 0x24, 0xad,
-  0xcf, 0x73, 0x23, 0x93, 0x76, 0xb6, 0xb8, 0x16, 0x27, 0xf2, 0xd7, 0xc4,
-  0x9b, 0xb8, 0x8e, 0x6f, 0xd4, 0x4a, 0x8a, 0x7a, 0xde, 0xf2, 0x09, 0xbe,
-  0x16, 0x93, 0x0d, 0x9c, 0x79, 0x68, 0x2e, 0xc3, 0xcb, 0x72, 0x3e, 0xaf,
-  0xb3, 0xa6, 0x2b, 0x80, 0x5e, 0xcb, 0x23, 0x7b, 0xe7, 0x00, 0x38, 0x04,
-  0xa7, 0xd2, 0x8a, 0x9b, 0xa4, 0x0d, 0xcb, 0x93, 0x48, 0x16, 0x1a, 0xb3,
-  0x2d, 0x1e, 0x6e, 0x14, 0x29, 0x32, 0xf0, 0x7f, 0xaf, 0x19, 0x22, 0x5c,
-  0x15, 0xaf, 0x60, 0x2f, 0x28, 0xb7, 0x62, 0x1c, 0x17, 0x91, 0x74, 0x5d,
-  0x54, 0x36, 0xbd, 0x12, 0x9f, 0xf2, 0xd5, 0x8a, 0xcc, 0x1b, 0x46, 0x38,
-  0x03, 0xd9, 0xda, 0x00, 0x1a, 0xe2, 0xb8, 0x20, 0x65, 0xcd, 0x16, 0x34,
-  0x4a, 0xf2, 0x54, 0x64, 0xfe, 0x24, 0x9b, 0x87, 0x41, 0x20, 0x4e, 0x6a,
-  0xf4, 0x61, 0x6d, 0xa4, 0x46, 0x77, 0x46, 0x10, 0x36, 0x45, 0xaa, 0x2c,
-  0x66, 0xee, 0x01, 0x3e, 0x48, 0xf1, 0xdf, 0x20, 0x72, 0xff, 0x5d, 0x71,
-  0x96, 0xf5, 0xc3, 0x8d, 0x8f, 0xff, 0x9f, 0x23, 0x07, 0x42, 0x64, 0x51,
-  0x7e, 0xb8, 0xdc, 0x25, 0x56, 0x3c, 0x64, 0x6e, 0xe1, 0xf0, 0xb5, 0x39,
-  0xaf, 0x2d, 0x4c, 0xc5, 0xa5, 0x9a, 0x94, 0x9d, 0x72, 0x0c, 0xd8, 0x3d,
-  0xa4, 0x49, 0x40, 0x1b, 0xda, 0xa3, 0xba, 0xff, 0x40, 0x34, 0x30, 0x46,
-  0x25, 0xfb, 0x17, 0x65, 0x8d, 0xb8, 0x1d, 0x8d, 0x54, 0xcd, 0xf9, 0x35,
-  0x27, 0xa2, 0x2c, 0xee, 0xe5, 0x05, 0xa9, 0x8c, 0xac, 0xc0, 0x04, 0x25,
-  0x19, 0x5a, 0x07, 0xcb, 0x68, 0x27, 0xeb, 0xe6, 0x37, 0x8c, 0x9d, 0x54,
-  0x44, 0xbf, 0x80, 0xb1, 0xf3, 0x88, 0x7a, 0xca, 0x44, 0x4d, 0x58, 0x9d,
-  0xc3, 0xbf, 0x19, 0x2b, 0xfb, 0xa5, 0xba, 0x29, 0xfa, 0x80, 0x01, 0xd4,
-  0xa9, 0x41, 0x45, 0x14, 0x30, 0xc2, 0x40, 0x1b, 0x16, 0x9f, 0x46, 0xb7,
-  0x9a, 0x61, 0x75, 0x52, 0xe8, 0x32, 0x00, 0x02, 0xed, 0xde, 0xf9, 0x39,
-  0x40, 0x6f, 0xbc, 0xf2, 0x6f, 0x5b, 0x3b, 0x39, 0xa2, 0x28, 0xd5, 0x82,
-  0x47, 0xa8, 0x39, 0xb1, 0x52, 0xc6, 0x50, 0xa3, 0x21, 0x0f, 0x64, 0x6e,
-  0x5e, 0x0c, 0xb9, 0xb8, 0x5a, 0x9f, 0x45, 0x30, 0x8d, 0x50, 0xdb, 0x84,
-  0x1c, 0xf9, 0x88, 0xd8, 0x0c, 0x6f, 0x24, 0xb1, 0x02, 0x6a, 0x2d, 0x3e,
-  0x1b, 0x73, 0xa3, 0xb3, 0x2f, 0x12, 0x0e, 0x44, 0xfe, 0x38, 0x39, 0xc8,
-  0x3e, 0x19, 0xdd, 0xb9, 0x18, 0xd0, 0x4f, 0x51, 0x88, 0x6a, 0x2f, 0x19,
-  0xfb, 0x36, 0x9a, 0x8c, 0x83, 0x16, 0x59, 0x44, 0x97, 0xf5, 0x9e, 0x95,
-  0x47, 0x3d, 0x37, 0xca, 0xfb, 0xac, 0x91, 0xd4, 0x11, 0x9e, 0xbc, 0xd6,
-  0x66, 0xa1, 0xbe, 0xeb, 0x78, 0xde, 0x19, 0x0e, 0x70, 0x71, 0x59, 0xd3,
-  0xae, 0xd6, 0x97, 0x18, 0x2e, 0x63, 0x64, 0x91, 0x2f, 0x74, 0x60, 0xae,
-  0xc1, 0x96, 0xfa, 0x65, 0x79, 0x05, 0xf1, 0xd4, 0x05, 0x9d, 0x0e, 0xb9,
-  0x89, 0x9a, 0x59, 0x8c, 0x26, 0x59, 0xf7, 0xd5, 0x0b, 0x29, 0xd0, 0x81,
-  0x7e, 0x3a, 0x04, 0x81, 0xa0, 0x21, 0x7a, 0xef, 0xbe, 0xa6, 0x89, 0x2b,
-  0x91, 0xaa, 0x42, 0xaf, 0xaa, 0x94, 0x52, 0x68, 0xaa, 0x99, 0x7a, 0x46,
-  0x74, 0xa2, 0x86, 0x0b, 0x8b, 0x5d, 0x74, 0x93, 0x82, 0xd2, 0xec, 0xf8,
-  0xb1, 0xda, 0x07, 0x2f, 0xff, 0x71, 0x38, 0x71, 0xe4, 0xec, 0xe0, 0x73,
-  0xa2, 0x69, 0x4a, 0xf2, 0x10, 0xd1, 0xbc, 0x11, 0x2c, 0xdb, 0x8d, 0x57,
-  0x5c, 0x0a, 0x44, 0x1a, 0xbb, 0x29, 0xbc, 0x85, 0x37, 0x57, 0xe5, 0x22,
-  0x8b, 0x85, 0x48, 0xbc, 0x92, 0x5f, 0x80, 0xbb, 0x50, 0x5a, 0x2f, 0xbc,
-  0xcd, 0xd7, 0xc8, 0x18, 0x6e, 0x85, 0x4e, 0x8c, 0x7e, 0x97, 0xa5, 0x54,
-  0x70, 0x64, 0x93, 0xe6, 0xaf, 0x07, 0x41, 0x1a, 0xbb, 0xb9, 0xe7, 0x93,
-  0xb2, 0xb6, 0xf4, 0x42, 0x85, 0xb5, 0x24, 0x41, 0x6e, 0xd2, 0x0a, 0x8c,
-  0x59, 0x50, 0xb2, 0x14, 0x40, 0xd4, 0xcf, 0x19, 0x24, 0x55, 0xb0, 0x5b,
-  0xef, 0x90, 0x53, 0x31, 0xba, 0x21, 0x13, 0xa3, 0x00, 0x90, 0x9b, 0x16,
-  0xb4, 0x43, 0x43, 0x0a, 0xfe, 0xd5, 0x15, 0xa0, 0x70, 0xa5, 0x62, 0xdd,
-  0xdc, 0xc3, 0x2b, 0x92, 0xe9, 0x79, 0xb3, 0x4e, 0x9b, 0x87, 0x25, 0x6c,
-  0xf7, 0xf1, 0x26, 0x66, 0x4e, 0x7e, 0x3e, 0x6a, 0x1f, 0x66, 0x43, 0x4f,
-  0x14, 0xd1, 0x3f, 0xc8, 0x97, 0x74, 0xd7, 0xfe, 0xc7, 0x3d, 0x8c, 0xe9,
-  0x0c, 0x88, 0x7e, 0x57, 0x6d, 0x48, 0x28, 0xd4, 0xe4, 0x8a, 0x3c, 0xd1,
-  0xca, 0x37, 0x1e, 0x53, 0xc5, 0xfd, 0x71, 0x24, 0xd0, 0x8f, 0xe8, 0x98,
-  0x99, 0xce, 0xe2, 0xce, 0x0d, 0xe8, 0x95, 0xcc, 0x6a, 0x86, 0xb7, 0x07,
-  0x97, 0x67, 0xbf, 0x10, 0x64, 0x2d, 0x6d, 0x8d, 0x8d, 0x0a, 0xce, 0xdf,
-  0x7c, 0xb1, 0xa5, 0xe8, 0xa3, 0x16, 0x4e, 0x49, 0xb8, 0x88, 0x14, 0x6d,
-  0x69, 0xfd, 0x87, 0xfa, 0xea, 0xe9, 0xfa, 0x77, 0x87, 0x23, 0x28, 0xee,
-  0x83, 0x2f, 0xbe, 0x7d, 0x75, 0xf2, 0xe1, 0xe8, 0xe0, 0x8f, 0x09, 0xfd,
-  0xeb, 0x90, 0xff, 0x75, 0xb8, 0x15, 0x3b, 0x2e, 0xc3, 0xa8, 0xb6, 0xbf,
-  0xd8, 0x4e, 0xea, 0xbb, 0xe5, 0xa4, 0x5c, 0xd8, 0x03, 0x93, 0xad, 0xd0,
-  0x40, 0xda, 0x40, 0xa4, 0xb8, 0x2d, 0xdd, 0x16, 0x57, 0x79, 0x97, 0x65,
-  0xd7, 0x92, 0x74, 0xa8, 0xec, 0x06, 0x11, 0x3c, 0xbf, 0x96, 0xb8, 0x41,
-  0xa5, 0xb5, 0xf2, 0x30, 0x89, 0xe5, 0xf5, 0x25, 0x82, 0x42, 0x28, 0xe9,
-  0xc5, 0xae, 0x23, 0x9c, 0x83, 0xc5, 0x8b, 0x83, 0x74, 0xf6, 0x19, 0x46,
-  0x98, 0x6d, 0x66, 0xb8, 0x13, 0xae, 0x94, 0xc5, 0x9d, 0xe6, 0xd7, 0xc5,
-  0x40, 0x20, 0x34, 0x8e, 0x3b, 0xc1, 0x1f, 0xd8, 0xae, 0x32, 0xcb, 0x7a,
-  0xb1, 0x6a, 0x7a, 0xb7, 0x3b, 0xdc, 0x44, 0x74, 0x17, 0x0f, 0x9a, 0xeb,
-  0x84, 0xd0, 0xc0, 0x86, 0x9a, 0x9e, 0xe1, 0x5c, 0x1d, 0x64, 0x8c, 0xce,
-  0x48, 0xb3, 0x56, 0x7f, 0x46, 0xe2, 0x81, 0x3f, 0x5b, 0x18, 0x49, 0xc1,
-  0x61, 0x4c, 0x5a, 0x21, 0x41, 0xf6, 0x35, 0x87, 0xd0, 0x2b, 0x0c, 0x04,
-  0x63, 0x36, 0x07, 0xe9, 0x26, 0xcb, 0x20, 0x3b, 0xab, 0x30, 0x9a, 0xe4,
-  0x8e, 0x61, 0xef, 0xbb, 0x3e, 0x26, 0x88, 0x1e, 0x9f, 0xb8, 0x25, 0x1a,
-  0x1b, 0x51, 0xed, 0x89, 0x15, 0x5c, 0x5c, 0xb5, 0x04, 0x8d, 0xaa, 0x7c,
-  0x5a, 0xe0, 0xcc, 0xf1, 0x59, 0x91, 0x1c, 0x3c, 0x0c, 0x93, 0x29, 0x65,
-  0x6f, 0x2e, 0xd2, 0x00, 0x89, 0x06, 0x77, 0x4d, 0xe1, 0x30, 0x28, 0xd0,
-  0x6f, 0x09, 0xdf, 0x7c, 0xff, 0x6e, 0x91, 0xed, 0xaa, 0x61, 0xa0, 0xc2,
-  0x6e, 0xef, 0x5d, 0xf9, 0x0f, 0x33, 0xef, 0x54, 0x3e, 0x12, 0x93, 0x99,
-  0x22, 0x02, 0x7b, 0x67, 0xee, 0xf8, 0x0b, 0x97, 0x89, 0xfb, 0x5c, 0xa3,
-  0x65, 0x1b, 0x23, 0x08, 0x4c, 0x7a, 0x19, 0x52, 0xb5, 0x03, 0xd2, 0x11,
-  0xed, 0x22, 0x90, 0xd0, 0x1e, 0xde, 0x8c, 0x21, 0xe5, 0x52, 0x32, 0x74,
-  0x2c, 0x89, 0x89, 0xd8, 0xe9, 0xb2, 0xf0, 0xae, 0x4e, 0xd5, 0x23, 0x88,
-  0x8e, 0x6e, 0xb3, 0x6a, 0x4a, 0x50, 0x13, 0x53, 0xa3, 0x97, 0x82, 0x9f,
-  0xce, 0xc5, 0x3d, 0x45, 0xb9, 0x54, 0x92, 0x15, 0xdf, 0xc6, 0x85, 0x81,
-  0xf8, 0x55, 0x3a, 0xeb, 0x25, 0x31, 0xe4, 0x3e, 0x4c, 0x0d, 0x61, 0x8c,
-  0x2c, 0x04, 0x9e, 0x0a, 0xc8, 0x36, 0xfb, 0xd0, 0x22, 0x33, 0x84, 0x13,
-  0x82, 0x8c, 0x3d, 0xec, 0xb0, 0xbe, 0xe8, 0x9d, 0xa6, 0x90, 0x0b, 0xe6,
-  0xc2, 0x80, 0x66, 0x2e, 0x3a, 0x44, 0x50, 0x01, 0xc0, 0x85, 0xea, 0x4f,
-  0x4f, 0xb4, 0xa7, 0x03, 0xfc, 0x0e, 0x44, 0x4b, 0x8a, 0x3b, 0x45, 0x93,
-  0xda, 0x81, 0xd8, 0x64, 0xe5, 0x50, 0x31, 0x07, 0xa1, 0x79, 0x85, 0xc5,
-  0xc8, 0x8b, 0xf2, 0x86, 0x62, 0x30, 0x6d, 0x04, 0x50, 0x05, 0xfb, 0xe1,
-  0x9c, 0x3a, 0xe6, 0xcb, 0x43, 0xd2, 0x95, 0xf8, 0xb3, 0x23, 0x8d, 0xd6,
-  0x46, 0x29, 0x40, 0xcb, 0x69, 0xbb, 0x95, 0x48, 0xa9, 0xcb, 0xa0, 0x68,
-  0xd8, 0x99, 0xcc, 0xfa, 0x85, 0x03, 0xe0, 0x8a, 0x09, 0x36, 0xac, 0x78,
-  0x52, 0x36, 0x57, 0x5e, 0x1e, 0x2a, 0x81, 0xfa, 0x91, 0x9f, 0x67, 0xbe,
-  0x6e, 0x60, 0x04, 0xa8, 0x19, 0xd8, 0x48, 0xaa, 0xb1, 0x38, 0x8b, 0x82,
-  0xac, 0x87, 0x4f, 0x04, 0xfe, 0x46, 0x4b, 0xb4, 0x00, 0xb6, 0x94, 0x40,
-  0x5b, 0x20, 0x53, 0x9c, 0xe8, 0xd2, 0x18, 0xc0, 0xc0, 0x17, 0x34, 0xdf,
-  0xa4, 0x44, 0xa5, 0xba, 0x26, 0x2c, 0x39, 0xa4, 0xa4, 0x9a, 0x8d, 0x0d,
-  0x20, 0x27, 0x00, 0x92, 0x54, 0xf8, 0x47, 0xba, 0xc3, 0xf0, 0x37, 0x0e,
-  0xb8, 0x89, 0x71, 0x31, 0xc8, 0x6a, 0x9f, 0xc8, 0xd1, 0xd4, 0xb8, 0xbf,
-  0x44, 0x0f, 0x11, 0xa7, 0x88, 0xd5, 0x5f, 0x7b, 0x2e, 0xec, 0xbf, 0x6c,
-  0xd4, 0x04, 0x46, 0x5e, 0x55, 0x33, 0x80, 0x2e, 0x20, 0x88, 0x6d, 0x62,
-  0x3c, 0xb6, 0x3b, 0x64, 0x5c, 0xa9, 0x8b, 0xbf, 0xc5, 0xe2, 0xbc, 0xeb,
-  0xd5, 0x0c, 0x6a, 0x9f, 0xbe, 0x03, 0x45, 0xc9, 0x03, 0xc2, 0xac, 0x4b,
-  0xb9, 0x8d, 0x18, 0x9e, 0x98, 0x8c, 0xe3, 0x32, 0x31, 0x90, 0x9c, 0xee,
-  0xfd, 0xf7, 0x03, 0x2c, 0x2d, 0xa4, 0x36, 0xf6, 0xe1, 0x2c, 0x7d, 0xde,
-  0x60, 0x5e, 0x84, 0xf0, 0x1d, 0x1a, 0xda, 0xaf, 0x63, 0x81, 0x4a, 0x15,
-  0xe0, 0x86, 0xc3, 0xff, 0x6d, 0x5d, 0x4c, 0x3b, 0x32, 0xaa, 0x1c, 0x78,
-  0x78, 0x9c, 0x12, 0x95, 0xb5, 0x12, 0xa2, 0x4b, 0xf4, 0xf8, 0x90, 0xc0,
-  0xdf, 0x50, 0x45, 0x28, 0x55, 0x6f, 0x90, 0x78, 0x5b, 0x78, 0x25, 0xb4,
-  0x57, 0xb9, 0x39, 0xa1, 0x6a, 0x7a, 0x05, 0x24, 0x01, 0xf8, 0x91, 0x32,
-  0x75, 0x8e, 0x06, 0x8a, 0xb0, 0x78, 0xfe, 0x31, 0xac, 0xe8, 0x62, 0x39,
-  0xb1, 0x23, 0x42, 0x0b, 0x29, 0x0b, 0x65, 0xd2, 0x7d, 0xf3, 0x0c, 0x33,
-  0xbb, 0xae, 0x68, 0xcf, 0xb3, 0x45, 0xed, 0x04, 0xa4, 0x7d, 0xc7, 0x49,
-  0x4a, 0x18, 0xe1, 0x05, 0x7c, 0xb2, 0x2c, 0x8a, 0xf3, 0xe8, 0x0d, 0xc7,
-  0x4c, 0x8c, 0x9a, 0x23, 0x93, 0x21, 0xbb, 0x92, 0xe8, 0xe4, 0x4e, 0x31,
-  0x66, 0x64, 0x84, 0x2e, 0xcc, 0x4c, 0x20, 0x79, 0x4a, 0xbb, 0x6f, 0x02,
-  0x60, 0xa3, 0x5b, 0x95, 0x2b, 0xde, 0x3a, 0x93, 0x0a, 0x39, 0x32, 0xa8,
-  0x7c, 0x1a, 0x7d, 0x40, 0x28, 0xfe, 0x35, 0x1c, 0xce, 0x9b, 0x20, 0x5d,
-  0xcb, 0x3b, 0xeb, 0x36, 0x09, 0x2c, 0xe6, 0x82, 0xd1, 0xf3, 0x4e, 0xd1,
-  0xf8, 0xae, 0xa9, 0x86, 0x27, 0x39, 0x79, 0xcb, 0x5e, 0xbc, 0xd7, 0xe7,
-  0xf4, 0xb7, 0xdc, 0x22, 0x14, 0xa1, 0x0e, 0x17, 0x8d, 0x3d, 0x38, 0x41,
-  0xf6, 0xdd, 0xb7, 0xdd, 0x32, 0xcc, 0x9d, 0xd3, 0xf1, 0xde, 0xa3, 0xe7,
-  0xfb, 0xbb, 0x91, 0x9c, 0x65, 0xf3, 0x0d, 0x1f, 0xa7, 0xf0, 0xf1, 0xfe,
-  0x68, 0x7f, 0xb7, 0x33, 0x1b, 0xda, 0xee, 0x0d, 0x00, 0x2a, 0x8a, 0xae,
-  0x6e, 0x85, 0x06, 0x92, 0x91, 0x5d, 0xb1, 0x96, 0xe4, 0x4d, 0xfb, 0xc5,
-  0xa4, 0xe7, 0xd9, 0xb5, 0x21, 0xb5, 0x68, 0xfe, 0xda, 0x49, 0x5e, 0x8b,
-  0x61, 0x43, 0x92, 0x4c, 0x65, 0x0b, 0x55, 0x6b, 0xb7, 0x73, 0x82, 0xf1,
-  0x08, 0x09, 0x4b, 0xce, 0x75, 0x88, 0x44, 0x5b, 0x6a, 0x33, 0xa9, 0x0a,
-  0x89, 0x79, 0x88, 0xe9, 0xff, 0xea, 0xce, 0x96, 0x57, 0x2d, 0xb4, 0xc7,
-  0x67, 0xfe, 0x99, 0x92, 0xa6, 0x3f, 0x4c, 0xeb, 0x69, 0x9e, 0xb3, 0x3d,
-  0xd3, 0x63, 0xc6, 0x68, 0xc6, 0x23, 0x30, 0xe4, 0x50, 0x49, 0x9d, 0xa7,
-  0x1c, 0xaa, 0x75, 0x40, 0xa5, 0xc1, 0xb0, 0xa4, 0xac, 0x1a, 0x12, 0xdb,
-  0x34, 0xae, 0xd8, 0xf0, 0xd4, 0xac, 0x45, 0xb0, 0x95, 0xad, 0x7e, 0x59,
-  0x77, 0xd5, 0x28, 0x73, 0x17, 0x18, 0xae, 0x6c, 0x55, 0x85, 0xf5, 0x7d,
-  0x94, 0x9b, 0x89, 0x8c, 0xe7, 0xb4, 0xa9, 0x4b, 0xda, 0xa7, 0xd8, 0xa6,
-  0xc2, 0x43, 0x01, 0x74, 0x5a, 0x6b, 0x40, 0xd9, 0xbb, 0x2f, 0xf9, 0x40,
-  0x5f, 0x0e, 0x5c, 0xba, 0x4e, 0xcb, 0x00, 0x4a, 0x23, 0x8a, 0x20, 0x83,
-  0xeb, 0x27, 0x08, 0x8f, 0x73, 0x25, 0x15, 0x2d, 0x44, 0x5a, 0x4c, 0xc0,
-  0xed, 0xc1, 0x39, 0x22, 0xd2, 0x60, 0x82, 0x60, 0x88, 0xec, 0x6e, 0x45,
-  0xc0, 0xa5, 0x06, 0x66, 0x7d, 0x80, 0xee, 0x04, 0x05, 0x15, 0xd9, 0x0d,
-  0x71, 0xe3, 0x5a, 0x54, 0x89, 0xaa, 0xca, 0xc9, 0x6f, 0x64, 0x93, 0x0b,
-  0x58, 0x1d, 0xa3, 0x2c, 0x4c, 0x12, 0xce, 0xb3, 0x48, 0x6d, 0xf7, 0x14,
-  0xb7, 0xb3, 0xb6, 0x39, 0xdb, 0x05, 0xe0, 0x27, 0x09, 0x5f, 0x2e, 0xd8,
-  0x1b, 0xf4, 0x07, 0xc0, 0xe4, 0x14, 0x74, 0xb6, 0x69, 0xa7, 0x7f, 0x90,
-  0xd6, 0xce, 0xf9, 0xcd, 0x0c, 0x6f, 0x56, 0xb6, 0x0c, 0xcc, 0xba, 0x3f,
-  0x5c, 0xb2, 0x77, 0x3b, 0xbc, 0xb9, 0xb9, 0x19, 0xd2, 0x85, 0xa3, 0x9c,
-  0x1c, 0x29, 0xb3, 0x18, 0xb5, 0xc0, 0xa3, 0x61, 0x57, 0xb2, 0xc9, 0x49,
-  0x4c, 0x24, 0x8c, 0x6f, 0x78, 0x29, 0x52, 0xd5, 0x24, 0x6f, 0x50, 0xcf,
-  0x27, 0xc4, 0x85, 0xd7, 0xa4, 0xae, 0x4e, 0xa6, 0x03, 0x0d, 0x47, 0x1d,
-  0x51, 0x91, 0xdb, 0xe7, 0xd6, 0x42, 0xf0, 0x53, 0xd3, 0x26, 0xa3, 0xfa,
-  0x75, 0xf3, 0x89, 0xe5, 0x8b, 0x64, 0xf8, 0x75, 0xb2, 0xf5, 0x5a, 0x56,
-  0x7b, 0x61, 0x9e, 0x78, 0xd1, 0x5e, 0x0b, 0x3f, 0x1c, 0x06, 0x73, 0xcc,
-  0xbb, 0x5b, 0x0f, 0x83, 0x4f, 0xec, 0xbd, 0xc8, 0xe8, 0xae, 0xe2, 0xb2,
-  0x66, 0x9a, 0x88, 0xb3, 0x8e, 0xd2, 0x5e, 0xd8, 0xad, 0xc5, 0x98, 0x67,
-  0x58, 0x7a, 0x5a, 0x4b, 0x27, 0x9e, 0x09, 0xdf, 0xf0, 0x0d, 0xd7, 0xb1,
-  0x4a, 0x6f, 0xee, 0xbf, 0xe3, 0xde, 0x4d, 0x14, 0xea, 0x5d, 0xc0, 0xd5,
-  0xe5, 0xe1, 0x11, 0x93, 0x7f, 0xc7, 0x26, 0x61, 0x46, 0x66, 0x2a, 0x7d,
-  0x30, 0x5c, 0x31, 0x15, 0x1b, 0xa6, 0xa2, 0x97, 0x7e, 0xb9, 0xa1, 0x0e,
-  0xcd, 0x39, 0x85, 0xdd, 0x2a, 0x5a, 0x91, 0x8f, 0x0e, 0xac, 0x29, 0x96,
-  0x65, 0xa9, 0xea, 0x01, 0x8c, 0xc6, 0xad, 0x6e, 0x60, 0x2f, 0xa7, 0xd0,
-  0x32, 0x3b, 0xf6, 0xbc, 0x65, 0x0a, 0x02, 0x6e, 0x2c, 0xbd, 0x93, 0xe3,
-  0x1c, 0x74, 0x55, 0x15, 0xa0, 0x4c, 0x5c, 0x56, 0x59, 0x45, 0x84, 0x8e,
-  0x2c, 0xf8, 0xa1, 0xa6, 0x30, 0xc7, 0x84, 0xb5, 0x61, 0x28, 0xaf, 0xbf,
-  0x3a, 0x46, 0x36, 0xb7, 0x61, 0xa4, 0x85, 0x80, 0x38, 0xf0, 0xfc, 0xb9,
-  0xe5, 0x91, 0x35, 0x6a, 0x2f, 0x89, 0x95, 0x70, 0x49, 0x64, 0x9a, 0xc4,
-  0x00, 0x50, 0xd5, 0xe6, 0x48, 0xd4, 0xb8, 0x90, 0xa4, 0x55, 0xb1, 0x11,
-  0xe4, 0xf2, 0xda, 0xf0, 0x6e, 0xea, 0x4a, 0x04, 0xa2, 0xfb, 0x85, 0xaf,
-  0x2b, 0xd8, 0x48, 0x5a, 0x4b, 0x04, 0x17, 0xca, 0x5a, 0x90, 0x3e, 0xee,
-  0xe8, 0x95, 0x5b, 0x48, 0x65, 0x61, 0xde, 0x9b, 0x7c, 0x3e, 0xde, 0xe1,
-  0x0d, 0x67, 0xd2, 0xf1, 0xa4, 0xd8, 0xad, 0xcb, 0x7c, 0x8f, 0x01, 0xd7,
-  0x62, 0x91, 0x2f, 0x2d, 0xe6, 0xb9, 0xb5, 0x89, 0x91, 0x86, 0x19, 0xff,
-  0x27, 0x49, 0x28, 0xc8, 0x5d, 0xc3, 0xf3, 0x48, 0xf3, 0xd0, 0x7a, 0x49,
-  0x7f, 0x34, 0x85, 0xf2, 0x93, 0x84, 0xd8, 0xf8, 0x70, 0x64, 0xff, 0x7d,
-  0x41, 0xda, 0xd2, 0x97, 0xe2, 0xa8, 0xa2, 0x3c, 0xf8, 0xda, 0xb3, 0x46,
-  0xa4, 0x58, 0x16, 0x73, 0xd7, 0x1a, 0x21, 0xda, 0x86, 0xf8, 0x70, 0x1c,
-  0xe1, 0xf4, 0x76, 0x8f, 0x29, 0x8e, 0x60, 0xe7, 0x6b, 0x6e, 0x23, 0xf6,
-  0x6f, 0xdd, 0xcd, 0xfb, 0xe2, 0xfe, 0xdd, 0xfb, 0xa9, 0xdb, 0xb7, 0x79,
-  0xf7, 0xb8, 0x7d, 0x83, 0x26, 0xcb, 0x7e, 0xe1, 0x39, 0xe8, 0x90, 0xec,
-  0xc1, 0xd6, 0x97, 0x75, 0xd4, 0xb5, 0xb9, 0x8c, 0x67, 0x64, 0x7e, 0xf1,
-  0x4b, 0x9d, 0x3a, 0x88, 0x11, 0x16, 0x3d, 0x4d, 0x3e, 0x3e, 0x1c, 0x87,
-  0x15, 0x71, 0xf6, 0x3e, 0xf6, 0xa2, 0xe8, 0xe1, 0x18, 0x41, 0xf0, 0x8b,
-  0xa7, 0x0d, 0x13, 0xf3, 0x04, 0x69, 0x9e, 0xc3, 0xf8, 0x70, 0x5a, 0x08,
-  0x28, 0x8a, 0x78, 0xb0, 0xbe, 0x2f, 0x55, 0xf0, 0x3f, 0x7c, 0x71, 0x48,
-  0x2b, 0x72, 0x2d, 0x03, 0xfd, 0x8c, 0x10, 0x0e, 0xc1, 0xec, 0x84, 0x7e,
-  0x43, 0xbd, 0x3e, 0x02, 0x03, 0xc9, 0x2d, 0xa4, 0x54, 0x25, 0xd8, 0x1d,
-  0xb4, 0x37, 0x8c, 0xa0, 0xee, 0x20, 0x0c, 0xf4, 0x94, 0xf3, 0xde, 0x33,
-  0xd6, 0xb3, 0xa3, 0xb6, 0x0c, 0xd1, 0xb3, 0xfb, 0x3f, 0x69, 0x7d, 0xa0,
-  0x67, 0x47, 0x06, 0x14, 0x61, 0xa8, 0x19, 0xc3, 0x1b, 0x49, 0xf7, 0x09,
-  0xaa, 0x15, 0x48, 0xc4, 0xf7, 0xcc, 0x0e, 0xe8, 0x03, 0xa4, 0x14, 0x51,
-  0xbc, 0x75, 0x21, 0x70, 0xa1, 0x0c, 0xf3, 0xfe, 0x85, 0x53, 0x66, 0x86,
-  0xb4, 0xc8, 0xa1, 0x90, 0xec, 0x08, 0x44, 0xb8, 0x81, 0x52, 0x2d, 0x65,
-  0xc6, 0x89, 0x32, 0x20, 0xbf, 0x7e, 0xd1, 0xa8, 0xf8, 0xaa, 0x22, 0xdb,
-  0x5b, 0x92, 0xf2, 0xe0, 0xf3, 0x96, 0xa4, 0x74, 0xef, 0x6c, 0x92, 0x91,
-  0xe3, 0x8c, 0x13, 0xd2, 0x7c, 0x07, 0x26, 0x5e, 0xe2, 0x2a, 0x6b, 0x6a,
-  0xe4, 0x11, 0xa6, 0x36, 0xd1, 0xab, 0x41, 0xd1, 0x31, 0xe7, 0x16, 0x79,
-  0xb5, 0x93, 0x48, 0x30, 0xa7, 0xa8, 0x99, 0x58, 0x47, 0xc9, 0xa4, 0x2a,
-  0x6f, 0x6a, 0xa8, 0xa3, 0x6a, 0xa0, 0xa6, 0x9c, 0x02, 0x7b, 0x15, 0x94,
-  0x44, 0x9b, 0xed, 0x5d, 0x58, 0x1c, 0xd8, 0xaf, 0x2f, 0xde, 0x9d, 0x70,
-  0x63, 0x07, 0xae, 0xce, 0xa5, 0x22, 0x24, 0x99, 0xf3, 0x7a, 0xb2, 0x34,
-  0x96, 0xb4, 0xd1, 0x4e, 0x1a, 0x66, 0x65, 0xca, 0x1d, 0x83, 0x12, 0x62,
-  0x84, 0xf4, 0x24, 0x20, 0xbc, 0x8a, 0xc5, 0x67, 0x44, 0x91, 0xf4, 0x70,
-  0xa8, 0x3c, 0x0d, 0xf8, 0xa7, 0xeb, 0xba, 0xc6, 0x4e, 0x46, 0x46, 0x0c,
-  0xf4, 0xa8, 0xb7, 0x74, 0x14, 0xf4, 0x48, 0x70, 0xfb, 0x3c, 0x35, 0x0d,
-  0xfd, 0xc7, 0x00, 0x29, 0x6d, 0x3d, 0x34, 0xa4, 0x75, 0xd9, 0xe6, 0x23,
-  0x40, 0xcd, 0x4a, 0xdb, 0x9a, 0x56, 0x50, 0x56, 0x6b, 0x35, 0x2f, 0xd7,
-  0x46, 0xc4, 0x57, 0xbe, 0x48, 0x0f, 0x21, 0x7d, 0x48, 0x02, 0x49, 0xeb,
-  0x8a, 0x9c, 0x79, 0xac, 0x55, 0x0f, 0x22, 0x39, 0xf7, 0xa2, 0x90, 0xa8,
-  0x37, 0xdf, 0x86, 0x36, 0x5b, 0xa6, 0x9e, 0xf6, 0x4b, 0xa0, 0xb1, 0xbd,
-  0x1b, 0x1c, 0x51, 0x12, 0x19, 0xa1, 0x0a, 0xc5, 0x14, 0x38, 0x4d, 0x43,
-  0x6c, 0x66, 0x74, 0xb4, 0x03, 0x4b, 0xe1, 0x1c, 0x0f, 0xd4, 0xbb, 0xa8,
-  0x82, 0xed, 0x9a, 0x89, 0xd4, 0xae, 0x7f, 0x84, 0xda, 0xcb, 0x00, 0xea,
-  0x02, 0x34, 0x17, 0x1a, 0x48, 0x94, 0x6d, 0x7f, 0x57, 0xe8, 0x7f, 0x14,
-  0xff, 0xd7, 0xc0, 0x0b, 0xaf, 0xe5, 0xe4, 0x81, 0xf2, 0xe3, 0x85, 0x2e,
-  0xb2, 0xbe, 0xcc, 0xaa, 0x4b, 0x2e, 0x43, 0x60, 0x48, 0xd8, 0x28, 0x8a,
-  0x45, 0x9a, 0x78, 0x28, 0x6d, 0x49, 0xf2, 0xdf, 0x86, 0x2c, 0x51, 0xe1,
-  0xaa, 0x5a, 0x53, 0xfd, 0x8b, 0xf8, 0xd3, 0xb7, 0x87, 0x33, 0x66, 0x2b,
-  0xb3, 0xb4, 0x30, 0x3b, 0x61, 0x6e, 0x6c, 0x98, 0x1f, 0xb3, 0x58, 0x7c,
-  0xb1, 0x28, 0xd7, 0xf5, 0xdd, 0x76, 0x22, 0xbd, 0x7c, 0xa4, 0xfd, 0x45,
-  0x23, 0xb9, 0x3c, 0x74, 0x96, 0xe6, 0x7c, 0xd7, 0xc5, 0x27, 0x15, 0x8a,
-  0x54, 0xa9, 0x50, 0xb3, 0xa3, 0xb6, 0x33, 0xdc, 0xb6, 0xf7, 0xb1, 0xff,
-  0xe6, 0x8f, 0x1d, 0xdd, 0x65, 0xb8, 0xff, 0xd9, 0x70, 0x7e, 0x98, 0xe5,
-  0xec, 0x42, 0x32, 0x31, 0xb3, 0x39, 0x69, 0x45, 0xea, 0xec, 0x80, 0x24,
-  0x3c, 0x18, 0x86, 0x57, 0x43, 0x0e, 0x2e, 0x75, 0x03, 0xfc, 0xa6, 0xa7,
-  0xf8, 0xc4, 0x49, 0x1e, 0x0e, 0x28, 0x39, 0xe4, 0x3c, 0x86, 0x30, 0xb1,
-  0xbd, 0x6f, 0xfc, 0x12, 0xb8, 0x51, 0x72, 0x66, 0xf6, 0x2b, 0x80, 0x9a,
-  0xa0, 0x48, 0xb6, 0x1d, 0x2e, 0x6d, 0x81, 0x9e, 0xce, 0xcb, 0x72, 0x92,
-  0x56, 0xdb, 0xb2, 0xf7, 0x40, 0x55, 0x37, 0x03, 0xce, 0xd8, 0xf9, 0x42,
-  0x67, 0x3d, 0x9c, 0x0d, 0xa2, 0x37, 0x9a, 0x74, 0x06, 0xbc, 0x3b, 0xd2,
-  0xa2, 0x0e, 0xfd, 0x39, 0x05, 0xc8, 0xcb, 0xc5, 0xcc, 0x6e, 0x85, 0xff,
-  0xd5, 0xc8, 0xa1, 0xa1, 0x36, 0xc1, 0xb9, 0x02, 0xd4, 0x13, 0x80, 0xf2,
-  0x16, 0x75, 0x16, 0x58, 0xa7, 0x3e, 0xa1, 0xb8, 0x13, 0x6c, 0x08, 0x25,
-  0x4e, 0xc4, 0x61, 0x5b, 0x24, 0x48, 0x62, 0x4d, 0x70, 0x8f, 0x39, 0xd0,
-  0x8c, 0x62, 0x3c, 0xc6, 0xf1, 0x94, 0xd0, 0xe1, 0xee, 0xb3, 0x2f, 0xc9,
-  0x56, 0xdd, 0x90, 0xe9, 0xe6, 0x73, 0x0d, 0x4f, 0x8e, 0x39, 0x63, 0xae,
-  0x2b, 0xdc, 0x36, 0xb8, 0x76, 0x1d, 0x2e, 0x2e, 0xd8, 0xab, 0xf0, 0x57,
-  0x76, 0x82, 0x0c, 0x8f, 0x35, 0x8b, 0x8e, 0xff, 0x79, 0x01, 0xc4, 0x66,
-  0x38, 0x27, 0x87, 0x11, 0xd2, 0x6c, 0x59, 0x97, 0xd9, 0x22, 0xbb, 0xe4,
-  0xd5, 0xbe, 0x3c, 0x39, 0xfa, 0xf6, 0xe8, 0x24, 0x10, 0x9b, 0x5f, 0x8d,
-  0xc7, 0x7b, 0x9f, 0xb2, 0x6a, 0x82, 0xa6, 0xac, 0x14, 0xb8, 0x48, 0xf0,
-  0x9c, 0x4d, 0xf0, 0xf2, 0x64, 0xc9, 0x8d, 0x83, 0x6c, 0x91, 0x44, 0xef,
-  0xc0, 0x67, 0x43, 0x19, 0xbc, 0xfc, 0x49, 0x81, 0x79, 0x47, 0xc9, 0x91,
-  0xe4, 0x12, 0x42, 0x36, 0x4e, 0xab, 0x6c, 0xc6, 0x3d, 0x4b, 0xc3, 0x2c,
-  0x42, 0x20, 0x7b, 0x50, 0x5f, 0x0e, 0x3a, 0x54, 0xce, 0x24, 0x47, 0x00,
-  0xcb, 0x2e, 0x22, 0x78, 0x63, 0x85, 0xea, 0xf9, 0xe4, 0x8d, 0x7c, 0x53,
-  0xea, 0x51, 0x69, 0x97, 0x18, 0xd8, 0x8d, 0xad, 0x94, 0xd3, 0x6f, 0x86,
-  0xaf, 0xc6, 0xc3, 0x37, 0x47, 0x27, 0x47, 0x5f, 0xbd, 0xba, 0x38, 0xb2,
-  0x78, 0xe6, 0x75, 0xd6, 0xa3, 0x82, 0x89, 0xfe, 0xf5, 0x8d, 0x6c, 0x0b,
-  0xd6, 0x4f, 0x58, 0xf8, 0x4d, 0xce, 0x0d, 0x59, 0x14, 0xf2, 0x9f, 0x3b,
-  0x6b, 0x93, 0x55, 0xd4, 0x70, 0x9e, 0x60, 0x7c, 0x38, 0x73, 0x2f, 0x16,
-  0x4b, 0x99, 0x6a, 0xb0, 0x82, 0x74, 0x71, 0x43, 0x8d, 0xd9, 0x3e, 0x14,
-  0x94, 0x4a, 0x9f, 0xdb, 0x52, 0x52, 0x5e, 0xbd, 0xef, 0x11, 0x72, 0x3b,
-  0xdb, 0x3a, 0x60, 0x20, 0xd3, 0xf7, 0xf8, 0x0b, 0xb4, 0x0c, 0x1c, 0xf1,
-  0xe3, 0x37, 0x78, 0xb2, 0x83, 0x31, 0xee, 0xa0, 0xd1, 0x89, 0xc1, 0xc8,
-  0xaf, 0x22, 0x80, 0x25, 0x44, 0x40, 0xf5, 0xf4, 0x2a, 0x5b, 0x8a, 0x2a,
-  0x4b, 0xa9, 0x09, 0x08, 0x82, 0x73, 0x4d, 0xa5, 0xe0, 0x05, 0x71, 0x0a,
-  0xd9, 0x24, 0x63, 0xc8, 0x05, 0x60, 0xa4, 0x11, 0x5d, 0xc7, 0x52, 0x7d,
-  0x6f, 0xa8, 0xe3, 0x00, 0xc5, 0x5a, 0x28, 0x6d, 0x07, 0x05, 0xc6, 0x23,
-  0x24, 0x18, 0x7a, 0x79, 0x03, 0x61, 0x9e, 0x00, 0x77, 0x0f, 0xec, 0xde,
-  0x59, 0x0b, 0x60, 0x6e, 0xd1, 0xd6, 0x4b, 0xb8, 0xce, 0xf0, 0x23, 0x6e,
-  0x5e, 0x22, 0x3a, 0x37, 0x4d, 0xf2, 0x67, 0x3a, 0xaa, 0xa5, 0x3c, 0x41,
-  0xca, 0x0d, 0xc9, 0x8d, 0x05, 0x33, 0x38, 0x9e, 0xb5, 0x1d, 0x65, 0x1a,
-  0xd2, 0x8d, 0xd5, 0x9b, 0x2e, 0xb3, 0x07, 0x86, 0x56, 0x9f, 0xc9, 0xe9,
-  0xe0, 0x47, 0xd2, 0x88, 0xc0, 0xa6, 0x78, 0x44, 0x5d, 0xf9, 0x8e, 0x63,
-  0xb4, 0x7b, 0x15, 0x10, 0x46, 0xbc, 0xfe, 0x35, 0xec, 0x28, 0x61, 0x4b,
-  0xed, 0x86, 0xd9, 0x2a, 0x00, 0xec, 0xde, 0x79, 0xab, 0xf8, 0xfb, 0x56,
-  0xb7, 0xf4, 0x7b, 0xad, 0x79, 0xad, 0x91, 0x8e, 0xce, 0xce, 0xb9, 0xbb,
-  0xfa, 0x09, 0xfd, 0x45, 0x22, 0x6f, 0x75, 0x0c, 0xff, 0x4e, 0xba, 0x7f,
-  0x50, 0x32, 0x4a, 0x86, 0xd0, 0x8d, 0x0d, 0xa6, 0x6b, 0x32, 0x22, 0xe7,
-  0x9f, 0x0a, 0xd0, 0xba, 0x5c, 0x07, 0x6c, 0x71, 0x90, 0xfc, 0x6f, 0x1b,
-  0x74, 0xd2, 0x4c, 0x68, 0x0a, 0x82, 0x50, 0x84, 0x49, 0x70, 0x0e, 0xad,
-  0x06, 0x48, 0x4e, 0xe9, 0x97, 0xa4, 0x6f, 0xb2, 0x5c, 0x6b, 0xfa, 0x38,
-  0x2f, 0xb7, 0x40, 0x10, 0x95, 0x88, 0x86, 0xa5, 0x37, 0x93, 0x0a, 0xed,
-  0x5c, 0x53, 0x33, 0x95, 0x51, 0x67, 0xa9, 0x68, 0xc8, 0x45, 0xb0, 0x9b,
-  0x61, 0x3c, 0x04, 0xad, 0xc8, 0xc4, 0x11, 0x27, 0x59, 0xe9, 0x58, 0xb0,
-  0xe6, 0xda, 0x0f, 0x24, 0xc7, 0x80, 0x2c, 0x08, 0xb4, 0x1d, 0xe2, 0x7a,
-  0x01, 0x24, 0x1f, 0x04, 0x1a, 0xbe, 0xd4, 0x24, 0x68, 0x26, 0x5a, 0x76,
-  0x27, 0x61, 0x73, 0x56, 0x08, 0xe7, 0x12, 0x9e, 0x4c, 0x01, 0x28, 0x0b,
-  0xd3, 0x66, 0xc2, 0x1a, 0x0c, 0xb2, 0xfa, 0xae, 0xd2, 0x22, 0x72, 0xe7,
-  0xcc, 0xc6, 0xdb, 0x9e, 0x68, 0x58, 0xa5, 0x1c, 0x5b, 0x44, 0x89, 0x27,
-  0xda, 0xe8, 0xc2, 0x5a, 0x19, 0x43, 0xcf, 0x30, 0xb0, 0x9c, 0xe2, 0x1a,
-  0x32, 0x15, 0xde, 0x19, 0x34, 0x06, 0x12, 0x7a, 0x2b, 0x63, 0x54, 0x25,
-  0xcc, 0xc5, 0x45, 0x5b, 0x5a, 0x24, 0xd8, 0x5f, 0xf4, 0x6d, 0x3d, 0xf3,
-  0xa8, 0xb0, 0xf1, 0x50, 0x75, 0xa9, 0xc7, 0x70, 0xbb, 0x04, 0x07, 0xc7,
-  0x07, 0x61, 0x5f, 0x74, 0x33, 0x50, 0x32, 0x2e, 0xba, 0x30, 0xdf, 0xc6,
-  0x74, 0xc9, 0x0d, 0x64, 0x23, 0xb2, 0x44, 0x3c, 0xc1, 0xf7, 0xdf, 0x60,
-  0x72, 0xf4, 0x1d, 0xbc, 0x80, 0x7b, 0x4f, 0xd0, 0x43, 0x97, 0xda, 0xe3,
-  0x89, 0x49, 0x79, 0x92, 0x99, 0xef, 0xe5, 0xd4, 0x03, 0xcf, 0x0f, 0x03,
-  0x84, 0x69, 0xce, 0xb5, 0x21, 0x40, 0x54, 0x05, 0x94, 0xec, 0x00, 0xa2,
-  0x77, 0x29, 0x97, 0x22, 0x4b, 0xfc, 0x06, 0x92, 0x20, 0x08, 0x58, 0x0c,
-  0x67, 0x03, 0x89, 0x67, 0x22, 0xbd, 0xb1, 0xac, 0xc2, 0x12, 0xd8, 0xa9,
-  0xc5, 0x5a, 0xd2, 0x27, 0xd3, 0xfa, 0x3a, 0x7e, 0xc3, 0xeb, 0xeb, 0xe8,
-  0x0d, 0x7f, 0xc0, 0x3d, 0x77, 0xf6, 0xd6, 0xd1, 0xd9, 0xf8, 0xdb, 0xa4,
-  0x07, 0x34, 0x82, 0x3b, 0xb9, 0xf0, 0x15, 0x77, 0xab, 0x23, 0xa2, 0xf7,
-  0xaf, 0x79, 0xff, 0x3d, 0x8f, 0xc6, 0x07, 0x82, 0x7b, 0x6e, 0xbe, 0x2f,
-  0x97, 0xfb, 0xec, 0xd5, 0xf8, 0x5b, 0xef, 0x5a, 0x7b, 0x24, 0x10, 0x2b,
-  0xc6, 0xb4, 0x99, 0xed, 0x14, 0x24, 0x66, 0xd2, 0xa1, 0xc1, 0xa2, 0xf4,
-  0x5e, 0x5f, 0x3f, 0x84, 0xde, 0xcd, 0x4c, 0x02, 0x7a, 0x0f, 0xf6, 0x78,
-  0x13, 0xbd, 0xfb, 0x07, 0xd5, 0x4e, 0x9a, 0xf5, 0xa8, 0xbd, 0xe0, 0x2e,
-  0xda, 0x54, 0xe0, 0xd1, 0x47, 0xe6, 0x14, 0x48, 0x14, 0xd2, 0x0e, 0x53,
-  0x09, 0x31, 0xcf, 0x9f, 0x46, 0xe8, 0xe6, 0x85, 0x80, 0xd0, 0xf5, 0x3c,
-  0xe3, 0x94, 0xde, 0x47, 0xe8, 0x9a, 0x52, 0x9c, 0x31, 0x91, 0xfb, 0x34,
-  0x1e, 0xd2, 0xb7, 0x47, 0xb5, 0x7e, 0x19, 0x78, 0xb8, 0x43, 0x9a, 0x69,
-  0xe6, 0xa0, 0x0c, 0x1c, 0x90, 0x43, 0x04, 0x5c, 0x44, 0x41, 0x19, 0xb8,
-  0x20, 0x36, 0x74, 0xe7, 0xdb, 0xd2, 0xfc, 0x56, 0xf5, 0x43, 0xa5, 0x1a,
-  0x36, 0x37, 0x56, 0x23, 0xa1, 0x0d, 0xf7, 0x80, 0x0f, 0x28, 0x30, 0x0f,
-  0x6e, 0x64, 0x0b, 0x3d, 0x28, 0x8b, 0x56, 0xa7, 0xd7, 0x19, 0xe5, 0x79,
-  0x00, 0x86, 0xac, 0x7b, 0x4f, 0x49, 0xcd, 0x83, 0x36, 0x40, 0x8a, 0xca,
-  0x30, 0x2f, 0x86, 0x61, 0x1a, 0xb4, 0x1f, 0xda, 0x6a, 0x5a, 0xd8, 0xb4,
-  0x54, 0xa2, 0x08, 0x85, 0x57, 0x82, 0x1c, 0xa4, 0x8c, 0xc2, 0xd2, 0x94,
-  0x98, 0x00, 0x7b, 0x25, 0x23, 0x05, 0xb5, 0x51, 0x84, 0xb5, 0x76, 0xbb,
-  0x97, 0xa6, 0x6c, 0x39, 0xe3, 0x9e, 0x76, 0x50, 0x8c, 0x67, 0x45, 0x3d,
-  0x74, 0x1d, 0xda, 0x5f, 0xda, 0xbf, 0x06, 0xf6, 0xc5, 0x9b, 0xf7, 0x63,
-  0x8a, 0x5c, 0x65, 0xa8, 0x35, 0x50, 0x33, 0xb8, 0xce, 0xb8, 0x3e, 0xe4,
-  0x12, 0x9c, 0xc3, 0x3c, 0x62, 0x0b, 0xfe, 0x6c, 0x53, 0xc4, 0x97, 0x51,
-  0x87, 0x10, 0x3e, 0x11, 0x14, 0xea, 0xa5, 0x5c, 0x70, 0x63, 0x6c, 0x3b,
-  0xc4, 0xc5, 0x69, 0x05, 0x6e, 0x6e, 0x5a, 0xd1, 0x0e, 0xcf, 0x53, 0x04,
-  0xe3, 0x48, 0xcb, 0xf2, 0x68, 0x1a, 0xbb, 0xda, 0x9e, 0x79, 0xc5, 0x88,
-  0xec, 0x82, 0x41, 0x66, 0x3b, 0x5c, 0x15, 0x9d, 0xae, 0xf4, 0xdd, 0xc5,
-  0x0a, 0x66, 0x92, 0xe4, 0x8c, 0xed, 0x6e, 0x34, 0x1e, 0x69, 0x03, 0x57,
-  0xd7, 0x8f, 0x87, 0xf4, 0xb0, 0xa4, 0x1f, 0xda, 0x9f, 0x3e, 0xc5, 0x4f,
-  0x47, 0xc1, 0x46, 0x07, 0x25, 0x34, 0xd2, 0x41, 0xd5, 0xa2, 0xe3, 0x52,
-  0x76, 0x63, 0x31, 0xa3, 0xce, 0x1b, 0x38, 0x7b, 0x6d, 0xa4, 0x40, 0x68,
-  0x89, 0x8c, 0x79, 0xe8, 0x9a, 0xb7, 0x25, 0x01, 0x4e, 0x8b, 0xd1, 0x6d,
-  0xea, 0xd6, 0xa1, 0x3f, 0x7a, 0x14, 0x39, 0x74, 0x3b, 0xe7, 0x97, 0xb2,
-  0xcc, 0xf8, 0x91, 0xb7, 0xa4, 0xcb, 0x24, 0xe7, 0xfe, 0x56, 0x2f, 0xf3,
-  0xd5, 0x50, 0xdf, 0x62, 0xe1, 0xb1, 0x4c, 0x3f, 0x89, 0x48, 0x7f, 0x2c,
-  0x74, 0x30, 0x0c, 0x60, 0x56, 0xb8, 0xdd, 0x32, 0xba, 0x52, 0xbb, 0x75,
-  0xb6, 0x88, 0x46, 0xf4, 0xad, 0xc6, 0x82, 0xb6, 0x12, 0x51, 0xf0, 0x77,
-  0x62, 0x35, 0x5f, 0x9a, 0x9d, 0xed, 0xfb, 0x78, 0xb4, 0xbe, 0x03, 0x33,
-  0xb1, 0xef, 0xde, 0x73, 0x7e, 0x8e, 0xc8, 0x36, 0x9f, 0x9f, 0xee, 0xd9,
-  0xff, 0x1a, 0xe7, 0xf7, 0xf4, 0x57, 0x39, 0xbf, 0xa7, 0xff, 0xcb, 0x9c,
-  0xdf, 0xd3, 0x7f, 0xf9, 0xfc, 0x1e, 0x07, 0xe7, 0xf7, 0xf4, 0x7f, 0x95,
-  0xf3, 0xd3, 0xfe, 0x6a, 0x7a, 0x7a, 0x59, 0x70, 0x7e, 0x63, 0x49, 0x1b,
-  0x51, 0x60, 0x3e, 0xda, 0x69, 0x7d, 0x8b, 0x83, 0x34, 0x92, 0xe8, 0xc8,
-  0x5e, 0x70, 0xcd, 0xb5, 0x65, 0x68, 0xc8, 0x9e, 0x86, 0x25, 0x23, 0x2d,
-  0xab, 0xd0, 0x41, 0x8f, 0xcf, 0x12, 0x3b, 0x01, 0xef, 0x18, 0x1c, 0xd0,
-  0x16, 0x14, 0xb4, 0xa8, 0x8b, 0xba, 0x26, 0xbf, 0xa5, 0x59, 0x3f, 0x97,
-  0x57, 0xd6, 0xae, 0x28, 0x38, 0x86, 0xa4, 0x65, 0x36, 0xee, 0xc5, 0x4b,
-  0xda, 0xae, 0x21, 0x3f, 0xfe, 0xa7, 0x68, 0xb1, 0x1b, 0x3a, 0x36, 0xbb,
-  0x29, 0xc5, 0xc2, 0x12, 0xde, 0xd6, 0xb9, 0x73, 0xb3, 0xd1, 0x2c, 0xef,
-  0xd0, 0x62, 0x67, 0xd6, 0x55, 0x75, 0xec, 0x09, 0xde, 0x7f, 0x64, 0xe5,
-  0x15, 0x70, 0x7c, 0x5e, 0x7e, 0x38, 0x0f, 0x7d, 0x6f, 0x66, 0xa9, 0x21,
-  0x34, 0xa2, 0x39, 0xae, 0x21, 0xd9, 0xf6, 0x43, 0xa0, 0xc4, 0x9b, 0xdb,
-  0x78, 0xfa, 0xf5, 0xae, 0xe7, 0x04, 0x42, 0xd0, 0xa2, 0x8c, 0xf5, 0xbb,
-  0xe3, 0xb2, 0x5b, 0x5b, 0x5a, 0x5e, 0x0f, 0x3a, 0x3d, 0x2e, 0x6d, 0xda,
-  0xbb, 0x53, 0x52, 0xe0, 0x1d, 0x91, 0x82, 0xdd, 0x2a, 0xe8, 0x6f, 0x49,
-  0xca, 0x60, 0x5e, 0x0b, 0x6a, 0x1c, 0xc1, 0x68, 0xa8, 0x1c, 0xc4, 0xcc,
-  0x7e, 0xcb, 0x8c, 0xbf, 0xa7, 0x87, 0xad, 0x5d, 0x7d, 0x03, 0x5d, 0x71,
-  0xbd, 0x5c, 0x49, 0x69, 0xf1, 0x3d, 0xa5, 0x95, 0x09, 0x77, 0x63, 0x44,
-  0xd9, 0x24, 0xbb, 0xf7, 0xa5, 0xca, 0x48, 0x2d, 0x73, 0x5b, 0x5a, 0x21,
-  0xe6, 0x7b, 0x2f, 0x30, 0x5a, 0x14, 0x8b, 0xea, 0xa2, 0x9b, 0x20, 0xc5,
-  0x15, 0x31, 0x8a, 0xaf, 0x4e, 0x5c, 0xd2, 0xd3, 0x9a, 0xa5, 0xd0, 0x01,
-  0x20, 0x00, 0xfc, 0xd5, 0x18, 0x38, 0x37, 0xa2, 0x84, 0x54, 0x60, 0x45,
-  0x73, 0x66, 0x74, 0x41, 0xf3, 0xaa, 0x19, 0x66, 0x24, 0x55, 0x56, 0xb5,
-  0x17, 0xa7, 0xb6, 0x85, 0x21, 0x00, 0x77, 0x8a, 0x55, 0x07, 0x20, 0xd8,
-  0x03, 0xf5, 0x56, 0xb2, 0xfa, 0x04, 0xba, 0xc3, 0x62, 0x33, 0x15, 0xd7,
-  0x5a, 0x7b, 0xd3, 0x6a, 0x51, 0x32, 0x9c, 0x84, 0xe1, 0x80, 0x56, 0x09,
-  0xe0, 0xbf, 0x81, 0x36, 0x7a, 0xca, 0x32, 0x58, 0x35, 0xf3, 0x1c, 0x13,
-  0x91, 0x9b, 0xe4, 0x57, 0x7d, 0x44, 0x5d, 0x01, 0x64, 0xe8, 0xe8, 0x02,
-  0xa5, 0x5f, 0x05, 0x37, 0x01, 0x69, 0xbb, 0xa4, 0x3a, 0x46, 0x12, 0x67,
-  0xff, 0x06, 0x09, 0x85, 0x02, 0x30, 0x10, 0x3d, 0xc6, 0x56, 0x0a, 0x38,
-  0xe7, 0x16, 0x5f, 0x65, 0x7e, 0xd5, 0xb4, 0x85, 0xa0, 0xe4, 0x28, 0x05,
-  0x27, 0x2f, 0x9a, 0x5d, 0x94, 0x4c, 0xd8, 0xa0, 0xe1, 0x10, 0x50, 0x11,
-  0x64, 0xea, 0x5b, 0x82, 0xe2, 0xb4, 0x16, 0xe8, 0x59, 0x6e, 0xb9, 0x0c,
-  0xd0, 0x9b, 0xdf, 0xae, 0x4a, 0xd9, 0xcb, 0x0c, 0xf7, 0x59, 0x54, 0x76,
-  0xc9, 0xe1, 0xff, 0x4d, 0x59, 0xc8, 0x1d, 0xc0, 0x35, 0x6e, 0x26, 0x6e,
-  0x21, 0xd7, 0xe0, 0x11, 0x2c, 0x9a, 0xaa, 0x5c, 0xdd, 0x25, 0x5f, 0xa5,
-  0xb4, 0x2c, 0xa8, 0xf5, 0x69, 0xb6, 0x0c, 0x4a, 0xd3, 0xb8, 0xbd, 0xb8,
-  0xa8, 0xd9, 0xdc, 0x6a, 0x5c, 0x57, 0x08, 0xbb, 0x80, 0xb7, 0xc5, 0x10,
-  0xab, 0xd9, 0x2f, 0x72, 0x26, 0x4b, 0xd9, 0x08, 0xa7, 0x5e, 0x8f, 0xc7,
-  0x27, 0xa1, 0x2d, 0xa7, 0x8d, 0x8d, 0x36, 0x62, 0x12, 0x60, 0xb4, 0x61,
-  0x37, 0x3a, 0x22, 0x83, 0xbf, 0x8c, 0x72, 0x0e, 0x59, 0x77, 0xb6, 0x50,
-  0xcc, 0x0e, 0xc5, 0x91, 0x9f, 0x56, 0x77, 0x2b, 0x32, 0xbe, 0xa4, 0x08,
-  0x97, 0xaf, 0x39, 0xcd, 0x8f, 0x41, 0x60, 0x37, 0x96, 0x3d, 0x7f, 0xa8,
-  0x3d, 0x2c, 0x75, 0xc8, 0x52, 0x8a, 0xdf, 0x13, 0x28, 0x32, 0x81, 0x5b,
-  0x89, 0x6c, 0x25, 0xa9, 0x33, 0x03, 0x9a, 0x4b, 0x6f, 0x8f, 0x33, 0xe9,
-  0x5c, 0xd6, 0xe9, 0x8e, 0xc1, 0xe6, 0x0c, 0x59, 0x5a, 0x84, 0x88, 0x88,
-  0x70, 0xca, 0xae, 0xca, 0x77, 0x79, 0x43, 0xaa, 0xf6, 0xba, 0x37, 0xc3,
-  0x36, 0x4f, 0x48, 0x09, 0xe1, 0xa1, 0x08, 0xa0, 0x64, 0x38, 0xcb, 0xe3,
-  0x60, 0x7f, 0xff, 0x5e, 0x8c, 0x20, 0xb1, 0x56, 0x37, 0x42, 0x05, 0x11,
-  0x3b, 0xe4, 0x00, 0x87, 0xad, 0x69, 0x4f, 0x73, 0x29, 0x58, 0xea, 0xa2,
-  0xaa, 0x99, 0x4f, 0x5a, 0xc8, 0x1e, 0x77, 0x05, 0x99, 0xad, 0x32, 0x94,
-  0x16, 0x00, 0x83, 0xcc, 0xdd, 0x3e, 0xc2, 0x1c, 0xeb, 0x17, 0xad, 0x77,
-  0xa2, 0x2d, 0xa5, 0x69, 0x42, 0xf4, 0x92, 0xe8, 0x9f, 0xa3, 0xe4, 0xcf,
-  0x77, 0xce, 0x6e, 0x07, 0x43, 0x64, 0x7f, 0x30, 0x66, 0xc5, 0x7e, 0x7e,
-  0x9e, 0xff, 0x68, 0x13, 0xeb, 0x8f, 0xe3, 0x00, 0xfd, 0x1b, 0x33, 0x16,
-  0x0c, 0x6b, 0xb8, 0xdd, 0xaa, 0xc6, 0xa8, 0x80, 0x13, 0x89, 0x3b, 0xac,
-  0xec, 0x6a, 0x8d, 0xfe, 0xd1, 0x6d, 0xb2, 0xe4, 0xf5, 0x4b, 0x62, 0x2e,
-  0xb8, 0x11, 0xcf, 0xb9, 0x8d, 0xea, 0xd4, 0xce, 0x42, 0x7d, 0xd6, 0x56,
-  0x53, 0xa8, 0xb4, 0x7a, 0x88, 0x02, 0xea, 0x2e, 0x6a, 0x04, 0xd5, 0x5c,
-  0x13, 0xef, 0x82, 0xaf, 0xa1, 0x2c, 0x3c, 0x0f, 0x0c, 0xa1, 0x89, 0x71,
-  0xe6, 0x8f, 0xd6, 0x5a, 0x75, 0x40, 0x6c, 0x7d, 0xc6, 0xaa, 0xc8, 0xfb,
-  0x7a, 0xd3, 0x67, 0xa5, 0x87, 0x5d, 0x65, 0xcb, 0xeb, 0x3a, 0xae, 0x1c,
-  0xf6, 0xe5, 0x84, 0xb0, 0x18, 0x9c, 0x41, 0xec, 0xdc, 0x84, 0x5c, 0x28,
-  0x8e, 0xec, 0x08, 0x68, 0x82, 0xac, 0x3a, 0x1a, 0x8d, 0x65, 0x90, 0x48,
-  0x27, 0x72, 0x4a, 0x18, 0xe7, 0x53, 0x8e, 0xaa, 0xb7, 0x0e, 0x56, 0x8d,
-  0xfb, 0x8c, 0xf1, 0x4a, 0x6a, 0x07, 0x07, 0x47, 0x4c, 0x9b, 0x7b, 0xa6,
-  0x99, 0x51, 0x6b, 0x9b, 0x1a, 0x16, 0x7a, 0x44, 0xbd, 0x0a, 0x6d, 0xf3,
-  0x24, 0x21, 0xd4, 0xd4, 0x6b, 0x78, 0xaf, 0x79, 0x78, 0x8b, 0xc0, 0xc6,
-  0x77, 0x92, 0x2b, 0xd7, 0xc9, 0x4f, 0x26, 0x15, 0xb8, 0x01, 0xdb, 0xa0,
-  0xe8, 0x38, 0x81, 0x37, 0x26, 0x38, 0x1c, 0x94, 0xc0, 0xaf, 0x2b, 0x2f,
-  0x46, 0xbe, 0x75, 0x95, 0x9b, 0x53, 0x2d, 0xb6, 0x00, 0x0c, 0xb9, 0x9e,
-  0x30, 0xe6, 0x68, 0xa3, 0x1f, 0x0d, 0x16, 0xbb, 0x5e, 0x78, 0x8e, 0xd9,
-  0x78, 0x9b, 0xf1, 0x56, 0xc2, 0xf7, 0x20, 0x69, 0x5d, 0x08, 0xd5, 0x27,
-  0x39, 0x6c, 0xef, 0x8a, 0xef, 0xf9, 0xdc, 0xa2, 0xde, 0x5c, 0x57, 0x88,
-  0x47, 0x37, 0x1f, 0x9d, 0xb9, 0x06, 0x7e, 0x5b, 0x1c, 0xe7, 0x68, 0x4e,
-  0x97, 0xe4, 0xc4, 0x61, 0x5d, 0x95, 0x76, 0x39, 0xda, 0xb4, 0x84, 0x0e,
-  0x42, 0x20, 0x5b, 0x22, 0x98, 0xc2, 0x92, 0xda, 0x97, 0xde, 0xa1, 0xea,
-  0xc8, 0x7e, 0x1a, 0xd4, 0x1d, 0x00, 0xc0, 0x11, 0x18, 0x62, 0x09, 0xcd,
-  0x5f, 0xe8, 0x98, 0xb6, 0x70, 0x5a, 0xe5, 0xab, 0x86, 0xf3, 0x11, 0x24,
-  0xb9, 0x7a, 0x23, 0x70, 0x8e, 0xf9, 0xdb, 0xe5, 0xa2, 0x9c, 0xa4, 0x7c,
-  0x47, 0x6c, 0x6e, 0x93, 0x7a, 0x3c, 0x5b, 0x80, 0xc5, 0xc4, 0xde, 0x88,
-  0x3c, 0x23, 0x0d, 0x17, 0xcc, 0x92, 0x87, 0x2f, 0xd0, 0x1d, 0x9e, 0x02,
-  0xa1, 0x9b, 0x3e, 0x68, 0x3f, 0xc1, 0xf0, 0x7f, 0xc3, 0xf9, 0x40, 0x6e,
-  0xaf, 0x56, 0x65, 0x23, 0x35, 0xac, 0xf6, 0xee, 0x54, 0xa0, 0x73, 0x01,
-  0x46, 0x61, 0xb6, 0xce, 0xda, 0x99, 0x62, 0xdb, 0x12, 0x26, 0x96, 0x96,
-  0x76, 0xc8, 0x56, 0xb2, 0x9d, 0x0a, 0x24, 0x1c, 0x1b, 0xcd, 0x82, 0x22,
-  0x80, 0x60, 0xc9, 0x5a, 0x1a, 0x18, 0xe3, 0xe3, 0x06, 0x15, 0x1a, 0x05,
-  0x49, 0x25, 0x37, 0x39, 0xcd, 0xbe, 0xf5, 0xf6, 0x8a, 0x81, 0x15, 0x42,
-  0x8a, 0x9f, 0xb3, 0x42, 0x08, 0xff, 0x25, 0x9f, 0xc9, 0x86, 0x9d, 0xf1,
-  0x51, 0xc6, 0xdb, 0x26, 0x82, 0xfd, 0x74, 0x5c, 0x3c, 0x81, 0xad, 0xd5,
-  0x64, 0x34, 0x90, 0x7f, 0x7f, 0xc7, 0x10, 0x8b, 0x54, 0xbf, 0xa5, 0x48,
-  0x3c, 0x00, 0x36, 0xa6, 0xb6, 0xf3, 0x63, 0x5e, 0x10, 0xaf, 0xcc, 0xa3,
-  0x9b, 0x42, 0x39, 0x6e, 0x8b, 0x3b, 0xce, 0xa2, 0xc1, 0x99, 0x43, 0xdf,
-  0x95, 0x98, 0x81, 0x12, 0x54, 0xd6, 0x4c, 0xbd, 0x5f, 0xce, 0xb2, 0x74,
-  0x11, 0xeb, 0x96, 0x41, 0x13, 0x26, 0x47, 0x37, 0xb3, 0x36, 0x82, 0x49,
-  0x29, 0x24, 0x64, 0x22, 0x39, 0xd6, 0x9c, 0x65, 0x28, 0xc6, 0x81, 0x9d,
-  0x21, 0x6e, 0x55, 0x44, 0xbb, 0xa6, 0xfe, 0x3d, 0x78, 0x00, 0xb5, 0xc3,
-  0x53, 0x41, 0x24, 0x40, 0xc0, 0xd3, 0x95, 0xe0, 0x10, 0xa6, 0x1b, 0x25,
-  0x24, 0xea, 0x03, 0xa0, 0x00, 0xe4, 0xc3, 0x77, 0x87, 0x13, 0x47, 0x2a,
-  0xd7, 0x85, 0x42, 0xc8, 0x68, 0xd9, 0x06, 0x4d, 0x8c, 0x73, 0x60, 0x88,
-  0x49, 0xee, 0xca, 0x3d, 0x44, 0x9e, 0x85, 0x70, 0x8e, 0x55, 0x78, 0xd2,
-  0xd7, 0x99, 0x66, 0x46, 0xc1, 0x94, 0xe1, 0x03, 0x68, 0x6c, 0xb1, 0x2c,
-  0x8d, 0x26, 0x7c, 0x86, 0x99, 0xcc, 0xe1, 0x61, 0x8f, 0xe9, 0x25, 0x7d,
-  0xd2, 0x85, 0xc6, 0x70, 0xd9, 0xeb, 0x74, 0x9e, 0x29, 0x70, 0xaa, 0xb0,
-  0xef, 0x72, 0x6a, 0xb6, 0x10, 0x41, 0x5a, 0x80, 0x12, 0x91, 0x76, 0x14,
-  0x58, 0xd0, 0xcc, 0x35, 0x89, 0x4b, 0x5a, 0x91, 0x4b, 0x17, 0x41, 0xd8,
-  0x6d, 0xbd, 0xc8, 0x57, 0xea, 0x9f, 0x1e, 0x24, 0x99, 0x64, 0x15, 0x2d,
-  0xee, 0xe4, 0x54, 0xd6, 0xc3, 0x88, 0xe9, 0x65, 0x9b, 0xb9, 0x0b, 0xfc,
-  0xed, 0x82, 0x14, 0xff, 0x9d, 0xce, 0xe8, 0x8f, 0xf7, 0x0f, 0x30, 0xd9,
-  0xc7, 0xfb, 0xcf, 0x76, 0xdb, 0x52, 0x79, 0x51, 0x67, 0x43, 0x24, 0xad,
-  0xc5, 0xb5, 0x53, 0x6e, 0x55, 0xe7, 0xfc, 0xea, 0xd0, 0x44, 0xe9, 0x25,
-  0xc9, 0x74, 0x9b, 0xad, 0x2b, 0x35, 0xe5, 0xa8, 0x89, 0x21, 0x19, 0xa6,
-  0xf5, 0x15, 0xa1, 0x2e, 0x06, 0x52, 0xde, 0xbd, 0x03, 0xa3, 0x0d, 0xb1,
-  0x1b, 0xde, 0xa7, 0x14, 0xaf, 0x4a, 0x83, 0x34, 0xde, 0x07, 0x3c, 0x47,
-  0x56, 0x29, 0x07, 0x18, 0x62, 0xed, 0x4c, 0x15, 0xc9, 0x81, 0x93, 0xc4,
-  0x24, 0x7c, 0xd7, 0x6e, 0x37, 0x6c, 0xf9, 0xce, 0xdb, 0xbc, 0xc8, 0xeb,
-  0x2b, 0xb4, 0x29, 0xae, 0xeb, 0xf4, 0x32, 0x0b, 0x0b, 0xdc, 0x0d, 0x43,
-  0x32, 0x26, 0x13, 0xb7, 0xd1, 0xab, 0x80, 0x4c, 0x4f, 0xa9, 0x61, 0xbc,
-  0xef, 0x52, 0xb0, 0x22, 0x3d, 0xf6, 0x80, 0x8c, 0xe6, 0x96, 0x19, 0xa3,
-  0x97, 0xbc, 0xf6, 0x1a, 0x40, 0xf6, 0xf5, 0x7f, 0xa4, 0x6e, 0x64, 0x80,
-  0xc8, 0xe2, 0xde, 0x40, 0xdc, 0x1c, 0x28, 0xd6, 0xf5, 0xc5, 0xa8, 0xda,
-  0xe6, 0x70, 0x4f, 0xc7, 0x86, 0x05, 0xb9, 0x5e, 0xc5, 0x48, 0x01, 0x34,
-  0x3f, 0xfb, 0xde, 0xe8, 0xa2, 0xa3, 0xe7, 0xf6, 0xc7, 0xbb, 0x0f, 0x6b,
-  0x18, 0x79, 0xd8, 0xd1, 0xcd, 0x28, 0x17, 0x57, 0x22, 0x11, 0x30, 0x55,
-  0xbe, 0xe0, 0x7f, 0xc4, 0x7d, 0x1d, 0xa8, 0x6b, 0x35, 0x56, 0xe4, 0xbb,
-  0x57, 0x80, 0x94, 0x72, 0x08, 0xcf, 0x5e, 0xda, 0x6e, 0xab, 0x46, 0x0f,
-  0xdd, 0x33, 0x49, 0x55, 0x8d, 0x02, 0xfc, 0x59, 0x4c, 0x5e, 0xce, 0x20,
-  0x74, 0x51, 0x37, 0xd5, 0xe5, 0x8c, 0xe0, 0x6d, 0xc8, 0x30, 0x25, 0xe8,
-  0x9d, 0xe4, 0x24, 0xe3, 0x66, 0x39, 0xc9, 0xf6, 0x97, 0xdb, 0x91, 0x6a,
-  0xbe, 0xed, 0x97, 0x1e, 0xc2, 0x78, 0xed, 0x1a, 0x71, 0x6d, 0xff, 0x91,
-  0x92, 0x92, 0x09, 0x4c, 0x85, 0xbf, 0x29, 0x67, 0xc0, 0xf9, 0xb5, 0xf1,
-  0xb0, 0xbe, 0xa6, 0xf4, 0x09, 0x3e, 0x60, 0x3b, 0x79, 0x88, 0x1b, 0x5f,
-  0x13, 0xf6, 0x7a, 0x67, 0xdd, 0xaa, 0xcf, 0x6d, 0x07, 0xd5, 0x7e, 0x94,
-  0xba, 0xcf, 0x68, 0x3d, 0xd2, 0x1d, 0xdc, 0xb5, 0x31, 0xe5, 0x39, 0xf1,
-  0x64, 0xe0, 0xab, 0x9c, 0x4e, 0x73, 0xd2, 0x5c, 0x70, 0xf5, 0xcd, 0x2f,
-  0x2f, 0x2f, 0xa3, 0x29, 0x4e, 0x66, 0x0b, 0xe8, 0xe0, 0x69, 0xcd, 0xf3,
-  0x2c, 0x6d, 0xa0, 0x6f, 0x90, 0x9c, 0xef, 0x4f, 0x9e, 0x76, 0xba, 0x7b,
-  0xe4, 0x19, 0x6f, 0x15, 0x2f, 0xfd, 0xfa, 0x94, 0x38, 0x15, 0x80, 0x08,
-  0x98, 0x06, 0x08, 0xd1, 0x13, 0x3f, 0xb3, 0xde, 0xae, 0x79, 0x6a, 0x88,
-  0xe2, 0x4e, 0x42, 0xcb, 0x0b, 0xd4, 0x13, 0x30, 0x07, 0xc9, 0x96, 0x01,
-  0x0f, 0x5b, 0x68, 0x6a, 0x2e, 0x67, 0xb0, 0x53, 0x2f, 0x11, 0x4e, 0x76,
-  0xa6, 0x7d, 0x66, 0x79, 0xe0, 0x92, 0xde, 0x13, 0x6d, 0xa8, 0xe1, 0x72,
-  0xd9, 0xbb, 0x5e, 0x11, 0x3f, 0xb3, 0x5d, 0x54, 0x15, 0xb5, 0x01, 0x91,
-  0x9c, 0x2f, 0x0c, 0xc3, 0xf3, 0x55, 0x26, 0x7e, 0x31, 0x63, 0xd7, 0x47,
-  0x09, 0x13, 0xc2, 0x70, 0xa3, 0x3d, 0x5c, 0x12, 0xae, 0x28, 0x98, 0x12,
-  0x8c, 0x0d, 0x98, 0x4c, 0x99, 0x50, 0x93, 0xb6, 0xc3, 0x47, 0x9f, 0x7f,
-  0x3e, 0x8a, 0xe2, 0x9c, 0x72, 0x79, 0xb6, 0x21, 0x42, 0xda, 0x29, 0x87,
-  0x89, 0x39, 0xb0, 0xe8, 0xc6, 0xf4, 0x7d, 0xa2, 0x30, 0x94, 0x8f, 0x95,
-  0x4b, 0x82, 0x2e, 0x22, 0xe6, 0xb8, 0x5e, 0x84, 0xe6, 0x3d, 0x42, 0x8f,
-  0x4b, 0x52, 0x2b, 0x84, 0x8b, 0x41, 0xbd, 0x22, 0xae, 0xb1, 0xcc, 0x7b,
-  0x54, 0xba, 0x4c, 0xd2, 0xf3, 0x38, 0x95, 0x53, 0xa0, 0x01, 0x25, 0x9f,
-  0x94, 0xd3, 0x7e, 0x8d, 0xd6, 0x80, 0x1c, 0x77, 0xce, 0xfa, 0xe0, 0xed,
-  0xd8, 0xee, 0x29, 0x07, 0xdd, 0x4e, 0x34, 0xfa, 0x39, 0xc9, 0x2c, 0xbe,
-  0x02, 0x77, 0xde, 0xea, 0x20, 0xe0, 0x70, 0xc9, 0x78, 0x41, 0x35, 0x61,
-  0xd4, 0xe9, 0xc2, 0x7c, 0xa0, 0x33, 0x1c, 0x2a, 0xa4, 0x2f, 0xb3, 0x26,
-  0xac, 0x63, 0xf2, 0xb2, 0x7b, 0x37, 0x0c, 0x1e, 0xb3, 0x89, 0xa4, 0x0c,
-  0x2b, 0x79, 0x39, 0x92, 0x48, 0xc2, 0x2c, 0x9f, 0xeb, 0x25, 0xb5, 0xdd,
-  0x21, 0xbe, 0xc4, 0x69, 0xbc, 0x94, 0xad, 0x97, 0xb2, 0xc4, 0x2f, 0xa3,
-  0x18, 0x67, 0x92, 0x62, 0x0c, 0xc0, 0xad, 0xa6, 0x31, 0x6a, 0xb5, 0xe3,
-  0xdd, 0xc8, 0x22, 0xe7, 0x5e, 0x04, 0x5c, 0xbb, 0xc3, 0x1b, 0xcc, 0x79,
-  0x9b, 0x8b, 0x18, 0xc8, 0xc6, 0x4b, 0x3b, 0xa8, 0xb4, 0x3a, 0xa1, 0x44,
-  0x7e, 0x9a, 0x4a, 0x6c, 0x27, 0x14, 0xa7, 0x9c, 0xf8, 0x83, 0x79, 0x3a,
-  0xb0, 0x7a, 0xe8, 0x5d, 0x6f, 0x9f, 0xc2, 0xb3, 0xf7, 0x23, 0x6b, 0x82,
-  0xa8, 0xc1, 0x5b, 0xec, 0x12, 0xc0, 0xfd, 0xe8, 0x8c, 0xac, 0xd4, 0x68,
-  0xc2, 0xf1, 0xee, 0xdc, 0xb4, 0x54, 0x57, 0xc9, 0x0d, 0xca, 0xba, 0x2c,
-  0x33, 0x9e, 0x25, 0x60, 0x35, 0x74, 0x57, 0xc9, 0x57, 0xd9, 0x54, 0xeb,
-  0x29, 0x29, 0x96, 0x30, 0xca, 0xf1, 0xa9, 0x58, 0x37, 0x2e, 0x75, 0xaf,
-  0xda, 0x15, 0xa3, 0x67, 0x1e, 0xce, 0x0b, 0xbb, 0x2c, 0x80, 0x80, 0x6c,
-  0xe1, 0x09, 0x5e, 0x24, 0x67, 0xa8, 0x0e, 0xa3, 0x7d, 0x5c, 0x33, 0xb8,
-  0x5b, 0xea, 0xfc, 0x1f, 0xac, 0x94, 0x49, 0x6a, 0xaf, 0xc2, 0xa3, 0xc1,
-  0xc1, 0x91, 0x11, 0x60, 0x7f, 0xf2, 0x86, 0xba, 0x8c, 0xb2, 0x28, 0x27,
-  0x7a, 0x0b, 0xf8, 0xb4, 0x9f, 0xd8, 0xce, 0x12, 0x89, 0xd4, 0xb8, 0x2a,
-  0xbb, 0x5c, 0x93, 0x94, 0xc3, 0x3e, 0xed, 0x28, 0x1c, 0xaa, 0x3e, 0xb1,
-  0xca, 0x57, 0xe8, 0x64, 0x62, 0xec, 0xb9, 0x20, 0x57, 0xde, 0xbc, 0xc5,
-  0xfd, 0x43, 0xd7, 0x85, 0xd9, 0xae, 0x66, 0x4d, 0x31, 0x48, 0xc1, 0x83,
-  0x31, 0xfc, 0xeb, 0x6f, 0x70, 0xfd, 0x95, 0xb2, 0x74, 0xee, 0xbd, 0x31,
-  0xb3, 0xa6, 0x77, 0x36, 0x0f, 0x6c, 0x97, 0x0c, 0x99, 0x2f, 0x00, 0x32,
-  0xa3, 0x54, 0x92, 0x46, 0x19, 0x00, 0x37, 0x9a, 0x23, 0x47, 0xcc, 0x1f,
-  0x29, 0x4e, 0x39, 0xcd, 0x1c, 0x8c, 0x2b, 0x36, 0x05, 0x55, 0xd5, 0xc1,
-  0xad, 0x06, 0x22, 0xa2, 0xea, 0x4e, 0x3e, 0x4e, 0xa6, 0x34, 0x3b, 0x19,
-  0x30, 0xf2, 0x2b, 0x97, 0x37, 0x09, 0xe8, 0x4f, 0x5a, 0x73, 0xf9, 0x44,
-  0x1d, 0x36, 0x60, 0x85, 0x10, 0x60, 0xad, 0xfa, 0x6f, 0xd6, 0xe0, 0x25,
-  0xce, 0x17, 0x81, 0x4f, 0x02, 0x6e, 0xec, 0x0b, 0xce, 0xd3, 0x40, 0x3b,
-  0x3b, 0x61, 0x68, 0x36, 0x2e, 0x21, 0xe5, 0x51, 0xac, 0x22, 0x6e, 0x1b,
-  0xd6, 0x49, 0x7b, 0xbf, 0x2d, 0x17, 0x37, 0x86, 0xd9, 0xe3, 0xec, 0x7c,
-  0xb0, 0x6a, 0xbe, 0x26, 0x16, 0xe9, 0xd2, 0xf2, 0x10, 0x52, 0xa9, 0xaa,
-  0xd4, 0x70, 0xcc, 0xbf, 0xad, 0x2e, 0x7b, 0x40, 0x15, 0xb9, 0x67, 0x8e,
-  0xb1, 0x15, 0xc2, 0x26, 0x5d, 0xa0, 0xc3, 0xe1, 0xdb, 0x44, 0xe6, 0xf3,
-  0xc5, 0x97, 0xad, 0xe1, 0xb4, 0x71, 0x85, 0x8f, 0xcb, 0x2e, 0x18, 0x1f,
-  0xd3, 0xcb, 0xfc, 0x9e, 0x4d, 0xe0, 0xa6, 0x06, 0x36, 0x9d, 0xb8, 0xbe,
-  0x2a, 0x33, 0x39, 0xbb, 0x02, 0x26, 0xb0, 0xed, 0xc1, 0x64, 0xd6, 0x55,
-  0x47, 0x3b, 0x6a, 0xa8, 0xc6, 0xdb, 0x3f, 0x6d, 0xc8, 0xf5, 0xff, 0x2c,
-  0xaf, 0x0a, 0xfa, 0x07, 0x7d, 0x81, 0x3e, 0xf0, 0xc5, 0xc1, 0x41, 0x74,
-  0xe6, 0xbd, 0xf3, 0xe5, 0x09, 0xeb, 0x8c, 0x49, 0x18, 0x49, 0x8a, 0xa8,
-  0xc7, 0xdb, 0x5a, 0xa6, 0xff, 0x08, 0x55, 0x73, 0xa1, 0x9b, 0x0d, 0x77,
-  0x08, 0x78, 0x64, 0xde, 0xab, 0x9c, 0x7e, 0x17, 0x65, 0x89, 0xb9, 0x95,
-  0x0f, 0x8b, 0x10, 0xdc, 0xc2, 0xe8, 0x6a, 0x74, 0x24, 0xfd, 0x8b, 0xdf,
-  0xa2, 0x58, 0xd0, 0xdd, 0x17, 0x2f, 0xaf, 0xd6, 0x97, 0x19, 0xf8, 0x66,
-  0x73, 0xdb, 0x6c, 0x3d, 0x68, 0xe5, 0xe4, 0xa5, 0x60, 0x37, 0x05, 0xa7,
-  0x58, 0x37, 0x5e, 0xb2, 0x11, 0x6a, 0x16, 0x5a, 0x2a, 0x04, 0xa7, 0x62,
-  0x92, 0xa5, 0xa4, 0xa1, 0xae, 0x6e, 0x5d, 0x11, 0x2b, 0xa3, 0x03, 0xde,
-  0x34, 0xc1, 0xbd, 0x70, 0x95, 0xf6, 0x1b, 0x56, 0x70, 0x93, 0x4d, 0xbe,
-  0xf8, 0x92, 0x7c, 0x5b, 0xb7, 0xe8, 0x1f, 0xc0, 0x5a, 0x2d, 0x6d, 0xdd,
-  0x1e, 0xda, 0x09, 0x24, 0xde, 0x22, 0xba, 0x83, 0x94, 0x55, 0xff, 0xb0,
-  0x5e, 0x9d, 0x93, 0x37, 0xe4, 0xbc, 0x2c, 0x37, 0x8e, 0xa8, 0xbe, 0x1b,
-  0xec, 0x89, 0x97, 0xcc, 0xc8, 0x29, 0x7e, 0xae, 0x86, 0x93, 0x09, 0x02,
-  0x72, 0xa6, 0x25, 0x2e, 0x63, 0x35, 0xf5, 0xe4, 0x21, 0x93, 0x7e, 0xe6,
-  0x2a, 0x71, 0xbe, 0x18, 0xa0, 0xcc, 0x27, 0xde, 0x31, 0xc6, 0xad, 0x81,
-  0xaf, 0x23, 0x20, 0x90, 0xe8, 0xaf, 0x7f, 0xb4, 0xaf, 0xd3, 0x7f, 0xcc,
-  0x6d, 0x06, 0x22, 0xf7, 0x86, 0xd5, 0x50, 0x28, 0x50, 0xdf, 0xd9, 0x43,
-  0xf8, 0xc9, 0x36, 0x82, 0xda, 0x1e, 0xb0, 0xa2, 0xfd, 0xc7, 0x6d, 0xb8,
-  0x71, 0x35, 0x48, 0x8d, 0xf6, 0x4c, 0xe0, 0x71, 0xb3, 0x32, 0x50, 0x6b,
-  0x29, 0x1b, 0x93, 0xfb, 0x37, 0x61, 0xf6, 0x3d, 0x13, 0xa7, 0x99, 0xeb,
-  0xd4, 0x7f, 0xd8, 0xb2, 0x93, 0xff, 0x61, 0xcb, 0x4d, 0xff, 0x87, 0x2d,
-  0xb7, 0x80, 0x1f, 0xb6, 0x08, 0x86, 0x92, 0x16, 0x11, 0x1a, 0xc4, 0x3f,
-  0xf5, 0xd0, 0xb7, 0xf9, 0xab, 0xee, 0xa3, 0xde, 0x37, 0xbd, 0x4f, 0x6e,
-  0x6d, 0x6f, 0xda, 0x34, 0x3f, 0x36, 0x84, 0xba, 0x98, 0xee, 0x1e, 0x1a,
-  0x76, 0xdd, 0xda, 0x26, 0xb7, 0x2d, 0x64, 0x9c, 0x05, 0x1d, 0xbc, 0xbd,
-  0x07, 0x68, 0xc7, 0x5d, 0x73, 0x2a, 0xaf, 0xe9, 0x82, 0x45, 0xb1, 0xd4,
-  0x73, 0xd0, 0xde, 0xcf, 0x81, 0x3c, 0xb2, 0xaf, 0x07, 0xf2, 0xe7, 0xbf,
-  0x9b, 0x2f, 0x40, 0xff, 0xc7, 0x18, 0x72, 0xab, 0x01, 0x60, 0x23, 0x79,
-  0x79, 0x48, 0x98, 0x2e, 0x38, 0x6a, 0xc9, 0xe2, 0x6f, 0xce, 0x95, 0x46,
-  0x4c, 0x12, 0x41, 0x2e, 0xfd, 0x32, 0x47, 0xab, 0x32, 0xb3, 0xaa, 0x05,
-  0x5b, 0xa8, 0x7b, 0x24, 0x15, 0x90, 0xfb, 0x8a, 0x0e, 0x62, 0x35, 0x4c,
-  0x74, 0x31, 0x5e, 0xa5, 0x0f, 0x1b, 0xef, 0x43, 0x3f, 0x49, 0x93, 0x22,
-  0xbe, 0x28, 0xab, 0xfa, 0x8b, 0xad, 0x8a, 0x3a, 0xbf, 0x26, 0x97, 0x95,
-  0xd1, 0x60, 0xff, 0x48, 0xa4, 0xb5, 0x36, 0x87, 0xe5, 0xee, 0xe9, 0xed,
-  0x70, 0x79, 0x67, 0xe6, 0xbd, 0xfd, 0x93, 0x28, 0xc3, 0x63, 0x69, 0x33,
-  0x44, 0xe9, 0x0d, 0x73, 0x5c, 0x26, 0xdd, 0x3c, 0x05, 0xbe, 0xba, 0xde,
-  0xa5, 0x94, 0xdf, 0x7f, 0x11, 0x83, 0xb9, 0x0b, 0x16, 0xe2, 0x71, 0x5e,
-  0x98, 0x6a, 0x5f, 0x9c, 0x7e, 0xf3, 0x47, 0x1d, 0xe0, 0x87, 0xad, 0xef,
-  0x87, 0xfc, 0x53, 0xd4, 0x0b, 0xbf, 0x48, 0x4e, 0xbf, 0x21, 0xea, 0xfe,
-  0x69, 0x0c, 0x6c, 0xd3, 0x07, 0xbe, 0xe4, 0xbf, 0x80, 0xb2, 0x37, 0x0d,
-  0x7b, 0xe1, 0xf2, 0x24, 0xbe, 0xa0, 0x06, 0xc6, 0xa8, 0x33, 0x82, 0x15,
-  0xbe, 0x5a, 0x51, 0xe5, 0x90, 0xd6, 0xc7, 0x36, 0x5c, 0x1f, 0x8b, 0xa8,
-  0x51, 0x3a, 0x29, 0x39, 0x45, 0xba, 0x09, 0xb1, 0xb1, 0x81, 0xcd, 0x8b,
-  0xb3, 0x15, 0xdf, 0xd5, 0x0a, 0x8e, 0x0b, 0xa8, 0xc3, 0xed, 0x34, 0x83,
-  0x76, 0x2d, 0xe3, 0x20, 0x39, 0x8a, 0x34, 0x41, 0x70, 0xe0, 0x46, 0xfc,
-  0x37, 0xe8, 0x65, 0xb6, 0x37, 0x37, 0x35, 0x54, 0x4b, 0xab, 0x4c, 0x3b,
-  0xe4, 0x48, 0x4f, 0x3f, 0x04, 0x98, 0x0c, 0xc1, 0x44, 0x42, 0x01, 0x12,
-  0x9d, 0x94, 0x44, 0xf4, 0x79, 0xb9, 0x90, 0x2e, 0xee, 0xb5, 0xa1, 0x7a,
-  0x3e, 0x60, 0xdb, 0x46, 0xcf, 0x68, 0x1c, 0xb4, 0x15, 0x12, 0xa9, 0x90,
-  0xcf, 0x46, 0x54, 0x0e, 0x89, 0x26, 0xb2, 0x37, 0x4e, 0x9a, 0xb6, 0x01,
-  0x30, 0x8c, 0x09, 0xff, 0x8f, 0x64, 0xf4, 0x4f, 0x32, 0x38, 0x9f, 0x6c,
-  0x55, 0xe6, 0x50, 0x9c, 0xc3, 0x11, 0x0f, 0x4e, 0x62, 0xef, 0x8d, 0x5e,
-  0x1c, 0x4e, 0x83, 0xd0, 0x52, 0x4d, 0xca, 0x13, 0xfb, 0x9a, 0x54, 0x42,
-  0x49, 0x64, 0xd7, 0xce, 0x36, 0x24, 0x5e, 0xe2, 0x8b, 0xc5, 0x1d, 0x56,
-  0x35, 0x22, 0xbc, 0x6d, 0xc9, 0xef, 0xc4, 0x97, 0xac, 0x8f, 0xa5, 0xa2,
-  0x6f, 0xc9, 0x61, 0x8d, 0x82, 0x17, 0xbe, 0x97, 0xa4, 0xa0, 0xe1, 0xc1,
-  0x0b, 0xaf, 0x4b, 0x11, 0xff, 0x2c, 0x3e, 0xbc, 0x0f, 0x02, 0xa3, 0x01,
-  0xe2, 0x5a, 0xb6, 0x7f, 0xc3, 0xf8, 0x87, 0x76, 0xfc, 0xcf, 0x22, 0xb8,
-  0x2b, 0x8c, 0x8c, 0x12, 0xff, 0xec, 0x85, 0x4b, 0x02, 0x54, 0x2f, 0xaa,
-  0xf5, 0x64, 0xb4, 0x7c, 0x08, 0x0a, 0xf9, 0xcc, 0x98, 0x2c, 0x1c, 0x6e,
-  0x08, 0x9b, 0x3c, 0x30, 0x5c, 0x25, 0xcc, 0x40, 0xac, 0xc3, 0x6c, 0x63,
-  0xd7, 0x44, 0x64, 0x51, 0x2f, 0x84, 0x55, 0x2e, 0x09, 0x82, 0x75, 0xf6,
-  0xc2, 0xf5, 0xbc, 0x64, 0x10, 0x89, 0xdc, 0xcf, 0xaf, 0x77, 0x75, 0xb4,
-  0x41, 0x59, 0x63, 0x0b, 0xe0, 0x38, 0xf8, 0x94, 0x61, 0xc5, 0x0c, 0xbd,
-  0xe4, 0x35, 0x64, 0xdc, 0xde, 0xd9, 0x16, 0xa7, 0x0a, 0x7d, 0x88, 0x5a,
-  0x45, 0x22, 0x11, 0x0a, 0xc5, 0xd8, 0x29, 0x30, 0x33, 0xc4, 0x97, 0x33,
-  0x8c, 0x68, 0x1d, 0x2f, 0xc0, 0xda, 0xed, 0x9d, 0x60, 0xa0, 0x20, 0xe0,
-  0x04, 0xa9, 0xdd, 0xcc, 0xa0, 0x5e, 0x2d, 0x70, 0xa0, 0xd0, 0x48, 0xf6,
-  0xb6, 0x58, 0x06, 0x63, 0xdb, 0xd4, 0x65, 0x2b, 0xa6, 0xc9, 0xf6, 0x17,
-  0xbb, 0xdb, 0x76, 0x69, 0xfd, 0x66, 0x51, 0xd0, 0xf1, 0x51, 0x83, 0x90,
-  0xb6, 0x0f, 0x2c, 0x3c, 0x4b, 0x4b, 0xca, 0x7d, 0xc8, 0x86, 0x38, 0xd0,
-  0x28, 0x82, 0x5e, 0xdd, 0x88, 0xb7, 0x13, 0x89, 0xe5, 0xb8, 0x9d, 0x8c,
-  0xf5, 0xc2, 0x24, 0x9e, 0x2e, 0x1a, 0x4a, 0xd5, 0x47, 0x31, 0x05, 0xa3,
-  0xfd, 0xd5, 0x2f, 0x3c, 0x7d, 0x3c, 0x72, 0x3d, 0x29, 0x90, 0x83, 0x26,
-  0x0a, 0xe2, 0x12, 0xf1, 0x3c, 0x1a, 0x9b, 0x54, 0xef, 0xed, 0x2f, 0x76,
-  0x58, 0x60, 0x39, 0x7f, 0x9a, 0xf7, 0xed, 0xed, 0xe4, 0x87, 0x78, 0x5d,
-  0x6b, 0xc2, 0xef, 0x7a, 0x16, 0x82, 0x90, 0xed, 0x7d, 0x6f, 0x24, 0x2f,
-  0x27, 0xe5, 0xec, 0xee, 0x4f, 0x08, 0x3b, 0xc9, 0x2b, 0x2f, 0xf7, 0xf0,
-  0xa3, 0x8e, 0xca, 0xdc, 0x37, 0x10, 0x46, 0x31, 0x47, 0x85, 0x3f, 0xbf,
-  0xa4, 0xc7, 0xd5, 0x62, 0xd8, 0x4e, 0x46, 0x23, 0xc3, 0x84, 0xea, 0x25,
-  0xda, 0x71, 0x6d, 0x10, 0x2c, 0x8c, 0x77, 0x07, 0x11, 0x4b, 0x4a, 0x8a,
-  0x40, 0x96, 0xc0, 0xb3, 0xa3, 0x56, 0x36, 0x3b, 0x21, 0xf9, 0x57, 0xd5,
-  0x17, 0xa3, 0xe4, 0x95, 0xcd, 0x92, 0xc9, 0x22, 0x18, 0xd9, 0x74, 0x8d,
-  0x59, 0x76, 0x78, 0x25, 0xe1, 0x9f, 0x4f, 0x72, 0x71, 0xb3, 0xcf, 0xca,
-  0x16, 0xee, 0x26, 0x63, 0x3a, 0x18, 0xe1, 0x1e, 0x47, 0x4a, 0x9b, 0x96,
-  0x15, 0xc7, 0x88, 0xd8, 0x9d, 0x6e, 0xed, 0x17, 0x99, 0xda, 0xf0, 0x48,
-  0x80, 0xb9, 0x94, 0x8d, 0x0e, 0x92, 0x67, 0xf6, 0x4b, 0x11, 0xac, 0x7a,
-  0xb6, 0xf8, 0xeb, 0xe4, 0xf3, 0x21, 0x3d, 0xe5, 0x75, 0x8b, 0x15, 0xba,
-  0x6f, 0x67, 0x70, 0x0c, 0x44, 0x29, 0x1c, 0x22, 0x31, 0x29, 0x52, 0x90,
-  0x03, 0x49, 0x30, 0x49, 0xeb, 0xec, 0xe9, 0x63, 0x55, 0x2f, 0x79, 0x97,
-  0x6a, 0xf5, 0xdf, 0xb6, 0x9c, 0xb0, 0x2c, 0x87, 0xbc, 0x05, 0x75, 0x2f,
-  0x02, 0x0a, 0x8b, 0x49, 0x39, 0xa3, 0xe6, 0x5f, 0x9c, 0x83, 0x4b, 0xd2,
-  0xd4, 0x28, 0x92, 0x97, 0x0d, 0x2a, 0x8a, 0x9e, 0x3d, 0xf5, 0x26, 0x7d,
-  0x8f, 0xbb, 0xa2, 0xc3, 0x49, 0x65, 0x85, 0xdd, 0x15, 0xa9, 0xbd, 0x6e,
-  0xbe, 0x1b, 0xdc, 0x4b, 0xf2, 0x75, 0x30, 0xf0, 0x98, 0xac, 0xd1, 0x3a,
-  0x18, 0xef, 0xbb, 0x46, 0xfe, 0x25, 0xf8, 0xa3, 0x12, 0x4e, 0xf7, 0xd3,
-  0x1b, 0x89, 0xda, 0x33, 0x91, 0xf4, 0x7d, 0x9e, 0x04, 0x13, 0xf6, 0xfd,
-  0x74, 0x4d, 0x41, 0x84, 0xf9, 0xba, 0x82, 0xf4, 0x91, 0xc7, 0x58, 0x49,
-  0xd0, 0x3a, 0x25, 0xd1, 0xd3, 0xdf, 0xbd, 0x7a, 0xff, 0xe1, 0xd5, 0xc9,
-  0xc3, 0xbb, 0x02, 0xb5, 0x1a, 0xcd, 0xdd, 0x93, 0x03, 0xeb, 0x83, 0x19,
-  0x74, 0xa0, 0x7e, 0xe2, 0x50, 0x06, 0x41, 0xd4, 0x81, 0xa0, 0x0d, 0xba,
-  0xd9, 0x7a, 0x54, 0x34, 0x46, 0x74, 0x45, 0x49, 0x22, 0x71, 0x08, 0x20,
-  0xce, 0xf3, 0x95, 0x10, 0xb9, 0x97, 0xb9, 0x99, 0xd6, 0xd2, 0x93, 0x71,
-  0x4b, 0xdf, 0xa7, 0xd7, 0xb7, 0x24, 0x79, 0xdc, 0xd6, 0x89, 0xc7, 0xa8,
-  0xdc, 0xd6, 0xb6, 0xdb, 0xd4, 0x2b, 0x6d, 0x6a, 0x2d, 0x02, 0xad, 0xe5,
-  0x7d, 0x2b, 0xe7, 0x73, 0x97, 0x3d, 0xdb, 0x8d, 0xf0, 0xbd, 0x7e, 0xdd,
-  0x5f, 0x72, 0xfb, 0x6b, 0xa2, 0xa5, 0x76, 0x32, 0xd2, 0xb1, 0x8d, 0x8e,
-  0xbb, 0x0f, 0x9b, 0x92, 0xab, 0xd1, 0x5f, 0xca, 0xdc, 0xe2, 0xbb, 0x6a,
-  0x26, 0xe8, 0x23, 0x07, 0xa8, 0x8a, 0x8b, 0x76, 0xb3, 0xe3, 0xa3, 0x73,
-  0x6c, 0xd6, 0xd9, 0xab, 0xf1, 0xd8, 0xca, 0xc2, 0x5a, 0xd2, 0x12, 0x06,
-  0x81, 0x31, 0x06, 0x35, 0xd2, 0x6f, 0x7b, 0x32, 0x4a, 0x6c, 0xa7, 0x58,
-  0x49, 0xe7, 0x44, 0xec, 0xc7, 0xd8, 0x7c, 0x17, 0xeb, 0xa5, 0xb9, 0x30,
-  0x46, 0xe3, 0x9d, 0x6d, 0xd7, 0x12, 0x8a, 0xed, 0x12, 0x1e, 0x71, 0x2e,
-  0xd1, 0xa4, 0x70, 0xd6, 0x44, 0x7b, 0x74, 0xf6, 0x63, 0x8d, 0x21, 0x11,
-  0x97, 0xe7, 0xe0, 0xb5, 0x0f, 0x71, 0x3b, 0x88, 0x3b, 0xd3, 0xb7, 0xc6,
-  0xc7, 0x17, 0x47, 0x66, 0xfb, 0x3e, 0x5c, 0x7c, 0xbd, 0x25, 0xa9, 0x0b,
-  0x5d, 0x14, 0x0c, 0x38, 0xed, 0xa9, 0xc5, 0xeb, 0xb5, 0xad, 0x96, 0xad,
-  0xd8, 0x91, 0x62, 0xac, 0x85, 0x98, 0x06, 0xee, 0x3e, 0x3a, 0xda, 0x70,
-  0x4a, 0x4f, 0x46, 0x4f, 0xba, 0xa7, 0xd4, 0x0f, 0x57, 0xcd, 0x00, 0xc6,
-  0x01, 0xb9, 0x0b, 0x2a, 0x32, 0x65, 0x4f, 0xed, 0xb9, 0xe6, 0x29, 0x08,
-  0xb2, 0x01, 0x5d, 0x27, 0xe5, 0x52, 0xf8, 0x00, 0x3d, 0x4f, 0xa1, 0x04,
-  0xbd, 0xb8, 0x38, 0xb0, 0x9b, 0x2d, 0xdc, 0x90, 0x78, 0x7b, 0x39, 0x1c,
-  0x6a, 0x4e, 0x2c, 0xad, 0x66, 0xb6, 0x2c, 0x34, 0xd4, 0x0f, 0x35, 0xd7,
-  0x8f, 0x5a, 0x32, 0x19, 0x12, 0xd0, 0x96, 0x2c, 0xad, 0x6a, 0xdd, 0xb0,
-  0xb7, 0x82, 0xcb, 0xe7, 0x8b, 0x83, 0x69, 0xc3, 0x8b, 0x8e, 0x2e, 0x2d,
-  0x16, 0x15, 0x7a, 0x63, 0xf6, 0x63, 0x1c, 0xff, 0x99, 0xf6, 0x55, 0xf2,
-  0x45, 0x5e, 0xf2, 0x9f, 0x71, 0x7a, 0x87, 0xc8, 0xad, 0xca, 0x05, 0x3b,
-  0x10, 0xe5, 0x0d, 0x4e, 0xe2, 0xe4, 0x62, 0x17, 0xa9, 0xc3, 0xa8, 0x90,
-  0x70, 0x28, 0x21, 0x1a, 0x34, 0x35, 0x0f, 0xdb, 0x6e, 0xed, 0x8c, 0x77,
-  0xad, 0xa7, 0xf5, 0x02, 0x11, 0x45, 0x8c, 0x16, 0xa9, 0x62, 0xf2, 0x90,
-  0x15, 0x45, 0xbd, 0x8c, 0xa1, 0xfb, 0x78, 0xb7, 0x37, 0xb4, 0x98, 0xc0,
-  0xa8, 0xa7, 0x37, 0xb3, 0x1e, 0xac, 0x3a, 0xb8, 0xb5, 0x90, 0x44, 0x06,
-  0x1b, 0x90, 0x6b, 0xa6, 0x5e, 0x7f, 0xf7, 0xc6, 0x6b, 0xb6, 0xa3, 0x79,
-  0x6a, 0x4c, 0x2f, 0xa2, 0x90, 0xf6, 0xa1, 0xc1, 0x65, 0x2e, 0xd9, 0x72,
-  0x84, 0xa0, 0xea, 0x2c, 0xcb, 0x56, 0x16, 0xda, 0x3c, 0x47, 0x8d, 0x4d,
-  0x5e, 0x23, 0x88, 0x2a, 0xb0, 0xf2, 0x68, 0x27, 0xd7, 0x33, 0x3b, 0x61,
-  0x1d, 0xda, 0x22, 0x12, 0xf6, 0x0e, 0x35, 0x0f, 0xa3, 0x30, 0xee, 0xc1,
-  0xb3, 0x47, 0x9f, 0x1b, 0xd9, 0x7c, 0x07, 0xac, 0x71, 0xb7, 0x65, 0x8c,
-  0x05, 0xdc, 0x8f, 0xf3, 0x27, 0x46, 0x8d, 0xa6, 0xf7, 0x0a, 0x9c, 0x42,
-  0x52, 0x93, 0x19, 0x01, 0x07, 0x95, 0x14, 0x37, 0x87, 0x58, 0x34, 0x66,
-  0x13, 0x65, 0xc3, 0x24, 0xe9, 0x0e, 0xfb, 0xc4, 0x09, 0x62, 0x23, 0x8f,
-  0x80, 0xa9, 0x41, 0x09, 0x75, 0x52, 0x33, 0x2c, 0xe5, 0xfc, 0xe8, 0xe2,
-  0xdc, 0xfc, 0x31, 0xbe, 0x38, 0x3d, 0xef, 0x41, 0x66, 0x6c, 0x18, 0xa6,
-  0x83, 0x36, 0x4d, 0xd3, 0x55, 0xb0, 0xcd, 0x6d, 0xd4, 0x36, 0x64, 0x42,
-  0x33, 0xdb, 0xa9, 0xa3, 0x40, 0x5f, 0x1e, 0xde, 0x57, 0x3d, 0x6a, 0x2d,
-  0x74, 0x6e, 0xe4, 0xc3, 0xc6, 0x85, 0xf1, 0x99, 0x6f, 0xa6, 0x10, 0x2c,
-  0x98, 0x88, 0x91, 0x56, 0x6c, 0x19, 0x3d, 0x66, 0x6b, 0x8c, 0x36, 0x72,
-  0xfe, 0x3b, 0x18, 0x7b, 0x6d, 0x4f, 0xdd, 0x83, 0x66, 0xc8, 0xa9, 0xb9,
-  0xdc, 0x9c, 0xc5, 0x75, 0x6b, 0x37, 0x9c, 0x56, 0xa1, 0x00, 0xb6, 0x92,
-  0x1d, 0x38, 0x90, 0x45, 0x2f, 0xb9, 0x87, 0x7e, 0x8d, 0x2e, 0xb4, 0xeb,
-  0x16, 0x5c, 0x97, 0xcb, 0x8c, 0x3d, 0xfc, 0x9c, 0x9c, 0xab, 0xcc, 0x89,
-  0x65, 0x0b, 0xe3, 0xd2, 0x26, 0x31, 0x3c, 0x0c, 0x0b, 0x21, 0x46, 0xa7,
-  0xbc, 0x6d, 0x11, 0x05, 0x4a, 0xa1, 0x0e, 0x3e, 0x97, 0xcc, 0x58, 0xaa,
-  0x0d, 0xb0, 0xd9, 0xb6, 0x75, 0x56, 0x1e, 0xb6, 0x58, 0x9b, 0x79, 0x1f,
-  0x74, 0x99, 0x0c, 0x81, 0x32, 0xc4, 0x39, 0x0b, 0xfa, 0xe8, 0x69, 0x71,
-  0x3d, 0x12, 0xad, 0x34, 0xc7, 0x06, 0xba, 0x84, 0xdf, 0x3f, 0xf4, 0x4c,
-  0x9e, 0x8a, 0x86, 0xd5, 0x50, 0xbd, 0x48, 0x60, 0x1e, 0x96, 0xb6, 0xe5,
-  0xc8, 0x39, 0x44, 0xb3, 0xee, 0x32, 0xdd, 0x96, 0x3e, 0x17, 0xb2, 0x59,
-  0x55, 0xda, 0x12, 0xd7, 0x91, 0x29, 0x40, 0xa3, 0xe8, 0x6d, 0xfb, 0xd5,
-  0x87, 0x12, 0xdd, 0xd5, 0x60, 0x90, 0x6e, 0xe5, 0x9c, 0x0c, 0xe8, 0x91,
-  0x1d, 0x45, 0xd0, 0x49, 0x3e, 0x14, 0x82, 0x1c, 0x53, 0x18, 0xdb, 0x02,
-  0xf9, 0x0f, 0x33, 0xbb, 0x69, 0x04, 0xa8, 0x44, 0x69, 0x5b, 0x2c, 0xb4,
-  0x66, 0x25, 0x2b, 0xf4, 0xc0, 0x74, 0x0e, 0x21, 0xc2, 0xe0, 0x43, 0x46,
-  0x36, 0x81, 0x4a, 0x1a, 0x19, 0xcf, 0xd9, 0x25, 0xd3, 0xa6, 0xbb, 0x52,
-  0xa0, 0x3c, 0x04, 0x0b, 0x3d, 0xf3, 0x0f, 0x8d, 0x59, 0x1a, 0xac, 0x1f,
-  0xc7, 0x0b, 0x1a, 0x06, 0x5b, 0x60, 0x44, 0x05, 0xf5, 0x0a, 0x08, 0xac,
-  0x45, 0x11, 0x2d, 0xcd, 0x62, 0x48, 0x8b, 0x75, 0xb1, 0xa0, 0x1c, 0xf1,
-  0x36, 0x54, 0x84, 0xaa, 0x81, 0xa3, 0x0d, 0x55, 0xac, 0x3e, 0xb2, 0x44,
-  0x8b, 0x24, 0xdb, 0xf5, 0xfa, 0xed, 0xd5, 0xf5, 0x56, 0xfe, 0x82, 0x40,
-  0xcf, 0xe9, 0xc8, 0x14, 0x91, 0x52, 0x69, 0x2b, 0x2f, 0x72, 0x42, 0x12,
-  0x2a, 0xab, 0x3d, 0xaa, 0x52, 0x21, 0xcc, 0x3e, 0x63, 0x55, 0x96, 0x0b,
-  0xb4, 0xf6, 0x51, 0xd5, 0x2d, 0xd6, 0x90, 0x19, 0x2a, 0x18, 0x63, 0xf0,
-  0x98, 0xc1, 0xdb, 0x95, 0xfb, 0x5e, 0xb3, 0x3a, 0x92, 0xa6, 0x1e, 0x6c,
-  0xc4, 0x28, 0xd6, 0x0e, 0x8e, 0x33, 0x42, 0x90, 0xf1, 0xd8, 0x56, 0xc7,
-  0xb4, 0x35, 0xa9, 0x36, 0x17, 0xc1, 0xb9, 0x42, 0xe5, 0x43, 0xfe, 0x7d,
-  0x4f, 0x2d, 0x9f, 0x36, 0x76, 0x01, 0x38, 0x94, 0xd9, 0x95, 0x01, 0x67,
-  0x87, 0xb4, 0x6f, 0x26, 0x2c, 0x87, 0xf6, 0xd7, 0xea, 0xac, 0x59, 0xaf,
-  0x42, 0x39, 0xef, 0xaa, 0x4f, 0xed, 0x88, 0x1a, 0x14, 0xf5, 0xa6, 0x48,
-  0xa8, 0x0a, 0x6e, 0xfb, 0x7d, 0x74, 0xfe, 0xee, 0x6d, 0x84, 0x26, 0x10,
-  0x48, 0xf7, 0x3e, 0x24, 0x00, 0x15, 0x2f, 0xd4, 0x20, 0x38, 0xd9, 0x32,
-  0xfa, 0xc5, 0xfe, 0x16, 0x03, 0x2d, 0x48, 0xd9, 0x16, 0x47, 0xd9, 0xed,
-  0xdb, 0x66, 0x5f, 0xbc, 0xf9, 0x86, 0x77, 0x46, 0xeb, 0x51, 0xa4, 0x64,
-  0x91, 0x4e, 0x67, 0x87, 0x7a, 0xd1, 0xe3, 0xfe, 0xee, 0x7e, 0xd6, 0xbb,
-  0xf4, 0x0d, 0xb3, 0xda, 0x3a, 0x78, 0x7e, 0x38, 0x3a, 0x78, 0xfa, 0xf9,
-  0xe8, 0x00, 0x9d, 0x6c, 0xbd, 0xb9, 0xb9, 0x8e, 0xab, 0xde, 0x40, 0x91,
-  0x7e, 0xbe, 0x49, 0x3f, 0xa2, 0x2f, 0x7f, 0x61, 0x79, 0x37, 0xa2, 0xe7,
-  0x46, 0xdc, 0x55, 0x27, 0xf8, 0xc6, 0xd2, 0xe8, 0x34, 0x79, 0x11, 0xc4,
-  0x41, 0x86, 0x2e, 0xab, 0x88, 0x69, 0x71, 0x95, 0x13, 0x19, 0x29, 0xca,
-  0xa6, 0xb7, 0x4f, 0xda, 0x10, 0xd0, 0x36, 0x38, 0xc1, 0xed, 0x8c, 0xcf,
-  0x48, 0x59, 0xfa, 0x54, 0xd4, 0x48, 0xc7, 0xd5, 0xed, 0xf7, 0x03, 0xb6,
-  0xf9, 0x93, 0xad, 0x3e, 0x82, 0x70, 0xb1, 0x97, 0xae, 0x0b, 0xd3, 0x05,
-  0x88, 0xa7, 0x2e, 0x4a, 0x90, 0x80, 0xbe, 0xf0, 0x83, 0xaa, 0x71, 0xdb,
-  0x80, 0xb8, 0x2f, 0x64, 0x00, 0x7e, 0xe4, 0x2a, 0x71, 0xfc, 0x4a, 0x62,
-  0x8c, 0x6c, 0xeb, 0x44, 0x3b, 0x70, 0x4e, 0x16, 0x66, 0x89, 0x99, 0xb4,
-  0x0e, 0x47, 0xef, 0xfc, 0xe1, 0x0f, 0x8e, 0x23, 0x71, 0x5b, 0x75, 0xf4,
-  0xf2, 0x78, 0x02, 0xa8, 0x56, 0x8e, 0x55, 0x73, 0x57, 0x80, 0xad, 0x17,
-  0x7f, 0x85, 0x73, 0xf8, 0xc7, 0xe1, 0x5f, 0xcd, 0x3f, 0x7f, 0xdc, 0xd2,
-  0x4b, 0xcd, 0xb0, 0x5c, 0xae, 0x60, 0xc4, 0xc1, 0x1f, 0xe2, 0x80, 0x06,
-  0x49, 0xbb, 0x2d, 0x2d, 0x34, 0x83, 0x8b, 0xd7, 0x67, 0x7c, 0x19, 0x2b,
-  0x0e, 0x7b, 0x83, 0x9a, 0x89, 0x0f, 0x41, 0xad, 0x27, 0x16, 0x8e, 0x8e,
-  0x1a, 0x4c, 0x27, 0x76, 0x2f, 0xbd, 0x57, 0x06, 0x2e, 0xa9, 0xe1, 0x86,
-  0x39, 0x40, 0x6a, 0xf4, 0xdb, 0x4b, 0xf2, 0xaf, 0x70, 0x49, 0xba, 0xe1,
-  0xbb, 0xaa, 0x48, 0x4b, 0xc7, 0x60, 0x02, 0xf6, 0x32, 0x6c, 0xc0, 0x5e,
-  0x87, 0x1b, 0x33, 0xa5, 0x41, 0x22, 0xf0, 0xb7, 0x5c, 0x1b, 0xd1, 0x08,
-  0x96, 0xa2, 0xd9, 0x06, 0xb3, 0x51, 0xca, 0x6d, 0xab, 0xbc, 0xfe, 0x44,
-  0xeb, 0x93, 0x32, 0x1f, 0x2f, 0x57, 0x88, 0xe6, 0xf3, 0x99, 0xd5, 0xfa,
-  0xee, 0x14, 0xb2, 0xc6, 0x16, 0xee, 0x79, 0x3b, 0xeb, 0xa4, 0x83, 0x1e,
-  0xbb, 0x02, 0x51, 0x46, 0x61, 0xb7, 0xe4, 0xb1, 0x2a, 0x7b, 0x00, 0x1a,
-  0x9c, 0xa4, 0xc2, 0x9c, 0x19, 0x3d, 0xd7, 0x92, 0x86, 0x07, 0xcd, 0x44,
-  0x25, 0xed, 0x44, 0x2c, 0x24, 0xfd, 0x76, 0xbb, 0x52, 0x8b, 0x3a, 0xd4,
-  0x90, 0xa3, 0x98, 0xe1, 0xa1, 0x2c, 0xbe, 0x19, 0x7a, 0x66, 0x51, 0xf9,
-  0x44, 0x65, 0xa6, 0x31, 0x1b, 0x68, 0x6d, 0x3e, 0xdf, 0x0c, 0x0a, 0xf2,
-  0xaa, 0x4e, 0xf7, 0x59, 0xd4, 0x56, 0xc0, 0x45, 0x73, 0xca, 0xe8, 0x82,
-  0x7d, 0xea, 0xb4, 0xf9, 0xd8, 0x75, 0xfa, 0xd3, 0x70, 0x6b, 0xed, 0xa8,
-  0x76, 0x53, 0xa0, 0x3d, 0x72, 0x12, 0x1a, 0x34, 0x98, 0xfe, 0x32, 0x06,
-  0xd1, 0xeb, 0x09, 0xd5, 0xc3, 0xfd, 0xd0, 0x95, 0x42, 0x4d, 0x9f, 0xb1,
-  0xc9, 0xc3, 0x7c, 0x75, 0xff, 0x06, 0x2a, 0xcc, 0x17, 0x1d, 0x69, 0x8b,
-  0xb3, 0x58, 0x09, 0x53, 0xaf, 0x2f, 0x2f, 0x81, 0x89, 0x11, 0x66, 0xe6,
-  0xa1, 0x62, 0x51, 0x0a, 0x07, 0xa4, 0x9f, 0x81, 0x61, 0xe4, 0x98, 0xb9,
-  0xee, 0x86, 0x2b, 0x8b, 0x14, 0x86, 0x53, 0xbb, 0xce, 0x24, 0xbd, 0xa5,
-  0xb3, 0xd4, 0xcb, 0x4e, 0xae, 0xb7, 0xd3, 0x64, 0xaa, 0x6c, 0xa8, 0x13,
-  0xed, 0xf2, 0x41, 0x4a, 0x0d, 0x0a, 0x32, 0x60, 0x99, 0x23, 0xc2, 0xd7,
-  0xd0, 0xcf, 0xfb, 0x36, 0xba, 0x1b, 0xc9, 0xc3, 0x46, 0xfd, 0x71, 0x18,
-  0x8e, 0x27, 0x9f, 0x0b, 0x88, 0x1f, 0xa3, 0xb0, 0x55, 0x16, 0xd5, 0x8a,
-  0xf5, 0x4a, 0xe1, 0x47, 0x5d, 0xa9, 0x39, 0xc7, 0x76, 0x6c, 0xf2, 0x0b,
-  0x38, 0x56, 0xe8, 0x6b, 0x4b, 0x8f, 0x47, 0x87, 0xc1, 0xc1, 0xd6, 0x8b,
-  0xe1, 0x74, 0x3a, 0x1d, 0x42, 0x0f, 0x78, 0xc9, 0xca, 0xc9, 0x9e, 0x28,
-  0x07, 0x3d, 0x3e, 0x83, 0x71, 0x26, 0xfb, 0xfd, 0xfa, 0xf5, 0x6b, 0xd1,
-  0x63, 0x2e, 0xae, 0x3a, 0x1a, 0x85, 0x05, 0x9c, 0x12, 0x8d, 0x2a, 0xd6,
-  0xe6, 0xb0, 0xbe, 0x5a, 0x37, 0x33, 0x74, 0x43, 0x26, 0x96, 0xa1, 0xac,
-  0xd7, 0xd6, 0xc8, 0x76, 0x50, 0x41, 0xa9, 0x29, 0xfd, 0xc0, 0x65, 0x26,
-  0x9a, 0xb1, 0x83, 0xa3, 0x59, 0x71, 0x03, 0x14, 0xbc, 0x28, 0x63, 0x77,
-  0x5b, 0xac, 0xf2, 0x54, 0x7d, 0xe8, 0x2e, 0x9d, 0x60, 0x1d, 0xcb, 0x64,
-  0xd3, 0x51, 0xf0, 0xd9, 0x34, 0x97, 0x0c, 0xb0, 0x54, 0xbe, 0xd5, 0x1d,
-  0xfb, 0x9e, 0xf3, 0x90, 0xad, 0x6e, 0x1f, 0xc9, 0xd3, 0xde, 0x23, 0x89,
-  0x6e, 0x3e, 0x59, 0x55, 0xb4, 0xed, 0x3b, 0xaf, 0x81, 0x28, 0xfa, 0x5a,
-  0x2e, 0xc4, 0xeb, 0x2b, 0xca, 0xdf, 0x5a, 0xd0, 0xe1, 0x98, 0x29, 0xd7,
-  0xcc, 0x04, 0x44, 0x7e, 0x8c, 0xc7, 0x27, 0x7b, 0x17, 0x27, 0xe3, 0x20,
-  0xe3, 0xfd, 0x8e, 0x5c, 0xc6, 0xdc, 0x44, 0xbb, 0xe5, 0xf2, 0xe4, 0x2d,
-  0x02, 0x38, 0x74, 0x39, 0x6f, 0x53, 0x38, 0x7f, 0x25, 0x8a, 0x77, 0xb2,
-  0x2e, 0xb4, 0x18, 0xc6, 0xca, 0xee, 0x22, 0x2b, 0x50, 0x44, 0x4e, 0x22,
-  0x1c, 0x37, 0x00, 0x09, 0xb1, 0x75, 0xf2, 0xfe, 0xd5, 0x05, 0x95, 0xb7,
-  0x34, 0x92, 0xe2, 0x41, 0x2e, 0xa0, 0xd0, 0x33, 0x7e, 0x63, 0x71, 0x09,
-  0x10, 0xb5, 0x49, 0xa7, 0xae, 0x19, 0x8a, 0x2a, 0xeb, 0x7c, 0x7c, 0xb5,
-  0x12, 0xde, 0xa6, 0xed, 0x37, 0x5b, 0x2a, 0xd2, 0xa1, 0x4b, 0xf3, 0xdd,
-  0xd3, 0x38, 0x88, 0x9e, 0x06, 0x6f, 0x40, 0xfc, 0x3a, 0x9c, 0x0b, 0x2b,
-  0xd7, 0x8d, 0x96, 0x2a, 0x7e, 0x9d, 0xfe, 0xa2, 0xbc, 0xcc, 0xc9, 0x13,
-  0x88, 0xf3, 0xf2, 0x03, 0x6f, 0x81, 0x9b, 0x94, 0x77, 0xa7, 0xe6, 0x52,
-  0x9c, 0x36, 0x80, 0x2d, 0x5f, 0x11, 0x92, 0x13, 0x76, 0x4f, 0x6d, 0x1f,
-  0x26, 0x2d, 0x81, 0x0c, 0x2b, 0x0c, 0x81, 0x9d, 0x97, 0x4f, 0x8d, 0x89,
-  0x30, 0xa5, 0xec, 0x0f, 0x94, 0x03, 0xd6, 0xed, 0x14, 0xdb, 0xbc, 0x05,
-  0xcb, 0xa7, 0x1e, 0xd2, 0x3a, 0x8c, 0x55, 0x40, 0x53, 0x90, 0x15, 0x6e,
-  0xf4, 0xc3, 0x3f, 0x6d, 0x09, 0x8f, 0xaf, 0xc8, 0x22, 0xbb, 0x0c, 0x84,
-  0xae, 0x45, 0xa1, 0x88, 0x20, 0xff, 0x41, 0x45, 0x45, 0x79, 0xbf, 0xf4,
-  0x36, 0xf6, 0x21, 0xdd, 0x37, 0xa1, 0x77, 0x0f, 0xba, 0xed, 0xcc, 0x18,
-  0x95, 0xb0, 0x0d, 0x56, 0xdd, 0x82, 0x06, 0xd2, 0x44, 0xdf, 0xce, 0x70,
-  0x5f, 0x1d, 0xb9, 0xf6, 0x09, 0x1d, 0xfc, 0xa0, 0x56, 0x6b, 0x05, 0x8e,
-  0x43, 0x52, 0x0c, 0xea, 0x86, 0xba, 0xb0, 0xde, 0xf4, 0x18, 0x39, 0xac,
-  0xc4, 0x5e, 0x38, 0x34, 0x76, 0xbe, 0x1f, 0xac, 0x05, 0x66, 0x36, 0x4b,
-  0x95, 0xa0, 0x67, 0x34, 0x40, 0xff, 0x1f, 0xdb, 0xae, 0x3b, 0xd0, 0x28,
-  0xe2, 0x87, 0x50, 0xe9, 0x10, 0x02, 0x08, 0xbb, 0xd0, 0xd3, 0xc0, 0x4d,
-  0xd8, 0x7d, 0x37, 0x6c, 0xef, 0xc1, 0xcb, 0xdb, 0x3c, 0x9f, 0xaf, 0x8f,
-  0x5e, 0xbd, 0xb1, 0x30, 0x02, 0xbf, 0x05, 0xb2, 0xb0, 0xf3, 0x6a, 0x4e,
-  0x32, 0xee, 0x02, 0xb1, 0x56, 0x47, 0x09, 0x4e, 0x47, 0x09, 0x15, 0xb4,
-  0x62, 0xd4, 0xb5, 0x3a, 0xe3, 0x1b, 0xd2, 0xdb, 0x0c, 0xa1, 0xd7, 0x33,
-  0xe2, 0x67, 0x1f, 0x88, 0xc7, 0x9a, 0x34, 0x65, 0xae, 0xad, 0xf2, 0x08,
-  0xf9, 0x12, 0x84, 0xbc, 0x28, 0x27, 0xe5, 0x7c, 0xbe, 0x41, 0xba, 0x33,
-  0x3c, 0x24, 0x6a, 0xa0, 0x98, 0x60, 0xb6, 0x68, 0x1b, 0xe9, 0xbd, 0x09,
-  0xcd, 0xde, 0x1c, 0xa9, 0xb9, 0x6a, 0x5b, 0x52, 0x98, 0x00, 0x95, 0x3c,
-  0xb8, 0x1b, 0xed, 0xc2, 0x74, 0xb5, 0x19, 0xd4, 0xc4, 0x43, 0x61, 0x3e,
-  0xbb, 0x63, 0x34, 0x4d, 0xc8, 0x02, 0xfb, 0xd7, 0xc9, 0x7f, 0xfd, 0xf3,
-  0xaf, 0x3f, 0x46, 0xba, 0x1b, 0x90, 0xc3, 0xef, 0x8a, 0x2b, 0x0b, 0xcd,
-  0xd3, 0x4b, 0x41, 0x6d, 0xb1, 0x38, 0xf1, 0x9c, 0x68, 0xc2, 0xf1, 0x8c,
-  0xa6, 0xce, 0x16, 0xf3, 0x91, 0x97, 0x53, 0x19, 0x8a, 0x45, 0x32, 0xa1,
-  0xf4, 0x83, 0xe8, 0x56, 0x47, 0xa5, 0xe0, 0x5c, 0xbe, 0x4b, 0xc8, 0xdd,
-  0x68, 0x11, 0xe4, 0x52, 0xa6, 0x2d, 0xb2, 0x2f, 0x9f, 0x44, 0x80, 0x1f,
-  0xe3, 0xda, 0xf8, 0x74, 0x83, 0xe9, 0x1f, 0xce, 0x8f, 0xad, 0xab, 0xd3,
-  0xe7, 0xca, 0x57, 0x86, 0x52, 0xef, 0x86, 0xd9, 0x5d, 0x36, 0x31, 0x5c,
-  0xa2, 0x56, 0xe0, 0x87, 0xe1, 0xb2, 0x4e, 0x5e, 0x2e, 0x0d, 0x8d, 0xe7,
-  0x3d, 0x90, 0x1d, 0x5f, 0xd3, 0x6b, 0x89, 0xbe, 0x66, 0xf1, 0x4b, 0x2f,
-  0xcb, 0xca, 0xec, 0xd0, 0x52, 0xaa, 0x71, 0xa5, 0x24, 0xb9, 0xed, 0xcc,
-  0x48, 0x50, 0x60, 0x12, 0xb8, 0x03, 0xae, 0x1f, 0x8b, 0xc6, 0x0d, 0x30,
-  0x36, 0x0f, 0x28, 0x0c, 0xca, 0xfa, 0xda, 0x28, 0x8f, 0x66, 0xf6, 0xc6,
-  0xc8, 0x26, 0x6b, 0xbd, 0x1e, 0x08, 0x49, 0x55, 0x8a, 0x23, 0x17, 0x85,
-  0x11, 0xb0, 0x65, 0x88, 0x6c, 0x61, 0x19, 0xa6, 0xe3, 0xaf, 0xc8, 0x76,
-  0x31, 0xf5, 0xd1, 0xdf, 0xa4, 0x77, 0x71, 0xb8, 0xaf, 0xba, 0x00, 0x76,
-  0x83, 0x26, 0x2e, 0x7b, 0x95, 0x0a, 0x36, 0x72, 0xed, 0x2f, 0xec, 0x7b,
-  0x62, 0xad, 0xa9, 0x1c, 0x5c, 0xca, 0x65, 0x3a, 0xb3, 0x85, 0xf4, 0x3e,
-  0x74, 0x20, 0xca, 0x10, 0x53, 0xaa, 0x8b, 0xcc, 0x16, 0x23, 0xe9, 0xaa,
-  0x8d, 0xb4, 0x2a, 0x37, 0x26, 0x18, 0x6e, 0x17, 0xd7, 0xa5, 0xa6, 0x14,
-  0x01, 0xae, 0x86, 0x15, 0x87, 0x3e, 0xca, 0xca, 0xc5, 0xf3, 0x10, 0x8d,
-  0xf5, 0x5e, 0x08, 0x5e, 0xce, 0x25, 0xcc, 0x7e, 0xb1, 0x1f, 0x00, 0x96,
-  0x8c, 0xde, 0x61, 0x0c, 0x43, 0x42, 0x6f, 0x23, 0xbd, 0x82, 0x78, 0x08,
-  0x1f, 0xf8, 0x91, 0x1c, 0x78, 0x67, 0x38, 0x8a, 0xb5, 0x3c, 0x7d, 0xf2,
-  0xe4, 0x09, 0xc7, 0x5a, 0xb6, 0x8e, 0xf1, 0xe1, 0xf3, 0xa3, 0xd7, 0xa7,
-  0xef, 0xde, 0x1d, 0xbd, 0x7f, 0x73, 0xf4, 0x46, 0x33, 0x3e, 0xbc, 0x95,
-  0x38, 0xea, 0x08, 0x57, 0x44, 0x59, 0x82, 0x66, 0x9f, 0x0f, 0x9e, 0xec,
-  0x0f, 0x0f, 0x9f, 0xec, 0x27, 0x86, 0x16, 0x53, 0x5b, 0xa7, 0x96, 0x2e,
-  0x52, 0xb2, 0x6f, 0xaf, 0xd6, 0x46, 0x55, 0x23, 0x68, 0xcf, 0x86, 0x30,
-  0x37, 0xe0, 0x7a, 0x25, 0x6f, 0x4f, 0xd6, 0x90, 0x1d, 0x1d, 0xc9, 0x0c,
-  0x18, 0x6d, 0x59, 0x90, 0x36, 0x17, 0xb0, 0x14, 0xdd, 0x07, 0x04, 0x7a,
-  0xb8, 0x4f, 0x1f, 0x1a, 0x25, 0x6f, 0x8d, 0xf6, 0x31, 0x2f, 0x6f, 0x99,
-  0x16, 0x5f, 0x5f, 0x19, 0xa5, 0x34, 0x0b, 0x43, 0x95, 0xed, 0xf7, 0xe9,
-  0xf5, 0x47, 0xfc, 0xfa, 0x6f, 0x18, 0xa3, 0x7f, 0xf2, 0xbc, 0x6d, 0x58,
-  0x9a, 0x8b, 0x0c, 0x54, 0x78, 0x2d, 0x49, 0xec, 0xc1, 0xf7, 0x1f, 0xb3,
-  0x39, 0xfe, 0xf5, 0xab, 0x33, 0x7a, 0xda, 0x98, 0xe5, 0xa7, 0xdf, 0xff,
-  0xc5, 0x95, 0x79, 0x5e, 0x1f, 0x68, 0x36, 0xa3, 0x54, 0xb2, 0xa2, 0x11,
-  0x5f, 0x11, 0x06, 0xbd, 0x9d, 0x32, 0x6b, 0x0d, 0x42, 0x15, 0x32, 0x58,
-  0x21, 0x65, 0xa0, 0x9a, 0xad, 0xe3, 0x1e, 0x59, 0x72, 0x68, 0x55, 0x2d,
-  0x57, 0x3c, 0x56, 0xd7, 0x6f, 0x58, 0x39, 0x4d, 0xe3, 0x36, 0xe7, 0xbe,
-  0x0f, 0x79, 0x31, 0xe3, 0xc6, 0xb4, 0x2d, 0xc7, 0x6c, 0x53, 0xad, 0xb3,
-  0x98, 0xd7, 0x74, 0x23, 0xc6, 0x0e, 0x29, 0xb5, 0x55, 0xbe, 0x4c, 0xab,
-  0x9c, 0xdb, 0xcf, 0x13, 0x81, 0xdf, 0x70, 0xaf, 0x4c, 0x4e, 0x95, 0x42,
-  0xec, 0xcb, 0x81, 0xc9, 0x96, 0x41, 0xda, 0xa9, 0xed, 0xe5, 0x40, 0x44,
-  0xcc, 0xb0, 0x46, 0x12, 0xa3, 0xe4, 0xcd, 0xda, 0x08, 0x43, 0xd7, 0xb6,
-  0xff, 0xad, 0x42, 0xd1, 0x07, 0x3a, 0x97, 0xbc, 0x3d, 0x3e, 0x39, 0xda,
-  0x4d, 0xde, 0x66, 0x8d, 0x94, 0x38, 0x69, 0x86, 0x31, 0x89, 0xfc, 0x7f,
-  0x83, 0x82, 0x65, 0x41, 0x09, 0xa5, 0x46, 0x38, 0x9a, 0x0b, 0x26, 0x3e,
-  0x38, 0x28, 0x1b, 0x5a, 0x2f, 0xc5, 0x87, 0x83, 0x25, 0x52, 0x3c, 0x4e,
-  0x73, 0xcb, 0x34, 0xbe, 0x29, 0x27, 0x1f, 0xc9, 0xbb, 0x55, 0x9c, 0x87,
-  0x91, 0x87, 0x78, 0x56, 0xfa, 0x29, 0x04, 0x34, 0x69, 0xc9, 0x79, 0xd6,
-  0x78, 0x71, 0x5e, 0xaf, 0x16, 0xc4, 0x0d, 0xa2, 0x28, 0x2f, 0x8b, 0xcc,
-  0x55, 0xf6, 0x81, 0xf2, 0xb9, 0x53, 0xbc, 0x18, 0x3d, 0x60, 0xa8, 0xb4,
-  0x5e, 0x6f, 0xe3, 0xbe, 0xd6, 0x8d, 0xa3, 0xb4, 0x13, 0xfe, 0x73, 0xef,
-  0xcb, 0x28, 0xf8, 0x98, 0x36, 0xb2, 0x40, 0xcf, 0x5c, 0x79, 0x03, 0x14,
-  0xc5, 0x3d, 0xd4, 0x45, 0xc8, 0xab, 0xda, 0xd9, 0xa2, 0x84, 0x88, 0xfa,
-  0x0a, 0xdf, 0x9d, 0x9a, 0xbb, 0x7f, 0x91, 0x3e, 0x4d, 0xaa, 0x3f, 0x50,
-  0x09, 0xb8, 0x93, 0x2e, 0xdc, 0xa5, 0xd7, 0x66, 0x19, 0x27, 0xb1, 0x96,
-  0x68, 0xcc, 0x95, 0xa5, 0x25, 0x2f, 0x6b, 0x53, 0x94, 0xad, 0x9f, 0x6a,
-  0xba, 0xbe, 0xce, 0x97, 0x1e, 0xbb, 0x12, 0xf0, 0x6a, 0xf8, 0x52, 0xb8,
-  0x8a, 0xac, 0x8e, 0xba, 0xfc, 0xa5, 0xbc, 0x4d, 0x42, 0x7b, 0x68, 0xa9,
-  0xca, 0x4e, 0x19, 0xd6, 0xa1, 0xd7, 0xa4, 0xd0, 0x71, 0x65, 0x17, 0xfa,
-  0x10, 0x54, 0x8c, 0x97, 0x19, 0xd1, 0x96, 0xe4, 0xeb, 0x3e, 0x0b, 0xea,
-  0xea, 0xec, 0xfe, 0x67, 0xda, 0x96, 0x68, 0xa8, 0x2e, 0x9a, 0xbd, 0x83,
-  0x4e, 0x49, 0x7d, 0x3f, 0xa8, 0xea, 0x7d, 0xfa, 0x29, 0x47, 0x21, 0xe2,
-  0x1a, 0xea, 0x5c, 0x5a, 0x68, 0xbd, 0x15, 0x4f, 0xd3, 0xe2, 0xbc, 0x1b,
-  0x72, 0x1b, 0xa1, 0x9c, 0x21, 0xae, 0x7d, 0x32, 0x64, 0x19, 0x39, 0x0d,
-  0x08, 0x85, 0x55, 0xe7, 0xb3, 0x40, 0x45, 0x83, 0xbd, 0x2d, 0xaa, 0xa8,
-  0x51, 0x3d, 0x24, 0x74, 0xc5, 0x08, 0x2e, 0x74, 0x86, 0x86, 0xcb, 0x70,
-  0xf9, 0xdd, 0x08, 0xc4, 0xd8, 0x76, 0x95, 0x31, 0x34, 0xfd, 0xc8, 0x58,
-  0xa2, 0x4b, 0x2a, 0x09, 0x50, 0xfc, 0x66, 0x5a, 0xb2, 0x6c, 0x8f, 0xe1,
-  0x6d, 0x97, 0xf9, 0x75, 0x2c, 0xcb, 0x82, 0xf2, 0x23, 0x64, 0x62, 0xc8,
-  0xd2, 0x70, 0xed, 0x62, 0x35, 0xed, 0xd8, 0x86, 0xb4, 0xd9, 0x2f, 0x4d,
-  0x38, 0x80, 0xb2, 0xb3, 0xc1, 0x0d, 0x5e, 0x90, 0xc6, 0x4a, 0x80, 0x5e,
-  0x05, 0x37, 0xe8, 0xfd, 0xda, 0x68, 0x3e, 0x2f, 0xb6, 0x2c, 0xa2, 0x3a,
-  0xfc, 0xaa, 0xe0, 0x8e, 0x2d, 0xca, 0x91, 0x96, 0xd1, 0xc3, 0x68, 0xdf,
-  0x31, 0xd1, 0xdc, 0x1b, 0x65, 0x5c, 0xb6, 0xe0, 0x26, 0x4c, 0x6b, 0xb6,
-  0x05, 0x30, 0x5c, 0x31, 0x1a, 0x22, 0xc6, 0xd3, 0x94, 0xbe, 0x1f, 0xbe,
-  0xc6, 0xc7, 0x87, 0x5f, 0x63, 0xb8, 0x3f, 0x6e, 0x59, 0x87, 0x6f, 0xf7,
-  0x57, 0x2f, 0xc2, 0x46, 0xc1, 0xce, 0x6f, 0xc8, 0x86, 0xc7, 0x5a, 0xab,
-  0x32, 0x90, 0x48, 0x22, 0x13, 0xe4, 0x1e, 0x5c, 0xe6, 0x8a, 0xec, 0xe9,
-  0x81, 0x23, 0x9a, 0x52, 0x87, 0x5d, 0x36, 0x6d, 0xca, 0x81, 0x91, 0x22,
-  0x2b, 0x80, 0xe9, 0xcc, 0x86, 0xe5, 0x7c, 0x88, 0x0c, 0x69, 0xc3, 0xfc,
-  0x3f, 0x51, 0x32, 0x92, 0x77, 0xeb, 0x00, 0x10, 0x02, 0xec, 0xed, 0xd9,
-  0x2c, 0xa6, 0x9a, 0x73, 0x21, 0x23, 0x69, 0x1d, 0x42, 0xf8, 0x5a, 0x68,
-  0xc1, 0x07, 0xf9, 0x42, 0xbc, 0xf2, 0x78, 0xdd, 0x76, 0xa1, 0x22, 0x64,
-  0x2e, 0x29, 0x88, 0x08, 0xfc, 0x69, 0x28, 0x8f, 0x18, 0xb0, 0xf6, 0x8e,
-  0x55, 0xc3, 0x86, 0x5b, 0xb2, 0x2b, 0x17, 0xfe, 0xe7, 0xf5, 0x0a, 0x2a,
-  0x2b, 0x21, 0x76, 0x06, 0xde, 0x17, 0x2d, 0x12, 0x01, 0x16, 0xa7, 0x11,
-  0xfe, 0x4f, 0x46, 0xfb, 0x83, 0x20, 0x50, 0xdf, 0xc0, 0xd8, 0x2f, 0x5c,
-  0x96, 0x90, 0x79, 0x18, 0x3c, 0x72, 0x18, 0xab, 0xae, 0xad, 0x9b, 0x3b,
-  0xe2, 0xd7, 0xb6, 0x98, 0x16, 0xa9, 0xc5, 0xae, 0xee, 0xc1, 0xe5, 0xf4,
-  0x60, 0x0b, 0x85, 0x6d, 0x72, 0x15, 0x6d, 0x0c, 0xe2, 0x54, 0x32, 0xb6,
-  0xbe, 0x1c, 0x76, 0xdb, 0x64, 0xda, 0x6e, 0x67, 0x7e, 0xf5, 0x86, 0xd7,
-  0xb7, 0xac, 0xd7, 0xd3, 0x04, 0x34, 0xd1, 0x57, 0xda, 0xfa, 0x66, 0x68,
-  0x36, 0x55, 0x3a, 0xba, 0x0e, 0x33, 0xfa, 0x21, 0x03, 0x76, 0x28, 0x70,
-  0x68, 0xdd, 0xbf, 0x67, 0x0c, 0xb2, 0xfb, 0x8c, 0x76, 0xcc, 0xb6, 0x16,
-  0xd0, 0x1e, 0x3a, 0x4e, 0x3e, 0x80, 0x6c, 0xbd, 0xbb, 0xd4, 0xdd, 0x33,
-  0xe2, 0x2a, 0xc4, 0x09, 0x0a, 0xcd, 0xf9, 0x46, 0x43, 0xf6, 0xdb, 0xbb,
-  0xde, 0xd4, 0xe2, 0x9e, 0x9c, 0x5f, 0x5c, 0x9b, 0xb7, 0xa4, 0xd8, 0x0f,
-  0xdf, 0x9b, 0x63, 0x78, 0x91, 0xfc, 0x67, 0x99, 0x71, 0xcd, 0xea, 0x3d,
-  0x25, 0xab, 0xdf, 0xbd, 0x3a, 0x7f, 0x7f, 0xfc, 0xfe, 0xab, 0x17, 0x96,
-  0xc7, 0x11, 0xbf, 0xeb, 0xf6, 0xb4, 0xb0, 0xbc, 0x1b, 0xbf, 0x65, 0xe4,
-  0x56, 0xf2, 0xfe, 0xf4, 0x61, 0x6c, 0x53, 0x2c, 0x13, 0xec, 0x99, 0x9d,
-  0x97, 0x55, 0xc6, 0x71, 0x11, 0xb6, 0x45, 0xb5, 0x72, 0x42, 0xca, 0x35,
-  0x21, 0x2a, 0xd1, 0xb8, 0x2d, 0x02, 0xd8, 0x30, 0x3c, 0xa1, 0x33, 0x59,
-  0x94, 0xad, 0x1e, 0x51, 0x44, 0x94, 0x0b, 0x1c, 0x7f, 0xe9, 0x53, 0x00,
-  0x5b, 0xcc, 0xda, 0x51, 0x9d, 0x9d, 0x3e, 0x91, 0xe0, 0x2d, 0x63, 0x64,
-  0xab, 0xe7, 0xd5, 0xf6, 0xc7, 0x91, 0x26, 0x17, 0x35, 0x8e, 0xac, 0xce,
-  0xe1, 0x6c, 0xb0, 0x5b, 0xa2, 0x39, 0x5e, 0x11, 0x3f, 0x88, 0xc0, 0x4b,
-  0xa7, 0x6b, 0xbe, 0x2f, 0x8c, 0x4e, 0x26, 0x3f, 0x75, 0x75, 0x19, 0x76,
-  0x07, 0x1e, 0x9c, 0xe6, 0xec, 0xf2, 0x9c, 0x59, 0x9f, 0x67, 0x03, 0xd1,
-  0x63, 0x59, 0xe6, 0x4f, 0x12, 0x25, 0x51, 0x1c, 0x92, 0x45, 0xe6, 0xaa,
-  0x92, 0xac, 0xae, 0x73, 0xc5, 0xba, 0xce, 0x62, 0x15, 0x80, 0xed, 0x51,
-  0x9a, 0x79, 0x42, 0xbf, 0x51, 0xa7, 0x0e, 0x05, 0xaf, 0x20, 0x81, 0xd5,
-  0x2c, 0x69, 0x81, 0xdb, 0xd9, 0xd6, 0x90, 0xcc, 0xd4, 0x43, 0x79, 0x4a,
-  0x78, 0x4f, 0x19, 0xe3, 0x8d, 0xf9, 0x15, 0x30, 0xe6, 0xeb, 0x66, 0x8f,
-  0x57, 0xeb, 0xc9, 0x72, 0xf6, 0x24, 0x79, 0x69, 0xfe, 0x13, 0x28, 0x59,
-  0xc8, 0x19, 0x1d, 0xbf, 0x36, 0x8a, 0x16, 0x25, 0xb8, 0x90, 0xbc, 0x60,
-  0xc8, 0x1b, 0xaf, 0x8b, 0xc4, 0xa3, 0x43, 0x33, 0xd3, 0xdb, 0x54, 0xa1,
-  0x2d, 0x8d, 0x46, 0x78, 0x99, 0x37, 0x9c, 0xa7, 0xd7, 0x83, 0x1b, 0xe4,
-  0xa5, 0x36, 0xe0, 0xcc, 0x0f, 0x0e, 0x3f, 0x4f, 0xa8, 0xf8, 0xe0, 0xdd,
-  0x9b, 0x27, 0xc9, 0xf4, 0x2a, 0x9b, 0x7e, 0xaa, 0xd7, 0x4b, 0x65, 0xc7,
-  0xb4, 0xa7, 0xc6, 0x3c, 0xa0, 0x79, 0x06, 0x88, 0x0f, 0x66, 0xe2, 0x8b,
-  0x7c, 0x4a, 0xa5, 0x7f, 0x83, 0x56, 0x74, 0x6a, 0xae, 0xd1, 0x29, 0xcf,
-  0x0e, 0xb5, 0x62, 0x03, 0xe9, 0x02, 0x9c, 0x53, 0x13, 0x09, 0x5e, 0x98,
-  0x3d, 0x30, 0x1f, 0xaf, 0xb9, 0x9b, 0xf5, 0x46, 0x97, 0xed, 0xb3, 0xb6,
-  0xd7, 0x9b, 0x2e, 0xf6, 0xfe, 0xe8, 0x79, 0x4f, 0x7f, 0x8e, 0x56, 0x6b,
-  0x0e, 0xaa, 0x55, 0xb2, 0xd5, 0x76, 0xb0, 0x07, 0x48, 0xcb, 0xa7, 0x49,
-  0x12, 0x20, 0x94, 0x86, 0xf1, 0x82, 0x8f, 0xd3, 0x93, 0x7b, 0xf4, 0x84,
-  0xf4, 0x96, 0x43, 0x16, 0x5b, 0x06, 0x4c, 0x0a, 0x26, 0x2d, 0xa4, 0x09,
-  0xd9, 0x28, 0xa0, 0x45, 0x38, 0x43, 0x08, 0x36, 0x54, 0xda, 0x6c, 0xfd,
-  0xb7, 0xba, 0x6c, 0x1c, 0x8b, 0x91, 0x12, 0x5a, 0x0f, 0xcd, 0x41, 0x6b,
-  0x09, 0x81, 0xd7, 0x46, 0x36, 0x45, 0x40, 0x64, 0xf6, 0xbb, 0x1c, 0x97,
-  0x76, 0xc7, 0x51, 0x33, 0x1a, 0x21, 0x9c, 0xe7, 0xd4, 0x25, 0x96, 0x2d,
-  0xea, 0xf2, 0xa6, 0xb8, 0xac, 0xc8, 0x3f, 0x82, 0xa2, 0xb0, 0x34, 0x16,
-  0xcb, 0x88, 0x99, 0xc5, 0xc9, 0x7c, 0x0d, 0x4b, 0x08, 0xc3, 0xeb, 0xae,
-  0x09, 0x7a, 0xa6, 0xd1, 0xd1, 0xa5, 0xa2, 0x11, 0xc2, 0xa0, 0x03, 0x8f,
-  0x8a, 0x84, 0xb0, 0xa0, 0x6b, 0x18, 0x71, 0x2d, 0x43, 0x0e, 0xd8, 0xda,
-  0x83, 0xd1, 0xbe, 0xe6, 0x5a, 0x45, 0x6c, 0x79, 0xef, 0xac, 0xf7, 0x07,
-  0x72, 0xde, 0xe6, 0x8d, 0x1e, 0xa3, 0xc4, 0x07, 0x5f, 0x93, 0x24, 0x99,
-  0xd6, 0x41, 0xd3, 0xb7, 0x3c, 0x85, 0x9b, 0xb3, 0x25, 0xcc, 0xad, 0xe9,
-  0x49, 0xe3, 0x33, 0x3b, 0x26, 0x8e, 0xb0, 0x6c, 0xd6, 0x1a, 0x68, 0x23,
-  0xf3, 0xf2, 0xbb, 0xc0, 0xf1, 0x74, 0x0f, 0x24, 0x9e, 0x43, 0xff, 0x3a,
-  0xec, 0x52, 0xaf, 0xf9, 0xf5, 0x43, 0xa8, 0x37, 0xb2, 0x96, 0x83, 0x8d,
-  0xd3, 0x68, 0x95, 0x7c, 0xec, 0x0f, 0xdc, 0xe7, 0xf6, 0x6d, 0x6b, 0x05,
-  0x9e, 0x8f, 0xde, 0xaf, 0x30, 0xbc, 0x1d, 0x62, 0xe7, 0xe3, 0x0d, 0xaa,
-  0x9b, 0x29, 0xab, 0x21, 0xe9, 0xfe, 0x8b, 0x6c, 0x16, 0xe8, 0x62, 0xb1,
-  0xc3, 0x00, 0xcf, 0xce, 0xeb, 0x9a, 0x94, 0x64, 0xd2, 0x8f, 0x41, 0xe8,
-  0x14, 0x7f, 0xc2, 0x92, 0xac, 0x73, 0x20, 0x96, 0xff, 0x0f, 0x22, 0x39,
-  0xb4, 0xaa, 0xbe, 0xd0, 0xcc, 0x41, 0xf2, 0x61, 0x05, 0x4a, 0xa6, 0x48,
-  0x79, 0xe3, 0xf7, 0x7d, 0xc0, 0xe4, 0x18, 0xa9, 0x25, 0x36, 0x3b, 0xaf,
-  0x2d, 0x84, 0x62, 0x35, 0x4a, 0xe1, 0x67, 0xad, 0x9f, 0xaa, 0xa9, 0xa2,
-  0xd6, 0x75, 0x9b, 0x63, 0xd0, 0x7f, 0x9d, 0x63, 0x0c, 0x1f, 0x98, 0x2f,
-  0xa8, 0xd1, 0x58, 0x65, 0x80, 0x56, 0x52, 0x3e, 0xa1, 0xac, 0x73, 0x2c,
-  0xc8, 0xf6, 0xfe, 0xa3, 0x22, 0x96, 0xb8, 0x1b, 0x49, 0x0f, 0x57, 0xd4,
-  0xc1, 0x0e, 0x42, 0x60, 0x10, 0x49, 0x8a, 0x1e, 0xc7, 0x83, 0x7b, 0x29,
-  0x04, 0x40, 0x60, 0x9d, 0x6e, 0x18, 0xbc, 0x9a, 0xd1, 0xc3, 0x88, 0x7b,
-  0x7f, 0x10, 0x9d, 0x1d, 0x91, 0x9b, 0x4f, 0xfc, 0x2d, 0x54, 0xbd, 0xe7,
-  0x11, 0xe2, 0xfa, 0x59, 0x77, 0xe1, 0x70, 0x53, 0x3c, 0xd5, 0x58, 0x6b,
-  0xe9, 0x62, 0x65, 0x74, 0x26, 0xf9, 0xc2, 0x83, 0xf6, 0xa7, 0x7b, 0xcc,
-  0xb1, 0x6e, 0x21, 0x3f, 0x61, 0x7f, 0xba, 0x7b, 0xe3, 0xf3, 0x32, 0x7f,
-  0x7f, 0xba, 0x67, 0xb9, 0xb1, 0x91, 0x05, 0xd7, 0xad, 0x6b, 0x8b, 0xf8,
-  0x21, 0xd7, 0xe6, 0xc5, 0xca, 0x52, 0x12, 0xb9, 0x91, 0x8a, 0x3b, 0x37,
-  0x48, 0x8e, 0x19, 0x53, 0x19, 0x89, 0x11, 0xf2, 0xfa, 0x09, 0x97, 0xf6,
-  0x89, 0xcb, 0x4d, 0xdd, 0x8d, 0x91, 0xe2, 0xdf, 0x7c, 0x4a, 0xc8, 0x4e,
-  0xce, 0xd9, 0x47, 0xca, 0xba, 0x8a, 0xab, 0x6a, 0x0d, 0x6f, 0x66, 0xf2,
-  0x6a, 0x45, 0xd5, 0x79, 0x86, 0x47, 0xdd, 0xba, 0xd6, 0xac, 0x91, 0xa6,
-  0xe9, 0x46, 0x83, 0xa3, 0x8d, 0x24, 0xe7, 0x91, 0x24, 0xfd, 0x76, 0xa7,
-  0x83, 0xd1, 0x19, 0x79, 0x6d, 0x41, 0x69, 0xee, 0x15, 0xeb, 0xac, 0x87,
-  0xc9, 0x65, 0x7e, 0x19, 0x20, 0xba, 0x4f, 0xee, 0x9a, 0x48, 0x05, 0x0a,
-  0xad, 0x9a, 0x76, 0x61, 0xa7, 0x96, 0x04, 0xb7, 0xc7, 0x4f, 0x47, 0xfb,
-  0xbb, 0x03, 0xea, 0x7d, 0xbd, 0xc2, 0x0e, 0x50, 0x89, 0x80, 0xd5, 0xeb,
-  0xa8, 0x42, 0x26, 0xbf, 0x24, 0x61, 0x07, 0xc7, 0x42, 0x24, 0x13, 0x84,
-  0x1c, 0x6b, 0x92, 0x61, 0xa5, 0xe9, 0x4b, 0x82, 0x74, 0xd9, 0xae, 0x8e,
-  0xcb, 0x07, 0x68, 0x7a, 0x05, 0xb7, 0x58, 0xd7, 0x6f, 0x2d, 0xce, 0x32,
-  0xd7, 0xeb, 0xde, 0x93, 0xe4, 0xaa, 0x6c, 0x0b, 0x0f, 0x90, 0xee, 0x00,
-  0x88, 0x29, 0x08, 0xb7, 0x0c, 0xc2, 0xa2, 0xed, 0x17, 0xa7, 0x70, 0xaa,
-  0xf0, 0x17, 0xc4, 0xf6, 0x65, 0x0b, 0xc3, 0x72, 0x3c, 0x32, 0x50, 0xc9,
-  0x95, 0xc8, 0x4d, 0x1e, 0x06, 0x21, 0xa2, 0x97, 0x75, 0x7b, 0x39, 0x8c,
-  0xda, 0xd6, 0x85, 0x53, 0x5c, 0xd9, 0xd1, 0x68, 0x14, 0xa9, 0xa4, 0xbf,
-  0xce, 0xb3, 0x9b, 0x96, 0x17, 0x50, 0x66, 0x36, 0xb0, 0xbd, 0x19, 0xd8,
-  0xf8, 0xbc, 0xa6, 0x1d, 0x32, 0x43, 0x4e, 0x4a, 0xdb, 0x66, 0x7d, 0xc3,
-  0x45, 0xf6, 0x9f, 0xf6, 0xb6, 0xf9, 0x13, 0x6f, 0x73, 0x1d, 0x2b, 0x45,
-  0x63, 0x4c, 0x56, 0x07, 0x25, 0x3f, 0x20, 0x63, 0xac, 0xba, 0x4b, 0xd0,
-  0x33, 0xc0, 0x29, 0xa9, 0xe0, 0x2b, 0x9c, 0xfa, 0x9c, 0xd7, 0x0c, 0x89,
-  0xca, 0x90, 0x26, 0x61, 0xa0, 0x8a, 0x3f, 0xd3, 0xbe, 0xf3, 0xe2, 0xa0,
-  0x53, 0xee, 0x64, 0x58, 0xfb, 0x94, 0x6c, 0x60, 0x08, 0x59, 0xc5, 0x41,
-  0x87, 0x15, 0x18, 0xc9, 0x7a, 0x90, 0x13, 0xf1, 0x9a, 0x26, 0x78, 0x41,
-  0x7a, 0xd7, 0xc9, 0x22, 0xd1, 0x05, 0xc6, 0x43, 0x4d, 0x7a, 0xae, 0x7e,
-  0x00, 0xc8, 0x5f, 0xc9, 0xe4, 0x4e, 0xbb, 0x42, 0x89, 0x1b, 0xc8, 0x41,
-  0xbd, 0x76, 0xd5, 0x53, 0x57, 0x1a, 0xe7, 0xe0, 0x7c, 0x9c, 0x43, 0x8d,
-  0x71, 0xc3, 0xb0, 0x32, 0x19, 0xbc, 0xf6, 0x31, 0x7a, 0x83, 0x2a, 0x67,
-  0xd7, 0xb7, 0x84, 0x06, 0xe6, 0xde, 0x22, 0xd1, 0x23, 0x66, 0xd5, 0x8f,
-  0x0b, 0xee, 0xa9, 0xfb, 0xcd, 0x9a, 0x62, 0xde, 0xb8, 0xfb, 0x52, 0x38,
-  0x2b, 0xb5, 0xb2, 0x5d, 0x1c, 0x05, 0x8b, 0x46, 0x45, 0xbb, 0x3f, 0xba,
-  0x4a, 0x6f, 0x6f, 0x47, 0x75, 0xb6, 0x67, 0xa8, 0xb6, 0xde, 0xab, 0xeb,
-  0x05, 0x7d, 0xb4, 0x06, 0xf0, 0xd3, 0xc6, 0xc6, 0x7a, 0xb7, 0x77, 0x96,
-  0x80, 0x84, 0x19, 0x4f, 0x53, 0x7a, 0xb5, 0xc5, 0x6c, 0x5d, 0x67, 0x3d,
-  0xee, 0x4d, 0xd1, 0xcd, 0x56, 0x64, 0xcc, 0x5b, 0xa0, 0x37, 0xfb, 0x85,
-  0x7e, 0xcc, 0x1a, 0x5c, 0x5e, 0x88, 0x1d, 0xc7, 0x41, 0x79, 0x13, 0xca,
-  0x6d, 0xd5, 0x97, 0x55, 0x2e, 0x77, 0xd5, 0x8b, 0xca, 0x98, 0x4d, 0xb1,
-  0xb9, 0xd7, 0x46, 0x3e, 0x38, 0x44, 0x0f, 0x6e, 0x36, 0x43, 0x4a, 0x7c,
-  0xf9, 0x29, 0x82, 0x36, 0xd3, 0xe7, 0x31, 0xf1, 0x96, 0x46, 0x59, 0xea,
-  0x2f, 0x1c, 0xb6, 0xd9, 0xcd, 0xcd, 0xcd, 0x68, 0x93, 0xcb, 0xe4, 0x5f,
-  0x0e, 0xbf, 0xb5, 0x87, 0x3b, 0x35, 0x54, 0x7b, 0x62, 0xec, 0x88, 0xdb,
-  0xc4, 0x83, 0x97, 0xb0, 0x7d, 0x48, 0x34, 0x26, 0x90, 0x7c, 0x7b, 0xfe,
-  0xd6, 0xf6, 0xe0, 0xd5, 0xc2, 0x7e, 0x72, 0x3a, 0xd5, 0xa1, 0x7b, 0x3c,
-  0xcb, 0x19, 0xf2, 0x83, 0xf0, 0x6a, 0x5f, 0xbf, 0x3a, 0xfb, 0xf8, 0xfe,
-  0xe8, 0xe2, 0xe3, 0xf9, 0xab, 0xef, 0x68, 0x0b, 0xd9, 0x20, 0x34, 0xf2,
-  0x8a, 0x5c, 0x91, 0x55, 0x59, 0x52, 0x3f, 0xad, 0x77, 0xa8, 0x58, 0xca,
-  0x0b, 0x20, 0x3b, 0x44, 0x3b, 0x3c, 0x5b, 0xb8, 0x1a, 0x99, 0xa7, 0x99,
-  0xcb, 0x8b, 0xa4, 0xb5, 0x5f, 0x9f, 0x8c, 0xe5, 0x90, 0x2d, 0x46, 0x65,
-  0x75, 0x49, 0x54, 0xb8, 0xf7, 0x46, 0xf8, 0x67, 0x74, 0xb8, 0x3d, 0x09,
-  0xa8, 0x12, 0xfa, 0xd1, 0x75, 0x35, 0x27, 0xb0, 0x84, 0x87, 0xb6, 0x47,
-  0xf3, 0x48, 0xf3, 0x31, 0x18, 0xe0, 0xea, 0xfa, 0xf1, 0x06, 0x63, 0xa0,
-  0xdd, 0xa4, 0x52, 0xda, 0x4b, 0x81, 0x82, 0x60, 0x76, 0xfa, 0x61, 0x72,
-  0x2e, 0x0c, 0x5b, 0xdc, 0x0d, 0x22, 0xb5, 0xd7, 0x00, 0xf3, 0x2e, 0x6d,
-  0x15, 0x3b, 0x6a, 0x6b, 0x28, 0xbe, 0xbf, 0xb1, 0xbb, 0xb6, 0xd5, 0x83,
-  0xba, 0x66, 0x47, 0x5f, 0x85, 0xfa, 0xf0, 0x69, 0xa8, 0x4b, 0x52, 0xbf,
-  0x37, 0x6f, 0xcd, 0x4f, 0x65, 0xcd, 0x4f, 0xff, 0xa5, 0x35, 0x3f, 0xfd,
-  0x17, 0xd6, 0xfc, 0xf8, 0x17, 0x5e, 0xf3, 0xe3, 0xe8, 0x9a, 0xbd, 0xaf,
-  0x0c, 0xff, 0x46, 0x6b, 0xfe, 0xdb, 0xba, 0xf8, 0x34, 0x34, 0xf3, 0x25,
-  0x29, 0x2c, 0xed, 0x9d, 0xea, 0xb8, 0xca, 0xdc, 0xea, 0xf1, 0x01, 0xb7,
-  0xa2, 0xc3, 0x36, 0xf5, 0xda, 0x55, 0xa5, 0x52, 0x2d, 0xca, 0xd1, 0xc5,
-  0xde, 0xa6, 0xdc, 0x9e, 0xd7, 0x39, 0xa7, 0x52, 0xc3, 0x7a, 0x4a, 0xb6,
-  0x0d, 0x39, 0xc6, 0xb6, 0x64, 0x36, 0x3a, 0xec, 0x96, 0xb6, 0x7c, 0xc0,
-  0x4d, 0x4f, 0x43, 0x88, 0x95, 0x29, 0x0c, 0x6b, 0xdc, 0x49, 0x1b, 0x7e,
-  0x73, 0x2d, 0xa1, 0xf3, 0xb9, 0x85, 0x9f, 0xd1, 0x81, 0x39, 0x24, 0x41,
-  0xee, 0xe6, 0x90, 0x67, 0x5c, 0xdc, 0xad, 0x68, 0x40, 0x23, 0x9b, 0x2b,
-  0x23, 0x83, 0x39, 0x06, 0xce, 0xfd, 0xca, 0xed, 0x24, 0x93, 0xce, 0x04,
-  0xc5, 0xd1, 0x7a, 0x95, 0xdd, 0x6d, 0x07, 0x0a, 0xc3, 0x74, 0x51, 0x12,
-  0xbf, 0x21, 0xbd, 0x6e, 0x83, 0x26, 0x32, 0x71, 0xbd, 0xb5, 0x58, 0x5e,
-  0x74, 0x9a, 0x6d, 0xf9, 0x72, 0xe3, 0x53, 0x96, 0xad, 0xd2, 0x05, 0xaa,
-  0xfa, 0x29, 0xec, 0xda, 0xd7, 0xa3, 0xa7, 0x95, 0x97, 0xa5, 0x39, 0xcb,
-  0x78, 0xa3, 0x95, 0xf4, 0x02, 0x3e, 0xc7, 0x07, 0x49, 0x49, 0xfa, 0x49,
-  0x3e, 0x43, 0x99, 0x5d, 0xbc, 0x65, 0x83, 0xc3, 0x83, 0xb7, 0x93, 0x80,
-  0xe1, 0x39, 0x11, 0xf8, 0x09, 0xfb, 0x09, 0x85, 0xb0, 0xa2, 0xac, 0x80,
-  0xeb, 0x9c, 0xb2, 0x81, 0xba, 0xb0, 0xa7, 0xf6, 0x7d, 0x7e, 0x1d, 0x80,
-  0x36, 0x2d, 0xd0, 0x76, 0x3e, 0x40, 0x7a, 0xa2, 0xb4, 0xf2, 0x8f, 0xd4,
-  0x0d, 0xb4, 0x30, 0x0c, 0x48, 0x4a, 0xb1, 0x5b, 0x59, 0xff, 0xbd, 0x78,
-  0x7d, 0xf6, 0xf1, 0x9b, 0xa3, 0xa3, 0xb3, 0xe3, 0x37, 0x27, 0x47, 0x72,
-  0x61, 0xec, 0x8f, 0xde, 0x5f, 0x7c, 0x7b, 0xa2, 0x2d, 0xaa, 0x94, 0x16,
-  0x03, 0x82, 0x17, 0xc4, 0x71, 0x66, 0xca, 0x03, 0x74, 0xe2, 0x29, 0x9a,
-  0xe4, 0xd5, 0xf1, 0xf7, 0x46, 0x6b, 0x3d, 0x1b, 0x7e, 0xf8, 0x3e, 0x68,
-  0x83, 0xe0, 0xa5, 0xb7, 0xf7, 0xb6, 0x27, 0x37, 0x84, 0x08, 0xdb, 0xd1,
-  0xad, 0xbd, 0x2f, 0xdb, 0xe7, 0x17, 0x16, 0x83, 0xd4, 0x5b, 0xb9, 0xb0,
-  0x0a, 0x03, 0xbf, 0xa8, 0xad, 0x46, 0xbc, 0x8c, 0x9a, 0xa7, 0xfb, 0xda,
-  0xc1, 0x69, 0xa3, 0xbf, 0xf4, 0xf3, 0xb6, 0xcd, 0xf8, 0x29, 0xbb, 0x03,
-  0x7c, 0x5c, 0xf2, 0x92, 0xfe, 0x1b, 0xef, 0xb0, 0x75, 0x56, 0xe5, 0xd7,
-  0xa4, 0xff, 0x99, 0x67, 0x39, 0x9a, 0x44, 0x8f, 0x8e, 0x6c, 0xbf, 0x31,
-  0x89, 0x68, 0xd1, 0x20, 0x08, 0x7a, 0x63, 0x50, 0x10, 0x56, 0x10, 0x15,
-  0xcd, 0x67, 0xec, 0xeb, 0xe0, 0xf1, 0x30, 0xa0, 0xd9, 0x9e, 0x51, 0xf2,
-  0xe6, 0xe8, 0x7c, 0x90, 0x9c, 0x1d, 0xbd, 0xe3, 0x1c, 0xf9, 0xa3, 0xf7,
-  0x5f, 0x71, 0x0b, 0x36, 0xed, 0xac, 0x85, 0x20, 0x6c, 0x98, 0x27, 0xe6,
-  0xed, 0x89, 0x79, 0x17, 0x49, 0x71, 0x75, 0x6d, 0xa4, 0xeb, 0xaf, 0x88,
-  0xdd, 0xc1, 0x6b, 0x7b, 0x69, 0xfe, 0x13, 0xdb, 0x2a, 0x63, 0x47, 0x7c,
-  0x1d, 0xd9, 0x2e, 0x51, 0xcc, 0x6c, 0xd8, 0x5e, 0x8c, 0x02, 0xda, 0x0d,
-  0xde, 0x31, 0xb3, 0x21, 0x61, 0x00, 0x59, 0x37, 0x08, 0x66, 0x1f, 0xd0,
-  0x4b, 0xb8, 0x6f, 0xa7, 0x84, 0xff, 0xc8, 0x8a, 0x35, 0x9f, 0x1b, 0x10,
-  0x5d, 0x02, 0x0b, 0xd9, 0x6d, 0x46, 0xac, 0x30, 0xb3, 0xca, 0xb9, 0x07,
-  0x6a, 0x07, 0x14, 0xcb, 0x6c, 0x77, 0x3e, 0xe3, 0xe2, 0x6f, 0x8a, 0x5d,
-  0x95, 0x15, 0xc5, 0x8e, 0xa9, 0xea, 0xfa, 0xff, 0xdd, 0x1b, 0xd5, 0xf5,
-  0xd5, 0x5e, 0x3e, 0xfb, 0x58, 0xd5, 0xe9, 0x76, 0x57, 0x16, 0x79, 0xbf,
-  0x9e, 0xd1, 0xaf, 0x93, 0xed, 0x91, 0x7d, 0x54, 0xfe, 0x4e, 0x3f, 0x8f,
-  0x96, 0x21, 0xab, 0x08, 0x62, 0xf7, 0x89, 0xa6, 0x92, 0x69, 0xe7, 0xb6,
-  0x45, 0x3e, 0xa9, 0x8c, 0x02, 0xe7, 0x1a, 0x0f, 0x48, 0x23, 0xb6, 0xd5,
-  0xa7, 0x69, 0x7d, 0x70, 0x10, 0x69, 0xe3, 0xae, 0xd5, 0x55, 0x03, 0x4d,
-  0x09, 0x3c, 0xfb, 0xe6, 0xf5, 0xf8, 0x77, 0x07, 0x07, 0xc8, 0xc0, 0xdc,
-  0xa1, 0x4c, 0xb9, 0x67, 0x4f, 0x0e, 0x0e, 0x77, 0x63, 0xea, 0x63, 0x90,
-  0x52, 0x40, 0xcd, 0xf3, 0x52, 0x47, 0x9f, 0xb4, 0xfb, 0x88, 0xb0, 0x49,
-  0xbe, 0xb5, 0x1d, 0x7a, 0x96, 0x51, 0x7e, 0x12, 0x8a, 0xca, 0x38, 0x92,
-  0x82, 0xb4, 0xad, 0x20, 0xea, 0x6b, 0x21, 0x58, 0xb6, 0x78, 0xf6, 0x2f,
-  0xb6, 0x2c, 0x55, 0xf9, 0xe9, 0xab, 0x08, 0x7d, 0x7b, 0xb3, 0x1e, 0xf1,
-  0x3e, 0x75, 0x3d, 0xfb, 0xfe, 0xba, 0x90, 0x63, 0xe5, 0x30, 0x6e, 0x58,
-  0x7c, 0xb9, 0xae, 0x75, 0x9d, 0xd8, 0x24, 0x85, 0x26, 0x03, 0xef, 0x9e,
-  0xcc, 0x69, 0x8b, 0xe9, 0x87, 0x08, 0x3e, 0x75, 0x83, 0xda, 0xdd, 0xf7,
-  0x18, 0x84, 0x3f, 0x68, 0x18, 0xf1, 0xe3, 0x6f, 0x24, 0x5b, 0xe6, 0xee,
-  0xc6, 0x87, 0xfc, 0x55, 0xef, 0x64, 0x35, 0x49, 0x5e, 0x2e, 0xcc, 0x8b,
-  0x8b, 0x9e, 0xaa, 0x9f, 0x23, 0xee, 0xf4, 0xf3, 0x4d, 0x56, 0x4d, 0xb2,
-  0xaa, 0xac, 0x3b, 0x05, 0x0a, 0xda, 0x50, 0x9e, 0x7d, 0x2a, 0x18, 0x47,
-  0x33, 0x35, 0x82, 0x9e, 0x7e, 0x0d, 0xac, 0x6f, 0x81, 0x97, 0x6e, 0x43,
-  0x82, 0x6c, 0xa3, 0x4c, 0x82, 0x2e, 0x00, 0xb5, 0xb6, 0xa1, 0x3f, 0xd1,
-  0x60, 0x9e, 0xfa, 0x50, 0xe4, 0xe9, 0x62, 0x9b, 0x1a, 0x8e, 0x74, 0xaf,
-  0x91, 0x50, 0xda, 0xf6, 0x88, 0x6a, 0x5f, 0xd8, 0x58, 0x43, 0x02, 0x06,
-  0x2a, 0x3d, 0xd3, 0x44, 0xe6, 0xa2, 0xa9, 0xa5, 0x74, 0xcd, 0x5d, 0x06,
-  0x52, 0x1d, 0x34, 0x61, 0xb1, 0xc3, 0xb5, 0x51, 0x5b, 0xfa, 0x92, 0x1b,
-  0x7f, 0x61, 0x31, 0xc5, 0xc7, 0xf0, 0x93, 0xfb, 0xf6, 0x5a, 0x77, 0x7b,
-  0x67, 0x38, 0x3d, 0x2b, 0xff, 0x9c, 0xf5, 0xfd, 0x68, 0x17, 0xcc, 0x57,
-  0x5c, 0x98, 0xda, 0x81, 0x39, 0x00, 0x20, 0x3a, 0x55, 0x53, 0xcc, 0xd8,
-  0x30, 0x94, 0xc2, 0x3b, 0x17, 0xb3, 0x65, 0x4e, 0x13, 0xc6, 0xe5, 0xb0,
-  0x54, 0xb4, 0x2e, 0xd0, 0x69, 0x0f, 0xd9, 0x78, 0x7f, 0x9d, 0x88, 0x37,
-  0x02, 0x25, 0x19, 0x37, 0x15, 0x01, 0x35, 0x16, 0x0e, 0xee, 0x75, 0x91,
-  0xf5, 0xe2, 0xf7, 0x28, 0x98, 0xa3, 0x39, 0xa4, 0x85, 0xb4, 0x55, 0xd3,
-  0x44, 0xa8, 0x4a, 0xe7, 0x34, 0x94, 0x38, 0xb2, 0x3a, 0x0c, 0xe8, 0xbd,
-  0x7f, 0xbb, 0x17, 0xcd, 0xe1, 0xbe, 0xb3, 0x73, 0x2a, 0x7d, 0xac, 0x42,
-  0xfb, 0xc1, 0x30, 0x55, 0x9d, 0x0a, 0x23, 0x24, 0x2b, 0x0f, 0x21, 0x93,
-  0x5e, 0x1a, 0x7e, 0x9a, 0x05, 0x38, 0x3d, 0xe3, 0x56, 0x69, 0xb7, 0x74,
-  0x9b, 0xd4, 0xea, 0x1d, 0xbc, 0x67, 0xbb, 0xee, 0xba, 0xa8, 0x10, 0x68,
-  0x7f, 0x08, 0x95, 0xb5, 0xeb, 0x6e, 0xa3, 0x4e, 0x09, 0xae, 0x42, 0x14,
-  0xb7, 0x16, 0x38, 0xd8, 0x8a, 0xaf, 0xa2, 0x09, 0x9a, 0xbc, 0x1d, 0xe4,
-  0x8b, 0x96, 0xd4, 0x3f, 0x18, 0x17, 0x69, 0xe0, 0x03, 0x41, 0xae, 0x35,
-  0x37, 0x1f, 0x10, 0x22, 0xd8, 0x9e, 0xb1, 0x67, 0x14, 0x47, 0x62, 0xa7,
-  0x4a, 0x17, 0x4f, 0xc2, 0x0c, 0x0c, 0xd8, 0x6e, 0x6e, 0x74, 0x60, 0x2a,
-  0x4c, 0xcc, 0x10, 0x37, 0xf9, 0xac, 0xb9, 0x42, 0x3b, 0x10, 0xb5, 0x8c,
-  0x6a, 0x29, 0x49, 0x26, 0x27, 0x75, 0x1e, 0x16, 0xdc, 0x4c, 0x7a, 0x1c,
-  0x78, 0x7c, 0x60, 0xd8, 0xd4, 0x84, 0xb1, 0x79, 0xc8, 0x51, 0x87, 0x73,
-  0x80, 0x53, 0x7b, 0x8f, 0x55, 0x3d, 0x8b, 0x4a, 0x91, 0x9a, 0x5b, 0x34,
-  0xa7, 0x4e, 0x1f, 0x81, 0xb9, 0xa6, 0x95, 0x31, 0x23, 0xbd, 0x21, 0x44,
-  0xc3, 0xdb, 0x9f, 0x18, 0x8f, 0xfb, 0x9b, 0x6d, 0x6d, 0x68, 0x49, 0x88,
-  0x6b, 0x5e, 0xf2, 0x3e, 0xf1, 0xf2, 0xe4, 0x53, 0x1e, 0x82, 0xc4, 0xe3,
-  0xeb, 0x03, 0xc3, 0x6b, 0x96, 0x3c, 0xc2, 0xbb, 0x6d, 0x75, 0x94, 0x52,
-  0xad, 0xf6, 0x65, 0x2a, 0xbf, 0x67, 0x9c, 0x86, 0xed, 0x4b, 0x7e, 0xe8,
-  0x2b, 0xf7, 0x50, 0x67, 0x38, 0xf2, 0xda, 0xb3, 0x97, 0x5e, 0xf3, 0x78,
-  0xea, 0x17, 0x94, 0x1b, 0xfe, 0xcd, 0x20, 0x79, 0xb4, 0xc4, 0xa1, 0x1c,
-  0x7c, 0x15, 0x63, 0x5c, 0xdc, 0x9e, 0xb4, 0x2e, 0x6d, 0xa5, 0xee, 0xf0,
-  0x2f, 0x64, 0x72, 0x61, 0xc3, 0x98, 0x2e, 0x6d, 0x11, 0x0a, 0x07, 0xf8,
-  0x94, 0x1f, 0x44, 0x82, 0x0e, 0x48, 0xe3, 0x5a, 0x91, 0x91, 0x30, 0xcb,
-  0x14, 0xa0, 0x78, 0x09, 0xef, 0x26, 0x25, 0x6a, 0xac, 0xa4, 0x12, 0x9f,
-  0xc8, 0x75, 0x68, 0xd1, 0x0f, 0xeb, 0x05, 0x3d, 0x80, 0x0e, 0x3d, 0x65,
-  0x90, 0xd4, 0xb9, 0x58, 0xc1, 0x40, 0xb2, 0x4d, 0xb4, 0xbc, 0x49, 0x51,
-  0x41, 0xdd, 0x34, 0x11, 0x1f, 0xcf, 0xaf, 0x28, 0x12, 0x17, 0xc8, 0x0e,
-  0xca, 0xeb, 0x66, 0x18, 0x81, 0x9a, 0x44, 0x0c, 0xe8, 0xec, 0xf4, 0xec,
-  0xd1, 0xae, 0x8f, 0xc7, 0x27, 0x75, 0xd9, 0xdc, 0x6e, 0x0e, 0x51, 0x22,
-  0x5b, 0xb3, 0x3d, 0x50, 0x76, 0xc3, 0x15, 0x42, 0xa1, 0x6d, 0x39, 0x15,
-  0xb0, 0x2a, 0x62, 0x2e, 0xf8, 0x22, 0x5c, 0xfe, 0x2e, 0x47, 0xdd, 0x6b,
-  0xc4, 0xe6, 0x2e, 0xa6, 0x22, 0xb3, 0x7d, 0x16, 0x22, 0x5a, 0xd4, 0x9c,
-  0xcb, 0x0a, 0x30, 0x88, 0x21, 0xea, 0x8e, 0xda, 0xad, 0x0c, 0x28, 0x67,
-  0x3a, 0x98, 0x65, 0xc2, 0x39, 0x0f, 0x91, 0x6c, 0x12, 0x29, 0xf0, 0x71,
-  0x4f, 0x22, 0x20, 0xa1, 0x75, 0x58, 0x00, 0x36, 0x71, 0xf1, 0x59, 0xf2,
-  0x96, 0x12, 0xd5, 0x32, 0x9c, 0xeb, 0xa8, 0xb7, 0x05, 0xb5, 0x85, 0xd4,
-  0x6f, 0x59, 0x64, 0xd2, 0x30, 0x29, 0x4d, 0xde, 0x9f, 0x8c, 0x2f, 0xfc,
-  0x20, 0x12, 0xf4, 0xb0, 0x20, 0x8b, 0xb2, 0x8d, 0x29, 0xe5, 0xa5, 0x22,
-  0x9c, 0x1c, 0x8f, 0x2f, 0x46, 0x31, 0xb0, 0x78, 0xa3, 0x9d, 0x8f, 0x29,
-  0xd3, 0xbf, 0x55, 0xa3, 0x9f, 0x70, 0x63, 0x62, 0xce, 0x71, 0xe4, 0xe8,
-  0x18, 0x47, 0x8b, 0xf2, 0xca, 0xaf, 0x47, 0xef, 0x0e, 0x67, 0xa6, 0xf8,
-  0x47, 0xce, 0x90, 0x94, 0xec, 0x4a, 0x8d, 0x12, 0xd5, 0xeb, 0xc9, 0xd0,
-  0x03, 0x71, 0x63, 0x7d, 0x07, 0xdd, 0x81, 0x0c, 0xf5, 0x1a, 0x09, 0xf5,
-  0x29, 0xb4, 0x31, 0x77, 0x98, 0xa0, 0xb0, 0x3f, 0x02, 0xbe, 0xd7, 0x72,
-  0x75, 0x4f, 0x93, 0x0c, 0x60, 0x9f, 0x70, 0x32, 0xd1, 0xb3, 0x0f, 0x26,
-  0x2a, 0xda, 0x8a, 0xce, 0x4e, 0x4a, 0x43, 0xb9, 0x76, 0xba, 0x34, 0x85,
-  0xed, 0x7e, 0x4a, 0x9c, 0xd2, 0x23, 0x41, 0x47, 0x74, 0x75, 0x96, 0xb1,
-  0xcb, 0xc9, 0x4e, 0xbb, 0x17, 0x7f, 0x34, 0x9f, 0x31, 0x04, 0x5f, 0xdd,
-  0xc6, 0xe0, 0xe3, 0x7a, 0x6b, 0x62, 0x3a, 0xdc, 0x7b, 0x84, 0x54, 0xb7,
-  0xbe, 0x93, 0x64, 0x9f, 0x5c, 0x2b, 0x35, 0x6e, 0xf8, 0x3d, 0x27, 0x5b,
-  0x22, 0x50, 0x36, 0xe8, 0x03, 0x87, 0x0a, 0xc9, 0x48, 0xfb, 0xc0, 0x7c,
-  0x38, 0x7e, 0x73, 0x62, 0x77, 0x4b, 0x76, 0x07, 0xd9, 0x7b, 0x76, 0xad,
-  0x94, 0x51, 0xaf, 0x6c, 0x13, 0x67, 0x12, 0x04, 0x7d, 0xd6, 0x45, 0xfe,
-  0x77, 0x64, 0x66, 0x40, 0x77, 0x9d, 0xe7, 0x40, 0x12, 0x42, 0xd3, 0xf0,
-  0x44, 0x25, 0xd9, 0x76, 0x6d, 0x9b, 0x68, 0xe5, 0x33, 0x9b, 0x79, 0xce,
-  0x31, 0xbe, 0x68, 0xea, 0xe3, 0x46, 0xd0, 0x86, 0x83, 0x36, 0xb2, 0x22,
-  0x00, 0x56, 0x05, 0x07, 0xc9, 0x08, 0xa4, 0x3d, 0x54, 0x4e, 0x05, 0xca,
-  0x05, 0x74, 0x33, 0x97, 0x8f, 0xd3, 0xc6, 0xf7, 0x28, 0x2b, 0xa9, 0xb7,
-  0xda, 0x79, 0x7b, 0x7e, 0xfa, 0x6e, 0x78, 0x71, 0x8a, 0x2e, 0xdb, 0x30,
-  0xe7, 0x16, 0x49, 0x12, 0xd1, 0x37, 0xf9, 0xbd, 0xda, 0x6f, 0x16, 0xde,
-  0x4e, 0x5d, 0xdb, 0xa9, 0x77, 0xb5, 0x97, 0x37, 0x44, 0x0a, 0xa6, 0xa7,
-  0x6f, 0x05, 0x9d, 0x13, 0x0a, 0xd6, 0x44, 0x52, 0x74, 0x67, 0x24, 0xbf,
-  0xe3, 0xd4, 0x8b, 0x63, 0xe1, 0x7d, 0xe5, 0xdc, 0x93, 0x75, 0x7d, 0x97,
-  0x48, 0x59, 0x1b, 0xc1, 0xa5, 0xc1, 0x96, 0x0a, 0xa3, 0x03, 0xb6, 0xed,
-  0xaf, 0x05, 0x49, 0xa1, 0x82, 0x1f, 0xae, 0x28, 0x69, 0x4a, 0x73, 0x7d,
-  0xd3, 0xaa, 0x2a, 0x6f, 0x54, 0x70, 0x49, 0xd9, 0xa9, 0x99, 0x3a, 0x1d,
-  0x52, 0x75, 0xd7, 0x0b, 0x2c, 0x21, 0x58, 0x49, 0xda, 0xb4, 0x78, 0xa3,
-  0xfa, 0xf7, 0xa4, 0x5d, 0xee, 0xaf, 0xc9, 0xa7, 0xc3, 0xa6, 0x5a, 0xd7,
-  0x61, 0xff, 0x73, 0x71, 0x3b, 0x9f, 0x10, 0x9b, 0x6c, 0x67, 0xab, 0x0e,
-  0x04, 0xcc, 0x8d, 0xb0, 0x3f, 0xd0, 0x66, 0xca, 0xfa, 0x25, 0xe1, 0x9f,
-  0xe0, 0x98, 0xe2, 0x1f, 0x82, 0x1b, 0x2c, 0x28, 0xaf, 0xa4, 0xd1, 0x53,
-  0x07, 0x49, 0x64, 0xac, 0xba, 0x16, 0x80, 0x79, 0xc3, 0xad, 0xff, 0x34,
-  0xa1, 0x14, 0x38, 0x4e, 0x60, 0x06, 0xf4, 0xd3, 0x40, 0x97, 0x54, 0x80,
-  0x96, 0x9c, 0x8a, 0xe3, 0x67, 0xeb, 0x29, 0x8e, 0x89, 0x22, 0x7e, 0xd4,
-  0x59, 0x70, 0xc2, 0x90, 0x91, 0x5a, 0x5f, 0x4e, 0x43, 0xbb, 0x4c, 0x5d,
-  0x76, 0xe0, 0x74, 0xb5, 0xac, 0x84, 0x1f, 0x73, 0xed, 0x92, 0x48, 0x99,
-  0xa4, 0x54, 0xa0, 0x8c, 0x15, 0xcb, 0xaa, 0x6b, 0x73, 0x52, 0x54, 0x49,
-  0xdb, 0xb5, 0x86, 0xec, 0x8a, 0xf0, 0xba, 0x81, 0x54, 0x2c, 0x41, 0x7f,
-  0x02, 0xd5, 0x23, 0x02, 0x46, 0xd0, 0xfd, 0xcf, 0x69, 0x6d, 0xf8, 0x52,
-  0x7b, 0xbc, 0xdd, 0x0d, 0xee, 0xe9, 0xb5, 0xe6, 0x74, 0x7b, 0xa7, 0xd7,
-  0x3a, 0x90, 0xf8, 0xc9, 0x1d, 0xb7, 0xca, 0xeb, 0x39, 0x35, 0xc3, 0xdb,
-  0x71, 0x61, 0x51, 0xc0, 0x7c, 0x43, 0x9a, 0x6c, 0x8a, 0x46, 0xbb, 0xd7,
-  0x31, 0xe6, 0x94, 0xda, 0x56, 0x72, 0x4d, 0xa2, 0x1f, 0x4d, 0x76, 0xb4,
-  0xe8, 0xcc, 0x16, 0x41, 0x9c, 0xc8, 0xaf, 0x5e, 0xd8, 0xaa, 0x38, 0xe2,
-  0x69, 0x9d, 0xe1, 0x1e, 0x7d, 0xff, 0x7d, 0xbb, 0xf5, 0xeb, 0x6e, 0x5f,
-  0x1d, 0xbe, 0xa4, 0xc3, 0xcf, 0x98, 0xf7, 0xe9, 0x84, 0x83, 0x92, 0x1e,
-  0x25, 0x3b, 0x0a, 0x31, 0x20, 0x81, 0x98, 0x1d, 0x30, 0xe2, 0x29, 0x32,
-  0x26, 0xe0, 0x95, 0xd6, 0x79, 0xb4, 0x52, 0x38, 0x50, 0xa1, 0x7f, 0x1c,
-  0xc9, 0x72, 0x02, 0xc3, 0xd5, 0xdc, 0x0b, 0x8e, 0xa9, 0x20, 0x1d, 0xd6,
-  0xdf, 0x2e, 0xd7, 0x1d, 0xbc, 0xbe, 0xa2, 0xd8, 0x82, 0x60, 0xc4, 0x6e,
-  0xee, 0x4f, 0x6b, 0x31, 0xfb, 0x6c, 0xd5, 0x17, 0xe4, 0x3d, 0x23, 0xda,
-  0x53, 0x16, 0xdd, 0xb4, 0xca, 0xc4, 0xdb, 0xa0, 0xfd, 0x47, 0x82, 0x28,
-  0x32, 0xe1, 0x85, 0xf0, 0xe5, 0x81, 0x53, 0x35, 0xf5, 0xee, 0x8b, 0x83,
-  0x7a, 0xeb, 0x9c, 0x98, 0x64, 0x80, 0x87, 0xda, 0xfb, 0x4d, 0x09, 0x74,
-  0x3f, 0xb4, 0x7d, 0x01, 0x62, 0x55, 0xc9, 0x8e, 0x2d, 0xe9, 0x5c, 0xca,
-  0xf2, 0xe6, 0x0f, 0x7a, 0x73, 0x47, 0x7e, 0xf0, 0x92, 0xa8, 0x20, 0x16,
-  0x02, 0x55, 0x66, 0x42, 0xe7, 0x42, 0xb0, 0xa2, 0x54, 0xcb, 0xac, 0xdd,
-  0x90, 0xc8, 0x53, 0xac, 0x31, 0x72, 0x56, 0xa7, 0x51, 0x04, 0x6f, 0x7b,
-  0x92, 0x07, 0xc9, 0x44, 0x7a, 0x65, 0x29, 0x87, 0x07, 0x4e, 0x4f, 0x07,
-  0x89, 0xc5, 0xce, 0x2d, 0x63, 0x94, 0x0e, 0xf1, 0x58, 0xdd, 0x97, 0x6e,
-  0x22, 0xa0, 0xc7, 0x68, 0x81, 0xcc, 0x9d, 0x1b, 0xfc, 0x3d, 0x53, 0x37,
-  0x99, 0x05, 0x5c, 0x90, 0x1a, 0x17, 0x69, 0x01, 0xf0, 0xd5, 0xd1, 0x45,
-  0xf7, 0x6a, 0xf9, 0x91, 0x43, 0xc0, 0x1b, 0x98, 0x7f, 0x9f, 0x7d, 0xb8,
-  0xd8, 0x75, 0xed, 0xed, 0x85, 0x5c, 0xfd, 0x14, 0x79, 0x29, 0x9d, 0x0b,
-  0xab, 0x00, 0x18, 0x50, 0x40, 0xf8, 0x94, 0x24, 0x03, 0xc9, 0xcd, 0x20,
-  0x1f, 0xcb, 0xa3, 0xfd, 0x03, 0x63, 0x47, 0xed, 0x1f, 0xa2, 0xd7, 0xed,
-  0xa3, 0xfd, 0x47, 0xb6, 0x06, 0x5b, 0x9f, 0x0a, 0x11, 0xf2, 0xf9, 0x45,
-  0xb8, 0x4c, 0x40, 0xf7, 0x8f, 0x6e, 0x6f, 0xf1, 0xe3, 0x76, 0x66, 0xf7,
-  0xd0, 0x56, 0x43, 0xf9, 0xd3, 0x8c, 0xca, 0x7d, 0x6f, 0xbf, 0x11, 0xd9,
-  0x5b, 0x17, 0x5c, 0x7b, 0x88, 0x5e, 0xc2, 0x04, 0x59, 0x30, 0xea, 0x6f,
-  0xac, 0xe3, 0x75, 0x09, 0x13, 0x60, 0x26, 0xbf, 0x33, 0x96, 0x21, 0x16,
-  0x1f, 0xec, 0x42, 0x00, 0x10, 0x02, 0xd6, 0x4c, 0xcf, 0x08, 0x54, 0x8c,
-  0xd9, 0x83, 0x5b, 0xb7, 0x43, 0xb6, 0x5b, 0xa3, 0x30, 0x00, 0x23, 0xe8,
-  0x84, 0x1d, 0xd9, 0x3c, 0xfe, 0x88, 0x13, 0x82, 0xf8, 0xdf, 0x0b, 0x4a,
-  0x13, 0x31, 0x77, 0x02, 0xfb, 0xab, 0x7f, 0x3d, 0x94, 0x54, 0x11, 0xfe,
-  0xd7, 0xa3, 0xb6, 0xa4, 0x24, 0xf7, 0xb0, 0x0e, 0xfa, 0x52, 0xfe, 0x12,
-  0xf8, 0x2a, 0xd1, 0xe2, 0x14, 0xba, 0x31, 0x9a, 0x53, 0xec, 0xb6, 0xfc,
-  0x27, 0x18, 0xc3, 0x4e, 0x4c, 0xb4, 0x14, 0x69, 0x1e, 0xcd, 0x2c, 0xba,
-  0x4b, 0x1b, 0x2d, 0xf9, 0x30, 0xea, 0xeb, 0x3d, 0xa6, 0x9a, 0x60, 0x30,
-  0xbe, 0x26, 0x58, 0xd8, 0x62, 0x65, 0x4f, 0x25, 0x2e, 0x57, 0xb1, 0xbb,
-  0x5b, 0x6b, 0x36, 0x2d, 0x09, 0x57, 0xeb, 0x6c, 0x97, 0x39, 0x76, 0xa6,
-  0x93, 0xbc, 0x6a, 0xd0, 0x8a, 0x16, 0x7e, 0xb0, 0xd0, 0x44, 0xa5, 0xad,
-  0x18, 0xf0, 0x56, 0xa0, 0xc5, 0x33, 0xf5, 0xea, 0xd0, 0x34, 0xcb, 0xd6,
-  0x4c, 0x39, 0x10, 0xb2, 0xf4, 0x13, 0x35, 0x22, 0x12, 0x4d, 0x92, 0x34,
-  0x70, 0xcc, 0xed, 0x85, 0xae, 0x28, 0xf3, 0x3c, 0x83, 0xda, 0x2f, 0x8d,
-  0x68, 0x1f, 0x0f, 0xf0, 0xb7, 0x27, 0xfb, 0xcf, 0xf9, 0x44, 0x8f, 0x8f,
-  0x2e, 0xde, 0x76, 0x9d, 0x79, 0x95, 0x21, 0x28, 0xfe, 0xef, 0x30, 0x4b,
-  0xab, 0x2b, 0x63, 0x5c, 0x10, 0x4a, 0xcb, 0x90, 0xa0, 0xff, 0x87, 0xfb,
-  0xfb, 0xb1, 0xbc, 0x8d, 0x5f, 0xb1, 0x32, 0xfd, 0xd1, 0xe3, 0x76, 0x48,
-  0x8f, 0x54, 0xfa, 0x21, 0x6d, 0x77, 0x3f, 0x88, 0x68, 0x9b, 0xbc, 0x52,
-  0xd5, 0x9d, 0xe5, 0xf1, 0x56, 0xc0, 0x3e, 0x4b, 0x2c, 0x1a, 0x6d, 0xd2,
-  0xc5, 0xe0, 0xf3, 0x4c, 0xec, 0xae, 0x7a, 0x63, 0xb3, 0x93, 0x8c, 0x98,
-  0x87, 0x4c, 0x6a, 0xee, 0x76, 0x13, 0x6e, 0x61, 0xc7, 0x9d, 0xa6, 0x1a,
-  0xd7, 0x4c, 0x3c, 0x5a, 0xb3, 0x5b, 0x4b, 0xd9, 0x52, 0x95, 0x11, 0xda,
-  0x13, 0xab, 0x7d, 0xd2, 0xb1, 0xe7, 0x7e, 0xc4, 0x2a, 0x6c, 0x41, 0x35,
-  0x5d, 0x49, 0xfd, 0x1a, 0xff, 0x9b, 0x44, 0x71, 0x2b, 0x7f, 0xf6, 0xf0,
-  0x49, 0x64, 0xe3, 0x20, 0xb0, 0x7f, 0xe6, 0xc6, 0x39, 0xe5, 0x88, 0xfd,
-  0x77, 0x30, 0x78, 0x6d, 0x95, 0x4d, 0x88, 0x24, 0x54, 0x6b, 0x47, 0xd9,
-  0x9f, 0xbc, 0x16, 0xda, 0xed, 0xd1, 0x26, 0xdc, 0x3b, 0xf7, 0xd6, 0xcf,
-  0x5c, 0xcb, 0xc0, 0x35, 0x5d, 0x20, 0xe9, 0xb1, 0x94, 0x9e, 0x52, 0xf0,
-  0x33, 0x20, 0xa0, 0xd9, 0xc5, 0xa4, 0xc8, 0x56, 0x19, 0x16, 0xef, 0xe7,
-  0x2d, 0x78, 0xc4, 0x6d, 0x6d, 0x54, 0xb2, 0x15, 0xb5, 0x16, 0xcb, 0x08,
-  0xd1, 0x7c, 0x45, 0x60, 0x03, 0x75, 0xd4, 0xcf, 0xd2, 0xea, 0x1b, 0x8f,
-  0xcd, 0x54, 0x97, 0xec, 0x40, 0xc4, 0x98, 0xbc, 0xae, 0x7b, 0xac, 0x3c,
-  0x2b, 0x50, 0x1a, 0xaf, 0xd3, 0x05, 0x99, 0xeb, 0x18, 0xc3, 0x1e, 0x56,
-  0xe9, 0x8a, 0x7a, 0x79, 0xf0, 0xb2, 0x47, 0xfc, 0xfb, 0xf3, 0x28, 0xec,
-  0xfb, 0x9c, 0xf0, 0xa8, 0xca, 0xec, 0xb7, 0xe7, 0x6f, 0xff, 0xa2, 0x76,
-  0xf7, 0xee, 0xa0, 0xc7, 0x12, 0xee, 0x4c, 0x77, 0x92, 0x79, 0x89, 0x80,
-  0x52, 0x7d, 0xde, 0xda, 0x75, 0xfe, 0x97, 0xcb, 0xb2, 0x0c, 0x82, 0x0a,
-  0x48, 0xfa, 0xd8, 0xa1, 0x30, 0x9b, 0x79, 0x6e, 0x2c, 0x26, 0xdd, 0xa3,
-  0xd1, 0x13, 0xf8, 0x43, 0xde, 0xbe, 0x7e, 0xf2, 0xe8, 0xf0, 0xc0, 0x58,
-  0xad, 0x3b, 0x1d, 0x6e, 0xb1, 0xfb, 0xd9, 0x83, 0x76, 0xdb, 0x9e, 0x77,
-  0x76, 0xbb, 0x22, 0xda, 0xdb, 0x39, 0xfa, 0xfe, 0xec, 0x7d, 0xb0, 0x46,
-  0xb3, 0xa6, 0x20, 0x90, 0xda, 0xb7, 0x46, 0xa7, 0x0b, 0xb4, 0xc6, 0xd7,
-  0xfc, 0x63, 0xf4, 0xca, 0x8d, 0x84, 0x2a, 0xdf, 0x56, 0x39, 0xe9, 0xb8,
-  0x5b, 0xb4, 0x25, 0x5b, 0x27, 0x65, 0x31, 0x33, 0xa2, 0xff, 0x94, 0xd0,
-  0xc1, 0xb2, 0x2d, 0xa3, 0xab, 0xdf, 0xbb, 0xba, 0xfe, 0x6b, 0xf2, 0x6e,
-  0x80, 0xab, 0x52, 0x84, 0x19, 0x2e, 0xef, 0xf0, 0x43, 0x80, 0xb1, 0x12,
-  0xae, 0x02, 0x97, 0xac, 0xad, 0x2f, 0x33, 0x76, 0xef, 0x92, 0x69, 0xd6,
-  0xbe, 0x6d, 0xb7, 0xe8, 0x85, 0x02, 0x8f, 0xcf, 0x4b, 0x38, 0xb4, 0xfb,
-  0x62, 0x21, 0xcc, 0x2d, 0x35, 0x1a, 0xc2, 0x3e, 0xa2, 0x1d, 0x75, 0xeb,
-  0xef, 0x7a, 0xcd, 0xa4, 0x81, 0x1b, 0xc8, 0xb1, 0x0e, 0xd2, 0xdb, 0x22,
-  0x3c, 0x17, 0x8f, 0x39, 0xbb, 0x22, 0x6f, 0xa7, 0xc4, 0xe3, 0x26, 0xa2,
-  0x0e, 0x7d, 0xd0, 0x86, 0x4d, 0x8b, 0xf9, 0xc0, 0x91, 0x41, 0x80, 0x66,
-  0x5f, 0x69, 0xd1, 0x86, 0x98, 0xa4, 0x3a, 0x6a, 0xb6, 0x7e, 0xb2, 0x5b,
-  0xf4, 0x6f, 0x34, 0x2a, 0xe2, 0xd3, 0x47, 0x91, 0x92, 0x30, 0x5e, 0x8a,
-  0x20, 0x4b, 0x88, 0x9b, 0xc9, 0xa2, 0xe0, 0xbe, 0x75, 0x6a, 0xef, 0x20,
-  0x1a, 0x87, 0x88, 0x85, 0xa4, 0x38, 0x2a, 0x21, 0xd6, 0x59, 0x27, 0x2e,
-  0xe1, 0xc7, 0x21, 0x70, 0x53, 0x28, 0x12, 0x21, 0x51, 0x86, 0xd0, 0x50,
-  0xf1, 0x22, 0x13, 0xfd, 0xa1, 0x89, 0x0d, 0xc1, 0x88, 0xae, 0x09, 0x6a,
-  0x43, 0x13, 0x2d, 0xe2, 0x7b, 0xf2, 0x79, 0x84, 0xf8, 0xde, 0x9f, 0x5e,
-  0x1c, 0xbd, 0x10, 0x74, 0x21, 0x85, 0xe1, 0x50, 0x33, 0x81, 0x13, 0xd3,
-  0xb8, 0x87, 0x34, 0x97, 0x29, 0x91, 0x90, 0xd5, 0x53, 0x1f, 0xc4, 0xae,
-  0x3c, 0x72, 0xc4, 0xe9, 0x9a, 0xb0, 0x97, 0xb7, 0xe9, 0x05, 0xe7, 0x44,
-  0x95, 0xb1, 0x58, 0x06, 0x4c, 0x4f, 0x74, 0xfe, 0x21, 0x28, 0x03, 0x2a,
-  0xf7, 0x51, 0x0c, 0xcf, 0xf2, 0x36, 0x20, 0x21, 0x16, 0x65, 0x6c, 0x70,
-  0xd9, 0x84, 0xc5, 0x29, 0xb5, 0x72, 0x0c, 0xfb, 0x0f, 0x22, 0x42, 0xf7,
-  0x56, 0x7a, 0x58, 0xc3, 0x1e, 0xb1, 0x08, 0x7f, 0x9b, 0x44, 0x9c, 0x0b,
-  0x24, 0x76, 0x2f, 0x95, 0x18, 0x67, 0xe4, 0x05, 0xfc, 0x53, 0x2f, 0xc2,
-  0x4e, 0xe3, 0xdd, 0x27, 0xa5, 0x13, 0x73, 0x8f, 0xd4, 0x4a, 0x23, 0xab,
-  0xd2, 0x9a, 0x29, 0x02, 0x9f, 0x11, 0x86, 0xaf, 0xc1, 0x02, 0xdb, 0x6e,
-  0x11, 0xd7, 0x68, 0x5d, 0xd5, 0x35, 0x24, 0xee, 0xd0, 0xce, 0x6a, 0xc0,
-  0x12, 0xda, 0x42, 0x0f, 0x08, 0xa4, 0x5f, 0xde, 0x2c, 0x4a, 0x35, 0x89,
-  0xbe, 0xa9, 0x11, 0xdc, 0x7e, 0x05, 0x02, 0x74, 0x3e, 0x58, 0xb3, 0x39,
-  0xd7, 0x98, 0x9b, 0x8f, 0x3c, 0xd9, 0xef, 0xb1, 0x65, 0x59, 0xe5, 0x1d,
-  0x67, 0x6d, 0x41, 0x6b, 0xde, 0x18, 0x1e, 0x58, 0x27, 0x6c, 0x8e, 0xba,
-  0x5a, 0x01, 0x92, 0xfa, 0xf5, 0x42, 0x4c, 0xcb, 0x81, 0x9c, 0xd1, 0xc6,
-  0x3c, 0xc6, 0x77, 0x1a, 0xf6, 0xa5, 0x87, 0xf2, 0x42, 0x53, 0xd4, 0x58,
-  0x53, 0xe2, 0x28, 0x9e, 0xe2, 0x65, 0x9a, 0x9b, 0x59, 0x52, 0xf4, 0xdc,
-  0x05, 0xbf, 0x23, 0x2d, 0xba, 0xa9, 0xee, 0x2d, 0x49, 0x7c, 0xf0, 0x23,
-  0x2d, 0x39, 0x92, 0x83, 0xa1, 0x5d, 0x87, 0xbf, 0x6d, 0x42, 0xa5, 0xc3,
-  0xc9, 0xdf, 0xca, 0x89, 0x38, 0x61, 0xc8, 0x72, 0x8c, 0x81, 0x88, 0xcc,
-  0x91, 0x3f, 0xbf, 0x36, 0x54, 0x36, 0x5b, 0xb3, 0x5f, 0x95, 0x26, 0x24,
-  0x99, 0xd8, 0xdc, 0x75, 0x96, 0x02, 0x1e, 0xc9, 0x25, 0x20, 0xfc, 0x38,
-  0x15, 0x54, 0xd1, 0xb1, 0xc3, 0xfa, 0xc8, 0xc3, 0x2e, 0x50, 0x44, 0x3a,
-  0x25, 0x6f, 0x88, 0x19, 0x5c, 0xea, 0xb2, 0x19, 0xeb, 0xcb, 0x25, 0xac,
-  0xa7, 0xd3, 0x66, 0x2d, 0x1b, 0xdf, 0x9d, 0x5d, 0xa9, 0x5e, 0x52, 0xf3,
-  0x2e, 0x10, 0xa8, 0x91, 0x85, 0x34, 0x35, 0x94, 0x97, 0x4e, 0xef, 0x54,
-  0x5f, 0x70, 0xc2, 0x55, 0xb0, 0xe4, 0x1c, 0x5e, 0x75, 0xb0, 0x58, 0x3b,
-  0x09, 0x8a, 0x76, 0xe6, 0x75, 0x4f, 0xa3, 0x88, 0x5f, 0xd4, 0x4e, 0xf1,
-  0xdb, 0xfd, 0xb0, 0xd3, 0x59, 0x31, 0xef, 0x5a, 0x57, 0x3d, 0x6b, 0x52,
-  0xda, 0xe5, 0x8d, 0x2d, 0xcb, 0x9c, 0x4b, 0xc0, 0x56, 0xd6, 0x20, 0x32,
-  0x08, 0x54, 0x2a, 0xaa, 0xb1, 0x41, 0x1c, 0x5c, 0x7b, 0xdd, 0x1c, 0x87,
-  0x7a, 0xc4, 0x3b, 0xf9, 0x0a, 0xf3, 0xc3, 0x1d, 0x30, 0x2b, 0x2d, 0x60,
-  0x62, 0x3b, 0xf3, 0x31, 0x67, 0x8c, 0x25, 0x4f, 0x3e, 0x7f, 0xf2, 0x78,
-  0x57, 0xfb, 0xa6, 0x6a, 0x16, 0xe2, 0x6e, 0xac, 0xf9, 0x18, 0x6e, 0x9c,
-  0xc0, 0xb9, 0x43, 0xaf, 0xc9, 0xa9, 0x3d, 0x1f, 0x03, 0x05, 0x88, 0x63,
-  0x33, 0xe7, 0x7e, 0x3d, 0xe4, 0x62, 0x47, 0xe7, 0x2b, 0x66, 0xca, 0x41,
-  0xfe, 0x00, 0x7d, 0x2c, 0xe3, 0x97, 0x77, 0xc0, 0xe1, 0xd3, 0xda, 0x31,
-  0x6f, 0x57, 0x19, 0xc4, 0xa8, 0xe2, 0x50, 0xd2, 0x34, 0xf5, 0x6d, 0x17,
-  0x35, 0xaf, 0x31, 0x09, 0x2a, 0xe9, 0xe7, 0xd0, 0x54, 0x45, 0xf5, 0xb8,
-  0xa2, 0x66, 0xd0, 0xa5, 0x27, 0x17, 0xd8, 0x37, 0xc2, 0xb5, 0x5d, 0x2c,
-  0x78, 0x62, 0x18, 0xb9, 0x28, 0x71, 0xaf, 0x39, 0x43, 0xaa, 0xbd, 0x8f,
-  0x8c, 0xba, 0x48, 0x94, 0xa2, 0xef, 0x4b, 0x82, 0x94, 0x9c, 0x49, 0xb4,
-  0x92, 0x78, 0x99, 0x2d, 0xb5, 0x31, 0x0d, 0xab, 0x1e, 0xa5, 0x64, 0x37,
-  0xb0, 0x2b, 0x42, 0x5b, 0xd1, 0x4b, 0xbe, 0x70, 0x1f, 0xe6, 0x87, 0xba,
-  0x41, 0x52, 0x85, 0x27, 0x68, 0xcd, 0xac, 0xb7, 0xbe, 0x45, 0xa9, 0x4d,
-  0x51, 0x40, 0xba, 0x65, 0x2d, 0xfa, 0x77, 0x4b, 0x95, 0x61, 0x45, 0x1b,
-  0x7f, 0xb5, 0xb3, 0x11, 0x3d, 0xb3, 0x87, 0x25, 0xc5, 0x90, 0x5d, 0xf0,
-  0xa5, 0x84, 0x7d, 0x29, 0x17, 0xc9, 0x0e, 0x26, 0xbc, 0xb7, 0xb7, 0x7b,
-  0xff, 0xa4, 0xe5, 0xc9, 0xfb, 0x26, 0x79, 0xc6, 0x8e, 0x0d, 0x0f, 0xc9,
-  0x7e, 0xee, 0xcd, 0x81, 0xbe, 0x49, 0x27, 0xc6, 0x70, 0xf3, 0x9c, 0x44,
-  0xc8, 0x89, 0x33, 0xa4, 0x42, 0x50, 0x8d, 0x72, 0xe8, 0xc4, 0xd7, 0xac,
-  0x34, 0x5e, 0x60, 0x7b, 0xed, 0x62, 0xf6, 0x32, 0x92, 0x98, 0xb0, 0x10,
-  0x4a, 0x8d, 0x02, 0xb4, 0xd3, 0x2b, 0x43, 0x84, 0xa1, 0xbe, 0xe9, 0xa6,
-  0xe5, 0x2d, 0x0e, 0x26, 0x6e, 0x3e, 0x48, 0x3c, 0x37, 0x3b, 0xdf, 0x42,
-  0xf5, 0x41, 0xb0, 0x3b, 0x3e, 0x52, 0x1b, 0xa1, 0x4f, 0xdb, 0x0c, 0x4b,
-  0x6e, 0xe2, 0x3c, 0x0a, 0xc0, 0x58, 0xf9, 0x49, 0xaf, 0x15, 0x77, 0x48,
-  0x9d, 0x2d, 0xc4, 0x02, 0x1e, 0xd0, 0x70, 0xd4, 0x4f, 0x6e, 0xcd, 0x0c,
-  0x85, 0xca, 0xcd, 0xa2, 0xa5, 0x17, 0x98, 0x0e, 0x46, 0xd3, 0x0d, 0x18,
-  0x2f, 0xe6, 0x66, 0xe9, 0x9b, 0x7b, 0xa2, 0x03, 0x07, 0x64, 0xc2, 0x3f,
-  0x6d, 0x6d, 0xe6, 0x80, 0xef, 0x28, 0x10, 0x38, 0x62, 0xba, 0x3a, 0x1a,
-  0xb6, 0x85, 0xb5, 0xdf, 0x76, 0x0f, 0x37, 0xa6, 0xe0, 0xd9, 0x1c, 0x3c,
-  0xf8, 0x79, 0x25, 0x0b, 0x2f, 0x94, 0xb3, 0xea, 0x6b, 0xd3, 0x41, 0xdb,
-  0xbe, 0x86, 0x67, 0x6d, 0x5f, 0x83, 0xad, 0x63, 0x8f, 0x6b, 0x68, 0x9c,
-  0x7c, 0x59, 0x27, 0xef, 0xf5, 0xb1, 0x64, 0x67, 0x7c, 0xf6, 0xfe, 0xe8,
-  0xab, 0xd3, 0xdd, 0xfb, 0x7c, 0x94, 0x6d, 0xfe, 0x6f, 0xd7, 0x95, 0x6a,
-  0x96, 0xb0, 0x4c, 0x1f, 0xd6, 0xc9, 0x57, 0xe3, 0xf1, 0xf0, 0xd5, 0xd9,
-  0x31, 0x1a, 0xec, 0x8d, 0xcd, 0x9f, 0x3d, 0x30, 0xd0, 0x23, 0xa0, 0x90,
-  0x0f, 0xbf, 0x95, 0xda, 0xd1, 0x5a, 0x93, 0x04, 0xe1, 0x01, 0xa4, 0xc3,
-  0x14, 0xe0, 0x36, 0xde, 0x23, 0x8b, 0x04, 0x80, 0xe1, 0xbb, 0x26, 0xcf,
-  0xd9, 0xf1, 0x1e, 0x3e, 0x45, 0x9f, 0xc4, 0x82, 0x7a, 0xdc, 0x07, 0xeb,
-  0xb0, 0xb7, 0x1e, 0x69, 0x3e, 0x48, 0x31, 0x05, 0x83, 0xd6, 0x64, 0x70,
-  0x63, 0xf9, 0x91, 0x38, 0x71, 0x01, 0xbb, 0x78, 0xe9, 0x0d, 0xb9, 0xc2,
-  0xa8, 0xb6, 0x42, 0xf1, 0x1a, 0x3b, 0xae, 0x37, 0x98, 0x68, 0x8c, 0xca,
-  0x85, 0xc6, 0xe9, 0x63, 0x8d, 0xae, 0x76, 0x9d, 0x22, 0xdb, 0xc3, 0x75,
-  0x92, 0xbc, 0xd8, 0x96, 0x9e, 0xd5, 0x45, 0xb9, 0xbe, 0xbc, 0x62, 0x03,
-  0xab, 0xed, 0x87, 0x00, 0x2f, 0xd7, 0xe8, 0xab, 0x85, 0x8d, 0x37, 0x93,
-  0x0c, 0x48, 0x10, 0xef, 0xa8, 0xde, 0x53, 0x65, 0x14, 0x1c, 0x62, 0xf5,
-  0x86, 0x93, 0x2e, 0x66, 0xbf, 0x09, 0xfc, 0xf2, 0x06, 0x0d, 0x64, 0xc2,
-  0x81, 0x53, 0xb8, 0xd1, 0x8a, 0x66, 0xb1, 0x94, 0xbf, 0xa6, 0xc5, 0x1d,
-  0xdc, 0xa5, 0xe2, 0xbf, 0x47, 0xfd, 0xa7, 0xa5, 0xe9, 0x36, 0xa1, 0x37,
-  0xd5, 0x14, 0x86, 0x3e, 0xa7, 0xa0, 0x72, 0xe1, 0xe7, 0x26, 0x9a, 0x45,
-  0x3b, 0xed, 0xa5, 0x11, 0xd3, 0x30, 0xed, 0x86, 0xc5, 0x40, 0x47, 0x19,
-  0x18, 0x73, 0x58, 0xc2, 0x64, 0xa2, 0x08, 0x0b, 0x11, 0x44, 0x58, 0x11,
-  0xba, 0xcf, 0xed, 0xa4, 0x93, 0xba, 0x5c, 0xac, 0x1b, 0xe8, 0x02, 0xe4,
-  0x14, 0xa5, 0xe2, 0x9a, 0x5d, 0x90, 0xae, 0x84, 0x2f, 0xcd, 0xa8, 0x89,
-  0x97, 0x80, 0x9a, 0xc4, 0xea, 0x00, 0x5c, 0x67, 0xc4, 0x91, 0x0b, 0x01,
-  0x70, 0x14, 0x51, 0xfc, 0x13, 0xb4, 0xb3, 0x3c, 0x16, 0x86, 0x5a, 0x21,
-  0x2d, 0xe9, 0xba, 0x8c, 0xf7, 0xec, 0x36, 0xe7, 0xa7, 0x67, 0xd5, 0xda,
-  0x1d, 0xf5, 0xae, 0x13, 0xeb, 0x6e, 0x25, 0xaa, 0x3b, 0xad, 0x31, 0xc6,
-  0xd9, 0x7a, 0x33, 0x95, 0x35, 0x5b, 0x60, 0x42, 0xb7, 0x64, 0x72, 0x67,
-  0x3f, 0xc6, 0xdf, 0x49, 0x91, 0xcb, 0x63, 0x15, 0xe1, 0x87, 0x82, 0xb1,
-  0xb8, 0xc3, 0x18, 0x6d, 0x4a, 0x46, 0x69, 0x7f, 0xa9, 0x33, 0xf4, 0xb7,
-  0x19, 0xe7, 0x9d, 0xf1, 0x11, 0xe3, 0x34, 0x5a, 0x87, 0xcc, 0x5a, 0x7e,
-  0xb7, 0x9f, 0x16, 0x6d, 0xc4, 0x08, 0x4f, 0x04, 0x04, 0x4c, 0xa1, 0x74,
-  0xbb, 0x2a, 0x55, 0x8f, 0xc8, 0xdf, 0x96, 0x72, 0x27, 0x3f, 0x7e, 0xd9,
-  0xfb, 0x86, 0x2d, 0x05, 0x2a, 0x37, 0x37, 0xdb, 0x74, 0xa7, 0x33, 0x7a,
-  0xc0, 0x86, 0xb8, 0xf5, 0xbb, 0x1f, 0x06, 0x96, 0x9d, 0x8d, 0x17, 0xd7,
-  0x40, 0xc3, 0xb3, 0x8b, 0x32, 0x9c, 0xff, 0xa3, 0xfc, 0x85, 0xee, 0xc0,
-  0x77, 0x79, 0x61, 0x34, 0xc3, 0x7a, 0x57, 0x89, 0x33, 0x2f, 0x62, 0x30,
-  0x0a, 0xc4, 0x3b, 0xb6, 0x6b, 0x63, 0x89, 0x19, 0x8e, 0xe3, 0x12, 0xf5,
-  0x48, 0x71, 0xe6, 0x80, 0x4d, 0xc0, 0x8a, 0xbc, 0x9e, 0x8a, 0x77, 0xab,
-  0xa0, 0x7e, 0x66, 0x6a, 0x99, 0x0e, 0xc6, 0x00, 0x6e, 0xaa, 0x31, 0x0b,
-  0x8a, 0xfc, 0x76, 0x64, 0x83, 0xfb, 0x16, 0xf8, 0xc9, 0x0f, 0x6e, 0x1a,
-  0x46, 0x18, 0x69, 0xa7, 0x0d, 0xce, 0xd6, 0x0d, 0x61, 0xd1, 0xee, 0x62,
-  0x9d, 0x3b, 0x4f, 0x76, 0x93, 0x79, 0xb3, 0xda, 0x39, 0xd8, 0x65, 0xf8,
-  0x6c, 0x69, 0xe3, 0x5c, 0x3a, 0x71, 0x1f, 0x7a, 0x71, 0x28, 0xb7, 0x30,
-  0x79, 0x6d, 0x3f, 0x8b, 0xe0, 0x26, 0x21, 0x49, 0xa1, 0x8a, 0x6f, 0x2e,
-  0x37, 0x98, 0x37, 0xcc, 0xf6, 0x7e, 0x45, 0x1a, 0x73, 0x64, 0xef, 0xb8,
-  0x16, 0x7f, 0x45, 0xa0, 0x92, 0xa8, 0x6c, 0x34, 0x16, 0x84, 0x6b, 0xc0,
-  0x29, 0x6d, 0x88, 0xa4, 0xf4, 0xd9, 0xec, 0xdc, 0x62, 0x36, 0x24, 0x1e,
-  0x72, 0x59, 0x95, 0x46, 0x44, 0x56, 0x11, 0xe8, 0x3d, 0xb1, 0x29, 0x2e,
-  0x50, 0x7d, 0x73, 0x9d, 0x57, 0x65, 0x01, 0x74, 0xc3, 0xeb, 0xb4, 0xca,
-  0x11, 0xe6, 0xdf, 0xfa, 0xfa, 0xf4, 0xdd, 0xd1, 0x96, 0xef, 0x14, 0x99,
-  0xe7, 0xe2, 0x47, 0xc7, 0xf9, 0x75, 0xbd, 0xd4, 0x7a, 0x9a, 0x31, 0xa7,
-  0xa1, 0x11, 0xe9, 0x53, 0x56, 0xfb, 0x00, 0xc4, 0x00, 0x94, 0xaa, 0xcc,
-  0x46, 0xc8, 0x8d, 0x2a, 0x29, 0x49, 0x00, 0xd2, 0xd2, 0x4d, 0x29, 0x0c,
-  0x49, 0x40, 0xb1, 0xc6, 0x1b, 0x6a, 0x1a, 0xa2, 0xf9, 0x46, 0xe9, 0x37,
-  0x15, 0x4b, 0xbc, 0xc6, 0x63, 0xa4, 0xe6, 0x6b, 0x47, 0x06, 0xe7, 0x62,
-  0xef, 0x8a, 0xc7, 0xe5, 0x1d, 0x59, 0x36, 0xdb, 0x6d, 0x01, 0xb8, 0x5d,
-  0x93, 0x31, 0xde, 0x6c, 0xeb, 0xf6, 0x22, 0x5d, 0xd4, 0xf1, 0xf8, 0xb0,
-  0xd9, 0x6b, 0xcf, 0xd7, 0x99, 0xaa, 0xf9, 0x13, 0x6e, 0x74, 0x1e, 0xdc,
-  0xdd, 0xbe, 0x17, 0x7c, 0xfb, 0x6e, 0xbb, 0xd6, 0x5d, 0x88, 0x7f, 0x93,
-  0xba, 0x02, 0xb1, 0x76, 0x9f, 0xd8, 0x76, 0x94, 0x9e, 0xe0, 0xed, 0x43,
-  0xaf, 0xa2, 0xf9, 0x7c, 0x39, 0x65, 0x24, 0x22, 0x1b, 0x57, 0xed, 0x60,
-  0xcd, 0xaa, 0x96, 0x54, 0x78, 0x1d, 0x23, 0x31, 0x5a, 0x2f, 0xd6, 0xa1,
-  0x11, 0xdc, 0x48, 0xa3, 0x52, 0xc8, 0xb7, 0xdc, 0xe8, 0x06, 0x37, 0x85,
-  0x8b, 0x22, 0xcb, 0x97, 0x06, 0x7e, 0x35, 0x75, 0x1f, 0xfa, 0xa9, 0x4b,
-  0x46, 0xb1, 0x7a, 0x09, 0xc3, 0x7f, 0x32, 0x80, 0xa4, 0x05, 0x8c, 0x52,
-  0x10, 0xcd, 0x50, 0x3f, 0xb6, 0x3b, 0xa9, 0x8e, 0x6d, 0x54, 0x2c, 0x99,
-  0xbf, 0xb1, 0x39, 0x63, 0x23, 0xfe, 0x8c, 0xd2, 0x01, 0x85, 0x83, 0x3a,
-  0x1f, 0xa4, 0xc8, 0xb2, 0xc9, 0xa2, 0x30, 0x4f, 0xee, 0x3e, 0x9a, 0xa5,
-  0x09, 0x86, 0x7b, 0xbd, 0xae, 0xae, 0x51, 0xf5, 0x2a, 0xad, 0x7f, 0x38,
-  0x35, 0xd8, 0x9d, 0x87, 0x9c, 0x43, 0x44, 0xca, 0x7b, 0x33, 0xa4, 0xb4,
-  0xcd, 0x6a, 0x2d, 0x38, 0xdf, 0x5f, 0xf1, 0x2c, 0xec, 0x04, 0xad, 0xa5,
-  0x43, 0x00, 0x28, 0xac, 0xc5, 0x06, 0x49, 0xfa, 0x65, 0x0d, 0xc8, 0xce,
-  0xa6, 0x4a, 0xa7, 0xee, 0x2f, 0xc3, 0xb4, 0x9e, 0xe6, 0xb9, 0xb6, 0x92,
-  0xa1, 0xf8, 0x60, 0x46, 0xe9, 0xb0, 0x51, 0x7c, 0x1c, 0x77, 0x1e, 0xb6,
-  0x89, 0xc3, 0xac, 0x64, 0xf7, 0x2e, 0xe7, 0x9c, 0xa4, 0xdc, 0x65, 0x8c,
-  0x32, 0x58, 0x50, 0x1a, 0x27, 0xc1, 0xc3, 0x58, 0x77, 0x1d, 0xad, 0xb4,
-  0xe9, 0x31, 0x6d, 0x8d, 0xf5, 0x7d, 0xe0, 0x9b, 0xdf, 0xba, 0x09, 0x43,
-  0xc2, 0x1a, 0xaf, 0x1b, 0x36, 0x25, 0x6f, 0x6e, 0x0e, 0xfd, 0x67, 0x36,
-  0x45, 0xc3, 0x9f, 0x76, 0x8c, 0x13, 0x46, 0x7b, 0x8a, 0x99, 0x26, 0xe3,
-  0xdd, 0x56, 0xaf, 0xbd, 0x57, 0x27, 0x67, 0xef, 0x81, 0xb0, 0x45, 0xa0,
-  0xcd, 0x45, 0xcd, 0x59, 0x0a, 0xf4, 0x33, 0x4a, 0x60, 0x87, 0x50, 0x20,
-  0xa8, 0x44, 0xc2, 0x4b, 0x0e, 0xcb, 0xab, 0x81, 0x4b, 0x0f, 0xf3, 0x21,
-  0x66, 0x5f, 0x71, 0x7a, 0x5b, 0x91, 0x78, 0x05, 0x8e, 0xcc, 0xe0, 0xd5,
-  0xbe, 0xe8, 0x2e, 0xc7, 0x7c, 0xd5, 0x7d, 0x5b, 0x01, 0xde, 0x6d, 0x21,
-  0x52, 0xfb, 0x5d, 0x0b, 0x32, 0x56, 0x2a, 0xa2, 0x58, 0xc0, 0xcf, 0x9b,
-  0xcc, 0x42, 0x99, 0x89, 0x5d, 0x67, 0x61, 0x18, 0xb5, 0x79, 0x0e, 0x27,
-  0x69, 0x00, 0xb8, 0x42, 0xeb, 0xe3, 0xeb, 0xcd, 0x88, 0x06, 0x66, 0x63,
-  0x8b, 0x55, 0xd1, 0x06, 0xf3, 0xb2, 0xdb, 0x1d, 0x35, 0x42, 0xbb, 0xf3,
-  0xda, 0x5c, 0x17, 0xa6, 0x53, 0xa5, 0x9e, 0x3d, 0x1b, 0x0e, 0xf8, 0xfd,
-  0x80, 0xbf, 0x3a, 0x59, 0x13, 0x87, 0xe8, 0x7c, 0x41, 0x8e, 0x97, 0x95,
-  0x26, 0x7e, 0x82, 0xbe, 0x27, 0xee, 0x2f, 0x46, 0x52, 0xa2, 0x1a, 0xce,
-  0x2c, 0x5d, 0x1a, 0xb5, 0xa0, 0xd0, 0x42, 0x01, 0xf2, 0xfc, 0x52, 0x3e,
-  0x67, 0x77, 0xc2, 0xeb, 0x54, 0x38, 0x96, 0x22, 0x69, 0x83, 0x0b, 0x74,
-  0xea, 0x07, 0xf8, 0x33, 0xc4, 0x49, 0xfd, 0xe1, 0x63, 0x35, 0x61, 0x78,
-  0xdd, 0xe2, 0x1e, 0x48, 0xdc, 0x46, 0xbb, 0x0e, 0x32, 0x66, 0x31, 0x0f,
-  0x61, 0x1b, 0x0f, 0x53, 0xd3, 0x9c, 0xab, 0x75, 0xf1, 0xc9, 0x4c, 0x21,
-  0x2c, 0x87, 0xd6, 0x64, 0x5f, 0xc2, 0xdd, 0xe7, 0x6e, 0x9d, 0xf4, 0x17,
-  0x6e, 0xfd, 0x6a, 0x47, 0x20, 0xb8, 0xe4, 0x6b, 0x72, 0xe4, 0x85, 0x1d,
-  0xdf, 0x63, 0xb3, 0x9b, 0xd9, 0xfb, 0x91, 0x36, 0x6e, 0x03, 0xa3, 0xe9,
-  0xec, 0x7a, 0xd2, 0xae, 0xcf, 0xb5, 0xa1, 0x46, 0x4f, 0xa4, 0x48, 0x14,
-  0x5b, 0x01, 0xa4, 0x50, 0x91, 0xa4, 0xa9, 0x5e, 0x01, 0x3b, 0x5c, 0x83,
-  0xec, 0xc9, 0x64, 0xc3, 0x37, 0x81, 0xdd, 0xe2, 0x35, 0xbe, 0x89, 0xcc,
-  0xa4, 0x5d, 0x9b, 0xdf, 0x47, 0x07, 0xac, 0xa4, 0xc0, 0x91, 0x65, 0x88,
-  0xc0, 0x95, 0xf2, 0x4b, 0x26, 0x8a, 0xd5, 0xd9, 0xa8, 0x25, 0xa5, 0xdf,
-  0x13, 0x2f, 0xc2, 0xb7, 0x5c, 0x29, 0x57, 0x56, 0x58, 0x22, 0x5b, 0xd2,
-  0x45, 0x95, 0xd0, 0xce, 0x6f, 0xb8, 0x4b, 0x6e, 0x21, 0xde, 0x46, 0xd9,
-  0x1f, 0x76, 0x36, 0xa9, 0x78, 0x10, 0x37, 0x7c, 0x1f, 0x32, 0xc3, 0xf7,
-  0x6d, 0x5e, 0xe8, 0x56, 0x1a, 0xd4, 0x51, 0x47, 0x6e, 0xf4, 0xbd, 0x3c,
-  0x90, 0x86, 0xa7, 0x04, 0xfb, 0xb3, 0xf7, 0x61, 0x95, 0xb7, 0xb8, 0xff,
-  0x26, 0xa8, 0xcf, 0xbe, 0x8f, 0x0b, 0x5a, 0xd3, 0x5d, 0x7e, 0xd6, 0xe3,
-  0xda, 0xfa, 0xf9, 0x2c, 0xb0, 0x8d, 0x23, 0x18, 0xe1, 0x80, 0x45, 0xc0,
-  0x00, 0x85, 0xee, 0x7e, 0x1d, 0x16, 0x48, 0x9f, 0x94, 0x09, 0xe7, 0xb3,
-  0x28, 0x82, 0x83, 0x3d, 0x59, 0x69, 0x48, 0x29, 0x01, 0x0b, 0x3a, 0x0b,
-  0xc5, 0x8e, 0x39, 0x7e, 0x63, 0x48, 0x8c, 0x54, 0x55, 0x6a, 0x4f, 0xfc,
-  0xe7, 0xbe, 0xa3, 0x45, 0xc7, 0x7b, 0x0d, 0xe9, 0xc2, 0xbc, 0x9f, 0x91,
-  0x31, 0xef, 0xc1, 0x7a, 0x11, 0xce, 0xdf, 0xc8, 0x23, 0x75, 0x0e, 0xb7,
-  0x6b, 0xf3, 0x8b, 0x9e, 0x16, 0x03, 0x19, 0xd0, 0xca, 0x00, 0x68, 0x7b,
-  0xb5, 0x26, 0x00, 0x40, 0x12, 0x77, 0xdc, 0xb0, 0x46, 0x7a, 0x2a, 0x55,
-  0x19, 0xcd, 0xb9, 0x3d, 0xe1, 0x00, 0xa8, 0x8e, 0x9d, 0xd8, 0x75, 0x66,
-  0xae, 0x21, 0xd7, 0x09, 0x4d, 0xaa, 0xf2, 0x53, 0xc6, 0x34, 0x07, 0xc3,
-  0x02, 0xc8, 0x4b, 0xac, 0x47, 0x89, 0x2f, 0xd6, 0x70, 0x39, 0xc6, 0xa3,
-  0xa7, 0x7c, 0x85, 0x20, 0xe8, 0xca, 0xcd, 0xf1, 0x04, 0xb2, 0xc1, 0xf1,
-  0xc2, 0x1c, 0xaf, 0x03, 0x2c, 0x41, 0x21, 0xe4, 0xf9, 0xb8, 0xa6, 0x04,
-  0xf4, 0x16, 0xbf, 0xf7, 0x96, 0x0e, 0x88, 0x9c, 0x37, 0x5c, 0x7d, 0xff,
-  0xe6, 0x8b, 0x83, 0xa6, 0xff, 0xde, 0xdb, 0x53, 0xf7, 0xef, 0x7d, 0xe4,
-  0x44, 0x1f, 0xde, 0xf3, 0xce, 0xd0, 0x12, 0x1c, 0x60, 0xc9, 0x4b, 0x43,
-  0x54, 0xec, 0x0a, 0xa3, 0x50, 0x56, 0xd7, 0xcb, 0x85, 0xde, 0x8d, 0x43,
-  0xb5, 0x38, 0x66, 0x9c, 0xc6, 0x03, 0x6b, 0x8d, 0xb4, 0x70, 0xae, 0x6a,
-  0x98, 0xb9, 0x5e, 0xaa, 0x82, 0xdd, 0x3e, 0x60, 0x15, 0xc9, 0x50, 0x4c,
-  0xe4, 0x8a, 0x3b, 0xff, 0x0d, 0xd7, 0xc0, 0x42, 0x07, 0xa7, 0xe3, 0x01,
-  0x68, 0x4f, 0x5e, 0x3b, 0x25, 0xf3, 0xdf, 0x29, 0x0d, 0xd8, 0x68, 0xb4,
-  0x0d, 0xe5, 0x81, 0xe1, 0x5b, 0x81, 0xca, 0xc9, 0x7d, 0xcc, 0x6c, 0x9d,
-  0x08, 0x17, 0x79, 0x5b, 0x4c, 0x1a, 0x42, 0x3e, 0xf6, 0x35, 0x03, 0x06,
-  0x96, 0x4f, 0x8e, 0xc8, 0x5a, 0x89, 0x18, 0x82, 0xec, 0xb0, 0xc8, 0x6d,
-  0x95, 0x5d, 0x2e, 0xb8, 0xd4, 0x9c, 0xb4, 0x25, 0x86, 0x75, 0xaa, 0xd9,
-  0x58, 0xbc, 0x78, 0x1f, 0x2b, 0x2f, 0x82, 0xb5, 0xce, 0x09, 0x4f, 0x62,
-  0x9d, 0xe9, 0x0f, 0x6c, 0x03, 0xb3, 0x56, 0xb6, 0x0c, 0x1b, 0x28, 0x62,
-  0xb1, 0x46, 0xba, 0x90, 0x61, 0x2a, 0x89, 0xf7, 0x98, 0xff, 0xca, 0x8b,
-  0xcf, 0xf7, 0x07, 0x62, 0xd3, 0x50, 0x94, 0xcb, 0x7f, 0x86, 0x5c, 0x53,
-  0x11, 0x2d, 0x82, 0x1e, 0x33, 0x3f, 0xb5, 0x4f, 0x86, 0x1c, 0x50, 0x50,
-  0x33, 0x9f, 0x3c, 0xa2, 0x50, 0x77, 0xdc, 0x95, 0xc4, 0xec, 0xce, 0x77,
-  0x1e, 0x58, 0xef, 0x41, 0x1d, 0xc5, 0xdf, 0x9d, 0x79, 0x92, 0x47, 0x4e,
-  0xe3, 0x58, 0xc2, 0xa4, 0xdb, 0xe8, 0x75, 0x16, 0x75, 0x44, 0xcc, 0xf2,
-  0x3a, 0xe2, 0xbb, 0xe0, 0x04, 0x36, 0x21, 0x38, 0xdb, 0x82, 0x0e, 0x0d,
-  0x78, 0x98, 0xb4, 0x71, 0x8a, 0xe6, 0xc2, 0x6c, 0xa1, 0x7f, 0x86, 0xce,
-  0xda, 0xec, 0xfe, 0xc6, 0x7b, 0xf2, 0x7c, 0xf4, 0xb8, 0x75, 0x4f, 0x9a,
-  0xc5, 0x72, 0x78, 0x33, 0xb9, 0x27, 0xe4, 0x71, 0x71, 0xf2, 0x0e, 0x29,
-  0x1f, 0xca, 0x6e, 0xd0, 0x04, 0x42, 0xbd, 0xcf, 0xe4, 0xd7, 0x61, 0x17,
-  0x21, 0x61, 0xfa, 0x62, 0x22, 0x0f, 0xc9, 0xac, 0xb5, 0x35, 0xa3, 0x62,
-  0xee, 0x2b, 0xe4, 0x9d, 0x19, 0x92, 0xdd, 0xd8, 0xab, 0xd5, 0x22, 0x8f,
-  0x16, 0xf6, 0x68, 0x66, 0x6d, 0x76, 0x9b, 0x4d, 0xd7, 0x08, 0x4f, 0x93,
-  0x72, 0x48, 0x18, 0x52, 0x9b, 0xfd, 0xe6, 0x9e, 0xaf, 0x5c, 0xbc, 0xe3,
-  0xe6, 0x07, 0xdd, 0xcd, 0xe8, 0xae, 0x9d, 0x17, 0x1f, 0x38, 0xcd, 0xb8,
-  0xbe, 0x3d, 0xf6, 0xbb, 0x20, 0x44, 0x8c, 0x7c, 0x7e, 0x12, 0x88, 0x86,
-  0xa4, 0xf2, 0xcb, 0x82, 0x55, 0x8e, 0x77, 0xf9, 0xb4, 0x2a, 0xeb, 0x72,
-  0xce, 0x99, 0x6a, 0x9e, 0x79, 0x74, 0x7c, 0x3c, 0x4e, 0x6e, 0xb2, 0x89,
-  0x96, 0xc4, 0x8e, 0x42, 0x1f, 0x32, 0x78, 0x08, 0x05, 0x46, 0xaa, 0x3c,
-  0x6b, 0x68, 0xcb, 0x34, 0x14, 0x4a, 0x10, 0x51, 0x68, 0x89, 0x25, 0x00,
-  0x2a, 0x50, 0xdf, 0xa9, 0xab, 0xe0, 0x82, 0x05, 0xd3, 0x2a, 0x2b, 0x23,
-  0xf1, 0x70, 0x9e, 0x80, 0x8a, 0x15, 0xa6, 0x13, 0xc8, 0xf0, 0x49, 0x2a,
-  0x0d, 0x9b, 0xd8, 0x33, 0x60, 0xd8, 0x0e, 0x69, 0x28, 0xe2, 0x51, 0xf9,
-  0x44, 0xae, 0xb2, 0xa0, 0x56, 0x65, 0x92, 0x51, 0x8b, 0x43, 0x8a, 0xf2,
-  0xb7, 0x9d, 0x76, 0xc5, 0xac, 0xac, 0x90, 0x81, 0xe4, 0xb5, 0x52, 0x41,
-  0xd3, 0xc1, 0x75, 0x85, 0xa2, 0x2b, 0xc0, 0x97, 0x86, 0xfc, 0xf4, 0xe6,
-  0x8a, 0xc3, 0xb5, 0x7a, 0x0a, 0x24, 0x9c, 0x50, 0x65, 0xcb, 0xa5, 0x3d,
-  0x02, 0xd8, 0x4f, 0xf3, 0x77, 0xe2, 0xc6, 0x3b, 0x8d, 0x28, 0xd4, 0xa1,
-  0x9c, 0x87, 0x2b, 0x29, 0x95, 0x1c, 0x85, 0x37, 0xf9, 0x65, 0x4f, 0x67,
-  0x4d, 0x0b, 0xee, 0x00, 0xe1, 0x84, 0x1b, 0x8b, 0xd9, 0x88, 0xc8, 0xac,
-  0xf8, 0x8e, 0x26, 0x41, 0xbb, 0x58, 0x54, 0x3d, 0x85, 0x0e, 0xd8, 0x1e,
-  0xea, 0xeb, 0xc3, 0xc4, 0xf0, 0xf4, 0xc6, 0x4e, 0x3c, 0x09, 0x92, 0xa5,
-  0xb1, 0xfd, 0xfe, 0x48, 0x81, 0xf9, 0x89, 0xa1, 0xa4, 0xf6, 0x54, 0xec,
-  0x0d, 0xf0, 0x50, 0xc7, 0x5b, 0x5a, 0x9f, 0x6a, 0x79, 0x01, 0x00, 0x85,
-  0xe7, 0x2a, 0x88, 0x2b, 0x7d, 0x7d, 0x50, 0xd2, 0x88, 0x64, 0x45, 0xf2,
-  0x51, 0xbc, 0x60, 0xac, 0xed, 0x28, 0x4f, 0xc7, 0xd3, 0x8e, 0x74, 0xf9,
-  0x57, 0xb7, 0xa4, 0x1f, 0x1c, 0x0e, 0x27, 0x59, 0x4a, 0xcd, 0x5d, 0x5e,
-  0x36, 0xa4, 0x30, 0xc5, 0x2b, 0x53, 0x7a, 0x0a, 0x53, 0xfe, 0xcc, 0x6f,
-  0x5e, 0x40, 0xd3, 0xa2, 0xa3, 0x3d, 0x7d, 0xf5, 0xe1, 0xe2, 0xeb, 0x24,
-  0x39, 0x24, 0x60, 0xf9, 0x87, 0x54, 0xa6, 0x80, 0x23, 0xb4, 0x46, 0xd1,
-  0x5b, 0x8d, 0x1e, 0xb1, 0xc5, 0xdf, 0xd6, 0x45, 0xbb, 0x77, 0x44, 0xcc,
-  0x37, 0x0f, 0xf9, 0x29, 0xa2, 0x97, 0xcb, 0xa4, 0x5b, 0x99, 0xd5, 0xda,
-  0x59, 0x88, 0x4f, 0x64, 0x38, 0xe4, 0xea, 0x39, 0x73, 0xb5, 0xef, 0x09,
-  0x63, 0xd6, 0x71, 0x78, 0x0e, 0x99, 0xad, 0x4c, 0x57, 0xf1, 0x83, 0x34,
-  0x5e, 0x8a, 0x56, 0x2e, 0xe4, 0xe0, 0x6f, 0xba, 0x9d, 0x41, 0xcf, 0xdf,
-  0xbe, 0xee, 0x0c, 0xf7, 0xf4, 0xd9, 0x93, 0xfd, 0x5f, 0x31, 0x49, 0xaf,
-  0x24, 0xef, 0x88, 0x78, 0x11, 0xa2, 0xa8, 0x39, 0xdf, 0x55, 0x54, 0xb6,
-  0xaa, 0x7e, 0x86, 0x52, 0x1e, 0xf2, 0xcb, 0xea, 0xeb, 0x66, 0x46, 0xd9,
-  0x5a, 0x16, 0x75, 0xa3, 0x52, 0x75, 0xff, 0xbf, 0xfe, 0x19, 0x96, 0xd5,
-  0xfe, 0xf5, 0x47, 0xf6, 0x13, 0xcf, 0xd1, 0x4f, 0xcf, 0x25, 0xfa, 0x2b,
-  0x9b, 0xa9, 0x9d, 0x44, 0xa6, 0x1b, 0xbd, 0xfd, 0xbb, 0x6d, 0xdb, 0xf5,
-  0x06, 0x3a, 0x7f, 0xb4, 0x28, 0x5b, 0x85, 0xa7, 0xcc, 0x4d, 0x0f, 0x16,
-  0xa0, 0xe4, 0xa9, 0xa7, 0x0e, 0x28, 0x34, 0x95, 0x6d, 0x0a, 0x36, 0xeb,
-  0xeb, 0x59, 0xa5, 0xcd, 0x5b, 0x04, 0xbe, 0x4b, 0xdd, 0xe4, 0xe4, 0xce,
-  0xe6, 0xdc, 0x2a, 0xcc, 0x9f, 0x54, 0x51, 0x94, 0x2f, 0xe7, 0x45, 0x8f,
-  0xef, 0x52, 0x12, 0x88, 0xfe, 0xcb, 0x9c, 0xc0, 0xa0, 0xb9, 0x29, 0xff,
-  0xd9, 0xf6, 0x63, 0x1a, 0x0d, 0x83, 0x66, 0xfc, 0xf1, 0x77, 0x07, 0x54,
-  0x11, 0xb4, 0xd5, 0x1d, 0xc2, 0x7c, 0x74, 0x8d, 0xd2, 0x23, 0x3e, 0x55,
-  0xab, 0x20, 0x6d, 0x02, 0xe7, 0xd5, 0x0f, 0x52, 0xb1, 0xf1, 0x80, 0xf4,
-  0xc6, 0x7f, 0x8e, 0xe8, 0xbf, 0x7f, 0x3d, 0x18, 0x3e, 0xf9, 0xd1, 0x7e,
-  0xf4, 0x77, 0x07, 0x1f, 0x7f, 0x77, 0xb8, 0x15, 0x2d, 0xab, 0x73, 0xb5,
-  0xff, 0x5e, 0x86, 0x22, 0xa9, 0xb3, 0xc5, 0x9d, 0x94, 0x69, 0x48, 0x84,
-  0xd1, 0xb5, 0xd9, 0x43, 0xd3, 0xde, 0x10, 0x1f, 0x89, 0xfc, 0x56, 0x1d,
-  0x4d, 0x55, 0xfb, 0xec, 0x29, 0x73, 0xb8, 0x29, 0xf9, 0x65, 0xf1, 0xa9,
-  0x70, 0xfd, 0x9f, 0xd6, 0x0f, 0x04, 0xbc, 0x90, 0xa0, 0x98, 0x7c, 0xda,
-  0x20, 0xb4, 0x14, 0x85, 0xd8, 0x08, 0x77, 0x43, 0xd2, 0xa2, 0x8c, 0x34,
-  0x4b, 0x93, 0xce, 0xa6, 0x4f, 0x26, 0xf6, 0x27, 0x45, 0x16, 0x14, 0x62,
-  0xa5, 0x8c, 0x11, 0x95, 0x09, 0xd8, 0x5d, 0x62, 0xb9, 0x82, 0x79, 0xd3,
-  0x86, 0xad, 0x25, 0x9a, 0x85, 0xd9, 0xbb, 0x76, 0xcd, 0xd4, 0x35, 0xb8,
-  0xcb, 0x2d, 0xfe, 0xb6, 0xd6, 0x5e, 0xda, 0x4e, 0xa0, 0x98, 0x91, 0xf2,
-  0xda, 0xc5, 0x5e, 0xf0, 0x33, 0x89, 0xbb, 0xa0, 0xbe, 0x1f, 0x32, 0xae,
-  0x2e, 0x63, 0x91, 0xbc, 0x74, 0x42, 0x4d, 0xf0, 0x5a, 0x3d, 0x85, 0x6c,
-  0x83, 0x98, 0x89, 0x43, 0x9b, 0x4a, 0xeb, 0x9e, 0x0d, 0xf1, 0xb7, 0xc2,
-  0xdb, 0x04, 0xd9, 0x28, 0x6c, 0xce, 0x06, 0xa7, 0x2e, 0x17, 0xc5, 0x52,
-  0xf6, 0x68, 0x93, 0x0d, 0xbd, 0xaa, 0x58, 0x54, 0xe1, 0xe2, 0xa7, 0x5e,
-  0x86, 0x9b, 0x84, 0xf5, 0x86, 0x41, 0x2c, 0xd2, 0x10, 0xd1, 0xec, 0xce,
-  0x70, 0x42, 0x06, 0x76, 0xb5, 0x38, 0x91, 0xea, 0x21, 0x10, 0x5e, 0x63,
-  0xe8, 0x6c, 0x7b, 0xb8, 0x9d, 0xec, 0xa0, 0x72, 0x1e, 0x66, 0x5d, 0x32,
-  0x4b, 0xeb, 0xab, 0xdd, 0x98, 0x17, 0xd2, 0x39, 0xfe, 0x1c, 0xa3, 0x9a,
-  0x88, 0xeb, 0x81, 0x24, 0x26, 0x73, 0xa8, 0x4d, 0xde, 0xea, 0x53, 0x06,
-  0xd5, 0xa0, 0x24, 0xc1, 0xa1, 0x8d, 0x24, 0xb7, 0x7e, 0x32, 0x24, 0x63,
-  0x11, 0x3f, 0xfd, 0x4f, 0x7e, 0x36, 0x88, 0x63, 0xd0, 0x93, 0x9c, 0xe5,
-  0x35, 0xe4, 0x02, 0x28, 0x27, 0x44, 0x29, 0x7e, 0x97, 0xbc, 0x5c, 0x5d,
-  0x55, 0x46, 0xf3, 0x0b, 0xeb, 0xac, 0xc6, 0x5f, 0x27, 0x8c, 0xa3, 0x69,
-  0x9e, 0xe2, 0x67, 0x2c, 0x71, 0x78, 0x50, 0x83, 0xbf, 0x22, 0x3e, 0x1e,
-  0x25, 0x90, 0x0c, 0xd3, 0x7a, 0x18, 0x68, 0x39, 0x17, 0x7e, 0x36, 0x2d,
-  0xe9, 0x9c, 0x64, 0x88, 0x50, 0xe2, 0x22, 0xc5, 0xd3, 0x8a, 0x29, 0x5a,
-  0x81, 0x27, 0x7b, 0xa3, 0xd1, 0x1e, 0x31, 0xab, 0x3d, 0xf3, 0x87, 0x06,
-  0xef, 0x05, 0xa1, 0xaa, 0xdb, 0x30, 0x8b, 0xc2, 0x81, 0xf4, 0x31, 0x00,
-  0x65, 0x48, 0x7b, 0x49, 0xaf, 0x05, 0xd1, 0xdf, 0xd7, 0x48, 0x3e, 0xad,
-  0x8c, 0x2e, 0x59, 0x71, 0x15, 0xef, 0xb2, 0x25, 0x1f, 0x83, 0x36, 0x55,
-  0xec, 0x52, 0xaf, 0x05, 0x2f, 0xa2, 0xd3, 0x7a, 0x8d, 0x4c, 0x3a, 0x78,
-  0x5e, 0x68, 0x11, 0x79, 0xa3, 0x28, 0x5d, 0xa8, 0x9f, 0x4e, 0x37, 0xda,
-  0x72, 0x8f, 0x0f, 0xdb, 0x3e, 0x8f, 0x55, 0x5e, 0x18, 0xeb, 0xc2, 0x68,
-  0xc5, 0x00, 0xf7, 0xa4, 0xec, 0xbb, 0xb0, 0x7e, 0x87, 0x1d, 0x69, 0xed,
-  0xb8, 0x2b, 0x3b, 0x92, 0x99, 0xb7, 0x59, 0x6d, 0x43, 0xb5, 0x6b, 0x46,
-  0x37, 0xe5, 0x08, 0xfe, 0x4e, 0x20, 0x28, 0xf9, 0x23, 0xbb, 0x2c, 0x2d,
-  0x25, 0x3f, 0x17, 0x04, 0x91, 0xd9, 0x66, 0x1b, 0xa2, 0xc7, 0xa4, 0x9c,
-  0xff, 0x03, 0xc5, 0x1d, 0xa3, 0xc5, 0x3c, 0x1e, 0xd6, 0xdd, 0x60, 0x9d,
-  0x24, 0xae, 0x29, 0x17, 0xad, 0x99, 0xf0, 0x51, 0xcd, 0xbe, 0xbf, 0x39,
-  0x3a, 0x17, 0xd5, 0x04, 0xce, 0x07, 0xd7, 0x4f, 0x35, 0x6c, 0x37, 0x4c,
-  0x46, 0xcc, 0xd3, 0xc7, 0xb6, 0xc1, 0x79, 0x7d, 0x95, 0x1e, 0x3e, 0x79,
-  0x2a, 0xd3, 0x56, 0xb4, 0x2c, 0xc8, 0xec, 0x6d, 0xfe, 0xd5, 0xde, 0x1e,
-  0x07, 0xca, 0xc9, 0x2c, 0x0d, 0x78, 0x42, 0x2a, 0x6d, 0xda, 0xb7, 0xff,
-  0xb8, 0x1d, 0x4d, 0x91, 0x53, 0xa5, 0x95, 0x4d, 0x77, 0x72, 0x3b, 0x23,
-  0x8d, 0xcf, 0x6f, 0xca, 0x30, 0xe8, 0x36, 0xe9, 0x41, 0xd9, 0x4a, 0xa0,
-  0x31, 0xf8, 0xfd, 0x0a, 0xb4, 0xab, 0x31, 0x37, 0x72, 0x6c, 0xea, 0x44,
-  0x2b, 0x51, 0x09, 0xb9, 0xd3, 0xdf, 0x9f, 0x9a, 0x7b, 0xc9, 0x4e, 0x43,
-  0x10, 0x13, 0x49, 0x77, 0xa3, 0xd3, 0xf0, 0x06, 0x96, 0xbc, 0x4f, 0x02,
-  0xbe, 0x26, 0x58, 0x3f, 0x22, 0x3c, 0x8d, 0xb7, 0xb0, 0x37, 0x06, 0x33,
-  0x35, 0x5f, 0x08, 0x32, 0x14, 0x94, 0x2e, 0x2c, 0xd0, 0x26, 0x8c, 0x79,
-  0x2f, 0x31, 0xd0, 0xdd, 0x16, 0x23, 0x0a, 0xaa, 0xa6, 0x83, 0x41, 0x13,
-  0x58, 0x8d, 0xc0, 0x75, 0x56, 0xf8, 0x14, 0x24, 0x86, 0x4d, 0xb3, 0x9c,
-  0x81, 0x97, 0xcc, 0xd9, 0x52, 0xc4, 0x27, 0xb8, 0x07, 0x86, 0x14, 0xf6,
-  0x88, 0x0e, 0xc4, 0xce, 0x08, 0x1a, 0x28, 0x90, 0x7f, 0xf9, 0xf9, 0x68,
-  0xff, 0x85, 0x42, 0xb2, 0x0e, 0x92, 0xaf, 0x8a, 0x35, 0x1d, 0x09, 0xad,
-  0xfa, 0xab, 0xf1, 0x37, 0x41, 0x71, 0x15, 0xbd, 0xf1, 0xf8, 0x11, 0xbd,
-  0xf1, 0x7e, 0xcc, 0x4f, 0xdd, 0x94, 0x8b, 0xb9, 0x79, 0x33, 0xf6, 0xdc,
-  0x33, 0x7a, 0xce, 0x50, 0xdc, 0xac, 0x59, 0xd4, 0x4a, 0x54, 0x1b, 0x66,
-  0xf2, 0xf8, 0x71, 0x64, 0x26, 0x83, 0x9f, 0xfc, 0xa1, 0x53, 0xb8, 0xe8,
-  0x88, 0xa0, 0x26, 0xe9, 0xf4, 0x13, 0x28, 0x07, 0x69, 0xe7, 0x16, 0x60,
-  0xf8, 0xd7, 0x64, 0xbe, 0x0c, 0x14, 0xf0, 0x90, 0x3e, 0x46, 0x15, 0x70,
-  0xd2, 0x1a, 0xd4, 0x9f, 0x3f, 0x3b, 0x7c, 0x74, 0xb0, 0xf7, 0x74, 0xf4,
-  0x78, 0x74, 0x68, 0xd3, 0xc0, 0x0c, 0x1d, 0x5c, 0x53, 0xd7, 0x0c, 0x8a,
-  0xba, 0x47, 0x5c, 0xd5, 0x48, 0x80, 0xc8, 0x0b, 0x33, 0x8e, 0x07, 0x8b,
-  0x20, 0xe8, 0xe6, 0x2e, 0x01, 0x84, 0x40, 0x10, 0x0e, 0xfc, 0x7a, 0xa2,
-  0x51, 0xa4, 0x41, 0x20, 0x61, 0x2b, 0xd0, 0x24, 0xc4, 0x2d, 0x61, 0x4c,
-  0x75, 0xda, 0x81, 0x49, 0x6e, 0xac, 0xdb, 0xa6, 0x5c, 0xc3, 0xfb, 0x4d,
-  0xae, 0x16, 0xc5, 0x58, 0x17, 0x75, 0x46, 0x3a, 0x51, 0x97, 0x59, 0xac,
-  0xa3, 0x9f, 0xcc, 0x9e, 0x13, 0x6e, 0x39, 0x8a, 0x6e, 0xbb, 0xb9, 0x93,
-  0xdf, 0x94, 0xd8, 0x17, 0x37, 0x38, 0x31, 0x96, 0x47, 0x31, 0xa5, 0x3e,
-  0x5b, 0xc6, 0x2a, 0xb8, 0x26, 0x17, 0x6f, 0xac, 0x3f, 0xb8, 0x14, 0x18,
-  0xaa, 0x8b, 0x5e, 0x52, 0x11, 0x1c, 0x10, 0xba, 0xfc, 0x80, 0x8b, 0x1b,
-  0xb4, 0xb0, 0x94, 0xeb, 0xa8, 0x02, 0xee, 0xa4, 0xfb, 0x10, 0xf4, 0x31,
-  0x17, 0x1c, 0x71, 0xaa, 0x30, 0x62, 0x6f, 0x34, 0x83, 0xbf, 0xd1, 0x36,
-  0xba, 0x4a, 0xb1, 0x98, 0xb3, 0x64, 0x93, 0x33, 0x2d, 0x8a, 0x16, 0xc1,
-  0xff, 0x3a, 0x19, 0x24, 0xad, 0xa6, 0x9e, 0x1b, 0x1a, 0xb1, 0x75, 0xfb,
-  0x1e, 0xca, 0xa8, 0x3f, 0x9b, 0xca, 0x1e, 0xfd, 0xf2, 0x54, 0x76, 0xf8,
-  0x50, 0x2a, 0xf3, 0xc8, 0x8c, 0x9d, 0x36, 0x1b, 0x08, 0x8d, 0x1a, 0x25,
-  0xd2, 0x3a, 0x7a, 0xa8, 0xcc, 0x23, 0x32, 0x17, 0x9e, 0x6c, 0x91, 0x58,
-  0x9b, 0xc6, 0x1c, 0x91, 0xf5, 0x51, 0x19, 0x83, 0x59, 0x28, 0x9d, 0xdd,
-  0x43, 0x68, 0xec, 0x13, 0xdb, 0x4c, 0x65, 0x17, 0x6d, 0xbe, 0xb2, 0x81,
-  0xc6, 0x7c, 0x82, 0x78, 0x30, 0x95, 0x39, 0x07, 0x15, 0xf3, 0x9d, 0xa4,
-  0x87, 0xd0, 0x7c, 0x3a, 0x53, 0xd5, 0x28, 0xa4, 0xb2, 0xe7, 0x31, 0x2a,
-  0x7b, 0xf4, 0x10, 0x2a, 0x33, 0xe7, 0xb9, 0x20, 0x59, 0xd9, 0xa2, 0xb2,
-  0xc7, 0x3f, 0x89, 0xca, 0x98, 0xcc, 0x40, 0x67, 0xbd, 0x84, 0x46, 0x4b,
-  0x6a, 0x17, 0x47, 0xbe, 0xfa, 0x57, 0xb9, 0x45, 0xda, 0x1a, 0x34, 0x28,
-  0x19, 0xfc, 0x69, 0x67, 0xd8, 0xd9, 0xea, 0x07, 0x9c, 0xd8, 0x61, 0xfb,
-  0xc4, 0x0e, 0x7e, 0xda, 0x89, 0x1d, 0x76, 0xc2, 0x79, 0x46, 0x53, 0x63,
-  0x2f, 0xeb, 0x5f, 0xd5, 0xd9, 0xfd, 0x62, 0x6f, 0xef, 0x47, 0xf8, 0x0c,
-  0x5e, 0x90, 0xec, 0xfb, 0x31, 0xe8, 0x79, 0x9b, 0x75, 0xca, 0x0a, 0xc7,
-  0xa7, 0xaf, 0xbf, 0x19, 0x8b, 0xab, 0x56, 0x14, 0x0e, 0x55, 0x48, 0xd8,
-  0xa9, 0x05, 0x28, 0x4e, 0xee, 0x59, 0x16, 0xa8, 0xb9, 0xdc, 0x2b, 0x31,
-  0x19, 0xde, 0x0e, 0xac, 0xcf, 0x94, 0x8a, 0xd5, 0x8a, 0x44, 0xaf, 0x0a,
-  0x80, 0xcd, 0x18, 0x5e, 0x09, 0x76, 0xb2, 0x0c, 0xdd, 0x83, 0x5f, 0xe5,
-  0xcf, 0x45, 0x8c, 0xf4, 0xc2, 0xbd, 0xb2, 0xd3, 0x5c, 0x55, 0x28, 0x62,
-  0xc0, 0x63, 0xa2, 0x5b, 0x7b, 0x1d, 0xd5, 0x7a, 0x66, 0x27, 0xb3, 0xfa,
-  0x1a, 0xe0, 0xaf, 0xab, 0x2a, 0xeb, 0xe9, 0x33, 0x7d, 0x71, 0xe5, 0xfd,
-  0x56, 0x3d, 0x47, 0x31, 0x90, 0x03, 0x01, 0x33, 0xf3, 0xf6, 0x9b, 0xde,
-  0x0b, 0x52, 0xc6, 0xf2, 0x5b, 0x1f, 0x52, 0x85, 0xa8, 0x00, 0x4d, 0x46,
-  0x1b, 0xed, 0xca, 0x71, 0x7b, 0xe7, 0xba, 0x42, 0x72, 0xbe, 0x4e, 0xc6,
-  0x8d, 0x2f, 0xea, 0xc7, 0x66, 0xc8, 0xae, 0x1f, 0x82, 0x7f, 0x91, 0xd2,
-  0x6f, 0xe4, 0x1f, 0x4f, 0xe8, 0xc3, 0xf0, 0x71, 0xf2, 0x3f, 0xaf, 0xf0,
-  0x6f, 0xfa, 0xa4, 0x22, 0x26, 0x79, 0xe7, 0x3c, 0x8d, 0x6e, 0xb4, 0xb2,
-  0x52, 0x36, 0xb7, 0xb9, 0x92, 0xff, 0x7d, 0xe9, 0x2a, 0xc8, 0xfc, 0x35,
-  0x93, 0xeb, 0x0d, 0xc5, 0x90, 0xb1, 0xb2, 0x03, 0x8f, 0x11, 0x63, 0xe4,
-  0xc7, 0x3d, 0xee, 0xfb, 0x2c, 0xf1, 0x61, 0x15, 0xb5, 0x4e, 0xde, 0x6f,
-  0x96, 0xe5, 0x22, 0x84, 0x72, 0x04, 0x03, 0x46, 0xd8, 0x0c, 0x13, 0x5a,
-  0xa9, 0x11, 0x84, 0xcc, 0xfc, 0x60, 0xff, 0xf3, 0xd0, 0xc9, 0xfa, 0x41,
-  0x2b, 0xb8, 0x1c, 0xb2, 0x20, 0xd2, 0x00, 0x90, 0x4b, 0x3d, 0x71, 0x75,
-  0x0b, 0xb1, 0x8f, 0x46, 0x8a, 0xbc, 0x60, 0xfb, 0xce, 0x32, 0xb6, 0x96,
-  0x26, 0x6c, 0xf6, 0x86, 0x49, 0xb4, 0x28, 0x5a, 0xad, 0x21, 0xd7, 0x04,
-  0x12, 0x57, 0x62, 0xd9, 0x01, 0x7f, 0x47, 0x7b, 0x6d, 0x09, 0xb1, 0x7c,
-  0xe9, 0x70, 0xcb, 0x7e, 0xff, 0x78, 0x9f, 0xce, 0x54, 0x07, 0xa1, 0x66,
-  0x30, 0x0b, 0x75, 0x8d, 0xff, 0xfe, 0x51, 0x3a, 0xfa, 0x0d, 0x71, 0x87,
-  0x9e, 0xb4, 0xad, 0xe8, 0xdf, 0x0d, 0xf8, 0x86, 0x5f, 0x12, 0x38, 0xca,
-  0x70, 0x92, 0x56, 0x91, 0x7a, 0x01, 0x91, 0xdd, 0x8a, 0xa9, 0xa1, 0x88,
-  0x14, 0xfa, 0x16, 0xb7, 0x42, 0x90, 0x1c, 0x70, 0xfb, 0x43, 0x33, 0x54,
-  0x12, 0x76, 0x57, 0xb0, 0xfe, 0x69, 0xbf, 0xb9, 0xea, 0x80, 0x91, 0xa0,
-  0x3c, 0x20, 0xa8, 0x74, 0x31, 0xa0, 0xc8, 0x55, 0x04, 0x2e, 0x88, 0x95,
-  0x3d, 0xfb, 0x15, 0x7c, 0x66, 0x56, 0xa5, 0x37, 0x9e, 0x0d, 0xcd, 0x58,
-  0xec, 0x73, 0xb8, 0xa9, 0x6d, 0xca, 0x81, 0xf9, 0x3d, 0x45, 0x20, 0x63,
-  0xda, 0x47, 0x3d, 0xad, 0xa8, 0x6d, 0x8e, 0x74, 0x07, 0xc0, 0x48, 0x2b,
-  0x42, 0xc3, 0x33, 0x9a, 0xc7, 0x65, 0xa6, 0x95, 0x82, 0x76, 0xd5, 0x0a,
-  0x05, 0x01, 0xfc, 0x87, 0x51, 0x2c, 0x09, 0xd7, 0x65, 0xda, 0xd8, 0x76,
-  0xb7, 0xa4, 0xc4, 0x32, 0x60, 0x04, 0xbd, 0xae, 0x75, 0x9b, 0x16, 0x4c,
-  0x70, 0x45, 0x5d, 0xdb, 0xea, 0xab, 0xbc, 0xdb, 0xca, 0x7c, 0x67, 0xf8,
-  0x45, 0xf9, 0xc5, 0x70, 0x57, 0x48, 0xbc, 0xbc, 0xce, 0x6a, 0x58, 0x42,
-  0x98, 0x2a, 0x45, 0x27, 0xaf, 0xe0, 0x62, 0x11, 0xe1, 0x85, 0xf2, 0x44,
-  0x4a, 0x16, 0x84, 0x36, 0x06, 0x87, 0x78, 0xd0, 0x4e, 0x84, 0x27, 0x56,
-  0x51, 0x68, 0x52, 0xf8, 0x1d, 0xb9, 0x63, 0xcc, 0x5e, 0xcd, 0x39, 0x9f,
-  0x09, 0x25, 0x8c, 0x14, 0xb5, 0x15, 0xdc, 0x60, 0xf6, 0x02, 0x97, 0xab,
-  0xb6, 0x6c, 0xa2, 0x6a, 0x58, 0xe5, 0x0d, 0x2f, 0x95, 0xad, 0xfc, 0xe9,
-  0xde, 0x5c, 0x77, 0xcb, 0x80, 0xe6, 0xe2, 0xc4, 0xa0, 0xcb, 0x87, 0xda,
-  0x07, 0x46, 0x1c, 0x9e, 0x5e, 0x65, 0x4b, 0x69, 0xbb, 0xd2, 0x53, 0x39,
-  0xdc, 0x5b, 0x66, 0xdb, 0x9e, 0x13, 0x27, 0x83, 0xcd, 0x9b, 0xd5, 0x68,
-  0x59, 0xfe, 0xc3, 0xec, 0x71, 0x4a, 0x7d, 0xdc, 0x82, 0x2b, 0x41, 0x25,
-  0x7e, 0x05, 0x1f, 0x0a, 0x83, 0xf6, 0x14, 0xd6, 0xb0, 0x74, 0x2c, 0x5c,
-  0x91, 0xa1, 0x51, 0xe2, 0x9d, 0xbc, 0x36, 0x33, 0x3e, 0xfa, 0xf8, 0xe1,
-  0xfd, 0xf8, 0xc3, 0x59, 0x97, 0xb0, 0xcf, 0x4e, 0xcf, 0x2f, 0x8e, 0xde,
-  0x7c, 0x3c, 0x3b, 0x3f, 0xbd, 0x38, 0x7d, 0x7d, 0x7a, 0x92, 0xec, 0x1c,
-  0xec, 0x6e, 0xac, 0x68, 0xb2, 0x2e, 0x08, 0x0f, 0x1b, 0x4f, 0xe7, 0xcf,
-  0x3c, 0xcb, 0x4e, 0x61, 0x87, 0xd6, 0x13, 0x8e, 0xf6, 0x9d, 0xd0, 0x56,
-  0x0b, 0x6b, 0x18, 0x7e, 0x08, 0x08, 0x37, 0x70, 0xf5, 0x34, 0xb9, 0x5c,
-  0xf3, 0x65, 0x94, 0xd8, 0xb6, 0x96, 0x7b, 0xd4, 0x4d, 0x20, 0x8a, 0xb2,
-  0x4c, 0x22, 0x6c, 0x5e, 0x31, 0xcc, 0x46, 0x77, 0xdc, 0x93, 0xae, 0xce,
-  0x42, 0x67, 0x00, 0x05, 0xcc, 0x51, 0x45, 0x1d, 0x27, 0x0b, 0x4b, 0x17,
-  0x0c, 0xa1, 0x01, 0xdc, 0x65, 0xfb, 0x0a, 0x40, 0xe9, 0x25, 0xe2, 0x51,
-  0x16, 0x56, 0xa5, 0x1b, 0x25, 0x67, 0x61, 0x6f, 0x22, 0x79, 0x63, 0x96,
-  0x15, 0xd2, 0x20, 0x53, 0xe6, 0x81, 0x80, 0x17, 0x3a, 0x6f, 0x70, 0xf8,
-  0xd5, 0x3c, 0x40, 0xbf, 0xf5, 0xf6, 0x0a, 0x25, 0x96, 0x59, 0x10, 0x45,
-  0xe4, 0xb7, 0x19, 0x5d, 0xe2, 0xc6, 0x9b, 0x13, 0x8d, 0x47, 0x4a, 0x19,
-  0xb0, 0xef, 0x22, 0x1c, 0xf6, 0x48, 0xc3, 0x29, 0x8c, 0x8c, 0x81, 0x3b,
-  0x09, 0xfd, 0x45, 0x31, 0x55, 0xc6, 0xfe, 0x5a, 0xee, 0x21, 0x64, 0xde,
-  0x44, 0xf2, 0x6d, 0x0f, 0xe8, 0xec, 0x07, 0x4c, 0xd0, 0x12, 0x45, 0xda,
-  0x90, 0x50, 0xef, 0x12, 0x00, 0x7d, 0x8f, 0x14, 0x26, 0xc4, 0x05, 0x53,
-  0x98, 0xc8, 0xc0, 0x62, 0xbd, 0xbc, 0xed, 0x4c, 0xab, 0xcb, 0x7e, 0x9e,
-  0x8d, 0x9e, 0x3e, 0x19, 0x1d, 0x12, 0x50, 0xc1, 0xe9, 0x82, 0xa2, 0x2e,
-  0xa2, 0x59, 0xc0, 0xbf, 0x8c, 0x0f, 0x08, 0x2a, 0x0b, 0x52, 0xb6, 0xdc,
-  0x5e, 0xc9, 0x88, 0x31, 0x5b, 0x2a, 0xd1, 0x02, 0x4a, 0x15, 0x65, 0x5a,
-  0xcb, 0x2e, 0x6d, 0x54, 0x05, 0xca, 0x97, 0x90, 0x30, 0xcc, 0x77, 0x5e,
-  0xd8, 0xb4, 0x25, 0xca, 0xe3, 0xe9, 0xf2, 0x5a, 0x2a, 0x8b, 0x07, 0xcc,
-  0xe0, 0xeb, 0x33, 0xce, 0x69, 0xb4, 0x65, 0xf1, 0x60, 0xe5, 0xda, 0x26,
-  0x78, 0x9f, 0x22, 0xda, 0xe3, 0x77, 0x7f, 0x96, 0x20, 0x92, 0xf9, 0xdb,
-  0x38, 0x56, 0xee, 0xcd, 0xea, 0xbc, 0x8e, 0x31, 0x4a, 0xfc, 0x00, 0x08,
-  0x2d, 0xcf, 0x4c, 0xef, 0x0f, 0xf4, 0xa7, 0xa6, 0x0d, 0x77, 0x97, 0xdc,
-  0x03, 0xfd, 0x32, 0xf0, 0x2a, 0xd7, 0xcd, 0x7d, 0xad, 0xb3, 0xf8, 0x8a,
-  0x47, 0x9b, 0xd1, 0xaf, 0x0e, 0x83, 0x8b, 0x76, 0xef, 0x15, 0x7b, 0xe8,
-  0x0d, 0xb3, 0xa1, 0x01, 0x95, 0x0e, 0x5d, 0x99, 0x76, 0x66, 0xdf, 0x62,
-  0xb0, 0x0b, 0x2a, 0x99, 0xe1, 0xec, 0xc1, 0x6c, 0x0e, 0xdd, 0x10, 0x75,
-  0x6c, 0x03, 0xfc, 0x12, 0x21, 0x30, 0x9b, 0xe3, 0xc4, 0x27, 0x11, 0x03,
-  0xcc, 0x48, 0xa7, 0xbe, 0xae, 0x6d, 0x81, 0xd3, 0xb6, 0xcd, 0xa6, 0x52,
-  0xc7, 0x1d, 0xa9, 0xa4, 0x5c, 0xdc, 0x01, 0x28, 0x3c, 0xbf, 0xd5, 0x2c,
-  0xe2, 0x7f, 0x64, 0x55, 0x19, 0x86, 0x63, 0xa1, 0x3c, 0x28, 0x80, 0x15,
-  0x99, 0x92, 0x8a, 0xb0, 0xe1, 0x7e, 0x48, 0x5f, 0x0d, 0xee, 0xdc, 0x1f,
-  0xd0, 0xee, 0x95, 0x01, 0x69, 0xb9, 0x35, 0x93, 0x20, 0x2c, 0x00, 0x2c,
-  0x2e, 0xd7, 0x10, 0x9a, 0xc7, 0x03, 0x16, 0x54, 0x77, 0x77, 0xc7, 0x25,
-  0x7b, 0x81, 0x89, 0x09, 0xf5, 0x6f, 0x46, 0xe6, 0x8c, 0xcb, 0x12, 0xd7,
-  0xdb, 0x88, 0xd6, 0x4a, 0x0e, 0x64, 0x4b, 0xf4, 0xb9, 0x90, 0xa7, 0x0f,
-  0x93, 0xe4, 0x4d, 0x56, 0xdc, 0xb5, 0x27, 0x34, 0x00, 0x4e, 0x06, 0xdc,
-  0xc3, 0x79, 0xe3, 0x4a, 0xb9, 0xb5, 0x79, 0xc0, 0xdc, 0x33, 0x38, 0xc2,
-  0x29, 0xb5, 0xe7, 0x1c, 0xe3, 0x5c, 0x5f, 0xd8, 0x6d, 0xd0, 0x14, 0x1b,
-  0x7f, 0x33, 0x76, 0x80, 0xc8, 0xa0, 0x51, 0x40, 0x7c, 0xf2, 0x21, 0xdb,
-  0x00, 0x9c, 0x39, 0x58, 0x75, 0xf5, 0x7a, 0xf2, 0x37, 0x06, 0xf6, 0x4e,
-  0xc8, 0xb3, 0x50, 0xc9, 0x2e, 0x48, 0x5a, 0x9c, 0x39, 0x55, 0xf3, 0x00,
-  0x07, 0xae, 0x88, 0x39, 0x14, 0xb1, 0xe1, 0x10, 0x9c, 0x54, 0x48, 0xed,
-  0x36, 0x85, 0x61, 0x46, 0xd1, 0x5a, 0xa8, 0xac, 0x47, 0x65, 0xd0, 0xfb,
-  0x33, 0x9c, 0x13, 0x4f, 0xe5, 0x74, 0xab, 0x8e, 0xf0, 0xe5, 0xbd, 0xe4,
-  0x1c, 0x3f, 0x9b, 0x71, 0x4a, 0x8f, 0xf7, 0x8e, 0xa5, 0x9c, 0xba, 0x1e,
-  0xfc, 0x81, 0xfe, 0x08, 0xd7, 0xd0, 0x22, 0x59, 0xda, 0x65, 0x65, 0x23,
-  0xf4, 0x38, 0x18, 0x13, 0x5e, 0xef, 0xfb, 0xc0, 0x17, 0x4e, 0x0c, 0x6c,
-  0x1e, 0x1b, 0x5c, 0xec, 0x21, 0x1f, 0xf8, 0x50, 0x28, 0x80, 0x99, 0x52,
-  0xf7, 0xca, 0x22, 0xaa, 0xdf, 0xa4, 0x55, 0x81, 0x8c, 0x72, 0xdf, 0x0e,
-  0x22, 0xdc, 0x8b, 0x95, 0x74, 0x5b, 0x48, 0xe7, 0x94, 0x8c, 0x5b, 0x65,
-  0x0e, 0x00, 0x96, 0x8e, 0x92, 0xe1, 0x6d, 0x04, 0x51, 0x5a, 0x53, 0x43,
-  0x57, 0x65, 0xc3, 0xd8, 0xd6, 0x94, 0xbd, 0x4b, 0x9a, 0x4e, 0x45, 0x0e,
-  0x42, 0x6f, 0x93, 0x55, 0x45, 0xa6, 0xd1, 0xec, 0xe1, 0xc3, 0x8f, 0xb6,
-  0x5e, 0x95, 0x85, 0x4b, 0xfc, 0x97, 0xe0, 0xab, 0xc7, 0xc6, 0xe4, 0x8b,
-  0x9c, 0x82, 0x05, 0xa7, 0x93, 0x85, 0xc1, 0xbe, 0x2e, 0x73, 0x42, 0xb3,
-  0xd1, 0xe1, 0xa0, 0xbd, 0x39, 0x2a, 0xb9, 0x88, 0x77, 0x67, 0x70, 0x79,
-  0x2f, 0x62, 0x5f, 0xb9, 0xb4, 0xe0, 0xb4, 0x6e, 0x55, 0xfb, 0xe4, 0xad,
-  0x04, 0x61, 0x24, 0x48, 0x18, 0x1b, 0x88, 0xd0, 0xd5, 0x0c, 0x4d, 0x16,
-  0x1c, 0xba, 0x12, 0xe3, 0x53, 0x19, 0x2e, 0x4d, 0x0f, 0x29, 0x6b, 0x05,
-  0x59, 0x3d, 0x53, 0x8b, 0x3c, 0xd4, 0x05, 0xb0, 0x6e, 0xb7, 0xb4, 0xb6,
-  0xba, 0x80, 0x4d, 0xe3, 0x74, 0x6a, 0xee, 0xe8, 0x1e, 0x19, 0x71, 0x7b,
-  0xa7, 0x89, 0x63, 0x9b, 0x55, 0xb0, 0x15, 0x4a, 0x79, 0xcd, 0x3e, 0xe7,
-  0x0d, 0x4e, 0xac, 0x93, 0xb8, 0xaa, 0x09, 0x9d, 0xd2, 0xf3, 0x62, 0xb9,
-  0x0e, 0x1b, 0xe6, 0x49, 0xb0, 0xce, 0xe6, 0xe9, 0x30, 0x98, 0x13, 0xb4,
-  0x1f, 0xf1, 0xd2, 0x30, 0xa2, 0x3f, 0x6c, 0x74, 0xe9, 0x72, 0x00, 0xf7,
-  0x13, 0xe2, 0x77, 0x71, 0x3f, 0xe2, 0x9e, 0x45, 0x72, 0x31, 0x04, 0x53,
-  0xcc, 0x86, 0x86, 0x09, 0xac, 0x36, 0xf8, 0xe7, 0x6f, 0x07, 0xba, 0xe8,
-  0x56, 0xc6, 0xab, 0x0f, 0x1d, 0xc1, 0x3f, 0xe1, 0xc4, 0x3a, 0xd9, 0xbb,
-  0x30, 0x63, 0xdc, 0x68, 0x1a, 0x8f, 0x62, 0x3b, 0x19, 0xcb, 0xdc, 0x0b,
-  0x2d, 0x9c, 0x5e, 0x9c, 0x7f, 0x2d, 0xe8, 0xc2, 0x06, 0xea, 0x86, 0xf5,
-  0xa5, 0x39, 0xf1, 0xf6, 0xc9, 0xce, 0x7d, 0xe0, 0x7a, 0x2a, 0x8c, 0x89,
-  0x32, 0xd9, 0x42, 0x72, 0xa5, 0xbd, 0x6f, 0xb1, 0x29, 0x17, 0xec, 0x23,
-  0xb0, 0x95, 0x18, 0x33, 0x9e, 0x9f, 0x13, 0xa1, 0x64, 0x59, 0x5d, 0x30,
-  0x49, 0x39, 0xeb, 0x98, 0x2f, 0x08, 0x7c, 0x12, 0x1f, 0xa2, 0x89, 0xe5,
-  0x1b, 0x51, 0x0b, 0x7a, 0x0e, 0x23, 0x06, 0xd8, 0x31, 0xeb, 0xa4, 0xa1,
-  0xea, 0xcf, 0xb9, 0x73, 0x7b, 0x3c, 0xf9, 0x6d, 0x2c, 0xf7, 0x4d, 0xfb,
-  0xbb, 0x83, 0x4f, 0x6b, 0xe6, 0xa1, 0xe7, 0x1c, 0xe4, 0xc6, 0x43, 0xb7,
-  0xcd, 0x3d, 0xee, 0x5b, 0xf9, 0x1e, 0xc2, 0xf5, 0xda, 0xe7, 0x59, 0x06,
-  0x76, 0xff, 0x74, 0xbf, 0x35, 0xab, 0x8b, 0x31, 0x69, 0x3a, 0xab, 0x7e,
-  0x2f, 0x4b, 0xfb, 0x2b, 0x2f, 0xcd, 0x8d, 0xde, 0xb4, 0x28, 0x3c, 0xf4,
-  0x73, 0x16, 0xe5, 0x18, 0x87, 0xdb, 0x42, 0x99, 0x73, 0xe7, 0x44, 0xf8,
-  0x23, 0x1b, 0x63, 0x55, 0x3d, 0x4b, 0x30, 0x63, 0x6e, 0x68, 0x3d, 0xeb,
-  0x2d, 0xc3, 0x3e, 0xf8, 0x53, 0x57, 0x72, 0xff, 0x36, 0x82, 0x34, 0xe8,
-  0xbf, 0x7f, 0x7d, 0x01, 0x37, 0xe0, 0xec, 0xc7, 0xde, 0x79, 0x1c, 0x0d,
-  0x64, 0x2e, 0xbf, 0xc2, 0x34, 0xf2, 0xd5, 0x15, 0xe9, 0x96, 0x2f, 0x63,
-  0xa5, 0x36, 0xde, 0x46, 0xc8, 0x63, 0xbf, 0xfc, 0xf7, 0xab, 0x85, 0x03,
-  0xb5, 0xd9, 0xf0, 0x7d, 0x79, 0xec, 0x17, 0xff, 0x3e, 0xdf, 0xdd, 0xcd,
-  0xc2, 0xc5, 0x72, 0xc5, 0x37, 0x92, 0xd0, 0xdc, 0xe6, 0x38, 0x4e, 0xaa,
-  0xfc, 0x0c, 0xa6, 0x28, 0x39, 0xd2, 0x21, 0x57, 0x94, 0x6f, 0x45, 0x3b,
-  0x2f, 0xf8, 0x6c, 0xf1, 0x17, 0xe1, 0x60, 0x60, 0xcd, 0xe1, 0xe6, 0x48,
-  0x2b, 0x94, 0x97, 0xfc, 0xe7, 0xde, 0x97, 0xb1, 0x33, 0x52, 0x2c, 0xd4,
-  0x23, 0x12, 0x83, 0xda, 0x3c, 0x05, 0xdd, 0x38, 0x18, 0x2b, 0x40, 0x54,
-  0x5e, 0xdb, 0x49, 0x82, 0x36, 0x4b, 0xb3, 0x46, 0xe8, 0xd5, 0x58, 0xc7,
-  0x16, 0xd9, 0x21, 0x4a, 0x1b, 0x25, 0x0b, 0x4f, 0xe3, 0x14, 0x2e, 0x67,
-  0x88, 0x14, 0x8f, 0xcc, 0xfb, 0x60, 0xdd, 0xd7, 0x7c, 0x8b, 0x8b, 0x81,
-  0xbc, 0xbe, 0x97, 0x0e, 0xb5, 0xf4, 0xeb, 0x81, 0x74, 0x4c, 0x31, 0xc3,
-  0x11, 0x59, 0x49, 0xde, 0xa4, 0xd2, 0x13, 0x8e, 0x33, 0x84, 0x76, 0xe1,
-  0x74, 0x78, 0xd2, 0x4d, 0x17, 0x9c, 0x9e, 0x9b, 0xbc, 0x3e, 0x7d, 0xff,
-  0xfe, 0xe8, 0x75, 0x37, 0x1e, 0x0d, 0xd8, 0x0a, 0x54, 0x20, 0xa0, 0x41,
-  0x8f, 0xa8, 0xfa, 0x41, 0xbf, 0x3e, 0x7c, 0x9d, 0xc1, 0xd8, 0x6d, 0xc8,
-  0x88, 0x67, 0x80, 0x6e, 0x3e, 0xa9, 0x20, 0xb3, 0x72, 0x21, 0x83, 0x87,
-  0xd9, 0xc9, 0x14, 0x10, 0xa9, 0xee, 0x0a, 0xe8, 0xc1, 0xf9, 0x50, 0xe0,
-  0x4c, 0xa3, 0x5e, 0x8e, 0xac, 0x81, 0xc2, 0x7e, 0xd5, 0x19, 0x60, 0xba,
-  0xc6, 0x60, 0xdc, 0x93, 0xf4, 0x65, 0xa9, 0x8b, 0x0b, 0xbb, 0xc6, 0x59,
-  0x5a, 0x66, 0x94, 0x2f, 0x2a, 0x13, 0x19, 0x96, 0x73, 0x6e, 0x1d, 0xba,
-  0x4c, 0xab, 0x4f, 0x14, 0xcf, 0xf6, 0x0a, 0x46, 0x50, 0x30, 0x08, 0xc0,
-  0xe1, 0xd9, 0x2c, 0x56, 0x87, 0x0e, 0xaf, 0xbb, 0x66, 0xc8, 0xa3, 0x20,
-  0x8d, 0x27, 0x24, 0xed, 0xf6, 0x5e, 0x68, 0x25, 0x1f, 0xbd, 0x5e, 0x64,
-  0x37, 0xf4, 0x19, 0x06, 0xdf, 0xa0, 0x62, 0xf2, 0x10, 0xbf, 0x9f, 0x31,
-  0xa3, 0x39, 0xaa, 0x70, 0x27, 0x75, 0xec, 0x74, 0x56, 0x4b, 0x46, 0xc8,
-  0x07, 0x08, 0x2f, 0xb5, 0x9c, 0xe2, 0x2a, 0x90, 0x60, 0xaf, 0xbe, 0x56,
-  0x20, 0x3d, 0x2f, 0xa5, 0x2e, 0xc8, 0xfd, 0xb3, 0x98, 0x39, 0x93, 0xac,
-  0x05, 0xaf, 0xd7, 0x87, 0x45, 0xc2, 0xbb, 0x8d, 0x63, 0x20, 0x6b, 0xa5,
-  0x6e, 0x0d, 0xa0, 0x47, 0x9b, 0xf6, 0x44, 0xfe, 0xc6, 0x04, 0x8c, 0x0d,
-  0xa3, 0x19, 0x2c, 0xec, 0x49, 0x17, 0xe2, 0x15, 0xe8, 0x47, 0x70, 0x92,
-  0x12, 0xec, 0xd9, 0xe5, 0x9a, 0x0b, 0xde, 0xc8, 0x1d, 0x82, 0xcb, 0x1a,
-  0xa8, 0xb9, 0x48, 0x83, 0x46, 0x25, 0xd8, 0x40, 0x9b, 0xa7, 0xa3, 0xfb,
-  0xcf, 0x8c, 0x9a, 0x9a, 0xea, 0xe6, 0x2b, 0x92, 0x09, 0x07, 0x21, 0xe4,
-  0x02, 0xe7, 0xc5, 0x6a, 0xdd, 0x04, 0x81, 0x44, 0x82, 0x74, 0xe2, 0x6a,
-  0xfe, 0x2f, 0x87, 0x61, 0xfb, 0xa3, 0x74, 0xe6, 0x9f, 0x29, 0x18, 0x38,
-  0x2c, 0xff, 0xba, 0x31, 0xd7, 0x7f, 0xa3, 0x67, 0xd9, 0xb7, 0x68, 0x9c,
-  0x49, 0x23, 0x79, 0xe2, 0x1c, 0xf9, 0x75, 0xc4, 0xba, 0x07, 0xd7, 0x42,
-  0x97, 0x16, 0xec, 0x5b, 0xca, 0x22, 0x36, 0x21, 0x77, 0x00, 0x56, 0xb0,
-  0xc3, 0xfd, 0x8c, 0x95, 0x43, 0x8e, 0xad, 0xac, 0x4f, 0x28, 0x7d, 0xe2,
-  0x8e, 0x4c, 0xfc, 0xd0, 0x2f, 0x2f, 0x99, 0x6c, 0xf7, 0xeb, 0x7b, 0x74,
-  0x14, 0xfb, 0xdc, 0xaf, 0x31, 0x83, 0x68, 0xbf, 0xf9, 0xd6, 0xb7, 0x1f,
-  0xfe, 0xd9, 0x00, 0xdf, 0x6e, 0x83, 0xd4, 0xb5, 0x29, 0xae, 0x90, 0x85,
-  0xf7, 0xc2, 0x37, 0x82, 0xe7, 0x06, 0x79, 0xa9, 0x9e, 0x44, 0xde, 0x28,
-  0x83, 0x5d, 0xdd, 0x92, 0x2f, 0x86, 0x23, 0x01, 0xfb, 0xd8, 0x44, 0x24,
-  0x04, 0xf5, 0x30, 0x91, 0x7c, 0xaf, 0x08, 0x6e, 0x95, 0x7d, 0x76, 0xf3,
-  0xac, 0x6c, 0xd9, 0xd7, 0xc3, 0x37, 0x8e, 0x6a, 0xde, 0x7e, 0x49, 0x75,
-  0x05, 0xb5, 0x66, 0x2d, 0x65, 0x05, 0x9f, 0x68, 0x6d, 0xc2, 0x43, 0xa4,
-  0x52, 0xb0, 0x25, 0xdd, 0xda, 0xb1, 0xd6, 0x46, 0x85, 0xbb, 0xb0, 0x29,
-  0xeb, 0xdd, 0x91, 0x27, 0x9e, 0xfa, 0xc5, 0xaf, 0xc5, 0xc3, 0x53, 0xb6,
-  0xe3, 0x27, 0xd3, 0x97, 0xb5, 0x4d, 0xc3, 0x31, 0x3c, 0x74, 0x6f, 0xca,
-  0x36, 0x25, 0x37, 0x79, 0x09, 0xdb, 0x9e, 0x5f, 0xa2, 0x2f, 0x63, 0xfb,
-  0xff, 0xc4, 0x94, 0xed, 0x56, 0xce, 0x36, 0xa9, 0x57, 0x94, 0x22, 0x1c,
-  0x4b, 0xdb, 0xf6, 0x20, 0x36, 0x38, 0x67, 0x7b, 0x53, 0xca, 0xb6, 0x97,
-  0xb1, 0xbd, 0x21, 0x61, 0x9b, 0x01, 0x4b, 0x37, 0xa5, 0x6c, 0xff, 0xcc,
-  0x9c, 0xed, 0x9e, 0x94, 0xed, 0x9f, 0x9c, 0xb1, 0xfd, 0x0b, 0xa7, 0x6c,
-  0xff, 0x92, 0xd9, 0xc8, 0xb8, 0x3d, 0x74, 0x1e, 0xf9, 0x54, 0x4a, 0x61,
-  0x5e, 0xde, 0x0b, 0x63, 0xda, 0x4e, 0x60, 0xf1, 0xe2, 0xcc, 0x32, 0x0e,
-  0xab, 0x34, 0x4e, 0x71, 0x2f, 0x02, 0x9d, 0x47, 0x48, 0x25, 0x92, 0x01,
-  0xe7, 0xc7, 0x81, 0x1f, 0xc5, 0x6e, 0x7a, 0x5d, 0x2f, 0x86, 0x98, 0x00,
-  0xd5, 0xa8, 0x06, 0x56, 0xa2, 0xe3, 0x33, 0x9d, 0xe7, 0x7e, 0x79, 0x96,
-  0xd3, 0x2c, 0xea, 0x83, 0x47, 0xce, 0x56, 0x97, 0xbf, 0xac, 0xa9, 0x7e,
-  0x32, 0x66, 0xb7, 0x33, 0xf7, 0x19, 0x0b, 0x87, 0x51, 0x50, 0x0c, 0x7e,
-  0x0b, 0x3e, 0xd2, 0xcc, 0xb6, 0x71, 0xb3, 0x11, 0x09, 0xdb, 0x95, 0x35,
-  0x2c, 0x86, 0x41, 0xc1, 0xb4, 0xbf, 0x0e, 0x88, 0x10, 0x2a, 0x7b, 0x51,
-  0xa6, 0x5d, 0xe3, 0x0a, 0x1e, 0x8c, 0x1e, 0x71, 0x45, 0xad, 0x42, 0x72,
-  0xc8, 0x3c, 0x03, 0x14, 0x1c, 0x4c, 0x00, 0x18, 0xc4, 0x6a, 0xda, 0x71,
-  0x93, 0x24, 0x79, 0x7e, 0x94, 0x9c, 0x93, 0xea, 0x68, 0x14, 0x75, 0x44,
-  0xfb, 0x71, 0xbb, 0xcd, 0xd8, 0x89, 0xfc, 0x3e, 0x36, 0x5c, 0x1b, 0xf8,
-  0xd2, 0xd0, 0xcf, 0x87, 0xf3, 0x93, 0x30, 0x3e, 0x8d, 0xe8, 0xc1, 0x8b,
-  0xbd, 0x3d, 0x24, 0x48, 0x5d, 0xa5, 0xb7, 0xb7, 0xa3, 0x3a, 0xdb, 0x9b,
-  0x95, 0xd3, 0x7a, 0x8f, 0x4e, 0x50, 0xbf, 0x7e, 0xd5, 0x2c, 0x17, 0x9f,
-  0xdd, 0x07, 0xad, 0xab, 0x75, 0x9c, 0x8b, 0x3b, 0xa9, 0xf4, 0x76, 0xd9,
-  0x97, 0xb8, 0x95, 0xb9, 0x57, 0x56, 0xbd, 0x0e, 0xba, 0x1d, 0x4a, 0x55,
-  0x81, 0x59, 0x95, 0xf9, 0x3f, 0xf4, 0x79, 0xa0, 0xa8, 0x52, 0xa4, 0xd0,
-  0xd5, 0xef, 0x85, 0xe9, 0xd5, 0x10, 0x84, 0x07, 0xc4, 0x3d, 0x0a, 0x1a,
-  0xc2, 0xb1, 0xcc, 0x1a, 0x30, 0x31, 0x39, 0x91, 0xce, 0xb1, 0x77, 0xba,
-  0x50, 0x32, 0x79, 0x85, 0xad, 0xa2, 0x40, 0x67, 0x3d, 0x7d, 0x29, 0x7f,
-  0x71, 0x96, 0x60, 0xa8, 0x9b, 0xa4, 0xfc, 0x43, 0x94, 0x5d, 0xff, 0xd1,
-  0x5f, 0xe3, 0x96, 0xd9, 0x84, 0xbc, 0x97, 0x9c, 0x6d, 0xb7, 0x71, 0x26,
-  0xf6, 0xe1, 0x5f, 0x63, 0x26, 0x28, 0xea, 0x8e, 0xf2, 0xc7, 0xd6, 0x1c,
-  0xf0, 0xd8, 0xaf, 0xf1, 0xfd, 0xeb, 0x83, 0xbe, 0xcf, 0xa2, 0xf1, 0x24,
-  0x9e, 0xf8, 0x05, 0x3f, 0xfc, 0xc1, 0x3a, 0xab, 0xb8, 0x06, 0xfe, 0x25,
-  0xfd, 0xf7, 0x85, 0xee, 0x70, 0x5f, 0x47, 0xab, 0x0d, 0x68, 0xe1, 0x5e,
-  0x33, 0xed, 0x00, 0xeb, 0xe1, 0x41, 0x19, 0xed, 0xc7, 0x0c, 0xc8, 0x2e,
-  0x20, 0x42, 0x82, 0x24, 0x0c, 0x80, 0xf7, 0xa1, 0xc2, 0x90, 0x31, 0xe4,
-  0x06, 0x63, 0xa0, 0x30, 0xa2, 0x85, 0x42, 0xf2, 0xbc, 0xef, 0x11, 0x43,
-  0xc8, 0x10, 0x88, 0x69, 0xe5, 0x8d, 0x3a, 0x8d, 0x70, 0x8d, 0xfd, 0xda,
-  0x48, 0x73, 0xb1, 0x16, 0x61, 0x5a, 0xcb, 0x7d, 0x38, 0xe9, 0xe0, 0xd9,
-  0x3e, 0x72, 0xcd, 0xc4, 0xfa, 0xd1, 0xc0, 0x57, 0xba, 0x4c, 0x54, 0x31,
-  0x34, 0x17, 0x0e, 0xec, 0xc0, 0x5e, 0xf1, 0x17, 0xc9, 0xd6, 0xf0, 0x43,
-  0xf2, 0x62, 0x2b, 0xd8, 0xa2, 0xd3, 0x42, 0xfa, 0x4c, 0xc0, 0xe9, 0x55,
-  0xa1, 0x70, 0x1a, 0xad, 0x6b, 0x7c, 0xd5, 0xe4, 0x8a, 0x00, 0x6e, 0x9c,
-  0x39, 0x61, 0x31, 0xda, 0x2f, 0x83, 0x20, 0x1c, 0x3b, 0x2f, 0x58, 0x89,
-  0xd2, 0xae, 0x2a, 0x24, 0x4a, 0xc8, 0x6d, 0xe3, 0x20, 0x97, 0xa1, 0x3e,
-  0x31, 0x62, 0xbc, 0x24, 0x36, 0x50, 0x34, 0x73, 0x1a, 0xba, 0x5f, 0x6c,
-  0x3f, 0x62, 0x8c, 0xb8, 0x2a, 0xeb, 0x3a, 0x9f, 0x18, 0x1e, 0x7d, 0x29,
-  0xfc, 0xb1, 0xce, 0x38, 0x9d, 0x8a, 0x1b, 0x3b, 0xd2, 0x5e, 0xd6, 0x2e,
-  0xb9, 0xac, 0x0e, 0xa1, 0x98, 0x78, 0xa5, 0x16, 0xa5, 0x5e, 0xdc, 0x4b,
-  0x66, 0x76, 0xcc, 0xda, 0xae, 0x73, 0x1a, 0x9e, 0x09, 0x2e, 0x4d, 0x26,
-  0x55, 0x9e, 0xcd, 0x93, 0x65, 0xc9, 0x5b, 0x0f, 0xc5, 0xab, 0xcb, 0x64,
-  0x17, 0x04, 0xe4, 0x40, 0x9d, 0x89, 0x29, 0xd3, 0xb6, 0x26, 0xa0, 0x3b,
-  0xe4, 0x5f, 0x23, 0xfb, 0xd1, 0xe5, 0x76, 0x57, 0x19, 0x65, 0x0e, 0x5c,
-  0x67, 0x72, 0xac, 0xa9, 0xf6, 0xfb, 0xe8, 0xc9, 0x49, 0xad, 0x2c, 0x1e,
-  0x30, 0xaa, 0x1d, 0x80, 0x21, 0x63, 0xf1, 0x2c, 0xe8, 0x8b, 0x89, 0xb6,
-  0xf6, 0x4e, 0x5b, 0xa5, 0xde, 0xa3, 0x5f, 0x8d, 0xc7, 0x7b, 0x5e, 0xe8,
-  0x9f, 0x5d, 0x07, 0xd0, 0x9f, 0x15, 0xdf, 0x4e, 0x8d, 0x0e, 0xe0, 0x37,
-  0xe2, 0xf9, 0xf0, 0x73, 0x42, 0xe2, 0x7e, 0xdf, 0xd5, 0x72, 0x22, 0xa9,
-  0xe5, 0x94, 0x40, 0xc7, 0xf9, 0x6a, 0x76, 0x75, 0x0d, 0x6a, 0xd1, 0x01,
-  0xec, 0xe1, 0xc7, 0x86, 0x3f, 0x04, 0x22, 0xde, 0xa5, 0xcb, 0xb7, 0x12,
-  0xe4, 0x5d, 0x7e, 0x3c, 0x9d, 0x95, 0xcb, 0x8e, 0x47, 0x41, 0x08, 0xbb,
-  0xc8, 0x53, 0x9a, 0x41, 0x28, 0x93, 0x09, 0xb7, 0xb8, 0x3f, 0x37, 0xde,
-  0xe8, 0x7c, 0x5e, 0xac, 0xde, 0x21, 0x0d, 0x92, 0x83, 0x35, 0x1e, 0x25,
-  0xc6, 0x0d, 0x05, 0xe6, 0xfc, 0xb3, 0xa0, 0x73, 0x9c, 0xd4, 0x4e, 0x08,
-  0xe3, 0xb4, 0xd9, 0x0b, 0xd7, 0x79, 0x6a, 0x75, 0x28, 0xf7, 0x2d, 0xde,
-  0x51, 0xf7, 0xa9, 0xbe, 0x38, 0x1c, 0x23, 0xb4, 0x44, 0x2a, 0x3b, 0xdf,
-  0x8f, 0xc7, 0x61, 0x8a, 0x7c, 0x61, 0x8c, 0x93, 0xf2, 0xb2, 0xc8, 0xff,
-  0x21, 0x2d, 0x7d, 0xba, 0x99, 0xad, 0xad, 0x1a, 0x85, 0x76, 0x40, 0x9e,
-  0x12, 0x25, 0x42, 0xfe, 0x46, 0x4e, 0x6d, 0x11, 0x3b, 0x48, 0x08, 0x23,
-  0xc8, 0x23, 0x97, 0x0c, 0x48, 0x71, 0x06, 0xee, 0xdb, 0xd2, 0x4a, 0x7a,
-  0x50, 0x7c, 0x95, 0xcf, 0x42, 0x45, 0x92, 0xf6, 0x40, 0xb0, 0x4a, 0xe2,
-  0x2a, 0x52, 0xf6, 0x33, 0x0a, 0x0a, 0x88, 0x83, 0xfe, 0xac, 0x92, 0x82,
-  0xb6, 0x82, 0xea, 0xc1, 0xa1, 0x65, 0xb7, 0xcc, 0x41, 0xa3, 0x30, 0x66,
-  0xe2, 0x9c, 0xae, 0xb3, 0x98, 0x78, 0xb1, 0x71, 0x08, 0xb4, 0x6c, 0x78,
-  0x00, 0x26, 0x9a, 0x55, 0x3d, 0x03, 0xf1, 0x12, 0x41, 0x44, 0xb3, 0xa3,
-  0x3f, 0x00, 0x0a, 0x8d, 0xdc, 0xf8, 0x0a, 0x64, 0x2d, 0x53, 0x46, 0x7b,
-  0x07, 0xee, 0x1a, 0x9a, 0x31, 0x7e, 0x19, 0x4d, 0xcb, 0x5d, 0x49, 0xbe,
-  0xb0, 0xd1, 0xc6, 0x83, 0xab, 0x54, 0x14, 0xf7, 0x89, 0x16, 0xed, 0x35,
-  0xbc, 0xb7, 0xf4, 0xf6, 0x88, 0xd0, 0xba, 0xa8, 0xa8, 0xca, 0x02, 0x29,
-  0x91, 0x25, 0x8f, 0xea, 0x3d, 0xa5, 0x89, 0x2e, 0x69, 0x39, 0x50, 0x71,
-  0x3b, 0x45, 0xce, 0x12, 0x11, 0x1f, 0xbf, 0x6d, 0x96, 0xd5, 0x96, 0x61,
-  0x0c, 0x59, 0x19, 0x90, 0x96, 0x20, 0x99, 0x40, 0x0d, 0x58, 0x1b, 0xa3,
-  0x8c, 0xc0, 0x46, 0xb9, 0xb4, 0xc8, 0x9e, 0xc9, 0x80, 0xb8, 0x0f, 0xb3,
-  0x5c, 0xf1, 0xd4, 0x0d, 0x57, 0xca, 0x65, 0xbb, 0x8b, 0xbd, 0x93, 0x41,
-  0x7a, 0x74, 0xf9, 0x5f, 0xa1, 0x12, 0xe5, 0xe7, 0x14, 0xa2, 0xfc, 0xca,
-  0x95, 0x28, 0x9e, 0xa4, 0x20, 0xb1, 0x13, 0xca, 0x09, 0xa4, 0x45, 0x91,
-  0x4b, 0x86, 0xf3, 0xa0, 0x6e, 0x52, 0xdb, 0xee, 0x02, 0x6f, 0x75, 0x86,
-  0x8b, 0xde, 0xa4, 0x76, 0x8e, 0xac, 0xc7, 0x41, 0x94, 0x3f, 0x72, 0x0a,
-  0x3c, 0x35, 0xda, 0x8a, 0xc0, 0xc2, 0x60, 0x02, 0x54, 0x32, 0x3e, 0xcb,
-  0x04, 0xcf, 0xe9, 0x0f, 0xae, 0xdb, 0xc4, 0xaf, 0x6d, 0x80, 0x1d, 0x18,
-  0xde, 0xfc, 0xd2, 0x93, 0xc7, 0x7f, 0x8a, 0x08, 0xe4, 0xc0, 0x69, 0xc9,
-  0x75, 0x6d, 0xf4, 0x6a, 0x1b, 0x35, 0x31, 0xc2, 0xf4, 0xe2, 0x17, 0x06,
-  0xcd, 0x2d, 0x19, 0x19, 0x4f, 0xd8, 0x1b, 0xa5, 0xc5, 0xd1, 0xcb, 0x3d,
-  0x0c, 0x4e, 0x70, 0x39, 0xd5, 0x20, 0x36, 0xfc, 0x7c, 0x92, 0x35, 0x37,
-  0xa4, 0xc5, 0x61, 0x37, 0x74, 0x1b, 0x3d, 0x1e, 0x60, 0xf9, 0x61, 0x6f,
-  0xbe, 0xcb, 0x40, 0x00, 0x51, 0x89, 0xa3, 0x30, 0xe8, 0xab, 0xf5, 0x8c,
-  0x68, 0x5c, 0x37, 0xb8, 0x7e, 0xb1, 0xf6, 0x31, 0x2e, 0x44, 0xcd, 0xdf,
-  0xa7, 0x7d, 0xf1, 0x72, 0x71, 0x5b, 0x15, 0x43, 0x9a, 0xb9, 0x24, 0x0f,
-  0xfa, 0x3e, 0x7e, 0x7b, 0x8d, 0xe5, 0xda, 0xc6, 0xbc, 0x9f, 0x6d, 0x36,
-  0xa7, 0x87, 0xef, 0xe9, 0x59, 0x83, 0x0e, 0x18, 0x9d, 0x2b, 0x90, 0x8b,
-  0x85, 0x86, 0x7b, 0xb9, 0x0c, 0xbb, 0x72, 0xe4, 0xb7, 0xe9, 0xca, 0xfc,
-  0x8c, 0x42, 0x82, 0x00, 0x20, 0x9d, 0x65, 0xb1, 0xbc, 0x84, 0xce, 0xe6,
-  0x77, 0xe2, 0xe2, 0x38, 0x9f, 0x10, 0x9a, 0xdd, 0x1a, 0x67, 0xb1, 0x96,
-  0x1a, 0xb5, 0x20, 0xfd, 0xa8, 0x7b, 0x4a, 0x83, 0xe0, 0x12, 0x6c, 0xf1,
-  0x29, 0x4d, 0x10, 0x8c, 0x0b, 0x29, 0xdf, 0x0c, 0xe1, 0x8e, 0x5b, 0x6b,
-  0x0c, 0xbb, 0x6d, 0x5f, 0x30, 0xfa, 0x1d, 0xea, 0xb1, 0xba, 0xf3, 0x97,
-  0x1c, 0x3e, 0x6d, 0xb3, 0xd6, 0x72, 0xf2, 0x40, 0x96, 0x85, 0x2e, 0x33,
-  0x01, 0x0b, 0xd2, 0x57, 0x04, 0x32, 0x57, 0x3e, 0x60, 0xdb, 0x51, 0xf6,
-  0x45, 0x26, 0x63, 0x39, 0x1c, 0xad, 0x5b, 0x2b, 0xb1, 0x87, 0x48, 0x6c,
-  0x6e, 0x67, 0x4c, 0x75, 0x11, 0xe3, 0xd7, 0x67, 0xbb, 0xc9, 0x59, 0x27,
-  0xac, 0x80, 0xa2, 0x24, 0x12, 0xa6, 0x3e, 0x23, 0x96, 0xf6, 0x5f, 0x8c,
-  0x89, 0xd8, 0xef, 0x82, 0xce, 0xe5, 0x92, 0x59, 0xe4, 0x4f, 0x84, 0x7e,
-  0x7f, 0x71, 0xc6, 0xd4, 0x59, 0xcb, 0x2b, 0x14, 0x69, 0x30, 0x28, 0x88,
-  0x98, 0x94, 0xfe, 0x2d, 0x35, 0x26, 0x74, 0x49, 0xa5, 0x76, 0xdc, 0x70,
-  0x47, 0x9c, 0xf2, 0xea, 0x4c, 0x5f, 0x04, 0xa9, 0x8e, 0x0c, 0x8a, 0xa3,
-  0x99, 0xe7, 0x1e, 0xfc, 0x91, 0xb4, 0xbe, 0xab, 0x59, 0x2e, 0x75, 0xa0,
-  0xe9, 0x69, 0x15, 0x97, 0x59, 0x11, 0x76, 0xba, 0xc0, 0x47, 0x49, 0x90,
-  0x0b, 0x51, 0xcf, 0x46, 0x5d, 0x94, 0x75, 0x2f, 0x6c, 0x20, 0x93, 0xcb,
-  0x4b, 0x87, 0xce, 0xdd, 0x87, 0xc8, 0x48, 0x26, 0xff, 0x04, 0x05, 0x80,
-  0x9f, 0x88, 0x27, 0x5e, 0x52, 0xa0, 0xa6, 0x81, 0x8c, 0x5b, 0xdd, 0xd1,
-  0x76, 0x98, 0x07, 0xeb, 0xfa, 0xea, 0xd0, 0x70, 0x8e, 0xc3, 0xd1, 0xe7,
-  0x30, 0x51, 0x8c, 0xb0, 0x8e, 0xc0, 0xb7, 0x72, 0xee, 0x88, 0xb4, 0xc8,
-  0xec, 0x8c, 0x26, 0x5a, 0xf8, 0xc8, 0x29, 0xfe, 0xc3, 0xff, 0x4e, 0x94,
-  0xf6, 0xf7, 0x75, 0x18, 0xbf, 0xdb, 0x01, 0x41, 0xbd, 0x05, 0xf6, 0x22,
-  0xb5, 0x60, 0x41, 0xa6, 0xc1, 0x24, 0x6f, 0x00, 0xa3, 0xae, 0x36, 0x64,
-  0xfb, 0x62, 0xbe, 0xe5, 0x92, 0xe7, 0x04, 0xaf, 0x45, 0x6b, 0xe2, 0x8d,
-  0x0a, 0xfe, 0xdf, 0xe9, 0x5b, 0x3a, 0x00, 0xd7, 0x26, 0x21, 0x1b, 0xe2,
-  0xcf, 0x47, 0x6f, 0x4f, 0xcf, 0x8f, 0xda, 0xf5, 0x8a, 0x0d, 0x1a, 0x3e,
-  0x21, 0xd8, 0xdf, 0x9d, 0x1d, 0x50, 0xd0, 0x5c, 0x23, 0xd1, 0xbc, 0xc8,
-  0xc9, 0xe8, 0x4f, 0xce, 0xbe, 0x7b, 0x63, 0x27, 0x97, 0x83, 0x69, 0x62,
-  0x52, 0x3a, 0xe2, 0x40, 0xf7, 0xb9, 0x2b, 0xda, 0x49, 0x09, 0xa0, 0x06,
-  0x44, 0xd2, 0xd0, 0xd8, 0x4e, 0x0f, 0x49, 0x16, 0x9c, 0x1a, 0xa3, 0xa5,
-  0xfa, 0xc0, 0xdc, 0xae, 0x6b, 0x2a, 0xbd, 0xb7, 0xc3, 0x06, 0x7a, 0x2f,
-  0x44, 0x3f, 0xd0, 0xa6, 0xc4, 0x16, 0x25, 0xa4, 0x31, 0x82, 0x1f, 0x1b,
-  0x25, 0xf6, 0x23, 0xee, 0x2b, 0x40, 0x10, 0xe4, 0x6c, 0x20, 0x7c, 0x25,
-  0xc6, 0xb0, 0xa9, 0xd7, 0x36, 0xc7, 0x41, 0x58, 0xde, 0x91, 0xc3, 0x85,
-  0x68, 0xd6, 0xf6, 0x3a, 0x1a, 0x30, 0x32, 0x9c, 0x84, 0x7b, 0xfc, 0x7d,
-  0x8c, 0x44, 0xc8, 0xcd, 0x67, 0x77, 0xea, 0xdd, 0x81, 0x37, 0x53, 0xbb,
-  0x6d, 0x32, 0xe1, 0xed, 0x3f, 0x6c, 0x27, 0x52, 0x10, 0x02, 0x86, 0xc7,
-  0x0d, 0x6a, 0x7a, 0x7a, 0x1c, 0xba, 0x9e, 0x57, 0xbb, 0xf7, 0xe5, 0x6f,
-  0xe9, 0xa2, 0xfb, 0xeb, 0xb1, 0x25, 0x74, 0x27, 0x49, 0x3d, 0x68, 0x3e,
-  0xb9, 0x66, 0x80, 0x4b, 0xb0, 0x0e, 0x11, 0xa7, 0x3a, 0x0e, 0x33, 0x96,
-  0xb0, 0xf8, 0xa2, 0x21, 0xd8, 0x05, 0xd7, 0x07, 0x47, 0x19, 0x0e, 0x22,
-  0x66, 0x8a, 0x74, 0xce, 0xb1, 0x08, 0xa2, 0xee, 0xfa, 0xae, 0x68, 0xe8,
-  0xa2, 0x32, 0x4f, 0x99, 0x96, 0x55, 0xbc, 0x00, 0x0c, 0xc4, 0xe4, 0x68,
-  0xb7, 0x06, 0xd6, 0xc4, 0xf3, 0x27, 0xcf, 0x49, 0xb8, 0x23, 0x47, 0x49,
-  0xfa, 0x40, 0x09, 0x22, 0x30, 0xe2, 0xa7, 0x3c, 0xe7, 0x28, 0x72, 0x88,
-  0x8c, 0x23, 0x9d, 0x7b, 0x27, 0xd9, 0x82, 0x3b, 0x4f, 0x8d, 0xbd, 0x21,
-  0x42, 0x30, 0xa5, 0xbe, 0x13, 0x23, 0x8c, 0x3e, 0x43, 0x3b, 0x79, 0xfd,
-  0x29, 0xd9, 0xf9, 0x77, 0x6e, 0xd3, 0xe7, 0xaa, 0xe3, 0x39, 0xf8, 0x9b,
-  0x17, 0xeb, 0x80, 0xf2, 0xd1, 0x6a, 0x3d, 0x6f, 0xed, 0x29, 0xb6, 0x1c,
-  0xcb, 0x9b, 0xc4, 0x8a, 0xf2, 0xea, 0xa6, 0x5c, 0x91, 0xd2, 0x06, 0xf8,
-  0x84, 0x48, 0xa7, 0x50, 0x73, 0x58, 0x0f, 0x4e, 0xf2, 0x69, 0x97, 0x2d,
-  0x84, 0x12, 0x91, 0x76, 0x02, 0x20, 0xca, 0xe2, 0x6e, 0x55, 0xe5, 0x6a,
-  0x94, 0x7c, 0x28, 0x90, 0x89, 0x27, 0x64, 0x27, 0x62, 0x22, 0x2f, 0xcc,
-  0x0e, 0x18, 0x9a, 0x26, 0x28, 0x8f, 0x08, 0x13, 0x02, 0x9f, 0xf3, 0xef,
-  0x9d, 0xb0, 0xc9, 0x4e, 0x88, 0x14, 0xf7, 0xd6, 0x62, 0x5e, 0x0b, 0xdf,
-  0x7a, 0x1b, 0xf6, 0x54, 0xe3, 0x9e, 0x50, 0x44, 0xea, 0x66, 0x39, 0x18,
-  0x9b, 0x42, 0xe0, 0xd9, 0x62, 0x31, 0x64, 0xd0, 0x6d, 0x02, 0x21, 0x26,
-  0xe5, 0x9e, 0x8b, 0xa4, 0x91, 0xc0, 0xe6, 0x97, 0xe0, 0x07, 0x92, 0x05,
-  0xb5, 0xde, 0x23, 0xd4, 0x00, 0x29, 0xd8, 0x88, 0xa4, 0xbd, 0x6b, 0x64,
-  0x8d, 0x0a, 0xf7, 0x9c, 0x3f, 0x04, 0xbb, 0xf3, 0x77, 0xe5, 0xa7, 0xb1,
-  0x2e, 0x48, 0x21, 0x8c, 0xe5, 0xf4, 0xea, 0xb2, 0x5a, 0x71, 0x27, 0xb6,
-  0x58, 0x9b, 0x38, 0x4f, 0xeb, 0xe6, 0x27, 0x95, 0x24, 0xea, 0xac, 0xe1,
-  0xa9, 0xf0, 0xab, 0xc7, 0x6f, 0x5a, 0x1d, 0x9d, 0x69, 0x27, 0x50, 0xe7,
-  0x16, 0x1f, 0x4e, 0xfa, 0x68, 0xda, 0x56, 0xeb, 0x4e, 0x72, 0xd8, 0xd1,
-  0x9c, 0x89, 0x31, 0xb9, 0x73, 0xbf, 0x89, 0x0f, 0x27, 0x63, 0xb0, 0xa6,
-  0xca, 0x23, 0xe8, 0xb0, 0xa0, 0x15, 0xed, 0x39, 0x4e, 0xd4, 0x70, 0x99,
-  0x55, 0xf6, 0x23, 0x61, 0x92, 0xe4, 0xd5, 0xb2, 0x9c, 0x51, 0x51, 0x57,
-  0x76, 0xef, 0x5e, 0xd0, 0x83, 0xba, 0x17, 0x52, 0x0b, 0x57, 0xfb, 0xeb,
-  0xc2, 0x20, 0x86, 0x4a, 0x89, 0xf2, 0x04, 0xdf, 0x33, 0x3e, 0x9c, 0x5b,
-  0xa8, 0x76, 0x46, 0xcc, 0xf8, 0x65, 0x7f, 0x09, 0x45, 0x52, 0x4e, 0x1b,
-  0x6f, 0x05, 0xf4, 0x40, 0x7c, 0x38, 0x66, 0xac, 0x91, 0x95, 0x51, 0x81,
-  0x14, 0x2c, 0xca, 0xfb, 0x56, 0x46, 0x0f, 0x06, 0xa7, 0x6c, 0x7e, 0xc8,
-  0xec, 0xba, 0x73, 0xc4, 0x7c, 0x38, 0xf1, 0xe1, 0xda, 0x07, 0xac, 0x27,
-  0x8c, 0x39, 0xc4, 0x0e, 0x58, 0x30, 0x8f, 0x43, 0x0d, 0xcb, 0xd9, 0xc7,
-  0xbc, 0x3b, 0xf6, 0xc1, 0xde, 0x03, 0x96, 0x6f, 0x04, 0xbb, 0xb0, 0x28,
-  0x8c, 0x76, 0xb7, 0xae, 0xa6, 0xd9, 0x47, 0xcc, 0xad, 0x49, 0xab, 0xcb,
-  0xac, 0xf9, 0xb8, 0x79, 0x43, 0x16, 0x82, 0xa6, 0x70, 0xb7, 0x44, 0x6b,
-  0x63, 0xcb, 0x2b, 0x04, 0x8d, 0x34, 0x15, 0x74, 0x01, 0xa3, 0xe0, 0x71,
-  0xfb, 0xe8, 0xa6, 0x7f, 0x43, 0xbc, 0xef, 0x71, 0x83, 0x04, 0x36, 0xcc,
-  0x56, 0x65, 0x5e, 0xb0, 0xbf, 0x4c, 0x79, 0x8c, 0x37, 0xc7, 0x18, 0xf2,
-  0xd2, 0xa6, 0x70, 0xd5, 0xf2, 0x13, 0x95, 0x58, 0x59, 0x25, 0xe0, 0x63,
-  0xa4, 0x99, 0x84, 0xb7, 0x38, 0x7e, 0x5a, 0x4f, 0x9b, 0x97, 0x24, 0x25,
-  0x84, 0xb6, 0x01, 0xa6, 0x7f, 0xd0, 0x54, 0x54, 0xdc, 0x33, 0x1b, 0xff,
-  0x83, 0xf6, 0x46, 0x76, 0x67, 0xb7, 0xba, 0x99, 0x59, 0x20, 0x9b, 0x1b,
-  0x77, 0x81, 0x54, 0xb4, 0x23, 0xb3, 0x59, 0x9b, 0xcc, 0x52, 0x06, 0x13,
-  0x0f, 0x36, 0x57, 0xc4, 0xe4, 0xde, 0x4f, 0x17, 0x4d, 0xa8, 0xff, 0x04,
-  0x1f, 0xaf, 0xd0, 0x2d, 0x57, 0x76, 0x57, 0x0e, 0xa3, 0x7f, 0x6b, 0xe4,
-  0x69, 0x37, 0x45, 0xe6, 0xee, 0x96, 0xfe, 0xcb, 0x2a, 0xb2, 0x47, 0x1b,
-  0xd8, 0x9d, 0x7c, 0xb6, 0xcb, 0xf0, 0x66, 0x19, 0xb9, 0x65, 0x99, 0x12,
-  0x90, 0xb3, 0x75, 0xff, 0xbd, 0xe2, 0x99, 0xf7, 0xee, 0x71, 0xb5, 0xbc,
-  0xe7, 0x8a, 0x9b, 0x07, 0xdc, 0xaa, 0x18, 0x89, 0xc3, 0xae, 0x2a, 0xb8,
-  0x95, 0xd2, 0x4c, 0xb7, 0x67, 0xe7, 0xfb, 0x66, 0xd0, 0xa2, 0xc1, 0xfe,
-  0x99, 0xc8, 0x93, 0xd1, 0xe9, 0xb8, 0xcd, 0x35, 0xa7, 0x5b, 0xdd, 0xb9,
-  0x99, 0xc5, 0x87, 0x93, 0xe9, 0xba, 0xb7, 0x64, 0x7b, 0x06, 0x9e, 0xef,
-  0x92, 0x3b, 0x4f, 0x18, 0xb3, 0x31, 0xa4, 0x0d, 0xbd, 0xde, 0x3f, 0x89,
-  0x3d, 0x90, 0x7d, 0xbe, 0x28, 0x7c, 0x8b, 0x9c, 0xbe, 0x68, 0x24, 0xef,
-  0x86, 0x52, 0x16, 0x2f, 0x62, 0x6d, 0x8f, 0x9b, 0xfb, 0x97, 0x22, 0xee,
-  0x8a, 0x84, 0x3c, 0x24, 0xaa, 0xa2, 0x73, 0x91, 0x28, 0xa9, 0x00, 0x8c,
-  0x9b, 0x51, 0x4f, 0x88, 0x30, 0x6f, 0x3e, 0xe1, 0x6f, 0x26, 0x9c, 0xb7,
-  0x85, 0x6d, 0x45, 0xec, 0x50, 0xd4, 0x10, 0xed, 0x8f, 0x5a, 0x67, 0x62,
-  0x27, 0xc8, 0xe3, 0xdc, 0x66, 0x22, 0x6c, 0x0a, 0xdb, 0x49, 0x9e, 0xab,
-  0x47, 0x9e, 0x1b, 0x82, 0x73, 0x45, 0xb2, 0xcb, 0x99, 0xdf, 0x62, 0xd9,
-  0x5b, 0x7e, 0x35, 0xe0, 0x2d, 0xb8, 0x34, 0x8b, 0xc7, 0x1f, 0xd1, 0x22,
-  0x91, 0x44, 0x0d, 0x49, 0xa0, 0x1e, 0xec, 0x26, 0xe7, 0x12, 0xda, 0x24,
-  0xa5, 0xee, 0xae, 0xc1, 0x04, 0xcd, 0x00, 0x3b, 0xf9, 0xc8, 0x08, 0x43,
-  0x2e, 0x0a, 0x20, 0x05, 0x89, 0xe0, 0xdb, 0x63, 0x81, 0xe2, 0x5d, 0x8d,
-  0x14, 0x2b, 0x04, 0xd8, 0xde, 0xc1, 0xe8, 0x60, 0x90, 0x58, 0xdb, 0xd3,
-  0xd3, 0x9d, 0x91, 0xbc, 0x28, 0xd0, 0xd1, 0xf4, 0xe9, 0xae, 0x9f, 0xe1,
-  0x9c, 0x3e, 0x5c, 0x87, 0x5e, 0x61, 0xb8, 0x96, 0x9d, 0xc1, 0x72, 0x93,
-  0xde, 0x85, 0x8a, 0xe9, 0xfe, 0xf0, 0xf1, 0xf3, 0xe7, 0x2d, 0x79, 0x5e,
-  0x7b, 0xd0, 0xdb, 0x4f, 0xf6, 0xf7, 0xb1, 0xb6, 0xa0, 0x26, 0xda, 0xfc,
-  0x62, 0xf8, 0x1c, 0x2f, 0xb6, 0x5f, 0xab, 0x33, 0x73, 0x04, 0xb3, 0xfe,
-  0xf7, 0x86, 0xf4, 0x9b, 0xc8, 0xe7, 0xe0, 0x4f, 0xe9, 0x7d, 0xeb, 0x39,
-  0x7d, 0x2e, 0xf2, 0x16, 0x1e, 0xe6, 0x6d, 0x2c, 0xe7, 0x73, 0xf2, 0x64,
-  0xd1, 0x93, 0x8a, 0xcc, 0x73, 0x93, 0x56, 0xb3, 0x70, 0xb9, 0xfb, 0x83,
-  0xe1, 0x41, 0xdf, 0x72, 0x11, 0x4d, 0x46, 0x02, 0x1c, 0x9d, 0x27, 0x19,
-  0x8a, 0xc6, 0x00, 0xe1, 0x02, 0xa1, 0xee, 0x40, 0x07, 0x66, 0x46, 0x07,
-  0xcf, 0x9f, 0x0f, 0x68, 0x66, 0x4f, 0x9e, 0x3f, 0xef, 0x2d, 0x08, 0xf7,
-  0x3e, 0x73, 0x53, 0x3a, 0xf7, 0x13, 0xbd, 0xee, 0x88, 0xa6, 0x26, 0x3b,
-  0x27, 0xfe, 0x1d, 0xfa, 0xcd, 0x17, 0xc9, 0xfb, 0xd3, 0x8b, 0x23, 0xcf,
-  0x31, 0x83, 0xeb, 0xc5, 0x11, 0x43, 0x2f, 0x45, 0x14, 0x21, 0xd8, 0x15,
-  0x3a, 0x3f, 0xc1, 0xf0, 0x25, 0x9b, 0x24, 0x34, 0x26, 0x51, 0xac, 0xa2,
-  0x3e, 0xc1, 0x7f, 0x0b, 0x33, 0x22, 0xc8, 0x38, 0x9e, 0xe5, 0x97, 0x79,
-  0xe3, 0xc3, 0x36, 0xed, 0x98, 0xd3, 0xde, 0x85, 0x8b, 0x83, 0x13, 0xdd,
-  0x24, 0x9a, 0xb2, 0x5d, 0x53, 0x79, 0x07, 0x67, 0xc2, 0x6e, 0x93, 0x35,
-  0xb5, 0x1d, 0x14, 0x58, 0x64, 0x8b, 0x59, 0xad, 0x82, 0x90, 0x1f, 0x1f,
-  0xe2, 0x41, 0xb9, 0x2d, 0x30, 0x57, 0xb9, 0xaf, 0x74, 0x0a, 0x50, 0x4b,
-  0xfe, 0x74, 0x7f, 0x3c, 0x05, 0xee, 0x2c, 0x24, 0x62, 0x68, 0x61, 0x16,
-  0x8d, 0xe3, 0xa7, 0xca, 0x6e, 0xd7, 0xce, 0xe5, 0x69, 0xbd, 0x73, 0x05,
-  0x9d, 0x43, 0x80, 0x47, 0xc8, 0x4e, 0xfc, 0x59, 0xb6, 0xd2, 0x94, 0xd2,
-  0xa2, 0x3d, 0x8e, 0xa1, 0xe5, 0x79, 0x7e, 0xb9, 0xae, 0xe2, 0xe9, 0x97,
-  0x7f, 0x71, 0x65, 0x42, 0x0a, 0x32, 0x9f, 0xde, 0xa4, 0x5a, 0x9e, 0x84,
-  0xbe, 0x00, 0x7a, 0xaf, 0xd5, 0x08, 0xd6, 0x72, 0x20, 0xb4, 0x00, 0x08,
-  0x2c, 0x69, 0xf2, 0x4e, 0xcc, 0x8d, 0x26, 0x43, 0x4e, 0x02, 0x6d, 0x15,
-  0x08, 0xb7, 0x9e, 0x74, 0x83, 0x93, 0x0c, 0x1b, 0x71, 0x21, 0xd2, 0x79,
-  0x93, 0x38, 0x4d, 0x65, 0x0b, 0xc2, 0x9c, 0xba, 0xed, 0x85, 0xf3, 0xdd,
-  0xd3, 0x93, 0xf0, 0xb6, 0x5c, 0x95, 0x5e, 0x4f, 0x89, 0x10, 0xb4, 0x41,
-  0x40, 0x69, 0xc0, 0x7d, 0xf8, 0x88, 0x66, 0x46, 0x85, 0x5e, 0x94, 0x29,
-  0x1d, 0xa3, 0x7a, 0x4e, 0x38, 0x9a, 0xce, 0xda, 0x01, 0x23, 0x8e, 0xe9,
-  0xd9, 0x06, 0x59, 0x1d, 0x74, 0xd4, 0x72, 0xca, 0x84, 0xe5, 0xed, 0x40,
-  0x45, 0x40, 0xa4, 0x9e, 0x1b, 0x84, 0xf9, 0x94, 0xf9, 0x08, 0x23, 0x64,
-  0xec, 0x8e, 0x92, 0xd0, 0xec, 0x25, 0x82, 0xe7, 0xd3, 0xb2, 0x9d, 0x11,
-  0xd0, 0x63, 0x91, 0x84, 0x24, 0x4d, 0x58, 0xc5, 0xf1, 0xf8, 0xf8, 0xff,
-  0x39, 0xfa, 0x35, 0xa3, 0x4e, 0x55, 0x7a, 0x63, 0x0b, 0x07, 0xbf, 0x63,
-  0xc0, 0x4a, 0x89, 0x06, 0x59, 0xa4, 0x8a, 0x74, 0x21, 0x46, 0x3c, 0x35,
-  0xa3, 0x87, 0xf4, 0x40, 0x5c, 0x51, 0x5a, 0xa8, 0x1a, 0xc2, 0x0a, 0x69,
-  0x9b, 0xbc, 0x66, 0x04, 0xaf, 0xa0, 0x4e, 0x43, 0x24, 0xa3, 0xa3, 0xe4,
-  0x8b, 0x9d, 0x80, 0x7c, 0x90, 0x4b, 0xb8, 0x12, 0x61, 0xd9, 0x93, 0xb7,
-  0x97, 0x11, 0xa5, 0xc2, 0x70, 0x01, 0x20, 0x11, 0x69, 0x52, 0x66, 0xae,
-  0xf7, 0xf4, 0xb0, 0xf3, 0x2b, 0xed, 0x33, 0x06, 0xf0, 0xa7, 0x00, 0x55,
-  0x95, 0xbc, 0xfc, 0x70, 0x7e, 0xd2, 0x53, 0x2e, 0x39, 0xc6, 0x19, 0xd0,
-  0x66, 0x6d, 0x9d, 0x67, 0x40, 0x33, 0xab, 0x92, 0xb3, 0xf4, 0x32, 0xdb,
-  0xf2, 0x01, 0xe4, 0x54, 0x55, 0xc4, 0xf2, 0xc5, 0xff, 0x10, 0x73, 0xa7,
-  0xf8, 0x6d, 0x1a, 0x88, 0x89, 0xbb, 0xb0, 0xb0, 0x5f, 0xe3, 0x38, 0x5f,
-  0xa4, 0xb2, 0x77, 0xeb, 0x8a, 0x02, 0xfa, 0xd8, 0xf9, 0x48, 0xeb, 0x21,
-  0x7e, 0xbd, 0x8d, 0xfa, 0xe9, 0x32, 0x4c, 0x29, 0x12, 0x84, 0x46, 0xdc,
-  0x5b, 0x7f, 0x24, 0xf7, 0xfb, 0x96, 0x87, 0x74, 0x39, 0xcc, 0xc2, 0x20,
-  0x9b, 0x6e, 0x05, 0x63, 0x14, 0x5a, 0x57, 0x14, 0xbb, 0xf2, 0x5b, 0xee,
-  0xfb, 0x5a, 0x2e, 0xd8, 0xaa, 0xca, 0x08, 0x8f, 0x17, 0x19, 0xbc, 0x41,
-  0x6b, 0x29, 0x4e, 0x3b, 0x66, 0x08, 0x56, 0xb2, 0xff, 0x4e, 0x64, 0x7e,
-  0x2f, 0x24, 0xd2, 0xc2, 0x6a, 0x90, 0x9d, 0x9a, 0xc4, 0xa9, 0x79, 0xe2,
-  0x93, 0x2c, 0xb6, 0xd8, 0x74, 0x41, 0x0d, 0x54, 0xd8, 0xfb, 0x25, 0xa1,
-  0xf7, 0x59, 0x49, 0x3d, 0x37, 0xd0, 0xa3, 0xbb, 0xb0, 0xfe, 0xe4, 0xd6,
-  0xc9, 0xfe, 0xea, 0x50, 0x87, 0x2e, 0x00, 0xf4, 0x6a, 0x20, 0x5d, 0x81,
-  0x86, 0x86, 0x3a, 0x0a, 0xa9, 0x84, 0xf7, 0x8e, 0xd5, 0xa3, 0xbd, 0xff,
-  0xf4, 0x1a, 0x4d, 0x78, 0xcd, 0x22, 0x7a, 0x10, 0x73, 0xbd, 0xe9, 0x36,
-  0xa8, 0x52, 0x01, 0xc1, 0x04, 0xcd, 0x2a, 0x5c, 0xc1, 0xac, 0x48, 0xcb,
-  0xa8, 0x3b, 0x7f, 0xe8, 0x94, 0xa6, 0xd7, 0x5c, 0xb9, 0x39, 0x7c, 0x93,
-  0x1b, 0x19, 0x52, 0x33, 0x00, 0x11, 0x94, 0x5c, 0xae, 0x3d, 0xd4, 0x6b,
-  0x08, 0xdf, 0x48, 0x16, 0xa4, 0x2b, 0x70, 0x94, 0x04, 0x89, 0xcf, 0xf6,
-  0x1d, 0x1b, 0xb2, 0x31, 0x14, 0x71, 0xaf, 0xb3, 0xd8, 0x53, 0x18, 0x52,
-  0xe7, 0xaf, 0x90, 0x9e, 0xe1, 0xdc, 0xc3, 0x80, 0x6f, 0x87, 0x91, 0x08,
-  0x91, 0xdd, 0x51, 0x58, 0x20, 0x64, 0xcd, 0x38, 0xbc, 0x1e, 0xe9, 0xd9,
-  0x13, 0x98, 0x9a, 0xb6, 0x5b, 0x32, 0x4b, 0xa5, 0x80, 0xc4, 0x28, 0x2f,
-  0xc5, 0x36, 0x4e, 0xe1, 0xd8, 0x09, 0x83, 0xf0, 0x71, 0x69, 0xea, 0xd4,
-  0x0c, 0x6c, 0xe3, 0xe6, 0xda, 0x0b, 0x56, 0x7a, 0xbe, 0xc4, 0x05, 0xee,
-  0x5d, 0x6b, 0x55, 0x48, 0x1a, 0xf5, 0x09, 0x8f, 0x62, 0x03, 0x45, 0x29,
-  0x08, 0x2f, 0xb1, 0x10, 0x3a, 0xf2, 0x77, 0xcc, 0x13, 0x9e, 0x0c, 0xe4,
-  0x7c, 0x8d, 0xe4, 0xf7, 0x43, 0xd7, 0x79, 0x63, 0xe7, 0x2e, 0x33, 0xfa,
-  0xb5, 0x05, 0xd5, 0x52, 0x43, 0x2a, 0x52, 0xfd, 0x99, 0x70, 0x37, 0xc9,
-  0xba, 0x55, 0x98, 0x02, 0x13, 0xc4, 0x8b, 0x2c, 0xf2, 0x96, 0x1b, 0x2d,
-  0x00, 0x89, 0x96, 0x45, 0x76, 0x4b, 0x18, 0xe0, 0xfd, 0xc3, 0x85, 0x4a,
-  0xf6, 0x77, 0xaf, 0xce, 0xdf, 0x1f, 0xbf, 0xff, 0xea, 0x45, 0x72, 0x74,
-  0x9b, 0x55, 0x53, 0xea, 0x7b, 0xfc, 0xb7, 0xf5, 0x2c, 0x9f, 0x82, 0x4d,
-  0x48, 0x3f, 0x59, 0x3f, 0xe4, 0x6d, 0xac, 0x80, 0x4c, 0xfc, 0xab, 0x24,
-  0x70, 0x83, 0x42, 0x18, 0xc9, 0xe5, 0x25, 0xe0, 0x08, 0x63, 0x45, 0x95,
-  0x97, 0x6b, 0x8f, 0x7c, 0xa6, 0xdc, 0xe7, 0x0e, 0xb1, 0x00, 0xc4, 0x48,
-  0xaf, 0x64, 0xaf, 0xc9, 0xe9, 0x9a, 0xbc, 0x39, 0x39, 0x09, 0xa1, 0x7c,
-  0x39, 0x81, 0x94, 0x2d, 0x47, 0x94, 0xfa, 0x62, 0x08, 0x9b, 0x6f, 0x4a,
-  0xb1, 0x3c, 0x23, 0xfe, 0xb9, 0xcb, 0x9d, 0xc7, 0xf0, 0x00, 0x06, 0xf6,
-  0x5d, 0x98, 0xc9, 0x89, 0x34, 0x63, 0x24, 0x07, 0xe2, 0x84, 0xf3, 0x6a,
-  0x06, 0x5b, 0xc8, 0x70, 0xc8, 0x72, 0xde, 0x90, 0x7e, 0xd4, 0x92, 0xa4,
-  0xed, 0x2e, 0x32, 0x9b, 0x92, 0xc2, 0x38, 0x66, 0xd4, 0xc6, 0x89, 0x92,
-  0x90, 0x24, 0x72, 0x56, 0x0d, 0x41, 0xb2, 0x62, 0x88, 0xd6, 0x43, 0x48,
-  0x35, 0x0b, 0x12, 0x6a, 0x53, 0xdb, 0x4d, 0xb9, 0x26, 0x6e, 0x19, 0xb2,
-  0x8b, 0x9b, 0xac, 0x12, 0xd3, 0xd3, 0x16, 0x11, 0x1b, 0x66, 0x37, 0x4a,
-  0xc6, 0xa5, 0x79, 0x3e, 0x52, 0xb5, 0xa0, 0x3d, 0xfa, 0x5a, 0xcd, 0xbe,
-  0x39, 0x85, 0xd6, 0xe6, 0x55, 0xa1, 0x7f, 0x11, 0x62, 0x6e, 0xed, 0xf5,
-  0x46, 0xfa, 0x03, 0x13, 0xfd, 0x4f, 0x32, 0xab, 0x50, 0xdc, 0x69, 0x68,
-  0x87, 0x88, 0x64, 0x6b, 0x68, 0xd8, 0xe9, 0x16, 0xed, 0x2c, 0xba, 0x16,
-  0x7b, 0x23, 0xdd, 0xd3, 0x7b, 0xd3, 0x4f, 0x53, 0xef, 0x2e, 0xf8, 0x9e,
-  0x96, 0x66, 0x6a, 0x75, 0x7a, 0x8e, 0x53, 0x69, 0x2c, 0x65, 0x63, 0xa5,
-  0xcc, 0x93, 0x32, 0xb4, 0x20, 0x0e, 0x02, 0xe0, 0x6c, 0x4e, 0x58, 0x77,
-  0x8c, 0x5f, 0x28, 0xef, 0xbf, 0x2e, 0xf2, 0x66, 0xe0, 0xbc, 0x0b, 0xa4,
-  0x15, 0x04, 0xe5, 0xda, 0xc6, 0xc6, 0x1b, 0xed, 0xc6, 0xf2, 0x6a, 0x84,
-  0x2f, 0x0a, 0x90, 0x6b, 0x7a, 0xed, 0xf2, 0xbd, 0x7a, 0x39, 0xdf, 0x48,
-  0xf3, 0xe3, 0xbb, 0x32, 0x1a, 0x90, 0x07, 0x9e, 0x3f, 0x9c, 0x87, 0x03,
-  0x33, 0xf1, 0x8b, 0x59, 0xbc, 0x68, 0xa5, 0xc3, 0x25, 0x08, 0x87, 0xf3,
-  0x0a, 0xbe, 0xfa, 0x99, 0xb0, 0x44, 0x6d, 0xf2, 0xe2, 0xba, 0xfc, 0xc4,
-  0xf2, 0x9e, 0x5b, 0x1b, 0xc6, 0x52, 0x54, 0xf2, 0xde, 0xb2, 0x16, 0xf6,
-  0x4b, 0xf1, 0xae, 0xca, 0xdc, 0x59, 0x64, 0x79, 0x95, 0x04, 0x66, 0x31,
-  0x12, 0x8c, 0xb1, 0x25, 0x80, 0x56, 0x3c, 0x75, 0xf3, 0xfd, 0xf5, 0x2e,
-  0x0d, 0xb4, 0x01, 0x75, 0x92, 0x2d, 0xea, 0x6c, 0xe0, 0x55, 0x03, 0xaa,
-  0xb0, 0x51, 0x69, 0x83, 0xe4, 0x4f, 0xed, 0x24, 0xd7, 0x2f, 0x49, 0x46,
-  0xae, 0x36, 0xc1, 0xdb, 0x6e, 0x67, 0xc4, 0x22, 0xb8, 0xc9, 0x51, 0xa7,
-  0xe9, 0x55, 0x59, 0x46, 0xc5, 0xb6, 0x93, 0x21, 0x50, 0x69, 0x00, 0x88,
-  0xd1, 0xa3, 0x3f, 0xb4, 0x5b, 0x1b, 0x4a, 0x32, 0x79, 0xf7, 0xee, 0x29,
-  0xd4, 0xa0, 0x68, 0x83, 0x1e, 0x40, 0x69, 0x5b, 0xba, 0xf1, 0x84, 0x02,
-  0xd9, 0x1c, 0x4b, 0x5e, 0xe0, 0xdf, 0x75, 0xe4, 0x71, 0xd3, 0x42, 0x4f,
-  0xf0, 0x37, 0x25, 0x2a, 0xec, 0x38, 0x01, 0xcd, 0xa5, 0x25, 0x82, 0x6e,
-  0x60, 0x34, 0x15, 0xed, 0x80, 0x06, 0xe6, 0x99, 0x37, 0x60, 0x20, 0xbf,
-  0x3f, 0xdc, 0xef, 0x63, 0xf2, 0xac, 0xc6, 0x6a, 0x95, 0x2b, 0x5d, 0x47,
-  0x6b, 0x9c, 0xb3, 0x20, 0x74, 0x85, 0x01, 0x24, 0x40, 0xd6, 0xab, 0x04,
-  0xad, 0xaf, 0xa8, 0x69, 0x5a, 0xcf, 0xfe, 0x47, 0xad, 0xe2, 0x9f, 0xdb,
-  0x2a, 0xaf, 0xaf, 0x57, 0x9e, 0xe3, 0x5f, 0xe7, 0xde, 0x19, 0xd3, 0x48,
-  0xd1, 0xf2, 0x5a, 0xe6, 0x25, 0x9e, 0xab, 0xc4, 0xd3, 0xd9, 0x9d, 0xde,
-  0x00, 0xcb, 0x1e, 0xcc, 0x8e, 0x73, 0x0c, 0xf2, 0x90, 0x25, 0x1b, 0x9b,
-  0x76, 0xb9, 0x8a, 0x30, 0x2c, 0x7b, 0x09, 0x34, 0x4b, 0x25, 0x75, 0x68,
-  0x97, 0xa9, 0xb0, 0x47, 0xc3, 0x39, 0x43, 0xf4, 0x15, 0xe1, 0xa4, 0x6c,
-  0x8c, 0xa7, 0x92, 0xad, 0x89, 0x1d, 0xa1, 0x2f, 0xb5, 0x05, 0x23, 0xb2,
-  0xce, 0x86, 0x51, 0x6f, 0xbf, 0x62, 0xd6, 0x84, 0xe0, 0x67, 0xb0, 0xa4,
-  0x1c, 0x18, 0xfe, 0x16, 0xbf, 0xbe, 0x95, 0xec, 0x10, 0x57, 0xdd, 0x55,
-  0xed, 0x35, 0xac, 0x7f, 0x76, 0x35, 0x75, 0x60, 0xbf, 0x69, 0x1d, 0x64,
-  0xce, 0x42, 0x7b, 0x4d, 0x8c, 0x91, 0x57, 0x19, 0x05, 0x60, 0xbd, 0x48,
-  0x2b, 0xa9, 0x1c, 0x9c, 0xaf, 0x17, 0x31, 0x33, 0x07, 0x37, 0x5b, 0x63,
-  0x43, 0x66, 0x8b, 0xea, 0xb5, 0xf6, 0x12, 0x70, 0x38, 0x33, 0x02, 0x3a,
-  0xb8, 0x30, 0x33, 0x42, 0x41, 0xcb, 0x82, 0x5b, 0x9c, 0x45, 0x29, 0x17,
-  0xae, 0x61, 0xec, 0x99, 0x2a, 0x98, 0x6c, 0x45, 0xf1, 0xdc, 0xaa, 0xec,
-  0x92, 0xa6, 0xe4, 0xda, 0xa8, 0xd1, 0x16, 0x50, 0x33, 0xef, 0x3c, 0x48,
-  0x1a, 0xdc, 0x3a, 0x3d, 0xbb, 0x38, 0x3e, 0x7d, 0x3f, 0x4e, 0xfe, 0x7d,
-  0x6b, 0x63, 0x79, 0x57, 0x1b, 0x58, 0xf9, 0xfb, 0x81, 0x3b, 0x93, 0xe4,
-  0xa5, 0xf8, 0x19, 0xfa, 0x6c, 0x63, 0x4f, 0x83, 0x9f, 0x1a, 0xe9, 0x6d,
-  0xd8, 0xab, 0xbe, 0x29, 0xd8, 0x6e, 0x72, 0x58, 0x1d, 0x24, 0x83, 0x40,
-  0x5b, 0xf6, 0x61, 0x1f, 0x7c, 0x1b, 0x9a, 0x79, 0xbd, 0x33, 0x59, 0x3a,
-  0xa3, 0xf7, 0x70, 0x60, 0xc6, 0x22, 0x69, 0xd9, 0x2f, 0xd8, 0x3b, 0x79,
-  0x0b, 0xdb, 0x7c, 0x43, 0xba, 0x29, 0x1e, 0xdc, 0x91, 0x46, 0xf4, 0xac,
-  0x68, 0xd5, 0x61, 0x86, 0xe0, 0x57, 0x47, 0x17, 0xbb, 0x52, 0xe8, 0x6a,
-  0xe7, 0x07, 0x4f, 0x97, 0xa8, 0x3d, 0xa9, 0xd5, 0xcc, 0xb4, 0xb4, 0x95,
-  0x81, 0xdc, 0x8c, 0xf6, 0xbc, 0x48, 0x8b, 0x68, 0x09, 0x1b, 0x69, 0xb4,
-  0xaf, 0xcd, 0x76, 0x10, 0x1f, 0x56, 0x8e, 0xac, 0xde, 0x13, 0xaf, 0x7f,
-  0x0e, 0xe3, 0x32, 0x9d, 0x7d, 0xb8, 0xc0, 0x80, 0x6f, 0x8e, 0x4e, 0x8e,
-  0x2e, 0x8e, 0xba, 0x96, 0xfb, 0x84, 0xc1, 0x2c, 0x51, 0xea, 0xd2, 0x64,
-  0xd3, 0xab, 0xa2, 0x5c, 0x94, 0x97, 0xb9, 0x34, 0x08, 0x4d, 0xbe, 0xcb,
-  0x26, 0x6f, 0x5e, 0x7d, 0x4b, 0xfa, 0x04, 0x79, 0x9c, 0xce, 0xce, 0x4f,
-  0xcf, 0xde, 0x1e, 0xbf, 0x7f, 0x33, 0x48, 0x5e, 0x9f, 0x9e, 0xfd, 0x65,
-  0x90, 0xbc, 0x3b, 0xfd, 0xf6, 0x28, 0x92, 0xe2, 0x4c, 0x08, 0xb7, 0x01,
-  0xc5, 0xd8, 0x56, 0x7d, 0x2c, 0xce, 0xd8, 0xf4, 0x46, 0x5b, 0xf0, 0x8e,
-  0x18, 0xa1, 0x1a, 0x80, 0xba, 0x14, 0x7e, 0x6b, 0xf6, 0x6e, 0x90, 0x7c,
-  0x7d, 0xf4, 0xea, 0xcd, 0x20, 0x00, 0x30, 0x1f, 0xf3, 0xaa, 0x68, 0x75,
-  0x76, 0xc9, 0x80, 0xbd, 0x66, 0xeb, 0x03, 0x3a, 0x02, 0x07, 0xb9, 0xf8,
-  0xca, 0x1a, 0x82, 0x45, 0x91, 0xfe, 0xac, 0x2f, 0x73, 0x42, 0x90, 0xf8,
-  0x7b, 0x5b, 0xf2, 0xb6, 0xca, 0x2e, 0xa0, 0xae, 0xf9, 0x8a, 0xb6, 0xc0,
-  0x35, 0x21, 0xb3, 0x5e, 0xeb, 0xb0, 0xec, 0x71, 0xf7, 0x20, 0x06, 0x0d,
-  0x5a, 0x48, 0x01, 0x60, 0x47, 0xec, 0x7a, 0x4c, 0xa5, 0xa3, 0x21, 0x7a,
-  0x16, 0x19, 0x33, 0x89, 0xb4, 0xea, 0xb9, 0x43, 0x89, 0x8d, 0x6b, 0xd8,
-  0xaa, 0x22, 0x94, 0x0a, 0xa6, 0x2e, 0xc0, 0x4d, 0xb4, 0x7d, 0xba, 0x45,
-  0x03, 0xed, 0x18, 0xf3, 0x3d, 0xff, 0x58, 0x65, 0x6c, 0x50, 0x69, 0x3d,
-  0x37, 0x84, 0x99, 0x71, 0xca, 0x14, 0xce, 0xc8, 0xb9, 0x05, 0x92, 0xe1,
-  0xb1, 0x3a, 0x25, 0x36, 0x29, 0x58, 0x72, 0x59, 0xc4, 0x31, 0x03, 0xa0,
-  0x28, 0x75, 0x58, 0xb5, 0x79, 0x84, 0x6b, 0xa8, 0xcb, 0xf7, 0x6e, 0x1e,
-  0xf0, 0x35, 0xd2, 0xf7, 0xed, 0x19, 0x0f, 0x04, 0xe8, 0xc2, 0xd6, 0x4f,
-  0xf8, 0xfb, 0x82, 0xec, 0xdb, 0xb6, 0x3f, 0xcb, 0x48, 0xd8, 0x40, 0xb8,
-  0xd0, 0x63, 0x86, 0x93, 0x14, 0xe2, 0x10, 0xa5, 0xc0, 0xdb, 0x90, 0x2d,
-  0x69, 0x3f, 0xe7, 0x57, 0xd9, 0xa7, 0xaa, 0xa6, 0x3a, 0x85, 0x78, 0x0b,
-  0xf9, 0x56, 0x0b, 0x66, 0x7b, 0xf0, 0x8f, 0xf6, 0x6f, 0x9d, 0x8f, 0x9d,
-  0x74, 0x89, 0x3a, 0x19, 0x0a, 0xde, 0x37, 0x8a, 0xf7, 0x82, 0xad, 0xdb,
-  0x79, 0xdb, 0xc3, 0x18, 0x7d, 0xaf, 0xad, 0xad, 0xe8, 0xb7, 0xd9, 0xe6,
-  0x27, 0xc7, 0xe6, 0x3a, 0x44, 0xa0, 0x71, 0x66, 0x25, 0x1a, 0x0d, 0x23,
-  0xcd, 0x20, 0x57, 0x51, 0x42, 0x63, 0x85, 0x1f, 0xa6, 0xce, 0xdb, 0xd1,
-  0x2f, 0xa3, 0x25, 0xf7, 0x3d, 0x9f, 0x0e, 0xce, 0xec, 0xfc, 0xe8, 0xe2,
-  0x7c, 0x94, 0xec, 0xf8, 0x98, 0xaf, 0x4f, 0x47, 0xfb, 0x61, 0xd0, 0x86,
-  0x9a, 0x7e, 0xef, 0x26, 0xde, 0x67, 0xdd, 0x77, 0xd1, 0x0f, 0x7c, 0xf3,
-  0x77, 0xc3, 0x3c, 0x62, 0x0f, 0xe9, 0x69, 0x3f, 0xf6, 0x3d, 0xbf, 0xb5,
-  0x78, 0x6b, 0x95, 0xf4, 0x8b, 0x0d, 0x5f, 0xfb, 0xfa, 0xe8, 0xe4, 0x2c,
-  0x5c, 0xe5, 0xb7, 0xe7, 0x6f, 0xff, 0xd2, 0x5e, 0xe5, 0xa3, 0xc7, 0x91,
-  0xaf, 0xfe, 0x92, 0x0e, 0xf5, 0xac, 0x2e, 0x17, 0x46, 0x5f, 0x41, 0x15,
-  0x07, 0x8a, 0x38, 0x5e, 0x18, 0x01, 0x40, 0xb9, 0xe6, 0x7f, 0x1d, 0xc8,
-  0x5f, 0x7e, 0x1c, 0x8d, 0x46, 0x7f, 0x0a, 0x51, 0xd1, 0xe1, 0xa3, 0x71,
-  0xeb, 0x95, 0x87, 0xbb, 0x26, 0x38, 0xaa, 0x66, 0x50, 0x26, 0x44, 0x91,
-  0x8b, 0x55, 0x9a, 0x57, 0x54, 0xf2, 0x18, 0x13, 0xb8, 0xb4, 0x22, 0x57,
-  0xe8, 0x65, 0xb5, 0x39, 0x01, 0x04, 0xe3, 0xcb, 0xba, 0x53, 0xef, 0x4a,
-  0x55, 0xb5, 0x57, 0x4f, 0x92, 0xce, 0x02, 0x47, 0x08, 0x37, 0x47, 0xc1,
-  0x67, 0x2b, 0x72, 0xd0, 0xb2, 0xa2, 0xe9, 0x04, 0x6d, 0xa1, 0xc2, 0x43,
-  0x96, 0x3f, 0xb3, 0xd3, 0x8f, 0x79, 0x2f, 0xb8, 0x4e, 0xf2, 0xb5, 0x44,
-  0xd4, 0x61, 0x7f, 0x41, 0xa2, 0xa0, 0xcf, 0x6c, 0xd6, 0x4c, 0xf7, 0x68,
-  0x91, 0x75, 0xd0, 0x0b, 0x89, 0x95, 0xb8, 0xd0, 0x89, 0x24, 0x58, 0x2b,
-  0x5e, 0x09, 0x2d, 0x67, 0xb7, 0x78, 0x35, 0x09, 0xae, 0x8a, 0xd7, 0xd3,
-  0xd5, 0xd5, 0x39, 0x12, 0xeb, 0xe1, 0xa2, 0xdb, 0x6d, 0x2b, 0x47, 0x80,
-  0x9e, 0x56, 0xd6, 0x4d, 0xeb, 0xe0, 0xe9, 0x6d, 0xb2, 0x01, 0x9b, 0x44,
-  0x0b, 0xd5, 0x42, 0xb5, 0x1f, 0xdc, 0x59, 0x29, 0x89, 0xf2, 0x28, 0x80,
-  0x3e, 0x3e, 0x6f, 0xf9, 0x5c, 0xd4, 0x43, 0xe7, 0x9f, 0x39, 0xa6, 0x11,
-  0xfa, 0x35, 0x30, 0x07, 0x46, 0x12, 0x57, 0x03, 0x9e, 0x16, 0x1a, 0xca,
-  0xc3, 0x3f, 0xb7, 0xaa, 0xcc, 0xb7, 0xff, 0x7d, 0x9b, 0x54, 0x61, 0xbc,
-  0x1d, 0xad, 0x6d, 0x57, 0xba, 0x25, 0xc3, 0x06, 0x8f, 0x45, 0xf4, 0x06,
-  0xb7, 0x2b, 0x4a, 0x7b, 0x36, 0x5d, 0xca, 0x52, 0x8f, 0x2c, 0x61, 0x94,
-  0x7c, 0x97, 0x2f, 0x66, 0xd3, 0xb4, 0x42, 0x7a, 0x58, 0x28, 0x5e, 0x85,
-  0x4a, 0x70, 0x9d, 0xea, 0x12, 0x5f, 0x75, 0x77, 0x47, 0x7b, 0xc9, 0xc4,
-  0x69, 0x3e, 0x56, 0xf4, 0x63, 0xcf, 0x83, 0x82, 0xdf, 0x3d, 0x4d, 0xbb,
-  0x84, 0x7e, 0x74, 0x8f, 0x49, 0xda, 0xb5, 0x5b, 0x78, 0xb4, 0x8f, 0x56,
-  0xe3, 0x10, 0xc3, 0xc7, 0x61, 0x2c, 0x25, 0x5f, 0x5d, 0x3f, 0x86, 0xfb,
-  0xea, 0xe9, 0x80, 0xff, 0xf5, 0x94, 0xc1, 0x21, 0x1b, 0x2b, 0xdc, 0xb1,
-  0xad, 0x6c, 0xc6, 0xb0, 0xd6, 0x7f, 0x7c, 0xa6, 0x15, 0xae, 0x5d, 0x9e,
-  0x38, 0x96, 0x28, 0xa4, 0xe0, 0x23, 0x98, 0x59, 0xaa, 0x01, 0x63, 0xde,
-  0xd1, 0xd9, 0xd2, 0x96, 0x18, 0xfe, 0xf5, 0xd7, 0x49, 0x45, 0xb0, 0x23,
-  0x4d, 0xfd, 0xe3, 0xa6, 0x7a, 0x62, 0xa3, 0xf3, 0x3f, 0x1b, 0x85, 0x75,
-  0x5b, 0x63, 0x1f, 0xfa, 0xdc, 0x7d, 0xc9, 0xe6, 0xfb, 0xba, 0xcf, 0x51,
-  0x86, 0x3f, 0xc2, 0x76, 0x94, 0xf5, 0xb3, 0xf9, 0x43, 0xcf, 0x37, 0x7c,
-  0x68, 0x0e, 0x60, 0x23, 0x3a, 0x53, 0x6b, 0x00, 0xdc, 0x28, 0x55, 0xf8,
-  0x35, 0xca, 0x66, 0x9c, 0xa7, 0x8f, 0x47, 0xfb, 0x0f, 0xcf, 0x50, 0x76,
-  0xd6, 0x37, 0x79, 0xf6, 0x66, 0xf2, 0x13, 0x90, 0x89, 0xa4, 0x88, 0x95,
-  0x7d, 0x34, 0xb7, 0xb1, 0x33, 0x06, 0xc1, 0xe6, 0xb4, 0x78, 0xb9, 0x59,
-  0x3f, 0x4a, 0x84, 0x2a, 0x63, 0x1c, 0xd6, 0xc1, 0x0e, 0x1c, 0x7b, 0xda,
-  0xbd, 0xde, 0x04, 0x3e, 0x6d, 0x4a, 0x1d, 0xc1, 0x8f, 0x09, 0x7f, 0x41,
-  0xf9, 0xdc, 0x11, 0xd5, 0x31, 0x9d, 0x1f, 0xbd, 0xfd, 0x30, 0x3e, 0x7a,
-  0x03, 0xb8, 0xcd, 0x58, 0x3f, 0xa5, 0x9c, 0x6e, 0x34, 0x47, 0x26, 0x9a,
-  0x92, 0x95, 0x4a, 0x99, 0x48, 0xbb, 0xe1, 0x20, 0xf7, 0xc8, 0x84, 0x42,
-  0xd6, 0x94, 0xc6, 0x30, 0x0e, 0xeb, 0x4e, 0x58, 0x95, 0x93, 0x77, 0x7f,
-  0x02, 0xee, 0x08, 0xaf, 0x7a, 0x96, 0x51, 0x73, 0xae, 0x97, 0x9c, 0x05,
-  0x13, 0x80, 0xaa, 0xbd, 0xf3, 0xb2, 0xd8, 0xeb, 0x45, 0x96, 0xad, 0x34,
-  0xe8, 0x9f, 0x2e, 0xcb, 0x75, 0xc1, 0x9e, 0x51, 0x73, 0x3e, 0xea, 0x0f,
-  0x84, 0xf7, 0x19, 0xe3, 0xb2, 0xfa, 0x96, 0xf6, 0x74, 0x92, 0x82, 0xd3,
-  0x87, 0xf2, 0xd5, 0x1d, 0x60, 0x40, 0x77, 0x53, 0x76, 0xf2, 0xc6, 0xaa,
-  0xf5, 0x0a, 0x3f, 0x1e, 0x74, 0xd5, 0x63, 0x38, 0x72, 0x42, 0xe8, 0x31,
-  0x86, 0x11, 0x63, 0x55, 0x92, 0x96, 0x7a, 0x59, 0x56, 0x66, 0xd0, 0xa5,
-  0x2d, 0x56, 0x64, 0x44, 0x87, 0x7a, 0xb7, 0xdb, 0xca, 0xb1, 0x6b, 0xb6,
-  0x93, 0x2d, 0x81, 0x08, 0x78, 0xc6, 0xf5, 0xdb, 0xc4, 0x15, 0x78, 0x9b,
-  0xe0, 0x31, 0xa1, 0xe8, 0x20, 0x8b, 0xb4, 0xb1, 0x54, 0x5d, 0x63, 0x2f,
-  0x78, 0x07, 0x43, 0x73, 0x93, 0xba, 0x8e, 0x74, 0x9d, 0x39, 0xaa, 0xba,
-  0x6b, 0x34, 0x40, 0xa7, 0x4e, 0x33, 0xff, 0x2d, 0xbb, 0xb9, 0x1d, 0x1c,
-  0xc6, 0x6e, 0xc0, 0x32, 0xbd, 0x85, 0x8b, 0xaa, 0x97, 0x1c, 0xc4, 0x61,
-  0x4b, 0x1b, 0x42, 0xcf, 0x55, 0xcc, 0xf3, 0xc1, 0x61, 0x5d, 0xe9, 0x0b,
-  0x27, 0x26, 0xd9, 0xa3, 0x16, 0xff, 0x15, 0x19, 0xde, 0x61, 0xe8, 0x11,
-  0x50, 0x59, 0x32, 0x67, 0x78, 0x09, 0x53, 0x5a, 0x24, 0xd9, 0x6f, 0x3b,
-  0xdc, 0x58, 0x0a, 0x1f, 0xdb, 0xa5, 0x1f, 0x2f, 0x4a, 0x8a, 0x51, 0x2a,
-  0x31, 0xe0, 0xf3, 0x21, 0x64, 0x1f, 0x99, 0x09, 0x15, 0x51, 0x21, 0x32,
-  0xf0, 0x6c, 0xe2, 0x0d, 0x9a, 0xd9, 0xa0, 0x58, 0x8c, 0xf0, 0xcb, 0xd8,
-  0x05, 0x36, 0xb7, 0x3e, 0xb4, 0x4a, 0xde, 0x0c, 0x72, 0x58, 0x75, 0x9c,
-  0x8c, 0x07, 0x18, 0xb4, 0x61, 0x95, 0x65, 0xda, 0xa8, 0xcd, 0x84, 0x9f,
-  0x80, 0x7b, 0xa9, 0x69, 0x8d, 0x7c, 0x44, 0x55, 0x63, 0xb0, 0x01, 0x72,
-  0x35, 0xa2, 0xb6, 0x89, 0x56, 0x04, 0x43, 0x33, 0x2d, 0xfc, 0xc9, 0xe2,
-  0x04, 0xcc, 0x20, 0x79, 0x39, 0x43, 0x55, 0x14, 0x77, 0xe2, 0xe9, 0x81,
-  0x8f, 0x91, 0xd9, 0x6c, 0x93, 0xab, 0xf2, 0x36, 0x5f, 0xae, 0x97, 0x78,
-  0x7d, 0xc0, 0x06, 0xd8, 0x92, 0xa4, 0x96, 0x1e, 0x2a, 0xb2, 0x0b, 0x6d,
-  0xdb, 0xaf, 0x98, 0x33, 0x83, 0x58, 0x1b, 0x88, 0xb6, 0xe1, 0x94, 0x1f,
-  0x7a, 0x8b, 0x5b, 0x6c, 0xe0, 0xa0, 0xfe, 0xa7, 0xd3, 0x67, 0xf2, 0xd2,
-  0x28, 0x74, 0x7f, 0x8a, 0x44, 0xa3, 0x53, 0x9f, 0xa7, 0x0a, 0xff, 0x00,
-  0x65, 0x52, 0xaa, 0x73, 0x36, 0xf3, 0x4c, 0x49, 0xa6, 0x38, 0xd2, 0xc4,
-  0xf8, 0x90, 0x7a, 0x39, 0xd4, 0xc0, 0x3a, 0xbe, 0x85, 0xdc, 0x69, 0xa1,
-  0xce, 0xf7, 0xcb, 0x42, 0x49, 0x88, 0x9e, 0xce, 0x4d, 0x3a, 0x8f, 0x04,
-  0x32, 0x5f, 0xe1, 0x19, 0x40, 0xb4, 0xf2, 0xbe, 0xf9, 0xfc, 0xbe, 0x24,
-  0xc5, 0x88, 0x7d, 0x4b, 0x1e, 0x73, 0xd9, 0x65, 0x75, 0x63, 0xb5, 0x7b,
-  0x85, 0xd8, 0x70, 0x20, 0xd8, 0x06, 0x31, 0xb2, 0x0e, 0xbb, 0x64, 0xb5,
-  0x94, 0xa1, 0x90, 0x5e, 0x10, 0x3b, 0xe5, 0xb3, 0x1b, 0x70, 0xb2, 0x26,
-  0x32, 0x34, 0x1f, 0xdf, 0xde, 0x06, 0x14, 0xee, 0x19, 0xc4, 0x8c, 0x37,
-  0xc9, 0xd6, 0xf2, 0xe3, 0x7d, 0x94, 0x39, 0x3e, 0xb9, 0xed, 0x18, 0xcd,
-  0xa3, 0x38, 0x38, 0x24, 0xcb, 0x07, 0x62, 0x91, 0x93, 0x92, 0xa3, 0x70,
-  0xbc, 0x69, 0x69, 0x64, 0x3b, 0x99, 0x3b, 0xdc, 0xa4, 0x39, 0x08, 0x22,
-  0x48, 0x6d, 0x40, 0x2e, 0xa6, 0x6d, 0xf6, 0xaa, 0x51, 0x52, 0x34, 0x2d,
-  0x34, 0x9a, 0x3f, 0x6d, 0xa5, 0xee, 0x93, 0xcd, 0x03, 0x98, 0x95, 0x6b,
-  0x40, 0x61, 0x84, 0xdb, 0x45, 0x5f, 0xe1, 0xdd, 0xa7, 0x2b, 0x65, 0xe4,
-  0x55, 0xbe, 0xa0, 0xd7, 0xf8, 0x62, 0xd7, 0xc9, 0x81, 0x39, 0x85, 0xbc,
-  0x58, 0x37, 0x16, 0xae, 0x0f, 0xdf, 0xb4, 0xb0, 0x33, 0x91, 0xdd, 0x5f,
-  0x20, 0xd1, 0x57, 0x2b, 0xe0, 0xe9, 0xf6, 0xd5, 0x5e, 0x74, 0x90, 0x6f,
-  0x09, 0x34, 0x72, 0xdb, 0xd3, 0xd9, 0x97, 0xb2, 0x31, 0x57, 0x91, 0x0d,
-  0xc3, 0x8a, 0x5c, 0xcd, 0x6e, 0xcd, 0x6e, 0x33, 0x8a, 0x92, 0x27, 0xd8,
-  0xac, 0x48, 0x1b, 0x79, 0x5d, 0x28, 0x22, 0x99, 0x3f, 0x2d, 0x26, 0x6e,
-  0x9b, 0x78, 0x81, 0xcf, 0x95, 0x8d, 0x5c, 0x49, 0xdb, 0x7c, 0x8d, 0xb5,
-  0xb6, 0xff, 0xe9, 0x57, 0xbb, 0x4e, 0xeb, 0xc5, 0x30, 0xef, 0xf2, 0xf2,
-  0x23, 0xe4, 0x12, 0xda, 0x5c, 0x20, 0x4b, 0x85, 0x66, 0x88, 0xf1, 0xab,
-  0xf1, 0x49, 0x07, 0xcb, 0x6b, 0x23, 0xd0, 0xf4, 0x41, 0x5b, 0xed, 0x79,
-  0x20, 0x1a, 0xe6, 0x4f, 0x06, 0xc3, 0x64, 0x74, 0xe2, 0xbe, 0x06, 0x7f,
-  0xf5, 0x0b, 0x7c, 0xdc, 0x61, 0xee, 0x06, 0x53, 0x61, 0xfc, 0x22, 0xd4,
-  0x6c, 0x70, 0x27, 0x46, 0x36, 0xa0, 0x23, 0x18, 0x47, 0xb3, 0x3d, 0x49,
-  0x01, 0xba, 0x2f, 0x92, 0xce, 0x10, 0x9b, 0xba, 0xf2, 0x31, 0x49, 0x03,
-  0xea, 0x54, 0x3a, 0x8c, 0xc1, 0xf5, 0xd8, 0xa4, 0x40, 0xd1, 0x27, 0x6b,
-  0x3c, 0x4d, 0x09, 0x41, 0xec, 0x1d, 0xf5, 0xf8, 0x15, 0x8d, 0xe1, 0xf2,
-  0x6a, 0x08, 0xe8, 0x3d, 0x84, 0x85, 0xe7, 0x70, 0xeb, 0x9c, 0x9b, 0x41,
-  0xea, 0x0c, 0xbc, 0x31, 0xbb, 0x7c, 0x32, 0xe7, 0x5e, 0x01, 0x55, 0xf2,
-  0xf7, 0x75, 0x9e, 0x35, 0x28, 0xba, 0x1a, 0x25, 0x6f, 0x38, 0x2d, 0x4c,
-  0x3a, 0x2a, 0x72, 0xe7, 0x56, 0xb4, 0x77, 0xe5, 0x52, 0x67, 0xfe, 0x3e,
-  0x4d, 0x20, 0xb0, 0x00, 0xcc, 0x84, 0x50, 0xcd, 0xf7, 0x0e, 0xb3, 0x4e,
-  0x5e, 0xd3, 0xb4, 0x97, 0xe6, 0xa6, 0x03, 0x6b, 0xc6, 0x43, 0x11, 0xd3,
-  0xbc, 0x01, 0xcd, 0xe4, 0x47, 0xb2, 0x6a, 0xfd, 0x29, 0xcc, 0xd5, 0x1f,
-  0xb4, 0x3a, 0x52, 0xc1, 0x66, 0x14, 0x43, 0xa0, 0xa1, 0x76, 0x66, 0x45,
-  0xba, 0xd8, 0xab, 0x9b, 0x19, 0x71, 0xbf, 0x75, 0xb1, 0xa0, 0x79, 0xd2,
-  0x48, 0x3d, 0xfd, 0x11, 0x23, 0x78, 0x3b, 0xc0, 0xfb, 0xa0, 0x13, 0x6a,
-  0x1d, 0x91, 0xc4, 0xf0, 0xfb, 0x22, 0xbd, 0x5e, 0x16, 0x47, 0x08, 0xfe,
-  0xe3, 0xef, 0x16, 0xb9, 0x11, 0x78, 0xbd, 0xd8, 0xcb, 0xd6, 0xb9, 0x6d,
-  0x82, 0x42, 0xb8, 0xa6, 0xf3, 0x32, 0x84, 0x36, 0x29, 0x6b, 0x05, 0x89,
-  0x36, 0x8b, 0x34, 0xaf, 0xb7, 0xee, 0x13, 0xa0, 0xb6, 0xee, 0x45, 0x33,
-  0x89, 0xb4, 0x19, 0x7f, 0x7c, 0x2f, 0x8c, 0x09, 0xbf, 0x11, 0x36, 0xd3,
-  0xfe, 0xc9, 0x40, 0x26, 0x71, 0xa4, 0x26, 0x32, 0x26, 0x6d, 0xf2, 0xa3,
-  0x64, 0x35, 0xb5, 0x50, 0x3d, 0x38, 0xe6, 0x7b, 0x17, 0x69, 0x45, 0x68,
-  0x88, 0x69, 0x2d, 0x18, 0x08, 0xd3, 0x85, 0x61, 0xf6, 0x11, 0x83, 0x53,
-  0x7b, 0x50, 0x12, 0xdc, 0xd7, 0xa0, 0xcb, 0x4e, 0xeb, 0x35, 0x69, 0x20,
-  0x8b, 0x35, 0x7d, 0x99, 0x91, 0xb2, 0x2c, 0x52, 0x93, 0x96, 0x6e, 0x47,
-  0xd1, 0xcd, 0x2c, 0x1e, 0x0a, 0xdd, 0x51, 0x0f, 0xe8, 0x4d, 0xb1, 0x4b,
-  0x2d, 0x06, 0x5a, 0x17, 0x2c, 0x6c, 0xd4, 0x33, 0x3b, 0xb2, 0x0a, 0x07,
-  0x7e, 0xeb, 0x78, 0xdf, 0x00, 0xa7, 0x62, 0x16, 0x9d, 0x4e, 0xbb, 0x1d,
-  0x7b, 0x0c, 0xbd, 0xca, 0x86, 0x86, 0x5b, 0x33, 0x53, 0xd9, 0xa1, 0x95,
-  0xd2, 0x48, 0x30, 0xf7, 0xd1, 0xce, 0xd0, 0x22, 0x3e, 0x88, 0x7b, 0x3c,
-  0xa4, 0x5f, 0x7c, 0x6f, 0x87, 0xf8, 0x10, 0x89, 0x24, 0xd6, 0x31, 0xde,
-  0x8f, 0x0f, 0x94, 0x2d, 0xb8, 0xdd, 0xdf, 0x54, 0x1e, 0x3e, 0x69, 0x37,
-  0x0e, 0x13, 0xe8, 0xba, 0x9f, 0x75, 0xa1, 0xd2, 0x87, 0xdd, 0xa8, 0x9e,
-  0xaa, 0x82, 0xff, 0x3b, 0x6f, 0x54, 0x9a, 0x3c, 0xec, 0x4e, 0xa5, 0xdd,
-  0x4b, 0x15, 0xb2, 0xa5, 0xdb, 0xde, 0x19, 0xff, 0x82, 0xb7, 0x8c, 0xaf,
-  0xd9, 0x4f, 0xba, 0x67, 0x4a, 0x14, 0xff, 0x37, 0xdf, 0xb2, 0xcf, 0x3b,
-  0x5a, 0x20, 0x70, 0x20, 0x1f, 0xd8, 0x9f, 0x8f, 0x92, 0xc1, 0x49, 0xd7,
-  0xda, 0xb3, 0x90, 0x6d, 0xf1, 0x06, 0x0f, 0x0c, 0x31, 0x14, 0x0b, 0xd1,
-  0x94, 0x7a, 0xb2, 0x4f, 0x2c, 0xcf, 0xd3, 0xf2, 0xea, 0x8d, 0x03, 0x87,
-  0x4e, 0x2a, 0x05, 0xc2, 0x45, 0x2e, 0xab, 0x6d, 0xe9, 0x98, 0x48, 0xb3,
-  0x08, 0x59, 0xd6, 0xa5, 0x11, 0xed, 0xab, 0x3c, 0xe1, 0x8e, 0xd4, 0x86,
-  0x00, 0xbf, 0x1a, 0x8f, 0x87, 0xaf, 0xce, 0x8e, 0xcd, 0xe8, 0xc3, 0x90,
-  0xa2, 0x3c, 0x44, 0xdc, 0xd2, 0x9f, 0x64, 0xcc, 0x2e, 0xe8, 0x4f, 0x37,
-  0x69, 0x7f, 0xda, 0x28, 0xba, 0xdd, 0x6d, 0x7d, 0x55, 0xb7, 0x92, 0x29,
-  0x75, 0x4a, 0xb6, 0xb1, 0x00, 0x29, 0xdb, 0x8a, 0x2d, 0x8b, 0x78, 0x31,
-  0xd9, 0xa4, 0xc4, 0x65, 0xf8, 0x89, 0x20, 0xf7, 0x14, 0x48, 0x22, 0x00,
-  0x01, 0x49, 0x0e, 0x9e, 0x3f, 0x3d, 0x30, 0xd7, 0xe2, 0x8e, 0x01, 0xee,
-  0xe4, 0xfd, 0xc7, 0xa3, 0x47, 0x7b, 0x8f, 0x47, 0x8f, 0x89, 0xab, 0xb9,
-  0xa8, 0x90, 0x8c, 0x6f, 0xb8, 0x5d, 0x24, 0xfb, 0x82, 0xa6, 0xf5, 0xfe,
-  0xe8, 0x75, 0xc2, 0x09, 0x7a, 0x80, 0x3b, 0x4b, 0x50, 0x2b, 0x44, 0x75,
-  0x47, 0x72, 0x1e, 0x48, 0x12, 0x20, 0x46, 0x3a, 0x52, 0x77, 0x18, 0x13,
-  0x6b, 0x60, 0x8c, 0x05, 0xdb, 0x91, 0xa8, 0x2d, 0x81, 0x02, 0xfc, 0xc2,
-  0xce, 0x84, 0xf8, 0x1d, 0x9b, 0x15, 0xb2, 0x33, 0xab, 0x48, 0xbb, 0x72,
-  0x7f, 0x4f, 0xbc, 0x1d, 0xbb, 0x27, 0x8d, 0xf6, 0x71, 0xff, 0xf9, 0xa8,
-  0xf9, 0xd2, 0x63, 0x00, 0x39, 0x0f, 0x65, 0x60, 0xe7, 0x08, 0x3f, 0xd4,
-  0xf4, 0x42, 0xf2, 0xb3, 0x4c, 0x97, 0xd6, 0x24, 0x99, 0xff, 0x7d, 0x56,
-  0x8c, 0x7e, 0xaa, 0x3d, 0x15, 0x51, 0x88, 0xdb, 0x66, 0x13, 0xcf, 0x5d,
-  0x18, 0xb5, 0x98, 0x4b, 0x7d, 0x2b, 0x62, 0x13, 0xa9, 0xeb, 0x09, 0x00,
-  0x01, 0xd0, 0x5d, 0x66, 0x03, 0xca, 0x1b, 0xc8, 0x8e, 0xbe, 0x69, 0xf0,
-  0x48, 0x09, 0x86, 0xfb, 0xd6, 0x5e, 0x95, 0xa5, 0x0b, 0x79, 0x51, 0x4c,
-  0x37, 0x20, 0xa3, 0x06, 0xbf, 0x9c, 0xa3, 0x8d, 0x56, 0x1d, 0x00, 0x51,
-  0x31, 0x92, 0xb3, 0x85, 0x81, 0xe3, 0xa7, 0x6d, 0x3a, 0x8a, 0xd7, 0xb0,
-  0xa2, 0x32, 0xe2, 0x24, 0x5f, 0xa5, 0x8b, 0xe4, 0x01, 0x39, 0xd4, 0xfd,
-  0x87, 0x7f, 0x2f, 0xbf, 0x73, 0xec, 0x22, 0xe4, 0x72, 0xb6, 0x60, 0x59,
-  0x13, 0xe5, 0xba, 0x52, 0x55, 0x38, 0x48, 0x8b, 0xcf, 0xf5, 0x0c, 0x48,
-  0x49, 0xbd, 0xc2, 0xce, 0x1c, 0xda, 0x4d, 0x37, 0x51, 0x20, 0x9f, 0x5b,
-  0xe4, 0xb7, 0x69, 0xb9, 0x5c, 0xb9, 0x98, 0x81, 0x0e, 0x2a, 0xd5, 0x7d,
-  0xd4, 0x6e, 0x9e, 0xcd, 0xa8, 0x4d, 0xcc, 0xdd, 0xb2, 0xc4, 0x7b, 0x59,
-  0xef, 0x2f, 0xc1, 0x0c, 0x49, 0x85, 0x63, 0x3f, 0xc3, 0x4f, 0xc5, 0x7a,
-  0xf4, 0x85, 0x45, 0xb2, 0x83, 0x80, 0xb7, 0xad, 0xd6, 0xa2, 0x1f, 0x69,
-  0x08, 0x35, 0xf4, 0x52, 0xd9, 0xe8, 0xd8, 0xee, 0xe8, 0x21, 0xa0, 0xb8,
-  0x03, 0xc1, 0xbf, 0xb5, 0x90, 0xb7, 0x01, 0x9f, 0xfd, 0xbf, 0x42, 0x0d,
-  0x7c, 0x92, 0xd8, 0xb3, 0x7a, 0x88, 0x36, 0xc8, 0x08, 0xd2, 0xdc, 0x57,
-  0x39, 0x80, 0xf8, 0x72, 0x26, 0xd7, 0xff, 0xaf, 0x0d, 0xfe, 0xef, 0xa4,
-  0x0d, 0xfe, 0xe4, 0x5b, 0xda, 0xba, 0xa4, 0x43, 0xc9, 0xe0, 0xb4, 0xf7,
-  0xd2, 0xdd, 0xc4, 0x78, 0x62, 0xf5, 0xe2, 0xee, 0x81, 0x17, 0xb4, 0x7b,
-  0x43, 0x93, 0x90, 0x14, 0xfe, 0xef, 0xb8, 0xa2, 0x0f, 0xba, 0x99, 0xff,
-  0xbf, 0xef, 0xe3, 0x7f, 0xb5, 0x7b, 0xd8, 0xaf, 0x0d, 0xee, 0x18, 0x22,
-  0xbb, 0xa1, 0xec, 0x24, 0xee, 0xe9, 0x04, 0x3b, 0x7b, 0xd7, 0x69, 0x3e,
-  0x54, 0x77, 0xc4, 0x7b, 0x77, 0x7c, 0xf6, 0xed, 0x53, 0x46, 0x1a, 0x19,
-  0x77, 0x83, 0xf6, 0x55, 0x72, 0xf2, 0xe6, 0xd5, 0xd9, 0x4f, 0xb8, 0xed,
-  0x7f, 0x81, 0x17, 0x7a, 0x95, 0x65, 0xb3, 0x21, 0xc7, 0x47, 0x5e, 0xe2,
-  0x1f, 0x91, 0xc0, 0x62, 0x6a, 0x91, 0x04, 0x40, 0xb6, 0x14, 0x36, 0x09,
-  0xc3, 0xb5, 0x78, 0xd9, 0xa8, 0x29, 0x85, 0x60, 0x7b, 0xac, 0xd0, 0xfa,
-  0x2c, 0xf0, 0xb1, 0x94, 0xc5, 0x6c, 0x97, 0x0b, 0x9a, 0xf0, 0x65, 0x90,
-  0x8a, 0x44, 0xd9, 0xe9, 0x7e, 0x5f, 0x12, 0xfa, 0x97, 0x05, 0x48, 0xf4,
-  0x9e, 0x51, 0xc4, 0xdb, 0x68, 0xd2, 0xc7, 0x9d, 0x5b, 0x0a, 0x87, 0x76,
-  0x18, 0xa5, 0xeb, 0xd1, 0x3e, 0xf9, 0xdf, 0xc1, 0x45, 0xb2, 0xe6, 0x57,
-  0x44, 0x15, 0xe8, 0x7e, 0xbe, 0x2f, 0x6d, 0x60, 0xe3, 0x56, 0xfa, 0x27,
-  0xd1, 0xda, 0x41, 0x8a, 0x04, 0xce, 0xd6, 0x55, 0xd8, 0x2d, 0x31, 0xf5,
-  0xf7, 0x87, 0x03, 0xe5, 0x3c, 0x5f, 0xfb, 0x89, 0xf6, 0x6e, 0x9a, 0xcf,
-  0x7b, 0x2f, 0x04, 0x16, 0xb5, 0xad, 0xbd, 0xf1, 0x5b, 0xdc, 0xfb, 0xb3,
-  0x72, 0x99, 0xd1, 0x07, 0xea, 0xdd, 0x77, 0x29, 0xd4, 0x7f, 0x09, 0xb3,
-  0xc6, 0xbc, 0x77, 0x37, 0xa7, 0x3a, 0x95, 0x45, 0x53, 0x51, 0x2b, 0x05,
-  0x8d, 0x92, 0x2a, 0xa2, 0xb6, 0xe1, 0x8b, 0x7e, 0x8d, 0x73, 0x8a, 0x8c,
-  0xe8, 0x04, 0xbb, 0x16, 0xb6, 0x15, 0xe4, 0xfb, 0x9d, 0x64, 0xcd, 0x74,
-  0xe4, 0xce, 0x16, 0x50, 0x6d, 0xe6, 0x97, 0x53, 0xa3, 0xe4, 0x6a, 0xef,
-  0xdd, 0x41, 0xc2, 0x81, 0x6c, 0x32, 0x79, 0x7a, 0x7c, 0x15, 0x1a, 0xf1,
-  0xff, 0xf5, 0xdb, 0x50, 0x6d, 0xee, 0xf3, 0x16, 0x96, 0xca, 0xab, 0x79,
-  0x62, 0xd9, 0x42, 0x6a, 0xd8, 0x19, 0x2a, 0xcc, 0xd1, 0x0c, 0x36, 0x6f,
-  0xee, 0x08, 0x6d, 0xe1, 0x46, 0x92, 0xfd, 0xbb, 0xfc, 0x7e, 0x7c, 0xf2,
-  0x88, 0x33, 0x1b, 0x2f, 0x4e, 0xc6, 0x3e, 0x4e, 0x78, 0x8d, 0xfe, 0xc0,
-  0xa8, 0xf4, 0xfa, 0xf3, 0xd1, 0xab, 0xf1, 0xc5, 0x28, 0xb2, 0xc6, 0x30,
-  0x31, 0xc4, 0x15, 0x7e, 0x12, 0x80, 0xd3, 0x22, 0xbd, 0x23, 0x94, 0x40,
-  0xa9, 0x1f, 0xa3, 0xb9, 0xf1, 0xd4, 0x74, 0x6c, 0x32, 0x73, 0xb9, 0x53,
-  0x06, 0x52, 0x8b, 0xc2, 0xd4, 0x0b, 0xb3, 0x77, 0x93, 0x7c, 0x41, 0x2b,
-  0x30, 0xd3, 0x32, 0xc6, 0xd0, 0x52, 0x92, 0xc3, 0x51, 0x8d, 0x5c, 0x2e,
-  0x28, 0xa3, 0x8c, 0xbe, 0xd3, 0xf6, 0x44, 0x50, 0xe2, 0xa5, 0x94, 0x68,
-  0xf7, 0x17, 0x5c, 0x1a, 0xbd, 0xa3, 0xa4, 0x36, 0x37, 0x76, 0xae, 0xba,
-  0x57, 0x5c, 0x0d, 0xe6, 0x35, 0x26, 0xa3, 0x4e, 0xdc, 0x04, 0x56, 0x11,
-  0xa6, 0xb5, 0xa6, 0xf5, 0x27, 0xcd, 0xec, 0x47, 0xfb, 0x44, 0x4a, 0x9e,
-  0xd9, 0x98, 0x5b, 0xd7, 0xb5, 0x84, 0xcc, 0x41, 0xa3, 0xf6, 0x97, 0xaa,
-  0x40, 0x82, 0x24, 0x70, 0x72, 0x00, 0x14, 0xd9, 0x62, 0x77, 0xc3, 0x89,
-  0x6b, 0x80, 0xdc, 0x6f, 0xef, 0x48, 0xa3, 0xc5, 0x7b, 0x4a, 0x25, 0xd3,
-  0xab, 0xcc, 0x48, 0x91, 0x91, 0x57, 0xc1, 0xfe, 0xe0, 0x0d, 0xf9, 0x2c,
-  0x80, 0x39, 0x8b, 0x6c, 0xcf, 0x4f, 0xde, 0x90, 0xc7, 0x8f, 0xc3, 0x0d,
-  0xa9, 0xb2, 0xbf, 0xcf, 0x62, 0x98, 0xcf, 0xc8, 0xb4, 0x47, 0x9a, 0x3f,
-  0xa7, 0xc7, 0x9f, 0x33, 0x70, 0x35, 0x4d, 0x75, 0x8f, 0x5a, 0xb7, 0x68,
-  0xbe, 0xb0, 0x03, 0x0d, 0x23, 0x03, 0x9b, 0x02, 0x90, 0x61, 0xdb, 0x69,
-  0x45, 0x17, 0xf4, 0xfa, 0x0c, 0xe6, 0x71, 0xd8, 0x03, 0xc9, 0xe2, 0x94,
-  0x8f, 0x6c, 0x64, 0x59, 0x94, 0xcd, 0x89, 0x06, 0x20, 0x54, 0x4b, 0x67,
-  0xef, 0xce, 0x70, 0x38, 0x6f, 0x56, 0x76, 0x61, 0x1b, 0xa9, 0x63, 0x3f,
-  0xd8, 0x8c, 0x9e, 0xa5, 0x5f, 0x54, 0xda, 0x08, 0x65, 0xf3, 0xea, 0xc3,
-  0xac, 0x32, 0xea, 0x2e, 0xa2, 0x1d, 0xab, 0x01, 0xd0, 0x24, 0xed, 0xa2,
-  0x1f, 0xba, 0x11, 0x21, 0xf3, 0xc0, 0xb6, 0xb4, 0x3a, 0xe8, 0xea, 0x7a,
-  0x85, 0x85, 0x6b, 0x70, 0x54, 0x76, 0x00, 0x33, 0x95, 0xc4, 0xed, 0xe0,
-  0xb6, 0x17, 0x54, 0x3e, 0x78, 0x9d, 0x2d, 0x50, 0x56, 0x95, 0x15, 0xd3,
-  0xea, 0x6e, 0xe5, 0x83, 0x94, 0xcf, 0xee, 0xd1, 0xe0, 0xef, 0x39, 0x81,
-  0x56, 0x0d, 0xc4, 0x81, 0xe1, 0x75, 0xbb, 0xa1, 0xfe, 0x95, 0x2a, 0x83,
-  0x67, 0xe3, 0x04, 0x8a, 0x77, 0xe3, 0xa7, 0x44, 0x93, 0x21, 0xa3, 0x8c,
-  0x9b, 0x71, 0x02, 0x05, 0x99, 0x2d, 0x99, 0x87, 0x0e, 0x64, 0xda, 0x5a,
-  0x9b, 0xf1, 0xfc, 0xe0, 0x93, 0x3f, 0x1c, 0xf0, 0x7e, 0x5d, 0x1f, 0x06,
-  0x3c, 0x61, 0x7c, 0xb2, 0x4b, 0x30, 0xbc, 0x15, 0xc1, 0x62, 0xb4, 0xdc,
-  0x52, 0x74, 0x61, 0xb5, 0x11, 0xd3, 0x21, 0x7b, 0xa3, 0xfc, 0xb6, 0xb4,
-  0xac, 0x64, 0x07, 0x29, 0x4e, 0x28, 0x81, 0xe5, 0xbb, 0xce, 0xa5, 0x88,
-  0x63, 0xc3, 0x57, 0x39, 0x7f, 0xab, 0xdd, 0x36, 0xd2, 0x56, 0x77, 0xd2,
-  0xd3, 0xd7, 0x87, 0xbd, 0x80, 0xdb, 0x23, 0xf9, 0x3d, 0x4a, 0x75, 0x67,
-  0x19, 0x30, 0xab, 0x15, 0x33, 0x30, 0xb1, 0xcd, 0xc9, 0x91, 0xbf, 0x48,
-  0xde, 0xe9, 0xa7, 0x07, 0xcf, 0x9e, 0xee, 0x46, 0x83, 0xec, 0x4c, 0x4c,
-  0x54, 0xc2, 0xd5, 0x34, 0x2b, 0x2a, 0x44, 0x14, 0x32, 0xa2, 0x7f, 0x1e,
-  0x8e, 0xfc, 0x3d, 0x0a, 0xbb, 0x38, 0x74, 0x45, 0x52, 0x31, 0x23, 0x82,
-  0xa0, 0x6d, 0x50, 0x54, 0x7b, 0x22, 0x14, 0xdb, 0x0f, 0x53, 0xef, 0x38,
-  0x08, 0x39, 0x34, 0x09, 0x03, 0xc4, 0x6d, 0x98, 0x88, 0xc3, 0x47, 0x3a,
-  0x81, 0x47, 0x3c, 0x33, 0xaf, 0x0d, 0x21, 0xcf, 0x14, 0x7f, 0x1f, 0xb5,
-  0xff, 0xe5, 0x07, 0x33, 0xdd, 0x00, 0x3f, 0xef, 0x94, 0x1f, 0xfd, 0xda,
-  0xa7, 0xfc, 0xe8, 0x9e, 0x53, 0x7e, 0xf4, 0xd0, 0x53, 0x7e, 0xf6, 0xe4,
-  0xe9, 0xe7, 0x3f, 0xef, 0x94, 0xbd, 0x4d, 0xfe, 0x9f, 0x73, 0xca, 0x1e,
-  0x99, 0xfd, 0xbc, 0x53, 0x96, 0xa4, 0x90, 0x6e, 0xe1, 0x99, 0x24, 0xbf,
-  0x70, 0xd9, 0x20, 0x61, 0x06, 0x70, 0xe6, 0x25, 0x3f, 0x1c, 0x16, 0x94,
-  0x48, 0x97, 0x3d, 0xee, 0xee, 0x65, 0xd4, 0xb0, 0x88, 0x91, 0xed, 0x00,
-  0x0c, 0xa0, 0xdf, 0xae, 0x16, 0xd4, 0x24, 0x6a, 0x7b, 0xb8, 0xad, 0xa1,
-  0x6b, 0x2d, 0x13, 0x53, 0xfc, 0x1f, 0xfe, 0x9a, 0x39, 0xec, 0xdf, 0x10,
-  0x3d, 0x2a, 0xcc, 0x99, 0xf1, 0xb2, 0x9e, 0xda, 0x9b, 0x76, 0xb7, 0x30,
-  0x66, 0x02, 0x67, 0x20, 0x45, 0xb3, 0xdf, 0xa4, 0x9e, 0x55, 0x21, 0x6c,
-  0xd4, 0x4b, 0x33, 0x31, 0x3a, 0xa1, 0x11, 0x01, 0x05, 0xe5, 0xf4, 0xdc,
-  0x2d, 0x32, 0xa9, 0x94, 0xa4, 0x35, 0xc3, 0x27, 0x4f, 0xa6, 0x7c, 0xd7,
-  0x25, 0x2c, 0x3d, 0x51, 0x2c, 0x70, 0x98, 0xe6, 0x2c, 0xd9, 0x1e, 0xf3,
-  0x65, 0x7b, 0x3a, 0xd8, 0x39, 0x73, 0x51, 0x38, 0xee, 0xb0, 0x8c, 0x80,
-  0x9a, 0x6c, 0xe0, 0xf4, 0x4f, 0xbb, 0x09, 0x77, 0x3d, 0x3d, 0x58, 0x62,
-  0x09, 0x68, 0x41, 0x3b, 0x1e, 0x7b, 0x34, 0x0c, 0x27, 0x65, 0x5b, 0xc4,
-  0xd8, 0x34, 0x6c, 0xd8, 0xc7, 0x94, 0x83, 0x1d, 0x14, 0x5c, 0xa2, 0x64,
-  0x54, 0xd6, 0xa3, 0x3d, 0x6f, 0xbc, 0xd7, 0x25, 0xa1, 0x50, 0x37, 0xe7,
-  0x9e, 0xda, 0x00, 0xca, 0xaf, 0x6d, 0xbc, 0xf6, 0x7f, 0x62, 0xfd, 0xbd,
-  0xa1, 0xe9, 0xce, 0xd6, 0xcb, 0x95, 0x42, 0xbe, 0x51, 0x19, 0x47, 0x8e,
-  0x34, 0x2e, 0xad, 0xfa, 0x8e, 0xb6, 0x83, 0x27, 0x37, 0x9a, 0xad, 0xea,
-  0xb0, 0x19, 0x6e, 0xec, 0xb3, 0xd2, 0xd3, 0x92, 0xba, 0x65, 0x5e, 0x01,
-  0x12, 0xd7, 0x2c, 0xd6, 0x54, 0x90, 0x7a, 0x40, 0xf7, 0xcc, 0x4c, 0x7b,
-  0x96, 0x4d, 0xd6, 0x97, 0x5a, 0x39, 0x6d, 0xdb, 0x78, 0xb5, 0x69, 0x12,
-  0x85, 0x26, 0x84, 0xa4, 0x92, 0x0d, 0x38, 0x8d, 0x2e, 0x2d, 0xee, 0x42,
-  0x10, 0x89, 0x86, 0x5a, 0xd8, 0x4d, 0x37, 0x25, 0x87, 0x05, 0x4b, 0x07,
-  0xb1, 0xe7, 0x03, 0x6f, 0xe9, 0xf8, 0x49, 0xeb, 0x44, 0x23, 0x2d, 0x82,
-  0x7c, 0x52, 0x69, 0xa6, 0xab, 0xe1, 0x3c, 0x25, 0x08, 0xc6, 0xa0, 0x80,
-  0x56, 0x12, 0x42, 0xe5, 0x0e, 0x5c, 0xbc, 0x3e, 0x4b, 0xde, 0xa6, 0xd2,
-  0x56, 0x25, 0xd9, 0x31, 0x1c, 0xf8, 0xd9, 0xe3, 0x83, 0x47, 0xbb, 0x1b,
-  0xf5, 0xf0, 0x36, 0xac, 0x10, 0xbe, 0x55, 0x94, 0xb1, 0xc4, 0xdc, 0x8b,
-  0xb5, 0x31, 0x9a, 0x05, 0xae, 0xc4, 0x7c, 0xe8, 0xe3, 0xfb, 0xd3, 0x37,
-  0x47, 0x27, 0xaf, 0xfe, 0x62, 0x0b, 0xe3, 0x69, 0x0f, 0xb4, 0xc2, 0xf2,
-  0xa3, 0xb1, 0x5e, 0xef, 0x3e, 0xd6, 0x99, 0x99, 0x72, 0xb3, 0xf3, 0x68,
-  0x17, 0x05, 0xec, 0x41, 0xf3, 0xbb, 0xcb, 0xac, 0x85, 0x2a, 0x20, 0x59,
-  0xd2, 0x1b, 0x80, 0x71, 0xc6, 0xb6, 0x77, 0xe2, 0xfe, 0xc8, 0xb0, 0x67,
-  0x49, 0xbb, 0x64, 0x80, 0x78, 0x47, 0xa4, 0x5e, 0x87, 0x88, 0x54, 0xb0,
-  0xb3, 0xa4, 0x44, 0x3c, 0x68, 0xb1, 0xb2, 0x5a, 0xe4, 0xd3, 0x9c, 0xac,
-  0x15, 0xb9, 0xd5, 0x94, 0x7d, 0x3d, 0x9f, 0xb7, 0xe1, 0xf7, 0x50, 0xa4,
-  0x88, 0xb4, 0xec, 0x8d, 0xce, 0xb4, 0x36, 0xef, 0x6f, 0x20, 0x2c, 0xb2,
-  0x45, 0x91, 0x35, 0x43, 0x99, 0xd6, 0x4b, 0xf3, 0xe7, 0x17, 0xd7, 0xe9,
-  0x22, 0x28, 0x7d, 0xa5, 0xde, 0x71, 0x4a, 0x9b, 0x36, 0x79, 0x92, 0xde,
-  0xf4, 0x5a, 0x4b, 0x8c, 0x6d, 0x87, 0x05, 0x7d, 0xd2, 0x5c, 0x95, 0xa0,
-  0x93, 0xc2, 0xc5, 0xc5, 0x5f, 0xce, 0x8e, 0xbe, 0x78, 0x49, 0x6c, 0xec,
-  0x4f, 0x94, 0x63, 0x5f, 0xb7, 0xb8, 0x5a, 0x42, 0xbd, 0xaa, 0x83, 0x35,
-  0x7c, 0xff, 0xe6, 0x78, 0x7c, 0x76, 0x72, 0xfa, 0xfa, 0x8b, 0x97, 0xdf,
-  0x93, 0x4d, 0x69, 0x84, 0xc7, 0x9d, 0xf7, 0xae, 0xfd, 0x99, 0x05, 0x8b,
-  0x0f, 0x81, 0x13, 0x8e, 0xbe, 0xfb, 0x78, 0xf4, 0xfe, 0xdb, 0x2f, 0x5e,
-  0x5e, 0xa7, 0xd5, 0x80, 0xd6, 0xc7, 0x6f, 0xf7, 0xb4, 0x66, 0x6c, 0x91,
-  0x1a, 0x29, 0xe7, 0x93, 0xc5, 0xa7, 0x3a, 0xff, 0x47, 0x96, 0x98, 0xd7,
-  0x17, 0xeb, 0x10, 0xae, 0xf9, 0x42, 0xda, 0xfd, 0x18, 0xe9, 0x4d, 0xe6,
-  0xd0, 0x9f, 0x4f, 0xbe, 0x21, 0x48, 0x50, 0xeb, 0x28, 0x5d, 0x72, 0x7f,
-  0x99, 0xe4, 0x4f, 0x4f, 0x0e, 0x0e, 0x77, 0x5d, 0x57, 0x43, 0x40, 0x0a,
-  0x9b, 0x19, 0x7f, 0x0a, 0xaa, 0x43, 0xfe, 0xa1, 0xd0, 0x68, 0xb6, 0x77,
-  0x48, 0xe3, 0x2c, 0x2a, 0x48, 0x0c, 0xf5, 0x3a, 0x01, 0x17, 0x80, 0xc1,
-  0x4a, 0x4a, 0x62, 0x08, 0x84, 0xae, 0x14, 0x78, 0xdc, 0x2e, 0xde, 0x7a,
-  0x60, 0x1e, 0x7f, 0x76, 0x84, 0x67, 0xa6, 0x23, 0x5e, 0xbb, 0x8d, 0xf2,
-  0xf1, 0x57, 0x8c, 0xe5, 0x74, 0x4d, 0x4a, 0x6c, 0xb6, 0x11, 0x68, 0x42,
-  0x3f, 0xf1, 0x7d, 0xf6, 0x62, 0xde, 0xa8, 0x74, 0x29, 0x19, 0x7e, 0x0e,
-  0xab, 0x54, 0xc2, 0xd3, 0xda, 0xe9, 0x8d, 0x06, 0x71, 0xbe, 0xa4, 0x02,
-  0x4b, 0x2a, 0x47, 0x60, 0xe7, 0x8e, 0xe7, 0xba, 0x59, 0x64, 0x97, 0xe9,
-  0xf4, 0x2e, 0xb1, 0x40, 0xba, 0xd2, 0xdc, 0x72, 0xd6, 0xbd, 0x9d, 0xec,
-  0xe3, 0x9b, 0x92, 0x2d, 0x67, 0x24, 0x30, 0xe1, 0x1b, 0x10, 0x57, 0x66,
-  0xcc, 0x08, 0x2a, 0x48, 0x53, 0xbf, 0x4f, 0x6b, 0x76, 0x23, 0x96, 0x97,
-  0xb4, 0xa9, 0x5d, 0xe9, 0xdc, 0xde, 0xe2, 0x0e, 0xf5, 0x11, 0xd9, 0xa0,
-  0xe7, 0xea, 0xc6, 0x3d, 0x7d, 0xdc, 0xf6, 0x98, 0xff, 0x03, 0x97, 0x9c,
-  0xd0, 0x86, 0xe0, 0x94, 0x7d, 0x49, 0x7f, 0xed, 0xc5, 0x1b, 0x67, 0xaf,
-  0x05, 0x77, 0xd5, 0x75, 0x08, 0x7d, 0x16, 0x26, 0x4e, 0x1a, 0x78, 0x50,
-  0x49, 0x70, 0xa3, 0x2e, 0xe0, 0x5e, 0x2c, 0x2f, 0xad, 0xe8, 0x23, 0x4f,
-  0xb0, 0x79, 0xdc, 0xf6, 0xf4, 0xe9, 0x19, 0xd2, 0x16, 0xa1, 0x85, 0x21,
-  0x1a, 0x14, 0x40, 0x51, 0x2a, 0xc2, 0x4b, 0x1a, 0x88, 0x38, 0x22, 0xa9,
-  0x24, 0x66, 0xa3, 0xfe, 0xa4, 0x41, 0x9f, 0xd4, 0x87, 0x3b, 0xc1, 0x43,
-  0x0c, 0x99, 0x41, 0x4a, 0x74, 0x15, 0xcd, 0x6e, 0x57, 0xbf, 0x01, 0x27,
-  0x68, 0x50, 0x40, 0xcd, 0xc2, 0xe7, 0x9a, 0x49, 0xd6, 0xaa, 0x95, 0x52,
-  0xad, 0x17, 0x8c, 0x74, 0x07, 0xb0, 0x19, 0x6b, 0x47, 0xa9, 0x95, 0x49,
-  0x0a, 0x7b, 0xcc, 0xab, 0x92, 0x64, 0x04, 0xcc, 0x67, 0x67, 0x49, 0xcb,
-  0xd8, 0x15, 0x10, 0x76, 0xc6, 0xbc, 0x4f, 0xfa, 0x1a, 0x53, 0x77, 0xc4,
-  0x94, 0x19, 0x95, 0xc6, 0x20, 0x11, 0x65, 0x24, 0x14, 0x64, 0x12, 0x97,
-  0x9f, 0x77, 0xb6, 0x23, 0x52, 0x65, 0xd9, 0x70, 0x12, 0x7f, 0x57, 0x44,
-  0x11, 0x78, 0xb2, 0x26, 0xce, 0xb7, 0x46, 0xf0, 0xbb, 0x6e, 0xed, 0x0c,
-  0x77, 0x6d, 0xa9, 0x74, 0xde, 0x58, 0xa5, 0x2d, 0x02, 0x2d, 0x92, 0x58,
-  0x84, 0x67, 0x0b, 0x51, 0xc5, 0xbe, 0x4f, 0x89, 0xb7, 0x68, 0x33, 0x73,
-  0xfa, 0xda, 0x1e, 0xd7, 0xb8, 0x29, 0x0f, 0xca, 0xc3, 0x12, 0xdb, 0x60,
-  0xac, 0x22, 0xbb, 0xf1, 0xc7, 0x72, 0x66, 0x87, 0x1d, 0xef, 0xd7, 0xf4,
-  0x76, 0x1b, 0x9b, 0x89, 0xea, 0x72, 0x92, 0x97, 0xdf, 0x1e, 0x9d, 0x8f,
-  0x8f, 0x4f, 0xdf, 0xff, 0x29, 0x6a, 0x0e, 0xcb, 0x2f, 0x6d, 0x43, 0x2b,
-  0xad, 0xe8, 0x73, 0x5d, 0x87, 0xc8, 0x0b, 0xa6, 0xbe, 0x16, 0x06, 0x77,
-  0xc9, 0x0b, 0x7a, 0x24, 0xe8, 0x66, 0x34, 0xcd, 0x56, 0x0d, 0x97, 0x15,
-  0xa9, 0x29, 0xed, 0x3a, 0x27, 0x52, 0xe2, 0x20, 0x1b, 0x71, 0xfb, 0x03,
-  0xfd, 0xdb, 0x81, 0xfd, 0xdb, 0x61, 0x48, 0xed, 0xfc, 0x8b, 0x47, 0xc1,
-  0x06, 0xc5, 0x13, 0x76, 0xbc, 0x78, 0xf9, 0x7a, 0xc5, 0xb5, 0x60, 0x84,
-  0xd9, 0xc0, 0x08, 0x2f, 0xfe, 0x02, 0x02, 0x7c, 0x7a, 0x6a, 0x6c, 0xea,
-  0xbf, 0x68, 0x1e, 0xbe, 0x3e, 0xf0, 0x2a, 0x58, 0xec, 0x73, 0x07, 0xb1,
-  0xe7, 0x0e, 0xc2, 0xe7, 0x0e, 0x63, 0xcf, 0x1d, 0x86, 0xcf, 0x3d, 0x8a,
-  0x3d, 0xe7, 0xad, 0xd7, 0x73, 0xfc, 0xc9, 0xc6, 0x6d, 0xb2, 0x8c, 0x5b,
-  0xff, 0x7a, 0x34, 0x72, 0xc7, 0xff, 0x99, 0xf5, 0x56, 0x74, 0x5b, 0x72,
-  0xfe, 0x24, 0xc3, 0xfe, 0x55, 0xa7, 0xe3, 0xb7, 0xd1, 0x12, 0x3b, 0x2e,
-  0x66, 0xf3, 0xbd, 0x83, 0x47, 0xc3, 0x69, 0xbe, 0xba, 0x22, 0xb9, 0xf3,
-  0x52, 0x3b, 0x58, 0xd1, 0xe6, 0xd3, 0x62, 0xe5, 0x17, 0x6b, 0xb2, 0xc8,
-  0x43, 0x3d, 0xe4, 0x64, 0xec, 0xc3, 0xb2, 0x08, 0x12, 0x21, 0xde, 0x48,
-  0xf8, 0x15, 0x07, 0xca, 0xd2, 0xf5, 0x2f, 0x87, 0x70, 0x48, 0x79, 0x93,
-  0x58, 0xef, 0x0d, 0x39, 0x7a, 0x64, 0x0a, 0x4c, 0xbc, 0x3a, 0x2f, 0x9d,
-  0xa8, 0x0c, 0xcf, 0x9d, 0xe1, 0x38, 0xf4, 0xde, 0x75, 0xed, 0x02, 0xca,
-  0x5f, 0x9e, 0x17, 0x28, 0x2f, 0xea, 0x40, 0x55, 0x74, 0xd6, 0xc6, 0x43,
-  0x39, 0x18, 0x2f, 0x14, 0xcf, 0x84, 0xa2, 0xf2, 0xc3, 0xf9, 0x49, 0xa0,
-  0x5a, 0xda, 0x6e, 0xeb, 0xe8, 0xa4, 0x7c, 0x95, 0xde, 0xde, 0x8e, 0xea,
-  0x6c, 0xcf, 0xf0, 0x93, 0x7a, 0x0f, 0x0e, 0x5f, 0xf9, 0xf6, 0x55, 0xb3,
-  0x5c, 0x6c, 0x76, 0xd4, 0xe6, 0xec, 0xd7, 0x92, 0xc6, 0xd7, 0xcc, 0x3b,
-  0x50, 0x61, 0xde, 0x6a, 0x66, 0x6a, 0x8f, 0x38, 0x2c, 0xf5, 0x92, 0x8e,
-  0x91, 0xe8, 0x57, 0x7b, 0x40, 0x92, 0x0f, 0x12, 0x13, 0xe1, 0x4c, 0xc4,
-  0x21, 0x00, 0xfb, 0xca, 0x99, 0x0f, 0x0e, 0x23, 0x84, 0x5e, 0xa0, 0xb2,
-  0xc1, 0x2c, 0x08, 0x67, 0x58, 0x34, 0x90, 0xea, 0xce, 0x76, 0x0d, 0x8f,
-  0xed, 0x5a, 0xed, 0x07, 0x3e, 0x10, 0x2b, 0xe4, 0x25, 0x47, 0xd5, 0x8c,
-  0x5f, 0x99, 0x69, 0x52, 0x4a, 0x1e, 0x29, 0xf3, 0x46, 0xe5, 0x30, 0xff,
-  0xfd, 0x53, 0x58, 0x5c, 0x8b, 0x15, 0x74, 0x13, 0xf7, 0x48, 0xfb, 0xa7,
-  0x92, 0x2f, 0xde, 0x7a, 0xfe, 0x5a, 0xab, 0x11, 0x00, 0xd0, 0x65, 0xe2,
-  0x25, 0xd0, 0x38, 0xb6, 0xad, 0xf1, 0xf9, 0xd9, 0xd6, 0x80, 0xf3, 0x35,
-  0xe9, 0x0b, 0x43, 0xf3, 0xef, 0x04, 0x56, 0x26, 0xb5, 0x11, 0x79, 0xf2,
-  0x78, 0x57, 0xf0, 0x40, 0x31, 0x47, 0x34, 0xc0, 0x8a, 0x84, 0x8f, 0xf0,
-  0x4b, 0x97, 0x5c, 0x58, 0xb5, 0x1a, 0xfe, 0x18, 0xfb, 0xaf, 0xbd, 0x40,
-  0xce, 0xfa, 0x19, 0x70, 0x16, 0xc7, 0x06, 0xb5, 0xce, 0x87, 0xb7, 0xe3,
-  0x79, 0x8e, 0x3a, 0x11, 0x9a, 0xb2, 0xfa, 0x24, 0x7d, 0x0f, 0x24, 0xca,
-  0x01, 0xe6, 0x12, 0x74, 0x99, 0x6d, 0x31, 0x9b, 0xb6, 0x77, 0xd4, 0x5b,
-  0xb3, 0x6c, 0x98, 0xc3, 0xfa, 0xea, 0x69, 0xa5, 0xaa, 0xb4, 0x6a, 0x36,
-  0xec, 0xab, 0x62, 0x4d, 0x87, 0x82, 0x81, 0x74, 0x1c, 0x19, 0xe6, 0x1e,
-  0x4c, 0x8e, 0xc7, 0x9d, 0xd3, 0xd7, 0xcd, 0x8b, 0x1c, 0xbb, 0x6b, 0x9e,
-  0x8e, 0x43, 0x82, 0x4d, 0xa3, 0xb8, 0x83, 0x11, 0x92, 0x50, 0x0c, 0xb4,
-  0xbe, 0x6a, 0x32, 0xc5, 0xd0, 0xf0, 0x4e, 0x64, 0xa4, 0xc1, 0x37, 0x61,
-  0xd3, 0xee, 0xac, 0x3d, 0xdc, 0xff, 0xfb, 0x17, 0xe4, 0xaf, 0x07, 0x6f,
-  0x47, 0x13, 0xae, 0x69, 0x49, 0x9a, 0x90, 0xfa, 0xa0, 0x05, 0xe9, 0x8a,
-  0x36, 0x2c, 0x49, 0x8e, 0xb2, 0xb3, 0x28, 0xb7, 0x2a, 0x6f, 0x59, 0x8e,
-  0x4a, 0x69, 0x69, 0x01, 0xe9, 0x3d, 0x68, 0xa1, 0xad, 0x95, 0x92, 0x88,
-  0x8c, 0x0a, 0x16, 0x71, 0xf8, 0xfb, 0xfe, 0x7e, 0x4f, 0x25, 0x80, 0x0a,
-  0xa0, 0x8c, 0xae, 0x9d, 0x6e, 0xdc, 0x5b, 0x55, 0x21, 0xae, 0x7f, 0x1a,
-  0x45, 0xfb, 0x35, 0x44, 0xd0, 0x5b, 0xc8, 0x65, 0xaa, 0x5f, 0x91, 0x2e,
-  0x81, 0xd2, 0xfa, 0xb7, 0x13, 0xdc, 0x54, 0xc5, 0x91, 0x13, 0xc0, 0x90,
-  0xa1, 0xd0, 0x19, 0xee, 0x23, 0xdd, 0xad, 0x8f, 0xc2, 0x3a, 0x8d, 0x06,
-  0x45, 0x77, 0x19, 0xf0, 0x80, 0x39, 0x81, 0xcc, 0xa7, 0x80, 0x7b, 0xa4,
-  0x48, 0x41, 0x8d, 0xf6, 0x18, 0xae, 0x53, 0x8b, 0x08, 0xa1, 0x2e, 0x97,
-  0xa7, 0x71, 0xcc, 0x35, 0xa4, 0xd6, 0xbe, 0xea, 0x8d, 0x55, 0x6d, 0xb1,
-  0x03, 0x1e, 0x85, 0xf6, 0x08, 0x56, 0x29, 0x94, 0x6d, 0x0b, 0x74, 0xff,
-  0xfb, 0xaa, 0xa1, 0x43, 0x55, 0x81, 0x34, 0x98, 0x9f, 0x77, 0x58, 0x07,
-  0xff, 0x7b, 0x1d, 0xd6, 0xc1, 0xff, 0x19, 0x87, 0x75, 0xf8, 0xf3, 0x0e,
-  0xeb, 0xf0, 0x7f, 0xaf, 0xc3, 0x3a, 0xfc, 0x3f, 0xe3, 0xb0, 0x1e, 0xfd,
-  0xbc, 0xc3, 0x7a, 0xf4, 0xcb, 0x1f, 0x96, 0xeb, 0x94, 0xae, 0x5a, 0x5f,
-  0x2e, 0x7a, 0x82, 0xd3, 0x8a, 0x26, 0x77, 0x68, 0xb2, 0x3d, 0xa1, 0x0d,
-  0x11, 0x83, 0x41, 0x94, 0xc9, 0xba, 0x6b, 0x35, 0xbd, 0x72, 0x18, 0xd4,
-  0xb6, 0x19, 0x84, 0xc4, 0xa0, 0x04, 0x93, 0x9b, 0x54, 0x9e, 0x3f, 0x97,
-  0xe4, 0x42, 0x31, 0x9a, 0xc1, 0x20, 0x79, 0x3f, 0x1e, 0x73, 0xda, 0xd1,
-  0x18, 0xa1, 0xd3, 0xee, 0x61, 0x91, 0x33, 0x12, 0x36, 0xce, 0x0e, 0xa9,
-  0x8d, 0xa7, 0x66, 0x86, 0x8e, 0xbb, 0xf0, 0x7b, 0xcb, 0x74, 0x4a, 0x3f,
-  0xde, 0x1f, 0x1d, 0xb8, 0xdd, 0xd9, 0xfd, 0x09, 0x80, 0x57, 0x2e, 0xae,
-  0x19, 0x0f, 0x46, 0x47, 0xa0, 0xa9, 0x81, 0xf4, 0x5c, 0x37, 0x9d, 0xc3,
-  0xb9, 0x6d, 0x47, 0xa5, 0x7b, 0x41, 0x90, 0x63, 0xa7, 0xc2, 0xe9, 0x17,
-  0x8a, 0x22, 0x48, 0xbf, 0x70, 0x16, 0x3a, 0x0c, 0xe0, 0xc0, 0xfa, 0x96,
-  0x5e, 0xf3, 0x3f, 0x23, 0xb2, 0xec, 0x05, 0x72, 0xff, 0xe7, 0x44, 0x96,
-  0x1f, 0x64, 0x1f, 0xfb, 0x57, 0xa6, 0x1a, 0x6a, 0x07, 0xa9, 0x38, 0x4e,
-  0xb5, 0xf3, 0x2c, 0x52, 0x29, 0x10, 0x10, 0xec, 0x66, 0x4c, 0x3a, 0x94,
-  0x69, 0x73, 0x24, 0xef, 0xba, 0xe0, 0x1e, 0x9b, 0x31, 0x21, 0xce, 0x8c,
-  0x54, 0xda, 0x59, 0x58, 0x15, 0x05, 0xb6, 0xe0, 0x55, 0xd6, 0x4c, 0x6f,
-  0xeb, 0x42, 0x3f, 0x22, 0xb9, 0xa1, 0xe4, 0x22, 0x67, 0x90, 0xa7, 0xb0,
-  0x41, 0x79, 0xc6, 0x10, 0x40, 0xf9, 0x7d, 0x9a, 0xd2, 0xd3, 0xf6, 0x7a,
-  0xd3, 0x69, 0x36, 0x4c, 0xeb, 0x69, 0x9e, 0xc7, 0x5b, 0x58, 0x6a, 0x1c,
-  0x38, 0x4d, 0xe6, 0x6b, 0x78, 0xf0, 0xcd, 0xf3, 0x09, 0xc5, 0xdc, 0xb4,
-  0x21, 0x35, 0x71, 0x44, 0xa0, 0xe2, 0xd0, 0x84, 0xcb, 0x75, 0x73, 0x59,
-  0xaa, 0x33, 0x7f, 0x10, 0x71, 0x0c, 0x52, 0x54, 0x8e, 0x11, 0x98, 0xeb,
-  0x69, 0x95, 0xaf, 0x00, 0xb8, 0xe9, 0x35, 0xbf, 0x1a, 0xd8, 0xce, 0xd0,
-  0xf0, 0xb4, 0x69, 0xe8, 0x94, 0x7b, 0x25, 0x13, 0x07, 0xed, 0xe2, 0x92,
-  0x0f, 0xb7, 0xc8, 0xad, 0x69, 0xbb, 0x06, 0x99, 0xb7, 0x09, 0x25, 0xd9,
-  0x8b, 0x5a, 0x92, 0x57, 0xbd, 0xd9, 0x10, 0x86, 0xd7, 0x30, 0x86, 0x21,
-  0xa1, 0x3b, 0x45, 0xe2, 0x45, 0x63, 0x04, 0x0d, 0x50, 0x4e, 0x18, 0x6c,
-  0x9d, 0x1c, 0xec, 0x8a, 0x7a, 0x7f, 0x95, 0xdd, 0x72, 0x21, 0x69, 0x68,
-  0x72, 0x31, 0x37, 0xbb, 0xd2, 0x22, 0xcb, 0x57, 0xe3, 0xd7, 0xc7, 0xc7,
-  0xad, 0xa2, 0x53, 0xda, 0x3a, 0x44, 0x52, 0x19, 0xcd, 0x24, 0xa9, 0x09,
-  0xcc, 0x14, 0x70, 0x22, 0xb1, 0x28, 0x3c, 0x37, 0xc5, 0x33, 0xd7, 0x0f,
-  0x91, 0x17, 0xc3, 0x08, 0x72, 0x6d, 0x59, 0x98, 0x72, 0x8a, 0xd7, 0xba,
-  0x30, 0xd3, 0xcc, 0x09, 0x61, 0xea, 0x6a, 0xbd, 0x4c, 0x8b, 0x5f, 0x1f,
-  0x46, 0xc7, 0x37, 0xf4, 0x5c, 0x29, 0x87, 0xec, 0x16, 0xdf, 0x2b, 0x3f,
-  0xd6, 0x1b, 0xd2, 0x5a, 0xa4, 0x01, 0xc1, 0x59, 0x25, 0xed, 0xe9, 0x00,
-  0xa3, 0x05, 0x7f, 0x3b, 0x37, 0x11, 0xa0, 0x16, 0xea, 0x84, 0xe7, 0xc7,
-  0x83, 0x9b, 0xe5, 0x6a, 0x04, 0x19, 0xf0, 0xdc, 0x36, 0xb8, 0xd4, 0x75,
-  0x0a, 0x72, 0x18, 0x6d, 0x63, 0xb5, 0xdc, 0x41, 0x57, 0x54, 0xe2, 0x0b,
-  0xbf, 0xe5, 0x0d, 0x68, 0x5d, 0x81, 0xfb, 0xef, 0x00, 0x5f, 0x81, 0x5f,
-  0xe2, 0x06, 0x48, 0x21, 0xd1, 0xd6, 0xef, 0xb7, 0x92, 0x78, 0x8b, 0x8a,
-  0x07, 0x8c, 0xd3, 0x02, 0x60, 0xf9, 0x6d, 0x29, 0x2d, 0x82, 0x08, 0xe3,
-  0x31, 0x31, 0xff, 0x4c, 0xd7, 0x45, 0x7e, 0x8b, 0x8a, 0x0e, 0xa3, 0x4a,
-  0xbc, 0xa4, 0x0e, 0x0d, 0x3d, 0xad, 0x07, 0x5e, 0xb3, 0x62, 0x93, 0x68,
-  0x7d, 0x0a, 0x56, 0xf1, 0xc1, 0xbc, 0x6c, 0x14, 0xc6, 0x25, 0xe5, 0xf7,
-  0xf0, 0x18, 0x03, 0x1f, 0x03, 0x1a, 0x6c, 0x3d, 0x92, 0x1f, 0x54, 0x64,
-  0x0d, 0xb9, 0x3f, 0x36, 0x46, 0xb6, 0xda, 0xd1, 0xc2, 0x0b, 0xf4, 0x7a,
-  0x5b, 0x51, 0xd1, 0xc0, 0x86, 0x4e, 0xc2, 0xd8, 0x0c, 0x97, 0xa4, 0xdf,
-  0x0e, 0x20, 0x78, 0xed, 0x86, 0x84, 0x74, 0x6c, 0x4b, 0x1b, 0xee, 0x3f,
-  0x11, 0x4b, 0x65, 0xb2, 0x7d, 0x52, 0x5c, 0x93, 0xa1, 0xbc, 0x1b, 0x99,
-  0x40, 0x23, 0x1b, 0x17, 0xbe, 0x95, 0x2e, 0x80, 0xa1, 0xec, 0xee, 0xf4,
-  0x3b, 0x1a, 0x79, 0xad, 0x57, 0x5b, 0xdd, 0x98, 0x80, 0xc6, 0x96, 0x2f,
-  0x88, 0xfc, 0xf7, 0x34, 0xbd, 0x61, 0x11, 0xe6, 0xde, 0xbb, 0x26, 0x3f,
-  0xc2, 0xeb, 0xa8, 0xd2, 0x0b, 0x41, 0x4e, 0xfa, 0x37, 0x90, 0x94, 0x54,
-  0x89, 0x68, 0xaf, 0x82, 0x7b, 0x76, 0x75, 0xd5, 0x17, 0x2f, 0xfe, 0x7c,
-  0x45, 0x5d, 0x9f, 0x75, 0x5e, 0x15, 0x13, 0x62, 0xbb, 0xaf, 0xb7, 0x86,
-  0xb4, 0xbd, 0xc6, 0x25, 0x41, 0x5e, 0x33, 0x5f, 0x8f, 0x75, 0x9d, 0x89,
-  0x2e, 0xc5, 0x08, 0x9b, 0x54, 0x6a, 0x47, 0x8d, 0x12, 0x28, 0x4f, 0xcf,
-  0x76, 0x99, 0xe5, 0x83, 0xe5, 0xf6, 0xd4, 0x52, 0xd3, 0x1b, 0x20, 0x88,
-  0xe6, 0x8b, 0x91, 0x5f, 0x35, 0x21, 0x6e, 0x5a, 0x2d, 0xd6, 0xda, 0x31,
-  0xca, 0x3a, 0x6b, 0x6e, 0x7c, 0x79, 0xa8, 0xc9, 0x81, 0x22, 0x50, 0xf7,
-  0xc3, 0x13, 0xc7, 0xe1, 0x9d, 0xda, 0x19, 0x6c, 0xc4, 0x3a, 0x76, 0x52,
-  0x85, 0x71, 0xa4, 0x60, 0xd9, 0xae, 0xaa, 0x9d, 0xe6, 0x8a, 0xe7, 0x85,
-  0x4f, 0xef, 0x69, 0x34, 0x38, 0x2a, 0x72, 0xf9, 0x95, 0xa0, 0x67, 0x67,
-  0xea, 0xea, 0xf4, 0xbe, 0x31, 0x32, 0x5c, 0xc6, 0x7c, 0x44, 0xbf, 0x22,
-  0xc5, 0x32, 0xbb, 0x41, 0xcf, 0x85, 0x3b, 0xc6, 0xfd, 0xf7, 0xea, 0x8f,
-  0xfd, 0xa6, 0x1b, 0x34, 0xd5, 0xce, 0xd4, 0x90, 0x57, 0x8d, 0xc4, 0x83,
-  0xf0, 0x26, 0x02, 0xa4, 0x40, 0x4d, 0x3c, 0x08, 0x4b, 0xb4, 0x4a, 0x91,
-  0xbe, 0xd0, 0xcc, 0xcd, 0x04, 0x2a, 0x93, 0x87, 0x83, 0xcf, 0x75, 0x92,
-  0x09, 0x84, 0x62, 0xe0, 0xa9, 0x44, 0x27, 0xb7, 0x68, 0xd3, 0x1e, 0xee,
-  0x32, 0xa9, 0x55, 0x7a, 0xc4, 0xd3, 0xc2, 0x0b, 0x6d, 0x9b, 0xa2, 0x51,
-  0x9f, 0x95, 0x52, 0x43, 0x16, 0xfd, 0x7d, 0x27, 0x46, 0xc9, 0x11, 0x3d,
-  0x1d, 0x0e, 0xf4, 0x07, 0x8c, 0x00, 0x30, 0x6c, 0xd7, 0xf0, 0x90, 0x7b,
-  0x87, 0x87, 0x74, 0x25, 0x94, 0xc7, 0xb8, 0xa0, 0x94, 0x75, 0x87, 0x12,
-  0xff, 0x91, 0x74, 0xf4, 0x21, 0xb5, 0x5d, 0x75, 0xcd, 0x64, 0xeb, 0x72,
-  0x51, 0x4e, 0x26, 0x66, 0xf1, 0x5b, 0xaa, 0xa5, 0x98, 0x6f, 0x07, 0xbe,
-  0x64, 0x7f, 0x26, 0x69, 0x75, 0x09, 0x4b, 0x7a, 0x00, 0x33, 0x82, 0x1d,
-  0xf5, 0x34, 0x0b, 0xd7, 0x31, 0x54, 0x3f, 0xaf, 0x90, 0xcf, 0x11, 0x39,
-  0xc3, 0xd9, 0x80, 0x96, 0x00, 0x69, 0x6d, 0x2d, 0xbf, 0x3f, 0x0a, 0x1a,
-  0xe9, 0xa7, 0x3a, 0x3d, 0xce, 0x36, 0xec, 0x4b, 0x97, 0x75, 0x7d, 0x36,
-  0xc0, 0xb6, 0xa4, 0xe5, 0x5a, 0x5e, 0x87, 0xf1, 0x15, 0x6c, 0x41, 0x7b,
-  0x41, 0x5b, 0xff, 0x45, 0x7f, 0x1c, 0x0c, 0xe8, 0xbf, 0x87, 0xff, 0xdc,
-  0x42, 0x08, 0xe6, 0xc5, 0xde, 0xde, 0xcd, 0xcd, 0xcd, 0x48, 0x1a, 0x4a,
-  0x8c, 0xcc, 0x91, 0x7d, 0x16, 0x56, 0xfe, 0x11, 0x0e, 0x5b, 0xcf, 0x07,
-  0x2e, 0x92, 0xad, 0x7c, 0x79, 0xf9, 0xd7, 0x83, 0xe1, 0xc1, 0xfe, 0xfe,
-  0xfe, 0x8f, 0xa3, 0x15, 0xed, 0xef, 0x1c, 0xc3, 0x9a, 0xff, 0xfa, 0xc3,
-  0xee, 0xf1, 0x4c, 0xf6, 0xa2, 0xd0, 0x96, 0xfc, 0x3b, 0xb5, 0xb2, 0x0b,
-  0x6e, 0x4e, 0xc0, 0xa4, 0xfc, 0xc2, 0x63, 0x31, 0x1c, 0x47, 0x4e, 0x37,
-  0xd5, 0xd1, 0x73, 0xea, 0x20, 0x85, 0x10, 0x9e, 0x3c, 0x3a, 0x3c, 0x4c,
-  0x58, 0xe1, 0xe0, 0xf2, 0x34, 0x4e, 0x65, 0x20, 0x64, 0x02, 0xe9, 0xa4,
-  0xcc, 0xb2, 0x6c, 0x4a, 0x00, 0x6d, 0x1c, 0xac, 0x31, 0x94, 0xd1, 0x93,
-  0xd2, 0xc9, 0x86, 0x71, 0x6e, 0x04, 0x79, 0x39, 0xbb, 0x73, 0xa3, 0x1a,
-  0x12, 0xaf, 0x88, 0xb1, 0x52, 0x33, 0x44, 0xae, 0xf9, 0x4a, 0x24, 0x4e,
-  0x21, 0xd9, 0xd6, 0x41, 0x39, 0xa1, 0xb4, 0xf8, 0x82, 0x94, 0x03, 0x1c,
-  0x68, 0x51, 0x4a, 0x3f, 0x5f, 0x44, 0xee, 0xe7, 0xeb, 0x4a, 0xba, 0xb9,
-  0x20, 0xd1, 0xe1, 0x26, 0xbd, 0x6b, 0x09, 0x7b, 0xb3, 0xe3, 0x2f, 0xcd,
-  0x7f, 0x02, 0xbf, 0xb6, 0x5c, 0x4d, 0x52, 0x2d, 0x6d, 0x3b, 0xda, 0x79,
-  0xd6, 0x4c, 0xaf, 0xba, 0xe9, 0x96, 0xe0, 0xe0, 0x66, 0xb6, 0x57, 0x66,
-  0x41, 0x77, 0xb6, 0x71, 0x74, 0xac, 0xd3, 0x9d, 0x57, 0x97, 0x6b, 0x86,
-  0xa4, 0xc6, 0x06, 0x28, 0x4d, 0xe0, 0xc6, 0xd7, 0xcc, 0x14, 0xa3, 0xca,
-  0x51, 0xe6, 0xfa, 0xc3, 0xe1, 0x7b, 0x79, 0xad, 0x65, 0xc3, 0xd3, 0xab,
-  0x6c, 0x29, 0x1c, 0x73, 0x47, 0x73, 0x26, 0xb7, 0x84, 0x06, 0xb7, 0x22,
-  0x16, 0xf9, 0xd6, 0x5c, 0x7f, 0x65, 0x56, 0xb2, 0x2b, 0x85, 0xb7, 0x56,
-  0xcc, 0x49, 0xcf, 0x97, 0xcb, 0x35, 0x19, 0x8e, 0x93, 0x54, 0xe4, 0x89,
-  0xd6, 0x83, 0xf7, 0x64, 0x36, 0x1b, 0xb6, 0x98, 0x55, 0x10, 0x62, 0xf5,
-  0x7a, 0x32, 0x14, 0xcd, 0x07, 0x33, 0x42, 0x72, 0x09, 0xdd, 0xd6, 0x37,
-  0xc7, 0xaf, 0x2f, 0xb8, 0x04, 0xd6, 0xfc, 0x97, 0xaa, 0x65, 0xcc, 0x1f,
-  0x54, 0xf9, 0x1a, 0x36, 0xe4, 0x39, 0x7b, 0xc4, 0x29, 0x44, 0x20, 0x56,
-  0x1b, 0x51, 0x4a, 0x5d, 0x9a, 0x5d, 0x4b, 0xf5, 0x1b, 0x78, 0xed, 0x1d,
-  0x22, 0xb9, 0xc3, 0x2d, 0x2d, 0xd1, 0x56, 0x4e, 0x3f, 0x7e, 0x32, 0xda,
-  0xe7, 0x25, 0xd2, 0x1e, 0x4a, 0x06, 0x8d, 0x54, 0x6a, 0xc1, 0x8d, 0xa4,
-  0x11, 0xc6, 0x34, 0x9e, 0x33, 0x60, 0xa7, 0x32, 0x48, 0x18, 0xe7, 0x99,
-  0xa1, 0x14, 0xf4, 0xb7, 0x5e, 0xb6, 0xe4, 0x3d, 0xe5, 0x30, 0x2a, 0xbb,
-  0x24, 0x47, 0xf8, 0xae, 0x8b, 0xd1, 0x0b, 0x04, 0x65, 0xad, 0xd2, 0x01,
-  0x13, 0x8e, 0x95, 0xcb, 0x09, 0x4d, 0x48, 0xde, 0xf8, 0xc0, 0x75, 0xd8,
-  0x29, 0x49, 0x0a, 0x88, 0xcc, 0x92, 0xea, 0x23, 0x74, 0xa4, 0x74, 0x2d,
-  0xdd, 0x62, 0xfa, 0x49, 0xd0, 0xba, 0x68, 0xf8, 0x67, 0xe9, 0x29, 0xcc,
-  0x7a, 0x72, 0xac, 0xf4, 0x0b, 0x67, 0xb9, 0xab, 0x69, 0xae, 0x6c, 0xba,
-  0xaa, 0xca, 0x39, 0x22, 0x87, 0x21, 0x9f, 0x7c, 0xd3, 0xed, 0x3e, 0x9d,
-  0x05, 0x36, 0x0e, 0xf0, 0x4d, 0xbc, 0xea, 0xbe, 0x14, 0xcb, 0x63, 0x11,
-  0xc1, 0x86, 0x1e, 0x47, 0x86, 0xb6, 0xfe, 0x48, 0x21, 0xa1, 0x2f, 0x5e,
-  0xd9, 0x08, 0x62, 0x1c, 0xca, 0x08, 0xea, 0x54, 0xcd, 0xfc, 0xad, 0x6d,
-  0xcc, 0x08, 0x4f, 0x23, 0xbe, 0x9f, 0xdd, 0x32, 0x66, 0x27, 0x4e, 0xee,
-  0x26, 0x2f, 0x1e, 0x1d, 0x26, 0xf5, 0x9d, 0xd1, 0x20, 0x96, 0xfe, 0x26,
-  0x74, 0x1b, 0x2b, 0x47, 0x43, 0x61, 0xad, 0x8e, 0x64, 0xcc, 0xba, 0x3e,
-  0xd0, 0x2b, 0xaf, 0xf0, 0x8a, 0x74, 0x31, 0xd2, 0x7c, 0xbd, 0x07, 0x74,
-  0xeb, 0x2e, 0x95, 0x89, 0x4d, 0x16, 0x69, 0xf1, 0xc9, 0x66, 0x55, 0xf3,
-  0x40, 0x03, 0x6a, 0x82, 0xc9, 0x85, 0xa4, 0xee, 0x87, 0xb2, 0x3d, 0x2c,
-  0x18, 0x83, 0x6e, 0x51, 0x50, 0xec, 0x97, 0x69, 0x85, 0x1a, 0x43, 0x6c,
-  0x9b, 0xa4, 0x3f, 0x3f, 0xa8, 0x25, 0x78, 0x28, 0xc2, 0x38, 0xc6, 0xce,
-  0xb8, 0x3f, 0x9a, 0x43, 0xde, 0xd3, 0xf9, 0xea, 0x97, 0x8b, 0xad, 0xaf,
-  0xf5, 0x24, 0x0c, 0xd7, 0x36, 0xff, 0x7d, 0xa1, 0x01, 0xc0, 0x3e, 0xfe,
-  0xdd, 0x08, 0x56, 0x99, 0xeb, 0xec, 0x6c, 0x43, 0x86, 0x7e, 0xab, 0x4e,
-  0x56, 0xf1, 0x5c, 0xa8, 0x32, 0x16, 0x61, 0x1f, 0x25, 0xa7, 0xce, 0x9c,
-  0x2c, 0x06, 0xc0, 0xc4, 0x6d, 0xaa, 0xa9, 0x18, 0x93, 0xf8, 0xbb, 0xa4,
-  0x6e, 0xa6, 0x8b, 0x68, 0xeb, 0x69, 0x68, 0x39, 0x35, 0x65, 0x45, 0xde,
-  0x39, 0xdd, 0xcf, 0x13, 0x71, 0xdc, 0x15, 0xd2, 0xf1, 0x63, 0xb3, 0xb5,
-  0xd4, 0x3e, 0x11, 0xd0, 0x55, 0x41, 0x66, 0x36, 0x2f, 0x22, 0xda, 0x48,
-  0x24, 0xbe, 0xde, 0x5a, 0x22, 0xf9, 0x0b, 0x23, 0x13, 0xd7, 0x2b, 0x1b,
-  0x7a, 0x48, 0x04, 0xa4, 0x81, 0xd0, 0x5f, 0xca, 0x62, 0x10, 0xe0, 0x3b,
-  0x21, 0x76, 0x2e, 0x4e, 0x27, 0xca, 0x0a, 0x5c, 0x4a, 0xaf, 0xe2, 0xcc,
-  0xba, 0x9a, 0xf9, 0x4d, 0x25, 0x4f, 0xf7, 0xf1, 0x7b, 0x5a, 0xaa, 0x72,
-  0xcf, 0x13, 0x3d, 0x0c, 0x43, 0x83, 0x03, 0xae, 0xe5, 0x0b, 0x96, 0x74,
-  0x5a, 0xe8, 0x8d, 0x14, 0xb8, 0xa9, 0x9c, 0x0b, 0xa9, 0x6b, 0x7f, 0xaf,
-  0xae, 0xa8, 0x39, 0x8d, 0xe7, 0xfd, 0x10, 0xcc, 0x2e, 0xa3, 0x6f, 0x06,
-  0xfa, 0x32, 0xa0, 0xd6, 0x39, 0x13, 0xd1, 0xec, 0x30, 0xe9, 0x2a, 0xc8,
-  0xe7, 0xa1, 0x84, 0x49, 0x97, 0x9e, 0x4c, 0x1a, 0x45, 0x56, 0xb0, 0x5d,
-  0x5f, 0x2a, 0xf8, 0x5a, 0x32, 0x0d, 0xb1, 0x13, 0x67, 0x0c, 0xad, 0x5b,
-  0xf3, 0x88, 0xb6, 0x91, 0xf3, 0xa5, 0x48, 0x91, 0x9a, 0xd2, 0x3c, 0x0d,
-  0x43, 0xe3, 0xa6, 0x1b, 0xb4, 0x39, 0xb5, 0xdb, 0xf9, 0x48, 0xf3, 0x1c,
-  0x5e, 0x69, 0xa2, 0xed, 0x02, 0xee, 0x7c, 0xc8, 0x5f, 0x73, 0x1b, 0xae,
-  0x73, 0xde, 0x7b, 0x86, 0x33, 0x9b, 0x54, 0x79, 0x36, 0x37, 0xdc, 0x0b,
-  0x4b, 0xe2, 0x14, 0xd2, 0xc0, 0x6b, 0x94, 0xa5, 0x15, 0xc4, 0x1f, 0x69,
-  0x07, 0x54, 0x40, 0x9c, 0xc3, 0x71, 0xc4, 0x3c, 0xd1, 0x82, 0xcb, 0x31,
-  0x98, 0xf6, 0xb5, 0x36, 0xa8, 0x4d, 0xb5, 0xa4, 0x29, 0x9a, 0x9f, 0x89,
-  0x7e, 0xd3, 0xe2, 0xf1, 0x24, 0x02, 0x2b, 0xe8, 0x16, 0xdb, 0x86, 0x75,
-  0xf8, 0x22, 0xb3, 0x55, 0xd1, 0x6e, 0xbc, 0xae, 0x47, 0x3d, 0x1d, 0x44,
-  0x61, 0x3f, 0x7d, 0x93, 0x55, 0x46, 0xfc, 0x95, 0x66, 0xdd, 0xdf, 0x3e,
-  0xd1, 0x28, 0x84, 0x34, 0xdf, 0x16, 0x65, 0x44, 0x6e, 0x29, 0x1a, 0xc1,
-  0x61, 0xea, 0x41, 0xf8, 0x82, 0x8b, 0x37, 0x68, 0x6f, 0xf5, 0x4d, 0x5f,
-  0x21, 0xe9, 0x52, 0xe8, 0x00, 0x20, 0xc5, 0x86, 0xfa, 0x48, 0xbd, 0x8c,
-  0x77, 0x59, 0xb2, 0xad, 0xbe, 0x49, 0xfd, 0x33, 0x1a, 0x16, 0x51, 0x0b,
-  0xb9, 0xf3, 0xa8, 0x53, 0xf8, 0xa4, 0x49, 0xb9, 0x51, 0xb1, 0x9d, 0xf9,
-  0x45, 0x4e, 0x0e, 0x1f, 0xcd, 0x73, 0x8a, 0x96, 0xf5, 0x48, 0x17, 0x76,
-  0x87, 0x0f, 0xde, 0x49, 0x8f, 0x20, 0x2d, 0xb2, 0xbe, 0x22, 0x45, 0x8c,
-  0xf4, 0x03, 0x18, 0xf9, 0x71, 0xf5, 0x1e, 0x9b, 0xf6, 0xfe, 0xe2, 0xe4,
-  0xdd, 0xa0, 0x73, 0xed, 0x44, 0xa5, 0xf1, 0x2c, 0x62, 0x65, 0x39, 0x42,
-  0x53, 0x21, 0x26, 0x40, 0x95, 0xc8, 0x7e, 0xd8, 0x12, 0x43, 0xc6, 0xa4,
-  0xa0, 0xad, 0x1b, 0x48, 0x32, 0x4e, 0x25, 0xa5, 0x6b, 0x6a, 0xf6, 0xf3,
-  0xbe, 0x86, 0x9e, 0x6c, 0x22, 0xc2, 0x1a, 0x67, 0x0f, 0x57, 0x89, 0x91,
-  0x27, 0x86, 0xd9, 0x78, 0x0d, 0xf6, 0x42, 0x8e, 0xe5, 0xb4, 0x62, 0xf7,
-  0x55, 0x5e, 0x0a, 0xb1, 0x17, 0x6e, 0x0c, 0x90, 0xbc, 0x29, 0x6f, 0x8a,
-  0xe1, 0x09, 0x55, 0x1f, 0x27, 0x27, 0xe5, 0x25, 0xdd, 0xa0, 0xf7, 0x80,
-  0x8f, 0x0a, 0x4e, 0xed, 0xc3, 0xd9, 0xfb, 0x64, 0x87, 0xe4, 0x6e, 0x72,
-  0x66, 0x31, 0xe7, 0xe8, 0xd1, 0x5d, 0x31, 0x31, 0x6a, 0x56, 0x49, 0x64,
-  0x36, 0x83, 0xe4, 0xe8, 0xfb, 0x57, 0xef, 0xce, 0x4e, 0x8e, 0x7e, 0xe0,
-  0x04, 0x99, 0x60, 0x39, 0xf4, 0xe3, 0x2f, 0x3d, 0x9b, 0x0b, 0x11, 0x1a,
-  0x4a, 0x1a, 0x34, 0x33, 0x89, 0x02, 0xce, 0x10, 0x75, 0x32, 0x5b, 0x54,
-  0x12, 0x1c, 0x8f, 0xcf, 0x8e, 0x87, 0x8a, 0x16, 0xc7, 0x3d, 0x19, 0xf3,
-  0x82, 0xcc, 0x23, 0x98, 0xd8, 0xda, 0xce, 0x81, 0xa8, 0x68, 0x18, 0x38,
-  0x65, 0xe4, 0x3e, 0x0c, 0x92, 0xf7, 0x9a, 0x8a, 0x38, 0xc0, 0xa1, 0xd3,
-  0x1d, 0x7c, 0x93, 0x5f, 0x22, 0xa2, 0xd4, 0xc9, 0x21, 0x13, 0x03, 0x84,
-  0xe8, 0x20, 0xc0, 0x62, 0xf4, 0xba, 0x69, 0xd5, 0xd9, 0x82, 0x9d, 0x97,
-  0xbd, 0xf2, 0x91, 0x59, 0x24, 0x4e, 0x11, 0x75, 0x22, 0x41, 0xa8, 0x4c,
-  0xea, 0x46, 0x26, 0xad, 0x36, 0x5e, 0x96, 0x42, 0x58, 0x2a, 0x88, 0x2e,
-  0x61, 0xd9, 0xfe, 0x8b, 0x64, 0x6b, 0xb8, 0x4e, 0x5e, 0x6c, 0xfd, 0x8a,
-  0x2a, 0x82, 0xef, 0xe9, 0x8d, 0x34, 0x05, 0xd2, 0xa2, 0x5d, 0x1b, 0x14,
-  0x10, 0xa8, 0x16, 0xb6, 0x66, 0xd4, 0xe1, 0x06, 0x9f, 0xb9, 0xb9, 0xe9,
-  0xa2, 0xd0, 0x4f, 0xd6, 0x97, 0x97, 0x11, 0x38, 0x17, 0xea, 0x38, 0x96,
-  0xc1, 0xfd, 0x43, 0xde, 0x94, 0xed, 0x3a, 0x61, 0x1f, 0xbe, 0x99, 0xff,
-  0x16, 0xe2, 0x92, 0xcc, 0x43, 0xae, 0xca, 0x72, 0x46, 0xaa, 0xea, 0xab,
-  0x84, 0x03, 0x10, 0x14, 0xa5, 0xa8, 0x9a, 0x70, 0x38, 0xd6, 0xde, 0xb6,
-  0xff, 0xb4, 0x6d, 0xa3, 0xac, 0x5b, 0xa2, 0x57, 0x81, 0x5f, 0x6f, 0xb1,
-  0x12, 0x3b, 0xe1, 0xc6, 0x9e, 0x83, 0x64, 0xfb, 0xe5, 0xb6, 0x3c, 0xb7,
-  0x15, 0x55, 0xd1, 0xf8, 0x1d, 0x8e, 0xf0, 0xb1, 0x56, 0x3d, 0xb5, 0x2e,
-  0x50, 0x52, 0xfe, 0xf2, 0xd9, 0x2c, 0x83, 0xd8, 0x96, 0xde, 0x78, 0x09,
-  0x23, 0x3c, 0x0e, 0xc4, 0xf7, 0xd3, 0x55, 0x39, 0x30, 0x75, 0x9d, 0x39,
-  0xcf, 0x95, 0x5a, 0xb6, 0xf1, 0x0c, 0xbc, 0x0e, 0xb2, 0x14, 0x92, 0x70,
-  0xbd, 0xcc, 0xe4, 0xab, 0x7d, 0x37, 0x85, 0xd3, 0x4a, 0xc9, 0x38, 0x86,
-  0x26, 0x1c, 0x2d, 0x20, 0x1c, 0x74, 0x6a, 0xf3, 0x10, 0xd7, 0x0a, 0xdd,
-  0x97, 0x7c, 0x7c, 0x20, 0x1e, 0x33, 0xf2, 0x76, 0x45, 0xd8, 0x65, 0xdc,
-  0xe2, 0x9d, 0x5a, 0xe0, 0xf5, 0x7c, 0x5f, 0x3d, 0xbb, 0x8e, 0xf0, 0x58,
-  0xd4, 0x6a, 0x81, 0x04, 0x69, 0x13, 0x78, 0x50, 0x74, 0x01, 0xb5, 0xed,
-  0x06, 0x21, 0x9a, 0x0d, 0x77, 0xd0, 0x92, 0xde, 0xa8, 0x43, 0x1b, 0x7a,
-  0x6a, 0xc7, 0x4a, 0xb5, 0x4a, 0x38, 0xe6, 0x66, 0xf5, 0xcb, 0x6d, 0xdb,
-  0x5d, 0xda, 0xc4, 0x95, 0x8d, 0x06, 0x03, 0x1b, 0x2b, 0xb5, 0x5b, 0xf5,
-  0x9b, 0xa3, 0x7e, 0x08, 0x35, 0x3f, 0xf0, 0x16, 0x26, 0x7f, 0x46, 0xc3,
-  0x22, 0xdf, 0xca, 0xad, 0xaa, 0x43, 0x3b, 0xeb, 0x8d, 0x04, 0xce, 0xfc,
-  0x68, 0x94, 0x94, 0x0a, 0xb2, 0xd7, 0xb0, 0xd0, 0x56, 0x44, 0x1c, 0x9f,
-  0xd7, 0xb4, 0x81, 0x1c, 0xde, 0xfd, 0x7a, 0x14, 0x51, 0x61, 0x59, 0x27,
-  0x05, 0xc9, 0xc9, 0x6a, 0xd8, 0xbd, 0x8e, 0x50, 0x9a, 0xbe, 0xaf, 0x19,
-  0x3b, 0xe8, 0x3d, 0xcd, 0x43, 0xc7, 0x42, 0xab, 0x90, 0x1f, 0x8f, 0x2a,
-  0x6e, 0xc1, 0x7e, 0x27, 0x89, 0x35, 0xdc, 0x9e, 0xb8, 0xf8, 0xa4, 0x19,
-  0x94, 0x34, 0x78, 0x76, 0x9b, 0x4d, 0xd7, 0x4d, 0xbb, 0x04, 0xce, 0x9b,
-  0x93, 0x22, 0x3b, 0xf1, 0xb4, 0x76, 0x70, 0x15, 0x04, 0xf0, 0x66, 0xeb,
-  0x4c, 0x61, 0x79, 0x5e, 0x6c, 0xed, 0x4a, 0x1c, 0x37, 0x65, 0x0d, 0x9e,
-  0x7f, 0x1c, 0x8b, 0xcf, 0xea, 0x9c, 0xab, 0x8c, 0xdd, 0xa9, 0x2e, 0x59,
-  0x21, 0xfa, 0x79, 0x43, 0xa4, 0xd5, 0x2c, 0xf6, 0xed, 0xb7, 0xec, 0x7b,
-  0xf3, 0x3e, 0x6d, 0xdb, 0x12, 0x8a, 0x5b, 0xae, 0x0e, 0xae, 0x72, 0xf0,
-  0x65, 0xb4, 0x67, 0x1e, 0x25, 0xaf, 0x6c, 0x6f, 0x75, 0x7d, 0x55, 0xf7,
-  0x3f, 0x70, 0x87, 0x1e, 0x9f, 0x5d, 0x3f, 0x15, 0x6f, 0x36, 0xa9, 0x1c,
-  0x24, 0xf3, 0xf0, 0x23, 0xcb, 0xf1, 0x83, 0x55, 0x7c, 0xaa, 0x26, 0x8f,
-  0xcd, 0x1f, 0xdf, 0xd0, 0x1f, 0x73, 0x76, 0x0b, 0x08, 0xa8, 0x1e, 0xfb,
-  0x61, 0x43, 0xd2, 0x1e, 0x9f, 0xd8, 0x3f, 0x6c, 0xa2, 0x96, 0x39, 0x75,
-  0xaa, 0x54, 0x24, 0x08, 0x3e, 0x07, 0x86, 0x04, 0xd3, 0x46, 0xc7, 0x19,
-  0x68, 0xfd, 0x70, 0xbc, 0xbe, 0x03, 0x88, 0x71, 0x03, 0x20, 0xb2, 0x0d,
-  0xe0, 0x73, 0x1a, 0x33, 0x23, 0x2f, 0x63, 0xf5, 0xa3, 0x66, 0xab, 0xfe,
-  0x41, 0x71, 0x38, 0x5b, 0xca, 0x3e, 0xcb, 0x34, 0xb7, 0x42, 0x48, 0xd0,
-  0xcb, 0xe7, 0x60, 0xef, 0x34, 0x5d, 0x33, 0x66, 0x67, 0x61, 0x42, 0xaa,
-  0x05, 0xca, 0xeb, 0x5b, 0x32, 0x84, 0xbb, 0xfc, 0x11, 0x62, 0xce, 0xf6,
-  0xbf, 0xf7, 0x06, 0xf5, 0xd3, 0x72, 0xe1, 0xf9, 0x2a, 0xc0, 0xf9, 0x91,
-  0xda, 0xc3, 0xe6, 0x8c, 0x18, 0x9c, 0x0e, 0x1e, 0x16, 0x5b, 0x87, 0x15,
-  0x93, 0x9e, 0x79, 0x2e, 0xd1, 0x1a, 0x8f, 0x9a, 0x6e, 0x80, 0x2b, 0x7c,
-  0xd2, 0x68, 0xf5, 0x32, 0x5b, 0x52, 0xe0, 0xcb, 0xca, 0x45, 0xc1, 0xf0,
-  0x22, 0xc5, 0x0a, 0x1f, 0x1f, 0xc6, 0x87, 0x9b, 0x91, 0xfe, 0x46, 0x22,
-  0x96, 0xd3, 0xb7, 0xfe, 0x2d, 0x88, 0x76, 0xd6, 0x77, 0xc5, 0xf4, 0xea,
-  0xcd, 0xfb, 0x71, 0xfc, 0xf5, 0x70, 0x71, 0x78, 0xde, 0xe8, 0x21, 0x44,
-  0x0c, 0x50, 0x60, 0x04, 0xc4, 0xd2, 0x28, 0x79, 0xaf, 0xbc, 0xdf, 0xc5,
-  0x87, 0x6b, 0xbd, 0x60, 0x3d, 0x81, 0xa4, 0x58, 0x30, 0x13, 0x17, 0xcd,
-  0x13, 0x61, 0x97, 0x61, 0x4a, 0x57, 0x81, 0x96, 0x17, 0x2a, 0xd0, 0xf6,
-  0x4e, 0x53, 0xc0, 0x08, 0x1d, 0xe2, 0x31, 0x64, 0xe5, 0x25, 0xa0, 0x75,
-  0xe9, 0x1a, 0x0d, 0x77, 0xf4, 0x8f, 0x9f, 0x72, 0xcc, 0x27, 0xc6, 0xa2,
-  0xcd, 0x22, 0xc1, 0x45, 0x7f, 0x87, 0x5a, 0x09, 0x41, 0x5e, 0xf0, 0xd7,
-  0xd0, 0xea, 0x82, 0x5e, 0x67, 0x32, 0x1d, 0x08, 0xb5, 0xe2, 0x47, 0x55,
-  0xdf, 0x92, 0xcc, 0xa6, 0x1c, 0x7e, 0xf5, 0xe7, 0x50, 0x7a, 0xbe, 0x79,
-  0xdf, 0xf3, 0x39, 0xfa, 0xcd, 0x50, 0xab, 0x09, 0x45, 0x23, 0xf0, 0x54,
-  0xfa, 0x70, 0x2f, 0x04, 0x0b, 0x39, 0x3e, 0x01, 0x05, 0x4a, 0xbe, 0x87,
-  0x4b, 0x98, 0x27, 0xe4, 0x8f, 0x8d, 0x0f, 0x4a, 0x4e, 0x7f, 0xfc, 0x53,
-  0x94, 0xec, 0xbf, 0xc3, 0x09, 0x7e, 0xc9, 0x39, 0x07, 0x71, 0xcf, 0x44,
-  0x13, 0xde, 0x8d, 0x1c, 0x91, 0xfb, 0x4c, 0x7c, 0x38, 0xe2, 0x6f, 0x31,
-  0x48, 0x2a, 0xe2, 0x0b, 0x87, 0xfc, 0xc7, 0xde, 0xa1, 0x4d, 0x4e, 0xb3,
-  0x05, 0xa1, 0xb8, 0xa4, 0x46, 0x80, 0x87, 0x0a, 0x42, 0x91, 0xdf, 0x8e,
-  0x91, 0x4f, 0xd0, 0x43, 0xcd, 0x48, 0x3c, 0xe0, 0x8c, 0x03, 0xbb, 0x07,
-  0x34, 0x51, 0xd5, 0xc4, 0xa2, 0x33, 0x19, 0xb3, 0xfb, 0xee, 0x3e, 0x62,
-  0xca, 0x23, 0xf9, 0x74, 0x9b, 0x70, 0x37, 0xdf, 0x19, 0x25, 0x89, 0x84,
-  0xeb, 0xfd, 0xd7, 0xd8, 0xd2, 0x8d, 0x7d, 0x27, 0xd9, 0x99, 0x18, 0x89,
-  0xed, 0xe1, 0xe8, 0x10, 0xbf, 0x79, 0x8c, 0x12, 0x96, 0xf8, 0x70, 0x4f,
-  0x3e, 0x7f, 0xf2, 0x78, 0x77, 0x77, 0x20, 0xae, 0x2a, 0xce, 0x8e, 0x99,
-  0x50, 0x31, 0x56, 0x4e, 0x7c, 0x8b, 0xe3, 0x4c, 0xb4, 0xc1, 0x57, 0xdc,
-  0x57, 0x89, 0xbf, 0x1b, 0x89, 0x80, 0x3b, 0x83, 0xcf, 0xbe, 0x4a, 0x87,
-  0x48, 0x26, 0x38, 0x38, 0xba, 0x35, 0x83, 0x53, 0xe5, 0x89, 0xb5, 0x0b,
-  0xba, 0xf4, 0x72, 0x05, 0x38, 0x52, 0x9c, 0x87, 0x91, 0xdc, 0x4a, 0x1c,
-  0x2f, 0x4e, 0x55, 0xd2, 0x86, 0x89, 0xa0, 0x67, 0x2c, 0xf6, 0xe8, 0x0f,
-  0xa2, 0xe7, 0x2b, 0x6d, 0x54, 0x7b, 0xb6, 0x9e, 0x2c, 0x8c, 0x04, 0x1a,
-  0xaf, 0xe7, 0x73, 0x73, 0xd6, 0x27, 0xb9, 0xb4, 0x1c, 0x16, 0x5b, 0x81,
-  0xdd, 0xe4, 0x91, 0xfa, 0x1b, 0x3f, 0xb8, 0x08, 0x4a, 0x63, 0x52, 0x6b,
-  0xd5, 0xcd, 0xb8, 0x12, 0x6e, 0xd6, 0xdb, 0xb6, 0x56, 0xfc, 0xad, 0x7a,
-  0x3d, 0x1f, 0xf6, 0x2d, 0xec, 0x36, 0xab, 0x43, 0x33, 0xee, 0x1d, 0xc5,
-  0x6d, 0x8d, 0xc0, 0x7e, 0x30, 0x7f, 0xb2, 0xbd, 0x7d, 0xdb, 0x29, 0xbb,
-  0x56, 0xef, 0xbc, 0x21, 0xbd, 0x13, 0x18, 0x3c, 0x14, 0xcd, 0x48, 0x5e,
-  0xb2, 0x86, 0x19, 0xed, 0xf6, 0xca, 0x2d, 0x09, 0x05, 0x0c, 0xc1, 0xd7,
-  0x45, 0xa1, 0xd6, 0xc3, 0xef, 0x9f, 0xce, 0x29, 0x31, 0x99, 0x93, 0x30,
-  0x17, 0x19, 0x32, 0xba, 0x89, 0x3f, 0x86, 0xa8, 0x24, 0x95, 0xe0, 0xbf,
-  0x8b, 0xd7, 0x20, 0x11, 0xe7, 0x87, 0x38, 0xf1, 0x91, 0x5e, 0x97, 0x02,
-  0x58, 0x09, 0x4e, 0x20, 0xc6, 0xf3, 0xe1, 0x58, 0x82, 0xd9, 0x97, 0x59,
-  0xcc, 0xb0, 0x6b, 0x87, 0x78, 0x14, 0x6c, 0xa1, 0x66, 0x3f, 0xa8, 0x7c,
-  0x25, 0xf4, 0xdd, 0xd0, 0x71, 0x85, 0x96, 0x58, 0x03, 0x9b, 0x38, 0xd9,
-  0xe2, 0xf9, 0x6c, 0x09, 0x1c, 0x8a, 0xd6, 0xc9, 0x21, 0x01, 0x4b, 0x0d,
-  0x07, 0x56, 0xbd, 0x65, 0x7c, 0xf6, 0xee, 0x45, 0x62, 0xea, 0xa2, 0x4a,
-  0x7e, 0xa9, 0x79, 0x5c, 0x5b, 0x89, 0xf4, 0xb0, 0xef, 0x74, 0xe0, 0x96,
-  0xe1, 0xec, 0xae, 0x44, 0x10, 0x17, 0x38, 0x33, 0x02, 0x49, 0xea, 0x74,
-  0x6a, 0x66, 0xd0, 0xe1, 0x56, 0x5c, 0x9f, 0xb6, 0x7b, 0x40, 0x8e, 0xd8,
-  0x0c, 0xc6, 0x6d, 0xcb, 0xf0, 0xd3, 0xaf, 0xa8, 0x9d, 0x4f, 0xe9, 0xdd,
-  0x4d, 0xde, 0xac, 0x43, 0xa6, 0x2b, 0x91, 0x62, 0xe0, 0x53, 0x20, 0x34,
-  0x41, 0x27, 0xe1, 0x40, 0x24, 0x60, 0xe5, 0x51, 0xb2, 0x5b, 0x03, 0x70,
-  0x68, 0xcb, 0x24, 0xa8, 0x17, 0x89, 0x51, 0x48, 0x6e, 0x82, 0x0c, 0x71,
-  0x02, 0x30, 0x75, 0xb3, 0x6b, 0x57, 0xc0, 0x99, 0x01, 0x7e, 0xff, 0x5f,
-  0xfa, 0xcb, 0x8f, 0xb4, 0x59, 0xff, 0xd4, 0xcd, 0x92, 0x69, 0xa7, 0x01,
-  0x4c, 0x02, 0xcc, 0xeb, 0xdf, 0x63, 0x53, 0xfe, 0x46, 0x49, 0x4d, 0xbc,
-  0x33, 0x04, 0x50, 0x84, 0xe1, 0x7e, 0x3f, 0xb2, 0x6a, 0xb4, 0x0e, 0x41,
-  0x65, 0xdf, 0xec, 0x2c, 0x98, 0xdc, 0x05, 0x2e, 0x29, 0xa2, 0xc1, 0x1f,
-  0x8a, 0x01, 0xa0, 0x96, 0x8d, 0x45, 0x47, 0x28, 0x2d, 0xdc, 0x31, 0x94,
-  0x8f, 0xf1, 0x87, 0x4a, 0x30, 0x87, 0x8c, 0x2d, 0x63, 0x26, 0x4e, 0x76,
-  0x1e, 0xff, 0x3c, 0x6e, 0x58, 0xd8, 0x74, 0x59, 0xdd, 0xe7, 0x16, 0x08,
-  0x95, 0x19, 0x89, 0x9a, 0x61, 0xab, 0x29, 0x3e, 0x51, 0xfc, 0x17, 0x26,
-  0xd5, 0xee, 0xd9, 0x03, 0xa3, 0x45, 0x20, 0xa8, 0xf5, 0x55, 0x6e, 0xda,
-  0x66, 0x83, 0x7a, 0xbf, 0xff, 0x2f, 0x4e, 0x04, 0xfc, 0x67, 0xa8, 0xfb,
-  0x9e, 0x5e, 0x1c, 0xbd, 0xc0, 0x94, 0x7e, 0x3f, 0xac, 0xef, 0x96, 0x93,
-  0x72, 0x21, 0xb7, 0x8e, 0xf6, 0xde, 0x6c, 0xa0, 0xfe, 0x8c, 0x69, 0x04,
-  0xb1, 0xba, 0xa1, 0x07, 0x60, 0x32, 0x88, 0xf6, 0xa6, 0x80, 0x1d, 0x96,
-  0x94, 0x53, 0x2e, 0x68, 0xa5, 0xda, 0x05, 0x73, 0xfb, 0x7e, 0x9f, 0x28,
-  0x2a, 0x09, 0xb7, 0xe0, 0x94, 0x46, 0xab, 0x1e, 0x68, 0x66, 0xbc, 0xc8,
-  0x32, 0xba, 0x7f, 0x1e, 0xa1, 0x58, 0xeb, 0x29, 0x06, 0xfd, 0x42, 0xcc,
-  0xc2, 0x4c, 0xf3, 0x23, 0xaa, 0x26, 0xf9, 0xd5, 0xd7, 0xfc, 0xa3, 0xe1,
-  0x05, 0xfd, 0x48, 0x72, 0x68, 0x14, 0x6a, 0x80, 0xa8, 0x53, 0x2b, 0x4f,
-  0x06, 0x91, 0x02, 0xe5, 0x24, 0x96, 0x9a, 0x87, 0x9e, 0xe5, 0x45, 0x28,
-  0x91, 0xf5, 0x5e, 0x7f, 0xcc, 0x80, 0xc8, 0x9b, 0x5f, 0x67, 0x9b, 0x47,
-  0x03, 0x5d, 0x10, 0x67, 0x5e, 0xa2, 0xe3, 0xa3, 0x4d, 0xef, 0xf4, 0x91,
-  0x59, 0x18, 0x17, 0x8d, 0xa3, 0xa9, 0xa3, 0xfb, 0x86, 0xe3, 0xa8, 0x0a,
-  0xdc, 0x3d, 0x92, 0xfa, 0x43, 0xce, 0x35, 0xaf, 0x43, 0x46, 0x43, 0xe5,
-  0x38, 0xc8, 0x37, 0xa2, 0x71, 0xef, 0x59, 0x2b, 0x00, 0x32, 0x99, 0x71,
-  0x89, 0xd7, 0x2c, 0x12, 0xdf, 0x96, 0xac, 0x3e, 0x0a, 0x85, 0x6f, 0x1e,
-  0xce, 0xc5, 0xc9, 0x25, 0x32, 0x75, 0x8c, 0xae, 0xc4, 0x25, 0x67, 0x1f,
-  0x62, 0x9e, 0xa8, 0x63, 0x59, 0x92, 0xdf, 0x36, 0x12, 0x67, 0x4e, 0x62,
-  0x6e, 0x3c, 0x44, 0x47, 0xff, 0x73, 0xe0, 0xa6, 0xc3, 0xbe, 0xad, 0xa1,
-  0x17, 0x66, 0x1f, 0x09, 0xe4, 0xe5, 0xe6, 0xe1, 0x38, 0xff, 0xfe, 0xe9,
-  0x68, 0x7f, 0x37, 0x38, 0xd4, 0x66, 0xf5, 0xd1, 0x10, 0x47, 0x75, 0xf7,
-  0x91, 0xb2, 0x54, 0x71, 0x66, 0x1a, 0x55, 0xc0, 0x0f, 0xb0, 0xb5, 0x8c,
-  0x5e, 0xb0, 0x5e, 0xd1, 0x38, 0x20, 0xf2, 0x45, 0xc9, 0x26, 0xdb, 0x7d,
-  0xcb, 0x90, 0x08, 0xb5, 0x24, 0x34, 0xfa, 0x20, 0x3a, 0x3b, 0xed, 0x1e,
-  0x70, 0x8f, 0x83, 0x89, 0x51, 0x06, 0xca, 0x47, 0x84, 0xae, 0x2d, 0x31,
-  0x19, 0xc9, 0x97, 0x55, 0xf9, 0xd4, 0x6f, 0x88, 0x8a, 0x07, 0x40, 0x4f,
-  0x8c, 0x0c, 0x4a, 0xb1, 0xec, 0x28, 0x08, 0x72, 0xe7, 0x7f, 0xf0, 0xff,
-  0xba, 0x88, 0x95, 0x26, 0x3b, 0x42, 0x04, 0x9a, 0x69, 0x52, 0x5e, 0x8d,
-  0x97, 0x7f, 0x10, 0xa2, 0xd4, 0x77, 0xfe, 0x07, 0x94, 0xf5, 0xc3, 0x44,
-  0xca, 0x2a, 0xf2, 0xb4, 0xb6, 0x33, 0xe4, 0x25, 0xe0, 0x4a, 0x61, 0xc1,
-  0x82, 0x77, 0x76, 0xef, 0x3d, 0xe4, 0x0c, 0x34, 0x52, 0x40, 0x46, 0x3d,
-  0x3b, 0xc3, 0x89, 0xc3, 0xdd, 0x9d, 0xe9, 0xdf, 0x10, 0x5d, 0xf3, 0x70,
-  0xf3, 0xb7, 0x15, 0x18, 0x6e, 0x47, 0xa2, 0x78, 0xd0, 0xce, 0x77, 0x39,
-  0x5b, 0x0e, 0xc4, 0xa0, 0x20, 0x72, 0xc2, 0x62, 0xee, 0xb9, 0xb5, 0x3b,
-  0xed, 0xde, 0xb7, 0x3d, 0xe7, 0x6c, 0x8b, 0x80, 0x98, 0x69, 0xd0, 0xcf,
-  0xbc, 0xca, 0x20, 0xd6, 0x4a, 0x69, 0x3d, 0x89, 0x65, 0x3d, 0x0a, 0x2a,
-  0xf0, 0x13, 0x3e, 0xff, 0x64, 0x3f, 0x42, 0xff, 0x48, 0x1f, 0xfe, 0x98,
-  0xaf, 0x7c, 0x9e, 0x75, 0x7c, 0x86, 0xb6, 0xa3, 0xa8, 0x7d, 0x11, 0x86,
-  0xca, 0x59, 0xc6, 0x94, 0x74, 0x21, 0x3f, 0xc0, 0xcd, 0xbe, 0x77, 0x33,
-  0xa7, 0x0c, 0x7f, 0x00, 0x87, 0x80, 0x87, 0x14, 0x31, 0x54, 0x25, 0x4d,
-  0xfd, 0x03, 0xe4, 0xf5, 0x7a, 0x1c, 0x09, 0x44, 0x25, 0x11, 0x77, 0x99,
-  0xbf, 0xa4, 0xc3, 0xe7, 0xbd, 0x4b, 0x82, 0x81, 0x65, 0x97, 0xc4, 0xf3,
-  0x6f, 0x75, 0xda, 0x68, 0x2f, 0xc4, 0x9b, 0xe9, 0x3d, 0x4b, 0x72, 0xcb,
-  0xb8, 0x77, 0x26, 0xe6, 0x4b, 0x1f, 0x1d, 0x46, 0x7b, 0xf2, 0xde, 0x7e,
-  0xd8, 0x28, 0x26, 0x0e, 0xbc, 0x1d, 0x2d, 0xe4, 0x73, 0x6d, 0x29, 0x3d,
-  0x45, 0x68, 0x3d, 0xaa, 0x51, 0x27, 0x11, 0x05, 0xbb, 0x43, 0x5f, 0x8f,
-  0xa2, 0x73, 0xd0, 0x4e, 0xb4, 0xb5, 0x3f, 0x07, 0xf7, 0x43, 0xbe, 0x2e,
-  0x24, 0xfa, 0xe6, 0xa5, 0x74, 0x87, 0xb6, 0xd3, 0xb9, 0x67, 0x0e, 0x7c,
-  0x05, 0xee, 0x9f, 0x05, 0x6e, 0xd1, 0xc7, 0xba, 0x5e, 0x10, 0xa9, 0xe7,
-  0xf3, 0x3b, 0x33, 0xa5, 0xba, 0x17, 0x3c, 0xc6, 0x17, 0xa0, 0xfc, 0x9c,
-  0x1e, 0x96, 0x67, 0x30, 0x6f, 0xd7, 0xf0, 0x69, 0xae, 0x32, 0x4a, 0xbe,
-  0x61, 0x70, 0xf0, 0xfb, 0x88, 0x91, 0xc4, 0x30, 0x3e, 0xef, 0xe2, 0x7c,
-  0xc2, 0x27, 0xac, 0xba, 0x30, 0xa2, 0xde, 0xec, 0xb0, 0x05, 0xef, 0x65,
-  0xa1, 0xad, 0x91, 0x68, 0x10, 0x17, 0xda, 0x6e, 0x6f, 0x08, 0x15, 0x22,
-  0x06, 0x1b, 0xa2, 0xbb, 0xff, 0x11, 0x16, 0x25, 0xc7, 0xa3, 0xb5, 0xff,
-  0xba, 0xe2, 0x24, 0xd1, 0xa0, 0x20, 0x0e, 0x8d, 0x28, 0x0f, 0x4f, 0x48,
-  0x16, 0x2e, 0x22, 0xe0, 0xe7, 0x49, 0x0c, 0xcc, 0x02, 0xdd, 0xae, 0x24,
-  0x0d, 0x5b, 0xcf, 0x7a, 0xa7, 0x94, 0x9a, 0xd2, 0x21, 0x5a, 0x85, 0xe3,
-  0x17, 0xbd, 0x2e, 0x56, 0x97, 0xee, 0xd1, 0xec, 0x4a, 0xf2, 0x99, 0x2a,
-  0x6a, 0x92, 0x53, 0x41, 0xd0, 0x95, 0x50, 0x1b, 0xd2, 0x29, 0x75, 0x85,
-  0x91, 0x3c, 0xcf, 0x74, 0xf3, 0x70, 0x3a, 0x1b, 0x69, 0x97, 0x06, 0x53,
-  0xeb, 0x12, 0xc0, 0x5e, 0x65, 0x87, 0x94, 0x8c, 0x50, 0x89, 0xec, 0x1c,
-  0x09, 0x53, 0xcb, 0xb2, 0x2e, 0xfc, 0x92, 0x0b, 0xc3, 0xb9, 0x3a, 0x8c,
-  0xeb, 0x5f, 0xb8, 0xde, 0x96, 0x4b, 0x09, 0x93, 0x02, 0x8f, 0x2a, 0xab,
-  0x0e, 0x17, 0xba, 0x4f, 0x30, 0x46, 0x19, 0x83, 0xac, 0x41, 0x79, 0x94,
-  0xbf, 0x86, 0xdf, 0x98, 0x45, 0x49, 0xfa, 0xab, 0x7f, 0xe5, 0xe8, 0x08,
-  0xe5, 0xc7, 0x3b, 0xb5, 0xc3, 0x51, 0xa6, 0x5a, 0xb9, 0x59, 0x62, 0xe3,
-  0x05, 0xbb, 0x49, 0x0c, 0x69, 0xad, 0xab, 0xc6, 0x19, 0x0a, 0xf6, 0x45,
-  0x16, 0xc2, 0xd1, 0xf7, 0xde, 0x0d, 0x82, 0xaa, 0xfb, 0x68, 0xbb, 0x79,
-  0x70, 0xe0, 0x06, 0x0d, 0xec, 0xd3, 0xa5, 0x91, 0xe7, 0x60, 0x06, 0x0c,
-  0x3a, 0xe8, 0x18, 0x97, 0x3e, 0x1d, 0xf1, 0xd1, 0x61, 0x34, 0x8d, 0x01,
-  0x6f, 0x1a, 0x4d, 0xab, 0x04, 0xed, 0x50, 0x08, 0xa5, 0xde, 0x73, 0xd3,
-  0x08, 0x0d, 0x28, 0xfa, 0x45, 0x8b, 0x50, 0xfb, 0xa0, 0xf9, 0xc3, 0x70,
-  0x87, 0x8a, 0x7c, 0x2f, 0xdf, 0xf1, 0x59, 0x44, 0xfc, 0xd3, 0x9a, 0xff,
-  0xff, 0xb0, 0x4f, 0x6b, 0x0e, 0x7b, 0x38, 0x16, 0x35, 0x32, 0x71, 0xe7,
-  0x40, 0x63, 0xa5, 0x94, 0x48, 0x70, 0xe9, 0xb5, 0x5a, 0xe1, 0xf6, 0x37,
-  0xce, 0xa0, 0x31, 0xbc, 0xb3, 0x5e, 0x13, 0x46, 0xf6, 0xfc, 0x3e, 0x59,
-  0x2e, 0x95, 0x18, 0xf0, 0x20, 0xd9, 0xf1, 0x08, 0x5c, 0xb2, 0xdd, 0x03,
-  0xa6, 0x67, 0x56, 0x76, 0x89, 0xfe, 0xac, 0xe4, 0x87, 0xdd, 0x39, 0xb9,
-  0x49, 0xfd, 0xc4, 0x59, 0xf1, 0x78, 0x0f, 0x99, 0xd3, 0x4f, 0x97, 0x6b,
-  0x1d, 0xc1, 0xd6, 0x15, 0x65, 0x2d, 0x59, 0xf5, 0x10, 0x66, 0x7f, 0x8f,
-  0x28, 0x6b, 0x49, 0xab, 0xfb, 0xef, 0x6c, 0x9f, 0x28, 0x3b, 0x88, 0xb2,
-  0x10, 0x86, 0xf4, 0xd6, 0xff, 0xbd, 0x45, 0xca, 0x0b, 0x84, 0x85, 0x61,
-  0x66, 0x39, 0xd1, 0x35, 0x0a, 0x2b, 0xc9, 0x96, 0xeb, 0x38, 0x22, 0xa3,
-  0x75, 0xb7, 0x49, 0x3c, 0x03, 0x5d, 0x1d, 0x2a, 0x9c, 0x45, 0xa6, 0x7e,
-  0x11, 0x76, 0x8c, 0x8c, 0xac, 0xa2, 0xfb, 0x00, 0x86, 0xfc, 0xf4, 0x51,
-  0x7c, 0x0d, 0x40, 0x85, 0xff, 0x6d, 0xd6, 0x10, 0x3a, 0x85, 0x46, 0xce,
-  0xbe, 0xbf, 0x9f, 0x03, 0x48, 0x9e, 0xfc, 0x80, 0xfb, 0xd6, 0x72, 0xcd,
-  0xcf, 0x44, 0x11, 0xa5, 0x1d, 0x76, 0x37, 0x39, 0x82, 0xd9, 0x59, 0x7b,
-  0x8f, 0xc5, 0x83, 0xc7, 0x35, 0xb1, 0x9a, 0x0b, 0x4c, 0xdb, 0x96, 0x43,
-  0x74, 0xcb, 0x48, 0x2c, 0x7c, 0x4c, 0x57, 0x2b, 0x91, 0x36, 0xf7, 0x93,
-  0x3c, 0xc3, 0x36, 0x72, 0x8f, 0x5e, 0xea, 0x13, 0x05, 0x84, 0xcc, 0xa6,
-  0x2c, 0x3f, 0xb1, 0x4b, 0x95, 0x53, 0xb0, 0xa9, 0x16, 0x32, 0x09, 0x91,
-  0xa2, 0x03, 0x92, 0x5f, 0x24, 0x7a, 0x6f, 0xf6, 0xc6, 0xe3, 0xaf, 0xf7,
-  0xb2, 0x66, 0xaa, 0x62, 0x6f, 0xcf, 0xa5, 0xff, 0x59, 0xf3, 0xfb, 0x9e,
-  0xe1, 0x20, 0x78, 0xd1, 0xaf, 0x8f, 0x88, 0xdf, 0xfa, 0xb5, 0x1f, 0x40,
-  0xfb, 0xd8, 0x84, 0xb6, 0x2d, 0xfa, 0x0b, 0x2f, 0x53, 0x60, 0xa8, 0x75,
-  0x75, 0x1d, 0x97, 0x02, 0x26, 0x4d, 0x3a, 0x1d, 0x9b, 0xa9, 0xf7, 0xdf,
-  0x6c, 0xb7, 0xb8, 0xe8, 0x52, 0xc8, 0xb3, 0x42, 0x29, 0x3f, 0xeb, 0xd5,
-  0x6f, 0x7e, 0x9e, 0x28, 0x7b, 0x72, 0xe1, 0x64, 0x24, 0x48, 0xdd, 0x3f,
-  0xe1, 0x15, 0x39, 0x31, 0xd8, 0x4f, 0xf1, 0x00, 0xa6, 0xfb, 0xe0, 0x29,
-  0x3f, 0x78, 0xc6, 0x5c, 0xf9, 0x2b, 0x33, 0xc0, 0x84, 0xe1, 0x9c, 0x96,
-  0x10, 0x10, 0x98, 0xd5, 0x24, 0xbb, 0xcc, 0x8b, 0x07, 0x39, 0xf7, 0x34,
-  0x4b, 0x87, 0xd3, 0x5e, 0xb2, 0xa1, 0x1d, 0x57, 0x12, 0x80, 0x6b, 0xc9,
-  0x15, 0xbe, 0x2c, 0xef, 0x9d, 0x5d, 0x2a, 0x40, 0xdb, 0x24, 0x16, 0x3c,
-  0xdf, 0xfb, 0x54, 0xe9, 0x87, 0xf2, 0x78, 0xf2, 0xe9, 0x9a, 0xf2, 0x8f,
-  0x23, 0x1d, 0xa7, 0x03, 0x37, 0x96, 0x51, 0xf8, 0xb8, 0xd6, 0xea, 0x9a,
-  0xc2, 0xf2, 0x3d, 0x67, 0x61, 0xf5, 0xfa, 0xfb, 0xc8, 0x83, 0x12, 0xaf,
-  0x17, 0x0b, 0x6b, 0x07, 0xdc, 0x2b, 0x92, 0x8c, 0x38, 0x5b, 0xe9, 0xf6,
-  0x10, 0x5d, 0x48, 0x57, 0x4d, 0x22, 0xd3, 0x81, 0x5e, 0x8c, 0x41, 0xf2,
-  0x60, 0x52, 0xe0, 0xb2, 0x4c, 0xdd, 0x5b, 0xc5, 0x0d, 0xd6, 0x44, 0x7e,
-  0x40, 0x88, 0xd3, 0x2f, 0xd3, 0xa9, 0x9a, 0x76, 0xf7, 0xcd, 0x2e, 0xe5,
-  0x4e, 0x73, 0xed, 0x4d, 0x70, 0x48, 0x14, 0x56, 0xa1, 0xe0, 0xec, 0xa8,
-  0x87, 0xd9, 0x6e, 0xb9, 0xb6, 0x8c, 0x76, 0xd1, 0x3d, 0x6f, 0xbf, 0xea,
-  0xd1, 0xc3, 0x2d, 0x90, 0xa8, 0x41, 0x8e, 0xb9, 0x62, 0xe6, 0x0f, 0xbf,
-  0x3e, 0xbf, 0x06, 0x03, 0xd7, 0xca, 0x09, 0xd2, 0x4a, 0xdd, 0xf5, 0x11,
-  0x8c, 0x7c, 0x54, 0xd3, 0x3c, 0xd0, 0x15, 0x82, 0x0c, 0xfd, 0xf6, 0x35,
-  0xea, 0x32, 0x08, 0x4d, 0xca, 0x5c, 0xd4, 0xe5, 0xfd, 0x5a, 0xa0, 0x9c,
-  0x80, 0xd7, 0x28, 0x8a, 0xd0, 0xf5, 0x59, 0xc0, 0x1a, 0x5b, 0x88, 0xae,
-  0x0e, 0x87, 0x9f, 0x1e, 0xe0, 0x52, 0x34, 0x07, 0x18, 0xbf, 0x31, 0xac,
-  0x9b, 0xb7, 0x35, 0xf5, 0x70, 0x97, 0x2d, 0x50, 0x2c, 0x32, 0xf7, 0x38,
-  0xbf, 0xf6, 0x21, 0x44, 0x44, 0x0e, 0xcf, 0xc8, 0x5d, 0x45, 0xdf, 0x02,
-  0x35, 0xca, 0x9c, 0xc9, 0xe7, 0x9c, 0xa6, 0x19, 0xc7, 0x9f, 0xe8, 0x75,
-  0x57, 0xcc, 0x01, 0x23, 0x94, 0xf4, 0xc9, 0xe1, 0x7d, 0xae, 0x76, 0x8d,
-  0x4a, 0x50, 0x06, 0x29, 0x60, 0x03, 0x16, 0x33, 0x05, 0x05, 0xa3, 0xfa,
-  0x4f, 0xf6, 0x48, 0x58, 0xa0, 0xfd, 0x17, 0x9b, 0x87, 0xd3, 0xfe, 0x1c,
-  0xbf, 0x22, 0xd2, 0xe8, 0x6d, 0x6a, 0xee, 0x40, 0xb4, 0xaa, 0xa2, 0x4e,
-  0xaf, 0x19, 0x61, 0x4c, 0x82, 0x7b, 0x70, 0x02, 0x13, 0xc7, 0x6f, 0x37,
-  0xb5, 0x6d, 0x77, 0xac, 0xab, 0x9b, 0x48, 0x09, 0x89, 0xd1, 0xea, 0x29,
-  0xba, 0x0d, 0x69, 0x61, 0x2c, 0xea, 0x14, 0xb5, 0x23, 0xe6, 0x07, 0xd9,
-  0x6d, 0xc3, 0xc1, 0x05, 0x09, 0xc4, 0xd0, 0x54, 0x72, 0xa3, 0xd5, 0x21,
-  0xcf, 0xc2, 0x81, 0x98, 0x46, 0xaa, 0x2a, 0xa4, 0x68, 0x11, 0x5f, 0xb3,
-  0xfe, 0xba, 0xdb, 0xd9, 0xe5, 0xa8, 0xac, 0x72, 0x92, 0x37, 0x48, 0x1a,
-  0xd5, 0xd1, 0x88, 0xf0, 0x07, 0xe0, 0x26, 0x64, 0x3d, 0xc6, 0x86, 0x93,
-  0xc0, 0x5a, 0xa2, 0x70, 0xa4, 0xed, 0x71, 0x97, 0x20, 0x56, 0xc4, 0xdc,
-  0xec, 0x98, 0x82, 0x82, 0x1a, 0x6a, 0xab, 0xbc, 0x12, 0x2d, 0xc2, 0xb1,
-  0xed, 0x5c, 0x35, 0xe9, 0xc5, 0x2e, 0xd9, 0xad, 0x95, 0xa2, 0xb0, 0x37,
-  0x69, 0x85, 0x62, 0xf6, 0xc0, 0x17, 0x95, 0xd7, 0xf5, 0x1a, 0x07, 0xf6,
-  0xf6, 0xf8, 0xe4, 0xc8, 0x66, 0xb5, 0xfd, 0xbf, 0x7b, 0x23, 0xda, 0xf0,
-  0x6a, 0x1a, 0xe4, 0xf0, 0x71, 0x0d, 0xa9, 0x57, 0x10, 0x2c, 0x45, 0xa6,
-  0xdf, 0x0c, 0xb8, 0xf3, 0x25, 0x7e, 0xdc, 0xaa, 0x30, 0x3d, 0x7a, 0xff,
-  0xed, 0xf1, 0xf9, 0xe9, 0xfb, 0x77, 0x47, 0xef, 0x2f, 0x3e, 0xf3, 0xd8,
-  0x5d, 0xac, 0xaf, 0x43, 0x1d, 0xa6, 0x17, 0xe4, 0x14, 0x0e, 0xba, 0x41,
-  0x09, 0x20, 0xf7, 0x57, 0x31, 0xeb, 0x94, 0x7f, 0x8d, 0xfc, 0xe1, 0xbc,
-  0x87, 0xd4, 0xb3, 0x4f, 0x89, 0x24, 0x2b, 0x72, 0xec, 0xcc, 0x28, 0xaa,
-  0x3a, 0xe2, 0x58, 0x80, 0xed, 0x1d, 0x4c, 0xad, 0x25, 0x6e, 0x09, 0xca,
-  0x1b, 0xa9, 0xc0, 0xd4, 0x27, 0xf6, 0x33, 0xbb, 0x25, 0x1c, 0x05, 0x74,
-  0xb1, 0xd2, 0xd6, 0x24, 0x1c, 0x71, 0x7f, 0xe0, 0x12, 0xd0, 0x78, 0x8f,
-  0x0a, 0xc5, 0xbe, 0x73, 0x6d, 0xe5, 0xaf, 0xd2, 0xda, 0xc5, 0x5e, 0xc4,
-  0x71, 0xe3, 0x03, 0xd5, 0x78, 0xb8, 0xc0, 0x5e, 0x9b, 0xe3, 0x2e, 0x16,
-  0xb0, 0xb7, 0x8a, 0xbf, 0xaa, 0xb7, 0xe8, 0xc5, 0xde, 0xde, 0x8f, 0xe8,
-  0xaf, 0xfd, 0x27, 0x69, 0xb0, 0x1d, 0x42, 0xa0, 0xd6, 0xde, 0x44, 0x84,
-  0xe3, 0x7a, 0xd5, 0x85, 0x44, 0xb7, 0x76, 0x3b, 0xe1, 0x06, 0xfe, 0x78,
-  0x76, 0x7e, 0xfa, 0xfd, 0x5f, 0x7e, 0xe1, 0x4f, 0x78, 0xc9, 0x66, 0x7f,
-  0xa5, 0x1c, 0x4c, 0x1d, 0xfc, 0xc7, 0x9f, 0xf5, 0xb5, 0x8d, 0x9f, 0x6b,
-  0x8f, 0x3f, 0x90, 0x50, 0xbb, 0xbc, 0x11, 0x04, 0xce, 0x51, 0xb8, 0xcd,
-  0x7d, 0xaf, 0xb4, 0x8c, 0xdb, 0x79, 0x38, 0x6c, 0x22, 0x10, 0xcb, 0xb7,
-  0xba, 0x83, 0xe5, 0x11, 0x3a, 0x64, 0x01, 0x4d, 0x83, 0x8a, 0x62, 0x97,
-  0xc1, 0x3b, 0x90, 0xb2, 0x72, 0xaa, 0x1b, 0x1f, 0xa0, 0x1e, 0x19, 0x19,
-  0xa9, 0x76, 0x3f, 0x5e, 0x9d, 0x9c, 0xfc, 0xfc, 0x4d, 0xd0, 0x0e, 0x4c,
-  0xed, 0x6d, 0x40, 0x9b, 0x62, 0xbb, 0xa0, 0xa1, 0xd5, 0x51, 0xf5, 0x0a,
-  0x6c, 0x42, 0xa2, 0x7d, 0x7f, 0x2a, 0xb3, 0x79, 0x09, 0xe5, 0x78, 0x58,
-  0x67, 0x46, 0xa5, 0x4d, 0x29, 0xe2, 0xaf, 0xc0, 0xe2, 0x34, 0xb1, 0x7a,
-  0x8f, 0x13, 0x27, 0x03, 0xa4, 0x73, 0xff, 0x21, 0xce, 0xaa, 0xe4, 0xfd,
-  0xe4, 0xa2, 0x38, 0x94, 0x2d, 0x94, 0x16, 0x95, 0x88, 0xbb, 0xa5, 0x4b,
-  0xc3, 0xee, 0x79, 0xac, 0x21, 0x33, 0xe3, 0x43, 0x90, 0xbc, 0xad, 0xf2,
-  0xfa, 0x13, 0x8a, 0x3a, 0xe8, 0x86, 0x42, 0x43, 0xd2, 0x1a, 0x7e, 0x52,
-  0x79, 0x31, 0x27, 0x01, 0x19, 0x71, 0xf5, 0x74, 0x79, 0x1d, 0x9b, 0x1d,
-  0x09, 0xdd, 0x94, 0x45, 0x31, 0xb9, 0x51, 0xd9, 0x09, 0x9d, 0xb6, 0x8a,
-  0xbb, 0x04, 0x9f, 0x9d, 0x33, 0xa8, 0x6a, 0x0b, 0x33, 0x10, 0x2b, 0x4b,
-  0x1f, 0x68, 0xb9, 0x31, 0x3d, 0xc0, 0x9f, 0x6e, 0xea, 0x6c, 0x31, 0xef,
-  0xa9, 0xb0, 0xf7, 0x19, 0x86, 0xe3, 0x18, 0x5a, 0xe4, 0x6f, 0x7b, 0xc6,
-  0x3b, 0x02, 0x27, 0x30, 0x0e, 0x44, 0x16, 0x42, 0x7f, 0x9d, 0x50, 0xa2,
-  0x2b, 0x89, 0xbe, 0x45, 0x8a, 0x81, 0x90, 0x84, 0xc6, 0xf1, 0x05, 0x1b,
-  0x91, 0x3e, 0xae, 0x67, 0xfb, 0xc5, 0x2c, 0x2c, 0x98, 0x32, 0x2c, 0xc9,
-  0xc7, 0xef, 0xd0, 0x9c, 0xbc, 0xe1, 0x6d, 0xa2, 0xc0, 0x21, 0x7c, 0x52,
-  0xad, 0x67, 0xe4, 0x37, 0x0f, 0x19, 0x2e, 0x85, 0xe7, 0x2b, 0x53, 0xba,
-  0x4d, 0x1a, 0xca, 0xed, 0x6d, 0x12, 0x89, 0x6c, 0x08, 0x62, 0x11, 0x9d,
-  0x6c, 0xac, 0x4e, 0xc2, 0x9b, 0x78, 0x38, 0xf2, 0x03, 0x66, 0x1a, 0x89,
-  0x0d, 0x9b, 0xc7, 0xc8, 0x09, 0xcf, 0x08, 0x32, 0xfe, 0x78, 0x76, 0xa2,
-  0x00, 0xe2, 0xe4, 0x59, 0xb2, 0x1e, 0xa7, 0x50, 0x5a, 0x59, 0x2c, 0x08,
-  0x17, 0x4f, 0x5f, 0x02, 0xc1, 0xa1, 0x18, 0x04, 0x17, 0x42, 0x6e, 0x44,
-  0xab, 0xaa, 0x5d, 0x4b, 0x87, 0x5c, 0xac, 0x1d, 0xd1, 0x96, 0xa0, 0x96,
-  0x17, 0x79, 0xfc, 0x02, 0xa2, 0x88, 0x50, 0x89, 0xad, 0x3a, 0x90, 0x5a,
-  0x59, 0x54, 0xd7, 0x4d, 0xb4, 0xca, 0xd8, 0x36, 0x64, 0x34, 0x22, 0x70,
-  0x51, 0xd6, 0x31, 0x38, 0xcd, 0x09, 0xa5, 0xcd, 0x67, 0x68, 0xc5, 0xc3,
-  0x57, 0xde, 0xfc, 0xf7, 0xe2, 0xf4, 0xf5, 0xe9, 0x89, 0xf9, 0xcb, 0xd1,
-  0xdb, 0xe3, 0xef, 0x9d, 0x56, 0x20, 0x9d, 0xb3, 0x6c, 0x6d, 0x1a, 0xc7,
-  0xcf, 0x01, 0xbd, 0xf8, 0x6c, 0xd0, 0x62, 0xc7, 0x9c, 0x84, 0x48, 0xf9,
-  0x87, 0x2d, 0x61, 0xde, 0xee, 0x2f, 0xe9, 0xf1, 0x39, 0x92, 0xd3, 0x94,
-  0x31, 0xea, 0xe1, 0x8f, 0xa4, 0x02, 0xbd, 0x44, 0x5a, 0x34, 0x8f, 0x6a,
-  0x6b, 0x29, 0xdc, 0x26, 0x1f, 0xb7, 0x58, 0x1c, 0x34, 0x2b, 0x5f, 0x73,
-  0x68, 0x33, 0x47, 0x9e, 0x14, 0x92, 0x30, 0xf2, 0xb9, 0x16, 0xcf, 0x36,
-  0x7e, 0x0f, 0x74, 0xad, 0xa9, 0x92, 0xae, 0x33, 0x94, 0xc1, 0xe3, 0xa3,
-  0xda, 0x17, 0xd9, 0xc0, 0x5b, 0xa4, 0x2a, 0xbc, 0x4d, 0x95, 0x81, 0x31,
-  0x22, 0xaf, 0xa9, 0x85, 0xf2, 0xd1, 0xa1, 0x08, 0x22, 0x05, 0x37, 0x5c,
-  0x7b, 0x4d, 0xb2, 0x01, 0x92, 0xca, 0x87, 0xdc, 0x0a, 0x52, 0xe4, 0x3d,
-  0x88, 0x1f, 0xa1, 0xd6, 0x68, 0xb9, 0x20, 0x97, 0x29, 0xd1, 0x1f, 0x6e,
-  0x12, 0xca, 0x52, 0xe9, 0xab, 0xb6, 0x99, 0x0b, 0xb6, 0x4b, 0x83, 0x52,
-  0xab, 0xd0, 0xb4, 0xa2, 0x33, 0x10, 0x65, 0xbf, 0xad, 0x71, 0xd4, 0x1b,
-  0x3e, 0x1d, 0x6e, 0x40, 0x90, 0x75, 0x4d, 0x59, 0xdf, 0xf5, 0xe3, 0x4d,
-  0x63, 0x90, 0x46, 0xf8, 0xf7, 0x75, 0x7e, 0x9d, 0xa2, 0xb6, 0xcc, 0x5c,
-  0x95, 0xe1, 0x90, 0x5f, 0xea, 0x8c, 0x91, 0xfe, 0xac, 0x41, 0xd2, 0xf6,
-  0x28, 0x4f, 0x7e, 0xce, 0x20, 0x4f, 0x3a, 0x63, 0x5c, 0xfd, 0xac, 0x41,
-  0x86, 0x2a, 0x20, 0x8c, 0x62, 0xfc, 0xfd, 0xf1, 0x45, 0xf2, 0xfa, 0xf4,
-  0x8d, 0xbb, 0x60, 0x17, 0x92, 0x0f, 0x48, 0x24, 0x90, 0x4c, 0xd6, 0x85,
-  0xa1, 0x41, 0xea, 0x97, 0x64, 0x1b, 0x50, 0x70, 0x9e, 0x22, 0x25, 0xe1,
-  0x68, 0x37, 0xfb, 0x2c, 0xaf, 0x18, 0x8e, 0x88, 0x12, 0x6b, 0xe0, 0xbd,
-  0xf1, 0x6a, 0x74, 0xe9, 0xe1, 0x25, 0x01, 0x1d, 0x5d, 0xaa, 0xfc, 0xa5,
-  0x1b, 0x49, 0x58, 0x77, 0x69, 0xa5, 0x25, 0xa5, 0x93, 0x94, 0xf0, 0x8c,
-  0x0a, 0xae, 0x8d, 0xa4, 0xa2, 0x94, 0x10, 0x7a, 0x58, 0x87, 0xf3, 0x11,
-  0x88, 0x8d, 0xee, 0x9c, 0x37, 0x3a, 0x13, 0x3f, 0x93, 0xf0, 0x40, 0x73,
-  0xfd, 0x5b, 0x94, 0x2e, 0x0d, 0xe8, 0x20, 0xfc, 0x28, 0xa9, 0x1b, 0x89,
-  0x2e, 0xe0, 0x23, 0xd2, 0x76, 0x51, 0xcd, 0x17, 0x6e, 0x43, 0x1d, 0x48,
-  0x6c, 0x3b, 0x84, 0xfd, 0xce, 0xa1, 0x84, 0x12, 0x8c, 0x8a, 0xce, 0x5e,
-  0x03, 0xc9, 0x2b, 0xcb, 0xff, 0xe1, 0x29, 0xe8, 0x8f, 0xac, 0x3e, 0x66,
-  0x56, 0xbe, 0x40, 0x67, 0xe7, 0x19, 0xdf, 0x88, 0xfa, 0xce, 0x08, 0xf5,
-  0x5b, 0x18, 0xe4, 0x64, 0x3d, 0x09, 0xa2, 0x93, 0x7b, 0xf3, 0xb1, 0x68,
-  0x65, 0x16, 0x36, 0xaa, 0xac, 0xac, 0x3d, 0xaa, 0x96, 0xbc, 0xf3, 0x58,
-  0x68, 0x85, 0x34, 0x43, 0xd9, 0x66, 0x75, 0x8e, 0x70, 0x58, 0x78, 0xbd,
-  0x24, 0x66, 0xa9, 0x5f, 0xd5, 0x8a, 0x6b, 0x41, 0xe0, 0xf6, 0x3a, 0x09,
-  0x5a, 0xb4, 0x1f, 0xf3, 0x29, 0xec, 0xd7, 0x90, 0xbb, 0x28, 0x05, 0x75,
-  0xe9, 0xae, 0x02, 0x53, 0x6d, 0x8e, 0x59, 0x89, 0x0d, 0x1c, 0x20, 0x95,
-  0x97, 0x9a, 0xde, 0xa7, 0x04, 0xf6, 0x80, 0xde, 0x85, 0x69, 0xc1, 0x95,
-  0x86, 0x7a, 0x02, 0xf1, 0x9a, 0x3b, 0x57, 0xf3, 0xf4, 0x84, 0xff, 0x78,
-  0xad, 0x3a, 0x9b, 0xd6, 0x0d, 0x25, 0x56, 0x5d, 0xbb, 0xb0, 0x70, 0x16,
-  0x62, 0xe2, 0x90, 0x78, 0x9b, 0x42, 0x0e, 0x71, 0x1d, 0x41, 0x64, 0x13,
-  0xea, 0x8e, 0x8f, 0xf3, 0x69, 0xe7, 0x2b, 0xfa, 0x11, 0x46, 0x74, 0x72,
-  0x5f, 0xf0, 0x7d, 0xf2, 0xba, 0x83, 0xf2, 0xac, 0x37, 0xda, 0xb3, 0x2e,
-  0x5d, 0x78, 0x9e, 0x7d, 0x8c, 0x68, 0x9f, 0xfc, 0x5c, 0x7c, 0x11, 0x19,
-  0x15, 0x2d, 0x8a, 0xe6, 0x5c, 0x65, 0xab, 0x85, 0xf0, 0x4c, 0xf9, 0x09,
-  0x42, 0xc7, 0xf0, 0x27, 0x60, 0x97, 0xa7, 0x3a, 0x4b, 0xa3, 0x0e, 0xfb,
-  0xa6, 0xe0, 0x73, 0xf9, 0xac, 0xe1, 0xbb, 0xac, 0x39, 0x10, 0xea, 0x46,
-  0x6e, 0xa9, 0x4d, 0x7a, 0xa1, 0xe3, 0x47, 0x94, 0xde, 0x68, 0x64, 0x53,
-  0x69, 0xff, 0xad, 0x6f, 0x84, 0x48, 0x77, 0x2c, 0xbe, 0x9c, 0x2f, 0x19,
-  0xeb, 0x5d, 0x57, 0x5c, 0xb6, 0xeb, 0xd0, 0x1d, 0x15, 0x6e, 0x9d, 0x17,
-  0x5c, 0x11, 0x22, 0xdf, 0x28, 0x79, 0x57, 0x06, 0xe8, 0x93, 0xe5, 0xbc,
-  0x91, 0xca, 0x7b, 0xca, 0x4c, 0xe4, 0xdd, 0xb9, 0x4a, 0x8b, 0x4b, 0x46,
-  0x14, 0xf4, 0x06, 0x04, 0x89, 0x5b, 0x61, 0x68, 0xae, 0x3a, 0xd4, 0x97,
-  0x22, 0x32, 0xbb, 0x2e, 0x1e, 0xfa, 0xc1, 0xbe, 0xdd, 0x07, 0xe9, 0x94,
-  0x85, 0xf2, 0x14, 0xda, 0x88, 0xef, 0x00, 0x4b, 0x78, 0x93, 0x72, 0x2b,
-  0x5d, 0xed, 0x37, 0xef, 0x4c, 0x16, 0x3d, 0x28, 0x0a, 0xac, 0x85, 0x79,
-  0xd2, 0xc8, 0xdf, 0x49, 0xd9, 0xa9, 0xc6, 0x99, 0x9e, 0x5c, 0xde, 0x28,
-  0xd2, 0x6a, 0x00, 0x33, 0xdc, 0xb2, 0x47, 0x0e, 0xb3, 0x42, 0xbb, 0xa6,
-  0xca, 0x98, 0x1e, 0x8f, 0x0c, 0xc1, 0x56, 0x79, 0xd9, 0x1c, 0x0e, 0x34,
-  0xc4, 0x5b, 0xcf, 0x81, 0x5b, 0xcf, 0x0d, 0x28, 0xe5, 0xec, 0xd5, 0x78,
-  0xac, 0x74, 0xf2, 0x3a, 0x24, 0x09, 0xf1, 0x59, 0x12, 0x9a, 0x85, 0x02,
-  0x3a, 0x85, 0xaa, 0xa2, 0x8c, 0xd1, 0x49, 0x32, 0x38, 0x60, 0x9e, 0xf6,
-  0x86, 0x19, 0x73, 0x7c, 0xb9, 0x37, 0xad, 0x4d, 0x64, 0x0f, 0x76, 0x07,
-  0x05, 0xe4, 0xb3, 0x68, 0xba, 0x0a, 0xc7, 0x2b, 0x69, 0x9b, 0x51, 0x8e,
-  0xac, 0x3c, 0x9e, 0x74, 0x43, 0xc3, 0x77, 0xf2, 0x56, 0xcf, 0xc2, 0x83,
-  0x47, 0x91, 0x45, 0x7f, 0xcb, 0xab, 0x1a, 0xfc, 0x2b, 0x8b, 0xfe, 0x36,
-  0xb2, 0xe8, 0xc7, 0xf6, 0x5b, 0xfc, 0xa9, 0xc3, 0xc3, 0x67, 0x52, 0x55,
-  0xc1, 0x3e, 0x3a, 0x2a, 0xfa, 0xb7, 0x0c, 0x88, 0xbf, 0xc6, 0x2b, 0x36,
-  0x0f, 0x0e, 0xb9, 0xfe, 0x20, 0xfc, 0x96, 0x77, 0x79, 0xbd, 0x4f, 0x3d,
-  0x71, 0xcb, 0x32, 0xaa, 0x37, 0x8d, 0x47, 0x5a, 0x3d, 0xf3, 0x99, 0x80,
-  0xfd, 0xa8, 0x31, 0x47, 0x7a, 0xf8, 0x0d, 0x65, 0x50, 0x35, 0xf1, 0xd4,
-  0x5f, 0x9d, 0x86, 0xf7, 0x9d, 0xa7, 0xd6, 0x8d, 0xb2, 0x77, 0xa8, 0x21,
-  0xf4, 0x57, 0xe0, 0xc5, 0x8b, 0x6c, 0xc9, 0xfd, 0x1a, 0x32, 0x02, 0xeb,
-  0x71, 0x1e, 0x40, 0xae, 0xb9, 0x9b, 0x57, 0x29, 0xd0, 0x96, 0x17, 0xe9,
-  0x5d, 0x04, 0x6c, 0x4b, 0x3c, 0xc5, 0x6c, 0xae, 0x98, 0xfb, 0x79, 0x99,
-  0x15, 0x64, 0x29, 0x40, 0x11, 0x10, 0xb7, 0x19, 0xf9, 0x61, 0x11, 0x35,
-  0x9f, 0x5b, 0x57, 0xad, 0x7c, 0x35, 0x80, 0x03, 0xa8, 0xa5, 0x81, 0x21,
-  0xdf, 0x19, 0xd1, 0x12, 0xe2, 0xd8, 0x70, 0x07, 0xcf, 0xec, 0xbe, 0xd9,
-  0x93, 0x20, 0xcf, 0x16, 0x63, 0x84, 0x78, 0x5b, 0xa7, 0xcc, 0x44, 0x03,
-  0x02, 0xd2, 0x47, 0x07, 0x51, 0xba, 0x3c, 0xb4, 0x9a, 0x2b, 0x4f, 0x41,
-  0x3c, 0x60, 0x6e, 0x7c, 0x46, 0xbc, 0x4e, 0x00, 0x77, 0x47, 0xc9, 0x29,
-  0xbc, 0x70, 0x2d, 0x90, 0x71, 0xae, 0x04, 0x4a, 0x5d, 0xd1, 0x68, 0x9b,
-  0x70, 0x9f, 0x7b, 0x27, 0xac, 0xb3, 0xd2, 0xec, 0x97, 0x3d, 0x61, 0xb3,
-  0x0e, 0x82, 0x49, 0x7d, 0xcd, 0x59, 0x72, 0x7e, 0x74, 0x71, 0x8e, 0x40,
-  0x2f, 0x31, 0x80, 0x00, 0x24, 0x35, 0xad, 0x76, 0x2d, 0x48, 0x90, 0x70,
-  0x33, 0xa7, 0x87, 0x38, 0x06, 0xc1, 0xf8, 0x65, 0xf6, 0xbc, 0xf9, 0x9f,
-  0xfa, 0x1e, 0x57, 0xbf, 0x64, 0x5a, 0x6b, 0xe2, 0x42, 0x3a, 0x6d, 0x64,
-  0xb5, 0xc3, 0x43, 0x97, 0x85, 0x84, 0xde, 0xc6, 0x2c, 0xe5, 0x24, 0x93,
-  0x7c, 0x24, 0x49, 0x9b, 0x5a, 0x7d, 0xa1, 0xad, 0x04, 0xe8, 0x21, 0x4e,
-  0xc6, 0x2e, 0xab, 0x98, 0xde, 0x21, 0x9f, 0xb6, 0x0a, 0x80, 0x4c, 0xc2,
-  0x2f, 0x4c, 0xe0, 0x6a, 0x70, 0x8f, 0x83, 0x72, 0x0d, 0xe0, 0xe3, 0xfd,
-  0xfd, 0x30, 0x6f, 0x38, 0x9d, 0x18, 0xa6, 0x2a, 0xda, 0x9c, 0x54, 0xf5,
-  0xe0, 0x15, 0xf6, 0x9a, 0x42, 0xbd, 0xac, 0xc9, 0xd6, 0x18, 0xce, 0xc9,
-  0x8d, 0x49, 0x3b, 0x16, 0x1a, 0x15, 0x87, 0xcc, 0x63, 0xbe, 0x43, 0x99,
-  0x91, 0xec, 0x59, 0x9b, 0xb3, 0x70, 0x05, 0x92, 0xf6, 0xce, 0x4d, 0x35,
-  0xc9, 0x18, 0x35, 0xc1, 0xe2, 0xfd, 0x0e, 0x66, 0x16, 0xf0, 0xef, 0xc3,
-  0x27, 0x11, 0x8a, 0x48, 0xc6, 0x17, 0xa7, 0xe7, 0x8a, 0xbd, 0x1f, 0xca,
-  0x67, 0x64, 0x3e, 0xd0, 0x13, 0x16, 0x6a, 0x65, 0x10, 0x42, 0xee, 0xcc,
-  0x2c, 0x3e, 0x80, 0x85, 0x31, 0xf5, 0xbe, 0xca, 0x1c, 0x00, 0x2d, 0xf4,
-  0x64, 0x6d, 0xdf, 0x0a, 0x20, 0x80, 0x42, 0xf6, 0xea, 0xbd, 0xf4, 0x5e,
-  0xe2, 0x6b, 0x76, 0xca, 0xf7, 0x97, 0xeb, 0xd7, 0x89, 0x8e, 0xa4, 0x92,
-  0x9d, 0x10, 0x7f, 0x25, 0x1d, 0xd6, 0x76, 0xfa, 0xec, 0xd2, 0x22, 0x5f,
-  0xa2, 0x53, 0x07, 0xc9, 0xcc, 0x1c, 0x5e, 0x16, 0x69, 0x2d, 0x63, 0x74,
-  0x9b, 0x25, 0x3e, 0xc1, 0x90, 0xc5, 0x92, 0xd8, 0x94, 0xb2, 0x2f, 0x6c,
-  0x1a, 0xc0, 0xba, 0x97, 0x95, 0x82, 0xb4, 0x8a, 0xe0, 0x54, 0x63, 0xc1,
-  0xe9, 0xd9, 0x9e, 0xd4, 0x3f, 0x3b, 0x3d, 0xbf, 0x48, 0xac, 0xd0, 0xc7,
-  0x97, 0xf1, 0xa3, 0xce, 0x05, 0xa2, 0x96, 0x29, 0xf0, 0xd9, 0xb9, 0xb2,
-  0x8d, 0xc0, 0x21, 0x29, 0x36, 0x41, 0xd3, 0x19, 0x62, 0x80, 0x36, 0x7b,
-  0xb3, 0x92, 0xb1, 0x7c, 0x5c, 0xf8, 0x51, 0x50, 0xba, 0x20, 0x67, 0xfa,
-  0x90, 0xc1, 0x9c, 0x72, 0xfb, 0xe8, 0x20, 0x42, 0x19, 0x64, 0x45, 0x9f,
-  0x1f, 0x8d, 0x2f, 0x78, 0xc7, 0xe8, 0x6f, 0xc1, 0xbc, 0xb9, 0x40, 0x54,
-  0x7e, 0x18, 0x18, 0x2a, 0x96, 0x32, 0x28, 0x01, 0xcd, 0x58, 0x1b, 0x18,
-  0xdf, 0x16, 0xb8, 0x7b, 0x3b, 0xf6, 0xc8, 0xcb, 0x36, 0x04, 0xd7, 0x14,
-  0x3a, 0xc1, 0x05, 0xc7, 0x0f, 0xb6, 0xe4, 0x23, 0x5b, 0x46, 0x31, 0xe3,
-  0x0b, 0xd1, 0x82, 0x5f, 0x7f, 0xf4, 0xd8, 0xe3, 0x14, 0x24, 0xa7, 0x64,
-  0x80, 0x63, 0x6d, 0x93, 0x4b, 0x3f, 0x1c, 0x2a, 0xa9, 0x40, 0x58, 0x30,
-  0x51, 0xf0, 0x73, 0x6e, 0x9c, 0x27, 0x52, 0xa2, 0x7e, 0x62, 0x55, 0x05,
-  0x6f, 0x2a, 0xf4, 0x63, 0xcd, 0xf8, 0x81, 0xda, 0xd6, 0x21, 0xb9, 0x47,
-  0x4c, 0xe9, 0x7f, 0x36, 0x84, 0x6e, 0xb3, 0x16, 0x79, 0xe9, 0xbe, 0x5c,
-  0x30, 0xba, 0x56, 0x5e, 0xac, 0x33, 0xe8, 0x68, 0x69, 0xb5, 0xa0, 0x56,
-  0x0f, 0x86, 0x87, 0x54, 0x52, 0x40, 0x76, 0x53, 0xc4, 0x60, 0xa9, 0xbd,
-  0x6f, 0x88, 0xfc, 0x39, 0x3e, 0x39, 0x72, 0x27, 0xc5, 0x7d, 0x22, 0x70,
-  0x83, 0x9d, 0xae, 0x4f, 0xad, 0xed, 0xad, 0x98, 0x18, 0x25, 0x67, 0xd4,
-  0xb3, 0x1c, 0x7a, 0x53, 0xfd, 0x1f, 0x6e, 0x34, 0xbe, 0x24, 0xf0, 0xc0,
-  0x1b, 0xb1, 0x09, 0x33, 0x25, 0x2f, 0xcc, 0xc1, 0xe2, 0x27, 0xf4, 0x57,
-  0x0f, 0xd3, 0x3c, 0x58, 0xee, 0x73, 0xf7, 0x72, 0x6d, 0x96, 0x62, 0x0c,
-  0xf4, 0xee, 0x23, 0x8f, 0x85, 0xae, 0x8c, 0xf5, 0x8e, 0x21, 0x2c, 0x6f,
-  0xa6, 0xbb, 0x2c, 0xad, 0x62, 0x66, 0x3c, 0xc2, 0x5c, 0x9f, 0x69, 0xf1,
-  0x70, 0x6f, 0x28, 0x16, 0x06, 0xaf, 0x26, 0xb6, 0x81, 0x10, 0xa5, 0x09,
-  0x93, 0x22, 0x67, 0xc6, 0x2a, 0x88, 0xd3, 0x2e, 0x6c, 0xae, 0xbd, 0x0d,
-  0x03, 0x13, 0xaf, 0x9c, 0xe8, 0xb5, 0xa1, 0x95, 0x74, 0x37, 0xb7, 0xd3,
-  0x80, 0xfd, 0x31, 0x53, 0xa2, 0x25, 0x1b, 0x2b, 0xbf, 0x5a, 0xb3, 0x93,
-  0xfc, 0x64, 0x01, 0xbd, 0x23, 0xa7, 0x01, 0xc5, 0x03, 0x8c, 0x80, 0xf7,
-  0x95, 0xff, 0xc7, 0x4f, 0xdc, 0x50, 0x73, 0xaa, 0xe9, 0xb4, 0x63, 0x39,
-  0xde, 0x63, 0xbb, 0x48, 0x30, 0x02, 0x03, 0x1e, 0x13, 0x8b, 0x91, 0x9b,
-  0x75, 0x4f, 0x22, 0xe8, 0x6f, 0xfe, 0x9e, 0x3c, 0x13, 0xd3, 0x97, 0x6c,
-  0xdf, 0xe2, 0xce, 0xe5, 0xde, 0x4b, 0xd3, 0x6e, 0xf6, 0x9b, 0x71, 0xa3,
-  0x1a, 0xf9, 0x8d, 0x80, 0x30, 0x5e, 0x89, 0x5f, 0x86, 0x5a, 0x51, 0x05,
-  0x88, 0x8b, 0xeb, 0xa5, 0xe4, 0xf0, 0x7a, 0x5f, 0xfa, 0x5c, 0x3c, 0x19,
-  0x54, 0x79, 0x6e, 0xf1, 0x1a, 0x3d, 0x2e, 0x5a, 0xaa, 0xc5, 0x6c, 0x61,
-  0x8c, 0x0c, 0xf1, 0x20, 0xb7, 0xd4, 0xd6, 0xba, 0x87, 0x18, 0x7b, 0x84,
-  0x5d, 0x06, 0x51, 0x2c, 0xea, 0xae, 0x3a, 0x15, 0x4a, 0x0f, 0xfa, 0x8a,
-  0x36, 0x5c, 0x9e, 0xe3, 0x5f, 0x29, 0x40, 0x4a, 0xe8, 0x12, 0xaf, 0xb2,
-  0xbf, 0x41, 0x91, 0x74, 0xfd, 0x5a, 0x35, 0xa6, 0x9c, 0x16, 0xeb, 0xd4,
-  0xb3, 0xe5, 0x1f, 0x3f, 0x17, 0x0f, 0x95, 0xb8, 0x41, 0x28, 0xac, 0x5e,
-  0x64, 0x4d, 0x10, 0x5e, 0x7c, 0x72, 0x60, 0x7d, 0x95, 0x94, 0x31, 0x2b,
-  0x75, 0x20, 0x7e, 0xde, 0xac, 0x61, 0x6e, 0xe3, 0xf1, 0xd7, 0xc9, 0xbb,
-  0x37, 0x4f, 0x28, 0x9d, 0xe7, 0x32, 0xab, 0x56, 0x15, 0xa5, 0x70, 0x2a,
-  0x0d, 0x9f, 0x7e, 0xe3, 0x0d, 0x76, 0xe8, 0x1c, 0x9f, 0x22, 0x62, 0x73,
-  0xb9, 0xbd, 0x64, 0x2b, 0x98, 0xf3, 0xa3, 0xba, 0xe7, 0x4b, 0x45, 0x46,
-  0x60, 0xef, 0x17, 0xa0, 0x17, 0x04, 0xac, 0x8a, 0x95, 0x96, 0xcf, 0xba,
-  0x49, 0xe1, 0x2d, 0x06, 0xf6, 0xe4, 0x91, 0x63, 0x60, 0xd5, 0xdd, 0x8a,
-  0x3a, 0xab, 0x14, 0x97, 0x64, 0x17, 0x44, 0x6e, 0xd4, 0x13, 0x66, 0x9a,
-  0xaf, 0xf9, 0xde, 0x93, 0x12, 0x1b, 0xbe, 0x06, 0xf5, 0x1c, 0xfe, 0x52,
-  0xef, 0xbd, 0x27, 0xbe, 0x57, 0xa1, 0x96, 0xde, 0x68, 0xd2, 0x12, 0x03,
-  0x3a, 0x8a, 0xf7, 0xec, 0x53, 0xfb, 0x2c, 0x39, 0x8e, 0xf2, 0xc2, 0x6b,
-  0x61, 0xd4, 0xf3, 0x86, 0x28, 0xbf, 0x6a, 0x20, 0x68, 0x24, 0x87, 0x35,
-  0x1e, 0x6f, 0xef, 0xbd, 0x57, 0x9e, 0xb7, 0x9d, 0x26, 0xe8, 0x1f, 0x60,
-  0x49, 0x13, 0x8b, 0x42, 0x67, 0x59, 0xcf, 0xcd, 0xc2, 0x32, 0xfa, 0x8c,
-  0xd2, 0xa0, 0x5b, 0xe7, 0xa9, 0x4c, 0x30, 0xf3, 0x31, 0x44, 0xf4, 0xae,
-  0x33, 0xed, 0xbf, 0x7e, 0xd5, 0x57, 0x04, 0x04, 0x6a, 0xf7, 0x3e, 0x72,
-  0x20, 0x77, 0x86, 0xfa, 0x52, 0x5f, 0x16, 0xf9, 0x3f, 0x14, 0xbe, 0x80,
-  0x04, 0xb4, 0xb6, 0x9f, 0xf2, 0x1e, 0x3f, 0x14, 0x86, 0xc1, 0xbd, 0x87,
-  0xc1, 0x14, 0x29, 0x78, 0xea, 0x1e, 0x78, 0x24, 0x54, 0xcb, 0xdd, 0xe3,
-  0xa0, 0xfd, 0x53, 0x12, 0x3e, 0x42, 0xf7, 0x59, 0x2b, 0xad, 0xfe, 0xe9,
-  0x63, 0xd1, 0xb9, 0x54, 0x39, 0x26, 0xc9, 0x4b, 0x1b, 0xb1, 0x00, 0x24,
-  0x63, 0x97, 0x4d, 0x3f, 0x15, 0xb1, 0x27, 0x47, 0x29, 0xbd, 0xd6, 0x53,
-  0xd7, 0xcc, 0x8b, 0xfe, 0x7a, 0x93, 0x17, 0x92, 0xea, 0x1e, 0xbc, 0xfe,
-  0xb4, 0xc7, 0xfd, 0x58, 0xb3, 0xcc, 0x3c, 0x02, 0x2d, 0x79, 0xcf, 0x3f,
-  0xb3, 0x37, 0xc1, 0x03, 0xf7, 0x54, 0x20, 0xc3, 0x81, 0x0f, 0x58, 0xaa,
-  0x17, 0x49, 0xfc, 0x27, 0x99, 0x76, 0x3a, 0x88, 0x20, 0xcb, 0xcf, 0xed,
-  0xe7, 0x17, 0xe5, 0x65, 0xe2, 0x63, 0xb2, 0x3c, 0x65, 0x92, 0x7a, 0x8b,
-  0x76, 0x15, 0xce, 0x3a, 0x28, 0x92, 0x0b, 0xaf, 0x4c, 0xd6, 0x3d, 0xfd,
-  0x5c, 0x68, 0x43, 0xe5, 0xa5, 0x35, 0x56, 0xfb, 0xde, 0x78, 0xb6, 0xef,
-  0x2b, 0xab, 0x33, 0x8a, 0xca, 0x72, 0x19, 0x7f, 0xef, 0x0b, 0x4c, 0x19,
-  0xc7, 0x46, 0x8c, 0x5c, 0x1a, 0xa2, 0xc6, 0x33, 0x0e, 0xca, 0xd0, 0x3d,
-  0x76, 0xd8, 0x62, 0xba, 0x17, 0xbe, 0xfa, 0x94, 0x1c, 0xbf, 0xf1, 0x1e,
-  0x7c, 0xe4, 0x16, 0x98, 0x2e, 0x48, 0x1b, 0xb8, 0x63, 0x47, 0x55, 0x9d,
-  0xec, 0xd0, 0x5b, 0x1e, 0x66, 0xc9, 0x33, 0xa6, 0x8c, 0xf7, 0x25, 0x83,
-  0x6e, 0x61, 0xff, 0x83, 0x67, 0x98, 0x1c, 0x5e, 0x5f, 0x19, 0xa9, 0x36,
-  0x6d, 0x90, 0x13, 0x5a, 0x68, 0x84, 0xab, 0x7b, 0xf6, 0xcf, 0x9e, 0x6e,
-  0x78, 0x56, 0x84, 0x66, 0x6d, 0x45, 0xbd, 0xf7, 0xde, 0xb3, 0xf0, 0x9a,
-  0xab, 0x39, 0xa0, 0x55, 0x0a, 0x72, 0xd3, 0x92, 0x1d, 0x2a, 0x8f, 0xfe,
-  0x0f, 0xf5, 0x0c, 0x56, 0x84, 0x27, 0x58, 0xff, 0x87, 0x3f, 0xdf, 0xcf,
-  0xfd, 0x1a, 0x3e, 0xf6, 0x09, 0x56, 0x19, 0xc2, 0x04, 0xd3, 0x56, 0xbb,
-  0x08, 0x97, 0x21, 0x84, 0xdd, 0xf1, 0x46, 0xe0, 0x33, 0x37, 0x7a, 0xc4,
-  0xba, 0x70, 0x9c, 0x83, 0x0d, 0x40, 0xc1, 0x22, 0x98, 0xf9, 0xb8, 0x93,
-  0xc4, 0xf3, 0xc5, 0x0b, 0xe5, 0xf9, 0x50, 0xf7, 0x3b, 0xd7, 0xa0, 0xbe,
-  0x5a, 0xb3, 0xc5, 0x6d, 0x57, 0xe4, 0x1c, 0x6c, 0xde, 0x6b, 0x87, 0x8e,
-  0x7b, 0x89, 0xd8, 0xe7, 0x82, 0x93, 0xd7, 0x14, 0x05, 0x66, 0xb3, 0xdc,
-  0x36, 0x11, 0x80, 0x7b, 0xbc, 0x2a, 0xd9, 0x67, 0x48, 0x60, 0x1b, 0x3b,
-  0x69, 0x3c, 0x35, 0x53, 0x92, 0xc8, 0xbd, 0xcf, 0x88, 0x6a, 0x43, 0x29,
-  0x4e, 0xe6, 0x94, 0xae, 0xb2, 0xe9, 0x27, 0xbd, 0x32, 0x76, 0x8c, 0xc8,
-  0x5b, 0x8f, 0xed, 0xd6, 0x12, 0xf5, 0x9d, 0x9d, 0x1f, 0x75, 0x8d, 0x00,
-  0xf7, 0x28, 0x53, 0xcd, 0xf9, 0xc5, 0xf8, 0xec, 0x05, 0xcd, 0x97, 0xc3,
-  0x86, 0xe6, 0x42, 0xbc, 0x1e, 0x67, 0x7f, 0x97, 0x32, 0xb3, 0xda, 0x3d,
-  0xfd, 0xb4, 0xe7, 0xe9, 0xb1, 0x38, 0xf7, 0x8e, 0x81, 0xd4, 0x6c, 0xce,
-  0xc1, 0x7f, 0x89, 0x89, 0x66, 0x5d, 0xa8, 0x7f, 0x9f, 0x5d, 0x60, 0x34,
-  0x33, 0x70, 0x43, 0x0a, 0x2d, 0xbb, 0x87, 0x3f, 0x77, 0x9e, 0x9a, 0xab,
-  0x75, 0xf1, 0xc9, 0xea, 0x8b, 0x82, 0xa3, 0xa7, 0x07, 0xec, 0x5e, 0x78,
-  0xae, 0x57, 0xc3, 0xf3, 0x83, 0xda, 0xbc, 0xa7, 0x81, 0x78, 0x28, 0xc4,
-  0xf5, 0x28, 0xf1, 0x4e, 0xc3, 0x5f, 0xd7, 0xde, 0x1e, 0x3c, 0xdf, 0xb7,
-  0xe2, 0x57, 0x10, 0x79, 0x3e, 0x65, 0x77, 0x8e, 0xea, 0x34, 0xc7, 0x62,
-  0x95, 0x17, 0xe4, 0x82, 0x70, 0x8f, 0xb8, 0x01, 0x0e, 0x5a, 0x42, 0xa0,
-  0xab, 0x6e, 0xd4, 0x4d, 0xda, 0xac, 0x3d, 0x11, 0xf3, 0x9c, 0x69, 0x67,
-  0x4c, 0x51, 0xc7, 0xa5, 0xd0, 0x6b, 0x5e, 0xa8, 0xb7, 0xad, 0xe3, 0x42,
-  0xd3, 0x97, 0xbe, 0xff, 0x9e, 0xe5, 0x88, 0x05, 0x8b, 0x93, 0xd0, 0x95,
-  0x6d, 0xfe, 0x64, 0xf8, 0x2e, 0x03, 0x08, 0xd3, 0x15, 0x46, 0xc0, 0xa7,
-  0xca, 0xa8, 0x3d, 0xa5, 0xa2, 0xdf, 0xe0, 0xf2, 0xc4, 0xa2, 0xe7, 0x65,
-  0x21, 0x31, 0x5b, 0x4a, 0xde, 0x84, 0xe7, 0x93, 0xc1, 0xa6, 0xd9, 0x17,
-  0x66, 0x66, 0xf0, 0xea, 0xc3, 0xc5, 0xd7, 0xa7, 0xe7, 0xe3, 0x64, 0x8f,
-  0x4a, 0xdb, 0x2f, 0xce, 0x8f, 0xff, 0xfc, 0xe1, 0xc2, 0xfc, 0x53, 0x47,
-  0x7a, 0x93, 0x16, 0xb9, 0x91, 0x4e, 0x66, 0x39, 0x59, 0x61, 0x88, 0xe5,
-  0x52, 0x9b, 0x34, 0x31, 0x74, 0xb1, 0x91, 0xc7, 0x65, 0xa5, 0x88, 0x26,
-  0x94, 0x8f, 0x52, 0xca, 0x89, 0x33, 0xaa, 0x5f, 0xc1, 0x19, 0x7e, 0xa5,
-  0xb3, 0x9c, 0xf3, 0x4e, 0x51, 0xbe, 0xa6, 0xed, 0x24, 0x17, 0x5f, 0xbf,
-  0x7a, 0xff, 0xcd, 0x58, 0x3b, 0x78, 0x7c, 0xf7, 0xdd, 0x77, 0xdd, 0xe0,
-  0x2e, 0xf4, 0xd8, 0xab, 0xf4, 0xf6, 0x76, 0x54, 0x67, 0x9f, 0x7d, 0x36,
-  0x3e, 0x3a, 0x4a, 0x5e, 0x9d, 0x8c, 0x4f, 0x3f, 0x73, 0x38, 0x0e, 0x3b,
-  0x07, 0x84, 0x60, 0x75, 0x99, 0x35, 0xe6, 0x2f, 0x9f, 0x7d, 0xf6, 0xff,
-  0x01, 0xdb, 0xb6, 0x69, 0xbe, 0xc6, 0x8e, 0x02, 0x00,
+  0x6b, 0x77, 0xdb, 0x46, 0x96, 0x2e, 0xfc, 0x3d, 0xbf, 0x02, 0xcd, 0x5e,
+  0x7d, 0x24, 0x4d, 0x93, 0xd4, 0xdd, 0x8e, 0x15, 0x39, 0x13, 0x45, 0x96,
+  0x63, 0x4d, 0x64, 0x49, 0x23, 0xca, 0x49, 0xfa, 0x24, 0x59, 0x5e, 0x20,
+  0x09, 0x52, 0x68, 0x91, 0x00, 0x1b, 0x00, 0x75, 0xe9, 0x9e, 0x3e, 0xbf,
+  0xfd, 0xdd, 0xd7, 0xaa, 0x02, 0xaa, 0x40, 0x29, 0xe9, 0x38, 0x73, 0x2e,
+  0x6f, 0xcf, 0x9a, 0xd8, 0x96, 0x80, 0x42, 0x5d, 0x76, 0xed, 0xfb, 0x7e,
+  0x76, 0x14, 0x3d, 0xf5, 0xbf, 0x8f, 0xf4, 0xff, 0x1f, 0xe1, 0x7f, 0xf0,
+  0xe7, 0x67, 0x51, 0x74, 0x59, 0xe4, 0x7f, 0x4d, 0x46, 0x55, 0xf8, 0xd9,
+  0x8f, 0x1f, 0xff, 0x2b, 0xe2, 0xff, 0x83, 0x77, 0x7e, 0x82, 0x3f, 0x3f,
+  0x5b, 0x39, 0xf6, 0x66, 0x64, 0x5f, 0xf8, 0xaf, 0x8f, 0x1b, 0xd1, 0x53,
+  0x2f, 0xfc, 0x57, 0xb4, 0x4e, 0x2f, 0x7c, 0x94, 0x2f, 0x1c, 0xe2, 0xdf,
+  0x3f, 0x7e, 0x5c, 0xfd, 0x91, 0x9f, 0x70, 0x56, 0xf8, 0x9f, 0x4d, 0x7c,
+  0xef, 0xa7, 0x8f, 0xf8, 0x57, 0xf8, 0xc9, 0x67, 0x9f, 0x9d, 0x1f, 0xbd,
+  0x3f, 0xd1, 0x57, 0x47, 0xcb, 0x62, 0x16, 0xf5, 0xa2, 0xaa, 0x88, 0xb3,
+  0x72, 0x92, 0x14, 0x51, 0x1c, 0x7d, 0xb8, 0x3a, 0xfb, 0xec, 0xb3, 0xc1,
+  0x5f, 0xce, 0x2f, 0x2e, 0x07, 0xa7, 0x83, 0xda, 0x63, 0x3f, 0xe6, 0x8b,
+  0x2a, 0xcd, 0xb3, 0x12, 0xa6, 0x0f, 0x0f, 0x95, 0x3f, 0x7f, 0xf6, 0xd9,
+  0x9b, 0x93, 0xc1, 0xf1, 0xd5, 0xe9, 0xe5, 0xf5, 0xe9, 0xc5, 0x79, 0xed,
+  0xc9, 0x28, 0x2d, 0x23, 0x18, 0xaa, 0xca, 0xf3, 0x19, 0xfc, 0xc7, 0x8e,
+  0x3e, 0x8e, 0xab, 0x38, 0x9a, 0x14, 0xf9, 0x3c, 0xca, 0x0b, 0xfc, 0x45,
+  0x1c, 0x95, 0x49, 0x71, 0x97, 0x14, 0xdd, 0x68, 0x59, 0xa6, 0xd9, 0x34,
+  0xca, 0xb3, 0x24, 0xca, 0x27, 0x51, 0x75, 0x93, 0xe8, 0x70, 0xe5, 0x72,
+  0xb1, 0xc8, 0x8b, 0x2a, 0x19, 0x47, 0x8b, 0x22, 0xaf, 0xf2, 0x51, 0x3e,
+  0x2b, 0xa3, 0xf5, 0x37, 0xa7, 0xc7, 0xd7, 0xdd, 0xe8, 0xed, 0xe9, 0xd9,
+  0x09, 0xfc, 0xf7, 0xfa, 0x92, 0xfe, 0x33, 0xe8, 0x46, 0xdf, 0x5c, 0x5c,
+  0xbe, 0x3b, 0xb9, 0xea, 0x46, 0xef, 0xae, 0xf1, 0x67, 0xf8, 0x5f, 0xf8,
+  0x61, 0x74, 0xfa, 0xfe, 0xe8, 0xb2, 0xab, 0xc3, 0xe1, 0x3f, 0xf0, 0x87,
+  0x67, 0x6f, 0xe0, 0x87, 0xfc, 0x07, 0xfe, 0xf3, 0xf2, 0xe2, 0x72, 0x57,
+  0xfe, 0xc0, 0x7f, 0x5e, 0x5d, 0xbf, 0x87, 0xdf, 0x5e, 0x5d, 0x0f, 0xe0,
+  0xbf, 0x83, 0x63, 0xfc, 0x0f, 0x7d, 0x65, 0xf0, 0xfe, 0x6b, 0xfa, 0xcf,
+  0xc0, 0x0c, 0x37, 0x78, 0xcf, 0x3f, 0xa7, 0x2f, 0x5d, 0x9f, 0x9c, 0x9d,
+  0x9f, 0x5c, 0x47, 0x71, 0x36, 0x8e, 0xae, 0xe1, 0xf9, 0x8d, 0x7e, 0x74,
+  0x7d, 0x93, 0x44, 0xa3, 0x7c, 0x3e, 0xc7, 0x1f, 0xc1, 0x8e, 0x8c, 0x93,
+  0x32, 0x9d, 0x66, 0xb0, 0x14, 0x58, 0xf9, 0x7d, 0x5e, 0xdc, 0x46, 0xd1,
+  0x7d, 0x5a, 0xdd, 0xe4, 0xcb, 0x4a, 0x87, 0x5b, 0xc2, 0x6e, 0x44, 0x69,
+  0x56, 0x25, 0x45, 0x3c, 0xc2, 0x9d, 0xee, 0x7f, 0x56, 0xdb, 0xd5, 0x7c,
+  0x02, 0x7b, 0x58, 0xc2, 0xa6, 0x0d, 0x97, 0xe5, 0x2c, 0x8f, 0xc7, 0xb8,
+  0x55, 0xf0, 0xca, 0x64, 0x09, 0x9b, 0x5c, 0xa4, 0xa3, 0xdb, 0x32, 0x9a,
+  0xa5, 0xb7, 0x09, 0x6e, 0xd4, 0xc3, 0xa3, 0x6e, 0x5c, 0x97, 0x07, 0x8d,
+  0x97, 0xb0, 0xa7, 0x59, 0x4f, 0x87, 0xab, 0xd2, 0x51, 0x8c, 0x1f, 0xa0,
+  0x9d, 0x8b, 0x96, 0x0b, 0x1c, 0x8d, 0x77, 0x2c, 0x5a, 0xe4, 0x25, 0xbc,
+  0x34, 0x18, 0x9c, 0xc1, 0xcc, 0xb3, 0x2c, 0xa1, 0x79, 0x94, 0x5d, 0xf8,
+  0x47, 0x7e, 0x9b, 0x26, 0xf0, 0x97, 0x49, 0x3a, 0x4b, 0x22, 0x3e, 0x51,
+  0x33, 0x1c, 0x1e, 0x6d, 0x54, 0x24, 0xe5, 0x72, 0x9e, 0xc0, 0xee, 0xbd,
+  0x4f, 0xaa, 0x78, 0x96, 0x66, 0xb7, 0xf0, 0x57, 0x5c, 0xf8, 0x3c, 0x2f,
+  0x92, 0x7e, 0x74, 0x54, 0x46, 0x8f, 0xf9, 0x12, 0x16, 0x3c, 0x9b, 0xc1,
+  0x99, 0x27, 0xd1, 0x30, 0x99, 0xe5, 0xf7, 0x5d, 0x3c, 0xe9, 0x28, 0x5b,
+  0xce, 0x87, 0x30, 0x40, 0x3e, 0xb1, 0xc3, 0xc5, 0xd5, 0x12, 0x86, 0xe3,
+  0xa7, 0xe7, 0x31, 0xac, 0x09, 0xde, 0x2d, 0xa2, 0x9b, 0x04, 0xd6, 0x5c,
+  0x2e, 0xd2, 0xec, 0x0f, 0xf5, 0x7d, 0x81, 0xad, 0x5d, 0xe4, 0xf7, 0x49,
+  0x01, 0x3b, 0x3b, 0x7c, 0x8c, 0x60, 0x13, 0x86, 0x4c, 0x84, 0x13, 0x20,
+  0xb2, 0x28, 0x86, 0x21, 0x0c, 0x01, 0xf6, 0x8a, 0x64, 0x16, 0x23, 0x31,
+  0x99, 0x6f, 0xf4, 0xe1, 0x10, 0x13, 0x43, 0x6d, 0xf2, 0xea, 0xfa, 0xee,
+  0x06, 0xbd, 0x3c, 0x86, 0x95, 0xa4, 0xb3, 0x12, 0x8e, 0x01, 0x2f, 0x85,
+  0x3c, 0x83, 0x87, 0x8a, 0xf4, 0x0f, 0xb4, 0xf9, 0x98, 0x55, 0xf1, 0x03,
+  0x7d, 0x5e, 0x68, 0xb3, 0x37, 0x4e, 0x16, 0x49, 0x36, 0x4e, 0xb2, 0xaa,
+  0x1f, 0xfd, 0x25, 0x5f, 0xae, 0xc1, 0xb7, 0x27, 0x29, 0xec, 0x41, 0x2c,
+  0x43, 0xc1, 0x97, 0x81, 0x08, 0x46, 0x45, 0xba, 0x70, 0x8e, 0x22, 0xcf,
+  0xe0, 0xcc, 0xa3, 0xab, 0xb7, 0xc7, 0xd1, 0xee, 0xab, 0xcf, 0x5f, 0xd8,
+  0x33, 0x87, 0x01, 0xa2, 0x51, 0x9c, 0xc1, 0x8a, 0x93, 0x51, 0x3a, 0x79,
+  0x8c, 0xe6, 0xcb, 0x59, 0x95, 0x2e, 0x60, 0xf7, 0xf1, 0xf2, 0xe1, 0x05,
+  0x5a, 0xc4, 0x45, 0x55, 0x22, 0x11, 0xd0, 0x0f, 0x68, 0xed, 0xf7, 0x45,
+  0x5a, 0xe1, 0x45, 0xa2, 0xdf, 0xc1, 0x0c, 0x93, 0xaa, 0xd4, 0xe1, 0x90,
+  0xd6, 0xe0, 0x3b, 0x43, 0xa0, 0x2d, 0xd8, 0xda, 0xb8, 0x84, 0x8f, 0x1e,
+  0x7c, 0x66, 0x39, 0xc8, 0x4d, 0x55, 0x2d, 0x0e, 0x36, 0x37, 0xcb, 0xb4,
+  0x4a, 0xfa, 0xff, 0x80, 0x7b, 0xd8, 0xad, 0xee, 0xf3, 0x6e, 0x75, 0x53,
+  0x24, 0xc9, 0x3f, 0xfb, 0x40, 0xc3, 0xe6, 0x49, 0xf8, 0xee, 0xa3, 0x4c,
+  0x6c, 0x9a, 0x54, 0xf0, 0x85, 0xbf, 0x2d, 0x93, 0x0c, 0x47, 0x84, 0x79,
+  0xc4, 0xb3, 0xc5, 0x4d, 0x0c, 0xc7, 0x99, 0x00, 0x35, 0xe2, 0xcd, 0x06,
+  0x82, 0xc1, 0x59, 0xf1, 0xdd, 0xfe, 0xf1, 0x67, 0xff, 0xa3, 0x13, 0xfa,
+  0x26, 0xfc, 0xb7, 0x9f, 0x3c, 0xc4, 0x73, 0x58, 0x1b, 0x7e, 0x6a, 0x13,
+  0x49, 0xec, 0xc7, 0xed, 0xde, 0xf6, 0xd6, 0xd6, 0xcf, 0xfd, 0xea, 0xa1,
+  0x7a, 0xde, 0xf3, 0x5b, 0x5b, 0xf6, 0x0d, 0x7c, 0x74, 0x1d, 0xd7, 0x1b,
+  0xcd, 0x80, 0x64, 0xf0, 0xe3, 0x7f, 0x4f, 0x8a, 0xbc, 0xdc, 0x78, 0xde,
+  0x48, 0x71, 0xef, 0xef, 0xf5, 0xef, 0x9e, 0x27, 0x25, 0xd1, 0x8c, 0x5d,
+  0x6b, 0x14, 0x17, 0x40, 0xb7, 0x79, 0x65, 0xd9, 0x53, 0x17, 0x2e, 0x65,
+  0x65, 0x76, 0x06, 0xee, 0x1c, 0x3c, 0x0d, 0x8c, 0x2d, 0x9e, 0x21, 0x4f,
+  0x2b, 0xa3, 0x2c, 0x79, 0x30, 0xb7, 0x1c, 0x6e, 0x7f, 0x12, 0x8f, 0x6e,
+  0xa2, 0x1c, 0x88, 0xbf, 0x08, 0x1c, 0x81, 0x3b, 0xa1, 0xb8, 0x18, 0xdd,
+  0xa4, 0x77, 0xb0, 0x1b, 0xaf, 0x5e, 0xbd, 0xe8, 0xc1, 0x7f, 0x5e, 0xfd,
+  0xbc, 0x79, 0x97, 0xcf, 0x60, 0x73, 0xf6, 0x7e, 0xde, 0xc4, 0x23, 0xfe,
+  0x47, 0xdc, 0x1d, 0x76, 0x47, 0xff, 0xec, 0xdf, 0x54, 0xf3, 0x59, 0x2b,
+  0xe1, 0xc4, 0x19, 0xfc, 0xff, 0x3c, 0x5f, 0x66, 0x95, 0x21, 0x16, 0xa0,
+  0xb9, 0xca, 0x61, 0x4e, 0x70, 0x5d, 0xe1, 0x8e, 0x22, 0x69, 0x23, 0x0d,
+  0xe1, 0xad, 0x83, 0x0b, 0x6a, 0xaf, 0x63, 0x35, 0xba, 0xc1, 0xf5, 0x03,
+  0xf5, 0xc4, 0xb2, 0x09, 0x55, 0x1a, 0xe3, 0xcd, 0x04, 0x06, 0x81, 0x0c,
+  0x8b, 0xc6, 0xe2, 0xaf, 0xa5, 0xf0, 0x60, 0x5e, 0x8c, 0x93, 0xa2, 0xdf,
+  0x9c, 0x86, 0xb9, 0xb2, 0xce, 0x37, 0x23, 0x95, 0x28, 0xf8, 0x03, 0x9a,
+  0xd8, 0x3c, 0x7d, 0x80, 0x11, 0x88, 0x61, 0x66, 0x34, 0x71, 0x1e, 0x2d,
+  0xc2, 0x19, 0xd3, 0x67, 0xf4, 0x7d, 0x7b, 0x65, 0x61, 0xea, 0xb5, 0xa5,
+  0xd3, 0x47, 0xed, 0xe2, 0x23, 0x38, 0xbc, 0x05, 0xbc, 0xb5, 0x44, 0xbe,
+  0x4a, 0xd7, 0x1a, 0x87, 0x01, 0x86, 0x30, 0x85, 0x73, 0x81, 0xb3, 0x40,
+  0x2a, 0xc6, 0xa3, 0x7a, 0x8c, 0xce, 0x81, 0x60, 0x98, 0x19, 0x39, 0xc4,
+  0x3e, 0x4b, 0xaa, 0xea, 0xc9, 0x63, 0xb2, 0x14, 0x7b, 0xb0, 0xed, 0x11,
+  0x6d, 0xdb, 0xf3, 0x40, 0x67, 0x07, 0x3b, 0xf5, 0x87, 0xbf, 0x07, 0x26,
+  0x6d, 0xaf, 0x0b, 0x7c, 0xfd, 0x1f, 0xff, 0x74, 0xa8, 0xee, 0x1e, 0x7f,
+  0x9b, 0x66, 0x77, 0xf9, 0x2d, 0x6c, 0x11, 0x49, 0xd1, 0xb8, 0xbe, 0x9b,
+  0xc8, 0x87, 0xe6, 0x8b, 0xca, 0x88, 0x27, 0x24, 0x47, 0xf8, 0xd1, 0x30,
+  0x1e, 0xce, 0x1e, 0xa3, 0x9b, 0xf8, 0x2e, 0xc1, 0xf5, 0x2e, 0x80, 0x4e,
+  0x71, 0x07, 0x40, 0x6c, 0xcc, 0x88, 0x8f, 0x09, 0x63, 0x18, 0xe7, 0xcb,
+  0x21, 0x30, 0x97, 0xbf, 0x2d, 0xf3, 0x8a, 0x37, 0x26, 0xbe, 0xcb, 0xd3,
+  0x71, 0x4d, 0x16, 0xdf, 0x24, 0xc8, 0xd0, 0xf0, 0xc3, 0x24, 0xa4, 0x80,
+  0xa1, 0xe2, 0x4c, 0xe9, 0xa2, 0xa5, 0x15, 0x8a, 0x3b, 0x60, 0x85, 0xf1,
+  0xac, 0xcc, 0xa3, 0x68, 0x9a, 0xe3, 0x2d, 0x21, 0x06, 0x4c, 0x64, 0x0e,
+  0x87, 0x72, 0x13, 0xa3, 0x54, 0x03, 0x01, 0x66, 0xee, 0x41, 0x91, 0x10,
+  0x2f, 0xa6, 0x93, 0x8a, 0x67, 0x5d, 0x96, 0x5e, 0xf8, 0x8e, 0x6c, 0x55,
+  0xb4, 0xf6, 0x3f, 0xd6, 0xba, 0xd1, 0xda, 0xbf, 0xaf, 0x11, 0x3d, 0xac,
+  0xfd, 0xdb, 0x9a, 0x3d, 0x67, 0x50, 0xc6, 0xee, 0xd2, 0x71, 0xc2, 0x24,
+  0x71, 0x7a, 0x79, 0xf7, 0x22, 0xfa, 0x3b, 0xea, 0x0e, 0xc0, 0x6b, 0x93,
+  0x07, 0x25, 0x48, 0x5d, 0x1b, 0xbc, 0x1d, 0x01, 0xd3, 0x8d, 0x17, 0xa8,
+  0x44, 0x24, 0xc5, 0x08, 0xa8, 0x37, 0x9e, 0x02, 0xbd, 0x82, 0x2c, 0xd6,
+  0xe1, 0x70, 0x7c, 0x7c, 0x85, 0x97, 0x05, 0x0c, 0x32, 0xca, 0xe2, 0x39,
+  0xdc, 0x88, 0x33, 0x9c, 0x51, 0x9a, 0xf9, 0x87, 0xf9, 0xe3, 0x24, 0xf9,
+  0x7c, 0xeb, 0xe0, 0x60, 0xf7, 0x4f, 0x3b, 0xfb, 0x49, 0x75, 0xb3, 0xf5,
+  0xf3, 0xa6, 0x79, 0xe4, 0x74, 0x42, 0xdb, 0xae, 0xe4, 0xa7, 0x93, 0x00,
+  0x29, 0x6f, 0xa4, 0x04, 0xbc, 0x0f, 0x7f, 0x4f, 0x26, 0xe9, 0x43, 0x57,
+  0xf5, 0x25, 0xbe, 0x73, 0x31, 0x90, 0x1a, 0x9c, 0x1f, 0xb2, 0x08, 0x1d,
+  0x6e, 0xba, 0x4c, 0x4a, 0xd8, 0xc9, 0xfb, 0x9b, 0xb8, 0x8a, 0xcc, 0x00,
+  0x7c, 0xb2, 0xf3, 0x74, 0x7a, 0x53, 0x45, 0xf7, 0x31, 0x0a, 0x9b, 0xd3,
+  0x8a, 0x87, 0x40, 0x29, 0x0f, 0x22, 0x66, 0x12, 0x83, 0xac, 0xc0, 0x33,
+  0x24, 0x91, 0x3e, 0xb4, 0x1a, 0x46, 0x05, 0x64, 0xce, 0x07, 0x62, 0xd5,
+  0xa9, 0x61, 0x5c, 0xe2, 0xa5, 0xcd, 0x80, 0x39, 0x54, 0xa0, 0x23, 0x2c,
+  0xf1, 0x5f, 0x37, 0xa0, 0x05, 0xd0, 0x1e, 0xc8, 0x44, 0x49, 0x50, 0xbe,
+  0xc5, 0xe3, 0xc4, 0xb3, 0x31, 0xc2, 0x0b, 0x0e, 0xa9, 0x2b, 0xc7, 0x6c,
+  0xde, 0x28, 0xe1, 0xc2, 0x01, 0x67, 0x32, 0x94, 0xd1, 0x41, 0x26, 0xdb,
+  0xe1, 0x75, 0xd2, 0x1c, 0xe3, 0x12, 0x15, 0x05, 0x56, 0x07, 0x60, 0xf2,
+  0xce, 0x62, 0x61, 0xd3, 0xe2, 0x5b, 0x54, 0x49, 0x1a, 0x8a, 0x0f, 0xbd,
+  0x36, 0xce, 0x81, 0xc8, 0x60, 0xb6, 0xc0, 0x8c, 0x71, 0x65, 0xc8, 0x62,
+  0x69, 0x57, 0x88, 0xc8, 0x61, 0x4c, 0xfc, 0x61, 0x5a, 0xa1, 0x8c, 0x21,
+  0x1d, 0x16, 0xe6, 0x0b, 0x9b, 0x42, 0x8a, 0x28, 0x30, 0x6a, 0x67, 0xfd,
+  0x24, 0x1e, 0xe1, 0xd9, 0xe8, 0x0e, 0xb4, 0x14, 0x50, 0x48, 0x13, 0xf3,
+  0x16, 0xc9, 0xf3, 0x11, 0xea, 0x46, 0x33, 0xb8, 0x2f, 0xa3, 0xbc, 0x28,
+  0x50, 0xdf, 0xc7, 0x13, 0x1c, 0x32, 0x13, 0x9d, 0x27, 0xa0, 0x46, 0xb8,
+  0xdb, 0x99, 0xa2, 0x40, 0x03, 0xfe, 0x02, 0x7a, 0x09, 0x71, 0x10, 0xd0,
+  0x1f, 0x88, 0xe7, 0xd3, 0xc2, 0x69, 0x76, 0x38, 0xf6, 0x68, 0x94, 0x2c,
+  0xaa, 0x32, 0xb4, 0x26, 0x3d, 0x70, 0x98, 0x4e, 0x91, 0xe0, 0xce, 0xbb,
+  0x4a, 0x17, 0xed, 0xab, 0x11, 0xfa, 0xa4, 0x77, 0xa9, 0x1e, 0x03, 0x7a,
+  0x58, 0x69, 0x76, 0xad, 0x22, 0xda, 0x00, 0x36, 0x46, 0x7b, 0x3e, 0xc7,
+  0x89, 0xe2, 0xc3, 0x25, 0xdf, 0x54, 0x62, 0xcd, 0x78, 0x90, 0xac, 0x69,
+  0xf3, 0x77, 0x51, 0x74, 0xc1, 0x7e, 0x9a, 0xc1, 0xe1, 0xab, 0xe6, 0x4c,
+  0xf1, 0xf3, 0xa8, 0xe2, 0x83, 0x24, 0x1f, 0x97, 0x37, 0xa0, 0x7c, 0x95,
+  0x72, 0xb3, 0xd3, 0x39, 0xd0, 0xcc, 0x1d, 0x9e, 0xef, 0x22, 0x49, 0xc6,
+  0xfd, 0xe8, 0x62, 0x82, 0x5c, 0xb5, 0x80, 0x49, 0x57, 0xf4, 0x6b, 0x94,
+  0x2a, 0xb0, 0x6f, 0x63, 0x52, 0xe2, 0xcd, 0xd5, 0xe2, 0xa9, 0x38, 0xd2,
+  0x81, 0x38, 0x79, 0x0c, 0x3f, 0x81, 0xd9, 0xce, 0xea, 0x22, 0x88, 0xee,
+  0x21, 0x70, 0x6f, 0x9c, 0xde, 0x30, 0x89, 0x88, 0x12, 0x87, 0x49, 0x75,
+  0x9f, 0x24, 0x66, 0xb8, 0x32, 0x01, 0xb1, 0x87, 0x87, 0xc6, 0x9a, 0x1f,
+  0x31, 0x43, 0xdc, 0xda, 0xcb, 0xab, 0x8b, 0x6f, 0xae, 0x4e, 0x06, 0x83,
+  0xe8, 0xfd, 0xc9, 0xf5, 0xc9, 0x55, 0x6d, 0xa7, 0xb3, 0xbc, 0x98, 0xd3,
+  0x89, 0x8e, 0xd3, 0x72, 0x31, 0x8b, 0x1f, 0xf1, 0xa8, 0x61, 0x25, 0xd3,
+  0x02, 0x6f, 0xd6, 0x3c, 0x41, 0xa9, 0x30, 0x5e, 0x12, 0x27, 0x03, 0x71,
+  0x04, 0xc7, 0x27, 0x1a, 0x2f, 0x32, 0x13, 0x52, 0x93, 0xb3, 0xa9, 0xdd,
+  0x69, 0xe0, 0x38, 0x22, 0x49, 0x51, 0x94, 0x9a, 0xf3, 0x40, 0xd5, 0x93,
+  0x8c, 0x9b, 0xae, 0xfd, 0x19, 0x6f, 0x13, 0x8b, 0x36, 0xa0, 0xd9, 0x74,
+  0x4e, 0xcc, 0x0e, 0xfe, 0xb4, 0xda, 0x66, 0x32, 0x01, 0x55, 0x1b, 0xa4,
+  0x2b, 0x5b, 0x0a, 0xcd, 0x39, 0xe9, 0x6c, 0x8d, 0x7e, 0x0c, 0x64, 0x88,
+  0xac, 0x19, 0x07, 0xe4, 0xa9, 0xf0, 0x17, 0x0c, 0x13, 0x03, 0x9d, 0x04,
+  0x79, 0x9f, 0x3c, 0xb6, 0xc0, 0x29, 0x24, 0x70, 0xb2, 0x63, 0x1e, 0xbe,
+  0x5c, 0x4e, 0xe8, 0x22, 0x47, 0xeb, 0xa0, 0x99, 0xbf, 0x07, 0x6b, 0x09,
+  0x2c, 0x96, 0x6e, 0x74, 0xb9, 0x41, 0xef, 0x6d, 0x6f, 0xed, 0xec, 0x31,
+  0x23, 0xe8, 0xeb, 0x70, 0x6f, 0x1d, 0x46, 0xbc, 0x7d, 0x8b, 0xc7, 0xcb,
+  0x0f, 0xe1, 0xe0, 0xfd, 0x68, 0xfb, 0x3d, 0xff, 0x64, 0xef, 0xf3, 0xfd,
+  0x97, 0x2f, 0xe4, 0x87, 0x75, 0x02, 0x37, 0xf3, 0x27, 0xea, 0x20, 0xcb,
+  0x0f, 0x4d, 0x41, 0x98, 0x09, 0xac, 0x6e, 0x9e, 0x66, 0x70, 0x4d, 0xe0,
+  0x5a, 0x09, 0xaf, 0x42, 0x7a, 0x86, 0xc9, 0x4f, 0x98, 0xb3, 0xc9, 0xb9,
+  0xd6, 0x4d, 0x4a, 0x78, 0x19, 0x48, 0x16, 0x78, 0xb9, 0x39, 0x24, 0x56,
+  0x13, 0x2a, 0x9c, 0x48, 0x3c, 0x44, 0x06, 0x8b, 0x76, 0x15, 0x28, 0xc0,
+  0x49, 0xf0, 0x6b, 0x46, 0x2a, 0xc2, 0x1b, 0x30, 0x37, 0x90, 0x89, 0x28,
+  0xe6, 0xfc, 0x7d, 0x07, 0x56, 0x40, 0x1c, 0xf2, 0x3e, 0x2d, 0x89, 0x35,
+  0xdc, 0xe7, 0xcb, 0x19, 0x58, 0x31, 0xf8, 0xc0, 0x72, 0x41, 0x2f, 0xc0,
+  0xa7, 0x16, 0x96, 0x07, 0x80, 0xc6, 0x82, 0xb4, 0xd3, 0x1c, 0x05, 0xa6,
+  0x06, 0xff, 0x5c, 0x00, 0x29, 0xf1, 0x74, 0xfa, 0x4d, 0x09, 0x41, 0xbc,
+  0xcf, 0xa3, 0x44, 0xbc, 0xf3, 0xc4, 0xb4, 0x2f, 0x2f, 0x06, 0xd7, 0xa8,
+  0x01, 0x5c, 0x7e, 0xb8, 0x86, 0x81, 0x40, 0x05, 0x28, 0x2b, 0x20, 0x4a,
+  0x7c, 0x31, 0x4b, 0xc8, 0x84, 0xd4, 0xe1, 0x80, 0xf6, 0x52, 0x62, 0x54,
+  0xa4, 0xd6, 0xe8, 0x27, 0x79, 0x8e, 0x6c, 0x63, 0xe3, 0x15, 0x54, 0x0b,
+  0x9b, 0x65, 0xb8, 0x79, 0x27, 0x5a, 0xff, 0x72, 0x03, 0x68, 0xb6, 0x97,
+  0x9b, 0xdd, 0xe9, 0xf5, 0xe4, 0x55, 0xf8, 0x76, 0x99, 0xce, 0xd3, 0x59,
+  0x5c, 0x38, 0x53, 0x67, 0x8e, 0x8a, 0xf7, 0xd3, 0xf0, 0x95, 0x11, 0x50,
+  0x0d, 0x4d, 0xdb, 0x9a, 0x92, 0xb8, 0x87, 0xc4, 0x95, 0xec, 0x51, 0x8d,
+  0x51, 0x21, 0x20, 0x8d, 0x79, 0x91, 0x9a, 0xad, 0xc3, 0x33, 0x43, 0x76,
+  0x55, 0xdb, 0xa8, 0xe6, 0xb9, 0x79, 0x1b, 0x87, 0x12, 0x89, 0x3c, 0x15,
+  0x66, 0xeb, 0xa2, 0xce, 0x30, 0x2e, 0x3a, 0x91, 0xe1, 0xc5, 0x7c, 0x37,
+  0xf1, 0x86, 0x14, 0xc9, 0x74, 0x09, 0x2b, 0x88, 0x78, 0x77, 0x71, 0xa5,
+  0x7f, 0x74, 0x56, 0xaa, 0x03, 0xf4, 0x86, 0xf8, 0x48, 0x5a, 0xb2, 0x99,
+  0x39, 0x01, 0xbb, 0x05, 0x2f, 0x8d, 0xea, 0xaf, 0xa4, 0xd1, 0x08, 0xc5,
+  0x04, 0x08, 0xc6, 0xd1, 0x6b, 0xe1, 0xaa, 0x54, 0x09, 0x30, 0x1a, 0x62,
+  0xff, 0xf8, 0x64, 0x0f, 0x8e, 0xac, 0xd7, 0x2b, 0x61, 0xff, 0x51, 0xf7,
+  0x5e, 0x88, 0x4d, 0x7f, 0x41, 0x0e, 0x13, 0xe3, 0x5b, 0xb9, 0x10, 0x1d,
+  0x98, 0xc4, 0x26, 0xbf, 0x4b, 0x2c, 0x14, 0x14, 0xd5, 0x7b, 0xf8, 0x70,
+  0x0c, 0x47, 0x06, 0x17, 0xee, 0x3d, 0x6e, 0x14, 0xfb, 0x46, 0x22, 0xa3,
+  0x36, 0x13, 0x65, 0xa4, 0x78, 0xef, 0x63, 0xab, 0xcb, 0x8c, 0xc7, 0x29,
+  0xfe, 0x16, 0xee, 0x17, 0x48, 0xb8, 0x65, 0x42, 0xb6, 0x87, 0x6c, 0xea,
+  0xdc, 0x6e, 0x26, 0x99, 0xb1, 0xe5, 0x4d, 0x8e, 0x66, 0x62, 0x87, 0x79,
+  0x71, 0x0f, 0xbf, 0xd5, 0x21, 0x79, 0x3e, 0x8f, 0xf4, 0x5b, 0xf2, 0x29,
+  0x58, 0xc7, 0xd8, 0xd5, 0xcd, 0xba, 0x20, 0x68, 0x1e, 0x1d, 0x23, 0x81,
+  0x78, 0x35, 0xcf, 0xbd, 0x30, 0x0a, 0x0f, 0x88, 0xd4, 0x05, 0x2a, 0x53,
+  0xc2, 0xc3, 0x49, 0x18, 0xd2, 0x95, 0x2d, 0x79, 0x6a, 0x5d, 0xd8, 0x5b,
+  0x7c, 0x72, 0x7a, 0xa3, 0x8f, 0x3a, 0x82, 0x35, 0x86, 0xc5, 0xa1, 0x70,
+  0x40, 0x7b, 0x7a, 0xac, 0x7c, 0x3f, 0x2f, 0x98, 0x99, 0xcd, 0x72, 0xa0,
+  0xe5, 0x0e, 0xab, 0xac, 0x32, 0x6d, 0x9c, 0x35, 0xce, 0x12, 0x77, 0x9c,
+  0xfd, 0x4c, 0xb9, 0x39, 0x1b, 0x33, 0x69, 0xd9, 0xaf, 0xf2, 0xc9, 0xa9,
+  0xd9, 0x8d, 0x1a, 0xd0, 0x1e, 0x81, 0xe8, 0x2c, 0x91, 0x8e, 0x75, 0xe7,
+  0x89, 0xbc, 0x41, 0xd4, 0xad, 0x55, 0x7c, 0x1f, 0xc9, 0xc6, 0x6a, 0xec,
+  0x7c, 0x49, 0xe4, 0x23, 0x82, 0xcc, 0xac, 0x0c, 0x56, 0x34, 0x4e, 0x63,
+  0xa2, 0x13, 0x3e, 0x1a, 0x52, 0x46, 0xac, 0x45, 0x18, 0xd0, 0x83, 0x1f,
+  0x9b, 0x06, 0xdd, 0x6c, 0xe6, 0x8a, 0x24, 0x9d, 0x53, 0xef, 0x02, 0xd6,
+  0x7e, 0x46, 0xeb, 0xe8, 0xdd, 0x45, 0x78, 0xfd, 0xc0, 0x6c, 0xc0, 0xbb,
+  0xd8, 0xbb, 0x38, 0xbb, 0x73, 0xae, 0x11, 0x5a, 0xee, 0x19, 0xea, 0x29,
+  0x5d, 0xf2, 0x8e, 0x0c, 0xf3, 0x1c, 0xcc, 0x64, 0xbb, 0x34, 0x94, 0x07,
+  0x49, 0x86, 0xd4, 0x2e, 0x27, 0x0a, 0x2c, 0x61, 0x61, 0xf8, 0xed, 0x23,
+  0x98, 0x4b, 0xf1, 0x34, 0x4e, 0x0d, 0xbd, 0xc9, 0xcd, 0x18, 0x47, 0xfa,
+  0x70, 0x96, 0xcb, 0xf3, 0x78, 0x54, 0xa8, 0x02, 0x09, 0xdf, 0x5a, 0x96,
+  0x7c, 0x7d, 0x60, 0x55, 0xc0, 0x79, 0x88, 0x77, 0xc8, 0xb8, 0xa8, 0x36,
+  0xea, 0x70, 0x43, 0x52, 0x94, 0x51, 0xe7, 0x24, 0xe6, 0x4b, 0x1a, 0x24,
+  0x8c, 0xd8, 0xe9, 0x47, 0xef, 0xf2, 0xfb, 0x84, 0x7c, 0x85, 0xa4, 0xdf,
+  0xa7, 0xe8, 0xed, 0x02, 0x55, 0xf0, 0x3e, 0x89, 0xe6, 0xa0, 0x7a, 0xc2,
+  0x6e, 0x92, 0xf6, 0x41, 0x3f, 0x73, 0xcc, 0x43, 0xa0, 0xf0, 0x7b, 0xde,
+  0x25, 0xb3, 0x0a, 0x73, 0x94, 0x13, 0xbe, 0x12, 0xd1, 0x3a, 0xa9, 0x37,
+  0x23, 0xdc, 0xad, 0x45, 0x65, 0x57, 0x61, 0x36, 0xe4, 0x3e, 0x2e, 0x9d,
+  0xcb, 0x95, 0x90, 0x69, 0xfa, 0xb2, 0xbf, 0xfd, 0xaa, 0xbf, 0xd5, 0x07,
+  0x43, 0x24, 0xb9, 0x4b, 0xf3, 0x65, 0x09, 0x9f, 0xc6, 0x69, 0xd8, 0x77,
+  0x12, 0xbc, 0x95, 0x55, 0x3e, 0x9d, 0xce, 0x58, 0xe7, 0xd9, 0xcc, 0x27,
+  0x13, 0xd6, 0x7d, 0x40, 0xd3, 0x33, 0xfa, 0x33, 0x5b, 0x40, 0xb8, 0x33,
+  0x72, 0xdd, 0x98, 0xa5, 0xfa, 0x26, 0x72, 0xdf, 0x3a, 0x2f, 0x7a, 0xbd,
+  0x78, 0x58, 0x56, 0x68, 0x4c, 0xf5, 0x96, 0x59, 0xfa, 0xd0, 0x2b, 0xf3,
+  0xd1, 0x2d, 0x1c, 0xca, 0xe1, 0x22, 0xae, 0x6e, 0xbe, 0x6c, 0xb8, 0x84,
+  0xd7, 0x51, 0x96, 0x6c, 0x44, 0xd1, 0x31, 0xab, 0x95, 0xb8, 0x13, 0x05,
+  0xdf, 0x37, 0x38, 0x4d, 0x19, 0x25, 0xfa, 0x00, 0xa3, 0x00, 0x2d, 0xcf,
+  0xe1, 0x50, 0x23, 0x1e, 0xac, 0xab, 0xac, 0xb4, 0x31, 0x1c, 0x39, 0x1c,
+  0x51, 0x8c, 0x90, 0xdf, 0x0e, 0xae, 0x4e, 0x5e, 0xdc, 0x82, 0xa2, 0x7d,
+  0x0e, 0x26, 0xe3, 0x01, 0xfe, 0x1b, 0x58, 0x58, 0x45, 0x5b, 0x2e, 0x92,
+  0x15, 0x66, 0xc4, 0xcc, 0x18, 0x2d, 0xf2, 0x78, 0xd8, 0x6b, 0x0c, 0x27,
+  0xdf, 0x97, 0x8f, 0x46, 0x6a, 0x6b, 0x28, 0x29, 0x45, 0x6b, 0x5f, 0x81,
+  0xfd, 0x77, 0xc3, 0xc7, 0x4e, 0x03, 0xf2, 0x1a, 0x81, 0x42, 0xa7, 0x60,
+  0x41, 0x64, 0x55, 0x73, 0xb8, 0x1b, 0x12, 0xd5, 0x28, 0x65, 0xd8, 0xd8,
+  0x25, 0x22, 0x11, 0x0f, 0x90, 0xb1, 0x3f, 0xfb, 0x9f, 0x35, 0x5e, 0x3b,
+  0xb2, 0x67, 0xba, 0xbf, 0x0b, 0x67, 0xea, 0x6e, 0xf4, 0xac, 0xea, 0x95,
+  0x77, 0xa3, 0xe8, 0x90, 0xb4, 0x6f, 0x24, 0xd3, 0xe0, 0x06, 0x0f, 0x36,
+  0xa2, 0xef, 0x8f, 0xae, 0xce, 0x4f, 0xcf, 0xbf, 0x39, 0xe0, 0x8f, 0x0a,
+  0xa5, 0xc1, 0xdf, 0x92, 0x87, 0x05, 0xfa, 0xc1, 0x70, 0xb6, 0x20, 0xca,
+  0xa2, 0xe8, 0x4d, 0x4e, 0xf6, 0x08, 0x31, 0x4c, 0x14, 0x58, 0x8d, 0xe1,
+  0x40, 0xb4, 0x8c, 0x97, 0x0d, 0xdf, 0xaf, 0x61, 0xd8, 0x76, 0x60, 0xbe,
+  0x9e, 0xbc, 0xc9, 0x3a, 0x47, 0xe0, 0x8f, 0xec, 0x3e, 0x26, 0x7d, 0xa9,
+  0x8f, 0xd2, 0x92, 0xcc, 0x7c, 0x9d, 0x79, 0xf3, 0x4b, 0x39, 0x18, 0xbb,
+  0x6c, 0xe7, 0xc3, 0x78, 0x0f, 0x70, 0x6d, 0x70, 0x97, 0x74, 0xb0, 0x11,
+  0xb0, 0xa3, 0x44, 0x14, 0x07, 0x62, 0x75, 0x64, 0x36, 0x08, 0x2b, 0xeb,
+  0x47, 0x47, 0x93, 0xe6, 0x51, 0xa2, 0xee, 0x82, 0x5a, 0xbd, 0x4a, 0xc1,
+  0xb1, 0x55, 0x84, 0xd9, 0xcb, 0xcb, 0x23, 0xea, 0x30, 0x25, 0x9c, 0xcf,
+  0x58, 0x25, 0x3d, 0x7e, 0xa6, 0x31, 0x1c, 0x99, 0x9e, 0xc4, 0x66, 0x50,
+  0x29, 0x4c, 0xf1, 0x40, 0xd1, 0xf4, 0x03, 0x46, 0x3d, 0xcf, 0xc7, 0x64,
+  0x47, 0x78, 0xfb, 0x33, 0x30, 0x0e, 0x9f, 0x4e, 0xc7, 0xae, 0x3a, 0x5a,
+  0x47, 0xd7, 0x1f, 0x50, 0x41, 0x36, 0xad, 0x6e, 0x36, 0xac, 0x5b, 0x03,
+  0xd5, 0x14, 0x58, 0xf0, 0x26, 0x4c, 0x84, 0xd6, 0x9d, 0x35, 0x49, 0x9d,
+  0xdc, 0xce, 0xa4, 0x79, 0xfe, 0x75, 0x59, 0x56, 0x64, 0x0d, 0x89, 0xf8,
+  0xe7, 0x95, 0xc0, 0xcc, 0xe6, 0xc9, 0x3c, 0x2f, 0x1e, 0xbd, 0x89, 0x9c,
+  0x92, 0xf2, 0x81, 0x86, 0xa7, 0x9c, 0x16, 0xd2, 0x01, 0xc9, 0x47, 0x75,
+  0x09, 0xa2, 0x11, 0x80, 0x3e, 0x75, 0x63, 0x07, 0x92, 0xd2, 0x04, 0x0c,
+  0x08, 0xec, 0x6f, 0xeb, 0xb0, 0x55, 0x03, 0x8a, 0x1c, 0x3d, 0x6c, 0xdb,
+  0x8b, 0x35, 0x35, 0x14, 0x17, 0x0e, 0xfe, 0xff, 0x2c, 0x46, 0xae, 0x93,
+  0x25, 0xb5, 0x13, 0x22, 0xe9, 0xc1, 0x4b, 0x5b, 0x45, 0xee, 0x2f, 0xf6,
+  0xfa, 0xdb, 0x35, 0x72, 0xcf, 0x1e, 0x31, 0x50, 0x10, 0xe6, 0x21, 0xd7,
+  0xa0, 0x38, 0x96, 0x3c, 0x67, 0xd8, 0xc5, 0x49, 0x3a, 0x5d, 0x16, 0x09,
+  0x6b, 0x70, 0x14, 0x5b, 0xd0, 0x90, 0x02, 0x2a, 0x45, 0x37, 0x39, 0x79,
+  0xe2, 0x41, 0x98, 0x26, 0xb3, 0x49, 0xb7, 0x31, 0x1c, 0x99, 0x2f, 0x44,
+  0xfd, 0x38, 0x7d, 0x62, 0x9a, 0x60, 0xa6, 0xd0, 0x60, 0x59, 0x22, 0x4a,
+  0xec, 0x1c, 0x18, 0x4a, 0x84, 0xae, 0xe8, 0x68, 0x34, 0x8b, 0xd3, 0x39,
+  0x91, 0xa9, 0xb8, 0x5a, 0xfb, 0xa1, 0x6b, 0x81, 0x06, 0x06, 0xbe, 0x3d,
+  0x44, 0xd3, 0xb7, 0x28, 0x51, 0x32, 0xd3, 0xa9, 0xaa, 0xe6, 0xcc, 0x86,
+  0xe5, 0x4d, 0x32, 0xba, 0x55, 0xe6, 0xa5, 0x2a, 0x67, 0x93, 0x8e, 0x31,
+  0xc6, 0x40, 0xf6, 0x35, 0x3c, 0xb5, 0x2c, 0xf1, 0x9a, 0x94, 0x65, 0x8a,
+  0xee, 0x33, 0x34, 0x07, 0x97, 0x23, 0xb2, 0x12, 0xe9, 0xc2, 0x00, 0x75,
+  0x2b, 0x07, 0x8c, 0x80, 0xa5, 0x66, 0xe3, 0x5e, 0x55, 0xa4, 0x8b, 0xb6,
+  0xd9, 0xf1, 0xa9, 0xd4, 0x15, 0xd4, 0x52, 0x2c, 0x76, 0x32, 0x86, 0xd9,
+  0x3c, 0x1e, 0x45, 0x8d, 0xdd, 0x6c, 0x12, 0x25, 0xed, 0x6d, 0x17, 0xfd,
+  0x41, 0x29, 0xe8, 0x0b, 0x6c, 0x2c, 0x91, 0xbb, 0x13, 0x4c, 0x23, 0x11,
+  0x5c, 0x60, 0xc5, 0xa5, 0x23, 0x52, 0x82, 0xd2, 0x69, 0x82, 0xb1, 0x1c,
+  0x90, 0x65, 0xd5, 0x0c, 0x54, 0x23, 0x9f, 0xc6, 0xe1, 0x37, 0xc9, 0x34,
+  0xaf, 0x50, 0x1b, 0xf1, 0xc8, 0xe4, 0x03, 0xf1, 0x79, 0x43, 0x13, 0xaa,
+  0xf6, 0xbb, 0x3a, 0x59, 0xca, 0xfa, 0x38, 0x7c, 0x9a, 0xd5, 0x7e, 0xf1,
+  0x38, 0x94, 0x15, 0xdc, 0xac, 0xe6, 0xa9, 0xc3, 0x68, 0xa3, 0x84, 0x6c,
+  0x2f, 0x52, 0x1c, 0x55, 0x6f, 0x55, 0x85, 0x1f, 0x59, 0x02, 0xea, 0xc8,
+  0xd5, 0x7d, 0x3a, 0x4a, 0xd4, 0x1d, 0x27, 0x3e, 0xea, 0x59, 0xea, 0xb3,
+  0xfa, 0x39, 0xde, 0x49, 0x78, 0x89, 0x75, 0x72, 0xf4, 0x9e, 0xdc, 0xa7,
+  0xa8, 0xb3, 0x0b, 0xd3, 0x23, 0x95, 0x4c, 0xc4, 0x41, 0x5c, 0xa4, 0xe4,
+  0x2a, 0x82, 0xe1, 0x64, 0x9e, 0x8e, 0x45, 0xef, 0xde, 0x31, 0x9e, 0x37,
+  0xbd, 0x2f, 0x66, 0x8c, 0x35, 0x5f, 0xe8, 0x72, 0x4d, 0xe2, 0x74, 0x16,
+  0xd8, 0x27, 0x62, 0x64, 0xd3, 0x84, 0xbc, 0x6a, 0x7c, 0x06, 0x4b, 0xdc,
+  0x74, 0x8c, 0xbb, 0xf9, 0x4c, 0x2a, 0x49, 0xd8, 0x9e, 0x20, 0xe3, 0xe3,
+  0xe1, 0xd1, 0x6c, 0x2f, 0x29, 0x6d, 0x7c, 0x76, 0xf2, 0x77, 0x3e, 0x3e,
+  0xe7, 0x7a, 0xc6, 0x38, 0x6a, 0xbc, 0xc0, 0x00, 0x53, 0xf3, 0x86, 0xa2,
+  0xe9, 0x85, 0x31, 0xca, 0x0d, 0xf5, 0x20, 0x27, 0xe2, 0x3f, 0x37, 0xb1,
+  0x3d, 0x62, 0x48, 0xc8, 0xd3, 0xe4, 0x0a, 0xf3, 0x38, 0xc2, 0x81, 0x9b,
+  0xbc, 0x1c, 0xe4, 0x2b, 0x88, 0x63, 0xe2, 0xa1, 0x35, 0x8a, 0xcd, 0x81,
+  0x7d, 0x99, 0x08, 0x13, 0x7a, 0x7c, 0x85, 0xd7, 0x91, 0xa1, 0x45, 0x77,
+  0x36, 0xc4, 0xcb, 0xd1, 0xf4, 0x43, 0x3d, 0x99, 0xa5, 0x4c, 0x37, 0x62,
+  0xbd, 0x8e, 0x99, 0xd5, 0x88, 0x7d, 0xc0, 0xa2, 0x43, 0xb0, 0xa8, 0xa1,
+  0xa9, 0x4e, 0x66, 0xf1, 0x94, 0xdc, 0x6b, 0xd3, 0xe6, 0x0d, 0xcd, 0x72,
+  0x09, 0xf4, 0x95, 0x39, 0xb0, 0x77, 0x5c, 0xb5, 0xb8, 0xb6, 0xca, 0x68,
+  0x1d, 0x88, 0x6c, 0xb6, 0x24, 0x71, 0x7f, 0x01, 0xcb, 0x1b, 0x0c, 0xde,
+  0x6d, 0xb8, 0xec, 0x8d, 0x76, 0xf7, 0x39, 0xcc, 0x0d, 0xb9, 0x13, 0x19,
+  0xe1, 0x5f, 0xf3, 0x79, 0xd4, 0x19, 0x9c, 0xb1, 0xee, 0x5c, 0x4d, 0x4e,
+  0xe9, 0x12, 0x57, 0x81, 0xae, 0xd0, 0xbe, 0xb9, 0xfa, 0xf8, 0xa4, 0x7a,
+  0x64, 0x99, 0xb0, 0x6b, 0x0a, 0xc2, 0xb2, 0x5c, 0x92, 0x73, 0x8a, 0xe4,
+  0x71, 0x73, 0x38, 0x60, 0xf6, 0xc0, 0x8a, 0x96, 0x19, 0xfe, 0x69, 0x74,
+  0xe8, 0x94, 0xac, 0x39, 0x3c, 0x8b, 0x02, 0x5d, 0xe0, 0x68, 0x07, 0x1b,
+  0x1d, 0x14, 0x78, 0x8a, 0x8e, 0x8d, 0x7b, 0xd9, 0xbc, 0x84, 0xa0, 0xa1,
+  0x11, 0xbb, 0x01, 0x11, 0x0a, 0x82, 0x19, 0x2f, 0x5c, 0x0b, 0xf7, 0x5e,
+  0x2f, 0x97, 0xc0, 0x5f, 0xd0, 0x74, 0x10, 0xe6, 0x81, 0xf4, 0xd8, 0x9c,
+  0x1d, 0xb3, 0x17, 0x90, 0x34, 0x0e, 0x1f, 0xd9, 0xf8, 0xad, 0x2f, 0x08,
+  0x1d, 0x9a, 0x7b, 0x8a, 0x20, 0x7e, 0x13, 0x30, 0xc8, 0x48, 0x25, 0xf3,
+  0xb4, 0xb1, 0xeb, 0xb3, 0x41, 0xe8, 0x30, 0xeb, 0xf1, 0x29, 0x7c, 0x1f,
+  0x99, 0x2d, 0xba, 0x11, 0xd9, 0xad, 0x9a, 0xa3, 0x51, 0xe0, 0xc4, 0xa8,
+  0x5c, 0x7f, 0xdf, 0x22, 0xc1, 0x60, 0x16, 0xdb, 0xcb, 0x1c, 0xfc, 0x46,
+  0x06, 0x86, 0xc2, 0x1a, 0xb5, 0x13, 0xe3, 0x42, 0x3d, 0x3e, 0x72, 0xc7,
+  0x25, 0x9f, 0x69, 0xf3, 0x22, 0x38, 0xbf, 0x5f, 0x2f, 0x37, 0x0c, 0x0f,
+  0x83, 0x51, 0x2e, 0x4f, 0xde, 0x93, 0xfd, 0x1a, 0x03, 0xdd, 0x9c, 0xab,
+  0xbb, 0x52, 0x63, 0xdb, 0xc3, 0x65, 0x3a, 0xab, 0xc5, 0x04, 0xac, 0xc9,
+  0x4d, 0x81, 0x65, 0x26, 0x2d, 0x9a, 0x1a, 0x47, 0xb7, 0x52, 0x72, 0x0f,
+  0x37, 0x09, 0xad, 0x7a, 0x5c, 0x88, 0x67, 0x7b, 0x59, 0xd6, 0x1c, 0x48,
+  0x2a, 0x97, 0x67, 0x15, 0x69, 0xd9, 0x68, 0xd7, 0x3a, 0x63, 0x7a, 0x27,
+  0x44, 0xd3, 0x42, 0x31, 0x30, 0xcd, 0xd2, 0xbf, 0x8b, 0x0e, 0x9a, 0x64,
+  0x77, 0x69, 0x91, 0x67, 0xa8, 0xe5, 0x82, 0xe9, 0x5b, 0xa4, 0xc4, 0x96,
+  0x51, 0xfd, 0x02, 0xc6, 0xb1, 0x76, 0xfc, 0xe1, 0xea, 0xec, 0xe3, 0xf1,
+  0xd1, 0xc7, 0xaf, 0x3f, 0x9c, 0xbf, 0x39, 0x3b, 0x59, 0x6b, 0x0c, 0x87,
+  0x3e, 0xbf, 0x54, 0x1c, 0xf5, 0x25, 0x5a, 0x1e, 0x74, 0x49, 0x60, 0x8a,
+  0x3c, 0xf2, 0x34, 0xbd, 0x03, 0x86, 0x46, 0x86, 0x04, 0xf9, 0xe8, 0xe9,
+  0x6f, 0xe4, 0xd5, 0x92, 0x0d, 0x6f, 0x0c, 0x37, 0x5c, 0xa2, 0x9e, 0xd6,
+  0xaf, 0x69, 0xcb, 0x7a, 0x55, 0xc4, 0x6a, 0xd7, 0x09, 0x06, 0x34, 0x6c,
+  0xd4, 0xa2, 0xb2, 0x31, 0x9a, 0x2f, 0x8e, 0x91, 0xe8, 0xb8, 0xeb, 0x97,
+  0x15, 0x58, 0x49, 0x1a, 0x20, 0x00, 0xad, 0x2d, 0xbf, 0xd5, 0x2c, 0x03,
+  0x30, 0xb1, 0x8e, 0x02, 0xc7, 0x5d, 0x5a, 0x4d, 0x74, 0x1c, 0xad, 0xe1,
+  0x48, 0x40, 0xbf, 0x3d, 0x99, 0xe4, 0xa8, 0xa8, 0xc0, 0xbe, 0x49, 0x52,
+  0xba, 0x18, 0x1a, 0x45, 0x45, 0x9d, 0x95, 0x9c, 0x73, 0x9e, 0x86, 0x0d,
+  0xba, 0x26, 0xee, 0x01, 0x69, 0xf7, 0xc9, 0x43, 0x42, 0x37, 0x4f, 0xde,
+  0x3a, 0x5e, 0x16, 0x74, 0x9b, 0xbf, 0x07, 0x6d, 0x04, 0xb9, 0xdf, 0x1b,
+  0xf2, 0xee, 0xc1, 0x0b, 0xfa, 0x10, 0x88, 0x99, 0xa6, 0xc8, 0xcb, 0x67,
+  0x18, 0x57, 0x8d, 0xc9, 0x93, 0x42, 0x7e, 0xaf, 0xcb, 0xa3, 0xeb, 0x77,
+  0x41, 0x65, 0xd6, 0xa6, 0xf4, 0x08, 0x29, 0x92, 0x62, 0x5e, 0x56, 0x72,
+  0x41, 0xce, 0x07, 0x83, 0x88, 0x12, 0x46, 0x66, 0xe9, 0xb0, 0x88, 0xf1,
+  0x9b, 0xf8, 0x63, 0xfc, 0x29, 0x90, 0x75, 0x63, 0xb8, 0xcb, 0x6f, 0x8f,
+  0x07, 0x7f, 0xdc, 0xde, 0x46, 0x2d, 0x7e, 0x09, 0xfb, 0xb2, 0x0e, 0xaf,
+  0x64, 0x25, 0xdc, 0xcc, 0x79, 0xbf, 0xcc, 0x37, 0x48, 0x6c, 0x97, 0xa2,
+  0x0e, 0xc4, 0x77, 0x20, 0x6d, 0x89, 0x8e, 0x94, 0xa8, 0xe1, 0x38, 0xbd,
+  0x3d, 0x21, 0x46, 0x27, 0xd9, 0x34, 0xc0, 0x2f, 0x40, 0x5e, 0xcf, 0x7c,
+  0x85, 0x7c, 0x3d, 0xbd, 0x18, 0x48, 0x2e, 0x4a, 0x3c, 0x82, 0xbf, 0xa2,
+  0xa3, 0x60, 0x03, 0x57, 0x56, 0xbf, 0x61, 0xba, 0xaa, 0x01, 0x6b, 0xa3,
+  0xd7, 0x68, 0xbe, 0x50, 0x0a, 0x8d, 0xcf, 0x15, 0xb2, 0xe6, 0xe5, 0xb2,
+  0x69, 0x4a, 0x44, 0x0e, 0xc3, 0x78, 0x74, 0x7b, 0x1f, 0x17, 0x63, 0xb6,
+  0x87, 0x80, 0x62, 0x86, 0xe9, 0x2c, 0xad, 0x1e, 0xd9, 0xae, 0x6d, 0xda,
+  0xd4, 0x1c, 0x1f, 0xc5, 0x0d, 0x84, 0x7b, 0x34, 0x05, 0x93, 0x1f, 0xb5,
+  0x4f, 0x54, 0xf1, 0xd3, 0xca, 0x35, 0x69, 0x49, 0x45, 0xaa, 0x8c, 0x8a,
+  0x63, 0xbe, 0xed, 0x89, 0xc7, 0x8a, 0xef, 0x11, 0x4d, 0xd3, 0xd2, 0xae,
+  0xb2, 0x41, 0x97, 0x49, 0x29, 0xf9, 0x44, 0xe5, 0x23, 0x48, 0xf9, 0x79,
+  0x14, 0x50, 0x11, 0x29, 0x7b, 0x28, 0xfa, 0x36, 0x79, 0x04, 0xfb, 0x39,
+  0xcd, 0x2c, 0xa7, 0x64, 0xfb, 0x3e, 0x41, 0xeb, 0x8e, 0x75, 0xd1, 0x54,
+  0x9d, 0xe9, 0x89, 0xc4, 0x43, 0x58, 0x92, 0xf8, 0x0e, 0x04, 0x7e, 0x5f,
+  0xf5, 0x70, 0x1c, 0x62, 0xad, 0xac, 0xb1, 0x64, 0xfa, 0x92, 0x7f, 0x88,
+  0x03, 0xf8, 0x79, 0x96, 0x25, 0x33, 0x39, 0xbe, 0xeb, 0x55, 0x07, 0x60,
+  0x9e, 0x85, 0x29, 0x7f, 0xcf, 0x37, 0xba, 0x31, 0xdc, 0x4b, 0x0e, 0xee,
+  0xc7, 0x95, 0xca, 0x24, 0xcd, 0x1a, 0x02, 0xab, 0x68, 0xcb, 0xfc, 0xaa,
+  0xdf, 0xfa, 0x19, 0xef, 0x36, 0x15, 0xf6, 0xd0, 0xeb, 0x67, 0xce, 0x4e,
+  0x51, 0x3a, 0x64, 0x3c, 0x63, 0x39, 0xe2, 0x2f, 0x8c, 0x66, 0x45, 0x01,
+  0x8c, 0xc6, 0x70, 0xae, 0x96, 0xad, 0x32, 0x4c, 0xd6, 0xb1, 0x06, 0x7a,
+  0x6a, 0x5e, 0x90, 0xbf, 0xa8, 0xc8, 0xe1, 0xac, 0x6b, 0xe7, 0xb9, 0xce,
+  0xca, 0x46, 0xf3, 0x9a, 0x08, 0x37, 0x77, 0x36, 0x66, 0x23, 0x74, 0xd1,
+  0x3d, 0xcd, 0xc4, 0x37, 0x59, 0x5b, 0x2d, 0xce, 0xba, 0x84, 0x26, 0x2e,
+  0x7d, 0x08, 0x6c, 0xec, 0x5f, 0x17, 0xd0, 0xcc, 0x0c, 0x89, 0xf9, 0xf9,
+  0x32, 0x4b, 0x68, 0xb1, 0x26, 0xa8, 0xdf, 0xab, 0x44, 0xc6, 0x49, 0x18,
+  0x17, 0xec, 0x82, 0x13, 0x06, 0x58, 0x71, 0x64, 0x5f, 0xb2, 0x6f, 0x06,
+  0xa0, 0x3b, 0x50, 0x5c, 0x8e, 0x07, 0x9d, 0x68, 0x3d, 0xe9, 0x4f, 0x61,
+  0xbc, 0x0e, 0x8e, 0xb3, 0x7d, 0x80, 0xff, 0xdd, 0xa1, 0xff, 0xee, 0x76,
+  0x34, 0xb5, 0xcf, 0xdd, 0x7a, 0x94, 0xe6, 0x4d, 0x59, 0xc4, 0xf1, 0x38,
+  0x2b, 0xdc, 0xbb, 0xec, 0x63, 0x6e, 0x63, 0x3c, 0xac, 0xb3, 0x9e, 0xf1,
+  0x2e, 0xfb, 0xea, 0x96, 0x6e, 0xc3, 0x9c, 0xfd, 0x11, 0x77, 0x09, 0x3b,
+  0x44, 0x60, 0x65, 0x23, 0x50, 0x0f, 0xc9, 0x8d, 0xa8, 0xb7, 0x6a, 0xf4,
+  0xb1, 0x48, 0x6e, 0xe2, 0xf2, 0x26, 0x5a, 0x56, 0x4c, 0x84, 0x40, 0xb7,
+  0xcd, 0xe1, 0x16, 0xb3, 0xd4, 0x7a, 0xda, 0xe4, 0xd3, 0x7d, 0xb5, 0xfb,
+  0xec, 0x29, 0x72, 0x04, 0x64, 0x96, 0xdf, 0xeb, 0x33, 0x3d, 0xc9, 0xb5,
+  0x0b, 0xa9, 0x05, 0x70, 0x9a, 0xe4, 0x37, 0xc1, 0xc7, 0xdc, 0x48, 0xf6,
+  0x1c, 0xb5, 0x49, 0x4c, 0x04, 0x04, 0x16, 0x37, 0x81, 0x1d, 0x43, 0x8b,
+  0x6e, 0x46, 0xe7, 0x86, 0xb6, 0x2b, 0xcd, 0xdb, 0x33, 0x4d, 0x45, 0xcf,
+  0x4b, 0x27, 0xe2, 0xbd, 0x95, 0x7f, 0x93, 0x3c, 0x15, 0xed, 0xab, 0xe4,
+  0x68, 0x77, 0x53, 0xf5, 0x7a, 0x9a, 0xb4, 0x95, 0x41, 0x1a, 0x4d, 0x47,
+  0x16, 0xcb, 0x01, 0x13, 0xa5, 0xeb, 0x74, 0x4a, 0xb6, 0x46, 0xc8, 0x81,
+  0xc1, 0x4e, 0xa9, 0x7f, 0xe9, 0x92, 0xc0, 0x8c, 0x7b, 0xe8, 0x2f, 0x5d,
+  0x96, 0xcf, 0xb8, 0x23, 0x0e, 0xd3, 0xe5, 0x77, 0x8c, 0xbf, 0x98, 0xa3,
+  0xfa, 0xee, 0x06, 0x34, 0xa9, 0xf0, 0xd1, 0x21, 0x8c, 0x63, 0xe7, 0x66,
+  0x0d, 0x78, 0xa0, 0x2b, 0x71, 0x91, 0xac, 0xc7, 0xb7, 0x71, 0x3f, 0xba,
+  0x38, 0x1e, 0x5c, 0xe2, 0x27, 0x80, 0x3a, 0xb2, 0x29, 0xcc, 0xe2, 0x6c,
+  0xd0, 0x18, 0x2e, 0x79, 0xa8, 0x92, 0xac, 0x0c, 0x39, 0x28, 0xfd, 0x6d,
+  0xd6, 0x28, 0x82, 0xa6, 0xd7, 0xc8, 0x64, 0xc1, 0xd2, 0xa7, 0xb8, 0x38,
+  0x86, 0x79, 0x31, 0x07, 0x23, 0xe2, 0xab, 0xe6, 0x7d, 0x68, 0x01, 0x37,
+  0x7f, 0xbc, 0x61, 0x5c, 0x35, 0x5d, 0xa5, 0x05, 0x13, 0x2e, 0x2c, 0x97,
+  0x53, 0xb4, 0x41, 0x4a, 0xb5, 0x1b, 0xcd, 0x17, 0x60, 0x37, 0x7c, 0x55,
+  0x41, 0x96, 0x6d, 0x3c, 0x89, 0x60, 0x35, 0x61, 0x26, 0x15, 0xa9, 0x48,
+  0x59, 0x6e, 0x47, 0xc5, 0x6c, 0x0a, 0xca, 0x1a, 0x4d, 0x29, 0xc0, 0x36,
+  0x4a, 0x40, 0x05, 0x1d, 0x07, 0x94, 0x00, 0x3e, 0x14, 0x35, 0x9c, 0x26,
+  0x92, 0x29, 0x1a, 0xf0, 0xff, 0xd0, 0x40, 0x23, 0x56, 0xd1, 0x90, 0xea,
+  0x29, 0x50, 0x91, 0xa2, 0x9f, 0x14, 0x15, 0x66, 0x36, 0xd5, 0x71, 0x3c,
+  0x73, 0xff, 0xbf, 0xc9, 0x96, 0xb0, 0xf1, 0x01, 0x69, 0x8c, 0x4a, 0x15,
+  0x8a, 0x19, 0xdc, 0xc0, 0x55, 0x8e, 0xbd, 0xbd, 0xed, 0xba, 0x1f, 0x9b,
+  0x88, 0x0d, 0x0c, 0x80, 0x24, 0x3a, 0xc4, 0xff, 0x3e, 0xc9, 0x95, 0x29,
+  0x75, 0x85, 0x9e, 0x97, 0x78, 0x27, 0xf3, 0x4e, 0xf1, 0xc5, 0x44, 0x75,
+  0x06, 0xed, 0x49, 0x2f, 0x22, 0xb7, 0x3e, 0xf2, 0xbd, 0x6e, 0xf4, 0x06,
+  0x13, 0xb2, 0x4f, 0xce, 0xbf, 0x21, 0x1a, 0xb8, 0xdc, 0xde, 0xa1, 0xe8,
+  0x92, 0xb1, 0x1e, 0xc6, 0xf4, 0x91, 0x92, 0x1d, 0x09, 0x1c, 0x1d, 0xf6,
+  0x15, 0x5f, 0x92, 0x09, 0x5d, 0x62, 0xa3, 0x18, 0x16, 0xa4, 0xec, 0xa1,
+  0xf1, 0xa7, 0x93, 0x5f, 0x9e, 0x21, 0x7a, 0xd2, 0x95, 0x1d, 0x14, 0xc7,
+  0xcc, 0x6d, 0xf2, 0x68, 0xff, 0x46, 0xbb, 0xea, 0x6c, 0xb5, 0x7d, 0xf8,
+  0xd0, 0xd9, 0xa4, 0x1f, 0x0f, 0x30, 0x43, 0x09, 0xb4, 0xd4, 0xf1, 0xcf,
+  0xbf, 0x4e, 0x22, 0x86, 0x77, 0x3e, 0xe0, 0x6c, 0x21, 0x3f, 0x97, 0xe6,
+  0x02, 0x71, 0xe8, 0x9f, 0x59, 0xbc, 0xa4, 0xc3, 0x63, 0xa6, 0x3c, 0x12,
+  0x7c, 0x9c, 0x19, 0x95, 0xa4, 0xc7, 0x09, 0x60, 0x94, 0x10, 0xd6, 0xdc,
+  0xfb, 0x51, 0x3e, 0xf3, 0x64, 0x5d, 0xcd, 0x70, 0x25, 0x7d, 0x7e, 0x47,
+  0xe4, 0x1b, 0x19, 0x73, 0xcc, 0x6c, 0x44, 0x8b, 0x6e, 0x5e, 0x07, 0xa3,
+  0x53, 0x93, 0xfa, 0x65, 0x25, 0x23, 0xbe, 0xc9, 0x2f, 0x52, 0x98, 0x9b,
+  0xa6, 0xc6, 0x9a, 0x52, 0x3f, 0xb2, 0x1a, 0x6f, 0x48, 0xfd, 0x87, 0xb3,
+  0xd5, 0xbd, 0x85, 0x43, 0x47, 0x3f, 0x93, 0xd9, 0xb5, 0xae, 0xeb, 0x69,
+  0x02, 0x26, 0x57, 0xa4, 0xaa, 0x9f, 0x4b, 0x32, 0xa9, 0x1f, 0xc3, 0xe0,
+  0x8c, 0x03, 0xf1, 0x46, 0x49, 0x66, 0x55, 0xcd, 0x97, 0xcf, 0xe4, 0x87,
+  0x96, 0x68, 0xc7, 0xd9, 0x92, 0x4e, 0xe8, 0x28, 0x2a, 0x0e, 0x7e, 0xca,
+  0x15, 0x4a, 0xef, 0x70, 0xeb, 0x94, 0x76, 0xac, 0x63, 0xb3, 0xae, 0xfa,
+  0xe6, 0x19, 0xfe, 0x99, 0xa1, 0x4f, 0xec, 0x0f, 0x01, 0x82, 0x0c, 0xd2,
+  0x22, 0xfa, 0xc6, 0x25, 0xf6, 0x41, 0x0a, 0x0c, 0x26, 0x41, 0x4a, 0x16,
+  0xfa, 0xec, 0xf1, 0x59, 0x06, 0x9d, 0x2a, 0x20, 0x6a, 0xb7, 0x39, 0xc6,
+  0x9c, 0x67, 0xed, 0x34, 0x09, 0x04, 0xd8, 0x78, 0x85, 0x29, 0x25, 0x4c,
+  0xbb, 0xe8, 0x7b, 0x4d, 0x47, 0xb7, 0x14, 0x79, 0x11, 0x09, 0xe5, 0xae,
+  0x4f, 0xf3, 0xf6, 0x38, 0xe3, 0x34, 0x70, 0x04, 0x64, 0x4b, 0xa2, 0x53,
+  0x18, 0x69, 0x12, 0xa5, 0x73, 0x9a, 0xb1, 0xce, 0xd6, 0xea, 0x65, 0x80,
+  0xb9, 0x7e, 0x7c, 0x73, 0x7a, 0x15, 0xad, 0xa3, 0x06, 0xde, 0x34, 0x72,
+  0x55, 0xbc, 0x6f, 0x26, 0xd5, 0x68, 0x73, 0x71, 0x9b, 0x6e, 0x82, 0xb1,
+  0x39, 0x1e, 0x6e, 0x18, 0x23, 0x8a, 0x3e, 0x87, 0x54, 0x68, 0x0c, 0x53,
+  0xb5, 0x4c, 0xc9, 0x34, 0xf5, 0x5c, 0x8f, 0xd6, 0x54, 0xe5, 0x0a, 0x17,
+  0x63, 0xa3, 0xf2, 0x36, 0x31, 0x41, 0x53, 0x88, 0x86, 0xb3, 0x23, 0x28,
+  0xb0, 0x93, 0xb0, 0x5f, 0x1a, 0x6c, 0xec, 0xe6, 0x5d, 0xe5, 0xec, 0x47,
+  0x71, 0xe4, 0xb0, 0x03, 0x47, 0x53, 0xf6, 0x44, 0x5c, 0x58, 0xed, 0xb7,
+  0x8b, 0xc9, 0x96, 0xb8, 0x29, 0x0b, 0x14, 0x49, 0x63, 0x74, 0x03, 0x36,
+  0x87, 0x23, 0x4d, 0xae, 0xd3, 0xdf, 0xec, 0x44, 0x26, 0xbd, 0x14, 0x76,
+  0x99, 0xf3, 0xa7, 0x4d, 0xe0, 0x0b, 0x48, 0x6c, 0xb2, 0x2c, 0x8d, 0x1f,
+  0x33, 0x36, 0xe7, 0xd5, 0x0f, 0x31, 0x54, 0xe7, 0x38, 0x8d, 0xce, 0x05,
+  0xba, 0x31, 0xdd, 0x2c, 0xd7, 0x5a, 0x97, 0x49, 0xd1, 0x51, 0x75, 0x7e,
+  0xea, 0x44, 0x4e, 0x7a, 0x62, 0x2d, 0x4b, 0x31, 0xb5, 0x09, 0x44, 0x8e,
+  0x10, 0x00, 0x89, 0x6c, 0xee, 0xf0, 0x38, 0x99, 0xa5, 0xf3, 0x94, 0x6c,
+  0x2f, 0x77, 0x0a, 0xbd, 0x50, 0x80, 0xd0, 0x4e, 0xe9, 0x27, 0x7f, 0x4a,
+  0x9a, 0xf2, 0x1b, 0xe3, 0xaf, 0x61, 0x4a, 0xe4, 0x11, 0xe3, 0x8c, 0xcc,
+  0xb0, 0xd5, 0x5c, 0x9f, 0x90, 0x49, 0x1a, 0x5e, 0x11, 0x39, 0x36, 0x77,
+  0xa9, 0x4d, 0x95, 0xb7, 0x2e, 0x11, 0xbd, 0xf4, 0xcc, 0xd4, 0xa2, 0xc5,
+  0xed, 0xa8, 0xdc, 0xde, 0x6e, 0x0a, 0xba, 0xd2, 0x52, 0x94, 0xd8, 0xef,
+  0xb1, 0x21, 0xcc, 0x0f, 0x57, 0xa7, 0xd1, 0x3a, 0x16, 0x89, 0xbc, 0xdc,
+  0xdf, 0xde, 0xd9, 0x70, 0x33, 0x4b, 0x94, 0x01, 0xf8, 0x72, 0xf3, 0x91,
+  0x43, 0xb2, 0xce, 0x05, 0x9c, 0xe5, 0xa3, 0x58, 0x34, 0x0e, 0x3b, 0xf4,
+  0x38, 0xb9, 0x4b, 0x47, 0x58, 0xa3, 0x83, 0x01, 0x79, 0xe4, 0xc1, 0xc3,
+  0x04, 0x26, 0xe9, 0xed, 0xb8, 0xcd, 0xe8, 0xe5, 0xd9, 0x83, 0x89, 0x64,
+  0x34, 0x65, 0xcc, 0x9b, 0x06, 0x1a, 0xa8, 0x64, 0xef, 0xdc, 0x59, 0x4b,
+  0x94, 0x20, 0x6e, 0xf1, 0x04, 0xe1, 0xba, 0xb8, 0x82, 0x86, 0x74, 0x8c,
+  0xae, 0x0d, 0xfc, 0xf4, 0x7a, 0xb2, 0x59, 0xc2, 0x7a, 0x4d, 0xec, 0x18,
+  0x33, 0x50, 0x9a, 0x07, 0x28, 0x73, 0xea, 0xa0, 0x20, 0xc9, 0x48, 0xb8,
+  0xc7, 0x76, 0x50, 0xb3, 0xfb, 0xae, 0x26, 0x54, 0x1f, 0xd5, 0xf7, 0x94,
+  0x13, 0xe1, 0x80, 0xe6, 0x12, 0x1e, 0xf2, 0x77, 0x72, 0x32, 0xd5, 0xd9,
+  0xa7, 0x1c, 0x0f, 0x9e, 0xbd, 0x78, 0x0d, 0x87, 0xac, 0x28, 0x28, 0xbf,
+  0x8d, 0xf5, 0x71, 0x4f, 0x8e, 0xc3, 0xeb, 0x9b, 0x2a, 0x84, 0x48, 0x0a,
+  0xa9, 0xbf, 0x91, 0x3d, 0x3f, 0xc0, 0x3c, 0xc9, 0xd3, 0x73, 0x2b, 0x8e,
+  0x1e, 0x52, 0x8a, 0x4d, 0x0a, 0x87, 0xef, 0x2b, 0x56, 0xc1, 0x0f, 0x47,
+  0x34, 0xca, 0xc7, 0x0d, 0x93, 0x1d, 0x37, 0xc1, 0x11, 0x78, 0xc4, 0xfd,
+  0x38, 0x54, 0x49, 0x1c, 0x2f, 0xec, 0xc9, 0x46, 0x4a, 0x65, 0xf7, 0xfa,
+  0x2f, 0xe2, 0x81, 0x21, 0x8f, 0x1a, 0xb1, 0xc0, 0x5f, 0xc5, 0x01, 0x9f,
+  0xf0, 0x39, 0x1d, 0x7b, 0x12, 0xbb, 0x34, 0xca, 0x90, 0xd5, 0xd5, 0x30,
+  0x59, 0x3c, 0xa2, 0x8d, 0xf3, 0x2d, 0x1a, 0x4c, 0x1b, 0xa4, 0x94, 0x00,
+  0xcc, 0xf9, 0x6a, 0xdc, 0x4d, 0x76, 0xec, 0xc0, 0x75, 0x59, 0x3f, 0xe3,
+  0x20, 0x65, 0x74, 0xf9, 0xf6, 0x07, 0xe5, 0x96, 0x21, 0x03, 0x9e, 0x1c,
+  0x51, 0x5f, 0x98, 0xec, 0x30, 0xb0, 0x28, 0x30, 0x53, 0x2d, 0x95, 0xac,
+  0x4f, 0x76, 0x13, 0x51, 0x38, 0x7c, 0xc3, 0x26, 0x33, 0xe2, 0x56, 0x77,
+  0x0e, 0xe9, 0x77, 0xcd, 0x58, 0x53, 0xce, 0x96, 0xcc, 0x97, 0x3f, 0xf1,
+  0xaf, 0x99, 0xc7, 0xc2, 0xbf, 0xaa, 0x9b, 0xe5, 0x7c, 0x08, 0xe7, 0x99,
+  0x55, 0x5f, 0x76, 0x22, 0x0e, 0xb6, 0x4e, 0x64, 0x3f, 0x57, 0x98, 0x9d,
+  0xa9, 0xd6, 0xeb, 0xa8, 0x6f, 0xb1, 0xb6, 0x6b, 0x3c, 0x3b, 0xad, 0x1d,
+  0xb0, 0xf9, 0x79, 0x70, 0x78, 0xec, 0xcb, 0xf6, 0x54, 0xbd, 0x0f, 0x40,
+  0x9e, 0x3f, 0xbd, 0xff, 0xcb, 0x4f, 0xaf, 0x76, 0xf7, 0xe2, 0x97, 0xf1,
+  0xe8, 0xc5, 0xe4, 0xf3, 0x78, 0x7f, 0xbc, 0xff, 0xf2, 0xd5, 0xce, 0xe7,
+  0xfb, 0xf1, 0xcb, 0xbd, 0x49, 0xfc, 0x62, 0x3b, 0xd9, 0x7e, 0x35, 0xd9,
+  0xd9, 0x1d, 0x8f, 0x27, 0xc9, 0xe7, 0xe3, 0x97, 0x71, 0xa7, 0x4f, 0xe6,
+  0x97, 0x4e, 0xdd, 0x67, 0xb5, 0x1a, 0x78, 0x8b, 0xa3, 0xc1, 0xbb, 0xa3,
+  0xde, 0x76, 0x74, 0x93, 0x3c, 0xe8, 0x05, 0x63, 0x8f, 0xa6, 0xc9, 0xba,
+  0x4b, 0x24, 0xaf, 0xba, 0x7d, 0xb1, 0x5a, 0x28, 0x88, 0x59, 0xd3, 0xe8,
+  0x2b, 0x21, 0x0d, 0x98, 0x77, 0x51, 0xb7, 0x95, 0xf3, 0xea, 0x8c, 0xff,
+  0xf0, 0x40, 0x7d, 0xf6, 0xb8, 0xae, 0xe6, 0xe5, 0x3f, 0x83, 0x77, 0x66,
+  0xef, 0xe3, 0x11, 0x28, 0x49, 0xb0, 0x27, 0xf2, 0xe0, 0x00, 0x4c, 0x5b,
+  0x60, 0xd3, 0xdd, 0x48, 0xfe, 0x82, 0x5e, 0x62, 0x67, 0x8c, 0x6f, 0x8a,
+  0x7c, 0xb9, 0xb8, 0xcc, 0x67, 0xe9, 0xe8, 0x71, 0xd5, 0x70, 0xee, 0x63,
+  0xb5, 0x5f, 0x9c, 0x30, 0x0b, 0x4f, 0xcb, 0xe4, 0x77, 0x34, 0xad, 0x1c,
+  0x76, 0xfc, 0x0c, 0xdb, 0xaa, 0x37, 0x4a, 0x17, 0x37, 0x18, 0xe7, 0x3d,
+  0xa4, 0x2c, 0x3f, 0x0c, 0xcd, 0xf0, 0x0f, 0xc2, 0x36, 0xd5, 0x40, 0x6e,
+  0x64, 0x29, 0xe7, 0xa9, 0x6f, 0x8b, 0xc6, 0x95, 0x6a, 0x09, 0x9c, 0xba,
+  0xa9, 0x24, 0xb3, 0x34, 0xf5, 0xfc, 0x78, 0xf6, 0x43, 0x7c, 0xdb, 0x55,
+  0xdb, 0x66, 0xe7, 0x85, 0xfc, 0xaa, 0x1f, 0x5d, 0x51, 0x9c, 0x7c, 0xb9,
+  0x60, 0xf3, 0x82, 0xfc, 0xf9, 0xfc, 0xbb, 0xe6, 0x45, 0xc3, 0xc9, 0x0b,
+  0xc5, 0x70, 0x21, 0x1e, 0xec, 0xe8, 0x87, 0xab, 0xb3, 0x83, 0xe6, 0x3e,
+  0x51, 0xb1, 0x51, 0x79, 0xb0, 0xb9, 0x49, 0x21, 0x9f, 0x9b, 0xf8, 0xe1,
+  0xa1, 0x5f, 0x26, 0x9b, 0xe3, 0x7c, 0x54, 0x6e, 0x96, 0xe5, 0x4c, 0x77,
+  0xa3, 0x5e, 0xfb, 0xf7, 0x09, 0xbc, 0xb9, 0xf9, 0x9c, 0xd8, 0x56, 0x32,
+  0xee, 0x95, 0xa5, 0x97, 0x1b, 0x34, 0x38, 0xd6, 0xcc, 0x83, 0x13, 0xc9,
+  0x49, 0x23, 0x39, 0xd7, 0x83, 0xdd, 0x1d, 0x0c, 0xde, 0x45, 0xfa, 0x32,
+  0x6d, 0xaf, 0x09, 0x89, 0x9b, 0xbc, 0x9c, 0x6e, 0x40, 0x0d, 0x8b, 0x85,
+  0x61, 0x7f, 0xe1, 0x3a, 0x74, 0x50, 0x9d, 0xce, 0xf9, 0x0f, 0xa9, 0x5d,
+  0x49, 0xab, 0x95, 0x89, 0x7c, 0x2f, 0x1a, 0x0e, 0x10, 0xb3, 0x88, 0x70,
+  0xfc, 0x5f, 0x9d, 0x60, 0x71, 0x64, 0x9f, 0xb4, 0x1e, 0xa1, 0x66, 0x71,
+  0x3a, 0x50, 0xef, 0x34, 0x2f, 0x40, 0x78, 0xcc, 0xcb, 0x90, 0x17, 0x54,
+  0x6f, 0x79, 0xc9, 0x6a, 0x5f, 0xc9, 0xb9, 0x88, 0x30, 0x4c, 0xe6, 0x0c,
+  0x0e, 0xc7, 0x48, 0x39, 0x8c, 0x7d, 0xf7, 0xb0, 0x82, 0xf1, 0x2d, 0x3d,
+  0xbc, 0x36, 0x2f, 0xda, 0x32, 0xb3, 0xc1, 0x0f, 0x12, 0xc7, 0x30, 0x59,
+  0x29, 0x2c, 0xf3, 0x2c, 0x04, 0xca, 0xfd, 0x27, 0x31, 0x81, 0x3a, 0x44,
+  0x51, 0xe4, 0x8e, 0x52, 0xdb, 0xfb, 0x96, 0x8c, 0x4b, 0x90, 0x8e, 0xe9,
+  0x54, 0xc3, 0xeb, 0x2d, 0x39, 0x76, 0x28, 0xba, 0x2a, 0xca, 0x5d, 0x96,
+  0x72, 0x70, 0x14, 0x0a, 0x98, 0xc2, 0x46, 0xa9, 0x25, 0x92, 0x9d, 0xc9,
+  0xe9, 0x40, 0xb5, 0x2a, 0x78, 0xef, 0x26, 0x60, 0xcd, 0x8f, 0x7d, 0x1c,
+  0xd3, 0xa8, 0xf4, 0x5e, 0xd2, 0xf0, 0xe2, 0xbe, 0x70, 0x12, 0xdb, 0x50,
+  0x2b, 0x23, 0x37, 0x03, 0x3c, 0xd3, 0xb4, 0xf6, 0x28, 0xe7, 0xd6, 0xe8,
+  0x7c, 0xa1, 0x12, 0xd7, 0xe6, 0x7a, 0x34, 0xf5, 0x5e, 0xf7, 0x36, 0xa5,
+  0xa2, 0xea, 0x98, 0xf2, 0xfa, 0x43, 0xa2, 0x3d, 0x77, 0x82, 0xb4, 0x38,
+  0xa0, 0x2f, 0xf3, 0x2a, 0x93, 0x36, 0xa9, 0x95, 0x4a, 0xa4, 0x10, 0x00,
+  0x07, 0x02, 0xb1, 0x87, 0x19, 0xe7, 0x58, 0x4a, 0x3f, 0xcb, 0xad, 0x82,
+  0x05, 0x84, 0x07, 0xbc, 0x90, 0xaa, 0x11, 0xfb, 0x1e, 0xdf, 0xe6, 0x9a,
+  0x24, 0x4e, 0x22, 0xe4, 0xda, 0x3a, 0xce, 0xf6, 0xe2, 0x9f, 0x91, 0xf8,
+  0x1a, 0x6a, 0x8c, 0xdc, 0xf2, 0x33, 0x3c, 0xbf, 0x90, 0x6b, 0x48, 0xb2,
+  0xf2, 0xb9, 0xd0, 0x31, 0xa5, 0x12, 0x5e, 0x29, 0xfa, 0xe4, 0x22, 0x03,
+  0xf5, 0x6c, 0x97, 0xb9, 0xa4, 0x6c, 0xe2, 0x44, 0x71, 0x9e, 0x3c, 0xc7,
+  0x26, 0xa9, 0x9b, 0x82, 0xce, 0x9a, 0x31, 0x12, 0x97, 0x36, 0x57, 0xbf,
+  0xf4, 0xa3, 0x95, 0x76, 0x33, 0x43, 0xd6, 0xab, 0x57, 0xf7, 0x40, 0x13,
+  0x29, 0x12, 0xfd, 0x42, 0x96, 0x37, 0x27, 0xa5, 0xf3, 0x08, 0xe5, 0xa3,
+  0x6a, 0x6e, 0xbf, 0x33, 0x01, 0xcd, 0xf1, 0x37, 0xa7, 0xdc, 0x92, 0xbd,
+  0x99, 0x44, 0xf6, 0x91, 0xc8, 0xda, 0x99, 0xf6, 0x18, 0xc9, 0xdf, 0x40,
+  0x15, 0x1b, 0x25, 0x4f, 0xfd, 0x00, 0xe7, 0xf4, 0x7a, 0x23, 0xe4, 0x27,
+  0xb6, 0x23, 0x29, 0x45, 0xe1, 0x3d, 0x9d, 0xe5, 0xa5, 0xc6, 0x5f, 0x50,
+  0xb9, 0xe0, 0xba, 0x5b, 0xe0, 0x06, 0xdf, 0xcb, 0x0f, 0xf8, 0x68, 0x1a,
+  0xc3, 0xf1, 0x53, 0x5d, 0x99, 0xe2, 0xc4, 0x2a, 0x1b, 0x62, 0xab, 0xda,
+  0x62, 0x61, 0xd4, 0x36, 0x8c, 0x35, 0x79, 0x10, 0xfd, 0xf4, 0x53, 0x37,
+  0x02, 0x23, 0xb9, 0x31, 0xdc, 0x4f, 0x15, 0xfc, 0x14, 0x68, 0xf1, 0x27,
+  0x2e, 0x58, 0xfa, 0xe9, 0x0e, 0x8d, 0x40, 0x74, 0x30, 0x97, 0x33, 0x8c,
+  0x1e, 0xb1, 0x9a, 0x5d, 0xf7, 0xca, 0x71, 0x3d, 0xf4, 0x8a, 0xd4, 0x2c,
+  0x6b, 0xb7, 0x73, 0x2a, 0x26, 0x1c, 0xd8, 0x72, 0x9e, 0x89, 0x75, 0xc2,
+  0xc4, 0x49, 0xf7, 0x9e, 0xe4, 0xc0, 0xda, 0x1f, 0xd7, 0x2c, 0x21, 0x85,
+  0xf6, 0xae, 0x48, 0x58, 0xd2, 0x93, 0xa8, 0x4a, 0x1d, 0x31, 0xa5, 0xd5,
+  0xc3, 0x64, 0x6e, 0x46, 0x1c, 0x2e, 0x45, 0x66, 0x7a, 0x81, 0xce, 0x75,
+  0x2e, 0x03, 0x6b, 0x8a, 0x71, 0x6b, 0x4a, 0x62, 0x6d, 0xdc, 0xe2, 0xe6,
+  0xb1, 0xc4, 0x4c, 0x0e, 0x99, 0x8d, 0x77, 0x7b, 0x5a, 0x13, 0x8c, 0x65,
+  0xef, 0xb1, 0xa8, 0x07, 0xf9, 0x00, 0x32, 0xbf, 0x1a, 0xeb, 0x84, 0x19,
+  0xad, 0xf5, 0xd6, 0x4c, 0x2c, 0x4c, 0xf2, 0x65, 0xbc, 0x5c, 0x7a, 0x93,
+  0x9c, 0x6d, 0x93, 0x0f, 0xbd, 0x4f, 0x3a, 0x49, 0x71, 0xb9, 0x9b, 0xee,
+  0x68, 0x8b, 0xdb, 0xb1, 0x3a, 0x55, 0xa3, 0xf8, 0xf2, 0x7d, 0xe1, 0x3f,
+  0x01, 0x87, 0x13, 0xa5, 0x45, 0x92, 0xe9, 0xa1, 0x03, 0x90, 0x37, 0xc4,
+  0x86, 0x87, 0x7a, 0x3d, 0xc2, 0x19, 0x59, 0x30, 0x36, 0x08, 0x92, 0x04,
+  0x65, 0x1e, 0x3c, 0x62, 0x25, 0xd8, 0x62, 0xe6, 0xf1, 0x5b, 0x49, 0x05,
+  0xd4, 0x62, 0x6b, 0xbc, 0xe0, 0x08, 0x48, 0x71, 0x9f, 0x09, 0xa0, 0xc0,
+  0x20, 0x27, 0xaf, 0xcc, 0x88, 0x72, 0x18, 0x24, 0x5d, 0x46, 0x6a, 0xca,
+  0x02, 0x56, 0x20, 0xca, 0x40, 0x4f, 0x07, 0xc2, 0xf9, 0xbc, 0x8e, 0x3a,
+  0xed, 0x9a, 0x50, 0xa7, 0xf9, 0x06, 0x65, 0x40, 0x5a, 0x17, 0xa7, 0xd4,
+  0xcb, 0xd3, 0x44, 0xd6, 0x25, 0x93, 0xae, 0xf7, 0x37, 0x4e, 0x68, 0xe3,
+  0x92, 0x2e, 0x91, 0xaf, 0x1b, 0x9c, 0x20, 0x5c, 0x06, 0x22, 0xfb, 0x36,
+  0xcb, 0xca, 0xa1, 0x0f, 0x9b, 0xa7, 0x94, 0x92, 0xfb, 0x9a, 0xa4, 0x17,
+  0x4b, 0x3b, 0xe7, 0x69, 0x2f, 0x14, 0xaf, 0x6f, 0x63, 0xc5, 0x09, 0x7e,
+  0x4f, 0x5c, 0xd2, 0x2a, 0x3a, 0xcc, 0x8d, 0x5e, 0xcc, 0x08, 0xa7, 0x43,
+  0x6b, 0x5d, 0x48, 0x25, 0xf2, 0x76, 0x67, 0x7b, 0xc3, 0x54, 0x47, 0x12,
+  0xd8, 0x06, 0x67, 0x66, 0x8b, 0x9e, 0xd0, 0xb9, 0xc9, 0x39, 0x97, 0xa8,
+  0x73, 0x80, 0x85, 0x7b, 0x72, 0x1b, 0x69, 0x8d, 0x0a, 0x83, 0xd0, 0x18,
+  0x8e, 0x32, 0xb5, 0xde, 0x5d, 0xbc, 0x3f, 0xa9, 0x67, 0xe0, 0xd2, 0x4f,
+  0x42, 0xce, 0x57, 0x60, 0x57, 0x6f, 0x81, 0xc3, 0x30, 0x0d, 0xc4, 0x9e,
+  0x36, 0xc7, 0xb4, 0x05, 0xd3, 0x9a, 0x26, 0xd5, 0xe2, 0x7e, 0x99, 0x8e,
+  0xd7, 0x37, 0x90, 0x46, 0xb0, 0xdc, 0xa4, 0x47, 0x35, 0x4e, 0x6c, 0x1a,
+  0x96, 0xd1, 0x3a, 0x2b, 0xe8, 0x45, 0x52, 0x2d, 0x8b, 0x8c, 0x1d, 0xe6,
+  0x38, 0xf7, 0xa6, 0x91, 0x05, 0xd2, 0x99, 0x45, 0x9d, 0xeb, 0x1c, 0x10,
+  0xcc, 0x1c, 0x4e, 0x61, 0xe2, 0x01, 0xc1, 0xdc, 0xbd, 0x30, 0x79, 0x1f,
+  0x74, 0xf0, 0xb4, 0x16, 0x4f, 0x7e, 0xb9, 0x3b, 0x11, 0x1d, 0x5d, 0x5e,
+  0xbe, 0x39, 0xba, 0x3e, 0x32, 0x6b, 0x23, 0x01, 0x4d, 0xcc, 0x85, 0x34,
+  0x64, 0xe0, 0x43, 0xa8, 0x35, 0xe1, 0x93, 0x6b, 0x7f, 0xfa, 0x30, 0x38,
+  0xb9, 0x6a, 0x1e, 0xec, 0xe5, 0xd5, 0x05, 0x02, 0x12, 0xfd, 0xe9, 0xa7,
+  0xa3, 0xc5, 0x62, 0xa6, 0x41, 0xc1, 0x37, 0x71, 0x15, 0xaf, 0x79, 0xb7,
+  0x7a, 0x67, 0x03, 0xe7, 0x77, 0x6f, 0xe6, 0x37, 0x11, 0x21, 0x47, 0xa6,
+  0x7e, 0xd4, 0xc7, 0x03, 0x2d, 0x46, 0x9a, 0x7e, 0x6b, 0x76, 0x83, 0x36,
+  0x80, 0xb2, 0x67, 0xdb, 0x17, 0x92, 0x5b, 0x4e, 0xa6, 0x89, 0x64, 0xba,
+  0x59, 0x33, 0x30, 0xb2, 0x93, 0xd1, 0xb2, 0x52, 0x92, 0x27, 0xfa, 0xc2,
+  0x2a, 0xee, 0xe6, 0xbe, 0x78, 0xc7, 0x63, 0xc3, 0x28, 0xcc, 0x05, 0x08,
+  0x44, 0x00, 0x08, 0x8d, 0x52, 0xa4, 0x75, 0xb6, 0xcc, 0xc5, 0x02, 0x34,
+  0x35, 0x4e, 0x38, 0xac, 0x42, 0xa0, 0x02, 0x3c, 0x25, 0x6f, 0x43, 0xfe,
+  0x08, 0xb7, 0xb1, 0x17, 0x9d, 0x48, 0xb5, 0x1b, 0x2d, 0x1c, 0x7e, 0xe0,
+  0x3d, 0x54, 0x19, 0xf3, 0x41, 0xd8, 0x7d, 0x98, 0x57, 0x38, 0x40, 0x1b,
+  0x9d, 0xa6, 0x08, 0xe0, 0xd2, 0x56, 0x78, 0x08, 0xa7, 0x8d, 0x9b, 0x4e,
+  0xd6, 0x53, 0x27, 0x90, 0xf4, 0xd4, 0x8b, 0xa7, 0x48, 0x5e, 0xf0, 0x28,
+  0x68, 0xd7, 0x60, 0x34, 0xe1, 0xbf, 0x36, 0xb7, 0xfb, 0x5b, 0x1d, 0x7f,
+  0xf2, 0x78, 0x59, 0x08, 0x24, 0xc5, 0x44, 0xd5, 0x90, 0x1b, 0x56, 0x79,
+  0xfe, 0xe4, 0xfc, 0x98, 0x85, 0x81, 0x7e, 0xba, 0x80, 0xf1, 0x83, 0x53,
+  0xe9, 0x5d, 0x78, 0x59, 0x20, 0x98, 0xb9, 0x5b, 0x28, 0x53, 0x04, 0x9e,
+  0x98, 0xe5, 0xf7, 0xb8, 0x12, 0x20, 0xb5, 0xd9, 0xac, 0x86, 0x66, 0xd3,
+  0x09, 0x6f, 0x73, 0x46, 0xc0, 0x51, 0x49, 0x73, 0xb7, 0x83, 0x91, 0x6b,
+  0x55, 0x3e, 0x5d, 0x0d, 0xcf, 0xa4, 0xbc, 0x92, 0x15, 0x69, 0x28, 0xc1,
+  0x05, 0x13, 0x00, 0x2e, 0xe7, 0xf1, 0xbd, 0x99, 0x9b, 0x99, 0xd1, 0xd3,
+  0xf4, 0x90, 0x1e, 0x0e, 0x82, 0x5a, 0xe9, 0x21, 0xd7, 0xaa, 0x7b, 0xb6,
+  0xfc, 0xfb, 0xf8, 0x21, 0x9d, 0x2f, 0xe7, 0xf4, 0x31, 0xa4, 0x6d, 0x79,
+  0x4c, 0xe2, 0x09, 0xe4, 0x55, 0xe4, 0xf4, 0x14, 0x22, 0xf2, 0xb5, 0x32,
+  0x72, 0x2c, 0xfa, 0x90, 0x90, 0x01, 0x91, 0xdc, 0xb7, 0xcb, 0x23, 0x65,
+  0x81, 0x02, 0x0e, 0x65, 0xc3, 0x1b, 0x00, 0xfa, 0x41, 0x8c, 0x39, 0x07,
+  0x65, 0x6e, 0x12, 0x76, 0x02, 0xec, 0x9c, 0xc1, 0x12, 0x44, 0x87, 0x73,
+  0xf2, 0x55, 0x93, 0x22, 0xcd, 0xc7, 0xe6, 0xde, 0xa0, 0xfe, 0x98, 0x66,
+  0x4b, 0xd8, 0x67, 0xf6, 0x25, 0x73, 0x10, 0x02, 0x7f, 0xe5, 0x79, 0x08,
+  0x29, 0xab, 0x7e, 0x40, 0xc5, 0x12, 0x9a, 0x82, 0xfa, 0xb2, 0xbf, 0xbb,
+  0xd3, 0xdf, 0xea, 0xd6, 0x0c, 0x7a, 0xc1, 0x94, 0x80, 0xdb, 0x35, 0x4a,
+  0xe7, 0xa6, 0xde, 0xb4, 0xff, 0xbb, 0x39, 0x6e, 0x28, 0x23, 0x7c, 0x1e,
+  0x3f, 0xd0, 0xf1, 0x05, 0x8f, 0x35, 0x8f, 0x0e, 0xdf, 0x5d, 0x0c, 0xae,
+  0xb7, 0x0f, 0x2e, 0x2f, 0xae, 0xe0, 0xbf, 0xf8, 0xf7, 0x1d, 0xfa, 0xfb,
+  0x8e, 0x67, 0x55, 0xbe, 0x95, 0x0c, 0x5a, 0x2d, 0xd6, 0x21, 0x0d, 0x85,
+  0x34, 0x1a, 0xde, 0xcd, 0xc8, 0x19, 0x08, 0xf5, 0x72, 0x62, 0x83, 0x23,
+  0x53, 0xd1, 0xd8, 0x3c, 0x62, 0xe7, 0x53, 0x9a, 0x64, 0xd7, 0x8f, 0xfc,
+  0x44, 0xbe, 0xb4, 0x52, 0x6d, 0x4a, 0x6a, 0xe1, 0xb5, 0xca, 0xbe, 0xe9,
+  0xeb, 0xe6, 0x3a, 0x66, 0xa9, 0xcf, 0x51, 0xbc, 0x3a, 0xca, 0x0d, 0xab,
+  0xff, 0x6a, 0x34, 0x03, 0xed, 0x3e, 0xc1, 0x5c, 0x92, 0x71, 0xc2, 0x01,
+  0x16, 0xfc, 0x49, 0xc8, 0x30, 0x81, 0xeb, 0x27, 0x25, 0x0b, 0x5e, 0x82,
+  0x21, 0x51, 0xa4, 0x46, 0x75, 0x60, 0x36, 0x30, 0xc7, 0x14, 0x34, 0x71,
+  0xde, 0x8e, 0x2c, 0xf1, 0x2a, 0x04, 0x18, 0x47, 0xce, 0x75, 0x62, 0x51,
+  0x91, 0x3e, 0x95, 0xdb, 0x9f, 0x5f, 0x5c, 0x47, 0xf1, 0x64, 0xa2, 0xd8,
+  0x00, 0x58, 0x96, 0x80, 0x1a, 0xeb, 0xe6, 0x82, 0x25, 0x59, 0x5c, 0x85,
+  0x52, 0x37, 0x44, 0x1f, 0xb9, 0x3e, 0x1b, 0x6c, 0xa2, 0x0b, 0x8b, 0x93,
+  0xe0, 0x06, 0xe7, 0xa7, 0xdd, 0x9a, 0xaf, 0xda, 0x4d, 0x7d, 0xd9, 0x40,
+  0x49, 0x19, 0x56, 0x28, 0x62, 0x47, 0x16, 0x5a, 0xc4, 0x19, 0x4c, 0xaa,
+  0xa3, 0x23, 0xed, 0x48, 0x35, 0x58, 0x87, 0x8e, 0xb6, 0x13, 0x69, 0xd4,
+  0x94, 0xec, 0xe2, 0xf9, 0xa2, 0x7a, 0xf4, 0xeb, 0x45, 0xc9, 0xb7, 0x81,
+  0x38, 0x2c, 0xa8, 0x74, 0x74, 0xd0, 0x2c, 0xc1, 0x65, 0xd1, 0x92, 0x3a,
+  0x7d, 0x1e, 0x76, 0xa7, 0x43, 0xa3, 0xd2, 0xa0, 0xf0, 0x77, 0x1c, 0x93,
+  0x88, 0x76, 0x98, 0x84, 0xd2, 0xfb, 0xf9, 0x43, 0xce, 0xe0, 0x91, 0x19,
+  0x1e, 0x26, 0x66, 0xea, 0xd4, 0x94, 0x3a, 0x90, 0xc1, 0xe4, 0x45, 0x3a,
+  0xc5, 0x3c, 0x81, 0x66, 0xe9, 0x98, 0x9d, 0x88, 0xe7, 0x99, 0x42, 0x65,
+  0xac, 0xac, 0x3a, 0x8e, 0x2b, 0xa1, 0xf2, 0x12, 0xf4, 0x29, 0x6d, 0xb4,
+  0x50, 0x93, 0x46, 0xa7, 0x83, 0xfc, 0xa7, 0x0a, 0xe8, 0xf1, 0xac, 0xec,
+  0xc1, 0xea, 0x50, 0xee, 0xd8, 0x20, 0x90, 0x96, 0xfe, 0xe8, 0x5d, 0x22,
+  0x24, 0x9c, 0xd3, 0x4a, 0x19, 0x38, 0x87, 0x8d, 0x9a, 0xc3, 0x31, 0x62,
+  0x1b, 0x70, 0x04, 0xad, 0xfa, 0xe8, 0x6c, 0xef, 0xbc, 0xec, 0x6f, 0xc1,
+  0xff, 0xc1, 0xa1, 0x88, 0x7e, 0x44, 0x70, 0x51, 0x16, 0x16, 0xc8, 0x3c,
+  0x99, 0x3c, 0x34, 0x49, 0x92, 0x05, 0x50, 0x5e, 0x4c, 0x3b, 0x2b, 0x6b,
+  0x58, 0x6b, 0x22, 0x05, 0x0f, 0xd2, 0x88, 0x93, 0x78, 0x2c, 0x3f, 0xd1,
+  0x3b, 0x5e, 0x2c, 0x67, 0x81, 0xb4, 0x3e, 0xc7, 0x8d, 0x8c, 0xda, 0xd9,
+  0xec, 0x4e, 0x9c, 0xc8, 0xef, 0x90, 0x37, 0x71, 0x1d, 0x5f, 0xbf, 0x96,
+  0x14, 0xf5, 0xaa, 0xe6, 0x13, 0x3c, 0x16, 0x93, 0x8d, 0x38, 0x73, 0x0f,
+  0x2e, 0xc3, 0x61, 0x3e, 0x99, 0x94, 0x49, 0xd5, 0x14, 0x40, 0xc7, 0xf2,
+  0xc8, 0xe6, 0x15, 0x01, 0x1c, 0x12, 0xa7, 0xd2, 0x8a, 0x9b, 0xa8, 0x0e,
+  0xcb, 0x13, 0x49, 0x16, 0x1a, 0xb3, 0x2d, 0x1e, 0xae, 0x1f, 0x28, 0x32,
+  0x70, 0x7f, 0xaf, 0x19, 0x22, 0x5c, 0x15, 0xaf, 0x60, 0x2f, 0x54, 0x6e,
+  0xc5, 0x38, 0x2e, 0x22, 0xe9, 0x9a, 0xa8, 0x6c, 0x7a, 0x25, 0x6e, 0xd3,
+  0xc5, 0x02, 0xcd, 0x1b, 0x46, 0x38, 0x23, 0xb2, 0x35, 0x01, 0x34, 0x8a,
+  0xe3, 0x12, 0x29, 0x6b, 0xb6, 0x20, 0x28, 0xc9, 0x23, 0x91, 0xf9, 0xc3,
+  0x64, 0xe2, 0x07, 0x81, 0x38, 0xa9, 0xd1, 0x85, 0xb5, 0x91, 0x1a, 0xdd,
+  0x31, 0x42, 0xd8, 0x64, 0xb1, 0xb2, 0x98, 0x89, 0x03, 0xf8, 0x20, 0xc5,
+  0x7f, 0xdd, 0xc0, 0xfd, 0xb7, 0xc5, 0x59, 0xc6, 0x0f, 0x37, 0x38, 0xfd,
+  0x9f, 0x27, 0x16, 0x84, 0xc8, 0xa0, 0xfc, 0x70, 0xb9, 0x4b, 0xa8, 0x78,
+  0x08, 0x6e, 0x61, 0xef, 0x18, 0xce, 0xab, 0x43, 0x53, 0xb1, 0xa9, 0x26,
+  0x79, 0xa3, 0x1c, 0x83, 0xec, 0x1e, 0xd4, 0x24, 0x48, 0x1b, 0xda, 0xc4,
+  0xba, 0x7f, 0x4f, 0x34, 0x30, 0x46, 0x25, 0xfb, 0x17, 0x65, 0x8d, 0x74,
+  0x3b, 0x2a, 0xa9, 0x9a, 0x73, 0x6b, 0x4e, 0x44, 0x59, 0xdc, 0x4c, 0x33,
+  0x54, 0x19, 0x59, 0x81, 0xf1, 0x4a, 0x32, 0xb4, 0x0e, 0x96, 0xd1, 0x4e,
+  0x96, 0xd5, 0xef, 0x18, 0x3b, 0x29, 0x90, 0x7e, 0x09, 0xc6, 0xce, 0x21,
+  0xea, 0x11, 0x13, 0x35, 0x62, 0x75, 0xf6, 0xfe, 0x0a, 0x56, 0xf6, 0xa1,
+  0xba, 0x29, 0xda, 0x80, 0x01, 0xd4, 0xa9, 0x81, 0x45, 0x14, 0x64, 0x84,
+  0x11, 0x6d, 0x18, 0x7c, 0x1a, 0xdd, 0x6a, 0x86, 0xd5, 0x89, 0x49, 0x97,
+  0x21, 0x20, 0xd0, 0xe6, 0x9d, 0x9f, 0x10, 0xe8, 0x8d, 0x53, 0xfe, 0x6d,
+  0x6a, 0x27, 0xfb, 0x18, 0xa5, 0x9a, 0xf1, 0x08, 0x25, 0x27, 0x56, 0xca,
+  0x18, 0x6a, 0x34, 0xa4, 0x9e, 0xcc, 0x4d, 0xb3, 0x1e, 0x17, 0x57, 0xeb,
+  0xb3, 0x14, 0x4c, 0x43, 0xd4, 0x36, 0x21, 0x47, 0x3e, 0x22, 0x36, 0xc3,
+  0x2b, 0x49, 0xac, 0x20, 0xb5, 0x96, 0x3e, 0x1b, 0x72, 0xa3, 0xb3, 0x2f,
+  0x92, 0x1c, 0x88, 0xfc, 0x71, 0x74, 0x90, 0xdd, 0x82, 0xee, 0x9c, 0x75,
+  0xf1, 0xa7, 0x54, 0x88, 0x6a, 0x2e, 0x19, 0xfb, 0x36, 0xaa, 0x84, 0x83,
+  0x16, 0x49, 0x40, 0x97, 0x75, 0x9e, 0x95, 0x47, 0x1d, 0x37, 0xca, 0x79,
+  0x52, 0x49, 0xea, 0x08, 0x4f, 0x5e, 0x6b, 0xb3, 0xa8, 0xbe, 0xeb, 0x74,
+  0xd2, 0x18, 0x8e, 0xe0, 0xe2, 0x92, 0xaa, 0x5e, 0xad, 0x2f, 0x31, 0x5c,
+  0xc6, 0xc8, 0x42, 0x5f, 0x68, 0x17, 0xae, 0x41, 0x47, 0xfd, 0xb2, 0xbc,
+  0x82, 0x70, 0xea, 0x82, 0x4e, 0x07, 0xdd, 0x44, 0xd5, 0x38, 0x44, 0x93,
+  0xac, 0xfb, 0xea, 0x85, 0x14, 0xe8, 0x40, 0x37, 0x1d, 0x02, 0x41, 0xd0,
+  0x28, 0x7a, 0x6f, 0xbf, 0xa6, 0x89, 0x2b, 0x81, 0xaa, 0x42, 0xa7, 0xaa,
+  0x14, 0x53, 0x68, 0x8a, 0xb1, 0x7a, 0x46, 0x74, 0xa2, 0xc0, 0x85, 0xc5,
+  0x2e, 0xba, 0x8f, 0x89, 0xd2, 0xcc, 0xf8, 0xa1, 0xda, 0x07, 0x27, 0xff,
+  0xb1, 0x37, 0xb4, 0xe4, 0x6c, 0xe1, 0x73, 0x82, 0x69, 0x4a, 0xf2, 0x10,
+  0xd2, 0x3c, 0x08, 0x96, 0xb5, 0xca, 0x29, 0x2e, 0x25, 0x44, 0x1a, 0xb3,
+  0x29, 0xbc, 0x85, 0xf7, 0x37, 0xf9, 0x2c, 0x09, 0x85, 0x48, 0x9c, 0x92,
+  0x5f, 0x02, 0x77, 0xc1, 0xb4, 0x5e, 0xf2, 0x36, 0xdf, 0x51, 0xc6, 0x70,
+  0x2d, 0x74, 0x02, 0xfa, 0x5d, 0x12, 0x63, 0xc1, 0x91, 0x49, 0x9a, 0xbf,
+  0xeb, 0x7a, 0x69, 0xec, 0x70, 0xcf, 0x87, 0x79, 0x69, 0xe8, 0x05, 0x0b,
+  0x6b, 0x51, 0x82, 0xdc, 0xc7, 0x05, 0x31, 0x66, 0x41, 0xc9, 0x52, 0x00,
+  0x51, 0x37, 0x67, 0x10, 0x55, 0xc1, 0x66, 0xbd, 0x43, 0x8a, 0xc5, 0xe8,
+  0x40, 0x26, 0xa0, 0x00, 0xa0, 0x9b, 0x96, 0x68, 0x07, 0x87, 0x14, 0xfc,
+  0xab, 0x1b, 0x82, 0xc2, 0x95, 0x8a, 0x75, 0xb8, 0x87, 0x37, 0x28, 0xd3,
+  0xd3, 0x6a, 0x19, 0x57, 0xcf, 0x4b, 0xd8, 0x6e, 0xe3, 0x4d, 0xcc, 0x9c,
+  0xdc, 0x7c, 0xd4, 0x36, 0xcc, 0x86, 0x96, 0x28, 0xa2, 0x7b, 0x90, 0x87,
+  0x78, 0xd7, 0xfe, 0xeb, 0x09, 0xc6, 0x74, 0x49, 0x88, 0x7e, 0x37, 0x75,
+  0x48, 0x28, 0xaa, 0xc9, 0x15, 0x79, 0xa2, 0x95, 0x6f, 0x3c, 0xa6, 0x8a,
+  0xfb, 0xd3, 0x40, 0xa0, 0x9f, 0xa2, 0x63, 0x30, 0x9d, 0xd9, 0xa3, 0x1d,
+  0xd0, 0x29, 0x99, 0xd5, 0x0c, 0x6f, 0x07, 0x2e, 0xcf, 0x7c, 0xc1, 0xcb,
+  0x5a, 0xea, 0x0c, 0x40, 0x05, 0xe7, 0x6f, 0x1e, 0x74, 0x14, 0x7d, 0xd4,
+  0xc0, 0x29, 0x09, 0x17, 0x91, 0xa2, 0x2d, 0xad, 0xff, 0x50, 0x5f, 0x3d,
+  0x5e, 0xff, 0xe6, 0x70, 0x08, 0xc5, 0xbd, 0xfd, 0xfa, 0xbb, 0xa3, 0xb3,
+  0x0f, 0x27, 0xdb, 0x5f, 0x44, 0xf8, 0xaf, 0x1d, 0xfe, 0xd7, 0x4e, 0x27,
+  0x74, 0x5c, 0xc0, 0xa8, 0xd6, 0x5e, 0xaf, 0x45, 0xe5, 0xe3, 0x7c, 0x98,
+  0xcf, 0xcc, 0x81, 0xc9, 0x56, 0x68, 0x20, 0xad, 0x2b, 0x52, 0xdc, 0x94,
+  0x6e, 0x8b, 0xab, 0xbc, 0xc9, 0xb2, 0x4b, 0x49, 0x3a, 0x54, 0x76, 0x43,
+  0x11, 0x3c, 0xb7, 0x96, 0xb8, 0xa2, 0x4a, 0x6b, 0xe5, 0x61, 0x12, 0xcb,
+  0x6b, 0x4b, 0x04, 0x25, 0xa1, 0xa4, 0x17, 0xbb, 0x0c, 0x70, 0x0e, 0x16,
+  0x2f, 0x16, 0xd2, 0xd9, 0x65, 0x18, 0x7e, 0xb6, 0x19, 0x70, 0x27, 0xba,
+  0x52, 0x06, 0x77, 0x9a, 0x5f, 0x17, 0x03, 0x01, 0xd1, 0x38, 0x1e, 0x05,
+  0x7f, 0x60, 0xad, 0x48, 0x0c, 0xeb, 0xa5, 0x55, 0xe3, 0xbb, 0xcd, 0xe1,
+  0x86, 0xa2, 0xbb, 0x38, 0xd0, 0x5c, 0x67, 0x88, 0x06, 0xd6, 0xd3, 0xf4,
+  0x0c, 0xeb, 0xea, 0x40, 0x63, 0x74, 0x8c, 0x9a, 0xb5, 0xfa, 0x33, 0x22,
+  0x07, 0xfc, 0xd9, 0xc0, 0x48, 0x0a, 0x0e, 0x63, 0x54, 0x0b, 0x09, 0xb2,
+  0xaf, 0xd9, 0x87, 0x5e, 0x61, 0x20, 0x18, 0xd8, 0x1c, 0x4a, 0x37, 0x99,
+  0x7b, 0xd9, 0x59, 0x19, 0x68, 0x92, 0xeb, 0xc0, 0xde, 0x37, 0x5c, 0x4c,
+  0x10, 0x3d, 0x3e, 0x71, 0x4b, 0x54, 0x26, 0xa2, 0xda, 0x12, 0x2b, 0xb8,
+  0xbe, 0xa9, 0x09, 0x1a, 0x55, 0xf9, 0xb4, 0xc0, 0x99, 0xe3, 0xb3, 0x22,
+  0x39, 0x78, 0x18, 0x26, 0x53, 0xcc, 0xde, 0x9c, 0xc5, 0x1e, 0x12, 0x0d,
+  0xdd, 0x35, 0x85, 0xc3, 0xc0, 0x40, 0xbf, 0x21, 0x7c, 0xf8, 0xfe, 0xe3,
+  0x2c, 0xd9, 0x50, 0xc3, 0x40, 0x85, 0xdd, 0xe6, 0xfb, 0xfc, 0xef, 0x30,
+  0xef, 0x58, 0x3e, 0x12, 0x92, 0x99, 0x22, 0x02, 0x5b, 0x67, 0x6e, 0xf9,
+  0x0b, 0x97, 0x89, 0xbb, 0x5c, 0xa3, 0x66, 0x1b, 0x53, 0x10, 0x18, 0xf5,
+  0x32, 0x4a, 0xd5, 0xf6, 0x48, 0x47, 0xb4, 0x0b, 0x4f, 0x42, 0x3b, 0x78,
+  0x33, 0x40, 0xca, 0xb9, 0x64, 0xe8, 0x18, 0x12, 0x13, 0xb1, 0xd3, 0x64,
+  0xe1, 0x4d, 0x9d, 0xaa, 0x45, 0x10, 0x9d, 0x3c, 0x24, 0xc5, 0x08, 0xa1,
+  0x26, 0x46, 0xa0, 0x97, 0x12, 0x3f, 0x9d, 0x88, 0x7b, 0x0a, 0x73, 0xa9,
+  0x24, 0x2b, 0xbe, 0x8e, 0x0b, 0x43, 0xe2, 0x57, 0xe9, 0xac, 0x95, 0xc4,
+  0x28, 0xf7, 0x61, 0x04, 0x84, 0xd1, 0x37, 0x10, 0x78, 0x2a, 0x20, 0xeb,
+  0xec, 0x43, 0x8b, 0xcc, 0x28, 0x9c, 0xe0, 0x65, 0xec, 0xd1, 0x0e, 0xeb,
+  0x8b, 0xce, 0x69, 0x0a, 0xb9, 0xd0, 0x5c, 0x18, 0xd0, 0xcc, 0x46, 0x87,
+  0x10, 0x2a, 0x80, 0x70, 0xa1, 0xda, 0xd3, 0x13, 0xcd, 0xe9, 0x10, 0x7e,
+  0x07, 0x45, 0x4b, 0xb2, 0x47, 0x45, 0x93, 0x5a, 0x27, 0xb1, 0xc9, 0xca,
+  0xa1, 0x62, 0x0e, 0x92, 0xe6, 0xe5, 0x17, 0x23, 0xcf, 0xf2, 0x7b, 0x8c,
+  0xc1, 0xd4, 0x11, 0x40, 0x15, 0xec, 0x87, 0x73, 0xea, 0x98, 0x2f, 0xf7,
+  0x50, 0x57, 0xe2, 0xcf, 0xf6, 0x35, 0x5a, 0x1b, 0xa4, 0x00, 0x2d, 0xa7,
+  0x6d, 0x56, 0x22, 0xc5, 0x36, 0x83, 0xa2, 0x62, 0x67, 0x32, 0xeb, 0x17,
+  0x16, 0x80, 0x2b, 0x24, 0xd8, 0x68, 0xc5, 0xc3, 0xbc, 0xba, 0x71, 0xf2,
+  0x50, 0x11, 0xd4, 0x0f, 0xfd, 0x3c, 0x93, 0x65, 0x45, 0x46, 0x80, 0x9a,
+  0x81, 0x95, 0xa4, 0x1a, 0x8b, 0xb3, 0xc8, 0xcb, 0x7a, 0xb8, 0x45, 0xf0,
+  0x37, 0x5c, 0xa2, 0x01, 0xb0, 0xc5, 0x04, 0xda, 0x8c, 0x32, 0xc5, 0x91,
+  0x2e, 0xc1, 0x00, 0x26, 0x7c, 0x41, 0xf8, 0x26, 0x26, 0x2a, 0x95, 0x25,
+  0x62, 0xc9, 0x51, 0x4a, 0x2a, 0x6c, 0xac, 0x07, 0x39, 0x41, 0x20, 0x49,
+  0x99, 0x7b, 0xa4, 0xeb, 0x0c, 0x7f, 0x63, 0x81, 0x9b, 0x18, 0x17, 0x03,
+  0xad, 0xf6, 0xa1, 0x1c, 0x4d, 0x49, 0xf7, 0x17, 0xe9, 0x21, 0xe0, 0x14,
+  0x31, 0xfa, 0x6b, 0xcb, 0x85, 0xfd, 0x97, 0x8d, 0x1a, 0xcf, 0xc8, 0x2b,
+  0x4a, 0x06, 0xd0, 0x25, 0x08, 0x62, 0x93, 0x18, 0x4f, 0xdb, 0xed, 0x33,
+  0xae, 0xd8, 0xc6, 0xdf, 0x42, 0x71, 0xde, 0xe5, 0x62, 0x4c, 0x6a, 0x9f,
+  0xbe, 0x43, 0x8a, 0x92, 0x03, 0x84, 0x59, 0xe6, 0x72, 0x1b, 0x69, 0x78,
+  0x64, 0x32, 0x96, 0xcb, 0x84, 0x40, 0x72, 0x9a, 0xf7, 0xdf, 0x0d, 0xb0,
+  0xd4, 0x90, 0xda, 0xd8, 0x87, 0x33, 0x77, 0x79, 0x03, 0xbc, 0x48, 0xc2,
+  0xb7, 0x07, 0xb4, 0x5f, 0x86, 0x02, 0x95, 0x2a, 0xc0, 0x81, 0xc3, 0xff,
+  0x75, 0x99, 0x8d, 0x1a, 0x32, 0x2a, 0xef, 0x3a, 0x78, 0x9c, 0x12, 0x95,
+  0x35, 0x12, 0xa2, 0x49, 0xf4, 0xf4, 0x21, 0x81, 0xbf, 0xc1, 0x8a, 0x50,
+  0xac, 0xde, 0x40, 0xf1, 0x36, 0x73, 0x4a, 0x68, 0x6f, 0x52, 0x38, 0xa1,
+  0x62, 0x74, 0x43, 0x48, 0x02, 0xe4, 0x47, 0x4a, 0xd4, 0x39, 0xea, 0x29,
+  0xc2, 0xe2, 0xf9, 0xa7, 0x61, 0x45, 0x17, 0x4b, 0x91, 0x1d, 0x21, 0x5a,
+  0x48, 0x9e, 0x29, 0x93, 0x6e, 0x9b, 0xa7, 0x9f, 0xd9, 0x75, 0x83, 0x7b,
+  0x9e, 0xcc, 0x4a, 0x2b, 0x20, 0xcd, 0x3b, 0x56, 0x52, 0x92, 0x11, 0x9e,
+  0x91, 0x4f, 0x96, 0x45, 0x71, 0x1a, 0xbc, 0xe1, 0x34, 0x13, 0x50, 0x73,
+  0x64, 0x32, 0x68, 0x57, 0x22, 0x9d, 0x3c, 0x2a, 0xc6, 0x8c, 0x8c, 0xd0,
+  0x84, 0x99, 0xf1, 0x24, 0x4f, 0x6e, 0xf6, 0x4d, 0x00, 0x6c, 0x74, 0xab,
+  0x52, 0xc5, 0x5b, 0x67, 0x52, 0x41, 0x47, 0x06, 0x96, 0x4f, 0x53, 0x1f,
+  0x10, 0x8c, 0x7f, 0xf5, 0x7a, 0x93, 0xca, 0x4b, 0xd7, 0x72, 0xce, 0xba,
+  0x4e, 0x02, 0xb3, 0x89, 0x60, 0xf4, 0xbc, 0x57, 0x34, 0xbe, 0x3b, 0xac,
+  0xe1, 0x89, 0xce, 0xde, 0xb2, 0x17, 0xef, 0xf8, 0x0a, 0xff, 0x96, 0x1a,
+  0x84, 0x22, 0xaa, 0xc3, 0xa5, 0xc6, 0x1e, 0x9c, 0x20, 0xfb, 0xfe, 0xbb,
+  0x66, 0x19, 0xe6, 0xfa, 0xc5, 0x60, 0x73, 0xf7, 0xd5, 0xd6, 0x46, 0x20,
+  0x67, 0x19, 0xbe, 0xe1, 0xe2, 0x14, 0xee, 0x6d, 0xf5, 0xb7, 0x36, 0x1a,
+  0xb3, 0xc1, 0xed, 0x5e, 0x01, 0xa0, 0xa2, 0xe8, 0xea, 0x46, 0x68, 0x50,
+  0x32, 0xb2, 0x2d, 0xd6, 0x92, 0xbc, 0x69, 0xb7, 0x98, 0xf4, 0x2a, 0xb9,
+  0x03, 0x52, 0x0b, 0xe6, 0xaf, 0x9d, 0xa5, 0xa5, 0x18, 0x36, 0x28, 0xc9,
+  0x54, 0xb6, 0x60, 0xb5, 0x76, 0x3d, 0x27, 0x98, 0x1e, 0x41, 0x61, 0xc9,
+  0xb9, 0x0e, 0x81, 0x68, 0x4b, 0x09, 0x93, 0x2a, 0x28, 0x31, 0x8f, 0x62,
+  0xfa, 0x9f, 0xdc, 0xd9, 0x72, 0x54, 0x43, 0x7b, 0x7c, 0xe9, 0x9e, 0x29,
+  0x6a, 0xfa, 0xbd, 0xb8, 0x1c, 0xa5, 0x29, 0xdb, 0x33, 0x2d, 0x66, 0x8c,
+  0x66, 0x3c, 0x12, 0x86, 0x1c, 0x55, 0x52, 0xa7, 0x31, 0x87, 0x6a, 0x2d,
+  0x50, 0xa9, 0x37, 0x2c, 0x2a, 0xab, 0x40, 0x62, 0xab, 0xc6, 0x15, 0x1b,
+  0x1e, 0x9b, 0xb5, 0x08, 0xb6, 0xb2, 0xd1, 0x2f, 0xcb, 0xa6, 0x1a, 0x05,
+  0x77, 0x81, 0xe1, 0xca, 0x16, 0x85, 0x5f, 0xdf, 0x87, 0xb9, 0x99, 0x94,
+  0xf1, 0x1c, 0x57, 0x65, 0x8e, 0xfb, 0x14, 0xda, 0x54, 0xf2, 0x50, 0x10,
+  0x3a, 0xad, 0x31, 0xa0, 0xcc, 0xdd, 0x97, 0x7c, 0xa0, 0xaf, 0xba, 0x36,
+  0x5d, 0xa7, 0x66, 0x00, 0xc5, 0x01, 0x45, 0x90, 0xc1, 0xf5, 0x23, 0x0a,
+  0x8f, 0x73, 0x25, 0x15, 0x2e, 0x44, 0x5a, 0x4c, 0x90, 0xdb, 0x83, 0x73,
+  0x44, 0xa4, 0xc1, 0x04, 0xc2, 0x10, 0x99, 0xdd, 0x0a, 0x80, 0x4b, 0x75,
+  0x61, 0x7d, 0x04, 0xdd, 0x49, 0x14, 0x94, 0x25, 0xf7, 0xc8, 0x8d, 0x4b,
+  0x51, 0x25, 0x8a, 0x22, 0x45, 0xbf, 0x91, 0x49, 0x2e, 0x60, 0x75, 0x0c,
+  0xb3, 0x30, 0x51, 0x38, 0x8f, 0x03, 0xb5, 0xdd, 0x23, 0xba, 0x9d, 0xa5,
+  0xc9, 0xd9, 0xce, 0x08, 0x7e, 0x12, 0xf1, 0xe5, 0xbc, 0xbd, 0xa1, 0xfe,
+  0x00, 0x34, 0x39, 0x05, 0x9d, 0xad, 0xea, 0xe9, 0x1f, 0xa8, 0xb5, 0x73,
+  0x7e, 0x33, 0xc3, 0x9b, 0xe5, 0x35, 0x03, 0xb3, 0x6c, 0x0f, 0x97, 0x6c,
+  0x3e, 0xf4, 0xee, 0xef, 0xef, 0x7b, 0x78, 0xe1, 0x30, 0x27, 0x47, 0xca,
+  0x2c, 0xfa, 0x35, 0xf0, 0x68, 0xb2, 0x2b, 0xd9, 0xe4, 0x44, 0x26, 0xe2,
+  0xc7, 0x37, 0x9c, 0x14, 0xa9, 0x62, 0x98, 0x56, 0x54, 0xcf, 0x27, 0xc4,
+  0x45, 0xaf, 0x49, 0x5d, 0x9d, 0x4c, 0x87, 0x34, 0x1c, 0x75, 0x44, 0x05,
+  0x6e, 0x9f, 0x5d, 0x0b, 0xc2, 0x4f, 0x8d, 0xaa, 0x04, 0xeb, 0xd7, 0xe1,
+  0x13, 0xf3, 0x83, 0xa8, 0xf7, 0x2e, 0xea, 0x1c, 0xcb, 0x6a, 0xaf, 0xe1,
+  0x89, 0x83, 0xfa, 0x5a, 0xf8, 0x61, 0x3f, 0x98, 0x03, 0xef, 0x76, 0x9e,
+  0x07, 0x9f, 0xd8, 0x7a, 0x91, 0xa9, 0xbb, 0x8a, 0xcd, 0x9a, 0xa9, 0x02,
+  0xce, 0x3a, 0x4c, 0x7b, 0x61, 0xb7, 0x16, 0x63, 0x9e, 0xd1, 0xd2, 0xe3,
+  0x52, 0x3a, 0xf1, 0x0c, 0xf9, 0x86, 0xaf, 0xb8, 0x8e, 0x45, 0x7c, 0xff,
+  0xf4, 0x1d, 0x77, 0x6e, 0xa2, 0x50, 0xef, 0x8c, 0x5c, 0x5d, 0x0e, 0x1e,
+  0x31, 0xfa, 0x77, 0x4c, 0x12, 0x66, 0x60, 0xa6, 0xd2, 0x07, 0xc3, 0x16,
+  0x53, 0xb1, 0x61, 0x2a, 0x7a, 0xe9, 0x57, 0x2b, 0xea, 0xd0, 0xac, 0x53,
+  0xd8, 0xae, 0xa2, 0x16, 0xf9, 0x68, 0xc0, 0x9a, 0xd2, 0xb2, 0x0c, 0x55,
+  0x3d, 0x83, 0xd1, 0xd8, 0xd5, 0x75, 0xcd, 0xe5, 0x14, 0x5a, 0x66, 0xc7,
+  0x9e, 0xb3, 0x4c, 0x41, 0xc0, 0x0d, 0xa5, 0x77, 0x72, 0x9c, 0x03, 0xaf,
+  0xaa, 0x02, 0x94, 0x89, 0xcb, 0x2a, 0x29, 0x90, 0xd0, 0x29, 0x0b, 0xbe,
+  0xa7, 0x29, 0xcc, 0x21, 0x61, 0x0d, 0x0c, 0xe5, 0xf8, 0x9b, 0x53, 0xca,
+  0xe6, 0x06, 0x46, 0x9a, 0x09, 0x88, 0x03, 0xcf, 0x9f, 0x5b, 0x1e, 0x19,
+  0xa3, 0x76, 0x8a, 0xac, 0x84, 0x4b, 0x22, 0xe3, 0x28, 0x04, 0x80, 0xaa,
+  0x36, 0x47, 0xa4, 0xc6, 0x85, 0x24, 0xad, 0x8a, 0x8d, 0x20, 0x97, 0xd7,
+  0x84, 0x77, 0x63, 0x5b, 0x22, 0x10, 0xdc, 0x2f, 0xfa, 0xba, 0x82, 0x8d,
+  0xc4, 0xa5, 0x44, 0x70, 0x49, 0x59, 0xf3, 0xd2, 0xc7, 0x2d, 0xbd, 0x72,
+  0x0b, 0xa9, 0xc4, 0xcf, 0x7b, 0x93, 0xcf, 0x87, 0x3b, 0xbc, 0xd1, 0x99,
+  0x34, 0x3c, 0x29, 0x66, 0xeb, 0x12, 0xd7, 0x63, 0xc0, 0xb5, 0x58, 0xe8,
+  0x4b, 0x0b, 0x79, 0x6e, 0x4d, 0x62, 0x24, 0x30, 0xe3, 0xff, 0x40, 0x09,
+  0x45, 0x72, 0x17, 0x78, 0x1e, 0x6a, 0x1e, 0x5a, 0x2f, 0xe9, 0x8e, 0xa6,
+  0x50, 0x7e, 0x92, 0x10, 0x1b, 0x1e, 0x0e, 0xed, 0xbf, 0xd7, 0xa8, 0x2d,
+  0x7d, 0x25, 0x8e, 0x2a, 0xcc, 0x83, 0x2f, 0x1d, 0x6b, 0x44, 0x8a, 0x65,
+  0x69, 0xee, 0x5a, 0x23, 0x84, 0xdb, 0x10, 0x1e, 0x8e, 0x23, 0x9c, 0xce,
+  0xee, 0x31, 0xc5, 0x21, 0xec, 0x7c, 0xc9, 0x6d, 0xc4, 0xfe, 0xd0, 0xdc,
+  0xbc, 0xd7, 0x4f, 0xef, 0xde, 0x2f, 0xdd, 0xbe, 0xd5, 0xbb, 0xc7, 0xed,
+  0x1b, 0x34, 0x59, 0xf6, 0xb5, 0xe3, 0xa0, 0xa3, 0x64, 0x0f, 0xb6, 0xbe,
+  0x8c, 0xa3, 0xae, 0xce, 0x65, 0x1c, 0x23, 0xf3, 0xf5, 0x6f, 0x75, 0xea,
+  0x44, 0x8c, 0x64, 0xd1, 0xe3, 0xe4, 0xc3, 0xc3, 0x71, 0x58, 0x91, 0xce,
+  0xde, 0xc5, 0x5e, 0x14, 0x3d, 0x9c, 0x46, 0x10, 0xfc, 0xe2, 0x51, 0xc5,
+  0xc4, 0x3c, 0xa4, 0x34, 0xcf, 0x5e, 0x78, 0x38, 0x2d, 0x04, 0x14, 0x45,
+  0xdc, 0x5b, 0xdf, 0x57, 0x2a, 0xf8, 0x9f, 0xbf, 0x38, 0x4a, 0x2b, 0xb2,
+  0x2d, 0x03, 0xdd, 0x8c, 0x10, 0x0e, 0xc1, 0xac, 0xfb, 0x7e, 0x43, 0xbd,
+  0x3e, 0x02, 0x03, 0xc9, 0x2d, 0xa4, 0x54, 0x25, 0xd8, 0xe8, 0xd6, 0x37,
+  0x0c, 0xa1, 0xee, 0x48, 0x18, 0xe8, 0x29, 0xa7, 0xad, 0x67, 0xac, 0x67,
+  0x87, 0x6d, 0x19, 0x82, 0x67, 0xf7, 0x7f, 0xd3, 0xfa, 0x88, 0x9e, 0x2d,
+  0x19, 0x60, 0x84, 0xa1, 0x64, 0x0c, 0x6f, 0x4a, 0xba, 0x8f, 0xa8, 0x5a,
+  0x01, 0x45, 0x7c, 0xcb, 0xec, 0x08, 0x7d, 0x00, 0x95, 0x22, 0x8c, 0xb7,
+  0xce, 0x04, 0x2e, 0x94, 0x61, 0xde, 0x5f, 0x5b, 0x65, 0xa6, 0x87, 0x8b,
+  0xec, 0x09, 0xc9, 0xf6, 0x89, 0x08, 0x57, 0x50, 0xaa, 0xa1, 0xcc, 0x30,
+  0x51, 0x7a, 0xe4, 0xd7, 0x2e, 0x1a, 0x15, 0x5f, 0x55, 0x64, 0x7b, 0x4d,
+  0x52, 0x6e, 0x7f, 0x5e, 0x93, 0x94, 0xf6, 0x9d, 0x55, 0x32, 0x72, 0x90,
+  0x70, 0x42, 0x9a, 0xeb, 0xc0, 0xa4, 0x97, 0xb8, 0xca, 0x1a, 0x1b, 0x79,
+  0xf8, 0xa9, 0x4d, 0xf8, 0xaa, 0x57, 0x74, 0xcc, 0xb9, 0x45, 0x4e, 0xed,
+  0x24, 0x25, 0x98, 0x63, 0xd4, 0x4c, 0xac, 0xa3, 0x68, 0x58, 0xe4, 0xf7,
+  0x25, 0xa9, 0xa3, 0x6a, 0xa0, 0xc6, 0x9c, 0x02, 0x7b, 0xe3, 0x95, 0x44,
+  0xc3, 0xf6, 0xce, 0x0c, 0x0e, 0xec, 0xbb, 0xeb, 0xf7, 0x67, 0xdc, 0xd8,
+  0x81, 0xab, 0x73, 0xb1, 0x08, 0x49, 0xe6, 0xbc, 0x1c, 0xce, 0xc1, 0x92,
+  0x06, 0xed, 0xa4, 0x62, 0x56, 0xa6, 0xdc, 0xd1, 0x2b, 0x21, 0xa6, 0x90,
+  0x9e, 0x04, 0x84, 0x17, 0xa1, 0xf8, 0x8c, 0x28, 0x92, 0x0e, 0x0e, 0x95,
+  0xa3, 0x01, 0xff, 0x72, 0x5d, 0x17, 0xec, 0x64, 0xca, 0x88, 0x21, 0x3d,
+  0xea, 0x2d, 0x1e, 0x05, 0x3e, 0xe2, 0xdd, 0x3e, 0x47, 0x4d, 0xa3, 0xfe,
+  0x63, 0x04, 0x29, 0x6d, 0x3c, 0x34, 0xa8, 0x75, 0x99, 0xe6, 0x23, 0x84,
+  0x9a, 0x15, 0xd7, 0x35, 0x2d, 0xaf, 0xac, 0xd6, 0x68, 0x5e, 0xb6, 0x8d,
+  0x88, 0xab, 0x7c, 0xa1, 0x1e, 0x82, 0xfa, 0x90, 0x04, 0x92, 0x96, 0x05,
+  0x3a, 0xf3, 0x58, 0xab, 0xee, 0x06, 0x72, 0xee, 0x45, 0x21, 0x51, 0x6f,
+  0xbe, 0x09, 0x6d, 0xd6, 0x4c, 0x3d, 0xed, 0x97, 0x80, 0x63, 0x3b, 0x37,
+  0x38, 0xa0, 0x24, 0x32, 0x42, 0x15, 0x15, 0x53, 0xd0, 0x69, 0x02, 0xb1,
+  0xc1, 0xe8, 0xd4, 0x0e, 0x2c, 0x26, 0xe7, 0xb8, 0xa7, 0xde, 0x05, 0x15,
+  0x6c, 0xdb, 0x4c, 0xa4, 0xb4, 0xfd, 0x23, 0xd4, 0x5e, 0x26, 0xa0, 0x2e,
+  0x82, 0xe6, 0xa2, 0x06, 0x12, 0x79, 0xdd, 0xdf, 0xe5, 0xfb, 0x1f, 0xc5,
+  0xff, 0xd5, 0x75, 0xc2, 0x6b, 0x29, 0x7a, 0xa0, 0xdc, 0x78, 0xa1, 0x8d,
+  0xac, 0xcf, 0x93, 0x62, 0xca, 0x65, 0x08, 0x0c, 0x09, 0x1b, 0x44, 0xb1,
+  0x88, 0x23, 0x07, 0xa5, 0x2d, 0x8a, 0xfe, 0x47, 0x8f, 0x25, 0x2a, 0xb9,
+  0xaa, 0x96, 0x58, 0xff, 0x22, 0xfe, 0xf4, 0xb5, 0xde, 0x98, 0xd9, 0xca,
+  0x38, 0xce, 0x60, 0x27, 0xe0, 0xc6, 0xfa, 0xf9, 0x31, 0xb3, 0xd9, 0xeb,
+  0x59, 0xbe, 0x2c, 0x1f, 0xd7, 0x22, 0xe9, 0xe5, 0x23, 0xed, 0x2f, 0x2a,
+  0xc9, 0xe5, 0xc1, 0xb3, 0x84, 0xf3, 0x5d, 0x66, 0xb7, 0x2a, 0x14, 0xb1,
+  0x52, 0xa1, 0x64, 0x47, 0x6d, 0x63, 0xb8, 0x35, 0xe7, 0x63, 0xff, 0xc3,
+  0x1d, 0x3b, 0xb8, 0xcb, 0xe4, 0xfe, 0x67, 0xc3, 0xf9, 0x79, 0x96, 0xb3,
+  0x0d, 0xc9, 0x84, 0xcc, 0xe6, 0xa8, 0x16, 0xa9, 0x33, 0x03, 0xa2, 0xf0,
+  0x60, 0x18, 0x5e, 0x0d, 0x39, 0xd8, 0xd4, 0x0d, 0xe2, 0x37, 0x2d, 0xc5,
+  0x27, 0x56, 0xf2, 0x70, 0x40, 0xc9, 0x22, 0xe7, 0x31, 0x84, 0x89, 0xe9,
+  0x7d, 0xe3, 0x96, 0xc0, 0xf5, 0xa3, 0x4b, 0xd8, 0x2f, 0x0f, 0x6a, 0x02,
+  0x23, 0xd9, 0x66, 0xb8, 0xb8, 0x06, 0x7a, 0x3a, 0xc9, 0xf3, 0x61, 0x5c,
+  0xac, 0xc9, 0xde, 0x13, 0xaa, 0x3a, 0x0c, 0x38, 0x66, 0xe7, 0x0b, 0x9e,
+  0x75, 0x6f, 0xdc, 0x0d, 0xde, 0x68, 0xd4, 0x19, 0xe8, 0xdd, 0xbe, 0x16,
+  0x75, 0xe8, 0xcf, 0x31, 0x40, 0x9e, 0xcf, 0xc6, 0x66, 0x2b, 0xdc, 0xaf,
+  0x06, 0x0e, 0x8d, 0x6a, 0x13, 0xac, 0x2b, 0x40, 0x3d, 0x01, 0x54, 0xde,
+  0xa2, 0xce, 0x02, 0xe3, 0xd4, 0x47, 0x14, 0x77, 0x84, 0x0d, 0xc1, 0xc4,
+  0x89, 0x30, 0x6c, 0x8b, 0x04, 0x49, 0x8c, 0x09, 0xee, 0x30, 0x07, 0x9c,
+  0x51, 0x88, 0xc7, 0x58, 0x9e, 0xe2, 0x3b, 0xdc, 0x5d, 0xf6, 0x25, 0xd9,
+  0xaa, 0x2b, 0x32, 0xdd, 0x5c, 0xae, 0xe1, 0xc8, 0x31, 0x6b, 0xcc, 0x35,
+  0x85, 0xdb, 0x0a, 0xd7, 0xae, 0xc5, 0xc5, 0x25, 0xf6, 0x2a, 0xfc, 0x95,
+  0x9d, 0x20, 0xbd, 0x53, 0xcd, 0xa2, 0xe3, 0x7f, 0x5e, 0x13, 0x62, 0x33,
+  0x39, 0x27, 0x7b, 0x01, 0xd2, 0xac, 0x59, 0x97, 0xc9, 0x2c, 0x99, 0xf2,
+  0x6a, 0x0f, 0xcf, 0x4e, 0xbe, 0x3b, 0x39, 0xf3, 0xc4, 0xe6, 0x37, 0x83,
+  0xc1, 0xe6, 0x6d, 0x52, 0x0c, 0xa9, 0x29, 0x2b, 0x06, 0x2e, 0x22, 0x7a,
+  0xce, 0x24, 0x78, 0x39, 0xb2, 0xe4, 0xde, 0x42, 0xb6, 0x48, 0xa2, 0xb7,
+  0xe7, 0xb3, 0xc1, 0x0c, 0x5e, 0xfe, 0xa4, 0xc0, 0xbc, 0x53, 0xc9, 0x91,
+  0xe4, 0x12, 0x92, 0x6c, 0x1c, 0x15, 0xc9, 0x98, 0x7b, 0x96, 0xfa, 0x59,
+  0x84, 0x84, 0xec, 0x81, 0x7d, 0x39, 0xf0, 0x50, 0x39, 0x93, 0x9c, 0x02,
+  0x58, 0x66, 0x11, 0xde, 0x1b, 0x0b, 0xaa, 0x9e, 0x8f, 0xde, 0xc8, 0x37,
+  0xa5, 0x1e, 0x15, 0x77, 0x89, 0x81, 0xdd, 0xd8, 0x4a, 0xb9, 0xf8, 0xb6,
+  0x77, 0x34, 0xe8, 0xbd, 0x39, 0x39, 0x3b, 0xf9, 0xe6, 0xe8, 0xfa, 0xc4,
+  0xe0, 0x99, 0x97, 0x49, 0x8b, 0x0a, 0x26, 0xfa, 0xd7, 0xb7, 0xb2, 0x2d,
+  0xb4, 0x7e, 0xc4, 0xc2, 0xaf, 0x52, 0x6e, 0xc8, 0xa2, 0x90, 0xff, 0xdc,
+  0x59, 0x1b, 0xad, 0xa2, 0x8a, 0xf3, 0x04, 0xc3, 0xc3, 0xc1, 0xbd, 0x98,
+  0xcd, 0x65, 0xaa, 0xde, 0x0a, 0xe2, 0xd9, 0x3d, 0x36, 0x66, 0xfb, 0x90,
+  0x61, 0x2a, 0x7d, 0x6a, 0x4a, 0x49, 0x79, 0xf5, 0xae, 0x47, 0xc8, 0xee,
+  0x6c, 0xed, 0x80, 0x09, 0x99, 0xbe, 0xc5, 0x5f, 0xa0, 0x65, 0xe0, 0x14,
+  0x3f, 0x7e, 0x43, 0x4f, 0x36, 0x30, 0xc6, 0x2d, 0x34, 0x3a, 0x32, 0x18,
+  0xf9, 0x55, 0x00, 0xb0, 0x04, 0x09, 0xa8, 0x1c, 0xdd, 0x24, 0x73, 0x51,
+  0x65, 0x31, 0x35, 0x81, 0x82, 0xe0, 0x5c, 0x53, 0x29, 0x78, 0x41, 0x9c,
+  0x42, 0x36, 0x4c, 0x18, 0x72, 0x81, 0x30, 0xd2, 0x90, 0xae, 0x43, 0xa9,
+  0xbe, 0xf7, 0xd8, 0x71, 0x00, 0x63, 0x2d, 0x98, 0xb6, 0x43, 0x05, 0xc6,
+  0x7d, 0x4a, 0x30, 0x74, 0xf2, 0x06, 0xfc, 0x3c, 0x01, 0xee, 0x1e, 0xd8,
+  0xbc, 0xb3, 0x06, 0xc0, 0xdc, 0xa0, 0xad, 0xe7, 0xe4, 0x3a, 0xa3, 0x1f,
+  0x71, 0xf3, 0x12, 0xd1, 0xb9, 0x71, 0x92, 0xbf, 0xd2, 0x51, 0x2d, 0xe5,
+  0x09, 0x52, 0x6e, 0x88, 0x6e, 0x2c, 0x32, 0x83, 0xc3, 0x59, 0xdb, 0x41,
+  0xa6, 0x21, 0xdd, 0x58, 0x9d, 0xe9, 0x32, 0x7b, 0x60, 0x68, 0xf5, 0xb1,
+  0x9c, 0x0e, 0xfd, 0x48, 0x1a, 0x11, 0x98, 0x14, 0x8f, 0xa0, 0x2b, 0xdf,
+  0x72, 0x8c, 0x7a, 0xaf, 0x02, 0xc4, 0x88, 0xd7, 0xbf, 0xfa, 0x1d, 0x25,
+  0x4c, 0xa9, 0x5d, 0x2f, 0x59, 0x78, 0x80, 0xdd, 0xeb, 0x6f, 0x15, 0x7f,
+  0xdf, 0xe8, 0x96, 0x6e, 0xaf, 0x35, 0xa7, 0x35, 0xd2, 0xc9, 0xe5, 0x15,
+  0x77, 0x57, 0x3f, 0xc3, 0xbf, 0x48, 0xe4, 0xad, 0x0c, 0xe1, 0xdf, 0x49,
+  0xf7, 0x0f, 0x4c, 0x46, 0x49, 0x28, 0x74, 0x63, 0x82, 0xe9, 0x9a, 0x8c,
+  0xc8, 0xf9, 0xa7, 0x02, 0xb4, 0x2e, 0xd7, 0x81, 0xb6, 0xd8, 0x4b, 0xfe,
+  0x37, 0x0d, 0x3a, 0x71, 0x26, 0x38, 0x05, 0x41, 0x28, 0xa2, 0x49, 0x70,
+  0x0e, 0xad, 0x06, 0x48, 0x2e, 0xf0, 0x97, 0xa8, 0x6f, 0xb2, 0x5c, 0xab,
+  0xda, 0x38, 0x2f, 0xb7, 0x40, 0x10, 0x95, 0x08, 0x87, 0xc5, 0x37, 0xa3,
+  0x82, 0xda, 0xb9, 0xc6, 0x30, 0x95, 0x7e, 0x63, 0xa9, 0xd4, 0x90, 0x0b,
+  0x61, 0x37, 0xfd, 0x78, 0x08, 0xb5, 0x22, 0x13, 0x47, 0x9c, 0x64, 0xa5,
+  0xd3, 0x82, 0x35, 0xd7, 0xbe, 0x2b, 0x39, 0x06, 0x68, 0x41, 0x50, 0xdb,
+  0x21, 0xae, 0x17, 0xa0, 0xe4, 0x03, 0x4f, 0xc3, 0x97, 0x9a, 0x04, 0xcd,
+  0x44, 0x4b, 0x1e, 0x25, 0x6c, 0xce, 0x0a, 0xe1, 0x44, 0xc2, 0x93, 0x31,
+  0x01, 0xca, 0x92, 0x69, 0x33, 0x64, 0x0d, 0x86, 0xb2, 0xfa, 0x6e, 0xe2,
+  0x2c, 0x70, 0xe7, 0x60, 0xe3, 0x4d, 0x4f, 0x34, 0x5a, 0xa5, 0x1c, 0x5b,
+  0x40, 0x89, 0x47, 0xda, 0x68, 0xc2, 0x5a, 0x81, 0xa1, 0x07, 0x0c, 0x2c,
+  0xc5, 0xb8, 0x86, 0x4c, 0x85, 0x77, 0x86, 0x1a, 0x03, 0x09, 0xbd, 0xe5,
+  0x21, 0xaa, 0x12, 0xe6, 0x62, 0xa3, 0x2d, 0x35, 0x12, 0x6c, 0x2f, 0xfa,
+  0x36, 0x9e, 0x79, 0xaa, 0xb0, 0x71, 0x50, 0x75, 0xb1, 0xc7, 0x70, 0xbd,
+  0x04, 0x87, 0x8e, 0x8f, 0x84, 0x7d, 0xd6, 0xcc, 0x40, 0x49, 0xb8, 0xe8,
+  0x02, 0xbe, 0x4d, 0xd3, 0x45, 0x37, 0x90, 0x89, 0xc8, 0x22, 0xf1, 0x78,
+  0xdf, 0x7f, 0x43, 0x93, 0xc3, 0xef, 0xd0, 0x0b, 0x74, 0xef, 0x11, 0x7a,
+  0x68, 0xaa, 0x3d, 0x9e, 0x98, 0x94, 0x87, 0x09, 0x7c, 0x2f, 0xc5, 0x1e,
+  0x78, 0x6e, 0x18, 0xc0, 0x4f, 0x73, 0x2e, 0x81, 0x00, 0xa9, 0x2a, 0x20,
+  0x67, 0x07, 0x10, 0xbe, 0x8b, 0xb9, 0x14, 0x49, 0xe4, 0x36, 0x90, 0x24,
+  0x82, 0x20, 0x8b, 0xe1, 0xb2, 0x2b, 0xf1, 0x4c, 0x4a, 0x6f, 0xcc, 0x0b,
+  0xbf, 0x04, 0x76, 0x64, 0xb0, 0x96, 0xf4, 0xc9, 0xb8, 0xbc, 0x0b, 0xdf,
+  0xf0, 0xf2, 0x2e, 0x78, 0xc3, 0x9f, 0x71, 0xcf, 0xad, 0xbd, 0x75, 0x72,
+  0x39, 0xf8, 0x2e, 0x6a, 0x01, 0x8d, 0xe0, 0x4e, 0x2e, 0x7c, 0xc5, 0xed,
+  0xea, 0x90, 0xe8, 0xdd, 0x6b, 0xde, 0x7e, 0xcf, 0x83, 0xf1, 0x01, 0xef,
+  0x9e, 0xc3, 0xf7, 0xe5, 0x72, 0x5f, 0x1e, 0x0d, 0xbe, 0x73, 0xae, 0xb5,
+  0x43, 0x02, 0xa1, 0x62, 0x4c, 0x93, 0xd9, 0x8e, 0x41, 0x62, 0x26, 0x1d,
+  0x1c, 0x2c, 0x48, 0xef, 0xe5, 0xdd, 0x73, 0xe8, 0x1d, 0x66, 0xe2, 0xd1,
+  0xbb, 0xb7, 0xc7, 0xab, 0xe8, 0xdd, 0x3d, 0xa8, 0x7a, 0xd2, 0xac, 0x43,
+  0xed, 0x19, 0x77, 0xd1, 0xc6, 0x02, 0x8f, 0x36, 0x32, 0xc7, 0x40, 0xa2,
+  0x90, 0xb6, 0x9f, 0x4a, 0x48, 0xf3, 0xfc, 0x65, 0x84, 0x0e, 0x2f, 0x78,
+  0x84, 0xae, 0xe7, 0x19, 0xa6, 0xf4, 0x36, 0x42, 0xd7, 0x94, 0xe2, 0x84,
+  0x89, 0xdc, 0xa5, 0x71, 0x9f, 0xbe, 0x1d, 0xaa, 0x75, 0xcb, 0xc0, 0xfd,
+  0x1d, 0xd2, 0x4c, 0x33, 0x0b, 0x65, 0x60, 0x81, 0x1c, 0x02, 0xe0, 0x22,
+  0x0a, 0xca, 0xc0, 0x05, 0xb1, 0xbe, 0x3b, 0xdf, 0x94, 0xe6, 0xd7, 0xaa,
+  0x1f, 0x0a, 0xd5, 0xb0, 0xb9, 0xb1, 0x1a, 0x0a, 0x6d, 0x72, 0x0f, 0xb8,
+  0x80, 0x02, 0x13, 0xef, 0x46, 0xd6, 0xd0, 0x83, 0x92, 0x60, 0x75, 0x7a,
+  0x99, 0x60, 0x9e, 0x07, 0xc1, 0x90, 0x35, 0xef, 0x29, 0xaa, 0x79, 0xa4,
+  0x0d, 0xa0, 0xa2, 0xd2, 0x4b, 0xb3, 0x9e, 0x9f, 0x06, 0xed, 0x86, 0xb6,
+  0xaa, 0x1a, 0x36, 0x2d, 0x96, 0x28, 0x92, 0xc2, 0x2b, 0x41, 0x0e, 0x54,
+  0x46, 0xc9, 0xd2, 0x94, 0x98, 0x00, 0x7b, 0x25, 0x03, 0x05, 0xb5, 0x41,
+  0x84, 0xb5, 0x7a, 0xbb, 0x97, 0x2a, 0xaf, 0x39, 0xe3, 0x5e, 0x34, 0x50,
+  0x8c, 0xc7, 0x59, 0xd9, 0xb3, 0x1d, 0xda, 0x0f, 0xcd, 0x5f, 0x3d, 0xfb,
+  0xe2, 0xcd, 0xf9, 0x00, 0x23, 0x57, 0x09, 0xd5, 0x1a, 0xa8, 0x19, 0x5c,
+  0x26, 0x5c, 0x1f, 0x32, 0x25, 0xce, 0x01, 0x8f, 0x98, 0x82, 0x3f, 0xd3,
+  0x14, 0xf1, 0x30, 0xe8, 0x10, 0xa2, 0x4f, 0x78, 0x85, 0x7a, 0x31, 0x17,
+  0xdc, 0x80, 0x6d, 0x47, 0x71, 0x71, 0x5c, 0x81, 0x9d, 0x9b, 0x56, 0xb4,
+  0x93, 0xe7, 0x29, 0x80, 0x71, 0xa4, 0x65, 0x79, 0x38, 0x8d, 0x0d, 0x6d,
+  0xcf, 0xbc, 0x60, 0x44, 0x76, 0xc1, 0x20, 0x33, 0x1d, 0xae, 0xb2, 0x46,
+  0x57, 0xfa, 0xe6, 0x62, 0x05, 0x33, 0x49, 0x72, 0xc6, 0x36, 0x56, 0x1a,
+  0x8f, 0xb8, 0x81, 0x8b, 0xbb, 0xbd, 0x1e, 0x3e, 0x2c, 0xe9, 0x87, 0xe6,
+  0xa7, 0x2f, 0xe8, 0xa7, 0x7d, 0x6f, 0xa3, 0xbd, 0x12, 0x1a, 0xe9, 0xa0,
+  0x6a, 0xd0, 0x71, 0x31, 0xbb, 0x31, 0x1b, 0x63, 0xe7, 0x0d, 0x3a, 0x7b,
+  0x6d, 0xa4, 0x80, 0x68, 0x89, 0x8c, 0x79, 0x68, 0x9b, 0xb7, 0x45, 0x1e,
+  0x4e, 0x0b, 0xe8, 0x36, 0x65, 0xed, 0xd0, 0x77, 0x77, 0x03, 0x87, 0x6e,
+  0xe6, 0x7c, 0x28, 0xcb, 0x0c, 0x1f, 0x79, 0x4d, 0xba, 0x0c, 0x53, 0xee,
+  0x6f, 0x75, 0x98, 0x2e, 0x7a, 0xfa, 0x16, 0x0b, 0x8f, 0x79, 0x7c, 0x2b,
+  0x22, 0x7d, 0x4f, 0xe8, 0xa0, 0xe7, 0xc1, 0xac, 0x70, 0xbb, 0x65, 0xea,
+  0x4a, 0x6d, 0xd7, 0x59, 0x23, 0x1a, 0xd1, 0xb7, 0x2a, 0x03, 0xda, 0x8a,
+  0x44, 0xc1, 0xdf, 0x09, 0xd5, 0x7c, 0x69, 0x76, 0xb6, 0xeb, 0xe3, 0xd1,
+  0xfa, 0x0e, 0x9a, 0x89, 0x79, 0xf7, 0x89, 0xf3, 0xb3, 0x44, 0xb6, 0xfa,
+  0xfc, 0x74, 0xcf, 0xfe, 0xf7, 0x38, 0xbf, 0x17, 0x9f, 0xe4, 0xfc, 0x5e,
+  0xfc, 0x6f, 0x73, 0x7e, 0x2f, 0xfe, 0xe5, 0xf3, 0xdb, 0xf3, 0xce, 0xef,
+  0xc5, 0xff, 0x2e, 0xe7, 0xa7, 0xfd, 0xd5, 0xf4, 0xf4, 0x12, 0xef, 0xfc,
+  0x06, 0x92, 0x36, 0xa2, 0xc0, 0x7c, 0xb8, 0xd3, 0xfa, 0x16, 0x07, 0x69,
+  0x24, 0xd1, 0x91, 0xbd, 0xe0, 0x9a, 0x6b, 0xcb, 0xd0, 0x90, 0x2d, 0x0d,
+  0x4b, 0xfa, 0x5a, 0x56, 0xa1, 0x83, 0x9e, 0x5e, 0x46, 0x66, 0x02, 0xce,
+  0x31, 0x58, 0xa0, 0x2d, 0x52, 0xd0, 0x82, 0x2e, 0xea, 0x12, 0xfd, 0x96,
+  0xb0, 0x7e, 0x2e, 0xaf, 0x2c, 0x6d, 0x51, 0x70, 0x08, 0x49, 0x0b, 0x36,
+  0xee, 0xe0, 0x10, 0xb7, 0xab, 0xc7, 0x8f, 0x7f, 0x19, 0x2c, 0x76, 0xa3,
+  0x8e, 0xcd, 0x76, 0x4a, 0xa1, 0xb0, 0x84, 0xb3, 0x75, 0xf6, 0xdc, 0x4c,
+  0x34, 0xcb, 0x39, 0xb4, 0xd0, 0x99, 0x35, 0x55, 0x1d, 0x73, 0x82, 0x4f,
+  0x1f, 0x59, 0x7e, 0x43, 0x38, 0x3e, 0x87, 0x1f, 0xae, 0x7c, 0xdf, 0x1b,
+  0x2c, 0xd5, 0x87, 0x46, 0x84, 0xe3, 0xea, 0xa1, 0x6d, 0xdf, 0x23, 0x94,
+  0x78, 0xb8, 0x8d, 0x17, 0xef, 0x36, 0x1c, 0x27, 0x10, 0x05, 0x2d, 0xf2,
+  0x50, 0xbf, 0x3b, 0x2e, 0xbb, 0x35, 0xa5, 0xe5, 0x65, 0xb7, 0xd1, 0xe3,
+  0xd2, 0xa4, 0xbd, 0x5b, 0x25, 0x85, 0xbc, 0x23, 0x52, 0xb0, 0x5b, 0x78,
+  0xfd, 0x2d, 0x51, 0x19, 0x4c, 0x4b, 0x41, 0x8d, 0x43, 0x18, 0x0d, 0x95,
+  0x83, 0x34, 0xb3, 0xdf, 0x33, 0xe3, 0xef, 0xc5, 0x4e, 0x6d, 0x57, 0xdf,
+  0x90, 0xae, 0xb8, 0x9c, 0x2f, 0xa4, 0xb4, 0xf8, 0x89, 0xd2, 0xca, 0x88,
+  0xbb, 0x31, 0x52, 0xd9, 0x24, 0xbb, 0xf7, 0xa5, 0xca, 0x48, 0x2d, 0x73,
+  0x53, 0x5a, 0x21, 0xe6, 0x7b, 0x2b, 0x30, 0x5a, 0x10, 0x8b, 0xea, 0xba,
+  0x99, 0x20, 0xc5, 0x15, 0x31, 0x8a, 0xaf, 0x8e, 0x5c, 0xd2, 0xd1, 0x9a,
+  0xa5, 0xd0, 0x81, 0x40, 0x00, 0xf8, 0xab, 0x21, 0x70, 0x6e, 0x8a, 0x12,
+  0x62, 0x81, 0x15, 0xce, 0x99, 0xd1, 0x05, 0xe1, 0x55, 0x18, 0xa6, 0x2f,
+  0x55, 0x56, 0xa5, 0x13, 0xa7, 0x36, 0x85, 0x21, 0x04, 0xee, 0x14, 0xaa,
+  0x0e, 0xa0, 0x60, 0x0f, 0xa9, 0xb7, 0x92, 0xd5, 0x27, 0xd0, 0x1d, 0x06,
+  0x9b, 0x29, 0xbb, 0xd3, 0xda, 0x9b, 0x5a, 0x8b, 0x92, 0xde, 0xd0, 0x0f,
+  0x07, 0xd4, 0x4a, 0x00, 0xff, 0x40, 0xb4, 0xd1, 0x52, 0x96, 0xc1, 0xaa,
+  0x99, 0xe3, 0x98, 0x08, 0xdc, 0x24, 0xb7, 0xea, 0x23, 0xe8, 0x0a, 0x40,
+  0x43, 0x47, 0x17, 0x28, 0xfd, 0x2a, 0xb8, 0x09, 0x48, 0xdd, 0x25, 0xd5,
+  0x30, 0x92, 0x38, 0xfb, 0xd7, 0x4b, 0x28, 0x14, 0x80, 0x81, 0xe0, 0x31,
+  0xd6, 0x52, 0xc0, 0x39, 0xb7, 0xf8, 0x26, 0x71, 0xab, 0xa6, 0x0d, 0x04,
+  0x25, 0x47, 0x29, 0x38, 0x79, 0x11, 0x76, 0x51, 0x32, 0x61, 0xbd, 0x86,
+  0x43, 0x84, 0x8a, 0x20, 0x53, 0xef, 0x08, 0x8a, 0xd3, 0x52, 0xa0, 0x67,
+  0xb9, 0xe5, 0x32, 0x81, 0xde, 0xfc, 0x7e, 0x55, 0xca, 0x4e, 0x66, 0xb8,
+  0xcb, 0xa2, 0x92, 0x29, 0x87, 0xff, 0x57, 0x65, 0x21, 0x37, 0x00, 0xd7,
+  0xb8, 0x99, 0xb8, 0x81, 0x5c, 0x23, 0x8f, 0x60, 0x56, 0x15, 0xf9, 0xe2,
+  0x31, 0xfa, 0x26, 0xc6, 0x65, 0x91, 0x5a, 0x1f, 0x27, 0x73, 0xaf, 0x34,
+  0x8d, 0xdb, 0x8b, 0x8b, 0x9a, 0xcd, 0xad, 0xc6, 0x75, 0x85, 0x64, 0x17,
+  0xf0, 0xb6, 0x00, 0xb1, 0xc2, 0x7e, 0xa1, 0x33, 0x59, 0xca, 0x46, 0x38,
+  0xf5, 0x7a, 0x30, 0x38, 0xf3, 0x6d, 0x39, 0x6d, 0x6c, 0xb4, 0x12, 0x93,
+  0x80, 0x46, 0xeb, 0x35, 0xa3, 0x23, 0x32, 0xf8, 0x61, 0x90, 0x73, 0xc8,
+  0xba, 0x93, 0x99, 0x62, 0x76, 0x28, 0x8e, 0xfc, 0xa8, 0x78, 0x5c, 0xa0,
+  0xf1, 0x25, 0x45, 0xb8, 0x7c, 0xcd, 0x71, 0x7e, 0x0c, 0x02, 0xbb, 0xb2,
+  0xec, 0xf9, 0x43, 0xe9, 0x60, 0xa9, 0x93, 0x2c, 0xc5, 0xf8, 0x3d, 0x82,
+  0x22, 0x23, 0xb8, 0x95, 0xc8, 0x56, 0x94, 0x3a, 0x63, 0x42, 0x73, 0x69,
+  0xed, 0x71, 0x26, 0x9d, 0xcb, 0x1a, 0xdd, 0x31, 0xd8, 0x9c, 0x41, 0x4b,
+  0x0b, 0x11, 0x11, 0x29, 0x9c, 0xb2, 0xa1, 0xf2, 0x5d, 0xde, 0x90, 0xaa,
+  0xbd, 0xe6, 0xcd, 0x30, 0xcd, 0x13, 0x62, 0x44, 0x78, 0xc8, 0x3c, 0x28,
+  0x19, 0xce, 0xf2, 0xd8, 0xde, 0xda, 0x7a, 0x12, 0x23, 0x48, 0xac, 0xd5,
+  0x95, 0x50, 0x41, 0xc8, 0x0e, 0x39, 0xc0, 0x61, 0x6a, 0xda, 0xe3, 0x54,
+  0x0a, 0x96, 0x9a, 0xa8, 0x6a, 0xf0, 0x49, 0x03, 0xd9, 0x63, 0xaf, 0x20,
+  0xb3, 0x55, 0x86, 0xd2, 0x22, 0xc0, 0x20, 0xb8, 0xdb, 0x27, 0x34, 0xc7,
+  0xf2, 0xa0, 0xf6, 0x4e, 0xb0, 0xa5, 0x34, 0x4e, 0x08, 0x5f, 0x12, 0xfd,
+  0xb3, 0x1f, 0x7d, 0xfd, 0x68, 0xed, 0x76, 0x62, 0x88, 0xec, 0x0f, 0xa6,
+  0x59, 0xb1, 0x9f, 0x9f, 0xe7, 0xdf, 0x5f, 0xc5, 0xfa, 0xc3, 0x38, 0x40,
+  0x7f, 0x60, 0xc6, 0x42, 0xc3, 0x02, 0xb7, 0x5b, 0x94, 0x34, 0x2a, 0xc1,
+  0x89, 0x84, 0x1d, 0x56, 0x66, 0xb5, 0xa0, 0x7f, 0x34, 0x9b, 0x2c, 0x39,
+  0xfd, 0x92, 0x98, 0x0b, 0xae, 0xc4, 0x73, 0xae, 0xa3, 0x3a, 0xd5, 0xb3,
+  0x50, 0x5f, 0xd6, 0xd5, 0x14, 0x2c, 0xad, 0xee, 0x51, 0x01, 0x75, 0x13,
+  0x35, 0x02, 0x6b, 0xae, 0x91, 0x77, 0x91, 0xaf, 0x21, 0xcf, 0x1c, 0x0f,
+  0x0c, 0xa2, 0x89, 0x71, 0xe6, 0x8f, 0xd6, 0x5a, 0x35, 0x40, 0x6c, 0x5d,
+  0xc6, 0xaa, 0xc8, 0xfb, 0x7a, 0xd3, 0xc7, 0xb9, 0x83, 0x5d, 0x65, 0xca,
+  0xeb, 0x1a, 0xae, 0x1c, 0xf6, 0xe5, 0xf8, 0xb0, 0x18, 0x9c, 0x41, 0x6c,
+  0xdd, 0x84, 0x5c, 0x28, 0x4e, 0xd9, 0x11, 0xa4, 0x09, 0xb2, 0xea, 0x08,
+  0x1a, 0x4b, 0x37, 0x92, 0x4e, 0xe4, 0x98, 0x30, 0xce, 0xa7, 0x1c, 0x54,
+  0x6f, 0x2d, 0xac, 0x1a, 0xf7, 0x19, 0xe3, 0x95, 0x94, 0x16, 0x0e, 0x0e,
+  0x99, 0x36, 0xf7, 0x4c, 0x83, 0x51, 0x4b, 0x93, 0x1a, 0xe6, 0x7b, 0x44,
+  0x9d, 0x0a, 0x6d, 0x78, 0x12, 0x11, 0x6a, 0xca, 0x25, 0x79, 0xaf, 0x79,
+  0x78, 0x83, 0xc0, 0xc6, 0x77, 0x92, 0x2b, 0xd7, 0xd1, 0x4f, 0x26, 0x15,
+  0xb8, 0x1e, 0xdb, 0xc0, 0xe8, 0x38, 0x82, 0x37, 0x46, 0x74, 0x38, 0x54,
+  0x02, 0xbf, 0x2c, 0x9c, 0x18, 0x79, 0xe7, 0x26, 0x85, 0x53, 0xcd, 0x3a,
+  0x04, 0x0c, 0xb9, 0x1c, 0x32, 0xe6, 0x68, 0xa5, 0x1f, 0xf5, 0x16, 0xbb,
+  0x9c, 0x39, 0x8e, 0xd9, 0x70, 0x9b, 0xf1, 0x5a, 0xc2, 0x77, 0x37, 0xaa,
+  0x5d, 0x08, 0xd5, 0x27, 0x39, 0x6c, 0x6f, 0x8b, 0xef, 0xf9, 0xdc, 0x82,
+  0xde, 0x5c, 0x5b, 0x88, 0x87, 0x37, 0x9f, 0x3a, 0x73, 0x75, 0xdd, 0xb6,
+  0x38, 0xd6, 0xd1, 0x1c, 0xcf, 0xd1, 0x89, 0xc3, 0xba, 0x2a, 0xee, 0x72,
+  0xb0, 0x69, 0x09, 0x1e, 0x84, 0x40, 0xb6, 0x04, 0x30, 0x85, 0x25, 0xb5,
+  0x2f, 0x7e, 0xa4, 0xaa, 0x23, 0xf3, 0x69, 0xa2, 0x6e, 0x0f, 0x00, 0x0e,
+  0xc1, 0x10, 0x73, 0xd2, 0xfc, 0x85, 0x8e, 0x71, 0x0b, 0x47, 0x45, 0xba,
+  0xa8, 0x38, 0x1f, 0x41, 0x92, 0xab, 0x57, 0x02, 0xe7, 0xc0, 0xdf, 0xa6,
+  0xb3, 0x7c, 0x18, 0xf3, 0x1d, 0x31, 0xb9, 0x4d, 0xea, 0xf1, 0xac, 0x01,
+  0x16, 0x23, 0x7b, 0x43, 0xf2, 0x0c, 0x34, 0x5c, 0x80, 0x25, 0xf7, 0x0e,
+  0xa8, 0x3b, 0x3c, 0x06, 0x42, 0x57, 0x7d, 0xd0, 0x7c, 0x82, 0xe1, 0xff,
+  0x7a, 0x93, 0xae, 0xdc, 0x5e, 0xad, 0xca, 0xa6, 0xd4, 0xb0, 0xd2, 0xb9,
+  0x53, 0x9e, 0xce, 0x45, 0x30, 0x0a, 0xe3, 0x65, 0x52, 0xcf, 0x14, 0x5b,
+  0x93, 0x30, 0xb1, 0xb4, 0xb4, 0xa3, 0x6c, 0x25, 0xd3, 0xa9, 0x40, 0xc2,
+  0xb1, 0xc1, 0x2c, 0x28, 0x04, 0x08, 0x96, 0xac, 0xa5, 0x2e, 0x18, 0x1f,
+  0xf7, 0x54, 0xa1, 0x91, 0xa1, 0x54, 0xb2, 0x93, 0xd3, 0xec, 0x5b, 0x67,
+  0xaf, 0x18, 0x58, 0xc1, 0xa7, 0xf8, 0x09, 0x2b, 0x84, 0xe4, 0xbf, 0xe4,
+  0x33, 0x59, 0xb1, 0x33, 0x2e, 0xca, 0x78, 0xdd, 0x44, 0x30, 0x9f, 0x0e,
+  0x8b, 0x27, 0x62, 0x6b, 0x25, 0x1a, 0x0d, 0xe8, 0xdf, 0x5f, 0x07, 0x62,
+  0x91, 0xea, 0xb7, 0x98, 0x12, 0x0f, 0x08, 0x1b, 0x53, 0xdb, 0xf9, 0x31,
+  0x2f, 0x08, 0x57, 0xe6, 0xe1, 0x4d, 0xc1, 0x1c, 0xb7, 0xd9, 0x23, 0x67,
+  0xd1, 0xd0, 0x99, 0x93, 0xbe, 0x2b, 0x31, 0x03, 0x25, 0xa8, 0xa4, 0x1a,
+  0x39, 0xbf, 0x1c, 0x27, 0xf1, 0x2c, 0xd4, 0x2d, 0x03, 0x27, 0x8c, 0x8e,
+  0x6e, 0x66, 0x6d, 0x08, 0x93, 0x92, 0x49, 0xc8, 0x44, 0x72, 0xac, 0x39,
+  0xcb, 0x50, 0x8c, 0x03, 0x33, 0x43, 0xba, 0x55, 0x01, 0xed, 0x1a, 0xfb,
+  0xf7, 0xd0, 0x03, 0x54, 0x3b, 0x3c, 0x12, 0x44, 0x02, 0x0a, 0x78, 0xda,
+  0x12, 0x1c, 0xc4, 0x74, 0xc3, 0x84, 0x44, 0x7d, 0x80, 0x28, 0x80, 0xf2,
+  0xe1, 0x9b, 0xc3, 0x89, 0x23, 0x95, 0xeb, 0x42, 0x49, 0xc8, 0x68, 0xd9,
+  0x06, 0x4e, 0x8c, 0x73, 0x60, 0x90, 0x49, 0x6e, 0xc8, 0x3d, 0xa4, 0x3c,
+  0x0b, 0xe1, 0x1c, 0x0b, 0xff, 0xa4, 0xef, 0x12, 0xcd, 0x8c, 0x22, 0x53,
+  0x86, 0x0f, 0xa0, 0x32, 0xc5, 0xb2, 0x38, 0x9a, 0xf0, 0x19, 0x66, 0x32,
+  0x3b, 0x3b, 0x2d, 0xa6, 0x97, 0xf4, 0x49, 0x17, 0x1a, 0xa3, 0xcb, 0x5e,
+  0xc6, 0x93, 0x44, 0x81, 0x53, 0x85, 0x7d, 0xe7, 0x23, 0xd8, 0x42, 0x0a,
+  0xd2, 0x12, 0x28, 0x11, 0x6a, 0x47, 0x9e, 0x05, 0xcd, 0x5c, 0x13, 0xb9,
+  0xa4, 0x11, 0xb9, 0x78, 0x11, 0x84, 0xdd, 0x96, 0xb3, 0x74, 0xa1, 0xfe,
+  0xe9, 0x6e, 0x94, 0x48, 0x56, 0xd1, 0xec, 0x51, 0x4e, 0x65, 0xd9, 0x0b,
+  0x98, 0x5e, 0xa6, 0x99, 0xbb, 0xc0, 0xdf, 0xce, 0x50, 0xf1, 0x5f, 0x6f,
+  0x8c, 0xbe, 0xb7, 0xb5, 0x4d, 0x93, 0xdd, 0xdb, 0x7a, 0xb9, 0x51, 0x97,
+  0xca, 0xb3, 0x32, 0xe9, 0x51, 0xd2, 0x5a, 0x58, 0x3b, 0xe5, 0x56, 0x75,
+  0xd6, 0xaf, 0x4e, 0x9a, 0x28, 0xbe, 0x24, 0x99, 0x6e, 0xe3, 0x65, 0xa1,
+  0xa6, 0x1c, 0x36, 0x31, 0x44, 0xc3, 0xb4, 0xbc, 0x41, 0xd4, 0x45, 0x4f,
+  0xca, 0xdb, 0x77, 0xc8, 0x68, 0xa3, 0xd8, 0x0d, 0xef, 0x53, 0x4c, 0xaf,
+  0x4a, 0x83, 0x34, 0xde, 0x07, 0x7a, 0x0e, 0xad, 0x52, 0x0e, 0x30, 0x84,
+  0xda, 0x99, 0x2a, 0x92, 0x03, 0x27, 0x89, 0x49, 0xf8, 0xae, 0xde, 0x6e,
+  0xd8, 0xf0, 0x9d, 0xb7, 0x69, 0x96, 0x96, 0x37, 0xd4, 0xa6, 0xb8, 0x2c,
+  0xe3, 0x69, 0xe2, 0x17, 0xb8, 0x03, 0x43, 0x02, 0x93, 0x89, 0xdb, 0xe8,
+  0x15, 0x84, 0x4c, 0x8f, 0xa9, 0x61, 0xbc, 0xef, 0x52, 0xb0, 0x22, 0x3d,
+  0xf6, 0x08, 0x19, 0xcd, 0x2e, 0x33, 0x44, 0x2f, 0x69, 0xe9, 0x34, 0x80,
+  0x6c, 0xeb, 0xff, 0x88, 0xdd, 0xc8, 0x08, 0x22, 0x8b, 0x7b, 0x03, 0x71,
+  0x73, 0xa0, 0x50, 0xd7, 0x17, 0x50, 0xb5, 0xe1, 0x70, 0x2f, 0x06, 0xc0,
+  0x82, 0x6c, 0xaf, 0x62, 0x4a, 0x01, 0x84, 0x9f, 0xfd, 0x00, 0xba, 0x68,
+  0xff, 0x95, 0xf9, 0xf1, 0xc6, 0xf3, 0x1a, 0x46, 0xee, 0x34, 0x74, 0x33,
+  0xcc, 0xc5, 0x95, 0x48, 0x04, 0x99, 0x2a, 0xaf, 0xf9, 0x1f, 0x61, 0x5f,
+  0x07, 0xd5, 0xb5, 0x82, 0x15, 0xf9, 0xfe, 0x88, 0x20, 0xa5, 0x2c, 0xc2,
+  0xb3, 0x93, 0xb6, 0x5b, 0xab, 0xd1, 0xa3, 0xee, 0x99, 0xa8, 0xaa, 0x06,
+  0x01, 0xfe, 0x0c, 0x26, 0x2f, 0x67, 0x10, 0xda, 0xa8, 0x9b, 0xea, 0x72,
+  0x20, 0x78, 0x2b, 0x34, 0x4c, 0x11, 0x7a, 0x27, 0x3a, 0x4b, 0xb8, 0x59,
+  0x4e, 0xb4, 0xf6, 0xd5, 0x5a, 0xa0, 0x9a, 0x6f, 0xed, 0xd0, 0x41, 0x18,
+  0x2f, 0x6d, 0x23, 0xae, 0xb5, 0x2f, 0x30, 0x29, 0x19, 0xc1, 0x54, 0xf8,
+  0x9b, 0x72, 0x06, 0x9c, 0x5f, 0x1b, 0x0e, 0xeb, 0x6b, 0x4a, 0x9f, 0xe0,
+  0x03, 0xd6, 0x93, 0x87, 0xb8, 0xf1, 0x35, 0x62, 0xaf, 0x37, 0xd6, 0xad,
+  0xfa, 0xdc, 0x9a, 0x57, 0xed, 0x87, 0xa9, 0xfb, 0x8c, 0xd6, 0x23, 0xdd,
+  0xc1, 0x6d, 0x1b, 0x53, 0x9e, 0x13, 0x4f, 0x86, 0x7c, 0x95, 0xa3, 0x51,
+  0x8a, 0x9a, 0x0b, 0x5d, 0x7d, 0xf8, 0xe5, 0x74, 0x1a, 0x4c, 0x71, 0x82,
+  0x2d, 0xc0, 0x83, 0xc7, 0x35, 0x4f, 0x92, 0xb8, 0x22, 0x7d, 0x03, 0xe5,
+  0x7c, 0x7b, 0xf2, 0xb4, 0xd5, 0xdd, 0x03, 0xcf, 0x38, 0xab, 0x38, 0x74,
+  0xeb, 0x53, 0xc2, 0x54, 0x40, 0x44, 0xc0, 0x34, 0x80, 0x88, 0x9e, 0xf4,
+  0x33, 0xe3, 0xed, 0x9a, 0xc4, 0x40, 0x14, 0x8f, 0x12, 0x5a, 0x9e, 0x51,
+  0x3d, 0x01, 0x73, 0x90, 0x64, 0xee, 0xf1, 0xb0, 0x99, 0xa6, 0xe6, 0x72,
+  0x06, 0x3b, 0xf6, 0x12, 0xe1, 0x64, 0x67, 0xdc, 0x67, 0x96, 0x07, 0x36,
+  0xe9, 0x3d, 0xd2, 0x86, 0x1a, 0x36, 0x97, 0xbd, 0xe9, 0x15, 0x71, 0x33,
+  0xdb, 0x45, 0x55, 0x51, 0x1b, 0x90, 0x92, 0xf3, 0x85, 0x61, 0x38, 0xbe,
+  0xca, 0xc8, 0x2d, 0x66, 0x6c, 0xfa, 0x28, 0xc9, 0x84, 0x00, 0x6e, 0xb4,
+  0x49, 0x97, 0x84, 0x2b, 0x0a, 0x46, 0x08, 0x63, 0x43, 0x4c, 0x26, 0x8f,
+  0xb0, 0x49, 0xdb, 0xce, 0xee, 0xe7, 0x9f, 0xf7, 0x83, 0x38, 0xa7, 0x5c,
+  0x9e, 0x0d, 0x44, 0x88, 0x3b, 0x65, 0x31, 0x31, 0xbb, 0x06, 0xdd, 0x18,
+  0xbf, 0x8f, 0x14, 0x46, 0xe5, 0x63, 0xf9, 0x1c, 0xa1, 0x8b, 0x90, 0x39,
+  0x2e, 0x67, 0xbe, 0x79, 0x4f, 0xa1, 0xc7, 0x39, 0xaa, 0x15, 0xc2, 0xc5,
+  0x48, 0xbd, 0x42, 0xae, 0x31, 0x4f, 0x5b, 0x54, 0xba, 0x44, 0xd2, 0xf3,
+  0x38, 0x95, 0x53, 0xa0, 0x01, 0x25, 0x9f, 0x94, 0xd3, 0x7e, 0x41, 0x6b,
+  0xa0, 0x1c, 0x77, 0xce, 0xfa, 0xe0, 0xed, 0x58, 0x6b, 0x29, 0x07, 0x5d,
+  0x8b, 0x34, 0xfa, 0x39, 0x4c, 0x0c, 0xbe, 0x02, 0x77, 0xde, 0x6a, 0x20,
+  0xe0, 0x70, 0xc9, 0x78, 0x86, 0x35, 0x61, 0xd8, 0xe9, 0x02, 0x3e, 0xd0,
+  0x18, 0x8e, 0x2a, 0xa4, 0xa7, 0x49, 0xe5, 0xd7, 0x31, 0x39, 0xd9, 0xbd,
+  0x2b, 0x06, 0x0f, 0xd9, 0x44, 0x52, 0x86, 0x15, 0x1d, 0xf6, 0x25, 0x92,
+  0x30, 0x4e, 0x27, 0x7a, 0x49, 0x4d, 0x77, 0x88, 0xaf, 0xe8, 0x34, 0x0e,
+  0x65, 0xeb, 0xa5, 0x2c, 0xf1, 0xab, 0x20, 0xc6, 0x99, 0xa4, 0x18, 0x13,
+  0xe0, 0x56, 0x55, 0x81, 0x5a, 0x6d, 0x79, 0x37, 0x65, 0x91, 0x73, 0x2f,
+  0x02, 0xae, 0xdd, 0xe1, 0x0d, 0xe6, 0xbc, 0xcd, 0x59, 0x08, 0x64, 0xe3,
+  0xd0, 0x0c, 0x2a, 0xad, 0x4e, 0x30, 0x91, 0x1f, 0xa7, 0x12, 0xda, 0x09,
+  0xc5, 0x29, 0x47, 0xfe, 0x00, 0x4f, 0x7b, 0x56, 0x0f, 0xbe, 0xeb, 0xec,
+  0x93, 0x7f, 0xf6, 0x6e, 0x64, 0x4d, 0x10, 0x35, 0x78, 0x8b, 0x6d, 0x02,
+  0xb8, 0x1b, 0x9d, 0x91, 0x95, 0x82, 0x26, 0x1c, 0xee, 0xce, 0x8d, 0x4b,
+  0xb5, 0x95, 0xdc, 0x44, 0x59, 0xd3, 0x3c, 0xe1, 0x59, 0x12, 0xac, 0x86,
+  0xee, 0x2a, 0xfa, 0x2a, 0xab, 0x62, 0x39, 0x42, 0xc5, 0x92, 0x8c, 0x72,
+  0xfa, 0x54, 0xa8, 0x1b, 0x97, 0xba, 0x57, 0xcd, 0x8a, 0xa9, 0x67, 0x1e,
+  0x9d, 0x17, 0xed, 0xb2, 0x00, 0x02, 0xb2, 0x85, 0x27, 0x78, 0x91, 0x9c,
+  0xa1, 0xda, 0x0b, 0xf6, 0x71, 0x4d, 0xc8, 0xdd, 0x52, 0xa6, 0x7f, 0x67,
+  0xa5, 0x4c, 0x52, 0x7b, 0x15, 0x1e, 0x8d, 0x1c, 0x1c, 0x09, 0x02, 0xf6,
+  0x47, 0x6f, 0xb0, 0xcb, 0x28, 0x8b, 0x72, 0xa4, 0x37, 0x8f, 0x4f, 0xbb,
+  0x89, 0xed, 0x2c, 0x91, 0x50, 0x8d, 0x2b, 0x92, 0xe9, 0x12, 0xa5, 0x1c,
+  0xed, 0xd3, 0xba, 0xc2, 0xa1, 0xea, 0x13, 0x8b, 0x74, 0x41, 0x9d, 0x4c,
+  0xc0, 0x9e, 0xf3, 0x72, 0xe5, 0xe1, 0x2d, 0xee, 0x1f, 0xba, 0xcc, 0x60,
+  0xbb, 0xaa, 0x25, 0xc6, 0x20, 0x05, 0x0f, 0x06, 0xf8, 0xd7, 0x5f, 0xc9,
+  0xf5, 0x97, 0xcb, 0xd2, 0xb9, 0xf7, 0xc6, 0xd8, 0x98, 0xde, 0xc9, 0xc4,
+  0xb3, 0x5d, 0x12, 0xca, 0x7c, 0x21, 0x20, 0x33, 0x4c, 0x25, 0xa9, 0x94,
+  0x01, 0x70, 0xa3, 0x39, 0x74, 0xc4, 0x7c, 0x81, 0x71, 0xca, 0x51, 0x62,
+  0x61, 0x5c, 0x69, 0x53, 0xa8, 0xaa, 0xda, 0xbb, 0xd5, 0x84, 0x88, 0xa8,
+  0xba, 0x93, 0x8b, 0x93, 0x29, 0xcd, 0x4e, 0xba, 0x8c, 0xfc, 0xca, 0xe5,
+  0x4d, 0x02, 0xfa, 0x13, 0x97, 0x5c, 0x3e, 0x51, 0xfa, 0x0d, 0x58, 0x49,
+  0x08, 0xb0, 0x56, 0xfd, 0x57, 0x63, 0xf0, 0x22, 0xe7, 0x0b, 0xc0, 0x27,
+  0x11, 0x6e, 0xec, 0x01, 0xe7, 0x69, 0x50, 0x3b, 0x3b, 0x61, 0x68, 0x26,
+  0x2e, 0x21, 0xe5, 0x51, 0xac, 0x22, 0xae, 0x01, 0xeb, 0xc4, 0xbd, 0x5f,
+  0x93, 0x8b, 0x1b, 0xc2, 0xec, 0xb1, 0x76, 0x3e, 0xb1, 0x6a, 0xbe, 0x26,
+  0x06, 0xe9, 0xd2, 0xf0, 0x10, 0x54, 0xa9, 0x8a, 0x18, 0x38, 0xe6, 0x5f,
+  0x17, 0xd3, 0x16, 0x50, 0x45, 0xee, 0x99, 0x03, 0xb6, 0x82, 0xdf, 0xa4,
+  0x8b, 0xe8, 0xb0, 0xf7, 0x36, 0x92, 0xf9, 0xbc, 0xfe, 0xaa, 0x36, 0x9c,
+  0x36, 0xae, 0x70, 0x71, 0xd9, 0x05, 0xe3, 0x63, 0x34, 0x4d, 0x9f, 0xd8,
+  0x04, 0x6e, 0x6a, 0x60, 0xd2, 0x89, 0xcb, 0x9b, 0x3c, 0x91, 0xb3, 0xcb,
+  0xc8, 0x04, 0x36, 0x3d, 0x98, 0x60, 0x5d, 0x65, 0xb0, 0xa3, 0x86, 0x6a,
+  0xbc, 0xed, 0xd3, 0x26, 0xb9, 0xfe, 0x1f, 0xf9, 0x4d, 0x86, 0xff, 0xc0,
+  0x2f, 0xe0, 0x07, 0x5e, 0x6f, 0x6f, 0x07, 0x67, 0xde, 0x3a, 0x5f, 0x9e,
+  0xb0, 0xce, 0x18, 0x85, 0x91, 0xa4, 0x88, 0x3a, 0xbc, 0xad, 0x66, 0xfa,
+  0xf7, 0xa9, 0x6a, 0xce, 0x77, 0xb3, 0xd1, 0x1d, 0x22, 0x3c, 0x32, 0xe7,
+  0x55, 0x4e, 0xbf, 0x0b, 0xb2, 0xc4, 0xd4, 0xc8, 0x87, 0x99, 0x0f, 0x6e,
+  0x01, 0xba, 0x1a, 0x1e, 0x49, 0xfb, 0xe2, 0x3b, 0x18, 0x0b, 0x7a, 0x7c,
+  0x7d, 0x78, 0xb3, 0x9c, 0x26, 0xc4, 0x37, 0xab, 0x87, 0xaa, 0xf3, 0xac,
+  0x95, 0xa3, 0x97, 0x82, 0xdd, 0x14, 0x9c, 0x62, 0x5d, 0x39, 0xc9, 0x46,
+  0x54, 0xb3, 0x50, 0x53, 0x21, 0x38, 0x15, 0x13, 0x2d, 0x25, 0x0d, 0x75,
+  0x35, 0xeb, 0x8a, 0x58, 0x19, 0xed, 0xf2, 0xa6, 0x09, 0xee, 0x85, 0xad,
+  0xb4, 0x5f, 0xb1, 0x82, 0xfb, 0x64, 0xf8, 0xfa, 0x2b, 0xf4, 0x6d, 0x3d,
+  0x50, 0xff, 0x00, 0xd6, 0x6a, 0x71, 0xeb, 0x36, 0xa9, 0x9d, 0x40, 0xe4,
+  0x2c, 0xa2, 0x39, 0x48, 0x5e, 0xb4, 0x0f, 0xeb, 0xd4, 0x39, 0x39, 0x43,
+  0x4e, 0xf2, 0x7c, 0xe5, 0x88, 0xea, 0xbb, 0xa1, 0x3d, 0x71, 0x92, 0x19,
+  0x39, 0xc5, 0xcf, 0xd6, 0x70, 0x32, 0x41, 0x90, 0x9c, 0xa9, 0x89, 0xcb,
+  0x50, 0x4d, 0x3d, 0x7a, 0xc8, 0xa4, 0x9f, 0xb9, 0x4a, 0x9c, 0xd7, 0x5d,
+  0x2a, 0xf3, 0x09, 0x77, 0x8c, 0xb1, 0x6b, 0xe0, 0xeb, 0x48, 0x10, 0x48,
+  0xf8, 0xd7, 0x2f, 0xcc, 0xeb, 0xf8, 0x1f, 0xb8, 0xcd, 0x84, 0xc8, 0xbd,
+  0x62, 0x35, 0x18, 0x0a, 0xd4, 0x77, 0x36, 0x29, 0xfc, 0x64, 0x1a, 0x41,
+  0xad, 0x75, 0x59, 0xd1, 0xfe, 0x62, 0x8d, 0xdc, 0xb8, 0x1a, 0xa4, 0xa6,
+  0xf6, 0x4c, 0xc4, 0xe3, 0xc6, 0xb9, 0xa7, 0xd6, 0x62, 0x36, 0x26, 0xf7,
+  0x6f, 0xa2, 0xd9, 0xb7, 0x4c, 0x1c, 0x67, 0xae, 0x53, 0xff, 0xa9, 0x63,
+  0x26, 0xff, 0x53, 0xc7, 0x4e, 0xff, 0xa7, 0x8e, 0x5d, 0xc0, 0x4f, 0x1d,
+  0x84, 0xa1, 0xc4, 0x45, 0xf8, 0x06, 0xf1, 0x2f, 0x3d, 0xf4, 0x35, 0xfe,
+  0xaa, 0xfd, 0xa8, 0xf3, 0x4d, 0xe7, 0x93, 0x9d, 0xb5, 0x55, 0x9b, 0xe6,
+  0xc6, 0x86, 0xa8, 0x2e, 0xa6, 0xb9, 0x87, 0xc0, 0xae, 0x6b, 0xdb, 0x64,
+  0xb7, 0x05, 0x8d, 0x33, 0xaf, 0x83, 0xb7, 0xf3, 0x00, 0xee, 0xb8, 0x6d,
+  0x4e, 0xe5, 0x34, 0x5d, 0x30, 0x28, 0x96, 0x7a, 0x0e, 0xda, 0xfb, 0xd9,
+  0x93, 0x47, 0xe6, 0x75, 0x4f, 0xfe, 0xfc, 0x27, 0x7c, 0x81, 0xf4, 0x7f,
+  0x1a, 0x43, 0x6e, 0x35, 0x01, 0xd8, 0x48, 0x5e, 0x1e, 0x25, 0x4c, 0x67,
+  0x1c, 0xb5, 0x64, 0xf1, 0x37, 0xe1, 0x4a, 0x23, 0x26, 0x09, 0x2f, 0x97,
+  0x7e, 0x9e, 0x52, 0xab, 0x32, 0x58, 0xd5, 0x8c, 0x2d, 0xd4, 0x4d, 0x94,
+  0x0a, 0x94, 0xfb, 0x4a, 0x1d, 0xc4, 0x4a, 0x32, 0xd1, 0xc5, 0x78, 0x95,
+  0x3e, 0x6c, 0xbc, 0x0f, 0xed, 0x24, 0x8d, 0x8a, 0xf8, 0x2c, 0x2f, 0xca,
+  0xd7, 0x9d, 0x02, 0x3b, 0xbf, 0x46, 0xd3, 0x02, 0x34, 0xd8, 0x2f, 0x90,
+  0xb4, 0x96, 0x70, 0x58, 0xf6, 0x9e, 0x3e, 0xf4, 0xe6, 0x8f, 0x30, 0xef,
+  0xb5, 0x5f, 0x44, 0x19, 0x0e, 0x4b, 0x1b, 0x53, 0x94, 0x1e, 0x98, 0xe3,
+  0x3c, 0x6a, 0xe6, 0x29, 0xf0, 0xd5, 0x75, 0x2e, 0xa5, 0xfc, 0xfe, 0x75,
+  0x08, 0xe6, 0xce, 0x5b, 0x88, 0xc3, 0x79, 0xc9, 0x54, 0x7b, 0x7d, 0xf1,
+  0xed, 0x17, 0x3a, 0xc0, 0x4f, 0x9d, 0x1f, 0x7a, 0xfc, 0x53, 0xaa, 0x17,
+  0x3e, 0x88, 0x2e, 0xbe, 0x45, 0xea, 0xfe, 0x65, 0x0c, 0x6c, 0xd5, 0x07,
+  0xbe, 0xe2, 0xbf, 0x10, 0x65, 0xaf, 0x1a, 0xf6, 0xda, 0xe6, 0x49, 0xbc,
+  0xc6, 0x06, 0xc6, 0x54, 0x67, 0x44, 0x56, 0xf8, 0x62, 0x81, 0x95, 0x43,
+  0x5a, 0x1f, 0x5b, 0x71, 0x7d, 0x2c, 0x45, 0x8d, 0xe2, 0x61, 0xce, 0x29,
+  0xd2, 0x95, 0x8f, 0x8d, 0x4d, 0xd8, 0xbc, 0x74, 0xb6, 0xe2, 0xbb, 0x5a,
+  0x90, 0xe3, 0x82, 0xd4, 0xe1, 0x7a, 0x9a, 0x41, 0xbd, 0x96, 0xb1, 0x1b,
+  0x9d, 0x04, 0x9a, 0x20, 0x58, 0x70, 0x23, 0xfe, 0x1b, 0xe9, 0x65, 0xa6,
+  0x37, 0x37, 0x36, 0x54, 0x8b, 0x8b, 0x44, 0x3b, 0xe4, 0x48, 0x4f, 0x3f,
+  0x0a, 0x30, 0x01, 0xc1, 0x04, 0x42, 0x01, 0x12, 0x9d, 0x94, 0x44, 0xf4,
+  0x49, 0x3e, 0x93, 0x2e, 0xee, 0x25, 0x50, 0x3d, 0x1f, 0xb0, 0x69, 0xa3,
+  0x07, 0x1a, 0x07, 0x6e, 0x85, 0x44, 0x2a, 0xe4, 0xb3, 0x01, 0x95, 0x43,
+  0xa2, 0x89, 0xec, 0x8d, 0x93, 0xa6, 0x6d, 0x04, 0x18, 0xc6, 0x84, 0xff,
+  0x05, 0x1a, 0xfd, 0xc3, 0x84, 0x9c, 0x4f, 0xa6, 0x2a, 0xb3, 0x27, 0xce,
+  0xe1, 0x80, 0x07, 0x27, 0x32, 0xf7, 0x46, 0x2f, 0x0e, 0xa7, 0x41, 0x68,
+  0xa9, 0x26, 0xe6, 0x89, 0xbd, 0x43, 0x95, 0x50, 0x12, 0xd9, 0xb5, 0xb3,
+  0x0d, 0x8a, 0x97, 0xf0, 0x62, 0xe9, 0x0e, 0xab, 0x1a, 0xe1, 0xdf, 0xb6,
+  0xe8, 0x8f, 0xe2, 0x4b, 0xd6, 0xc7, 0x62, 0xd1, 0xb7, 0xe4, 0xb0, 0xfa,
+  0xde, 0x0b, 0x3f, 0x48, 0x52, 0x50, 0x6f, 0xfb, 0xc0, 0xe9, 0x52, 0xc4,
+  0x3f, 0x0b, 0x0f, 0xef, 0x82, 0xc0, 0x68, 0x80, 0xb8, 0x94, 0xed, 0x5f,
+  0x31, 0xfe, 0x8e, 0x19, 0xff, 0xb3, 0x00, 0xee, 0x0a, 0x23, 0xa3, 0x84,
+  0x3f, 0x7b, 0x6d, 0x93, 0x00, 0xd5, 0x8b, 0x6a, 0x3c, 0x19, 0x35, 0x1f,
+  0x82, 0x42, 0x3e, 0x33, 0x26, 0x0b, 0x87, 0x1b, 0xfc, 0x26, 0x0f, 0x0c,
+  0x57, 0x49, 0x66, 0x20, 0xad, 0x03, 0xb6, 0xb1, 0x69, 0x22, 0xb2, 0xa8,
+  0x17, 0xc2, 0xca, 0xe7, 0x08, 0xc1, 0x3a, 0x3e, 0xb0, 0x3d, 0x2f, 0x19,
+  0x44, 0x22, 0x75, 0xf3, 0xeb, 0x6d, 0x1d, 0xad, 0x57, 0xd6, 0x58, 0x03,
+  0x38, 0xf6, 0x3e, 0x05, 0xac, 0x98, 0xa1, 0x97, 0x9c, 0x86, 0x8c, 0x6b,
+  0xeb, 0x6b, 0xe2, 0x54, 0xc1, 0x0f, 0x61, 0xab, 0x48, 0x4a, 0x84, 0xa2,
+  0x62, 0xec, 0x98, 0x30, 0x33, 0xc4, 0x97, 0xd3, 0x0b, 0x68, 0x1d, 0x07,
+  0xc4, 0xda, 0xcd, 0x9d, 0x60, 0xa0, 0x20, 0xc2, 0x09, 0x52, 0xbb, 0x99,
+  0x41, 0xbd, 0x6a, 0xe0, 0x40, 0xbe, 0x91, 0xec, 0x6c, 0xb1, 0x0c, 0xc6,
+  0xb6, 0xa9, 0xcd, 0x56, 0x8c, 0xa3, 0xb5, 0xd7, 0x1b, 0x6b, 0x66, 0x69,
+  0xed, 0x66, 0x91, 0xd7, 0xf1, 0x51, 0x83, 0x90, 0xa6, 0x0f, 0x2c, 0x79,
+  0x96, 0xe6, 0x98, 0xfb, 0x90, 0xf4, 0xe8, 0x40, 0x83, 0x08, 0x7a, 0x65,
+  0x25, 0xde, 0x4e, 0x4a, 0x2c, 0xa7, 0xdb, 0xc9, 0x58, 0x2f, 0x4c, 0xe2,
+  0xf1, 0xac, 0xc2, 0x54, 0x7d, 0x2a, 0xa6, 0x60, 0xb4, 0xbf, 0xf2, 0xc0,
+  0xd1, 0xc7, 0x03, 0xd7, 0x13, 0x03, 0x39, 0xd4, 0x44, 0x41, 0x5c, 0x22,
+  0x8e, 0x47, 0x63, 0x95, 0xea, 0xbd, 0xf6, 0x7a, 0x9d, 0x05, 0x96, 0xf5,
+  0xa7, 0x39, 0xdf, 0x5e, 0x8b, 0x7e, 0x0a, 0xd7, 0xb5, 0x46, 0xfc, 0xae,
+  0x63, 0x21, 0x08, 0xd9, 0x3e, 0xf5, 0x46, 0x74, 0x38, 0xcc, 0xc7, 0x8f,
+  0x5f, 0x52, 0xd8, 0x49, 0x5e, 0x39, 0xdc, 0xa4, 0x1f, 0x35, 0x54, 0xe6,
+  0xb6, 0x81, 0x68, 0x14, 0x38, 0x2a, 0xfa, 0xf3, 0x2b, 0x7c, 0x5c, 0x2d,
+  0x86, 0xb5, 0xa8, 0xdf, 0x07, 0x26, 0x54, 0xce, 0xa9, 0x1d, 0xd7, 0x0a,
+  0xc1, 0xc2, 0x78, 0x77, 0x24, 0x62, 0x51, 0x49, 0x11, 0xc8, 0x12, 0xf2,
+  0xec, 0xa8, 0x95, 0xcd, 0x4e, 0x48, 0xfe, 0x55, 0xf1, 0xba, 0x1f, 0x1d,
+  0x99, 0x2c, 0x99, 0x24, 0x80, 0x91, 0x8d, 0xd7, 0x98, 0x65, 0x87, 0x53,
+  0x12, 0xfe, 0xf9, 0x30, 0x15, 0x37, 0xfb, 0x38, 0xaf, 0xe1, 0x6e, 0x32,
+  0xa6, 0x03, 0x08, 0xf7, 0x30, 0x52, 0xda, 0x28, 0x2f, 0x38, 0x46, 0xc4,
+  0xee, 0x74, 0x63, 0xbf, 0xc8, 0xd4, 0x7a, 0x27, 0x02, 0xcc, 0xa5, 0x6c,
+  0xb4, 0x1b, 0xbd, 0x34, 0x5f, 0x0a, 0x60, 0xd5, 0xb3, 0xc5, 0x5f, 0x46,
+  0x9f, 0xf7, 0xf0, 0x29, 0xa7, 0x5b, 0xac, 0xd0, 0x7d, 0x3d, 0x83, 0xa3,
+  0x2b, 0x4a, 0x61, 0x8f, 0x12, 0x93, 0x02, 0x05, 0x39, 0x24, 0x09, 0x86,
+  0x71, 0x99, 0xbc, 0xd8, 0x53, 0xf5, 0x92, 0x77, 0xa9, 0x54, 0xff, 0x6d,
+  0xcd, 0x09, 0xcb, 0x72, 0xc8, 0x59, 0x50, 0xf3, 0x22, 0x50, 0x61, 0x31,
+  0x2a, 0x67, 0xd8, 0xfc, 0x8b, 0x73, 0x70, 0x51, 0x9a, 0x82, 0x22, 0x39,
+  0xad, 0xa8, 0xa2, 0xe8, 0xe5, 0x0b, 0x67, 0xd2, 0x4f, 0xb8, 0x2b, 0x1a,
+  0x9c, 0x54, 0x56, 0xd8, 0x5c, 0x91, 0xda, 0xeb, 0xf0, 0x5d, 0xef, 0x5e,
+  0xa2, 0xaf, 0x83, 0x81, 0xc7, 0x64, 0x8d, 0xc6, 0xc1, 0xf8, 0xd4, 0x35,
+  0x72, 0x2f, 0xc1, 0x17, 0x4a, 0x38, 0xcd, 0x4f, 0xaf, 0x24, 0x6a, 0xc7,
+  0x44, 0xd2, 0xf7, 0x79, 0x12, 0x4c, 0xd8, 0x4f, 0xd3, 0x35, 0x06, 0x11,
+  0x26, 0xcb, 0x82, 0xa4, 0x8f, 0x3c, 0xc6, 0x4a, 0x82, 0xd6, 0x29, 0x89,
+  0x9e, 0xfe, 0xfe, 0xe8, 0xfc, 0xc3, 0xd1, 0xd9, 0xf3, 0xbb, 0x02, 0xd5,
+  0x1a, 0xcd, 0x3d, 0x91, 0x03, 0xeb, 0x82, 0x19, 0x34, 0xa0, 0x7e, 0xc2,
+  0x50, 0x06, 0x5e, 0xd4, 0x01, 0xa1, 0x0d, 0x9a, 0xd9, 0x7a, 0x58, 0x34,
+  0x86, 0x74, 0x85, 0x49, 0x22, 0x61, 0x08, 0x20, 0xce, 0xf3, 0x95, 0x10,
+  0xb9, 0x93, 0xb9, 0x19, 0x97, 0xd2, 0x93, 0xb1, 0xa3, 0xef, 0xe3, 0xeb,
+  0x1d, 0x49, 0x1e, 0x37, 0x75, 0xe2, 0x21, 0x2a, 0x37, 0xb5, 0xed, 0x26,
+  0xf5, 0x4a, 0x9b, 0x5a, 0x8b, 0x40, 0xab, 0x79, 0xdf, 0xf2, 0xc9, 0xc4,
+  0x66, 0xcf, 0x36, 0x23, 0x7c, 0xc7, 0xc7, 0xed, 0x25, 0xb7, 0x9f, 0x12,
+  0x2d, 0xb5, 0x91, 0x91, 0x4e, 0xdb, 0x68, 0xb9, 0x7b, 0xaf, 0xca, 0xb9,
+  0x1a, 0xfd, 0x50, 0xe6, 0x16, 0xde, 0x55, 0x98, 0xa0, 0x8b, 0x1c, 0xa0,
+  0x2a, 0x2e, 0xb5, 0x9b, 0x1d, 0x9c, 0x5c, 0xd1, 0x66, 0x5d, 0x1e, 0x0d,
+  0x06, 0x46, 0x16, 0x96, 0x92, 0x96, 0xd0, 0xf5, 0x8c, 0x31, 0x52, 0x23,
+  0xdd, 0xb6, 0x27, 0xfd, 0xc8, 0x74, 0x8a, 0x95, 0x74, 0x4e, 0x8a, 0xfd,
+  0x80, 0xcd, 0x77, 0xbd, 0x9c, 0xc3, 0x85, 0x01, 0x8d, 0x77, 0xbc, 0x56,
+  0x4a, 0x28, 0xb6, 0x49, 0x78, 0xc8, 0xb9, 0x44, 0x93, 0xa2, 0xb3, 0x46,
+  0xda, 0xc3, 0xb3, 0x1f, 0x68, 0x0c, 0x09, 0xb9, 0x3c, 0x07, 0xaf, 0x5d,
+  0x88, 0xdb, 0x6e, 0xd8, 0x99, 0xde, 0x19, 0x9c, 0x5e, 0x9f, 0xc0, 0xf6,
+  0x7d, 0xb8, 0x7e, 0xd7, 0x91, 0xd4, 0x85, 0x26, 0x0a, 0x06, 0x39, 0xed,
+  0xb1, 0xc5, 0xeb, 0x9d, 0xa9, 0x96, 0x2d, 0xd8, 0x91, 0x02, 0xd6, 0x42,
+  0x48, 0x03, 0xb7, 0x1f, 0xed, 0xaf, 0x38, 0xa5, 0xfd, 0xfe, 0x7e, 0xf3,
+  0x94, 0xda, 0xe1, 0xaa, 0x19, 0xc0, 0xd8, 0x23, 0x77, 0x41, 0x45, 0xc6,
+  0xec, 0xa9, 0x4d, 0xdb, 0x3c, 0x85, 0x82, 0x6c, 0x84, 0xae, 0x13, 0x73,
+  0x29, 0xbc, 0x87, 0x9e, 0xa7, 0x50, 0x82, 0x4e, 0x5c, 0x9c, 0xb0, 0x9b,
+  0x0d, 0xdc, 0x90, 0x78, 0x7b, 0x39, 0x1c, 0x0a, 0x27, 0x16, 0x17, 0x63,
+  0x53, 0x16, 0xea, 0xeb, 0x87, 0x9a, 0xeb, 0x87, 0x2d, 0x99, 0x80, 0x04,
+  0xb4, 0x25, 0x4b, 0xad, 0x5a, 0xd7, 0xef, 0xad, 0x60, 0xf3, 0xf9, 0xc2,
+  0x60, 0xda, 0xe4, 0x45, 0xa7, 0x2e, 0x2d, 0x06, 0x15, 0x7a, 0x65, 0xf6,
+  0x63, 0x18, 0xff, 0x19, 0xf7, 0x55, 0xf2, 0x45, 0x0e, 0xf9, 0xcf, 0x30,
+  0xbd, 0x93, 0xc8, 0x2d, 0xf2, 0x19, 0x3b, 0x10, 0xe5, 0x0d, 0x4e, 0xe2,
+  0xe4, 0x62, 0x17, 0xa9, 0xc3, 0x28, 0x28, 0xe1, 0x50, 0x42, 0x34, 0xd4,
+  0xd4, 0xdc, 0x6f, 0xbb, 0xb5, 0x3e, 0xd8, 0x30, 0x9e, 0xd6, 0x6b, 0x8a,
+  0x28, 0xd2, 0x68, 0x81, 0x2a, 0x26, 0x07, 0x59, 0x51, 0xd4, 0xcb, 0x10,
+  0xba, 0x8f, 0x73, 0x7b, 0x7d, 0x8b, 0x89, 0x18, 0xf5, 0xe8, 0x7e, 0xdc,
+  0x82, 0x55, 0x47, 0x6e, 0x2d, 0x4a, 0x22, 0x23, 0x1b, 0x90, 0x6b, 0xa6,
+  0x8e, 0xbf, 0x7f, 0xe3, 0x34, 0xdb, 0xd1, 0x3c, 0x35, 0xa6, 0x17, 0x51,
+  0x48, 0xdb, 0xd0, 0xe0, 0x12, 0x9b, 0x6c, 0xd9, 0xa7, 0xa0, 0xea, 0x38,
+  0x49, 0x16, 0x06, 0xda, 0x3c, 0xa5, 0x1a, 0x9b, 0xb4, 0xa4, 0x20, 0xaa,
+  0xc0, 0xca, 0x53, 0x3b, 0xb9, 0x96, 0xd9, 0x09, 0xeb, 0xd0, 0x16, 0x91,
+  0x64, 0xef, 0x60, 0xf3, 0x30, 0x0c, 0xe3, 0x6e, 0xbf, 0xdc, 0xfd, 0x1c,
+  0x64, 0xf3, 0x23, 0x61, 0x8d, 0xdb, 0x2d, 0x63, 0x2c, 0xe0, 0x76, 0x9c,
+  0x3f, 0x31, 0x6a, 0x34, 0xbd, 0x57, 0xe0, 0x14, 0xa2, 0x12, 0xcd, 0x08,
+  0x72, 0x50, 0x49, 0x71, 0xb3, 0x8f, 0x45, 0x03, 0x9b, 0x28, 0x1b, 0x26,
+  0x49, 0x77, 0xb4, 0x4f, 0x9c, 0x20, 0xd6, 0x77, 0x08, 0x18, 0x1b, 0x94,
+  0x60, 0x27, 0x35, 0x60, 0x29, 0x57, 0x27, 0xd7, 0x57, 0xf0, 0xc7, 0xe0,
+  0xfa, 0xe2, 0xaa, 0x05, 0x99, 0xb1, 0x62, 0x98, 0x0e, 0xdc, 0x34, 0x4d,
+  0x57, 0xa1, 0x6d, 0xae, 0xa3, 0xb6, 0x51, 0x26, 0x34, 0xb3, 0x9d, 0x32,
+  0x08, 0xf4, 0xe5, 0xe0, 0x7d, 0x95, 0xfd, 0xda, 0x42, 0x27, 0x20, 0x1f,
+  0x56, 0x2e, 0x8c, 0xcf, 0x7c, 0x35, 0x85, 0xd0, 0x82, 0x91, 0x18, 0x71,
+  0xc5, 0x86, 0xd1, 0xd3, 0x6c, 0xc1, 0x68, 0x43, 0xe7, 0xbf, 0x85, 0xb1,
+  0xd7, 0xf6, 0xd4, 0x2d, 0x68, 0x86, 0x9c, 0x9a, 0xcb, 0xcd, 0x59, 0x6c,
+  0xb7, 0x76, 0xe0, 0xb4, 0x0a, 0x05, 0xd0, 0x89, 0xd6, 0xc9, 0x81, 0x2c,
+  0x7a, 0xc9, 0x13, 0xf4, 0x0b, 0xba, 0xd0, 0x86, 0x5d, 0x70, 0x99, 0xcf,
+  0x13, 0xf6, 0xf0, 0x73, 0x72, 0xae, 0x32, 0x27, 0x96, 0x2d, 0x8c, 0x4b,
+  0x1b, 0x85, 0xf0, 0x30, 0x0c, 0x84, 0x18, 0x9e, 0xf2, 0x9a, 0x41, 0x14,
+  0xc8, 0x85, 0x3a, 0xf8, 0x5c, 0x12, 0xb0, 0x54, 0x2b, 0xc2, 0x66, 0x5b,
+  0xd3, 0x59, 0x39, 0xd8, 0x62, 0x75, 0xe6, 0xbd, 0xdd, 0x64, 0x32, 0x08,
+  0xca, 0x10, 0xe6, 0x2c, 0xd4, 0x47, 0x4f, 0x8b, 0xeb, 0x29, 0xd1, 0x4a,
+  0x73, 0x6c, 0x48, 0x97, 0x70, 0xfb, 0x87, 0x5e, 0xca, 0x53, 0xc1, 0xb0,
+  0x1a, 0x55, 0x2f, 0x22, 0x98, 0x87, 0xa1, 0x6d, 0x39, 0x72, 0x0e, 0xd1,
+  0x2c, 0x9b, 0x4c, 0xb7, 0xa6, 0xcf, 0xf9, 0x6c, 0x56, 0x95, 0xb6, 0xc8,
+  0x76, 0x64, 0xf2, 0xd0, 0x28, 0x5a, 0xdb, 0x7e, 0xb5, 0xa1, 0x44, 0x37,
+  0x35, 0x18, 0x4a, 0xb7, 0xb2, 0x4e, 0x06, 0xea, 0x91, 0x1d, 0x44, 0xd0,
+  0x89, 0x3e, 0x64, 0x82, 0x1c, 0x93, 0x81, 0x6d, 0x41, 0xf9, 0x0f, 0x63,
+  0xb3, 0x69, 0x08, 0xa8, 0x84, 0x69, 0x5b, 0x2c, 0xb4, 0xc6, 0x39, 0x2b,
+  0xf4, 0x84, 0xe9, 0xec, 0x43, 0x84, 0x91, 0x0f, 0x99, 0xb2, 0x09, 0x54,
+  0xd2, 0xc8, 0x78, 0xd6, 0x2e, 0x19, 0x55, 0xcd, 0x95, 0x12, 0xca, 0x83,
+  0xb7, 0xd0, 0x4b, 0xf7, 0xd0, 0x98, 0xa5, 0x91, 0xf5, 0x63, 0x79, 0x41,
+  0xc5, 0x60, 0x0b, 0x8c, 0xa8, 0xa0, 0x5e, 0x01, 0x81, 0xb5, 0xc8, 0x82,
+  0xa5, 0x59, 0x0c, 0x69, 0xb1, 0xcc, 0x66, 0x98, 0x23, 0x5e, 0x87, 0x8a,
+  0x50, 0x35, 0xb0, 0xbf, 0xa2, 0x8a, 0xd5, 0x45, 0x96, 0xa8, 0x91, 0x64,
+  0xbd, 0x5e, 0xbf, 0xbe, 0xba, 0xd6, 0xca, 0x5f, 0x22, 0xd0, 0x2b, 0x3c,
+  0x32, 0x45, 0xa4, 0x54, 0xda, 0x4a, 0xb3, 0x14, 0x91, 0x84, 0xf2, 0x62,
+  0x13, 0xab, 0x54, 0x10, 0xb3, 0x0f, 0xac, 0xca, 0x7c, 0x46, 0xad, 0x7d,
+  0x54, 0x75, 0x0b, 0x35, 0x64, 0x26, 0x15, 0x8c, 0x31, 0x78, 0x60, 0xf0,
+  0x7a, 0xe5, 0xbe, 0xd3, 0xac, 0x0e, 0xa5, 0xa9, 0x03, 0x1b, 0xd1, 0x0f,
+  0xb5, 0x83, 0xe3, 0x8c, 0x10, 0xca, 0x78, 0xac, 0xab, 0x63, 0xda, 0x9a,
+  0x54, 0x9b, 0x8b, 0xd0, 0xb9, 0x92, 0xca, 0x47, 0xf9, 0xf7, 0x2d, 0xb5,
+  0x7c, 0xda, 0xd8, 0x85, 0xc0, 0xa1, 0x60, 0x57, 0xba, 0x9c, 0x1d, 0x52,
+  0xbf, 0x99, 0x64, 0x39, 0xd4, 0xbf, 0x56, 0x26, 0xd5, 0x72, 0xe1, 0xcb,
+  0x79, 0x5b, 0x7d, 0x6a, 0x46, 0xd4, 0xa0, 0xa8, 0x33, 0x45, 0x44, 0x55,
+  0xb0, 0xdb, 0xef, 0xa2, 0xf3, 0x37, 0x6f, 0x23, 0x69, 0x02, 0x9e, 0x74,
+  0x6f, 0x43, 0x02, 0x50, 0xf1, 0x82, 0x0d, 0x82, 0xa3, 0x0e, 0xe8, 0x17,
+  0x5b, 0x1d, 0x06, 0x5a, 0x90, 0xb2, 0x2d, 0x8e, 0xb2, 0x9b, 0xb7, 0x61,
+  0x5f, 0x9c, 0xf9, 0xfa, 0x77, 0x46, 0xeb, 0x51, 0xa4, 0x64, 0x11, 0x4f,
+  0x67, 0x1d, 0x7b, 0xd1, 0xd3, 0xfd, 0xdd, 0xf8, 0xac, 0x75, 0xe9, 0x2b,
+  0x66, 0xd5, 0xd9, 0x7e, 0xb5, 0xd3, 0xdf, 0x7e, 0xf1, 0x79, 0x7f, 0x9b,
+  0x3a, 0xd9, 0x3a, 0x73, 0xb3, 0x1d, 0x57, 0x9d, 0x81, 0x02, 0xfd, 0x7c,
+  0xa3, 0x76, 0x44, 0x5f, 0xfe, 0xc2, 0xfc, 0xb1, 0x8f, 0xcf, 0xf5, 0xb9,
+  0xab, 0x8e, 0xf7, 0x8d, 0x39, 0xe8, 0x34, 0x69, 0xe6, 0xc5, 0x41, 0x7a,
+  0x36, 0xab, 0x88, 0x69, 0x71, 0x91, 0x22, 0x19, 0x29, 0xca, 0xa6, 0xb3,
+  0x4f, 0xda, 0x10, 0xd0, 0x34, 0x38, 0xa1, 0xdb, 0x19, 0x9e, 0x91, 0xb2,
+  0xf4, 0x91, 0xa8, 0x91, 0x96, 0xab, 0x9b, 0xef, 0x7b, 0x6c, 0xf3, 0x17,
+  0x5b, 0x7d, 0x08, 0xe1, 0x62, 0x2e, 0x5d, 0x13, 0xa6, 0x8b, 0x20, 0x9e,
+  0x9a, 0x28, 0x41, 0x02, 0xfa, 0xc2, 0x0f, 0xaa, 0xc6, 0x6d, 0x02, 0xe2,
+  0xae, 0x90, 0x21, 0xf0, 0x23, 0x5b, 0x89, 0xe3, 0x56, 0x12, 0xd3, 0xc8,
+  0xa6, 0x4e, 0xb4, 0x01, 0xe7, 0x64, 0x60, 0x96, 0x98, 0x49, 0xeb, 0x70,
+  0xf8, 0xce, 0x9f, 0xff, 0x6c, 0x39, 0x12, 0xb7, 0x55, 0xa7, 0x5e, 0x1e,
+  0xfb, 0x04, 0xd5, 0xca, 0xb1, 0x6a, 0xee, 0x0a, 0xd0, 0x39, 0xf8, 0x91,
+  0x9c, 0xc3, 0x3f, 0xf7, 0x7e, 0x84, 0x7f, 0xfe, 0xdc, 0xd1, 0x4b, 0xcd,
+  0xb0, 0x5c, 0xb6, 0x60, 0xc4, 0xc2, 0x1f, 0xd2, 0x01, 0x75, 0xa3, 0x7a,
+  0x5b, 0x5a, 0xd2, 0x0c, 0xae, 0x8f, 0x2f, 0xf9, 0x32, 0x16, 0x1c, 0xf6,
+  0x26, 0x6a, 0x46, 0x3e, 0x44, 0x6a, 0x3d, 0xb2, 0x70, 0xea, 0xa8, 0xc1,
+  0x74, 0x62, 0xf6, 0xd2, 0x79, 0xa5, 0x6b, 0x93, 0x1a, 0xee, 0x99, 0x03,
+  0xc4, 0xa0, 0xdf, 0x4e, 0xd1, 0xbf, 0xc2, 0x25, 0xe9, 0xc0, 0x77, 0x55,
+  0x91, 0x96, 0x8e, 0xc1, 0x08, 0xec, 0x05, 0x6c, 0xc0, 0x5c, 0x87, 0x7b,
+  0x98, 0x52, 0x37, 0x12, 0xf8, 0x5b, 0xae, 0x8d, 0xa8, 0x04, 0x4b, 0x11,
+  0xb6, 0x01, 0x36, 0x4a, 0xb9, 0x6d, 0x91, 0x96, 0xb7, 0xb8, 0x3e, 0x29,
+  0xf3, 0x71, 0x72, 0x85, 0x70, 0x3e, 0x9f, 0x19, 0xad, 0xef, 0x51, 0x21,
+  0x6b, 0x4c, 0xe1, 0x9e, 0xb3, 0xb3, 0x56, 0x3a, 0xe8, 0xb1, 0x2b, 0x10,
+  0x65, 0x10, 0x76, 0x4b, 0x1e, 0x2b, 0x92, 0x67, 0xa0, 0xc1, 0x49, 0x2a,
+  0xcc, 0x25, 0xe8, 0xb9, 0x86, 0x34, 0x1c, 0x68, 0x26, 0x2c, 0x69, 0x47,
+  0x62, 0x41, 0xe9, 0xb7, 0xd1, 0x94, 0x5a, 0xd8, 0xa1, 0x06, 0x1d, 0xc5,
+  0x0c, 0x0f, 0x65, 0xf0, 0xcd, 0xa8, 0x67, 0x16, 0x96, 0x4f, 0x14, 0x30,
+  0x8d, 0x71, 0x57, 0x6b, 0xf3, 0xf9, 0x66, 0x60, 0x90, 0x57, 0x75, 0xba,
+  0xcf, 0x82, 0xb6, 0x02, 0x5d, 0x34, 0xab, 0x8c, 0xce, 0xd8, 0xa7, 0x8e,
+  0x9b, 0x4f, 0xbb, 0x8e, 0x7f, 0x02, 0xb7, 0xd6, 0x8e, 0x6a, 0xf7, 0x19,
+  0xb5, 0x47, 0x8e, 0x7c, 0x83, 0x86, 0xa6, 0x3f, 0x0f, 0x41, 0xf4, 0x3a,
+  0x42, 0x75, 0x67, 0xcb, 0x77, 0xa5, 0x60, 0xd3, 0x67, 0xda, 0xe4, 0x5e,
+  0xba, 0x78, 0x7a, 0x03, 0x15, 0xe6, 0x0b, 0x8f, 0xb4, 0xc6, 0x59, 0x8c,
+  0x84, 0x29, 0x97, 0xd3, 0x29, 0x61, 0x62, 0xf8, 0x99, 0x79, 0x54, 0xb1,
+  0x28, 0x85, 0x03, 0xd2, 0xcf, 0x00, 0x18, 0x39, 0xcd, 0x5c, 0x77, 0xc3,
+  0x96, 0x45, 0x0a, 0xc3, 0x29, 0x6d, 0x67, 0x92, 0xd6, 0xd2, 0x59, 0xec,
+  0x65, 0x27, 0xd7, 0xdb, 0x6a, 0x32, 0x45, 0xd2, 0xd3, 0x89, 0x36, 0xf9,
+  0x20, 0xa6, 0x06, 0x79, 0x19, 0xb0, 0xcc, 0x11, 0xc9, 0xd7, 0xd0, 0xce,
+  0xfb, 0x56, 0xba, 0x1b, 0xd1, 0xc3, 0x86, 0xfd, 0x71, 0x18, 0x8e, 0x27,
+  0x9d, 0x08, 0x88, 0x1f, 0xa3, 0xb0, 0x15, 0x06, 0xd5, 0x8a, 0xf5, 0x4a,
+  0xe1, 0x47, 0x4d, 0xa9, 0x39, 0xa1, 0xed, 0x58, 0xe5, 0x17, 0xb0, 0xac,
+  0xd0, 0xd5, 0x96, 0xf6, 0xfa, 0x3b, 0xde, 0xc1, 0x96, 0xb3, 0xde, 0x68,
+  0x34, 0xea, 0x91, 0x1e, 0x70, 0xc8, 0xca, 0xc9, 0xa6, 0x28, 0x07, 0x2d,
+  0x3e, 0x83, 0x41, 0x22, 0xfb, 0x7d, 0x7c, 0x7c, 0x2c, 0x7a, 0xcc, 0xf5,
+  0x4d, 0x43, 0xa3, 0x30, 0x80, 0x53, 0xa2, 0x51, 0x85, 0xda, 0x1c, 0x96,
+  0x37, 0xcb, 0x6a, 0x4c, 0xdd, 0x90, 0x91, 0x65, 0x28, 0xeb, 0x35, 0x35,
+  0xb2, 0x0d, 0x54, 0x50, 0x6c, 0x4a, 0xdf, 0xb5, 0x99, 0x89, 0x30, 0xb6,
+  0x77, 0x34, 0x0b, 0x6e, 0x80, 0x42, 0x2f, 0xca, 0xd8, 0xcd, 0x16, 0xab,
+  0x3c, 0x55, 0x17, 0xba, 0x4b, 0x27, 0x58, 0x86, 0x32, 0xd9, 0x74, 0x14,
+  0xfa, 0x6c, 0x9c, 0x4a, 0x06, 0x58, 0x2c, 0xdf, 0x6a, 0x8e, 0xfd, 0xc4,
+  0x79, 0xc8, 0x56, 0xd7, 0x8f, 0xe4, 0x45, 0xeb, 0x91, 0x04, 0x37, 0x1f,
+  0xad, 0x2a, 0xdc, 0xf6, 0xf5, 0x63, 0x42, 0x14, 0x3d, 0x96, 0x0b, 0x71,
+  0x7c, 0x83, 0xf9, 0x5b, 0x33, 0x3c, 0x1c, 0x98, 0x72, 0xc9, 0x4c, 0x40,
+  0xe4, 0xc7, 0x60, 0x70, 0xb6, 0x79, 0x7d, 0x36, 0xf0, 0x32, 0xde, 0x1f,
+  0xd1, 0x65, 0xcc, 0x4d, 0xb4, 0x6b, 0x2e, 0x4f, 0xde, 0x22, 0x02, 0x87,
+  0xce, 0x27, 0x75, 0x0a, 0xe7, 0xaf, 0x04, 0xf1, 0x4e, 0x96, 0x99, 0x16,
+  0xc3, 0x18, 0xd9, 0x9d, 0x25, 0x19, 0x15, 0x91, 0xa3, 0x08, 0xa7, 0x1b,
+  0x40, 0x09, 0xb1, 0x65, 0x74, 0x7e, 0x74, 0x8d, 0xe5, 0x2d, 0x95, 0xa4,
+  0x78, 0xa0, 0x0b, 0xc8, 0xf7, 0x8c, 0xdf, 0x1b, 0x5c, 0x02, 0x8a, 0xda,
+  0xc4, 0x23, 0xdb, 0x0c, 0x45, 0x95, 0x75, 0x3e, 0xbe, 0x52, 0x09, 0x6f,
+  0xd5, 0xf6, 0xc3, 0x96, 0x8a, 0x74, 0x68, 0xd2, 0x7c, 0xf3, 0x34, 0xb6,
+  0x83, 0xa7, 0xc1, 0x1b, 0x10, 0xbe, 0x0e, 0x57, 0xc2, 0xca, 0x75, 0xa3,
+  0xa5, 0x8a, 0x5f, 0xa7, 0x3f, 0xcb, 0xa7, 0x29, 0x7a, 0x02, 0xe9, 0xbc,
+  0xdc, 0xc0, 0x9b, 0xe7, 0x26, 0xe5, 0xdd, 0x29, 0xb9, 0x14, 0xa7, 0x0e,
+  0x60, 0xcb, 0x57, 0x04, 0xe5, 0x84, 0xd9, 0x53, 0xd3, 0x87, 0x49, 0x4b,
+  0x20, 0xfd, 0x0a, 0x43, 0xc2, 0xce, 0x4b, 0x47, 0x60, 0x22, 0x8c, 0x30,
+  0xfb, 0x83, 0xca, 0x01, 0xcb, 0x7a, 0x8a, 0x6d, 0x5a, 0x83, 0xe5, 0x53,
+  0x0f, 0x69, 0xe9, 0xc7, 0x2a, 0x48, 0x53, 0x90, 0x15, 0xae, 0xf4, 0xc3,
+  0xbf, 0xa8, 0x09, 0x8f, 0x6f, 0xd0, 0x22, 0x9b, 0x7a, 0x42, 0xd7, 0xa0,
+  0x50, 0x04, 0x90, 0xff, 0x48, 0x45, 0xa5, 0xf2, 0x7e, 0xe9, 0x6d, 0xec,
+  0x42, 0xba, 0xaf, 0x42, 0xef, 0xee, 0x36, 0xdb, 0x99, 0x31, 0x2a, 0x61,
+  0x1d, 0xac, 0xba, 0x06, 0x0d, 0xa4, 0x89, 0xbe, 0x8d, 0xe1, 0xbe, 0x39,
+  0xb1, 0xed, 0x13, 0x1a, 0xf8, 0x41, 0xb5, 0xd6, 0x0a, 0x1c, 0x87, 0xc4,
+  0x18, 0xd4, 0x3d, 0x76, 0x61, 0xbd, 0x6f, 0x31, 0x72, 0x58, 0x89, 0xbd,
+  0xb6, 0x68, 0xec, 0x7c, 0x3f, 0x58, 0x0b, 0x4c, 0x4c, 0x96, 0x2a, 0x42,
+  0xcf, 0x68, 0x80, 0xfe, 0xdf, 0xd7, 0x6c, 0x77, 0xa0, 0x7e, 0xc0, 0x0f,
+  0xa1, 0xd2, 0xc1, 0x07, 0x10, 0xb6, 0xa1, 0xa7, 0xae, 0x9d, 0xb0, 0xfd,
+  0xae, 0xdf, 0xde, 0x83, 0x97, 0xb7, 0x7a, 0x3e, 0xef, 0x4e, 0x8e, 0xde,
+  0x18, 0x18, 0x81, 0xdf, 0x03, 0x59, 0xd8, 0x7a, 0x35, 0x87, 0x09, 0x77,
+  0x81, 0x58, 0xaa, 0xa3, 0x84, 0x4e, 0x47, 0x09, 0x95, 0x68, 0x05, 0xd4,
+  0xb5, 0x32, 0xe1, 0x1b, 0xd2, 0xda, 0x0c, 0xa1, 0xd5, 0x33, 0xe2, 0x66,
+  0x1f, 0x88, 0xc7, 0x1a, 0x35, 0x65, 0xae, 0xad, 0x72, 0x08, 0x79, 0x4a,
+  0x84, 0x3c, 0xcb, 0x87, 0xf9, 0x64, 0xb2, 0x42, 0xba, 0x33, 0x3c, 0x24,
+  0xd5, 0x40, 0x31, 0xc1, 0x74, 0x70, 0x1b, 0xf1, 0xbd, 0x21, 0xce, 0x1e,
+  0x8e, 0x14, 0xae, 0x5a, 0x47, 0x0a, 0x13, 0x48, 0x25, 0xf7, 0xee, 0x46,
+  0xbd, 0x30, 0x5d, 0x6d, 0x06, 0x35, 0xf1, 0xa8, 0x30, 0x9f, 0xdd, 0x31,
+  0x9a, 0x26, 0x64, 0x80, 0xfd, 0xcb, 0xe8, 0x1f, 0xff, 0xfc, 0xf1, 0xe7,
+  0x40, 0x77, 0x03, 0x74, 0xf8, 0xdd, 0x70, 0x65, 0x21, 0x3c, 0x3d, 0x17,
+  0xd4, 0x16, 0x83, 0x13, 0xcf, 0x89, 0x26, 0x1c, 0xcf, 0xa8, 0xca, 0x64,
+  0x36, 0xe9, 0x3b, 0x39, 0x95, 0xbe, 0x58, 0x44, 0x13, 0x4a, 0x3f, 0x48,
+  0xdd, 0xea, 0xb0, 0x14, 0x9c, 0xcb, 0x77, 0x11, 0xb9, 0x9b, 0x5a, 0x04,
+  0xd9, 0x94, 0x69, 0x83, 0xec, 0xcb, 0x27, 0xe1, 0xe1, 0xc7, 0xd8, 0x36,
+  0x3e, 0xcd, 0x60, 0xfa, 0x87, 0xab, 0x53, 0xe3, 0xea, 0x74, 0xb9, 0xf2,
+  0x0d, 0x50, 0xea, 0x63, 0x2f, 0x79, 0x4c, 0x86, 0xc0, 0x25, 0x4a, 0x05,
+  0x7e, 0xe8, 0xcd, 0xcb, 0xe8, 0x70, 0x0e, 0x34, 0x9e, 0xb6, 0x40, 0x76,
+  0xbc, 0xc3, 0xd7, 0x22, 0x7d, 0xcd, 0xe0, 0x97, 0x4e, 0xf3, 0x02, 0x76,
+  0x68, 0x2e, 0xd5, 0xb8, 0x52, 0x92, 0x5c, 0x77, 0x66, 0x44, 0x54, 0x60,
+  0xe2, 0xb9, 0x03, 0xee, 0xf6, 0x44, 0xe3, 0x26, 0x30, 0x36, 0x07, 0x28,
+  0x8c, 0x94, 0xf5, 0x25, 0x28, 0x8f, 0x30, 0x7b, 0x30, 0xb2, 0xd1, 0x5a,
+  0x2f, 0xbb, 0x42, 0x52, 0x85, 0xe2, 0xc8, 0x05, 0x61, 0x04, 0x4c, 0x19,
+  0x22, 0x5b, 0x58, 0xc0, 0x74, 0xdc, 0x15, 0x99, 0x2e, 0xa6, 0x2e, 0xfa,
+  0x9b, 0xf4, 0x2e, 0xf6, 0xf7, 0x55, 0x17, 0xc0, 0x6e, 0xd0, 0xc8, 0x66,
+  0xaf, 0x62, 0xc1, 0x46, 0xaa, 0xfd, 0x85, 0x5d, 0x4f, 0xac, 0x31, 0x95,
+  0xbd, 0x4b, 0x39, 0x8f, 0xc7, 0xa6, 0x90, 0xde, 0x85, 0x0e, 0xa4, 0x32,
+  0xc4, 0x18, 0xeb, 0x22, 0x93, 0x59, 0x5f, 0xba, 0x6a, 0x53, 0x5a, 0x95,
+  0x1d, 0x93, 0x18, 0x6e, 0x13, 0xd7, 0xa5, 0xc4, 0x14, 0x01, 0xae, 0x86,
+  0x15, 0x87, 0x3e, 0x95, 0x95, 0x8b, 0xe7, 0x21, 0x18, 0xeb, 0xbd, 0x16,
+  0xbc, 0x9c, 0x29, 0x99, 0xfd, 0x62, 0x3f, 0x10, 0x58, 0x32, 0xf5, 0x0e,
+  0x63, 0x18, 0x12, 0x7c, 0x9b, 0xd2, 0x2b, 0x90, 0x87, 0xf0, 0x81, 0x9f,
+  0xc8, 0x81, 0x37, 0x86, 0xc3, 0x58, 0xcb, 0x8b, 0xfd, 0xfd, 0x7d, 0x8e,
+  0xb5, 0x74, 0x4e, 0xe9, 0xc3, 0x57, 0x27, 0xc7, 0x17, 0xef, 0xdf, 0x9f,
+  0x9c, 0xbf, 0x39, 0x79, 0xa3, 0x19, 0x1f, 0xce, 0x4a, 0x2c, 0x75, 0xf8,
+  0x2b, 0xc2, 0x2c, 0x41, 0xd8, 0xe7, 0xed, 0xfd, 0xad, 0xde, 0xce, 0xfe,
+  0x56, 0x04, 0xb4, 0x18, 0x9b, 0x3a, 0xb5, 0x78, 0x16, 0xa3, 0x7d, 0x7b,
+  0xb3, 0x04, 0x55, 0x0d, 0xa1, 0x3d, 0x2b, 0xc4, 0xdc, 0x20, 0xd7, 0x2b,
+  0x7a, 0x7b, 0x92, 0x0a, 0xed, 0xe8, 0x40, 0x66, 0x40, 0xbf, 0x63, 0x40,
+  0xda, 0x6c, 0xc0, 0x52, 0x74, 0x1f, 0x22, 0xd0, 0x9d, 0x2d, 0xfc, 0x50,
+  0x3f, 0x7a, 0x0b, 0xda, 0xc7, 0x24, 0x7f, 0x60, 0x5a, 0x3c, 0xbe, 0x01,
+  0xa5, 0x34, 0xf1, 0x43, 0x95, 0xf5, 0xf7, 0xf1, 0xf5, 0x5d, 0x7e, 0xfd,
+  0x77, 0x8c, 0xd1, 0xef, 0xbf, 0xaa, 0x1b, 0x96, 0x70, 0x91, 0x09, 0x15,
+  0x5e, 0x4b, 0x12, 0x5b, 0xf0, 0xfd, 0x07, 0x6c, 0x8e, 0xbf, 0x3b, 0xba,
+  0xc4, 0xa7, 0xc1, 0x2c, 0xbf, 0xf8, 0xe1, 0x2f, 0xb6, 0xcc, 0xf3, 0x6e,
+  0x5b, 0xb3, 0x19, 0xa5, 0x92, 0x95, 0x1a, 0xf1, 0x65, 0x7e, 0xd0, 0xdb,
+  0x2a, 0xb3, 0xc6, 0x20, 0x54, 0x21, 0x43, 0x2b, 0xc4, 0x0c, 0x54, 0xd8,
+  0x3a, 0xee, 0x91, 0x25, 0x87, 0x56, 0x94, 0x72, 0xc5, 0x43, 0x75, 0xfd,
+  0xc0, 0xca, 0x71, 0x1a, 0x0f, 0x29, 0xf7, 0x7d, 0x48, 0xb3, 0x31, 0x37,
+  0xa6, 0xad, 0x39, 0x66, 0xab, 0x62, 0x99, 0x84, 0xbc, 0xa6, 0x2b, 0x31,
+  0x76, 0x50, 0xa9, 0x2d, 0xd2, 0x79, 0x5c, 0xa4, 0xdc, 0x7e, 0x1e, 0x09,
+  0xfc, 0x9e, 0x7b, 0x65, 0x72, 0xaa, 0x14, 0xc5, 0xbe, 0x2c, 0x98, 0x6c,
+  0xee, 0xa5, 0x9d, 0x9a, 0x5e, 0x0e, 0x48, 0xc4, 0x0c, 0x6b, 0x24, 0x31,
+  0x4a, 0xde, 0xac, 0x95, 0x30, 0x74, 0x75, 0xfb, 0xdf, 0x28, 0x14, 0x6d,
+  0xa0, 0x73, 0xd1, 0xdb, 0xd3, 0xb3, 0x93, 0x8d, 0xe8, 0x6d, 0x52, 0x49,
+  0x89, 0x93, 0x66, 0x18, 0xa3, 0xc8, 0xff, 0x03, 0x29, 0x58, 0x06, 0x94,
+  0x50, 0x6a, 0x84, 0x83, 0xb9, 0x60, 0xe2, 0x83, 0x23, 0x65, 0x43, 0xeb,
+  0xa5, 0xf8, 0x70, 0x68, 0x89, 0x18, 0x8f, 0xd3, 0xdc, 0x32, 0x8d, 0x6f,
+  0xca, 0xc9, 0x07, 0xf2, 0x6e, 0x15, 0xe7, 0xa1, 0xef, 0x20, 0x9e, 0xe5,
+  0x6e, 0x0a, 0x01, 0x4e, 0x5a, 0x72, 0x9e, 0x35, 0x5e, 0x9c, 0x96, 0x8b,
+  0x19, 0x72, 0x83, 0x20, 0xca, 0xcb, 0x2c, 0xb1, 0x95, 0x7d, 0x44, 0xf9,
+  0xdc, 0x29, 0x5e, 0x8c, 0x1e, 0x62, 0xa8, 0xb8, 0x5e, 0x67, 0xe3, 0xde,
+  0xe9, 0xc6, 0x61, 0xda, 0x09, 0xff, 0xb9, 0xf9, 0x55, 0x10, 0x7c, 0x4c,
+  0x1b, 0x59, 0x50, 0xcf, 0x5c, 0x79, 0x83, 0x28, 0x8a, 0x7b, 0xa8, 0x8b,
+  0x90, 0x57, 0xb5, 0xb3, 0x46, 0x09, 0x01, 0xf5, 0x95, 0x7c, 0x77, 0x6a,
+  0xee, 0xfe, 0x45, 0xfa, 0x34, 0xa9, 0xfe, 0x80, 0x25, 0xe0, 0x56, 0xba,
+  0x70, 0x97, 0x5e, 0x93, 0x65, 0x1c, 0x85, 0x5a, 0xa2, 0x31, 0x57, 0x96,
+  0x96, 0xbc, 0xac, 0x4d, 0x61, 0xb6, 0x7e, 0xac, 0xe9, 0xfa, 0x3a, 0x5f,
+  0x7c, 0xec, 0x46, 0xc0, 0xab, 0xc9, 0x97, 0xc2, 0x55, 0x64, 0x65, 0xd0,
+  0xe5, 0x2f, 0xe5, 0x6d, 0x12, 0xda, 0xa3, 0x96, 0xaa, 0xec, 0x94, 0x61,
+  0x1d, 0x7a, 0x89, 0x0a, 0x1d, 0x57, 0x76, 0x51, 0x1f, 0x82, 0x82, 0xf1,
+  0x32, 0x03, 0xda, 0x92, 0x7c, 0xdd, 0x65, 0x41, 0x4d, 0x9d, 0xdd, 0xfd,
+  0x4c, 0xdd, 0x12, 0xf5, 0xd5, 0x45, 0xd8, 0x3b, 0xd2, 0x29, 0xb1, 0xef,
+  0x07, 0x56, 0xbd, 0x8f, 0x6e, 0x53, 0x2a, 0x44, 0x5c, 0x92, 0x3a, 0x17,
+  0x67, 0x5a, 0x6f, 0xc5, 0xd3, 0x34, 0x38, 0xef, 0x40, 0x6e, 0x7d, 0x2a,
+  0x67, 0x08, 0x6b, 0x9f, 0x0c, 0x59, 0x86, 0x4e, 0x03, 0x44, 0x61, 0xd5,
+  0xf9, 0xcc, 0xa8, 0xa2, 0xc1, 0xdc, 0x16, 0x55, 0xd4, 0xb0, 0x1e, 0x92,
+  0x74, 0xc5, 0x00, 0x2e, 0x74, 0x42, 0x0d, 0x97, 0xc9, 0xe5, 0x77, 0x2f,
+  0x10, 0x63, 0x6b, 0x45, 0xc2, 0xd0, 0xf4, 0x7d, 0xb0, 0x44, 0xe7, 0x58,
+  0x12, 0xa0, 0xf8, 0xcd, 0xb8, 0x64, 0xd9, 0x1e, 0xe0, 0x6d, 0xd3, 0xf4,
+  0x2e, 0x94, 0x65, 0x81, 0xf9, 0x11, 0x32, 0x31, 0xca, 0xd2, 0xb0, 0xed,
+  0x62, 0x35, 0xed, 0xd8, 0x84, 0xb4, 0xd9, 0x2f, 0x8d, 0x38, 0x80, 0xb2,
+  0xb3, 0xde, 0x0d, 0x9e, 0xa1, 0xc6, 0x8a, 0x80, 0x5e, 0x19, 0x37, 0xe8,
+  0x7d, 0x07, 0x9a, 0xcf, 0x41, 0xc7, 0x20, 0xaa, 0x93, 0x5f, 0x95, 0xb8,
+  0x63, 0x8d, 0x72, 0xa4, 0x65, 0x74, 0x2f, 0xd8, 0x77, 0x4c, 0x34, 0xf7,
+  0x4a, 0x19, 0x97, 0x29, 0xb8, 0xf1, 0xd3, 0x9a, 0x4d, 0x01, 0x0c, 0x57,
+  0x8c, 0xfa, 0x88, 0xf1, 0x38, 0xa5, 0x1f, 0x7a, 0xc7, 0xf4, 0xf1, 0xde,
+  0x3b, 0x1a, 0xee, 0x8b, 0x8e, 0x71, 0xf8, 0x36, 0x7f, 0x75, 0xe0, 0x37,
+  0x0a, 0xb6, 0x7e, 0x43, 0x36, 0x3c, 0x96, 0x5a, 0x95, 0x41, 0x89, 0x24,
+  0x32, 0x41, 0xee, 0xc1, 0x05, 0x57, 0x64, 0x53, 0x0f, 0x9c, 0xa2, 0x29,
+  0xa5, 0xdf, 0x65, 0xd3, 0xa4, 0x1c, 0x80, 0x14, 0x59, 0x10, 0x98, 0xce,
+  0xb8, 0x97, 0x4f, 0x7a, 0x94, 0x21, 0x0d, 0xcc, 0xff, 0x16, 0x93, 0x91,
+  0x9c, 0x5b, 0x47, 0x00, 0x21, 0x84, 0xbd, 0x3d, 0x1e, 0x87, 0x54, 0x73,
+  0x2e, 0x64, 0x44, 0xad, 0x43, 0x08, 0x5f, 0x0b, 0x2d, 0xf8, 0x20, 0x0f,
+  0xc4, 0x2b, 0x4f, 0xaf, 0x9b, 0x2e, 0x54, 0x88, 0xcc, 0x25, 0x05, 0x11,
+  0x9e, 0x3f, 0x8d, 0xca, 0x23, 0xba, 0xac, 0xbd, 0xd3, 0xaa, 0xc9, 0x86,
+  0x9b, 0xb3, 0x2b, 0x97, 0xfc, 0xcf, 0xcb, 0x05, 0xa9, 0xac, 0x88, 0xd8,
+  0xe9, 0x79, 0x5f, 0xb4, 0x48, 0x84, 0xb0, 0x38, 0x41, 0xf8, 0xef, 0xf7,
+  0xb7, 0xba, 0x5e, 0xa0, 0xbe, 0x22, 0x63, 0x3f, 0xb3, 0x59, 0x42, 0xf0,
+  0x30, 0xf1, 0xc8, 0x5e, 0xa8, 0xba, 0xb6, 0xac, 0x1e, 0x91, 0x5f, 0x9b,
+  0x62, 0x5a, 0x4a, 0x2d, 0xb6, 0x75, 0x0f, 0x36, 0xa7, 0x87, 0xb6, 0x50,
+  0xd8, 0x26, 0x57, 0xd1, 0x86, 0x20, 0x4e, 0x25, 0x63, 0xeb, 0xab, 0x5e,
+  0xb3, 0x4d, 0xa6, 0xe9, 0x76, 0xe6, 0x56, 0x6f, 0x38, 0x7d, 0xcb, 0x5a,
+  0x3d, 0x4d, 0x84, 0x26, 0x7a, 0xa4, 0xad, 0x6f, 0x7a, 0xb0, 0xa9, 0xd2,
+  0xd1, 0xb5, 0x97, 0xe0, 0x0f, 0x19, 0xb0, 0x43, 0x81, 0x43, 0xcb, 0xf6,
+  0x3d, 0x63, 0x90, 0xdd, 0x97, 0xb8, 0x63, 0xa6, 0xb5, 0x80, 0xf6, 0xd0,
+  0xb1, 0xf2, 0x81, 0xc8, 0xd6, 0xb9, 0x4b, 0xcd, 0x3d, 0x43, 0xae, 0x82,
+  0x9c, 0x20, 0xd3, 0x9c, 0x6f, 0x6a, 0xc8, 0xfe, 0xf0, 0xd8, 0x9a, 0x5a,
+  0xdc, 0x92, 0xf3, 0x4b, 0xd7, 0xe6, 0x2d, 0x2a, 0xf6, 0xbd, 0x73, 0x38,
+  0x86, 0x83, 0xe8, 0x3f, 0xf2, 0x84, 0x6b, 0x56, 0x9f, 0x28, 0x59, 0xfd,
+  0xfe, 0xe8, 0xea, 0xfc, 0xf4, 0xfc, 0x9b, 0x03, 0xc3, 0xe3, 0x90, 0xdf,
+  0x35, 0x7b, 0x5a, 0x18, 0xde, 0x4d, 0xbf, 0x65, 0xe4, 0x56, 0xf4, 0xfe,
+  0xb4, 0x61, 0x6c, 0x63, 0x2c, 0x93, 0xd8, 0x33, 0x3b, 0x2f, 0x8b, 0x84,
+  0xe3, 0x22, 0x6c, 0x8b, 0x6a, 0xe5, 0x84, 0x94, 0x6b, 0x92, 0xa8, 0xa4,
+  0xc6, 0x6d, 0x01, 0xc0, 0x86, 0xde, 0x19, 0x9e, 0xc9, 0x2c, 0xaf, 0xf5,
+  0x88, 0x42, 0xa2, 0x9c, 0xd1, 0xf1, 0xe7, 0x2e, 0x05, 0xb0, 0xc5, 0xac,
+  0x1d, 0xd5, 0xd9, 0xe9, 0x13, 0x08, 0xde, 0x32, 0x46, 0xb6, 0x7a, 0x5e,
+  0x4d, 0x7f, 0x1c, 0x69, 0x72, 0x51, 0xd2, 0x91, 0x95, 0x29, 0x39, 0x1b,
+  0xcc, 0x96, 0x68, 0x8e, 0x57, 0xc0, 0x0f, 0x22, 0xf0, 0xd2, 0xf1, 0x92,
+  0xef, 0x0b, 0xa3, 0x93, 0xc9, 0x4f, 0x6d, 0x5d, 0x86, 0xd9, 0x81, 0x67,
+  0xa7, 0x39, 0xdb, 0x3c, 0x67, 0xd6, 0xe7, 0xd9, 0x40, 0x74, 0x58, 0x16,
+  0xfc, 0x89, 0xa2, 0x24, 0x88, 0x43, 0x32, 0x4b, 0x6c, 0x55, 0x92, 0xd1,
+  0x75, 0x6e, 0x58, 0xd7, 0x99, 0x2d, 0x3c, 0xb0, 0x3d, 0x4c, 0x33, 0x8f,
+  0xf0, 0x37, 0xea, 0xd4, 0xc1, 0xe0, 0x15, 0x49, 0x60, 0x35, 0x4b, 0x6a,
+  0xe0, 0x76, 0xa6, 0x35, 0x24, 0x33, 0x75, 0x5f, 0x9e, 0x22, 0xde, 0x53,
+  0xc2, 0x78, 0x63, 0x6e, 0x05, 0x0c, 0x7c, 0x1d, 0xf6, 0x78, 0xb1, 0x1c,
+  0xce, 0xc7, 0xfb, 0xd1, 0x21, 0xfc, 0xc7, 0x53, 0xb2, 0x28, 0x67, 0x74,
+  0x70, 0x0c, 0x8a, 0x16, 0x26, 0xb8, 0xa0, 0xbc, 0x60, 0xc8, 0x1b, 0xa7,
+  0x8b, 0xc4, 0xee, 0x0e, 0xcc, 0xf4, 0x21, 0x56, 0x68, 0x4b, 0xd0, 0x08,
+  0xa7, 0x69, 0xc5, 0x79, 0x7a, 0x2d, 0xb8, 0x41, 0x4e, 0x6a, 0x03, 0x9d,
+  0xf9, 0xf6, 0xce, 0xe7, 0x11, 0x16, 0x1f, 0xbc, 0x7f, 0xb3, 0x1f, 0x8d,
+  0x6e, 0x92, 0xd1, 0x6d, 0xb9, 0x9c, 0x2b, 0x3b, 0xc6, 0x3d, 0x05, 0xf3,
+  0x00, 0xe7, 0xe9, 0x21, 0x3e, 0xc0, 0xc4, 0x67, 0xe9, 0x08, 0x4b, 0xff,
+  0xba, 0xb5, 0xe8, 0xd4, 0x44, 0xa3, 0x53, 0x8e, 0x1d, 0x6a, 0xc4, 0x06,
+  0xa5, 0x0b, 0x70, 0x4e, 0x4d, 0x20, 0x78, 0x01, 0x7b, 0x00, 0x1f, 0x2f,
+  0xb9, 0x9b, 0xf5, 0x4a, 0x97, 0xed, 0xcb, 0xba, 0xd7, 0x1b, 0x2f, 0xf6,
+  0x56, 0xff, 0x55, 0x4b, 0x7f, 0x8e, 0x5a, 0x6b, 0x0e, 0xac, 0x55, 0x32,
+  0xd5, 0x76, 0x64, 0x0f, 0xa0, 0x96, 0x8f, 0x93, 0x44, 0x40, 0x28, 0x0d,
+  0xe3, 0x79, 0x1f, 0xc7, 0x27, 0x37, 0xf1, 0x09, 0xe9, 0x2d, 0x47, 0x59,
+  0x6c, 0x09, 0x61, 0x52, 0x30, 0x69, 0x51, 0x9a, 0x90, 0x89, 0x02, 0x1a,
+  0x84, 0x33, 0x0a, 0xc1, 0xfa, 0x4a, 0x9b, 0xa9, 0xff, 0x56, 0x97, 0x8d,
+  0x65, 0x31, 0x52, 0x42, 0xeb, 0xa0, 0x39, 0x68, 0x2d, 0x21, 0xe1, 0xb5,
+  0xa1, 0x4d, 0xe1, 0x11, 0x99, 0xf9, 0x2e, 0xc7, 0xa5, 0xed, 0x71, 0x94,
+  0x8c, 0x46, 0x48, 0xce, 0x73, 0xec, 0x12, 0xcb, 0x16, 0x75, 0x7e, 0x9f,
+  0x4d, 0x0b, 0xf4, 0x8f, 0x50, 0x51, 0x58, 0x1c, 0x8a, 0x65, 0x84, 0x10,
+  0x4c, 0xed, 0xd8, 0x60, 0x71, 0xbd, 0x40, 0x4e, 0x6f, 0x76, 0x05, 0xf3,
+  0xed, 0x39, 0x88, 0xcd, 0x15, 0xcb, 0x6c, 0xb3, 0x3b, 0x47, 0xb4, 0xd5,
+  0x95, 0x63, 0xda, 0xee, 0x6f, 0x3d, 0xe7, 0x98, 0x90, 0x88, 0x6a, 0xa7,
+  0x03, 0xef, 0xb9, 0x5a, 0xb2, 0x26, 0x91, 0x03, 0xb1, 0xb7, 0x64, 0xdf,
+  0xc1, 0x42, 0xc5, 0x7f, 0x95, 0x8c, 0x6b, 0x43, 0xad, 0xe4, 0x39, 0x6e,
+  0xf3, 0x36, 0x9e, 0xee, 0xb6, 0x84, 0x61, 0xf0, 0x5f, 0x3b, 0x4d, 0xa2,
+  0x83, 0x5f, 0xff, 0xca, 0xd5, 0x6c, 0xff, 0x82, 0x52, 0x8d, 0xad, 0xae,
+  0xfd, 0xde, 0x96, 0x69, 0x89, 0xc0, 0x13, 0xb2, 0xf7, 0xa2, 0x31, 0x9c,
+  0x0f, 0x79, 0x4f, 0x2f, 0x60, 0xb9, 0x4b, 0x5e, 0xf4, 0x50, 0x65, 0x87,
+  0xc3, 0xf2, 0x54, 0xa8, 0xe0, 0xf4, 0xe1, 0x78, 0x4b, 0x54, 0x6c, 0x51,
+  0xa7, 0x25, 0xe2, 0xa4, 0x98, 0x11, 0xa3, 0x9a, 0x19, 0x93, 0x3e, 0x98,
+  0xb6, 0x4f, 0x04, 0xb2, 0xe3, 0xa8, 0xe8, 0xf4, 0x03, 0xdc, 0xd4, 0xe8,
+  0xc3, 0x82, 0x68, 0x10, 0x63, 0xdc, 0x95, 0x05, 0xfe, 0xa7, 0xd9, 0x45,
+  0x6d, 0xb3, 0xb3, 0xd8, 0x5f, 0x1a, 0x93, 0xa7, 0x62, 0xcd, 0x52, 0xbf,
+  0x53, 0x62, 0x15, 0x2c, 0xaa, 0xfc, 0xd2, 0x22, 0x8e, 0x01, 0xf1, 0xed,
+  0x24, 0x43, 0xb0, 0xbe, 0x7a, 0xb1, 0x40, 0xd5, 0x94, 0x51, 0x6a, 0xd9,
+  0xf4, 0x08, 0x8f, 0xce, 0xea, 0xbe, 0xf6, 0xec, 0xb3, 0xf0, 0xf4, 0x01,
+  0xff, 0x4a, 0x6a, 0xbb, 0x84, 0x37, 0x80, 0xfd, 0xbc, 0x00, 0x50, 0xf0,
+  0x38, 0x9e, 0xdd, 0x02, 0xc1, 0xc3, 0xef, 0x6a, 0x34, 0xb1, 0xe0, 0xb5,
+  0xf4, 0x9f, 0x47, 0xdc, 0x5b, 0xdd, 0xe0, 0xec, 0x90, 0xda, 0x5c, 0xe2,
+  0xaf, 0x81, 0xe1, 0xbd, 0x0a, 0x10, 0xd7, 0xaf, 0xba, 0x0b, 0x3b, 0xab,
+  0xc2, 0xa0, 0xfe, 0x1d, 0xdc, 0xed, 0xeb, 0xd7, 0xda, 0xf6, 0xca, 0x63,
+  0x67, 0xad, 0xed, 0x23, 0x9e, 0xb7, 0x5b, 0x2d, 0x7b, 0x63, 0xf6, 0xae,
+  0xb1, 0x5b, 0x6d, 0x47, 0xab, 0x57, 0xd5, 0xe3, 0x57, 0x2d, 0x57, 0x75,
+  0x37, 0xbc, 0x9b, 0x46, 0x43, 0x6d, 0xf8, 0x3c, 0xd1, 0x65, 0x56, 0xa4,
+  0x64, 0x12, 0xc7, 0xb3, 0x7e, 0xf4, 0xc6, 0xe6, 0xb4, 0x10, 0xf0, 0x9e,
+  0x67, 0xac, 0x8e, 0x97, 0x2d, 0x99, 0x1f, 0xab, 0x4f, 0x6b, 0x57, 0x92,
+  0x7a, 0x6c, 0xe2, 0x02, 0xc9, 0x74, 0x29, 0xca, 0xca, 0x3d, 0x40, 0x4c,
+  0xf1, 0xdc, 0x68, 0xf8, 0x52, 0xc2, 0x74, 0x98, 0x9a, 0x25, 0x01, 0x18,
+  0xda, 0xfa, 0x5d, 0x37, 0x66, 0x6e, 0xd4, 0x6b, 0x2c, 0x21, 0x08, 0x79,
+  0x8a, 0xe8, 0x8b, 0x9a, 0xde, 0x4e, 0x12, 0x51, 0x15, 0x4a, 0xf8, 0xc8,
+  0x5d, 0x1a, 0x47, 0x47, 0xb3, 0xaa, 0x37, 0xf8, 0x6e, 0xc4, 0x11, 0xb6,
+  0x5a, 0x78, 0xca, 0x6b, 0xf2, 0x4a, 0x5e, 0x15, 0xea, 0xcf, 0x55, 0x4a,
+  0xd2, 0x6a, 0x5a, 0x8c, 0x96, 0x73, 0xc2, 0x40, 0x25, 0xb2, 0x32, 0x7d,
+  0x22, 0xf0, 0x20, 0x2d, 0xa5, 0x71, 0xba, 0xbd, 0x0f, 0x7e, 0x18, 0xdf,
+  0x96, 0xba, 0x24, 0x29, 0xd2, 0xe1, 0x3a, 0x0c, 0x33, 0xe7, 0x7a, 0x7b,
+  0xb5, 0x80, 0x08, 0x6a, 0x58, 0x76, 0x0c, 0xd3, 0x8b, 0x28, 0x30, 0xff,
+  0xf9, 0xe1, 0xf4, 0xb8, 0xe6, 0xdd, 0xe7, 0x38, 0x4a, 0xb4, 0x32, 0x5a,
+  0xc1, 0xb0, 0xb2, 0xf2, 0xe4, 0x04, 0x75, 0x58, 0xcd, 0xc6, 0xd5, 0xc4,
+  0xb9, 0xda, 0xf1, 0xe6, 0x59, 0x40, 0xa4, 0x82, 0xbe, 0xf0, 0xcb, 0xee,
+  0xe8, 0x8e, 0xde, 0xd1, 0xdd, 0xdf, 0xfa, 0x8e, 0xee, 0xfe, 0x36, 0x77,
+  0x54, 0x39, 0x88, 0xf3, 0x77, 0xf7, 0xba, 0x7a, 0x66, 0x29, 0x5d, 0x5f,
+  0xd7, 0xe1, 0x5c, 0xcf, 0x19, 0xe8, 0x31, 0x78, 0x44, 0x4f, 0xfc, 0x16,
+  0x3d, 0x2e, 0x90, 0x0d, 0xd5, 0x86, 0x45, 0xe2, 0x38, 0x55, 0xf0, 0xc7,
+  0x6e, 0x74, 0xca, 0xc0, 0xe6, 0x94, 0x9d, 0x24, 0xaf, 0x9f, 0x71, 0x7d,
+  0xad, 0xf8, 0xbd, 0xd5, 0xe7, 0x1f, 0xa8, 0xc0, 0x4f, 0x47, 0x08, 0xaf,
+  0x66, 0x3d, 0xee, 0x68, 0x31, 0xab, 0xce, 0x58, 0x2c, 0x29, 0xa4, 0x10,
+  0x1d, 0x2d, 0xb0, 0x44, 0x16, 0x34, 0x8e, 0x07, 0xdb, 0x1f, 0x19, 0x49,
+  0xcc, 0xcf, 0x45, 0xc2, 0x4d, 0x46, 0x0f, 0xae, 0x64, 0xde, 0x37, 0xa7,
+  0x43, 0xa3, 0x33, 0xfc, 0xe1, 0x0c, 0x89, 0xbf, 0x60, 0xc3, 0x71, 0x07,
+  0x08, 0x7c, 0xea, 0xb5, 0x55, 0x18, 0x3e, 0x56, 0x81, 0x32, 0x30, 0x5c,
+  0x35, 0xee, 0xc2, 0x7a, 0x29, 0x59, 0xa6, 0x7b, 0xb0, 0x8f, 0x1b, 0x5d,
+  0x6c, 0x40, 0xbf, 0xa0, 0x1d, 0xc0, 0x3a, 0x1d, 0x63, 0x5c, 0x61, 0x99,
+  0x5a, 0x3a, 0x45, 0x8f, 0x55, 0xce, 0xd7, 0xd8, 0xb3, 0x68, 0xd0, 0xbb,
+  0x2d, 0x69, 0x8e, 0x9a, 0x43, 0x28, 0x70, 0xb3, 0xf5, 0x12, 0xd5, 0xb4,
+  0x4b, 0x9d, 0xe7, 0xc8, 0x37, 0xdd, 0x0c, 0x1e, 0x89, 0xc7, 0x9a, 0xed,
+  0x5f, 0xd5, 0x69, 0x14, 0xd6, 0x5f, 0x2c, 0x5e, 0x61, 0x5c, 0xd2, 0xa2,
+  0x83, 0x02, 0x7b, 0xf4, 0x64, 0xa0, 0xd7, 0x4f, 0xfd, 0xc5, 0x11, 0x79,
+  0x36, 0xf9, 0x0b, 0xe2, 0x80, 0x62, 0x33, 0xdf, 0x40, 0x44, 0xa3, 0x97,
+  0x08, 0xfd, 0xf9, 0xdc, 0x69, 0xa5, 0xeb, 0xc3, 0xea, 0x19, 0xdf, 0xb3,
+  0x05, 0x8a, 0xae, 0xdd, 0x58, 0x05, 0x77, 0xee, 0xf7, 0xfb, 0x01, 0x38,
+  0x8b, 0xbb, 0x34, 0xb9, 0xaf, 0xb9, 0xe2, 0x65, 0x66, 0x5d, 0xd3, 0x20,
+  0x85, 0x3d, 0x40, 0x77, 0xb8, 0x43, 0x30, 0xe4, 0x10, 0x91, 0x34, 0x5b,
+  0xca, 0x49, 0xec, 0x95, 0x77, 0x9f, 0x76, 0xb6, 0xf9, 0x96, 0xb7, 0xb9,
+  0x0c, 0xd5, 0x83, 0x32, 0x30, 0xb2, 0xed, 0xe7, 0xd0, 0x45, 0x8f, 0x48,
+  0xf1, 0x18, 0x51, 0xe3, 0x0e, 0xcb, 0xd3, 0xe8, 0xfa, 0x73, 0xfd, 0x41,
+  0x5a, 0x32, 0x2e, 0x31, 0xe3, 0x0a, 0xf9, 0xd1, 0x62, 0xfe, 0x4c, 0x9d,
+  0x1f, 0x08, 0x3f, 0x57, 0xe9, 0x05, 0x62, 0x6f, 0x84, 0x8e, 0x28, 0x12,
+  0x4e, 0xda, 0x8c, 0x80, 0x5c, 0x31, 0x81, 0xd4, 0x23, 0x39, 0x11, 0xa7,
+  0x73, 0x89, 0x93, 0x29, 0x63, 0xdb, 0xc9, 0x44, 0xba, 0xc0, 0x70, 0xbc,
+  0x57, 0xcf, 0xd5, 0xe5, 0xd3, 0xee, 0x4a, 0xc0, 0x3a, 0x92, 0xd6, 0x6c,
+  0xe2, 0x8b, 0xb5, 0x78, 0xcb, 0x4d, 0x1b, 0xd1, 0xd6, 0xa7, 0x5a, 0x4c,
+  0x2d, 0xeb, 0xd5, 0x66, 0xf0, 0x3e, 0x5a, 0x99, 0x0c, 0x5e, 0xba, 0x40,
+  0xd9, 0x1e, 0xd4, 0x80, 0x6d, 0x1e, 0x84, 0x03, 0x73, 0x83, 0x9f, 0xe0,
+  0x11, 0xb3, 0x5e, 0xc1, 0xa8, 0x17, 0xd8, 0x82, 0x6a, 0x89, 0x89, 0x27,
+  0x74, 0xf7, 0xa5, 0x7a, 0x5d, 0x0a, 0xd6, 0x9b, 0x60, 0x26, 0x06, 0x12,
+  0x0e, 0x77, 0xbf, 0x7f, 0x13, 0x3f, 0x3c, 0xf4, 0xcb, 0x64, 0x13, 0xa8,
+  0xb6, 0xdc, 0x2c, 0xcb, 0x19, 0x7e, 0xb4, 0x24, 0xf4, 0xb5, 0x95, 0xdd,
+  0x2d, 0x1f, 0x1e, 0x0d, 0x01, 0x09, 0x73, 0x1e, 0xc5, 0xf8, 0x6a, 0x8d,
+  0xd9, 0xda, 0xf6, 0x96, 0xdc, 0x20, 0xa6, 0x99, 0x32, 0xcc, 0xc0, 0xd3,
+  0x04, 0xa1, 0xee, 0x56, 0xdb, 0x32, 0x6b, 0xb0, 0xc9, 0x59, 0x66, 0x1c,
+  0x8b, 0xa7, 0x8f, 0x50, 0xd3, 0x45, 0x5b, 0x69, 0x87, 0xdc, 0x55, 0x27,
+  0x34, 0x0a, 0x9b, 0x62, 0x0a, 0x20, 0x40, 0x3e, 0x58, 0x58, 0x1d, 0xee,
+  0xf8, 0x84, 0x96, 0x74, 0x7e, 0x1b, 0x80, 0x7c, 0x6a, 0x73, 0x5b, 0x3a,
+  0x4b, 0xc3, 0x52, 0x91, 0x03, 0x0b, 0x30, 0x78, 0x7f, 0x7f, 0xdf, 0x5f,
+  0xe5, 0xb7, 0xfc, 0x97, 0x63, 0xe0, 0xf5, 0xe1, 0x2e, 0x80, 0x6a, 0xcf,
+  0xd2, 0x6c, 0xf9, 0x10, 0x39, 0x18, 0x2f, 0xa6, 0x19, 0x90, 0x06, 0xe6,
+  0xa2, 0xef, 0xae, 0xde, 0x9a, 0x46, 0xd8, 0x8a, 0xae, 0x81, 0x9e, 0xdf,
+  0xd2, 0xd7, 0xda, 0x92, 0x94, 0x71, 0x77, 0x10, 0x34, 0xfa, 0xf8, 0xe8,
+  0xf2, 0xe3, 0xf9, 0xc9, 0xf5, 0xc7, 0xab, 0xa3, 0xef, 0x71, 0x0b, 0xd9,
+  0x2b, 0x03, 0xf2, 0x0a, 0xe3, 0x01, 0x45, 0x9e, 0x63, 0x53, 0xbb, 0xf7,
+  0x54, 0x36, 0x98, 0x66, 0x04, 0xaf, 0x12, 0x6c, 0xb3, 0x6e, 0x30, 0xa3,
+  0x64, 0x9e, 0x30, 0x97, 0x83, 0xa8, 0xb6, 0x5f, 0xb7, 0x49, 0x91, 0x25,
+  0xb3, 0x7e, 0x5e, 0x4c, 0x91, 0x0a, 0x37, 0xdf, 0x08, 0xff, 0x0c, 0x0e,
+  0xb7, 0x29, 0x59, 0x0d, 0x08, 0x41, 0x76, 0x57, 0x4c, 0x10, 0xb1, 0xe4,
+  0xb9, 0x3d, 0x0a, 0x1d, 0xd2, 0xdc, 0x23, 0x06, 0xb8, 0xb8, 0xdb, 0x5b,
+  0xa1, 0xde, 0xd5, 0x3b, 0xc5, 0x4a, 0x8f, 0x37, 0xa2, 0x20, 0xf2, 0xfd,
+  0xb8, 0xb9, 0x2a, 0x5c, 0x9d, 0x39, 0x7b, 0xec, 0x06, 0x00, 0x10, 0x48,
+  0x9d, 0xcb, 0x0d, 0x94, 0x04, 0x15, 0xb8, 0x61, 0x92, 0xcd, 0xca, 0x16,
+  0xf7, 0x46, 0x2b, 0x6a, 0xfa, 0x10, 0xda, 0x7c, 0x0f, 0xbd, 0x17, 0xbe,
+  0x65, 0x88, 0x4d, 0x17, 0x9d, 0x35, 0xbf, 0x90, 0x35, 0xbf, 0xf8, 0x97,
+  0xd6, 0xfc, 0xe2, 0x5f, 0x58, 0xf3, 0xde, 0x6f, 0xbc, 0xe6, 0xbd, 0xe0,
+  0x9a, 0x9d, 0xaf, 0xf4, 0xfe, 0x8a, 0x6b, 0xfe, 0xeb, 0x32, 0xbb, 0xed,
+  0xc1, 0x7c, 0x51, 0x0a, 0x4b, 0x8f, 0xb5, 0xb2, 0xc5, 0x64, 0x73, 0x1b,
+  0xed, 0x90, 0x6f, 0xdf, 0x02, 0x0c, 0x3b, 0x3d, 0xe3, 0x62, 0x31, 0x15,
+  0x38, 0xc4, 0x5f, 0xf9, 0x4d, 0x2d, 0x3c, 0x03, 0x21, 0xc5, 0x7a, 0xdf,
+  0x72, 0x84, 0x7e, 0x0a, 0xd4, 0xec, 0x3b, 0x32, 0x1b, 0x1d, 0xb6, 0xa3,
+  0x7d, 0x57, 0xe8, 0xa6, 0xc7, 0x3e, 0xce, 0xd1, 0x88, 0xdc, 0x64, 0x74,
+  0x27, 0x4d, 0x0c, 0xdc, 0xf6, 0x65, 0x27, 0xa3, 0x83, 0x31, 0xa0, 0x74,
+  0x60, 0x8e, 0x0b, 0x62, 0xcc, 0xc7, 0xe7, 0x19, 0xd7, 0x8f, 0x0b, 0x1c,
+  0x10, 0x64, 0x73, 0x01, 0x32, 0x98, 0x13, 0x51, 0xa8, 0x99, 0x78, 0x64,
+  0x26, 0x19, 0x35, 0x26, 0x28, 0xd1, 0x8e, 0x9b, 0xe4, 0x71, 0xcd, 0x53,
+  0x18, 0x46, 0xb3, 0x1c, 0xf9, 0xcd, 0x78, 0xb5, 0xf1, 0x31, 0xb4, 0x0d,
+  0xee, 0x58, 0x5e, 0x34, 0x3a, 0xde, 0xb9, 0x72, 0xe3, 0x36, 0x49, 0x16,
+  0xf1, 0x8c, 0xa0, 0x35, 0x30, 0xf7, 0xa1, 0xad, 0x51, 0x56, 0x2d, 0x39,
+  0x52, 0x0b, 0x07, 0xe8, 0x8d, 0x5a, 0xe6, 0x19, 0xf1, 0x39, 0x3e, 0x48,
+  0xac, 0x94, 0x89, 0xd2, 0x31, 0xd5, 0xba, 0x86, 0xfb, 0xa6, 0xd8, 0xa6,
+  0x0c, 0x66, 0x12, 0xd8, 0x7a, 0x23, 0x1f, 0x0a, 0x06, 0x8c, 0xf9, 0x84,
+  0xe2, 0xc8, 0x61, 0x6a, 0xce, 0x5d, 0x8a, 0x29, 0x79, 0x4d, 0xec, 0x61,
+  0xf3, 0x3e, 0xbf, 0x4e, 0xa8, 0x52, 0xb5, 0xce, 0x09, 0x7c, 0x80, 0xf8,
+  0x44, 0x6e, 0xe4, 0x1f, 0xaa, 0x1b, 0xd4, 0x47, 0xd4, 0x23, 0x29, 0x05,
+  0x50, 0x66, 0xfd, 0xf7, 0xfa, 0xf8, 0xf2, 0xe3, 0xb7, 0x27, 0x27, 0x97,
+  0xa7, 0x6f, 0xce, 0x4e, 0xe4, 0xc2, 0x98, 0x1f, 0x9d, 0x5f, 0x7f, 0x77,
+  0xa6, 0x7d, 0xe2, 0x94, 0x16, 0x3d, 0x82, 0x17, 0xd8, 0x7f, 0x66, 0xca,
+  0x5d, 0x6a, 0x87, 0x05, 0x86, 0xf4, 0xd1, 0xe9, 0x0f, 0xa0, 0xb5, 0x5e,
+  0xf6, 0x3e, 0xfc, 0xe0, 0xf5, 0x22, 0x71, 0x6a, 0x4c, 0xfc, 0x66, 0x02,
+  0xb6, 0xe4, 0x84, 0x7a, 0xba, 0xdb, 0xb5, 0xb7, 0xa5, 0xdc, 0xfd, 0xc6,
+  0x62, 0x10, 0x1b, 0x9c, 0x67, 0x46, 0x61, 0xe0, 0x17, 0xb5, 0xdf, 0x8f,
+  0x93, 0xd6, 0xf6, 0x62, 0x4b, 0xdb, 0xa8, 0xad, 0x0c, 0x5a, 0x7c, 0x5e,
+  0xb7, 0x19, 0x6f, 0x93, 0x47, 0xc2, 0x70, 0x8c, 0x0e, 0xf1, 0xbf, 0xe1,
+  0x36, 0x77, 0x97, 0x45, 0x7a, 0x87, 0xfa, 0x1f, 0x3c, 0xcb, 0x21, 0x5d,
+  0x7c, 0xb4, 0x6f, 0x9a, 0xfe, 0x49, 0x58, 0x19, 0x07, 0xa1, 0xcc, 0x13,
+  0x1a, 0x34, 0x0a, 0x79, 0x7b, 0x08, 0x19, 0x07, 0x7f, 0xc3, 0xe3, 0xd1,
+  0x80, 0xb0, 0x3d, 0xfd, 0xe8, 0xcd, 0xc9, 0x55, 0x37, 0xba, 0x3c, 0x79,
+  0xcf, 0x85, 0x2a, 0x27, 0xe7, 0xdf, 0x70, 0x1f, 0x44, 0x6d, 0x6f, 0x47,
+  0x99, 0x10, 0x7e, 0xb2, 0xa6, 0xb3, 0x27, 0xf0, 0x2e, 0x65, 0xa6, 0x96,
+  0x25, 0x48, 0xd7, 0x4f, 0x08, 0xa0, 0xc3, 0x6b, 0x3b, 0x84, 0xff, 0x84,
+  0xb6, 0x0a, 0xec, 0x88, 0x77, 0x81, 0xed, 0x12, 0xc5, 0xcc, 0xe4, 0xce,
+  0x88, 0x51, 0x80, 0xbb, 0xc1, 0x3b, 0x06, 0x1b, 0xe2, 0x67, 0x71, 0xe8,
+  0x06, 0x91, 0xd9, 0x47, 0x10, 0x42, 0xdc, 0x3c, 0x57, 0x62, 0xf0, 0x68,
+  0xc5, 0xc2, 0xe7, 0xba, 0x48, 0x97, 0x04, 0x48, 0x6e, 0x37, 0x23, 0x54,
+  0x1d, 0x5d, 0xa4, 0xdc, 0x88, 0xb8, 0x81, 0x4c, 0x07, 0xdb, 0x9d, 0x8e,
+  0x19, 0x81, 0x01, 0x03, 0xc8, 0x79, 0x81, 0x09, 0x1c, 0x08, 0x7d, 0xf0,
+  0xbf, 0x36, 0xfb, 0x65, 0x79, 0xb3, 0x99, 0x8e, 0x3f, 0x16, 0x65, 0xbc,
+  0xd6, 0x94, 0x45, 0xce, 0xaf, 0xc7, 0xf8, 0xeb, 0x68, 0xad, 0x6f, 0x1e,
+  0x95, 0xbf, 0xe3, 0xcf, 0x83, 0x58, 0x00, 0x2a, 0x82, 0xd8, 0xb5, 0xa2,
+  0xf9, 0x9c, 0xda, 0x3e, 0x71, 0x96, 0x0e, 0x0b, 0x50, 0xe0, 0x6c, 0xf7,
+  0x0f, 0xe9, 0x86, 0xb8, 0xb8, 0x1d, 0x95, 0xdb, 0xdb, 0x3e, 0x1a, 0xbd,
+  0x29, 0x71, 0xec, 0x6a, 0x5e, 0xee, 0xe5, 0xb7, 0xc7, 0x83, 0x3f, 0x6e,
+  0x6f, 0x53, 0x1a, 0xf4, 0x3a, 0xa6, 0xab, 0xbe, 0xdc, 0xdf, 0xde, 0xd9,
+  0x08, 0xa9, 0x8f, 0x5e, 0x5e, 0x0f, 0x76, 0xb0, 0x8c, 0x2d, 0x7d, 0xe2,
+  0xee, 0x53, 0x98, 0x5b, 0x8a, 0x1e, 0xcc, 0xd0, 0xe3, 0x04, 0x93, 0x04,
+  0xa9, 0xb2, 0x93, 0xc3, 0x99, 0x94, 0x3b, 0xe9, 0xa5, 0x5e, 0x18, 0x1c,
+  0xa4, 0x0e, 0xcf, 0xfe, 0xa0, 0x63, 0xa8, 0xca, 0xcd, 0x21, 0xa7, 0xfc,
+  0x13, 0x67, 0xd6, 0x7d, 0xde, 0xa7, 0x66, 0x78, 0xcd, 0x5d, 0x17, 0x25,
+  0x3a, 0x5a, 0xa0, 0x29, 0x16, 0x5f, 0xb6, 0x75, 0x64, 0x23, 0x41, 0x00,
+  0xf3, 0x03, 0x3c, 0x5f, 0xbd, 0xcc, 0xa9, 0xc3, 0xf4, 0x83, 0x04, 0x1f,
+  0xdb, 0x41, 0xcd, 0xee, 0x3b, 0x0c, 0xc2, 0x1d, 0xd4, 0x77, 0xf6, 0xf1,
+  0x37, 0xa2, 0x0e, 0xdc, 0xdd, 0xf0, 0x90, 0x9f, 0xf4, 0x4e, 0x16, 0xc3,
+  0xe8, 0x70, 0x06, 0x2f, 0xce, 0x5a, 0x4a, 0xef, 0x4e, 0xb8, 0xdd, 0xd6,
+  0xb7, 0x49, 0x31, 0x4c, 0x8a, 0xbc, 0x6c, 0x54, 0x09, 0xd1, 0x6a, 0xa5,
+  0xee, 0x17, 0x6b, 0x02, 0x60, 0x1c, 0x4d, 0x97, 0xf2, 0x1a, 0x6b, 0x56,
+  0x64, 0x7d, 0x0b, 0xc6, 0x7b, 0x1d, 0x97, 0x67, 0x8d, 0x6a, 0x95, 0xf0,
+  0x02, 0x60, 0x7f, 0x29, 0xfc, 0x13, 0xb8, 0xf1, 0x84, 0x9a, 0xc1, 0xa4,
+  0xf1, 0x6c, 0x0d, 0xbb, 0xfe, 0x34, 0xaf, 0x91, 0x50, 0xda, 0x5a, 0x1f,
+  0x0b, 0xd0, 0xd8, 0x58, 0xa3, 0x2c, 0x28, 0x2a, 0xb7, 0x8e, 0x23, 0x99,
+  0x8b, 0xe6, 0x77, 0xe3, 0x35, 0xb7, 0x69, 0x80, 0xa5, 0xd7, 0x09, 0xc9,
+  0x0c, 0x57, 0x87, 0x4e, 0x6a, 0xcb, 0x30, 0xfe, 0x8d, 0xc5, 0x14, 0x1f,
+  0xc3, 0x2f, 0x6e, 0x9e, 0x6d, 0xfa, 0x65, 0x37, 0x86, 0xd3, 0xb3, 0x72,
+  0xcf, 0x59, 0xdf, 0x0f, 0xb6, 0xa2, 0x3d, 0xe2, 0xea, 0xf0, 0x06, 0xd6,
+  0x08, 0x75, 0x25, 0xc0, 0x92, 0xa6, 0x31, 0x1b, 0x86, 0x52, 0xfd, 0x6a,
+  0x13, 0x27, 0x98, 0xd3, 0xf8, 0xc1, 0x71, 0x5a, 0x2a, 0xf5, 0x0f, 0xd1,
+  0x69, 0xf7, 0xd8, 0x78, 0x3f, 0x8e, 0xc4, 0x1b, 0x41, 0x75, 0x51, 0xf7,
+  0x05, 0xa2, 0xa5, 0x66, 0x16, 0x73, 0x79, 0x96, 0xb4, 0x82, 0x68, 0x29,
+  0xa2, 0x2a, 0x1c, 0xd2, 0x4c, 0x7a, 0x1b, 0x6a, 0x36, 0x62, 0xa1, 0x73,
+  0xea, 0x49, 0x32, 0x87, 0x3a, 0x0c, 0xf0, 0xbd, 0x3f, 0x3c, 0x09, 0xa9,
+  0xf2, 0xd4, 0xd9, 0x59, 0x95, 0x3e, 0x04, 0x93, 0xf0, 0x6c, 0xac, 0xb8,
+  0x46, 0x99, 0x1f, 0x55, 0x0c, 0xf4, 0x48, 0x26, 0x1d, 0x02, 0x3f, 0x4d,
+  0x3c, 0xb0, 0xac, 0x41, 0x0d, 0x5f, 0x41, 0x5a, 0xbe, 0x6a, 0x09, 0x1d,
+  0xbd, 0x67, 0x5a, 0x5f, 0x9b, 0x26, 0x65, 0x4c, 0xfb, 0x3d, 0x52, 0x59,
+  0x9b, 0xee, 0x36, 0x6c, 0x57, 0x62, 0xcb, 0xb4, 0xe9, 0xd6, 0x12, 0x18,
+  0xbd, 0x82, 0x1c, 0x69, 0x96, 0x34, 0x6f, 0x07, 0xfa, 0xa2, 0x25, 0xff,
+  0x96, 0x8c, 0x8b, 0xd8, 0xf3, 0x81, 0x50, 0xc1, 0x03, 0x77, 0x00, 0x11,
+  0x22, 0x58, 0x1b, 0xb3, 0x67, 0x94, 0x8e, 0xc4, 0x4c, 0x15, 0x2f, 0x9e,
+  0x84, 0xa1, 0xb8, 0x6b, 0x02, 0xdc, 0x68, 0xcf, 0x54, 0x18, 0xc2, 0x10,
+  0xf7, 0xe9, 0xb8, 0xba, 0xa1, 0x9e, 0x3c, 0x6a, 0x19, 0x95, 0x82, 0x0b,
+  0x80, 0x4e, 0xea, 0xd4, 0xaf, 0x7a, 0x1b, 0xb6, 0x38, 0xf0, 0xf8, 0xc0,
+  0x68, 0x53, 0x23, 0x06, 0xc8, 0x42, 0x47, 0x1d, 0x9d, 0x03, 0x39, 0xb5,
+  0x37, 0x59, 0xd5, 0x33, 0xd0, 0x30, 0x31, 0xdc, 0xa2, 0x09, 0xb6, 0xdb,
+  0xf1, 0xcc, 0x35, 0x2d, 0x4f, 0xeb, 0xeb, 0x0d, 0x41, 0x1a, 0x5e, 0xbb,
+  0x65, 0x50, 0xfc, 0x6f, 0xd7, 0xb4, 0xab, 0xec, 0x32, 0xab, 0xdc, 0x0a,
+  0x1a, 0xe4, 0xe5, 0xd1, 0x6d, 0xea, 0x77, 0x6a, 0xa0, 0xaf, 0x77, 0x81,
+  0xd7, 0xcc, 0x79, 0x84, 0xf7, 0x6b, 0xea, 0x28, 0x45, 0xc0, 0x84, 0x69,
+  0x2c, 0xbf, 0x67, 0xb0, 0x94, 0xb5, 0x29, 0x3f, 0xf4, 0x8d, 0x7d, 0xa8,
+  0x31, 0x1c, 0x7a, 0xed, 0xd9, 0x4b, 0xaf, 0xc9, 0x74, 0xe5, 0x01, 0x16,
+  0x68, 0x7c, 0xdb, 0x8d, 0x76, 0xe7, 0x74, 0x28, 0xdb, 0xdf, 0x84, 0x18,
+  0x17, 0xf7, 0x08, 0x2e, 0x73, 0x53, 0x2e, 0xdf, 0xfb, 0x0b, 0x9a, 0x5c,
+  0xb4, 0x61, 0x4c, 0x97, 0xa6, 0x12, 0x8c, 0xeb, 0x51, 0x94, 0x1f, 0x04,
+  0x82, 0x0e, 0x94, 0x4b, 0xb9, 0x40, 0x23, 0x61, 0x9c, 0x28, 0x4a, 0xf8,
+  0x9c, 0xbc, 0x9b, 0x98, 0x2d, 0xb5, 0x10, 0x38, 0x0c, 0x24, 0xd7, 0x9e,
+  0x81, 0x20, 0x2d, 0x67, 0xf8, 0x00, 0xb5, 0xc9, 0xca, 0xbd, 0xcc, 0xea,
+  0xd9, 0x82, 0x0c, 0x24, 0xd3, 0xc9, 0xce, 0x99, 0x14, 0x56, 0xb5, 0x8e,
+  0x22, 0xf1, 0xf1, 0x7c, 0x42, 0x91, 0x38, 0xa3, 0x14, 0xbd, 0xb4, 0xac,
+  0x7a, 0x01, 0xbc, 0x57, 0x8a, 0x01, 0x5d, 0x5e, 0x5c, 0xee, 0x6e, 0xb8,
+  0xa0, 0x98, 0x02, 0x8e, 0xc0, 0x3d, 0x1f, 0x29, 0x4a, 0x64, 0x80, 0x13,
+  0xba, 0xca, 0x6e, 0xb8, 0x4c, 0xcf, 0xb7, 0x2d, 0x47, 0x82, 0x18, 0x87,
+  0xcc, 0x85, 0xbe, 0x48, 0x2e, 0x7f, 0x5b, 0x28, 0xe2, 0x74, 0x43, 0xb4,
+  0x17, 0x53, 0xe1, 0x11, 0x3f, 0xf3, 0x61, 0x65, 0x4a, 0x4e, 0x28, 0x27,
+  0x44, 0x96, 0x1e, 0x15, 0xff, 0xd5, 0xfb, 0x89, 0x60, 0xe1, 0x82, 0x37,
+  0xcb, 0x88, 0x13, 0x8f, 0x02, 0x29, 0x5d, 0x12, 0xe4, 0xb5, 0x4f, 0x52,
+  0x40, 0x42, 0x8b, 0x21, 0x09, 0x5d, 0xc8, 0xe6, 0x5a, 0xa0, 0xb7, 0x14,
+  0xa9, 0x96, 0x31, 0x95, 0xfb, 0xad, 0x7d, 0xe0, 0x4d, 0x5f, 0x8b, 0x9a,
+  0x45, 0x26, 0x5d, 0xcb, 0xe2, 0xe8, 0xfc, 0x6c, 0x70, 0xed, 0x06, 0x91,
+  0x48, 0x0f, 0xf3, 0x52, 0x99, 0xeb, 0xc0, 0x6e, 0x4e, 0x6a, 0xd1, 0xd9,
+  0xe9, 0xe0, 0xba, 0x1f, 0xea, 0xd8, 0x00, 0xda, 0xf9, 0x00, 0xcb, 0x6d,
+  0x6a, 0x40, 0x19, 0x11, 0x77, 0x07, 0xe7, 0x44, 0x63, 0x8e, 0x8e, 0x71,
+  0xb4, 0x28, 0x2d, 0x5c, 0x50, 0x88, 0xe6, 0x70, 0x30, 0xc5, 0x2f, 0x38,
+  0x4d, 0x59, 0x52, 0x9c, 0x35, 0x4a, 0x54, 0x2e, 0x87, 0x3d, 0x07, 0x49,
+  0x91, 0xf5, 0x1d, 0x6a, 0xd1, 0x05, 0xd4, 0x0b, 0x12, 0xea, 0xd6, 0xb7,
+  0x31, 0xd7, 0x99, 0xa0, 0x68, 0x7f, 0x04, 0x01, 0xb3, 0xe6, 0xea, 0x1e,
+  0x45, 0x09, 0x21, 0xee, 0x92, 0x93, 0x09, 0x9f, 0x7d, 0x36, 0x51, 0xe1,
+  0x56, 0x34, 0x76, 0x52, 0xba, 0x3a, 0xd6, 0x6b, 0x16, 0x30, 0x6c, 0xf7,
+  0x4b, 0xe2, 0x94, 0x0e, 0x09, 0x5a, 0xa2, 0x2b, 0x93, 0x84, 0x5d, 0x4e,
+  0x66, 0xda, 0xad, 0x20, 0xc0, 0xe9, 0x98, 0x71, 0x30, 0xcb, 0x3a, 0x10,
+  0x26, 0x83, 0x1e, 0x20, 0xd3, 0xe1, 0x06, 0x40, 0xa8, 0xba, 0xb5, 0x9d,
+  0x24, 0xfb, 0xe4, 0x6a, 0xf9, 0xa9, 0xbd, 0x1f, 0x38, 0xe3, 0x99, 0x02,
+  0x65, 0xdd, 0x36, 0x84, 0x36, 0x9f, 0x8c, 0xb4, 0x19, 0xd3, 0x87, 0xd3,
+  0x37, 0x67, 0x66, 0xb7, 0x64, 0x77, 0x28, 0x85, 0xd6, 0xac, 0x15, 0xcb,
+  0x5a, 0x94, 0x6d, 0xd2, 0x99, 0x78, 0x41, 0x9f, 0x65, 0x96, 0xfe, 0x8d,
+  0x52, 0xad, 0x48, 0x77, 0x9d, 0xa4, 0x04, 0xe7, 0x15, 0x93, 0xeb, 0x5c,
+  0x25, 0xd9, 0x5a, 0x69, 0x3a, 0xd9, 0xa5, 0x63, 0x53, 0xfe, 0xc1, 0x31,
+  0xbe, 0x60, 0xfe, 0xf1, 0x4a, 0xe4, 0x94, 0xed, 0x3a, 0xbc, 0x29, 0xa1,
+  0x1c, 0x0b, 0x18, 0x19, 0x08, 0xa4, 0x4d, 0x2a, 0x5f, 0xf4, 0x94, 0x0b,
+  0xd2, 0xcd, 0x6c, 0x76, 0x5d, 0x1d, 0x64, 0x27, 0x2f, 0xa4, 0xe8, 0x71,
+  0xfd, 0xed, 0xd5, 0xc5, 0xfb, 0xde, 0xf5, 0x05, 0xb5, 0xba, 0x27, 0x73,
+  0x6e, 0xb6, 0x22, 0x45, 0xa4, 0x34, 0x7d, 0x52, 0x2d, 0x4a, 0x89, 0xf8,
+  0xda, 0xd6, 0xcb, 0x0d, 0x29, 0xf4, 0x61, 0x91, 0x42, 0xd3, 0xd3, 0xb7,
+  0xbc, 0xf6, 0x25, 0x19, 0x6b, 0x22, 0x31, 0xb5, 0x48, 0x45, 0xbf, 0xe3,
+  0xc8, 0x89, 0x63, 0x71, 0x4a, 0x87, 0x70, 0xee, 0xe1, 0xb2, 0x7c, 0x8c,
+  0xa4, 0xb6, 0x14, 0x31, 0x0b, 0xc9, 0x96, 0xf2, 0xa3, 0x03, 0xa6, 0xf7,
+  0xb6, 0x41, 0x2a, 0xc2, 0xaa, 0x3b, 0x2e, 0xeb, 0xaa, 0x72, 0xb8, 0xbe,
+  0x71, 0x51, 0xe4, 0xf7, 0x2a, 0xb8, 0xa4, 0xf6, 0x1b, 0xa6, 0x8e, 0x87,
+  0x54, 0x3c, 0xb6, 0xa2, 0xbb, 0x08, 0x60, 0x99, 0x76, 0x0e, 0x5f, 0xa9,
+  0xfe, 0xed, 0xd7, 0x31, 0x37, 0x34, 0x03, 0xbc, 0x57, 0x15, 0x4b, 0x2c,
+  0x29, 0x0d, 0xbb, 0x9d, 0xcf, 0x90, 0x4d, 0xd6, 0x53, 0xc6, 0xbb, 0x82,
+  0xa8, 0x88, 0x00, 0x3c, 0xd4, 0xeb, 0xcd, 0xf8, 0x25, 0xc9, 0x3f, 0xc1,
+  0x31, 0xc5, 0x3f, 0x7b, 0x37, 0x58, 0xa0, 0x96, 0x51, 0xa3, 0xc7, 0x36,
+  0xae, 0x94, 0x36, 0x6e, 0x73, 0xf1, 0xd2, 0x8a, 0xfb, 0x6f, 0x6a, 0x12,
+  0x0e, 0x81, 0xa9, 0x11, 0x33, 0xc0, 0x9f, 0x7a, 0xba, 0xa4, 0xa2, 0x24,
+  0xa5, 0x88, 0x50, 0x31, 0x5e, 0x8e, 0xe8, 0x98, 0x30, 0xe2, 0x87, 0xed,
+  0x3d, 0x87, 0x8c, 0xdb, 0xaa, 0x20, 0x0f, 0x38, 0xb4, 0x4d, 0x97, 0x67,
+  0x07, 0x4e, 0x53, 0xcb, 0x8a, 0xf8, 0x31, 0xdb, 0xb3, 0x0c, 0x95, 0x49,
+  0xcc, 0x7d, 0x4d, 0x58, 0xb1, 0x2c, 0x9a, 0x36, 0x27, 0x46, 0x95, 0xb4,
+  0x67, 0xb2, 0xcf, 0xae, 0x10, 0x34, 0x9f, 0xe0, 0xc2, 0x25, 0xe8, 0x8f,
+  0xc8, 0x96, 0x48, 0xc0, 0x14, 0x74, 0xff, 0x3a, 0x2e, 0x81, 0x2f, 0xd5,
+  0xc7, 0xdb, 0x58, 0xe1, 0x9e, 0x5e, 0x6a, 0x61, 0x85, 0x73, 0x7a, 0xb5,
+  0x03, 0x09, 0x9f, 0xdc, 0x69, 0x0d, 0xe3, 0x82, 0x53, 0x33, 0x9c, 0x1d,
+  0x17, 0x16, 0x45, 0xc0, 0x8b, 0x94, 0xab, 0x1e, 0x53, 0xb7, 0xeb, 0xbb,
+  0x10, 0x73, 0x8a, 0x4d, 0x3f, 0xc7, 0x2a, 0xd2, 0x8f, 0x46, 0xeb, 0x5a,
+  0xf9, 0x69, 0x2a, 0x91, 0xce, 0xe4, 0x57, 0x07, 0xa6, 0x34, 0x15, 0x79,
+  0x5a, 0x63, 0xb8, 0xdd, 0x1f, 0x7e, 0xa8, 0xf7, 0x5f, 0xde, 0x68, 0x03,
+  0xc3, 0x90, 0x9a, 0x94, 0x31, 0xf3, 0x3e, 0x9d, 0xb0, 0x57, 0x57, 0xa7,
+  0x64, 0x87, 0x21, 0x06, 0xca, 0xe2, 0x67, 0x07, 0x8c, 0x78, 0x8a, 0xc0,
+  0x04, 0xbc, 0xd1, 0x62, 0xab, 0x5a, 0x0a, 0x07, 0xc1, 0x64, 0x9c, 0x06,
+  0x72, 0x16, 0x89, 0xe1, 0x6a, 0xee, 0x05, 0xc7, 0x54, 0x28, 0x27, 0xdd,
+  0xdd, 0xae, 0xd2, 0x3a, 0x67, 0x6e, 0x30, 0xb6, 0x20, 0x40, 0xcd, 0xab,
+  0x9b, 0x44, 0x1b, 0xe0, 0x4c, 0x53, 0x7a, 0x49, 0xf2, 0x9e, 0xdb, 0x4a,
+  0x60, 0x5a, 0xec, 0xa8, 0x48, 0xc4, 0xdb, 0xa0, 0x4d, 0x80, 0xbc, 0x28,
+  0x32, 0x82, 0xf6, 0xf0, 0xe5, 0x21, 0xa7, 0x6a, 0xec, 0xdc, 0x17, 0x8b,
+  0xb7, 0xd8, 0x38, 0x31, 0x29, 0xc3, 0xf0, 0xb5, 0xf7, 0xfb, 0x9c, 0x20,
+  0x36, 0xa9, 0xf7, 0x12, 0xc1, 0xc6, 0xe5, 0xec, 0xd8, 0x92, 0xf6, 0xc1,
+  0x2c, 0x6f, 0xfe, 0xac, 0x37, 0xb7, 0xef, 0x06, 0x2f, 0x91, 0x0a, 0x42,
+  0x21, 0x50, 0x65, 0x26, 0x78, 0x2e, 0x88, 0xed, 0x8b, 0xb9, 0x70, 0xda,
+  0x92, 0x0c, 0x3d, 0xc5, 0x1a, 0x23, 0x67, 0x75, 0x9a, 0x90, 0x28, 0xe6,
+  0x64, 0xbc, 0xf8, 0x40, 0xd3, 0xf6, 0xca, 0x62, 0x0e, 0x0f, 0x39, 0x3d,
+  0x2d, 0x2e, 0x1d, 0x3b, 0xb7, 0xc0, 0x28, 0xed, 0xd1, 0x63, 0x65, 0x5b,
+  0xba, 0x89, 0x20, 0x8f, 0x53, 0x0e, 0x1c, 0xb7, 0x4f, 0x71, 0xf7, 0x4c,
+  0xdd, 0x64, 0x06, 0xf5, 0x44, 0x0a, 0xcd, 0xa4, 0x0f, 0xc7, 0x37, 0x27,
+  0xd7, 0xcd, 0xab, 0xe5, 0x46, 0x0e, 0x09, 0x63, 0x04, 0xfe, 0x7d, 0xf9,
+  0xe1, 0x7a, 0x83, 0x9a, 0x93, 0x29, 0x60, 0x70, 0x55, 0x6b, 0x3a, 0x63,
+  0xea, 0x57, 0xfd, 0x52, 0x1c, 0x46, 0xf5, 0x10, 0x3e, 0x25, 0xc9, 0x40,
+  0x72, 0x33, 0xd0, 0xc7, 0xb2, 0xbb, 0xb5, 0x0d, 0x76, 0xd4, 0xd6, 0x0e,
+  0x35, 0x9c, 0xde, 0xdd, 0xda, 0x35, 0x40, 0x08, 0xfa, 0x94, 0xdf, 0xa6,
+  0x82, 0x5f, 0x24, 0x97, 0x09, 0xd1, 0xfd, 0xee, 0xc3, 0x03, 0xfd, 0xb8,
+  0x5e, 0x5e, 0xd1, 0x33, 0x25, 0x89, 0xee, 0x34, 0x83, 0x72, 0xdf, 0xd9,
+  0x6f, 0x8a, 0xec, 0x2d, 0x33, 0x2e, 0x00, 0xa6, 0x86, 0xde, 0x88, 0x1b,
+  0xd2, 0x6f, 0xef, 0x6e, 0xe5, 0xb4, 0xea, 0x13, 0x74, 0x34, 0xb7, 0x3d,
+  0x1d, 0x10, 0x8b, 0x8b, 0x38, 0x23, 0x28, 0x24, 0x1e, 0x6b, 0xc6, 0x67,
+  0x04, 0xaf, 0x09, 0xf6, 0xe0, 0xc1, 0xee, 0x90, 0x69, 0x99, 0x2a, 0x0c,
+  0x00, 0x04, 0x9d, 0xb0, 0x23, 0x53, 0x4c, 0x13, 0x70, 0x42, 0x20, 0xff,
+  0x3b, 0xc0, 0x34, 0x11, 0xb8, 0x13, 0xb4, 0xbf, 0xfa, 0x57, 0xcd, 0xe3,
+  0xe3, 0x7f, 0xed, 0xd6, 0x25, 0x25, 0xba, 0x87, 0x75, 0xd0, 0x43, 0xf9,
+  0x8b, 0xe7, 0xab, 0xa4, 0x3e, 0xc3, 0xa4, 0x1b, 0x53, 0x87, 0x98, 0x8d,
+  0x9a, 0xff, 0x84, 0xc6, 0x30, 0x13, 0x13, 0x2d, 0x45, 0x3a, 0xb8, 0x33,
+  0x8b, 0x6e, 0xd2, 0x46, 0x4d, 0x3e, 0xf4, 0xdb, 0x1a, 0x00, 0xaa, 0x26,
+  0xe8, 0x8d, 0xaf, 0x09, 0x16, 0x06, 0x31, 0xc0, 0x51, 0x89, 0xf3, 0x45,
+  0xe8, 0xee, 0x96, 0x0a, 0xfe, 0x80, 0xc2, 0xd5, 0x38, 0xdb, 0x65, 0x8e,
+  0x8d, 0xe9, 0x44, 0x47, 0x15, 0xf5, 0x83, 0x26, 0x3f, 0x98, 0x6f, 0xa2,
+  0xe2, 0x56, 0x74, 0x79, 0x2b, 0xa8, 0xcf, 0x3a, 0x36, 0xcc, 0xd1, 0x14,
+  0xcc, 0xda, 0x4c, 0x39, 0x10, 0x32, 0x77, 0x13, 0x35, 0x42, 0x19, 0xb6,
+  0x43, 0x4d, 0xde, 0x8b, 0x1a, 0x0b, 0x85, 0x7b, 0x88, 0xa2, 0x15, 0xd5,
+  0x7e, 0xe9, 0x06, 0xbd, 0xd7, 0xa5, 0xbf, 0xed, 0x6f, 0xbd, 0xe2, 0x13,
+  0x3d, 0x3d, 0xb9, 0x7e, 0xdb, 0x74, 0xe6, 0x15, 0x40, 0x50, 0xfc, 0xdf,
+  0x5e, 0x12, 0x17, 0x37, 0x60, 0x5c, 0x20, 0x54, 0x52, 0x0f, 0xfb, 0x6f,
+  0xf4, 0xb6, 0xb6, 0x42, 0x79, 0x1b, 0x9f, 0x10, 0x1e, 0x62, 0x77, 0xaf,
+  0x1e, 0xd2, 0x43, 0x95, 0xbe, 0x87, 0xdb, 0xdd, 0x8e, 0xe4, 0x5b, 0x27,
+  0xaf, 0x58, 0x75, 0x67, 0x79, 0xbc, 0x16, 0xb0, 0x4f, 0x22, 0x03, 0x09,
+  0x1d, 0x35, 0x81, 0x30, 0x1d, 0x13, 0xbb, 0xa9, 0xde, 0x98, 0xec, 0x24,
+  0x10, 0xf3, 0x24, 0x93, 0xaa, 0xc7, 0x8d, 0x88, 0xfb, 0x48, 0x72, 0xbb,
+  0xb7, 0x8a, 0x18, 0x00, 0x59, 0x10, 0xc1, 0xc2, 0xf9, 0x52, 0x6a, 0x07,
+  0x8b, 0x04, 0x21, 0xd7, 0x58, 0xed, 0x93, 0xb6, 0x59, 0x4f, 0xc3, 0xc6,
+  0xd1, 0x16, 0x14, 0xa3, 0x85, 0x14, 0x91, 0xf2, 0xbf, 0x51, 0x14, 0xd7,
+  0xf2, 0x67, 0x77, 0xf6, 0x03, 0x1b, 0x47, 0x02, 0xfb, 0x57, 0x6e, 0x9c,
+  0x55, 0x8e, 0xd8, 0x7f, 0x47, 0x06, 0xaf, 0x29, 0x75, 0x0b, 0x64, 0x6a,
+  0x6b, 0x5b, 0xe7, 0x5f, 0xbc, 0x16, 0xdc, 0xed, 0xfe, 0x2a, 0xf0, 0x49,
+  0xfb, 0xd6, 0xaf, 0x5c, 0x4b, 0xd7, 0x76, 0x3e, 0x41, 0xe9, 0x31, 0x97,
+  0xc6, 0x6e, 0xe4, 0x67, 0xa0, 0x80, 0x66, 0x13, 0x18, 0x26, 0x59, 0x24,
+  0xb4, 0x78, 0x37, 0x6f, 0xc1, 0x21, 0x6e, 0x63, 0xa3, 0xa2, 0xad, 0xa8,
+  0x05, 0x91, 0x20, 0x44, 0xd3, 0x05, 0x22, 0x7e, 0x94, 0x41, 0x3f, 0x8b,
+  0x98, 0xf9, 0xec, 0x47, 0xa0, 0xcd, 0x54, 0x97, 0x6c, 0x57, 0xc4, 0x98,
+  0xbc, 0xae, 0x7b, 0xac, 0x3c, 0xcb, 0x53, 0x1a, 0xef, 0xe2, 0x19, 0x9a,
+  0xeb, 0x34, 0x86, 0x39, 0xac, 0xdc, 0x56, 0xd6, 0xf3, 0xe0, 0x79, 0x8b,
+  0xf8, 0x77, 0xe7, 0x91, 0x99, 0xf7, 0x39, 0xe1, 0x51, 0x95, 0xd9, 0xef,
+  0xae, 0xde, 0xfe, 0x45, 0xed, 0xee, 0x8d, 0x6e, 0x8b, 0x25, 0xdc, 0x98,
+  0xee, 0x30, 0x71, 0x12, 0x01, 0x05, 0x02, 0xa2, 0xb6, 0xeb, 0xfc, 0x2f,
+  0x9b, 0x65, 0xe9, 0x05, 0x15, 0x28, 0xe9, 0x63, 0x1d, 0xc3, 0x6c, 0xf0,
+  0xdc, 0x40, 0x4c, 0xba, 0xdd, 0xfe, 0x3e, 0xf9, 0x43, 0xde, 0x1e, 0xef,
+  0xef, 0xee, 0x6c, 0x83, 0xd5, 0xba, 0xde, 0xe0, 0x16, 0x1b, 0x9f, 0x3d,
+  0x6b, 0xb7, 0xcd, 0x79, 0x27, 0x0f, 0x0b, 0xa4, 0xbd, 0xf5, 0x93, 0x1f,
+  0x2e, 0xcf, 0xbd, 0x35, 0xc2, 0x9a, 0xbc, 0x40, 0x6a, 0xdb, 0x1a, 0xad,
+  0x2e, 0x50, 0x1b, 0x5f, 0xf3, 0x8f, 0xa9, 0x61, 0x75, 0x20, 0x54, 0xf9,
+  0xb6, 0x48, 0x51, 0xc7, 0xed, 0xe0, 0x96, 0x74, 0xce, 0xf2, 0x6c, 0x0c,
+  0xa2, 0xff, 0x02, 0x21, 0xfa, 0x92, 0x0e, 0xe8, 0xea, 0x4f, 0xae, 0xae,
+  0xfd, 0x9a, 0xbc, 0xef, 0xd2, 0x55, 0xc9, 0xfc, 0x0c, 0x97, 0xf7, 0xf4,
+  0x43, 0x42, 0x44, 0x46, 0x70, 0x13, 0xae, 0x31, 0x59, 0x4e, 0x13, 0x76,
+  0xef, 0xa2, 0x69, 0x56, 0xbf, 0x6d, 0x0f, 0xd4, 0x90, 0x88, 0x3c, 0x3e,
+  0x87, 0xe4, 0xd0, 0x6e, 0x8b, 0x85, 0x30, 0xb7, 0xd4, 0x68, 0x08, 0xfb,
+  0x88, 0xd6, 0xd5, 0xad, 0xbf, 0xe1, 0x74, 0x74, 0x27, 0xf0, 0x4e, 0x8e,
+  0x75, 0xa0, 0xde, 0x16, 0xe0, 0xb9, 0xf4, 0x98, 0xb5, 0x2b, 0xd2, 0x7a,
+  0x4a, 0x3c, 0xdd, 0x44, 0x02, 0x83, 0xe8, 0xd6, 0xb1, 0x0b, 0x43, 0x3e,
+  0x70, 0xca, 0x20, 0xa0, 0x8e, 0x7b, 0x71, 0x56, 0xc7, 0x79, 0x45, 0x30,
+  0x03, 0xb6, 0x7e, 0x92, 0x07, 0x6a, 0xa2, 0x0a, 0x2a, 0xe2, 0x8b, 0x5d,
+  0x5f, 0x1e, 0xc9, 0x52, 0x04, 0xde, 0x45, 0xdc, 0x4c, 0x06, 0x8a, 0xfa,
+  0xad, 0x55, 0x7b, 0xbb, 0xc1, 0x38, 0x44, 0x28, 0x24, 0xc5, 0x51, 0x09,
+  0xb1, 0xce, 0x1a, 0x71, 0x09, 0x37, 0x0e, 0x41, 0x37, 0x05, 0x23, 0x11,
+  0x12, 0x65, 0xf0, 0x0d, 0x15, 0x27, 0x32, 0xd1, 0x1e, 0x9a, 0x58, 0x11,
+  0x8c, 0x68, 0x9a, 0xa0, 0x26, 0x34, 0x51, 0x23, 0xbe, 0xfd, 0xcf, 0x03,
+  0xc4, 0x77, 0x7e, 0x71, 0x7d, 0x72, 0x20, 0x10, 0x5f, 0x8a, 0x85, 0xa3,
+  0x66, 0x02, 0x27, 0xa6, 0x71, 0x23, 0x77, 0xae, 0x39, 0x44, 0x21, 0xab,
+  0xa7, 0xde, 0x0d, 0x5d, 0x79, 0xca, 0x11, 0xc7, 0x6b, 0xc2, 0x5e, 0xde,
+  0xaa, 0x15, 0x21, 0x97, 0x4a, 0xfd, 0xc5, 0x32, 0x60, 0x7a, 0xc2, 0xf3,
+  0xf7, 0x91, 0x51, 0x08, 0x3e, 0x83, 0x10, 0x29, 0x58, 0xde, 0x7a, 0x24,
+  0xc4, 0xa2, 0x8c, 0x0d, 0x2e, 0x93, 0xb0, 0x38, 0xc2, 0x7e, 0xaa, 0x7e,
+  0x13, 0x50, 0x8a, 0xd0, 0xbd, 0x95, 0x46, 0xf2, 0x64, 0x8f, 0x18, 0x98,
+  0xcd, 0x55, 0x22, 0xce, 0x06, 0x12, 0x9b, 0x97, 0x4a, 0x8c, 0x33, 0xf4,
+  0x02, 0x7e, 0xd9, 0x0a, 0x73, 0x55, 0x39, 0xf7, 0x49, 0xe9, 0x04, 0xee,
+  0x91, 0x5a, 0x69, 0x68, 0x55, 0x1a, 0x33, 0x45, 0x30, 0x6c, 0xfc, 0xf0,
+  0x35, 0xb1, 0xc0, 0xba, 0x5b, 0x44, 0xb5, 0xb4, 0xae, 0x51, 0xd7, 0x28,
+  0x71, 0x27, 0xa1, 0xb2, 0x2c, 0x36, 0xc0, 0x49, 0x5b, 0x68, 0x41, 0x62,
+  0x75, 0x31, 0x06, 0x44, 0xa9, 0x46, 0xd1, 0x37, 0x02, 0xc1, 0xed, 0x56,
+  0x20, 0x90, 0xce, 0x47, 0xd6, 0x6c, 0xca, 0x40, 0x0f, 0xf0, 0x91, 0xfd,
+  0xad, 0x16, 0x5b, 0x96, 0x55, 0xde, 0x41, 0x52, 0x17, 0xb4, 0xf0, 0x46,
+  0x6f, 0xdb, 0x38, 0x61, 0x53, 0x2a, 0x6e, 0x17, 0x34, 0xb7, 0x4f, 0x17,
+  0x62, 0x9a, 0x77, 0xe5, 0x8c, 0x56, 0xe6, 0x31, 0xbe, 0xd7, 0xb0, 0x2f,
+  0x3e, 0x94, 0x66, 0x9a, 0xa2, 0xc6, 0x9a, 0x12, 0x47, 0xf1, 0x14, 0xb4,
+  0x16, 0x6e, 0x66, 0x8e, 0xd1, 0x73, 0x1b, 0xfc, 0xf6, 0x8d, 0x39, 0x74,
+  0x52, 0xf4, 0xa3, 0xc8, 0x45, 0x20, 0xd3, 0x92, 0x23, 0x39, 0x18, 0xdc,
+  0x75, 0xf2, 0xb7, 0x0d, 0xb1, 0x7e, 0x3f, 0xfa, 0x6b, 0x3e, 0x14, 0x27,
+  0x0c, 0x5a, 0x8e, 0x21, 0x24, 0x9f, 0x09, 0xe5, 0xcf, 0x2f, 0x81, 0xca,
+  0xc6, 0x4b, 0xf6, 0xab, 0xe2, 0x84, 0x24, 0x13, 0x9b, 0x5b, 0x3f, 0x63,
+  0xc0, 0x23, 0x9a, 0x12, 0x8e, 0x26, 0xa7, 0x82, 0x6a, 0x21, 0xba, 0x5f,
+  0xed, 0xbc, 0xd3, 0x44, 0x6b, 0x89, 0x47, 0xe8, 0x0d, 0x81, 0xc1, 0x05,
+  0x1c, 0x81, 0x01, 0xf7, 0x6c, 0xc2, 0x7a, 0x3c, 0xaa, 0x96, 0xb2, 0xf1,
+  0xcd, 0xd9, 0xe5, 0xea, 0x25, 0x85, 0x77, 0x09, 0x06, 0x9e, 0xb2, 0x90,
+  0x46, 0x40, 0x79, 0xf1, 0xe8, 0x51, 0xf5, 0x05, 0x2b, 0x5c, 0x05, 0xd0,
+  0xd1, 0x82, 0xc6, 0xfb, 0x35, 0x9e, 0x3a, 0x09, 0x8c, 0x76, 0xa6, 0x65,
+  0x4b, 0xb7, 0x96, 0xdf, 0xd4, 0x4e, 0x71, 0x7b, 0x6e, 0xb1, 0xd3, 0x59,
+  0x81, 0x27, 0x6b, 0x57, 0x3d, 0xa9, 0x62, 0xdc, 0xe5, 0x95, 0xc5, 0xe8,
+  0xd6, 0x25, 0x60, 0x2a, 0x6b, 0x28, 0x32, 0x48, 0xf5, 0x8c, 0x58, 0x63,
+  0x43, 0x71, 0x70, 0x6d, 0x38, 0x75, 0xea, 0xeb, 0x11, 0xef, 0xe5, 0x2b,
+  0xcc, 0x0f, 0xd7, 0x89, 0x59, 0xd9, 0x8a, 0x52, 0x1c, 0x66, 0x8f, 0x33,
+  0xc6, 0xa2, 0xfd, 0xcf, 0xf7, 0xf7, 0x36, 0xb4, 0x79, 0xb1, 0x66, 0x21,
+  0x6e, 0x84, 0x3a, 0x00, 0xd2, 0x8d, 0x93, 0x9e, 0x0a, 0xa4, 0xd7, 0xa4,
+  0xd8, 0x23, 0x93, 0xd1, 0x3a, 0xc4, 0xb1, 0x99, 0x72, 0xd3, 0x2c, 0x74,
+  0xb1, 0x53, 0xfb, 0x39, 0x66, 0xca, 0x5e, 0xfe, 0x00, 0x7e, 0x2c, 0xe1,
+  0x97, 0xd7, 0x89, 0xc3, 0xc7, 0xa5, 0x65, 0xde, 0xb6, 0x32, 0x88, 0xa1,
+  0xfd, 0x49, 0x49, 0xd3, 0xd4, 0xb7, 0x0d, 0x2a, 0x5f, 0x0f, 0x96, 0x95,
+  0x73, 0xfa, 0x39, 0x69, 0xaa, 0xa2, 0x7a, 0xdc, 0x60, 0x47, 0xf6, 0xdc,
+  0x91, 0x0b, 0xec, 0x1b, 0xe1, 0xda, 0x2e, 0x16, 0x3c, 0x21, 0xa0, 0x6a,
+  0xc2, 0x99, 0x28, 0x39, 0x43, 0xaa, 0xbe, 0x8f, 0x0c, 0x7d, 0x4a, 0xe0,
+  0x0b, 0xf2, 0xbe, 0x24, 0x48, 0xc9, 0x99, 0x30, 0xe2, 0xae, 0x27, 0x90,
+  0xe7, 0xda, 0x1d, 0x8a, 0x55, 0x8f, 0xbc, 0xb0, 0xa5, 0xb9, 0x1c, 0xa4,
+  0x61, 0x71, 0x49, 0xf9, 0xc2, 0x6d, 0xc0, 0x3b, 0xea, 0x06, 0x89, 0x15,
+  0x23, 0xa4, 0x36, 0xb3, 0xd6, 0xfa, 0x16, 0xa5, 0x36, 0x85, 0xe2, 0x69,
+  0x96, 0xb5, 0xe8, 0xdf, 0x0d, 0x55, 0xfa, 0x15, 0x6d, 0xfc, 0xd5, 0xc6,
+  0x46, 0xb4, 0xcc, 0x9e, 0x2c, 0x29, 0xc6, 0xcd, 0x23, 0x5f, 0x8a, 0xdf,
+  0x1c, 0x76, 0x16, 0xad, 0xd3, 0x84, 0x37, 0x37, 0x37, 0x9e, 0x9e, 0xb4,
+  0x3c, 0xf9, 0xd4, 0x24, 0x2f, 0xd9, 0xb1, 0xe1, 0xb4, 0x93, 0x98, 0x38,
+  0x73, 0xc0, 0x6f, 0x3a, 0x70, 0x19, 0x5d, 0xa6, 0x48, 0x72, 0x30, 0x67,
+  0x88, 0x79, 0x1a, 0x3f, 0xfa, 0x4e, 0x7c, 0xcd, 0x4a, 0xe3, 0x05, 0xd6,
+  0xd7, 0xae, 0xf5, 0xc8, 0x04, 0xe7, 0x27, 0x2c, 0x04, 0x53, 0xa3, 0x08,
+  0x5f, 0xed, 0x08, 0x88, 0xd0, 0xd7, 0x37, 0xed, 0xb4, 0x9c, 0xc5, 0x91,
+  0x89, 0x9b, 0x76, 0x23, 0xc7, 0xcd, 0xce, 0xb7, 0x50, 0x7d, 0x10, 0xec,
+  0x8e, 0x0f, 0xd4, 0x46, 0xe8, 0xd3, 0x26, 0xc3, 0x92, 0x3b, 0xa9, 0xf7,
+  0x3d, 0x44, 0x64, 0x7e, 0xd2, 0x76, 0xf3, 0x0e, 0xf4, 0x52, 0x70, 0x5d,
+  0xa4, 0x32, 0x20, 0x70, 0xd4, 0x5b, 0xbb, 0x66, 0xc6, 0x23, 0xe6, 0x8e,
+  0xed, 0xd2, 0x90, 0x4f, 0x07, 0xc3, 0xe9, 0x7a, 0x8c, 0x97, 0xe6, 0x66,
+  0xe8, 0x9b, 0x76, 0x8c, 0xc1, 0x78, 0x86, 0xfc, 0xd3, 0xda, 0x66, 0x76,
+  0xf9, 0x8e, 0x12, 0x0c, 0x4e, 0x48, 0x57, 0xa7, 0xae, 0x89, 0x3e, 0x92,
+  0x83, 0xd9, 0xc3, 0x95, 0x29, 0x78, 0x26, 0x07, 0x8f, 0xfc, 0xbc, 0x92,
+  0x85, 0xe7, 0xcb, 0x59, 0xf5, 0xb5, 0xe9, 0xa0, 0x75, 0x5f, 0xc3, 0xcb,
+  0xba, 0xaf, 0xc1, 0x80, 0x52, 0x84, 0x35, 0x34, 0x4e, 0xbe, 0x2c, 0xa3,
+  0x73, 0x7d, 0x2c, 0x5a, 0x1f, 0x5c, 0x9e, 0x9f, 0x7c, 0x73, 0xb1, 0xf1,
+  0x94, 0x8f, 0xb2, 0xce, 0xff, 0xcd, 0xba, 0x62, 0xcd, 0x12, 0x96, 0xe9,
+  0x93, 0x75, 0xf2, 0xcd, 0x60, 0xd0, 0x3b, 0xba, 0x3c, 0xa5, 0x2e, 0x97,
+  0x03, 0xf8, 0xb3, 0x05, 0x8b, 0xbd, 0x4f, 0xad, 0x00, 0x7a, 0xdf, 0x49,
+  0xed, 0x68, 0xa9, 0x49, 0x82, 0xe4, 0x01, 0xc4, 0xc3, 0x14, 0xf4, 0x44,
+  0xde, 0x23, 0x03, 0xed, 0x41, 0xc3, 0x37, 0x4d, 0x9e, 0xcb, 0xd3, 0x4d,
+  0xfa, 0x14, 0x7e, 0x92, 0x16, 0xd4, 0xe2, 0x3e, 0x58, 0xfa, 0x0d, 0x2e,
+  0x51, 0xf3, 0xa1, 0x14, 0x53, 0x62, 0xd0, 0x9a, 0x0c, 0x0e, 0x96, 0x1f,
+  0x8a, 0x13, 0x1b, 0xb0, 0x0b, 0x97, 0xde, 0xa0, 0x2b, 0x0c, 0x6b, 0x2b,
+  0x14, 0x34, 0xb5, 0xe1, 0x7a, 0x23, 0x13, 0x8d, 0xa1, 0xf1, 0x66, 0x08,
+  0x3f, 0x32, 0xd0, 0xe8, 0x6a, 0xd3, 0x29, 0xb2, 0xd6, 0x5b, 0x46, 0xd1,
+  0xc1, 0x9a, 0x34, 0x8e, 0xcf, 0xf2, 0xe5, 0xf4, 0x86, 0x0d, 0xac, 0xba,
+  0x1f, 0x82, 0x78, 0xb9, 0x46, 0x5f, 0x4d, 0xef, 0x06, 0x98, 0xa4, 0x47,
+  0x82, 0xf4, 0x8e, 0xea, 0x3d, 0x45, 0x82, 0xc1, 0x21, 0x56, 0x6f, 0x38,
+  0xe9, 0x62, 0xfc, 0xbb, 0x60, 0xa0, 0xaf, 0xd0, 0x40, 0x86, 0x1c, 0x38,
+  0x25, 0x37, 0x5a, 0x56, 0xcd, 0xe6, 0xf2, 0xd7, 0x38, 0x7b, 0x24, 0x77,
+  0xa9, 0xf8, 0xef, 0xa9, 0xfe, 0xd3, 0xd0, 0x74, 0x9d, 0xd0, 0xab, 0x62,
+  0x44, 0x86, 0x3e, 0xa7, 0xa0, 0x72, 0xe1, 0xe7, 0x2a, 0x9a, 0xa5, 0x9e,
+  0xf6, 0x73, 0x10, 0xd3, 0x64, 0xda, 0xf5, 0xb2, 0xae, 0x8e, 0xd2, 0x05,
+  0x73, 0x58, 0xc2, 0x64, 0xa2, 0x08, 0x0b, 0x11, 0x04, 0x58, 0x11, 0xb5,
+  0x80, 0x5c, 0x8f, 0x87, 0x65, 0x3e, 0x5b, 0x56, 0xa4, 0x0b, 0xa0, 0x53,
+  0x14, 0x8b, 0x6b, 0x36, 0x88, 0x74, 0x25, 0x7c, 0x09, 0xa3, 0x46, 0x4e,
+  0x02, 0x6a, 0x14, 0xaa, 0x03, 0xb0, 0xed, 0x49, 0xfb, 0x36, 0x04, 0xc0,
+  0x51, 0x44, 0xf1, 0x4f, 0xe0, 0xce, 0xf2, 0x58, 0x34, 0xd4, 0x82, 0xd2,
+  0x92, 0xee, 0x14, 0xec, 0xcd, 0x3f, 0x3f, 0x3d, 0xab, 0xda, 0xee, 0xa8,
+  0x77, 0x1d, 0x59, 0x77, 0x2d, 0x51, 0xdd, 0x6a, 0x8d, 0x21, 0xce, 0xd6,
+  0x9a, 0xa9, 0xac, 0xd9, 0x02, 0x43, 0xbc, 0x25, 0xc3, 0x47, 0xf3, 0x31,
+  0xfe, 0x4e, 0x4c, 0xb9, 0x3c, 0x46, 0x11, 0x7e, 0x2e, 0xb4, 0x92, 0x3d,
+  0x8c, 0xfe, 0xaa, 0x64, 0x94, 0xfa, 0x97, 0x1a, 0x43, 0x7f, 0x97, 0x70,
+  0xde, 0x19, 0x1f, 0x31, 0x9d, 0x46, 0xed, 0x90, 0x59, 0xcb, 0x6f, 0x36,
+  0xb5, 0xc3, 0x8d, 0xe8, 0xd3, 0x13, 0x1e, 0x01, 0x63, 0x28, 0xdd, 0xac,
+  0x4a, 0xd5, 0x23, 0xf4, 0xb7, 0xc5, 0xdc, 0x4e, 0x93, 0x5f, 0x76, 0xbe,
+  0x61, 0x4a, 0x81, 0xf2, 0xd5, 0x1d, 0x6f, 0xed, 0xe9, 0xf4, 0x9f, 0xb1,
+  0x21, 0x76, 0xfd, 0xf6, 0x87, 0x9e, 0x65, 0x67, 0xe2, 0xc5, 0x25, 0x41,
+  0x52, 0x9a, 0x45, 0x01, 0xe7, 0xff, 0x28, 0x7f, 0xc1, 0x3b, 0xf0, 0x7d,
+  0x9a, 0x81, 0x66, 0x58, 0x6e, 0x28, 0x71, 0xa6, 0x59, 0x08, 0x46, 0x01,
+  0x79, 0xc7, 0x5a, 0x09, 0x96, 0x18, 0x70, 0x1c, 0x9b, 0xa8, 0x87, 0x8a,
+  0x33, 0x07, 0x6c, 0x3c, 0x56, 0xe4, 0x34, 0x36, 0x7d, 0x5c, 0x78, 0xf5,
+  0x33, 0x23, 0xc3, 0x74, 0x68, 0x0c, 0x02, 0x2f, 0x06, 0xb3, 0x20, 0x4b,
+  0x1f, 0xfa, 0x26, 0xb8, 0x6f, 0xd0, 0xd7, 0xdc, 0xe0, 0x26, 0x30, 0xc2,
+  0x40, 0x4f, 0x7b, 0xe2, 0x6c, 0xcd, 0x10, 0x16, 0xee, 0x2e, 0xad, 0x73,
+  0x7d, 0x7f, 0x23, 0x9a, 0x54, 0x8b, 0xf5, 0xed, 0x0d, 0xc6, 0xb0, 0x97,
+  0x5e, 0xea, 0xb9, 0x15, 0xf7, 0xbe, 0x17, 0x07, 0x73, 0x0b, 0xa3, 0x63,
+  0xf3, 0x59, 0x0a, 0x6e, 0x22, 0x9c, 0x1b, 0x55, 0xf1, 0x4d, 0xe4, 0x06,
+  0xf3, 0x86, 0x99, 0x06, 0xcc, 0x94, 0xc6, 0x1c, 0xd8, 0x3b, 0xae, 0xc5,
+  0x5f, 0x20, 0xb2, 0x2b, 0x55, 0x36, 0x82, 0x05, 0x61, 0xbb, 0xe0, 0x4a,
+  0x2f, 0x30, 0x29, 0x7d, 0x86, 0x9d, 0x9b, 0x8d, 0x7b, 0xc8, 0x43, 0xa6,
+  0x45, 0x0e, 0x22, 0xb2, 0x08, 0xe0, 0x5f, 0x8a, 0x4d, 0x71, 0x4d, 0xd5,
+  0x37, 0x77, 0x69, 0x91, 0x67, 0x04, 0x31, 0x7a, 0x17, 0x17, 0x29, 0x85,
+  0xf9, 0x3b, 0xef, 0x2e, 0xde, 0x9f, 0x74, 0x5c, 0xa7, 0xc8, 0x24, 0x15,
+  0x3f, 0x3a, 0x9d, 0x5f, 0xd3, 0x4b, 0xad, 0xa7, 0x19, 0x72, 0x1a, 0x82,
+  0x48, 0x1f, 0xb1, 0xda, 0x47, 0x40, 0x0c, 0x04, 0x15, 0x97, 0x98, 0x08,
+  0x39, 0xa8, 0x92, 0x92, 0x04, 0x20, 0x7d, 0x15, 0x95, 0xc2, 0x28, 0x09,
+  0x28, 0xd4, 0xfd, 0x46, 0x4d, 0x43, 0xea, 0x80, 0x93, 0xbb, 0x9d, 0xfd,
+  0x22, 0xa7, 0xfb, 0x1f, 0xaa, 0xf9, 0xda, 0x16, 0xc5, 0xba, 0xd8, 0x9b,
+  0xe2, 0x71, 0xfe, 0x88, 0x96, 0xcd, 0x5a, 0x5d, 0x00, 0xae, 0x95, 0x68,
+  0x8c, 0x57, 0x6b, 0xba, 0xbd, 0x94, 0x2e, 0x6a, 0x79, 0xbc, 0xdf, 0x71,
+  0xb9, 0xe5, 0xeb, 0x4c, 0xd5, 0xfc, 0x09, 0x3b, 0x3a, 0x0f, 0x6e, 0x6f,
+  0xdf, 0x01, 0xdf, 0xbe, 0x87, 0xea, 0x49, 0x7c, 0xa4, 0xd8, 0x16, 0x88,
+  0xd5, 0x9b, 0x35, 0xd7, 0xa3, 0xf4, 0xd8, 0x63, 0xc2, 0xf7, 0x2a, 0xc2,
+  0xe7, 0xf3, 0x11, 0xc3, 0x8a, 0x99, 0xb8, 0x6a, 0x03, 0xf0, 0x59, 0xb5,
+  0xa4, 0xcc, 0x69, 0xdb, 0x4a, 0xa3, 0xb5, 0x02, 0x8e, 0x82, 0xe0, 0xa6,
+  0x34, 0x2a, 0xc5, 0x5d, 0x4c, 0x0b, 0xc4, 0xf0, 0xb1, 0x51, 0x64, 0xf9,
+  0x52, 0xd7, 0xad, 0xa6, 0x6e, 0x83, 0x20, 0xb6, 0xc9, 0x28, 0x46, 0x2f,
+  0x61, 0x0c, 0x5e, 0x46, 0x71, 0x35, 0xf8, 0x6f, 0x8a, 0x64, 0xeb, 0xeb,
+  0xc7, 0x66, 0x27, 0xd5, 0xb1, 0x4d, 0x15, 0x4b, 0xf0, 0x37, 0x36, 0x67,
+  0x4c, 0xc4, 0x9f, 0x51, 0x3a, 0x48, 0xe1, 0xc0, 0xf6, 0x23, 0x31, 0x65,
+  0xd9, 0x24, 0x61, 0xd0, 0x36, 0x73, 0x1f, 0x61, 0x69, 0xd2, 0x48, 0xa1,
+  0x5c, 0x16, 0x77, 0x54, 0xf5, 0x2a, 0xfd, 0xb7, 0x38, 0x35, 0xd8, 0x9e,
+  0x87, 0x9c, 0x43, 0x40, 0xca, 0x3b, 0x33, 0xc4, 0xb4, 0xcd, 0x42, 0x90,
+  0xb1, 0xa2, 0x6f, 0x78, 0x16, 0x66, 0x82, 0xc6, 0xd2, 0x41, 0x00, 0x14,
+  0xd6, 0x62, 0xbd, 0x24, 0xfd, 0xbc, 0x24, 0xdc, 0xdc, 0xaa, 0x88, 0x47,
+  0xf6, 0x2f, 0xbd, 0xb8, 0x1c, 0xa5, 0xa9, 0xf6, 0x73, 0xc2, 0xf8, 0x60,
+  0x82, 0xe9, 0xb0, 0x41, 0x7c, 0x1c, 0x7b, 0x1e, 0xa6, 0x93, 0xca, 0x38,
+  0x67, 0xf7, 0x2e, 0xe7, 0x9c, 0xc4, 0xdc, 0xea, 0x0f, 0x33, 0x58, 0xa8,
+  0x34, 0x4e, 0x82, 0x87, 0xa1, 0x16, 0x57, 0x5a, 0x69, 0xd3, 0x62, 0xda,
+  0x82, 0xf5, 0xbd, 0xed, 0x9a, 0xdf, 0xba, 0x09, 0x3d, 0x44, 0xa9, 0x2a,
+  0x2b, 0x36, 0x25, 0xef, 0xef, 0x77, 0xdc, 0x67, 0x56, 0x45, 0xc3, 0x1b,
+  0xa0, 0x48, 0x59, 0xde, 0x8b, 0x67, 0x8b, 0x60, 0x8a, 0xdb, 0x60, 0xa3,
+  0xd6, 0xf0, 0xf2, 0xe8, 0xec, 0xf2, 0x9c, 0xf0, 0xf2, 0x10, 0x39, 0x3d,
+  0x2b, 0x39, 0x4b, 0x01, 0x7f, 0x86, 0x09, 0xec, 0x19, 0xc3, 0x4a, 0x52,
+  0xd2, 0xc8, 0xd8, 0x2f, 0xaf, 0xa6, 0xe6, 0x10, 0x64, 0x3e, 0x84, 0xec,
+  0x2b, 0x4e, 0x6f, 0xcb, 0x22, 0xa7, 0xc0, 0x91, 0x19, 0xbc, 0xda, 0x17,
+  0xcd, 0xe5, 0xc0, 0x57, 0xed, 0xb7, 0xb5, 0xcb, 0x82, 0x29, 0x44, 0xaa,
+  0xbf, 0x6b, 0x00, 0x03, 0xf3, 0x48, 0xe0, 0x01, 0x3d, 0x7e, 0x5e, 0x25,
+  0x06, 0x9b, 0x50, 0xec, 0x3a, 0x83, 0x85, 0xaa, 0x1d, 0xac, 0x38, 0x49,
+  0x83, 0x80, 0x2b, 0xb4, 0x3e, 0xbe, 0x5c, 0x8d, 0x68, 0x00, 0x1b, 0x9b,
+  0x2d, 0xb2, 0x26, 0xde, 0x96, 0x6c, 0x77, 0xd0, 0x08, 0xf5, 0xc0, 0xdf,
+  0x56, 0xd6, 0x85, 0xe9, 0x54, 0xb1, 0x71, 0xd6, 0x8a, 0x03, 0x3e, 0xef,
+  0xf2, 0x57, 0x87, 0x4b, 0xe4, 0x10, 0x8d, 0x2f, 0xc8, 0xf1, 0xb2, 0xd2,
+  0xc4, 0x4f, 0xe0, 0xf7, 0xc4, 0xfd, 0xc5, 0x48, 0x4a, 0x58, 0xc3, 0x99,
+  0xc4, 0x73, 0x50, 0x0b, 0x32, 0x2d, 0x14, 0x40, 0xcf, 0x2f, 0xe6, 0x73,
+  0x36, 0x27, 0xbc, 0x8c, 0x85, 0x63, 0x29, 0x9c, 0x3d, 0x71, 0x81, 0x46,
+  0xfd, 0x00, 0x7f, 0x06, 0x39, 0xa9, 0x3b, 0x7c, 0xa8, 0x26, 0x8c, 0x5e,
+  0x37, 0xb8, 0x07, 0x12, 0xb7, 0xd1, 0xd6, 0x9f, 0x0c, 0x1c, 0xce, 0x43,
+  0x98, 0xee, 0xdf, 0xd8, 0xb9, 0xea, 0x66, 0x99, 0xdd, 0xc2, 0x14, 0xfc,
+  0x72, 0x68, 0x4d, 0xf6, 0xc5, 0xe6, 0x17, 0xdc, 0x32, 0x17, 0xff, 0xc2,
+  0xfd, 0x97, 0xcd, 0x08, 0x88, 0x59, 0x7e, 0x87, 0x8e, 0x3c, 0x01, 0xf1,
+  0x76, 0x94, 0xd3, 0xd0, 0xec, 0xc6, 0xe6, 0x7e, 0xc0, 0xac, 0xcc, 0x06,
+  0x06, 0xd3, 0xd9, 0xf5, 0xa4, 0x6d, 0xb3, 0x79, 0xa0, 0x46, 0x47, 0xa4,
+  0x48, 0x14, 0x5b, 0x01, 0xa4, 0xa8, 0x22, 0x49, 0x53, 0xbd, 0x3c, 0x76,
+  0xb8, 0x24, 0xb2, 0x47, 0x93, 0x8d, 0xbe, 0x49, 0xd8, 0x2d, 0x4e, 0xf7,
+  0xa9, 0xc0, 0x4c, 0xea, 0xb5, 0xf9, 0x6d, 0x74, 0xc0, 0x4a, 0x0a, 0x39,
+  0xb2, 0x80, 0x08, 0x6c, 0x29, 0xbf, 0x64, 0xa2, 0x18, 0x9d, 0x0d, 0xfb,
+  0xc2, 0xba, 0x8d, 0x29, 0x03, 0x7c, 0xcb, 0x96, 0x72, 0x25, 0x99, 0x21,
+  0xb2, 0x79, 0x10, 0x78, 0xf6, 0x93, 0xef, 0x92, 0x5d, 0x88, 0xb3, 0x51,
+  0xe6, 0x87, 0x8d, 0x4d, 0xca, 0x9e, 0xc5, 0x0d, 0xcf, 0x7d, 0x66, 0x78,
+  0x5e, 0xe7, 0x85, 0x76, 0xa5, 0x5e, 0x1d, 0x75, 0xe0, 0x46, 0x3f, 0xc9,
+  0x03, 0x71, 0x78, 0x4c, 0xb0, 0xbf, 0x3c, 0xf7, 0xab, 0xbc, 0xc5, 0xfd,
+  0x37, 0xa4, 0xfa, 0xec, 0xa7, 0xb8, 0xa0, 0x31, 0xdd, 0xe5, 0x67, 0x2d,
+  0xae, 0xad, 0x5f, 0xcf, 0x02, 0xd5, 0xa2, 0x12, 0x56, 0xe7, 0x73, 0xc0,
+  0xcc, 0x63, 0x80, 0x42, 0x77, 0x9f, 0x86, 0x05, 0xe2, 0x27, 0x65, 0xc2,
+  0xe9, 0x38, 0x88, 0xe0, 0x60, 0x4e, 0x56, 0xba, 0xc2, 0x4a, 0xc0, 0x02,
+  0xcf, 0x42, 0xb1, 0x63, 0x4e, 0xdf, 0x00, 0x89, 0xa1, 0xaa, 0x8a, 0x3d,
+  0xc2, 0xbf, 0x6e, 0x3b, 0xda, 0x78, 0x66, 0x73, 0x70, 0xd8, 0xbc, 0x47,
+  0x78, 0x4c, 0x17, 0xd6, 0x0b, 0x71, 0xfe, 0xfa, 0x0e, 0xa9, 0x73, 0xb8,
+  0x5d, 0x3b, 0xd0, 0xb4, 0xf4, 0xf9, 0x48, 0x08, 0xad, 0x8c, 0x50, 0xa5,
+  0x6f, 0x96, 0x08, 0x00, 0x88, 0xe2, 0x8e, 0xbb, 0x46, 0x49, 0x63, 0xb3,
+  0x22, 0xc1, 0x39, 0xd7, 0x27, 0xec, 0x01, 0xd5, 0xb1, 0x13, 0xbb, 0x4c,
+  0xe0, 0x1a, 0x72, 0x9d, 0xd0, 0xb0, 0xc8, 0x6f, 0x13, 0xa6, 0x39, 0x32,
+  0x2c, 0x08, 0x79, 0x89, 0xf5, 0x28, 0xf1, 0xc5, 0x02, 0x97, 0xe3, 0xa6,
+  0x10, 0x98, 0xaf, 0xe0, 0x05, 0x5d, 0xb9, 0x43, 0xa5, 0x40, 0x36, 0x58,
+  0x5e, 0x98, 0xd2, 0xeb, 0x04, 0x96, 0xa0, 0x7d, 0x1c, 0xf8, 0xb8, 0x46,
+  0x08, 0xf4, 0x16, 0xbe, 0xf7, 0x86, 0x0e, 0x90, 0x9c, 0x57, 0x5c, 0x7d,
+  0xf7, 0xe6, 0x8b, 0x83, 0xa6, 0xfd, 0xde, 0x9b, 0x53, 0x77, 0xef, 0x7d,
+  0xe0, 0x44, 0x9f, 0xdf, 0x78, 0x12, 0x68, 0x89, 0x1c, 0x60, 0xd1, 0x21,
+  0x10, 0x15, 0xbb, 0xc2, 0x30, 0x94, 0xd5, 0xf4, 0x72, 0x51, 0x03, 0xd5,
+  0x9e, 0x5a, 0x1c, 0x63, 0x4e, 0xe3, 0x21, 0x6b, 0x0d, 0xb5, 0x70, 0xae,
+  0x6a, 0x18, 0x5b, 0xf0, 0x57, 0x69, 0xa0, 0xd0, 0x65, 0x15, 0xc9, 0x07,
+  0x54, 0xa5, 0x32, 0x30, 0xe3, 0xbf, 0xe1, 0x1a, 0x58, 0xd2, 0xc1, 0xf1,
+  0x78, 0x08, 0xb4, 0x27, 0x2d, 0xad, 0x92, 0xf9, 0x6f, 0x98, 0x06, 0x0c,
+  0x1a, 0x6d, 0x85, 0x79, 0x60, 0xf4, 0x2d, 0x4f, 0xe5, 0xe4, 0x66, 0x82,
+  0xa6, 0x4e, 0x84, 0x8b, 0xbc, 0x0d, 0x26, 0x0d, 0xc2, 0x8f, 0xbb, 0x9a,
+  0x01, 0x77, 0x77, 0x88, 0x4e, 0xd0, 0x5a, 0x09, 0x18, 0x82, 0xec, 0xb0,
+  0x48, 0x4d, 0x95, 0x5d, 0x2a, 0xe0, 0xf0, 0x9c, 0xb4, 0x25, 0x86, 0x75,
+  0xac, 0xd9, 0x58, 0xbc, 0x78, 0x17, 0x2b, 0x2f, 0xd0, 0xf0, 0x80, 0x13,
+  0x9e, 0xc4, 0x3a, 0xd3, 0x1f, 0x98, 0x2e, 0x82, 0xb5, 0x6c, 0x19, 0x36,
+  0x50, 0xc4, 0x62, 0x0d, 0xb4, 0x02, 0xa4, 0xa9, 0x44, 0xce, 0x63, 0xee,
+  0x2b, 0x07, 0x9f, 0x6f, 0x75, 0xc5, 0xa6, 0xc1, 0x28, 0x97, 0xfb, 0x0c,
+  0xa1, 0xd2, 0xfa, 0x5a, 0x04, 0x3e, 0x06, 0x3f, 0x35, 0x4f, 0xb6, 0x20,
+  0xb0, 0xbf, 0xec, 0xef, 0xef, 0x62, 0xa8, 0x3b, 0xec, 0x4a, 0x62, 0x76,
+  0xe7, 0x3a, 0x0f, 0x8c, 0xf7, 0xa0, 0x0c, 0x65, 0x7b, 0x3a, 0x77, 0xcb,
+  0x9c, 0xc6, 0xa9, 0x84, 0x49, 0xd7, 0xa8, 0xe1, 0x60, 0xd0, 0x11, 0x31,
+  0x4e, 0xcb, 0x80, 0xef, 0x82, 0x13, 0xd8, 0x84, 0xe0, 0x4c, 0x1f, 0x48,
+  0xea, 0x82, 0xc5, 0xa4, 0x4d, 0xa7, 0x08, 0x17, 0xa6, 0x43, 0x4d, 0x6c,
+  0x74, 0xd6, 0xb0, 0xfb, 0x2b, 0xef, 0xc9, 0xab, 0xfe, 0x5e, 0xed, 0x9e,
+  0x54, 0xb3, 0x79, 0xef, 0x7e, 0xf8, 0x44, 0xc8, 0xe3, 0xfa, 0xec, 0x3d,
+  0xa5, 0x7c, 0x28, 0xbb, 0xa1, 0x4e, 0x2c, 0xea, 0x7d, 0x46, 0xbf, 0x0e,
+  0xbb, 0x08, 0x11, 0xa1, 0x9b, 0x26, 0xf2, 0x9c, 0xcc, 0x5a, 0x53, 0x33,
+  0x2a, 0xe6, 0xbe, 0x42, 0xde, 0xc1, 0x90, 0xec, 0xc6, 0x5e, 0x2c, 0x66,
+  0x69, 0xb0, 0xb0, 0x47, 0x33, 0x6b, 0x93, 0x87, 0x64, 0xb4, 0xa4, 0xf0,
+  0x34, 0x2a, 0x87, 0x88, 0x21, 0xb5, 0xda, 0x6f, 0xee, 0xf8, 0xca, 0xc5,
+  0x3b, 0x0e, 0x3f, 0x68, 0x6e, 0x46, 0x73, 0xed, 0xbc, 0x78, 0xcf, 0x69,
+  0xc6, 0xf5, 0xed, 0xa1, 0xdf, 0x79, 0x21, 0x62, 0xca, 0xe7, 0x47, 0x81,
+  0x08, 0x24, 0x95, 0x4e, 0x33, 0x56, 0x39, 0xde, 0xa7, 0xa3, 0x22, 0x2f,
+  0xf3, 0x09, 0x67, 0xaa, 0x39, 0xe6, 0xd1, 0xe9, 0xe9, 0x20, 0xba, 0x4f,
+  0x86, 0x5a, 0x12, 0xdb, 0xf7, 0x7d, 0xc8, 0xc4, 0x43, 0x30, 0x30, 0x52,
+  0xa4, 0x49, 0x85, 0x5b, 0xa6, 0xa1, 0x50, 0x84, 0x88, 0xa2, 0xbe, 0x74,
+  0x02, 0xa0, 0x42, 0xea, 0x3b, 0xb6, 0xf6, 0x9c, 0xb1, 0x60, 0x5a, 0x24,
+  0x79, 0x20, 0x1e, 0xce, 0x13, 0x50, 0xb1, 0xc2, 0x74, 0x42, 0x32, 0x7c,
+  0x18, 0x4b, 0xd7, 0x34, 0xf6, 0x0c, 0x00, 0xdb, 0x41, 0x0d, 0x45, 0x3c,
+  0x2a, 0xb7, 0xe8, 0x2a, 0xf3, 0x6a, 0x55, 0x86, 0x09, 0xf6, 0x19, 0xc5,
+  0x28, 0x7f, 0xdd, 0x69, 0x97, 0x8d, 0xf3, 0x82, 0x32, 0x90, 0x9c, 0x7e,
+  0x46, 0xd4, 0xf9, 0x73, 0x59, 0x50, 0xd1, 0x15, 0xc1, 0x97, 0xfa, 0xfc,
+  0xf4, 0xfe, 0x86, 0xc3, 0xb5, 0x7a, 0x0a, 0x28, 0x9c, 0xa8, 0xca, 0x96,
+  0x4b, 0x7b, 0xa4, 0x6b, 0x06, 0xce, 0xdf, 0x8a, 0x1b, 0xe7, 0x34, 0x82,
+  0x50, 0x87, 0x72, 0x1e, 0xb6, 0xa4, 0x54, 0x72, 0x14, 0xde, 0xa4, 0xd3,
+  0x96, 0xf6, 0xb6, 0x06, 0xdc, 0x81, 0x84, 0x13, 0xdd, 0x58, 0x9a, 0x8d,
+  0x88, 0xcc, 0x82, 0xef, 0x68, 0xe4, 0xf5, 0x6c, 0xa6, 0xaa, 0x27, 0xdf,
+  0x01, 0xdb, 0x42, 0x7d, 0x6d, 0x98, 0x18, 0x8e, 0xde, 0xd8, 0x88, 0x27,
+  0x91, 0x64, 0xa9, 0x4c, 0xd3, 0x4d, 0x54, 0x60, 0x7e, 0x61, 0x28, 0xa9,
+  0x3e, 0x15, 0x73, 0x03, 0xac, 0xd2, 0x57, 0xd7, 0xfa, 0x54, 0xcb, 0xf3,
+  0x00, 0x28, 0x1c, 0x57, 0x41, 0x58, 0xe9, 0x6b, 0x03, 0xce, 0xa7, 0x48,
+  0x56, 0x20, 0x1f, 0xc5, 0x09, 0xc6, 0xca, 0xbf, 0xc7, 0x74, 0x3c, 0xf5,
+  0x48, 0x97, 0x7b, 0x75, 0x73, 0xfc, 0xc1, 0x4e, 0x6f, 0x98, 0xc4, 0xd8,
+  0x61, 0xe9, 0xb0, 0x42, 0x85, 0x29, 0x5c, 0x99, 0xd2, 0x52, 0x98, 0xf2,
+  0x35, 0xbf, 0x79, 0x4d, 0x9a, 0x16, 0x1e, 0xed, 0xc5, 0xd1, 0x87, 0xeb,
+  0x77, 0x51, 0xb4, 0x83, 0x5d, 0x22, 0x9e, 0x53, 0x99, 0x42, 0x1c, 0xa1,
+  0x36, 0x8a, 0xde, 0x6a, 0x6a, 0xd4, 0x9c, 0xfd, 0x75, 0x99, 0xd5, 0x1b,
+  0xb8, 0x84, 0x7c, 0xf3, 0x24, 0x3f, 0x45, 0xf4, 0x72, 0x99, 0x74, 0x2d,
+  0xb3, 0x5a, 0xdb, 0x7b, 0xf1, 0x89, 0xf4, 0x7a, 0x5c, 0x3d, 0x07, 0x57,
+  0xfb, 0x89, 0x30, 0x66, 0x19, 0x86, 0xe7, 0x90, 0xd9, 0xca, 0x74, 0x15,
+  0x3f, 0x48, 0xe3, 0xa5, 0xd4, 0x4f, 0x09, 0x1d, 0xfc, 0x55, 0xb3, 0x3d,
+  0xef, 0xd5, 0xdb, 0xe3, 0xc6, 0x70, 0x2f, 0x5e, 0xee, 0x6f, 0x7d, 0xc2,
+  0x24, 0xbd, 0x1c, 0xbd, 0x23, 0xe2, 0x45, 0x08, 0xa2, 0xe6, 0x7c, 0x5f,
+  0x60, 0xd9, 0xaa, 0xfa, 0x19, 0x72, 0x79, 0xc8, 0x2d, 0xab, 0x2f, 0xab,
+  0x31, 0x66, 0x6b, 0x19, 0xd4, 0x8d, 0x42, 0xd5, 0xfd, 0x7f, 0xfc, 0xd3,
+  0x2f, 0xab, 0xfd, 0xf1, 0x67, 0xf6, 0x13, 0x4f, 0xa8, 0xa9, 0xa5, 0x4d,
+  0xf4, 0x57, 0x36, 0x53, 0x5a, 0x89, 0x8c, 0x37, 0x7a, 0xed, 0x8f, 0x6b,
+  0xa6, 0xf5, 0x14, 0xe9, 0xfc, 0x61, 0xdc, 0x7e, 0x11, 0x9e, 0x32, 0x37,
+  0x3d, 0x58, 0x02, 0x25, 0x8f, 0x1d, 0x75, 0x40, 0xa1, 0xa9, 0x4c, 0x67,
+  0xbe, 0x71, 0x5b, 0xe3, 0x38, 0xed, 0xa0, 0x24, 0xf0, 0x5d, 0xea, 0x26,
+  0x47, 0x77, 0x36, 0xe7, 0x56, 0xd1, 0xfc, 0x51, 0x15, 0xa5, 0xf2, 0xe5,
+  0x34, 0x6b, 0xf1, 0x5d, 0x4a, 0x02, 0xd1, 0x3f, 0xe0, 0x04, 0xba, 0xd5,
+  0x7d, 0xfe, 0xcf, 0xba, 0x1f, 0x13, 0x34, 0x0c, 0x9c, 0xf1, 0xc7, 0x3f,
+  0x6e, 0x63, 0x45, 0x50, 0xa7, 0x39, 0x44, 0x4e, 0x0d, 0x09, 0xcc, 0xa9,
+  0x1a, 0x05, 0x69, 0x15, 0x38, 0xaf, 0x7e, 0x10, 0x8b, 0x8d, 0xbb, 0xa8,
+  0x37, 0xfe, 0xb3, 0x8f, 0xff, 0xfd, 0x71, 0xbb, 0xb7, 0xff, 0xb3, 0xf9,
+  0xe8, 0x1f, 0xb7, 0x3f, 0xfe, 0x71, 0xa7, 0x13, 0x2c, 0xab, 0xb3, 0xb5,
+  0xff, 0x4e, 0x86, 0x22, 0xaa, 0xb3, 0xd9, 0xa3, 0x94, 0x69, 0x48, 0x84,
+  0xd1, 0xf6, 0xba, 0xa4, 0xce, 0xd9, 0x3e, 0x3e, 0x12, 0xfa, 0xad, 0x1a,
+  0x9a, 0xaa, 0x36, 0xbb, 0x54, 0xe6, 0x70, 0x9f, 0xf3, 0xcb, 0xe2, 0x53,
+  0xe1, 0xfa, 0x3f, 0xad, 0x1f, 0xf0, 0x78, 0x21, 0x42, 0x31, 0xb9, 0xb4,
+  0x81, 0x68, 0x29, 0x0a, 0xb1, 0xe1, 0xef, 0x86, 0xa4, 0x45, 0x81, 0x34,
+  0x8b, 0xa3, 0xc6, 0xa6, 0x0f, 0x87, 0xe6, 0x27, 0x59, 0xe2, 0x15, 0x62,
+  0xc5, 0x8c, 0x11, 0x95, 0x08, 0xd8, 0x5d, 0x64, 0xb8, 0x02, 0xbc, 0x69,
+  0xc2, 0xd6, 0x12, 0xcd, 0xa2, 0xd9, 0xdb, 0x9e, 0xe9, 0xd8, 0xba, 0xbb,
+  0xc9, 0x2d, 0xfe, 0xba, 0xd4, 0x86, 0xf6, 0x56, 0xa0, 0xc0, 0x48, 0x69,
+  0x69, 0x63, 0x2f, 0xf4, 0x33, 0x89, 0xbb, 0x50, 0x7d, 0x3f, 0xc9, 0xb8,
+  0x32, 0x0f, 0x45, 0xf2, 0xe2, 0x21, 0x76, 0xa2, 0xac, 0x35, 0xf6, 0x32,
+  0x5d, 0x9a, 0x86, 0x16, 0x6d, 0x2a, 0x2e, 0x5b, 0x36, 0xc4, 0xdd, 0x0a,
+  0x67, 0x13, 0x64, 0xa3, 0x68, 0x73, 0x56, 0x38, 0x75, 0xb9, 0x28, 0x16,
+  0xb3, 0x47, 0xab, 0xa4, 0xe7, 0x54, 0xc5, 0x52, 0x15, 0x2e, 0xfd, 0xd4,
+  0xc9, 0x70, 0x93, 0xb0, 0x5e, 0xcf, 0x8b, 0x45, 0x02, 0x11, 0x8d, 0x1f,
+  0x81, 0x13, 0x32, 0xb0, 0xab, 0xc1, 0x89, 0x54, 0x0f, 0x81, 0xf0, 0x1a,
+  0xa0, 0xb3, 0xb5, 0xde, 0x5a, 0xb4, 0x4e, 0x95, 0xf3, 0x64, 0xd6, 0x45,
+  0xe3, 0xb8, 0xbc, 0xd9, 0x08, 0x79, 0x21, 0xad, 0xe3, 0xcf, 0x32, 0x2a,
+  0xe9, 0xcc, 0x41, 0x12, 0x93, 0x39, 0xd4, 0x2a, 0x6f, 0xf5, 0x05, 0x83,
+  0x6a, 0x60, 0x92, 0x60, 0xcf, 0x44, 0x92, 0x6b, 0x3f, 0xe9, 0xa1, 0xb1,
+  0x48, 0x3f, 0xfd, 0x0f, 0x7e, 0xd6, 0x8b, 0x63, 0xe0, 0x93, 0x9c, 0xe5,
+  0xd5, 0xe3, 0x02, 0x28, 0x2b, 0x44, 0xb5, 0x97, 0x37, 0xe6, 0x43, 0x87,
+  0x52, 0x80, 0xe2, 0xf2, 0x96, 0x03, 0xa5, 0xe3, 0xdc, 0xf4, 0xfd, 0xb6,
+  0x7e, 0x94, 0xae, 0x30, 0xd4, 0xde, 0xff, 0xec, 0x3a, 0x63, 0x09, 0x3e,
+  0x4a, 0x38, 0x05, 0x08, 0xcd, 0xcb, 0x22, 0x9f, 0x95, 0x35, 0x68, 0x2d,
+  0xa9, 0x84, 0x46, 0xef, 0xb6, 0x71, 0xd1, 0xf0, 0x37, 0xcb, 0x14, 0x39,
+  0x71, 0x9c, 0x05, 0x52, 0x8c, 0xcb, 0x40, 0x04, 0x08, 0x65, 0x9c, 0x76,
+  0xbc, 0x06, 0x4a, 0x0e, 0x48, 0x28, 0x6b, 0x1c, 0xd4, 0xe6, 0xbc, 0xaa,
+  0x3d, 0x45, 0xed, 0xc1, 0xf6, 0x5c, 0x02, 0xa9, 0x42, 0xa2, 0x7a, 0x76,
+  0xbb, 0x0c, 0xa7, 0x5f, 0x3a, 0x52, 0x0e, 0x46, 0xca, 0xe3, 0x82, 0xb7,
+  0x34, 0x14, 0x0f, 0x4f, 0xa6, 0x08, 0xf5, 0x82, 0xda, 0x07, 0x56, 0xbb,
+  0xc3, 0x5d, 0xca, 0x9e, 0x68, 0xdd, 0xdc, 0x70, 0x82, 0x60, 0x3c, 0x36,
+  0x3a, 0x5c, 0xdc, 0x14, 0xa0, 0xc9, 0xfb, 0x75, 0x73, 0x83, 0x77, 0x11,
+  0xe3, 0xa2, 0xc2, 0x53, 0xfc, 0x8c, 0xb9, 0xec, 0x0e, 0x74, 0xe4, 0x27,
+  0xc4, 0x3b, 0xc4, 0x84, 0xa0, 0x5e, 0x5c, 0xf6, 0x3c, 0xea, 0xb8, 0xb6,
+  0x05, 0xd3, 0x1c, 0x0f, 0xca, 0xd9, 0xb6, 0xc4, 0x5c, 0x54, 0x0c, 0x91,
+  0x66, 0x88, 0xa9, 0x03, 0xf4, 0xb1, 0xd9, 0xef, 0x6f, 0xa2, 0xfc, 0xd9,
+  0x84, 0x3f, 0x52, 0xa7, 0x41, 0x4c, 0xb3, 0x0b, 0x21, 0x30, 0x2d, 0xfc,
+  0x16, 0xfa, 0xf3, 0xa4, 0x63, 0xaf, 0xd3, 0xd5, 0xed, 0x6f, 0x4b, 0x4a,
+  0x25, 0x2e, 0xc0, 0x32, 0x28, 0xb8, 0x26, 0x1b, 0xd1, 0xee, 0x8d, 0xba,
+  0x13, 0x48, 0x2a, 0x94, 0x10, 0x49, 0x29, 0xf8, 0x1f, 0x8d, 0x7e, 0x96,
+  0x68, 0xa2, 0x93, 0x27, 0x0d, 0x17, 0x91, 0x56, 0x8a, 0xba, 0x46, 0xf5,
+  0xf0, 0xf1, 0x4a, 0xdb, 0x7c, 0x6f, 0xa7, 0x71, 0x7c, 0x29, 0x1c, 0xf8,
+  0x18, 0xac, 0x1c, 0x02, 0x6b, 0xc5, 0x6c, 0x4a, 0xbf, 0x1e, 0x4b, 0x1c,
+  0xa3, 0x1c, 0x48, 0x6f, 0xc2, 0xcf, 0xb1, 0xb8, 0x32, 0x0a, 0xa4, 0xd3,
+  0x66, 0x50, 0x72, 0xc7, 0x3d, 0xc5, 0x87, 0x3f, 0x42, 0xf9, 0x58, 0x92,
+  0x6d, 0x4d, 0xe4, 0x90, 0x98, 0xd6, 0x29, 0xa2, 0x95, 0xc6, 0x9c, 0xcd,
+  0x45, 0x66, 0x98, 0xa4, 0x77, 0x84, 0x3c, 0x58, 0xc6, 0x7d, 0x64, 0x9c,
+  0x5e, 0xce, 0x14, 0x60, 0xcd, 0x88, 0x77, 0x0b, 0x3b, 0xff, 0xe6, 0xe4,
+  0x4a, 0x54, 0x4d, 0x72, 0x26, 0xd9, 0x26, 0xd5, 0x7e, 0x0f, 0x77, 0x34,
+  0x4a, 0x5f, 0xec, 0x91, 0xed, 0x88, 0xfb, 0x56, 0xde, 0xc4, 0x3b, 0xfb,
+  0x2f, 0x64, 0xda, 0x8a, 0x7e, 0x46, 0x3a, 0xd8, 0x1a, 0xff, 0x6a, 0x73,
+  0x93, 0x13, 0x1f, 0xd0, 0xcd, 0xe0, 0xf1, 0x78, 0xf2, 0xf9, 0xe1, 0xb3,
+  0x5f, 0xac, 0x85, 0x53, 0x1e, 0xd5, 0x0a, 0xd1, 0x56, 0xc9, 0xd4, 0xab,
+  0x8d, 0x52, 0x33, 0xdd, 0x46, 0x1b, 0xdd, 0x5a, 0x1b, 0x35, 0xaa, 0x43,
+  0x8a, 0x57, 0xf4, 0x9f, 0x10, 0xbc, 0x10, 0x6a, 0xf4, 0x0a, 0xdc, 0x41,
+  0xeb, 0x8a, 0x11, 0x87, 0xd5, 0xd9, 0x1d, 0xce, 0x66, 0xc4, 0x06, 0xdd,
+  0x23, 0x1f, 0x94, 0x86, 0xeb, 0x75, 0x88, 0xea, 0xdc, 0x91, 0x25, 0x91,
+  0x17, 0x91, 0xcc, 0x11, 0xa7, 0x11, 0x29, 0x4f, 0x03, 0x68, 0xec, 0x5e,
+  0xa3, 0xc3, 0x5c, 0x0e, 0xbd, 0x8c, 0x13, 0xf9, 0xa6, 0xc1, 0x4d, 0x25,
+  0xdf, 0x8c, 0x93, 0xe7, 0x69, 0xaf, 0x0b, 0x48, 0xf6, 0x82, 0x95, 0x04,
+  0x67, 0x03, 0x3c, 0x2f, 0x00, 0xe1, 0x74, 0x2b, 0x1c, 0x0e, 0x25, 0xfa,
+  0x8d, 0x92, 0x94, 0x81, 0xb4, 0xe0, 0x6c, 0x31, 0x82, 0xe7, 0xdd, 0x03,
+  0x20, 0x85, 0x4d, 0xa4, 0x03, 0xb1, 0x1b, 0xbd, 0x86, 0x18, 0x18, 0x2f,
+  0x78, 0xd5, 0xdf, 0x3a, 0x50, 0x88, 0xdd, 0x6e, 0xf4, 0x4d, 0xb6, 0xc4,
+  0xf3, 0xc0, 0x45, 0x7f, 0x33, 0xf8, 0xd6, 0x2b, 0x96, 0xc3, 0x37, 0xf6,
+  0x76, 0xf1, 0x8d, 0xf3, 0x01, 0x3f, 0x75, 0x9f, 0xcf, 0x26, 0xf0, 0x66,
+  0xe8, 0xb9, 0x97, 0xf8, 0x1c, 0x50, 0xdc, 0xb8, 0x9a, 0x95, 0x4a, 0x54,
+  0x2b, 0x66, 0xb2, 0xb7, 0x17, 0x98, 0x49, 0xf7, 0x17, 0x7f, 0xe8, 0x82,
+  0x5c, 0xae, 0x48, 0x4c, 0xd8, 0x47, 0x8a, 0x08, 0x87, 0xca, 0x08, 0x0c,
+  0x60, 0xf4, 0xa7, 0x64, 0xbe, 0x0c, 0xfc, 0xf0, 0x9c, 0x2e, 0x73, 0x05,
+  0xe1, 0xde, 0x55, 0x84, 0x27, 0xf0, 0x72, 0x67, 0x77, 0x7b, 0xf3, 0x45,
+  0x7f, 0xaf, 0xbf, 0x63, 0xd2, 0xfa, 0x80, 0x0e, 0xee, 0xb0, 0x0b, 0x0a,
+  0x66, 0x51, 0x04, 0x42, 0x0f, 0x94, 0xd0, 0x92, 0x66, 0x30, 0x8e, 0x03,
+  0x73, 0x21, 0x68, 0xf5, 0x36, 0xa1, 0x07, 0x41, 0x2d, 0xb6, 0xdd, 0xfa,
+  0xb0, 0x7e, 0xa0, 0xeb, 0x2a, 0x62, 0x65, 0x50, 0x61, 0x8b, 0xf8, 0x99,
+  0x30, 0xc3, 0x99, 0xdc, 0x23, 0xc3, 0xf4, 0x6f, 0xcb, 0xb4, 0x02, 0x2d,
+  0x00, 0x99, 0x0a, 0x7a, 0xcf, 0x14, 0x36, 0x9f, 0x20, 0xc3, 0x68, 0x1d,
+  0x78, 0x23, 0x02, 0x6e, 0x49, 0x9e, 0x3c, 0xe5, 0x4f, 0xdb, 0x40, 0x20,
+  0xd7, 0xa0, 0xa5, 0xc4, 0xbb, 0x22, 0x6e, 0x57, 0x03, 0x76, 0x64, 0x36,
+  0xa2, 0x2e, 0x88, 0x60, 0xe4, 0xdd, 0xa1, 0xc7, 0xde, 0xef, 0x4e, 0x2b,
+  0xdd, 0x6a, 0x08, 0x36, 0x42, 0x83, 0x2e, 0x9a, 0x5d, 0x62, 0xb1, 0xed,
+  0xe5, 0x07, 0x5c, 0xaf, 0xc2, 0xde, 0x27, 0x5a, 0xb7, 0xc7, 0x9d, 0xec,
+  0x3e, 0xd4, 0x4e, 0x5c, 0x50, 0xe1, 0xb1, 0x5e, 0x8c, 0x63, 0x0b, 0x0c,
+  0xe5, 0x47, 0x2c, 0x0a, 0x0b, 0xff, 0x56, 0xa0, 0xd2, 0xac, 0xce, 0x84,
+  0x50, 0xfc, 0x8f, 0x3a, 0x00, 0x08, 0xff, 0xab, 0xd1, 0x2b, 0xb9, 0xb5,
+  0x4d, 0x66, 0xb3, 0x99, 0xac, 0x8c, 0xf9, 0xab, 0xa9, 0x6c, 0xf7, 0xb7,
+  0xa7, 0xb2, 0x9d, 0xe7, 0x52, 0x99, 0x25, 0x32, 0xbc, 0x67, 0x2b, 0x48,
+  0x8c, 0x8c, 0x20, 0x16, 0xbd, 0x2d, 0x54, 0xe6, 0x92, 0x99, 0xe4, 0xde,
+  0xf8, 0x84, 0x56, 0xa3, 0x33, 0x43, 0x66, 0x2d, 0x54, 0xc6, 0x18, 0x61,
+  0x4c, 0x63, 0xab, 0x49, 0x4c, 0xcb, 0xd1, 0xa3, 0xd5, 0x54, 0x56, 0xcf,
+  0xf8, 0x5e, 0x4d, 0x67, 0x96, 0x1c, 0x9e, 0x4d, 0x65, 0xda, 0x95, 0x88,
+  0xb9, 0x4e, 0x0b, 0x89, 0xd5, 0x68, 0x4c, 0x88, 0x2c, 0x48, 0x65, 0xaf,
+  0x42, 0x54, 0xb6, 0xfb, 0x1c, 0x2a, 0x83, 0x03, 0x9d, 0xa1, 0xa8, 0xac,
+  0x51, 0xd9, 0xde, 0x6f, 0x4b, 0x65, 0x88, 0x51, 0xd4, 0xac, 0x75, 0x8d,
+  0x8e, 0xfe, 0xd5, 0x73, 0x8c, 0x69, 0x58, 0x1d, 0xd5, 0x2b, 0x01, 0xfd,
+  0x65, 0x9c, 0xa2, 0x71, 0xa1, 0x9f, 0x3c, 0xb1, 0x3a, 0x2a, 0xd0, 0xf6,
+  0x2f, 0x3e, 0xb1, 0x9d, 0xa6, 0x65, 0x52, 0x24, 0xec, 0x35, 0xff, 0x51,
+  0x83, 0x17, 0x07, 0x9b, 0x9b, 0x3f, 0x93, 0x0f, 0xe8, 0x00, 0x65, 0xdf,
+  0xcf, 0x5e, 0x23, 0xf1, 0x80, 0x3a, 0x3b, 0xb8, 0x38, 0xfe, 0x76, 0x20,
+  0xde, 0x77, 0xd1, 0x39, 0x54, 0x27, 0x61, 0x3f, 0x25, 0xe8, 0xaa, 0x54,
+  0xbd, 0xed, 0xa9, 0xb9, 0xdc, 0xca, 0xb6, 0xf7, 0xd0, 0x55, 0x0f, 0x38,
+  0xa5, 0x4d, 0x09, 0x33, 0x26, 0x90, 0x3a, 0xa9, 0x8b, 0xe6, 0x32, 0x0d,
+  0x19, 0x55, 0x1a, 0xa5, 0xfb, 0x86, 0x1a, 0x4f, 0xc4, 0xc4, 0x01, 0xc4,
+  0x35, 0x93, 0x39, 0x2f, 0xae, 0x57, 0x37, 0x05, 0x15, 0xa6, 0xd0, 0xa3,
+  0x1b, 0x1a, 0xfc, 0x5a, 0x35, 0x3b, 0x99, 0xd7, 0x3b, 0x02, 0xf3, 0x5d,
+  0x14, 0x1a, 0x50, 0x0c, 0x19, 0xb9, 0xe6, 0xb7, 0xea, 0x09, 0x0c, 0x81,
+  0x56, 0x08, 0x38, 0x9d, 0xb3, 0xdf, 0xf8, 0x9e, 0x97, 0x02, 0x98, 0x3e,
+  0xd4, 0x30, 0x72, 0x50, 0x3c, 0x50, 0x0f, 0xe8, 0x4a, 0xdb, 0xac, 0x3c,
+  0x70, 0x53, 0x0c, 0x1a, 0x84, 0x13, 0xb0, 0x12, 0x6a, 0x64, 0x52, 0xee,
+  0xc1, 0x90, 0x4d, 0xbf, 0x12, 0xff, 0x22, 0xc6, 0xdf, 0xf0, 0xdf, 0xf7,
+  0xf1, 0xbb, 0xe8, 0xb1, 0xe6, 0x7f, 0xdd, 0xe0, 0x3f, 0xe9, 0x7b, 0x8a,
+  0x7f, 0x55, 0x3b, 0xe5, 0x51, 0x78, 0xa3, 0xdd, 0x8a, 0x27, 0x83, 0xcd,
+  0x70, 0x9e, 0xdb, 0x9a, 0x40, 0x77, 0xd5, 0x2e, 0x8c, 0x9e, 0x97, 0xb6,
+  0x62, 0xb8, 0x30, 0x8d, 0xbc, 0x17, 0x56, 0xb8, 0x12, 0x17, 0x24, 0x53,
+  0x51, 0x0f, 0xdc, 0xd6, 0x67, 0x36, 0xde, 0x2b, 0x07, 0xc0, 0x8d, 0x42,
+  0x03, 0x28, 0xd6, 0xdc, 0xd8, 0x43, 0xe6, 0xbd, 0xbd, 0xf5, 0xb9, 0xef,
+  0x92, 0xf8, 0xa0, 0x15, 0x79, 0x16, 0x29, 0x92, 0xd2, 0x3a, 0x28, 0x37,
+  0x7e, 0x68, 0xeb, 0x50, 0x42, 0x9f, 0x0d, 0x14, 0xed, 0xa1, 0xed, 0x3b,
+  0x4e, 0xd8, 0x58, 0x1a, 0xb2, 0xdd, 0xeb, 0xe7, 0x44, 0x53, 0x0d, 0x72,
+  0x49, 0x92, 0x4d, 0x10, 0x8e, 0x23, 0xc9, 0x4d, 0xf0, 0xf8, 0x3b, 0x7a,
+  0x31, 0x34, 0x64, 0xf6, 0x95, 0xc5, 0xa1, 0xfb, 0xd3, 0xde, 0x16, 0x9e,
+  0xaa, 0x8e, 0x82, 0xcd, 0x7d, 0x66, 0x1a, 0xea, 0xf8, 0xd3, 0x6e, 0xdc,
+  0xff, 0x1d, 0x71, 0xa4, 0xf6, 0xeb, 0x56, 0xf4, 0x1f, 0xe5, 0x8e, 0x4f,
+  0x11, 0xec, 0xa6, 0x37, 0x8c, 0x8b, 0x80, 0xcf, 0x46, 0x34, 0x44, 0xc5,
+  0x48, 0x51, 0x84, 0x11, 0x7d, 0x8b, 0x5b, 0x5b, 0x48, 0x4e, 0xbf, 0xf9,
+  0x21, 0x0c, 0x15, 0xf9, 0xdd, 0x32, 0x4c, 0xbc, 0xc1, 0x6d, 0x7c, 0xdd,
+  0x65, 0x64, 0x2f, 0x07, 0xd8, 0x2b, 0x9e, 0x75, 0x31, 0x12, 0x19, 0x70,
+  0xe7, 0xd0, 0xd9, 0xd4, 0x3e, 0x32, 0x2e, 0xe2, 0x7b, 0xc7, 0x82, 0x66,
+  0x64, 0xfd, 0x09, 0x05, 0x1d, 0x6c, 0x06, 0x09, 0xa6, 0x7c, 0x63, 0x44,
+  0x39, 0xa4, 0x7d, 0x94, 0xa3, 0x02, 0xdb, 0x20, 0x49, 0xb7, 0x07, 0x1a,
+  0x6b, 0x81, 0xe8, 0x86, 0xa0, 0x76, 0x4c, 0x13, 0xad, 0xfc, 0x34, 0xab,
+  0x56, 0x68, 0x0f, 0xc2, 0xf3, 0xe8, 0x07, 0x92, 0xaa, 0xad, 0x3b, 0x4b,
+  0x3b, 0x91, 0xc7, 0x02, 0xfe, 0x81, 0xaf, 0x6a, 0x0d, 0xae, 0x13, 0xc6,
+  0x28, 0x17, 0xd8, 0x84, 0x0f, 0xbe, 0x9d, 0x2e, 0x9a, 0x22, 0xba, 0xf7,
+  0x3a, 0x7f, 0xdd, 0xdb, 0x30, 0x80, 0x6b, 0xf9, 0x5d, 0x52, 0x72, 0x4f,
+  0x5d, 0x9c, 0x2c, 0xc6, 0x9b, 0x6f, 0xc8, 0xc9, 0x22, 0xe2, 0x8b, 0x0a,
+  0x4e, 0x29, 0x81, 0x54, 0x60, 0xb5, 0xbc, 0xf6, 0x30, 0x3c, 0xb3, 0x02,
+  0x43, 0xcd, 0xc2, 0xef, 0xd0, 0x1d, 0x03, 0xbb, 0x35, 0xe1, 0xfc, 0x34,
+  0x2a, 0x49, 0xc5, 0x28, 0xbc, 0xe0, 0x40, 0xb3, 0x57, 0x3f, 0x5f, 0xd4,
+  0x65, 0x13, 0x56, 0x37, 0x2b, 0x6f, 0x38, 0x54, 0xa6, 0xf2, 0xe5, 0x93,
+  0xb5, 0x0b, 0x86, 0xfd, 0x4c, 0xc4, 0x89, 0x81, 0x97, 0x8f, 0x6a, 0x59,
+  0x18, 0x41, 0x7a, 0x74, 0x93, 0xcc, 0xa5, 0x8d, 0x4e, 0x4b, 0x25, 0x78,
+  0x6b, 0xd9, 0x74, 0x7d, 0x4e, 0x9c, 0xdc, 0x37, 0xa9, 0x16, 0xfd, 0x79,
+  0xfe, 0x77, 0xd8, 0xe6, 0x18, 0xfb, 0xf2, 0x79, 0x57, 0x02, 0x64, 0x7d,
+  0xc6, 0xe7, 0x82, 0x21, 0x9a, 0xcc, 0x58, 0x95, 0x91, 0x83, 0x85, 0x27,
+  0x38, 0xdf, 0x5c, 0xb1, 0x1f, 0x45, 0xc7, 0x30, 0xe3, 0x93, 0x8f, 0x1f,
+  0xce, 0x07, 0x1f, 0x2e, 0x9b, 0x84, 0x7d, 0x79, 0x71, 0x75, 0x7d, 0xf2,
+  0xe6, 0xe3, 0xe5, 0xd5, 0xc5, 0xf5, 0xc5, 0xf1, 0xc5, 0x59, 0xb4, 0xbe,
+  0xbd, 0xb1, 0xb2, 0x42, 0xcd, 0x78, 0x20, 0x1c, 0xac, 0x43, 0x9d, 0x3f,
+  0xf3, 0x2c, 0x33, 0x8b, 0x75, 0x5c, 0x8f, 0x3f, 0xda, 0xf7, 0xda, 0xe7,
+  0xbe, 0x16, 0x0f, 0x67, 0x57, 0x04, 0x89, 0x37, 0x62, 0xeb, 0x71, 0x34,
+  0x5d, 0xf2, 0x4d, 0xb1, 0xd9, 0x0a, 0x8c, 0xf4, 0xe9, 0x29, 0x5c, 0x89,
+  0x44, 0x4c, 0x9d, 0xe2, 0xa6, 0x95, 0xee, 0xb8, 0xfd, 0xa6, 0xce, 0x82,
+  0x67, 0x40, 0x0a, 0x98, 0xa5, 0x8a, 0x72, 0x35, 0x59, 0x30, 0x22, 0x0a,
+  0xc1, 0x68, 0x9b, 0x37, 0xa8, 0xc7, 0x80, 0x04, 0xb0, 0xf2, 0xcc, 0x68,
+  0x74, 0x20, 0x4a, 0x2f, 0xfd, 0x5e, 0x53, 0xf2, 0x0a, 0xcc, 0x37, 0x93,
+  0x8e, 0xa7, 0x32, 0x11, 0x8a, 0x60, 0x52, 0x2b, 0x15, 0x8e, 0xa7, 0xc3,
+  0x03, 0xf8, 0x5b, 0x87, 0xab, 0x52, 0x65, 0x97, 0x17, 0x15, 0xe6, 0x97,
+  0x19, 0x2d, 0xe4, 0xde, 0x99, 0x14, 0x0e, 0x87, 0x4a, 0x19, 0x61, 0x19,
+  0x06, 0x38, 0xec, 0x89, 0x86, 0xc7, 0x18, 0xe9, 0x84, 0x6e, 0x24, 0xa9,
+  0x2f, 0x8a, 0x91, 0x33, 0x70, 0x17, 0xf3, 0x04, 0x21, 0xf3, 0x26, 0x62,
+  0xac, 0xa2, 0x8b, 0x67, 0xdf, 0x65, 0x82, 0x96, 0xa8, 0xe0, 0x8a, 0x02,
+  0x09, 0x9b, 0xd0, 0xe9, 0xba, 0xa4, 0x68, 0x42, 0x5c, 0x00, 0x47, 0x13,
+  0xe9, 0x1a, 0xec, 0x9e, 0xb7, 0x8d, 0x69, 0x35, 0xd9, 0xcf, 0xcb, 0xfe,
+  0x8b, 0xfd, 0xfe, 0x0e, 0x02, 0x4f, 0x5c, 0xcc, 0x30, 0x8a, 0x26, 0x8a,
+  0x05, 0x39, 0x97, 0xe9, 0x03, 0x82, 0xb2, 0x43, 0x29, 0x78, 0x76, 0xaf,
+  0x64, 0xc4, 0x90, 0x2d, 0xa5, 0xf5, 0xb0, 0x2a, 0xc9, 0x14, 0x9a, 0x40,
+  0xba, 0xe2, 0x0a, 0x32, 0x33, 0x02, 0x9b, 0xc0, 0x67, 0x0e, 0x24, 0x0b,
+  0x4d, 0xf2, 0xb2, 0x9a, 0xbc, 0xf6, 0xd4, 0xf4, 0x8d, 0x1b, 0x1c, 0x5f,
+  0x0a, 0x80, 0x80, 0x85, 0x3a, 0x20, 0x76, 0xae, 0xad, 0x9f, 0xb7, 0xfa,
+  0x5b, 0xd1, 0xe0, 0xfd, 0xd7, 0x82, 0x32, 0xf9, 0xf5, 0x20, 0xa0, 0x09,
+  0x90, 0x3e, 0xaf, 0xaf, 0xd7, 0xc2, 0x59, 0xb8, 0x38, 0x98, 0xdd, 0x9f,
+  0xf1, 0x4f, 0x4d, 0x02, 0xc7, 0xbf, 0x3b, 0x2b, 0x8e, 0x3c, 0x27, 0x9f,
+  0x6e, 0x69, 0xd7, 0x41, 0x22, 0x80, 0xfb, 0x5a, 0x26, 0xe1, 0x25, 0xf7,
+  0x57, 0xa3, 0x99, 0xed, 0x78, 0x17, 0xed, 0xc9, 0x2b, 0x66, 0x9d, 0xdd,
+  0x4f, 0x5d, 0x32, 0xd1, 0x94, 0x54, 0x3a, 0x34, 0x65, 0xda, 0x65, 0xed,
+  0x0e, 0x24, 0x58, 0x01, 0xc5, 0xc9, 0xa0, 0xc9, 0x84, 0x54, 0x43, 0x2a,
+  0x4b, 0xec, 0xd2, 0x2f, 0x29, 0xa2, 0x69, 0x52, 0xd6, 0xc2, 0xd0, 0x56,
+  0x74, 0x4c, 0x54, 0x31, 0xe6, 0x68, 0xdb, 0x06, 0x0a, 0x6f, 0x0d, 0x36,
+  0x16, 0x7b, 0x28, 0x49, 0x6d, 0xec, 0xec, 0x91, 0xa0, 0xdf, 0xd3, 0x07,
+  0xbe, 0xdb, 0x7f, 0x4f, 0x8a, 0xdc, 0x0f, 0xaf, 0x93, 0xf2, 0xa0, 0x80,
+  0x64, 0xa0, 0x72, 0x1f, 0x29, 0x62, 0x8a, 0xfd, 0x21, 0x7e, 0xd5, 0xbb,
+  0x73, 0x7f, 0xa6, 0xf6, 0xbd, 0x0c, 0x30, 0xcc, 0x4a, 0x85, 0x20, 0x66,
+  0x10, 0xf8, 0x5f, 0xaa, 0x21, 0x51, 0x87, 0x07, 0xcc, 0xb0, 0x8e, 0xf2,
+  0x91, 0x4b, 0x30, 0x3d, 0x13, 0x93, 0xd4, 0xbf, 0x31, 0x9a, 0x32, 0x36,
+  0xeb, 0xdf, 0x84, 0xd7, 0xb0, 0x55, 0x96, 0x05, 0x4d, 0x13, 0x7d, 0xce,
+  0xe7, 0xe9, 0xbd, 0x28, 0x7a, 0x93, 0x64, 0x8f, 0xca, 0xd3, 0x6d, 0xe6,
+  0x1a, 0x41, 0x9f, 0xdc, 0xb1, 0x4f, 0xdc, 0x56, 0xe7, 0x6b, 0x3e, 0xae,
+  0x99, 0xa2, 0x3f, 0xa5, 0xfa, 0x9c, 0x43, 0x9c, 0xeb, 0xb5, 0xd9, 0x06,
+  0xc9, 0x98, 0x72, 0xf7, 0x62, 0x9d, 0x00, 0x36, 0x34, 0xa8, 0x4b, 0xdf,
+  0xd3, 0x11, 0x57, 0x6e, 0xc3, 0x06, 0xc5, 0x35, 0xc9, 0xa4, 0x2b, 0x97,
+  0xc3, 0xbf, 0x32, 0x52, 0x7b, 0x84, 0xae, 0x85, 0x42, 0xb6, 0x41, 0xf2,
+  0x1c, 0xe1, 0x54, 0xe1, 0x01, 0x0e, 0x5b, 0x01, 0x77, 0xc8, 0x42, 0xc3,
+  0x51, 0xb0, 0x59, 0x21, 0xd2, 0xeb, 0x24, 0x46, 0x53, 0x0a, 0xd6, 0xb6,
+  0x25, 0x2d, 0x2a, 0x83, 0xde, 0x9f, 0xde, 0x04, 0x79, 0x2a, 0xa7, 0xcf,
+  0x35, 0x84, 0x2f, 0xef, 0x25, 0xe7, 0x6c, 0x9a, 0x0c, 0x62, 0x7c, 0xbc,
+  0x75, 0x2c, 0xe5, 0xd4, 0x65, 0xf7, 0xcf, 0xf8, 0x87, 0xbf, 0x86, 0x1a,
+  0xc9, 0xe2, 0x36, 0x2b, 0x23, 0xc1, 0xc7, 0x89, 0x2d, 0xd1, 0xeb, 0x6d,
+  0x1f, 0x78, 0x6d, 0xc5, 0xc0, 0xea, 0xb1, 0x89, 0x8b, 0x3d, 0xe7, 0x03,
+  0x1f, 0x32, 0x05, 0xa4, 0x53, 0xea, 0x5e, 0x18, 0x84, 0xfc, 0xfb, 0xb8,
+  0xc8, 0xa8, 0x42, 0xc0, 0x35, 0x84, 0x10, 0xc7, 0x64, 0x21, 0xdd, 0x33,
+  0xe2, 0x09, 0x26, 0x57, 0x17, 0x89, 0x05, 0xf4, 0xc5, 0x93, 0x64, 0xb8,
+  0x22, 0x41, 0x08, 0xd7, 0x54, 0xdf, 0x45, 0x5e, 0x31, 0x56, 0x39, 0x66,
+  0x63, 0xa3, 0xa6, 0x53, 0xa0, 0x8f, 0xd0, 0xd9, 0x64, 0x55, 0x92, 0x71,
+  0x34, 0x73, 0xf8, 0x38, 0xd2, 0x72, 0x81, 0xd1, 0x42, 0x49, 0x93, 0xe3,
+  0xc8, 0xab, 0xc3, 0xc1, 0xe4, 0x73, 0x9c, 0x4f, 0x47, 0x2e, 0x27, 0x1b,
+  0xdc, 0x8b, 0xef, 0xf2, 0x74, 0x8c, 0xbc, 0x47, 0x87, 0x23, 0xf5, 0xcd,
+  0x52, 0xc9, 0x75, 0xb8, 0xdb, 0x86, 0xcd, 0x63, 0x12, 0xfb, 0xca, 0xa6,
+  0x79, 0xc7, 0x65, 0xad, 0x7a, 0x2b, 0xad, 0x25, 0x7c, 0x53, 0xc2, 0x0b,
+  0x85, 0xab, 0x33, 0x0c, 0x33, 0x65, 0x1c, 0xbb, 0x12, 0xe3, 0x53, 0xd9,
+  0x2d, 0xce, 0x90, 0x52, 0x10, 0x33, 0xb4, 0x7a, 0x46, 0x06, 0x49, 0xaa,
+  0x09, 0x48, 0x5e, 0x6f, 0x51, 0x6e, 0x74, 0x01, 0x93, 0x96, 0x6b, 0xd5,
+  0xdc, 0xfe, 0x13, 0x32, 0xe2, 0xe1, 0x51, 0x13, 0x01, 0x57, 0xaa, 0x60,
+  0x0b, 0xaa, 0xcc, 0x86, 0x8d, 0x4e, 0x2b, 0x3a, 0xb0, 0x46, 0x1e, 0xb2,
+  0xe6, 0xe7, 0x8a, 0xbf, 0x66, 0x3e, 0x5f, 0xfa, 0x0d, 0x10, 0x25, 0x5a,
+  0x27, 0x95, 0xd6, 0x95, 0xed, 0x6c, 0x45, 0x0a, 0x90, 0x38, 0x6a, 0xb8,
+  0x49, 0x83, 0xd3, 0xb7, 0x02, 0xd3, 0xbd, 0x31, 0x7e, 0x17, 0xf6, 0x23,
+  0x6e, 0x1a, 0x64, 0x1e, 0x20, 0x98, 0x6c, 0xdc, 0x03, 0x26, 0xb0, 0x58,
+  0xe1, 0x87, 0xb3, 0xae, 0xaa, 0x5a, 0x06, 0xb3, 0x0b, 0x05, 0xc2, 0x3f,
+  0xe1, 0x44, 0x49, 0xd9, 0x3b, 0xbf, 0x02, 0x00, 0x34, 0x8d, 0xdd, 0xd0,
+  0x4e, 0x86, 0x32, 0x31, 0x9b, 0x72, 0x16, 0x17, 0xd5, 0xda, 0xb9, 0x81,
+  0x77, 0x90, 0x36, 0x50, 0x37, 0xac, 0x2d, 0x6d, 0x8d, 0xf7, 0x4e, 0xb6,
+  0xed, 0x03, 0xd7, 0xc7, 0xd1, 0x88, 0x54, 0xf6, 0x9c, 0x49, 0xee, 0xbb,
+  0xf3, 0x25, 0x36, 0xe5, 0xbc, 0x7d, 0x24, 0xac, 0x2c, 0x69, 0x02, 0x20,
+  0x4f, 0x52, 0x38, 0xc8, 0xe5, 0x76, 0xe1, 0xd3, 0x0e, 0xf8, 0x82, 0x88,
+  0x4f, 0xd2, 0x87, 0x70, 0x62, 0xe9, 0x4a, 0x14, 0x8a, 0x96, 0xc3, 0x08,
+  0x01, 0xb0, 0x8c, 0x1b, 0x69, 0xc5, 0xfa, 0xf3, 0x51, 0x8c, 0x81, 0xdb,
+  0x70, 0x32, 0xe3, 0x40, 0xee, 0x5b, 0x4f, 0x9f, 0x42, 0x3e, 0xad, 0x99,
+  0xa4, 0x8e, 0x73, 0x90, 0x1b, 0x49, 0x3d, 0x54, 0xcf, 0x48, 0xf0, 0x1d,
+  0xc5, 0x14, 0xaf, 0xd7, 0xb6, 0xdd, 0x32, 0xae, 0xfd, 0xa7, 0xfb, 0xdb,
+  0x87, 0x6e, 0x88, 0x49, 0xe3, 0x59, 0xb5, 0x7b, 0x59, 0xea, 0x9f, 0x39,
+  0x84, 0x1b, 0xbd, 0x6a, 0x51, 0xf4, 0xd0, 0xaf, 0x59, 0x94, 0xb7, 0x2a,
+  0x5a, 0x06, 0xed, 0xb7, 0x77, 0x26, 0xfc, 0x99, 0x15, 0xb1, 0xaa, 0x96,
+  0x25, 0xc0, 0x88, 0x2b, 0x5a, 0x09, 0x3b, 0xcb, 0x30, 0x0f, 0xfe, 0xd2,
+  0x95, 0x3c, 0xbd, 0x8d, 0x44, 0x1a, 0xf8, 0xdf, 0x1f, 0x0f, 0xc8, 0x0d,
+  0x38, 0xfe, 0xb9, 0x75, 0x1e, 0x27, 0x5d, 0x99, 0xcb, 0x27, 0x98, 0x46,
+  0xba, 0xb8, 0x41, 0xdd, 0xf2, 0x30, 0x54, 0x3a, 0xe5, 0x6c, 0x84, 0x3c,
+  0xf6, 0xdb, 0x7f, 0xbf, 0x98, 0x59, 0x90, 0xa2, 0x15, 0xdf, 0x97, 0xc7,
+  0x7e, 0xf3, 0xef, 0xf3, 0xdd, 0x7d, 0xd2, 0xed, 0x43, 0x8c, 0xea, 0x8d,
+  0xe4, 0xa7, 0x07, 0x78, 0xe2, 0xaf, 0x66, 0x8a, 0x92, 0xf3, 0xee, 0x73,
+  0x45, 0xf9, 0x58, 0xb0, 0x93, 0x86, 0xb0, 0x45, 0xe2, 0x8a, 0xbf, 0x09,
+  0x07, 0x23, 0xd6, 0xec, 0x6f, 0x8e, 0xb4, 0xb6, 0x39, 0xe4, 0x3f, 0x37,
+  0xbf, 0x0a, 0x9d, 0x91, 0x96, 0xd2, 0xa0, 0x14, 0xd4, 0x5e, 0x38, 0xd4,
+  0x5c, 0x85, 0xa1, 0x1f, 0x44, 0xe3, 0x35, 0x8d, 0x41, 0x70, 0xb3, 0x4c,
+  0x0f, 0x25, 0x7c, 0x35, 0xd4, 0x81, 0x47, 0x76, 0x08, 0xd3, 0x80, 0xd1,
+  0xbe, 0xd3, 0x30, 0x85, 0xcd, 0x19, 0x42, 0xc5, 0x23, 0x71, 0xbe, 0x58,
+  0xb6, 0x35, 0x53, 0x6b, 0xb6, 0x31, 0xb5, 0x20, 0xb4, 0xef, 0xba, 0xd2,
+  0x00, 0x07, 0x46, 0x43, 0xaa, 0x92, 0x34, 0x58, 0x09, 0x7e, 0xc8, 0x71,
+  0xfa, 0x50, 0x3d, 0x5c, 0xaf, 0xc1, 0xa0, 0x1b, 0x94, 0xf3, 0x8b, 0x2b,
+  0x3c, 0xbe, 0x38, 0x3f, 0x3f, 0x39, 0x6e, 0x06, 0x0b, 0x4d, 0x4d, 0x89,
+  0x55, 0xf5, 0xbd, 0xfe, 0x8b, 0xf4, 0x79, 0xc2, 0xd6, 0x97, 0x68, 0x11,
+  0x7f, 0x9f, 0x5a, 0x33, 0xc5, 0x02, 0xb3, 0xcb, 0xbf, 0x94, 0x02, 0x2b,
+  0x86, 0x60, 0x15, 0x0a, 0x08, 0x54, 0xeb, 0x79, 0xf4, 0xe0, 0x96, 0xff,
+  0x93, 0x33, 0x0d, 0x71, 0x3f, 0xb4, 0xc6, 0x93, 0x4c, 0x58, 0x99, 0x05,
+  0x65, 0xcc, 0x8f, 0xc7, 0x9b, 0x92, 0x90, 0xae, 0xdf, 0x6e, 0xa3, 0x65,
+  0x46, 0x6d, 0xc3, 0xb2, 0x9f, 0x5e, 0x3e, 0xe1, 0x56, 0xb0, 0xf3, 0xb8,
+  0xb8, 0xc5, 0x70, 0xb6, 0x53, 0x00, 0x44, 0x05, 0xa0, 0x04, 0x20, 0x3d,
+  0x1e, 0x87, 0x70, 0x05, 0xc8, 0xeb, 0xae, 0x15, 0x0f, 0xe4, 0xd5, 0xe3,
+  0xc9, 0x48, 0xfb, 0xc4, 0x03, 0xad, 0xcc, 0xc4, 0xd7, 0xb3, 0xe4, 0x1e,
+  0x3f, 0xc3, 0x60, 0x2a, 0x08, 0x0e, 0xe0, 0xf7, 0x63, 0x60, 0x0c, 0x70,
+  0x8e, 0x2a, 0x3c, 0x0a, 0x2e, 0x01, 0x1e, 0xd5, 0x9c, 0x3b, 0x1e, 0x10,
+  0xa8, 0x32, 0xb6, 0x10, 0xe3, 0xaa, 0x1e, 0x6f, 0xaf, 0xde, 0x09, 0x30,
+  0x62, 0x23, 0xa0, 0xe6, 0xb5, 0x6c, 0x92, 0x92, 0x27, 0x03, 0x96, 0x48,
+  0x65, 0x97, 0x6d, 0xd8, 0x32, 0xbc, 0xd3, 0x74, 0x0c, 0x68, 0xad, 0x94,
+  0xb5, 0x21, 0xf4, 0x74, 0xe3, 0x96, 0xc8, 0xdf, 0x00, 0x81, 0xce, 0xe9,
+  0xae, 0xe0, 0x27, 0x80, 0x89, 0xed, 0x37, 0x41, 0x7b, 0x09, 0xcf, 0x8a,
+  0x9c, 0xa4, 0x08, 0x64, 0x37, 0xa5, 0xd2, 0x05, 0x7c, 0x98, 0x2e, 0xab,
+  0xa7, 0xe6, 0x22, 0x43, 0xa5, 0xc2, 0x3e, 0xa9, 0x46, 0x95, 0x4e, 0xe4,
+  0x63, 0x4c, 0x67, 0xd3, 0xbd, 0x57, 0x60, 0x1a, 0x8e, 0x42, 0xc8, 0x05,
+  0x86, 0x3f, 0x17, 0xcb, 0xca, 0x0b, 0x24, 0x22, 0x44, 0x17, 0xa3, 0x33,
+  0x7c, 0xd5, 0xf3, 0xdb, 0x59, 0xc5, 0x63, 0xf7, 0x4c, 0x89, 0x81, 0x93,
+  0xd9, 0x5f, 0x56, 0x70, 0xff, 0x9f, 0x80, 0x50, 0x24, 0x08, 0x5d, 0xd3,
+  0xd2, 0xa3, 0x6e, 0xd5, 0xd0, 0x8e, 0x59, 0x52, 0xdd, 0x24, 0xbf, 0x42,
+  0x93, 0x16, 0xcc, 0x2b, 0xca, 0x22, 0x56, 0x21, 0xb1, 0x10, 0x4c, 0x64,
+  0x83, 0xfb, 0x81, 0x95, 0x83, 0x8e, 0xad, 0xa4, 0x4d, 0x28, 0xdd, 0x72,
+  0x87, 0x2d, 0x7e, 0xe8, 0xb7, 0x97, 0x4c, 0xa6, 0x9b, 0xf9, 0x13, 0x3a,
+  0x8a, 0x79, 0xee, 0x53, 0xcc, 0x20, 0x3a, 0x84, 0xff, 0xac, 0xfc, 0xf6,
+  0xf3, 0x3f, 0xeb, 0xe1, 0x15, 0x3e, 0x4f, 0xea, 0x5a, 0x2c, 0x4e, 0x0b,
+  0xc6, 0xe9, 0x15, 0x9a, 0xde, 0xfb, 0x65, 0x78, 0x35, 0x89, 0xbc, 0x52,
+  0x06, 0xdb, 0x3a, 0x34, 0x57, 0x0c, 0x07, 0x02, 0xf6, 0x21, 0x5c, 0x50,
+  0x09, 0x41, 0x3d, 0x4f, 0x24, 0x3f, 0x29, 0x82, 0x6b, 0x65, 0xbc, 0xcd,
+  0x3c, 0x2b, 0x53, 0xc6, 0xf7, 0xcc, 0x8d, 0x0b, 0x14, 0xae, 0x46, 0xff,
+  0xa2, 0xba, 0x42, 0xb5, 0x83, 0x35, 0x65, 0x85, 0xbe, 0x52, 0xdb, 0x84,
+  0xe7, 0x48, 0x25, 0x6f, 0x4b, 0x9a, 0xb5, 0x80, 0xb5, 0x8d, 0xf2, 0x77,
+  0x61, 0x55, 0xd6, 0xbb, 0x25, 0x4f, 0x7a, 0xea, 0x37, 0xbf, 0x16, 0xcf,
+  0x4f, 0xd9, 0xae, 0x1f, 0xcc, 0xca, 0x7c, 0x6d, 0xce, 0x07, 0xe6, 0x2c,
+  0xeb, 0xf6, 0x94, 0xed, 0x66, 0xce, 0xb6, 0xe3, 0x95, 0x08, 0x24, 0x6d,
+  0xd3, 0x68, 0xff, 0x17, 0xa6, 0x6c, 0xbb, 0x19, 0xdb, 0x31, 0xe5, 0x6b,
+  0x07, 0xd2, 0xb5, 0x65, 0xa3, 0x25, 0x5f, 0x93, 0x33, 0xb6, 0x57, 0xa6,
+  0x6c, 0xbb, 0x39, 0xdb, 0xab, 0x92, 0xb6, 0xa9, 0x28, 0x7d, 0x45, 0xca,
+  0xf6, 0xaf, 0xcb, 0xd8, 0x6e, 0x4b, 0xd9, 0xfe, 0xe5, 0x39, 0xdb, 0xbf,
+  0x6d, 0xca, 0xf6, 0x6f, 0x99, 0x8d, 0x4c, 0xb7, 0x07, 0x4f, 0x24, 0x1d,
+  0x49, 0x69, 0xd3, 0x61, 0x2b, 0x2c, 0xad, 0x16, 0xfc, 0xd5, 0x12, 0x58,
+  0x9c, 0x30, 0xb3, 0x0c, 0xc3, 0x1a, 0x8d, 0xa3, 0xb8, 0xfb, 0x75, 0x43,
+  0x42, 0x2b, 0x81, 0x0c, 0x38, 0x37, 0x0e, 0xbc, 0x1b, 0xba, 0xe9, 0x65,
+  0x39, 0xeb, 0xd1, 0x0c, 0xb0, 0xe6, 0xd8, 0xb3, 0x12, 0x2d, 0x9f, 0x69,
+  0x3c, 0xf7, 0xdb, 0xb3, 0x9c, 0x6a, 0x56, 0x6e, 0xef, 0x5a, 0x5b, 0x5d,
+  0xfe, 0xb2, 0xc4, 0x7a, 0xd8, 0x90, 0xdd, 0x2e, 0x05, 0x23, 0x03, 0xe1,
+  0x32, 0x8a, 0x72, 0xc2, 0xaf, 0x91, 0x97, 0x34, 0x31, 0x7d, 0xf9, 0x4c,
+  0x48, 0xc2, 0xb4, 0xd9, 0xf5, 0x8a, 0x61, 0xa8, 0x00, 0xde, 0x5d, 0x07,
+  0xc9, 0x10, 0x2c, 0x7b, 0x51, 0xa6, 0x5d, 0xd2, 0x2d, 0xdc, 0xee, 0xef,
+  0x72, 0x85, 0xb4, 0x86, 0x74, 0x64, 0x9e, 0x1e, 0xaa, 0x11, 0x7d, 0x9f,
+  0x41, 0xa5, 0x6d, 0x0e, 0x1a, 0xf7, 0xbd, 0xd2, 0x77, 0xfa, 0xd1, 0x15,
+  0xaa, 0x8f, 0xa0, 0xac, 0xc3, 0x8c, 0x64, 0x70, 0xf9, 0x5d, 0x68, 0xb8,
+  0x3a, 0x90, 0x29, 0xd0, 0xcf, 0x87, 0xab, 0x33, 0x3f, 0x3e, 0x4d, 0xd1,
+  0x83, 0x83, 0xcd, 0x4d, 0xca, 0x90, 0xba, 0x89, 0x1f, 0x1e, 0xfa, 0x65,
+  0xb2, 0x39, 0xce, 0x47, 0xe5, 0x26, 0x9e, 0xa0, 0x7e, 0xf9, 0xa6, 0x9a,
+  0xcf, 0x56, 0x65, 0x3d, 0xa4, 0xa5, 0x16, 0xe5, 0x2a, 0x6c, 0xab, 0xcd,
+  0xbc, 0x64, 0x6b, 0x2b, 0x75, 0xe1, 0xca, 0x89, 0xef, 0x37, 0x86, 0x93,
+  0xaa, 0x02, 0x58, 0x14, 0xfc, 0x1f, 0xf5, 0xed, 0xc0, 0xa0, 0x52, 0xa0,
+  0x70, 0xd9, 0xed, 0x6d, 0xea, 0xd4, 0x10, 0xf8, 0x07, 0xc4, 0x76, 0x00,
+  0xc2, 0x92, 0x26, 0x15, 0xb1, 0xb0, 0xfa, 0x9e, 0xe9, 0xa6, 0xd7, 0x9a,
+  0x8a, 0x1a, 0xf2, 0xf2, 0x5b, 0x7f, 0x11, 0x9d, 0xb5, 0xf4, 0x19, 0xfd,
+  0xcd, 0x59, 0x02, 0x50, 0x37, 0x4a, 0xf9, 0xe7, 0x28, 0xbb, 0xee, 0xa3,
+  0x9f, 0xe2, 0x96, 0x99, 0x84, 0xbc, 0x43, 0xce, 0xb6, 0x5b, 0x39, 0x13,
+  0xf3, 0xf0, 0xa7, 0x98, 0x09, 0x15, 0xe9, 0x07, 0xf9, 0x63, 0x6d, 0x0e,
+  0xf4, 0xd8, 0xa7, 0xf8, 0xfe, 0xdd, 0x76, 0xdb, 0x67, 0xa9, 0x91, 0x28,
+  0x3d, 0xf1, 0x1b, 0x7e, 0xf8, 0x83, 0x71, 0x56, 0x31, 0xa6, 0xc1, 0x21,
+  0xfe, 0xf7, 0x40, 0x77, 0x78, 0x65, 0x87, 0xb2, 0x16, 0xf8, 0x77, 0xa7,
+  0x3b, 0xba, 0x38, 0xc1, 0x56, 0x82, 0x86, 0xb4, 0xa1, 0x82, 0x30, 0x26,
+  0x94, 0x00, 0x43, 0x13, 0x5e, 0x7f, 0x4f, 0x51, 0xe5, 0x18, 0x41, 0x85,
+  0x21, 0x6d, 0x18, 0xa0, 0x44, 0x11, 0x96, 0xc0, 0x50, 0x08, 0x8b, 0x21,
+  0xaa, 0xe5, 0x66, 0x9d, 0xb9, 0xa1, 0x98, 0x57, 0xea, 0x32, 0xa2, 0x8b,
+  0xec, 0xb6, 0x8e, 0x29, 0x93, 0x99, 0x9f, 0xd6, 0xf2, 0x14, 0xee, 0x3d,
+  0xf1, 0x6c, 0x17, 0x89, 0x68, 0x68, 0xfc, 0x68, 0xc4, 0x57, 0x9a, 0x4c,
+  0x54, 0x31, 0x51, 0x67, 0x16, 0xbc, 0xc2, 0x5c, 0xf1, 0x83, 0xa8, 0xd3,
+  0xfb, 0x10, 0x1d, 0x74, 0xbc, 0x2d, 0xba, 0xc8, 0xa4, 0x6f, 0x08, 0x79,
+  0xbc, 0x0a, 0x2a, 0x84, 0xa7, 0x56, 0x44, 0xae, 0x66, 0x72, 0x83, 0x80,
+  0x45, 0xd6, 0x9c, 0x30, 0x98, 0xfb, 0x53, 0x2f, 0x08, 0x37, 0xd7, 0x1e,
+  0x93, 0xa6, 0x47, 0x0e, 0x0a, 0x12, 0x74, 0xda, 0x58, 0x00, 0x6d, 0xd2,
+  0x9e, 0x18, 0xff, 0x1f, 0x59, 0x2b, 0x06, 0x13, 0x31, 0x98, 0x89, 0x35,
+  0xdf, 0x3e, 0x60, 0x9d, 0xf4, 0x97, 0x96, 0x52, 0xba, 0x45, 0x5e, 0x96,
+  0xe9, 0x10, 0x38, 0xf5, 0x54, 0x58, 0x64, 0x99, 0x70, 0x3e, 0x15, 0xb7,
+  0xea, 0xc4, 0xdd, 0x34, 0x00, 0x00, 0xa5, 0x0f, 0xad, 0xc5, 0x2b, 0x15,
+  0xd0, 0x01, 0x71, 0x2e, 0xc1, 0xec, 0x98, 0xb1, 0xdd, 0xa5, 0x38, 0x34,
+  0x53, 0x5b, 0x1c, 0x0d, 0x8b, 0x34, 0x99, 0x60, 0xaa, 0x23, 0xe3, 0x49,
+  0xb1, 0xe2, 0xd5, 0x64, 0xb2, 0x33, 0x04, 0xe6, 0xc0, 0x24, 0x1d, 0xcc,
+  0xb4, 0x2d, 0x11, 0xb8, 0x90, 0xd2, 0xaf, 0x29, 0xf7, 0xd1, 0xe6, 0x76,
+  0x17, 0x09, 0x66, 0x0e, 0xdc, 0x25, 0x72, 0xac, 0xb1, 0xf6, 0x6f, 0x69,
+  0xc9, 0x49, 0x2d, 0x0c, 0xbe, 0x33, 0x55, 0x3b, 0x10, 0x26, 0x90, 0xc1,
+  0x27, 0xc1, 0x2f, 0x46, 0xda, 0xaa, 0x3d, 0xae, 0x95, 0xee, 0xf7, 0x3f,
+  0x19, 0x8f, 0x77, 0xbc, 0xd0, 0xbf, 0xa0, 0x0e, 0xa0, 0xde, 0x2e, 0x6a,
+  0x55, 0x56, 0xbc, 0x93, 0x19, 0xed, 0xa1, 0xa9, 0x84, 0xd3, 0xe1, 0x27,
+  0x08, 0xac, 0x1e, 0x9d, 0x37, 0xb5, 0x9c, 0x40, 0x62, 0x39, 0x26, 0xd0,
+  0x71, 0xbe, 0x9a, 0x59, 0x5d, 0x45, 0xd8, 0x02, 0x04, 0xd4, 0xe2, 0x06,
+  0x86, 0x3f, 0x78, 0x22, 0xde, 0xa6, 0xcb, 0xb7, 0x27, 0xc8, 0x3b, 0xf9,
+  0xf1, 0x54, 0x10, 0xc2, 0x3e, 0xf2, 0x18, 0x67, 0xe0, 0xcb, 0x64, 0xc4,
+  0xa1, 0xe6, 0xdc, 0x78, 0x4d, 0x8d, 0x77, 0x33, 0xe3, 0x41, 0xe7, 0x73,
+  0x62, 0xf5, 0x16, 0x39, 0x12, 0x1d, 0xac, 0xe1, 0x28, 0x31, 0xdd, 0x50,
+  0xea, 0x21, 0xf0, 0xd2, 0xeb, 0x04, 0xe8, 0xf2, 0x72, 0x1d, 0xea, 0x2e,
+  0x8d, 0x8d, 0x02, 0x65, 0x3f, 0xc4, 0xfb, 0x29, 0x10, 0xc2, 0x71, 0x6b,
+  0x6d, 0x08, 0x72, 0x7b, 0x46, 0xdc, 0x09, 0x54, 0x76, 0x9e, 0x0f, 0x06,
+  0x7e, 0x8a, 0x7c, 0x06, 0xc6, 0x49, 0x3e, 0xcd, 0xd2, 0xbf, 0x27, 0x63,
+  0x09, 0x5a, 0x36, 0xd3, 0x5b, 0x6b, 0x45, 0x0a, 0x91, 0x13, 0x90, 0xc7,
+  0x44, 0x09, 0x9f, 0xbf, 0x31, 0x12, 0x1c, 0x4a, 0x1d, 0x4c, 0x07, 0x43,
+  0x00, 0x2b, 0x93, 0x09, 0x88, 0x41, 0x06, 0x6e, 0xc2, 0x23, 0xb6, 0x98,
+  0xc9, 0x9d, 0xe5, 0x0f, 0x7b, 0x87, 0xab, 0x54, 0x21, 0xd8, 0x33, 0x2d,
+  0x08, 0x4f, 0x49, 0xf4, 0x2b, 0x8a, 0x0a, 0xa8, 0xb9, 0xde, 0x2f, 0x2f,
+  0x29, 0x08, 0xa3, 0x2f, 0x25, 0x0f, 0xcc, 0x40, 0x5b, 0xf0, 0xed, 0x34,
+  0x27, 0xbb, 0x4c, 0x42, 0xe2, 0x45, 0xf7, 0x98, 0x05, 0xe9, 0xb3, 0x50,
+  0xee, 0x54, 0xf9, 0x8c, 0xfd, 0xbb, 0xd5, 0x44, 0xb8, 0x33, 0x81, 0x8e,
+  0x67, 0x40, 0xdb, 0xa1, 0x1b, 0x5f, 0x81, 0xc9, 0xc5, 0x9f, 0x4e, 0xed,
+  0x3a, 0x18, 0x7f, 0x21, 0x61, 0x3c, 0x3a, 0x53, 0x09, 0x24, 0x36, 0x4a,
+  0xaa, 0xf8, 0x9f, 0x1e, 0x1e, 0x5a, 0x2c, 0xba, 0x3b, 0xb9, 0x97, 0xa5,
+  0x1a, 0x4c, 0xda, 0x46, 0xe3, 0x00, 0x7d, 0x04, 0x60, 0xc3, 0xba, 0x2a,
+  0x75, 0xdd, 0xc3, 0xaf, 0xb1, 0x52, 0x4b, 0xa9, 0xa2, 0x49, 0x5a, 0x16,
+  0x24, 0xde, 0x4c, 0x91, 0x53, 0x44, 0xc4, 0xc7, 0x6f, 0x9a, 0x9f, 0xd5,
+  0xa5, 0x18, 0x43, 0x90, 0x7a, 0xa4, 0x25, 0xc8, 0x34, 0xa4, 0x05, 0x2c,
+  0xc1, 0x26, 0x43, 0xf0, 0x58, 0x2e, 0x2b, 0x32, 0xb4, 0xd2, 0x45, 0xee,
+  0xc3, 0x2c, 0x57, 0x3c, 0x75, 0xbd, 0x85, 0x72, 0xd9, 0xe6, 0x62, 0x1f,
+  0x65, 0x90, 0x16, 0x5d, 0xfe, 0x13, 0x54, 0xa2, 0xfc, 0xaa, 0x52, 0x94,
+  0x4f, 0x5b, 0x89, 0x62, 0x25, 0x05, 0x4a, 0x1d, 0x5f, 0x4e, 0x50, 0x94,
+  0x10, 0x5d, 0x32, 0x9c, 0x06, 0x75, 0x1f, 0x9b, 0xee, 0x25, 0xfc, 0x5a,
+  0x63, 0xb8, 0xf0, 0x65, 0xea, 0x46, 0xb5, 0x2c, 0xd9, 0xc4, 0xe3, 0x91,
+  0xeb, 0xc2, 0x35, 0x42, 0xcd, 0xf9, 0x68, 0x06, 0x58, 0x32, 0x3e, 0x4e,
+  0x04, 0x9f, 0xeb, 0xcf, 0xb6, 0x7b, 0xc8, 0xa7, 0x36, 0xc0, 0xb6, 0x81,
+  0x37, 0x1f, 0x3a, 0xf2, 0xf8, 0xcb, 0x27, 0x05, 0x32, 0xdd, 0x33, 0x7c,
+  0xcd, 0x02, 0x60, 0x3a, 0xfc, 0xce, 0x74, 0x36, 0xe5, 0x1e, 0x6d, 0x55,
+  0xf8, 0xc2, 0x50, 0xb3, 0x52, 0x46, 0x3a, 0x14, 0xf6, 0x86, 0x99, 0x71,
+  0xf8, 0x7e, 0x0b, 0x83, 0x4b, 0x34, 0xee, 0xaa, 0x26, 0x31, 0x70, 0xf4,
+  0x61, 0x52, 0xdd, 0xa3, 0x16, 0x47, 0xfb, 0xa1, 0x1b, 0xe9, 0x70, 0x01,
+  0xd9, 0xa2, 0xd6, 0x7c, 0x97, 0x2e, 0xa7, 0xc1, 0x21, 0x43, 0x61, 0x0c,
+  0x5f, 0xe3, 0x17, 0xd1, 0x98, 0xae, 0x77, 0xfb, 0x82, 0xed, 0x80, 0x6c,
+  0x88, 0xba, 0xb6, 0x37, 0x9a, 0x8b, 0x5b, 0xab, 0x18, 0xd2, 0xb4, 0x25,
+  0x79, 0xd0, 0xf5, 0xf1, 0x9b, 0x6b, 0x2c, 0xd7, 0x36, 0x08, 0x58, 0x81,
+  0x81, 0x31, 0x7a, 0x57, 0xe6, 0xa3, 0xe7, 0xef, 0xa8, 0x5a, 0x5d, 0x3f,
+  0x66, 0x89, 0x71, 0xb9, 0x50, 0x68, 0xb8, 0x8d, 0xc9, 0xb0, 0x27, 0x47,
+  0x7e, 0x1b, 0x2f, 0xe0, 0x67, 0x18, 0x12, 0x24, 0x3c, 0x59, 0xee, 0x5d,
+  0xe7, 0xe5, 0x25, 0x10, 0x01, 0xb8, 0x13, 0x6b, 0x84, 0xc5, 0xe9, 0x7c,
+  0x7c, 0xb0, 0x7d, 0x31, 0xce, 0x42, 0x2d, 0x52, 0x4a, 0x41, 0x6e, 0x52,
+  0xef, 0x94, 0x06, 0xc9, 0x25, 0xd8, 0xe2, 0x0a, 0x57, 0x41, 0xa4, 0xce,
+  0xf8, 0x00, 0x2b, 0x1f, 0xbe, 0xba, 0xb6, 0x48, 0xbf, 0x7b, 0xfa, 0x75,
+  0xce, 0x70, 0xdb, 0x54, 0x91, 0xe5, 0xcd, 0x5f, 0xb2, 0xf8, 0xb4, 0x71,
+  0x9e, 0x75, 0xf5, 0x98, 0x3e, 0xb8, 0x7e, 0x3f, 0x54, 0x04, 0x7f, 0xd2,
+  0x17, 0x04, 0x02, 0x59, 0xc6, 0x37, 0xed, 0x45, 0xdb, 0x22, 0x93, 0xa1,
+  0x1c, 0x8e, 0xda, 0xad, 0x95, 0xd8, 0x43, 0x20, 0x36, 0xb7, 0x3e, 0xc0,
+  0xba, 0x88, 0xc1, 0xf1, 0xe5, 0x46, 0x74, 0xd9, 0x40, 0x82, 0xa1, 0xa2,
+  0x24, 0x14, 0xa6, 0x2e, 0x1f, 0x96, 0x76, 0x6e, 0x8c, 0x71, 0xd9, 0x8e,
+  0x1a, 0x92, 0xca, 0x15, 0x33, 0x48, 0xae, 0x14, 0xfa, 0xfd, 0xcd, 0x19,
+  0x53, 0x63, 0x2d, 0x47, 0x54, 0xa4, 0xc1, 0xa0, 0x20, 0x62, 0x52, 0xba,
+  0xd7, 0x14, 0x2c, 0xe8, 0x1c, 0x4b, 0xed, 0xb8, 0x81, 0x92, 0x38, 0xe5,
+  0x15, 0xff, 0x64, 0xe6, 0xa5, 0x3a, 0xd2, 0x46, 0x68, 0xd6, 0xb9, 0x83,
+  0x7e, 0x24, 0x9d, 0x0c, 0x4b, 0x96, 0x4a, 0x8d, 0x4e, 0x03, 0xc4, 0xc3,
+  0xa6, 0x49, 0xe6, 0x77, 0x2e, 0xa1, 0x8f, 0xa2, 0x20, 0x17, 0x92, 0x1e,
+  0xf7, 0x9b, 0xa8, 0xf9, 0x4e, 0xd0, 0x40, 0x26, 0x97, 0xe6, 0x16, 0x6d,
+  0xbd, 0x05, 0x61, 0x93, 0x75, 0x3c, 0x6c, 0x64, 0x88, 0x1c, 0x71, 0x8a,
+  0x61, 0x9a, 0x8a, 0x24, 0xdc, 0xe2, 0x11, 0x37, 0x03, 0x1e, 0x2b, 0xcb,
+  0x9b, 0x1d, 0xe0, 0x1b, 0x3b, 0xfd, 0xcf, 0x19, 0x17, 0xf2, 0x06, 0x84,
+  0x75, 0x00, 0x8e, 0x97, 0xd3, 0x47, 0xa4, 0xe5, 0x69, 0x63, 0x3c, 0xd1,
+  0xc2, 0xfb, 0x56, 0xf1, 0xef, 0xfd, 0x27, 0x52, 0xda, 0xdf, 0x96, 0x7e,
+  0xfc, 0x6e, 0x1d, 0x09, 0x2a, 0x42, 0xb2, 0xda, 0xe0, 0x06, 0x7d, 0x9c,
+  0x69, 0x30, 0x4c, 0x2b, 0x02, 0xc6, 0x57, 0x2b, 0xb2, 0x7e, 0x35, 0xa9,
+  0x89, 0x55, 0x41, 0x6f, 0x05, 0x6b, 0xe2, 0xfb, 0xd1, 0x7f, 0xe2, 0xa7,
+  0xf4, 0x6d, 0x2e, 0xcb, 0xa0, 0x64, 0x88, 0xaf, 0x4f, 0xde, 0x5e, 0x5c,
+  0x9d, 0xd4, 0xcb, 0x15, 0x2b, 0xee, 0x95, 0x4e, 0xc1, 0xfe, 0xe6, 0xec,
+  0x08, 0xd5, 0x4e, 0x61, 0x10, 0x24, 0x53, 0x21, 0x45, 0xbb, 0x3f, 0xba,
+  0xfc, 0xfe, 0x8d, 0x99, 0x1d, 0x6a, 0x09, 0x19, 0x77, 0x5a, 0x92, 0x41,
+  0xbb, 0xbc, 0xd3, 0x4d, 0xd1, 0x8e, 0x5a, 0x00, 0x36, 0x94, 0x92, 0x06,
+  0xd5, 0x66, 0x7e, 0x94, 0x62, 0xc1, 0x89, 0x31, 0x5a, 0xaa, 0x4f, 0x18,
+  0xea, 0x65, 0x89, 0xa5, 0xf7, 0x66, 0x50, 0x4f, 0xef, 0x65, 0xeb, 0x88,
+  0x01, 0xa7, 0x38, 0xb5, 0x38, 0x66, 0xf4, 0x38, 0x84, 0x94, 0xeb, 0x47,
+  0xfe, 0x87, 0x34, 0x29, 0x84, 0xbe, 0x12, 0x62, 0xd8, 0xd8, 0x3b, 0x9d,
+  0x03, 0x21, 0x2c, 0xed, 0xd0, 0xe1, 0x82, 0x44, 0x6b, 0x7a, 0x57, 0x75,
+  0x19, 0xe9, 0x4f, 0xc2, 0x3d, 0xee, 0x46, 0x06, 0x22, 0xe4, 0xf0, 0xcd,
+  0xf5, 0x12, 0x0b, 0x1d, 0x9c, 0xa9, 0x9a, 0xdf, 0x44, 0x6a, 0x41, 0xaf,
+  0xfd, 0x79, 0xcd, 0xd6, 0x84, 0x70, 0x0f, 0xbe, 0x70, 0xcf, 0x4a, 0xdb,
+  0xc3, 0x6c, 0xe3, 0xa9, 0xfc, 0x2d, 0x5d, 0x71, 0x5b, 0x3d, 0xb6, 0x84,
+  0xee, 0x24, 0xa5, 0x87, 0x5a, 0x89, 0x2e, 0x19, 0xae, 0x94, 0x18, 0x87,
+  0x08, 0x53, 0x1d, 0xa5, 0x6b, 0x80, 0xbc, 0x7d, 0xe7, 0x5e, 0xe1, 0xf6,
+  0x35, 0x52, 0x86, 0x43, 0x01, 0x33, 0x45, 0xae, 0xa7, 0x50, 0x04, 0x35,
+  0x8c, 0x2a, 0x1f, 0xb3, 0x0a, 0x2f, 0x2a, 0xf3, 0x94, 0x51, 0x5e, 0x04,
+  0x0b, 0xc0, 0x90, 0x90, 0x2c, 0xe9, 0x96, 0x84, 0x34, 0xf1, 0x6a, 0xff,
+  0x15, 0x8a, 0x76, 0xca, 0x50, 0x92, 0xae, 0x5e, 0x82, 0xef, 0x4c, 0xd1,
+  0x53, 0xee, 0x24, 0xe8, 0xa1, 0x29, 0xbb, 0x6b, 0xd0, 0x4e, 0xcc, 0xc3,
+  0x64, 0xc6, 0x9d, 0xc4, 0x06, 0xce, 0x20, 0x3e, 0x98, 0xd2, 0x8a, 0x03,
+  0x43, 0x18, 0x3f, 0x20, 0x9f, 0xb4, 0xbc, 0x8d, 0xd6, 0xff, 0x6d, 0xc3,
+  0xb4, 0x5b, 0x27, 0xfa, 0x41, 0xdf, 0x6c, 0x9a, 0x2d, 0x3d, 0xca, 0x47,
+  0xe7, 0x5c, 0x5a, 0xdb, 0x54, 0xda, 0x73, 0x5a, 0xdf, 0x30, 0x54, 0x93,
+  0x57, 0x56, 0xf9, 0x22, 0xe2, 0xd6, 0x6f, 0x85, 0x17, 0x1c, 0x93, 0xe3,
+  0x5a, 0x69, 0xa7, 0xb6, 0x97, 0x2d, 0xf8, 0x12, 0x91, 0x98, 0x10, 0xa1,
+  0x62, 0x8b, 0xc3, 0x55, 0xb5, 0xab, 0x7e, 0xf4, 0x21, 0xa3, 0x44, 0x3c,
+  0xa1, 0x3b, 0x91, 0x13, 0x69, 0x06, 0xeb, 0x07, 0x9a, 0x06, 0x49, 0x11,
+  0x60, 0x42, 0x7f, 0xab, 0x33, 0x1f, 0x61, 0x92, 0x8d, 0x00, 0x29, 0x5d,
+  0x5a, 0x61, 0x6b, 0x86, 0x6d, 0x45, 0xd1, 0x5b, 0xbf, 0x47, 0x1e, 0xf7,
+  0xf8, 0x42, 0x52, 0x87, 0xe5, 0xd0, 0xd8, 0x18, 0x02, 0x4f, 0x66, 0xb3,
+  0x1e, 0x83, 0xa8, 0x23, 0xa8, 0x34, 0x2a, 0xf7, 0x5c, 0x25, 0x4d, 0x09,
+  0x6c, 0xae, 0xe1, 0xe3, 0x49, 0x16, 0x2a, 0xf6, 0xee, 0x63, 0x09, 0x90,
+  0xc2, 0x8d, 0x48, 0x29, 0x96, 0x06, 0xd6, 0xb0, 0x72, 0xcf, 0x3a, 0x43,
+  0x68, 0x73, 0x78, 0x49, 0x6d, 0x5d, 0xad, 0x7c, 0x58, 0xd2, 0xd1, 0xcd,
+  0xb4, 0x58, 0x70, 0x67, 0xbd, 0x50, 0xdb, 0x3f, 0x57, 0xeb, 0xe6, 0x47,
+  0x95, 0x28, 0xca, 0xa4, 0xe2, 0xc9, 0xf0, 0xbb, 0xa7, 0x6f, 0x6a, 0x2d,
+  0xba, 0x71, 0x2b, 0xd0, 0xf4, 0x0b, 0x0f, 0x67, 0x9b, 0x84, 0xe3, 0x7d,
+  0xb4, 0x52, 0xc3, 0x0c, 0x65, 0x4d, 0x8c, 0xa1, 0xb6, 0x51, 0xa5, 0xdf,
+  0x85, 0x87, 0x93, 0x51, 0x58, 0x55, 0xe5, 0x31, 0x74, 0x60, 0x22, 0x15,
+  0xed, 0x21, 0x8f, 0xc4, 0x30, 0x4d, 0x0a, 0xf3, 0x19, 0x3f, 0x49, 0xf2,
+  0x66, 0x9e, 0x8f, 0xb1, 0xa6, 0x2b, 0x79, 0x7a, 0x2f, 0xf0, 0x49, 0x7b,
+  0xdf, 0xa4, 0x1c, 0xae, 0x34, 0x3d, 0x5f, 0xb9, 0x62, 0x0f, 0xa1, 0xee,
+  0xab, 0x52, 0x76, 0x26, 0x3c, 0x9c, 0x5d, 0xaa, 0x76, 0xba, 0x94, 0x37,
+  0xdd, 0x25, 0x64, 0x51, 0x3e, 0xaa, 0x9c, 0x15, 0xe0, 0x03, 0xe1, 0xe1,
+  0x98, 0xb1, 0x06, 0x56, 0x86, 0x05, 0x52, 0x64, 0x51, 0xae, 0x5e, 0x19,
+  0x3f, 0xe8, 0x1d, 0x32, 0xfc, 0x90, 0xd9, 0xb5, 0x77, 0xc2, 0xed, 0x2b,
+  0x0b, 0x9d, 0x30, 0xcd, 0xa0, 0x79, 0xc0, 0xda, 0xe1, 0xa8, 0xe0, 0xa3,
+  0xec, 0x85, 0x87, 0x33, 0x27, 0x2c, 0x60, 0xd7, 0x2b, 0x0e, 0x58, 0xbe,
+  0xe2, 0xed, 0xc2, 0x2c, 0x03, 0xf5, 0x6e, 0x59, 0x8c, 0x92, 0x8f, 0x34,
+  0xb7, 0x2a, 0x2e, 0xa6, 0x49, 0xf5, 0x71, 0xf5, 0x86, 0xcc, 0x04, 0x4d,
+  0xe1, 0x71, 0x4e, 0xad, 0xaa, 0x0d, 0xb3, 0x10, 0x74, 0xd9, 0x58, 0xd0,
+  0x05, 0x40, 0xc1, 0xe3, 0x76, 0xe0, 0x55, 0xfb, 0x86, 0x38, 0xdf, 0x8b,
+  0x14, 0x4a, 0x07, 0xc4, 0x65, 0x9a, 0x29, 0x88, 0x8d, 0xf0, 0x18, 0x67,
+  0x8a, 0x51, 0x08, 0x79, 0x69, 0x55, 0xb8, 0x6a, 0x7e, 0x8b, 0x25, 0x56,
+  0x46, 0x09, 0xf8, 0x18, 0x68, 0x0e, 0xe2, 0xd2, 0x31, 0x3f, 0xae, 0xc7,
+  0xcd, 0x6b, 0x92, 0x1a, 0x42, 0xd3, 0xd1, 0xd4, 0x3d, 0xe9, 0xc8, 0x2f,
+  0x85, 0x76, 0x04, 0xa2, 0x7e, 0xd0, 0xdc, 0xc8, 0xe6, 0xec, 0x16, 0xf7,
+  0x63, 0xe3, 0x88, 0x81, 0xbf, 0xea, 0x77, 0x55, 0xb8, 0x53, 0x6b, 0x68,
+  0x6d, 0x1a, 0x8c, 0x09, 0x4c, 0x3c, 0xd8, 0x44, 0x11, 0xb0, 0x5b, 0x3f,
+  0x9d, 0x55, 0xbe, 0xfe, 0xe3, 0x7d, 0xbc, 0x48, 0x38, 0xef, 0x95, 0xb6,
+  0x57, 0x0e, 0xa3, 0x7d, 0x6b, 0xe4, 0x69, 0x3b, 0x45, 0xe6, 0xee, 0x96,
+  0x75, 0x15, 0x81, 0x2d, 0x6a, 0x67, 0x77, 0xf2, 0xd5, 0xc6, 0x75, 0x18,
+  0x27, 0xe8, 0x97, 0x15, 0x42, 0xc0, 0x84, 0x2d, 0x1e, 0x48, 0xb9, 0xde,
+  0x2a, 0x32, 0x6a, 0xdd, 0xe3, 0x62, 0xfe, 0xc4, 0x15, 0x87, 0x07, 0xec,
+  0xaa, 0x18, 0x87, 0xc3, 0xac, 0xca, 0xbb, 0x97, 0x72, 0x89, 0x5b, 0x76,
+  0xbe, 0x6d, 0x06, 0x35, 0x1a, 0x5c, 0x35, 0x13, 0x97, 0xfa, 0xdc, 0xc9,
+  0xd8, 0xad, 0x05, 0x55, 0xae, 0xa2, 0x8e, 0xc5, 0x3a, 0xb3, 0xf0, 0x70,
+  0x86, 0x3c, 0xf5, 0x3d, 0xd9, 0x9e, 0xae, 0xe3, 0xbb, 0xe4, 0x4e, 0x22,
+  0x60, 0x36, 0xfa, 0xb4, 0xa1, 0xd7, 0xfb, 0x17, 0xb1, 0x07, 0xb4, 0xcf,
+  0x67, 0x99, 0x6b, 0x91, 0xe3, 0x17, 0x41, 0xf2, 0xae, 0x28, 0x65, 0x71,
+  0xda, 0x10, 0x98, 0x03, 0xe7, 0x7e, 0xb4, 0x14, 0x77, 0xa5, 0x84, 0x3c,
+  0x4a, 0x54, 0xa5, 0x4e, 0x54, 0xa2, 0xa4, 0x12, 0x5c, 0xdc, 0x18, 0x7b,
+  0x7c, 0xf8, 0x79, 0xf3, 0xfc, 0x49, 0xce, 0xda, 0x62, 0x18, 0x64, 0x8c,
+  0x1c, 0x8a, 0x12, 0xa2, 0xdd, 0x6e, 0xcb, 0x44, 0xac, 0x04, 0x7d, 0x3c,
+  0xe2, 0xb6, 0x21, 0x7e, 0x93, 0xdf, 0x46, 0x02, 0x5d, 0xd9, 0x77, 0xdc,
+  0x10, 0x0c, 0xb6, 0x9d, 0x4c, 0xc7, 0x6e, 0xcb, 0x6c, 0x67, 0xf9, 0x45,
+  0x97, 0xb7, 0x60, 0x0a, 0x8b, 0xa7, 0x3f, 0x82, 0x45, 0x22, 0xa4, 0x12,
+  0x93, 0xae, 0x82, 0xa8, 0x07, 0x1b, 0xd1, 0x95, 0x84, 0x36, 0x51, 0xa7,
+  0x7b, 0x84, 0x7b, 0xcf, 0x03, 0xac, 0xa7, 0x7d, 0x10, 0x86, 0x5c, 0x14,
+  0x80, 0x0a, 0x12, 0xc2, 0xf1, 0x87, 0x02, 0xc5, 0x1b, 0x12, 0x10, 0x65,
+  0x87, 0xdb, 0xe6, 0x76, 0x7f, 0xbb, 0xeb, 0x5a, 0x9d, 0x36, 0xf5, 0x0f,
+  0x75, 0xef, 0x58, 0xfa, 0x0c, 0x31, 0xe0, 0x42, 0xd3, 0xcf, 0x70, 0x85,
+  0x1f, 0x2e, 0x7d, 0xb7, 0x30, 0xb9, 0x96, 0xad, 0xc1, 0x72, 0x1f, 0x3f,
+  0xfa, 0x8a, 0xe9, 0x56, 0x6f, 0xef, 0xd5, 0xab, 0x9a, 0x3c, 0x2f, 0x1d,
+  0x28, 0xf5, 0xfd, 0xad, 0x2d, 0x5a, 0x9b, 0x57, 0x13, 0x0d, 0xbf, 0xe8,
+  0xbd, 0xa2, 0x17, 0xeb, 0xaf, 0x95, 0x09, 0x1c, 0xc1, 0xb8, 0xfd, 0xbd,
+  0x1e, 0xfe, 0x26, 0xf0, 0x39, 0xf2, 0xa7, 0xb4, 0xbe, 0xf5, 0x0a, 0x3f,
+  0x17, 0x78, 0x8b, 0x1e, 0xe6, 0x7d, 0xcc, 0x27, 0x13, 0x74, 0x64, 0xe1,
+  0x93, 0x8a, 0xcb, 0x73, 0x1f, 0x17, 0x63, 0x7f, 0xb9, 0x5b, 0xdd, 0xde,
+  0x76, 0xdb, 0x72, 0x29, 0x9a, 0x4c, 0x09, 0x70, 0x78, 0x9e, 0x68, 0x27,
+  0x82, 0xf5, 0xc1, 0x05, 0x42, 0xcd, 0x81, 0xb6, 0x61, 0x46, 0xdb, 0xaf,
+  0x5e, 0x75, 0x71, 0x66, 0xfb, 0xaf, 0x5e, 0xb5, 0x16, 0x84, 0x3b, 0x9f,
+  0xb9, 0xcf, 0xad, 0xfb, 0x09, 0x5f, 0xb7, 0x44, 0x53, 0xa2, 0x91, 0x13,
+  0xfe, 0x0e, 0xfe, 0x26, 0x7a, 0x1d, 0x9d, 0x5f, 0x5c, 0x9f, 0x38, 0x9e,
+  0x19, 0xba, 0x5f, 0x1c, 0x30, 0x74, 0x4c, 0x4d, 0x8a, 0xc1, 0x2e, 0xa8,
+  0x95, 0x17, 0x59, 0xbd, 0x60, 0x93, 0xf8, 0xc6, 0x24, 0x15, 0xab, 0xa8,
+  0x47, 0xf0, 0x0f, 0x7e, 0x46, 0x04, 0x35, 0xec, 0x9a, 0xa6, 0x95, 0x0b,
+  0xdb, 0xb4, 0x0e, 0x87, 0xbd, 0x41, 0x2e, 0x0e, 0x4e, 0x72, 0x93, 0x60,
+  0xca, 0x5a, 0x89, 0xd5, 0x1d, 0x9c, 0x08, 0x8b, 0xff, 0xc8, 0x17, 0x6b,
+  0x5e, 0x81, 0x45, 0x32, 0xc3, 0xbc, 0x55, 0x91, 0x84, 0xfc, 0x42, 0x8f,
+  0x9e, 0x94, 0xeb, 0x42, 0xf6, 0x2a, 0x37, 0x0a, 0x8f, 0x09, 0xd5, 0xd2,
+  0xfd, 0x78, 0x20, 0x9e, 0x82, 0x9c, 0x90, 0x13, 0x31, 0xb4, 0x32, 0x0b,
+  0x87, 0x71, 0xd1, 0x8d, 0xd7, 0x4a, 0xeb, 0xf0, 0x34, 0xde, 0xb9, 0x0c,
+  0xcf, 0xc1, 0xc3, 0x23, 0x64, 0x27, 0xfe, 0x38, 0x59, 0x68, 0x4a, 0x69,
+  0x56, 0x1f, 0x07, 0x68, 0x79, 0x92, 0x4e, 0x97, 0x45, 0x38, 0xfd, 0x92,
+  0xba, 0x3c, 0x48, 0xa6, 0x83, 0x76, 0x0d, 0x88, 0xef, 0xe3, 0x22, 0xd1,
+  0x26, 0x77, 0xd9, 0xa3, 0xb9, 0xdb, 0x6a, 0x05, 0x6b, 0x3d, 0x10, 0xb6,
+  0x74, 0xf0, 0x2c, 0x69, 0x2c, 0xe1, 0x02, 0x3d, 0x06, 0xbd, 0x04, 0x92,
+  0xa2, 0x43, 0x5e, 0x3d, 0xe9, 0xed, 0x27, 0xe9, 0x35, 0xe2, 0x40, 0xc4,
+  0xc3, 0xa6, 0x26, 0x7e, 0x71, 0x24, 0x5b, 0xe0, 0xe7, 0xd4, 0xad, 0xcd,
+  0xac, 0xef, 0x1e, 0x9f, 0x25, 0x6f, 0xcb, 0x4d, 0xee, 0xf4, 0x08, 0xf1,
+  0x41, 0x1b, 0x90, 0xf3, 0x30, 0x9c, 0x0b, 0xfd, 0x95, 0x0f, 0x09, 0x9e,
+  0xbf, 0xcf, 0x66, 0x79, 0x3c, 0xb6, 0xce, 0x93, 0x85, 0xa6, 0xeb, 0x0a,
+  0xe4, 0x98, 0x1c, 0xad, 0x97, 0xd5, 0x81, 0x27, 0xcd, 0x67, 0x1c, 0xad,
+  0x3b, 0x80, 0x22, 0x44, 0xa1, 0x8e, 0x1b, 0x84, 0xb9, 0x14, 0x52, 0x0a,
+  0x03, 0x64, 0x20, 0xdc, 0x8d, 0x6f, 0xf6, 0x22, 0xbd, 0xf3, 0x69, 0x99,
+  0x44, 0x17, 0xea, 0x99, 0x89, 0x42, 0xd2, 0x71, 0x69, 0x44, 0x83, 0xd3,
+  0xff, 0x79, 0xf2, 0x29, 0xa3, 0x4e, 0x45, 0x7c, 0x6f, 0x0a, 0x07, 0xbf,
+  0x67, 0xc0, 0x4a, 0x89, 0x06, 0x19, 0xa4, 0x8a, 0x78, 0x26, 0x36, 0x3c,
+  0xac, 0x97, 0x83, 0x0a, 0x14, 0x56, 0x94, 0x96, 0xb8, 0x40, 0x58, 0x3e,
+  0x6d, 0x63, 0x7d, 0x9f, 0x45, 0x2e, 0xe3, 0x5c, 0x74, 0xaa, 0xf8, 0x62,
+  0x07, 0x20, 0x9f, 0xe3, 0x9c, 0x5c, 0x89, 0x64, 0xda, 0xa3, 0xb7, 0x97,
+  0xe1, 0xa4, 0x02, 0xdd, 0x2e, 0x09, 0x11, 0x11, 0x27, 0x05, 0x73, 0x7d,
+  0xa2, 0x27, 0xa1, 0x5b, 0x69, 0x9f, 0x70, 0x43, 0x06, 0x0c, 0x4f, 0x15,
+  0xd1, 0xe1, 0x87, 0xab, 0xb3, 0x96, 0x72, 0xc9, 0x01, 0x9d, 0x01, 0x6e,
+  0x56, 0xe7, 0x2a, 0x21, 0x34, 0xb3, 0x22, 0xba, 0x8c, 0xa7, 0x49, 0xc7,
+  0x05, 0x90, 0xab, 0x21, 0x48, 0x8a, 0x03, 0x22, 0xe4, 0x4e, 0x71, 0xdb,
+  0x6e, 0x20, 0x13, 0xb7, 0x61, 0x61, 0xb7, 0xc8, 0x71, 0x32, 0x8b, 0x65,
+  0xef, 0x96, 0x05, 0x86, 0xf3, 0x69, 0xe7, 0x03, 0xad, 0xa4, 0xd4, 0x4f,
+  0xd9, 0x80, 0xfe, 0xe4, 0x2c, 0x53, 0x2e, 0xcb, 0x8a, 0x17, 0x48, 0x43,
+  0x51, 0xe7, 0x0b, 0xf4, 0xc0, 0x77, 0x74, 0x9a, 0xbd, 0xc4, 0x0f, 0xb2,
+  0xe9, 0x56, 0x60, 0x60, 0xb8, 0xe6, 0x85, 0xaa, 0xfb, 0xee, 0x71, 0xd6,
+  0x1a, 0x6f, 0x4d, 0x10, 0x8f, 0xb7, 0xa4, 0x58, 0xb2, 0xd7, 0x2a, 0x0c,
+  0xc3, 0x5f, 0x08, 0xba, 0xc8, 0x38, 0xac, 0x98, 0x71, 0x12, 0x9d, 0xc9,
+  0xfc, 0x0e, 0x24, 0xd8, 0xc2, 0xba, 0x90, 0x4e, 0xad, 0x96, 0x19, 0x14,
+  0x5a, 0x6c, 0x3c, 0xc3, 0x86, 0x38, 0xc6, 0xfb, 0x85, 0x6b, 0x1c, 0xe7,
+  0xd8, 0x43, 0x85, 0x7a, 0xae, 0x67, 0xc6, 0x99, 0x5c, 0x3b, 0xd9, 0x4f,
+  0x0e, 0x75, 0x68, 0x03, 0x40, 0x47, 0x5d, 0xe9, 0xf2, 0xd4, 0x03, 0xea,
+  0xc8, 0xa4, 0x0e, 0xde, 0x39, 0x56, 0x87, 0xf6, 0xfe, 0xc3, 0x69, 0x1c,
+  0xe2, 0x34, 0xff, 0x68, 0x41, 0xcc, 0x75, 0xa6, 0x5b, 0x51, 0x99, 0x0a,
+  0x1d, 0xa1, 0xd7, 0x7c, 0xc4, 0x56, 0xcc, 0x8a, 0xb0, 0x0c, 0xba, 0xf3,
+  0x7b, 0x4e, 0x41, 0xcb, 0x31, 0x97, 0x6e, 0xf6, 0xde, 0xa4, 0x20, 0x44,
+  0x4a, 0x46, 0x20, 0x22, 0x2d, 0x97, 0xdb, 0x05, 0xeb, 0x45, 0xe4, 0x12,
+  0xde, 0x9e, 0x8f, 0xee, 0x37, 0x92, 0xba, 0x0e, 0xf3, 0x8a, 0x89, 0xd9,
+  0x00, 0x45, 0x3c, 0xe1, 0x2c, 0xb6, 0xda, 0x42, 0x6c, 0x9d, 0x15, 0xd2,
+  0x00, 0x5e, 0x3a, 0x18, 0x08, 0xbc, 0x07, 0xfa, 0x2d, 0x03, 0xbb, 0x63,
+  0x70, 0x81, 0x28, 0x73, 0x86, 0x5a, 0xd8, 0xd7, 0xba, 0x30, 0x79, 0xc6,
+  0xa6, 0xe9, 0x7f, 0xcd, 0xc9, 0x1e, 0xcd, 0x30, 0x20, 0x4c, 0xca, 0x34,
+  0xc2, 0xe1, 0xc8, 0x09, 0xa3, 0xf0, 0x71, 0x69, 0xea, 0x08, 0x86, 0xed,
+  0x37, 0x96, 0xa0, 0x3d, 0x7c, 0xc2, 0x02, 0xf7, 0xb1, 0xb6, 0x30, 0xca,
+  0x19, 0x75, 0x09, 0x0f, 0x63, 0x03, 0x59, 0x2e, 0x08, 0x2f, 0xa1, 0x10,
+  0x3a, 0x65, 0xef, 0xe0, 0x23, 0xae, 0x1c, 0xe4, 0x84, 0x8d, 0xe8, 0x4f,
+  0x3d, 0xdb, 0x78, 0x63, 0xfd, 0x31, 0x01, 0x0d, 0xdb, 0x26, 0x7d, 0x90,
+  0x21, 0x15, 0xa8, 0xfe, 0x8c, 0xb8, 0x3b, 0x68, 0x59, 0xab, 0x4b, 0x21,
+  0x23, 0xc4, 0x89, 0x2c, 0xf2, 0xa6, 0x83, 0x16, 0x40, 0x69, 0x96, 0x59,
+  0xf2, 0x80, 0x18, 0xe0, 0xed, 0xc3, 0xf9, 0x4a, 0xf6, 0xf7, 0x47, 0x57,
+  0xe7, 0xa7, 0xe7, 0xdf, 0x1c, 0x20, 0x42, 0x5d, 0x52, 0x8c, 0xb0, 0x91,
+  0x75, 0xf4, 0xd7, 0xe5, 0x38, 0x1d, 0x31, 0xa7, 0x90, 0x16, 0xc1, 0xb5,
+  0xca, 0x98, 0x44, 0x1c, 0xac, 0xc0, 0x5c, 0xbc, 0x42, 0x18, 0x49, 0xe6,
+  0xc5, 0xba, 0x9e, 0x22, 0x9f, 0x2e, 0xcd, 0xd6, 0x8f, 0x48, 0x15, 0xa1,
+  0x30, 0x00, 0x85, 0x47, 0x91, 0x1f, 0x31, 0xd1, 0x62, 0xe3, 0x25, 0x50,
+  0x14, 0xde, 0x9c, 0x9d, 0x45, 0x3e, 0x94, 0x2f, 0xa7, 0x8f, 0x0a, 0x7d,
+  0x71, 0xc6, 0x10, 0x0d, 0x64, 0xf2, 0x4d, 0x31, 0x9e, 0x07, 0xc2, 0x9f,
+  0xfb, 0x16, 0x3a, 0x5c, 0x0f, 0x4c, 0xd7, 0xef, 0xfd, 0x4c, 0x4e, 0xca,
+  0x33, 0xa6, 0xe4, 0x40, 0x3a, 0xe1, 0xb4, 0x18, 0x93, 0x2d, 0x04, 0x4c,
+  0x32, 0x9f, 0x54, 0xa8, 0x1e, 0xd5, 0x24, 0x69, 0xbd, 0x2b, 0xd0, 0x2a,
+  0x67, 0xfb, 0x0d, 0x5b, 0x39, 0x35, 0xe0, 0x14, 0x8e, 0x48, 0x52, 0xd2,
+  0x2a, 0xd0, 0x23, 0xeb, 0x85, 0xd4, 0x49, 0x0a, 0x7d, 0x52, 0x1e, 0x35,
+  0x8f, 0x93, 0xd8, 0x74, 0xc7, 0x2e, 0x91, 0x5b, 0xfa, 0xec, 0xe2, 0x3e,
+  0x29, 0xc4, 0xf8, 0x34, 0x55, 0xc4, 0xc0, 0xec, 0xfa, 0xd1, 0x20, 0x87,
+  0xe7, 0x03, 0x55, 0x0b, 0xda, 0x73, 0xb1, 0xd6, 0xbc, 0x9d, 0x93, 0x68,
+  0x4d, 0x5e, 0x15, 0xf5, 0xa3, 0xa2, 0x98, 0x5b, 0x7d, 0xbd, 0x81, 0x7e,
+  0xcf, 0x48, 0xff, 0xc3, 0xc4, 0x28, 0x14, 0x8f, 0x1a, 0xda, 0x41, 0x0a,
+  0xe9, 0xf4, 0x80, 0x9d, 0x76, 0x70, 0x67, 0xa9, 0x0b, 0xb5, 0x33, 0xd2,
+  0x13, 0xbd, 0x54, 0xdd, 0x34, 0xf5, 0xe6, 0x82, 0x83, 0x2d, 0xea, 0x9c,
+  0xd6, 0x4f, 0xb1, 0xd8, 0x9d, 0x8e, 0xe7, 0x54, 0x3a, 0x85, 0x99, 0x50,
+  0x29, 0x57, 0xe9, 0x25, 0xa8, 0x61, 0x7a, 0x01, 0xf0, 0x0b, 0xdb, 0xfe,
+  0x11, 0x8b, 0xf4, 0x9c, 0x3a, 0x79, 0xf7, 0x65, 0x11, 0x37, 0x5d, 0xeb,
+  0x5c, 0x48, 0x09, 0xd2, 0xa7, 0xf2, 0xea, 0xf4, 0x26, 0xfd, 0x8d, 0x60,
+  0x5e, 0x0d, 0xcf, 0x41, 0x24, 0x52, 0x19, 0xdf, 0xd9, 0x84, 0xaf, 0x56,
+  0xc6, 0xa7, 0xc5, 0x2a, 0x4d, 0x19, 0x4d, 0x07, 0x6a, 0xbc, 0x4a, 0x3a,
+  0x54, 0x1c, 0x39, 0x85, 0x2c, 0x6e, 0xa8, 0xb2, 0x86, 0x49, 0xe0, 0x0f,
+  0x27, 0x15, 0x5f, 0x12, 0xe4, 0x6a, 0x65, 0xc2, 0x12, 0xb9, 0x49, 0xb3,
+  0xbb, 0x9c, 0x7e, 0x23, 0x41, 0xaa, 0x40, 0x8a, 0x4a, 0xda, 0x5a, 0xd6,
+  0x72, 0xdd, 0xd8, 0x55, 0x75, 0xd0, 0x68, 0x11, 0x01, 0xac, 0x85, 0x4b,
+  0x03, 0xdd, 0x9e, 0x2d, 0xb6, 0x4d, 0x4b, 0x93, 0x14, 0xf8, 0x32, 0x21,
+  0xf1, 0x76, 0x4d, 0x4b, 0x71, 0x78, 0x71, 0x56, 0x26, 0xd2, 0xe5, 0x98,
+  0x4b, 0x02, 0x55, 0xe0, 0x88, 0xbc, 0x49, 0x8d, 0xef, 0xa7, 0x5d, 0x92,
+  0xf4, 0xeb, 0x0d, 0x4b, 0x6b, 0xf6, 0x2b, 0x66, 0x34, 0xd2, 0x45, 0xa2,
+  0x1b, 0x3c, 0xba, 0xc9, 0x73, 0xa9, 0x39, 0x6d, 0x63, 0xb6, 0x11, 0xa9,
+  0x34, 0x84, 0x88, 0xd1, 0xa2, 0x3f, 0xd4, 0x5b, 0x55, 0x4a, 0x32, 0x79,
+  0xf3, 0xee, 0x39, 0x50, 0x83, 0x35, 0x74, 0xd2, 0xba, 0x6c, 0xe3, 0xf9,
+  0x18, 0xe1, 0x2c, 0xcc, 0xd5, 0x87, 0x57, 0x24, 0x2e, 0xc0, 0xa2, 0x3b,
+  0xbc, 0x3d, 0x92, 0x59, 0xe9, 0x6e, 0x4a, 0x50, 0xd8, 0x71, 0xae, 0xa5,
+  0x05, 0xc8, 0x26, 0xaa, 0x21, 0xb3, 0x29, 0xab, 0x07, 0x34, 0x68, 0xa6,
+  0x69, 0x45, 0x0c, 0xe4, 0x4f, 0x3b, 0x5b, 0x6d, 0x4c, 0x1e, 0x07, 0xd2,
+  0x1a, 0x57, 0xbc, 0x8d, 0xa5, 0xb1, 0xbf, 0x48, 0x0c, 0xda, 0xc2, 0x00,
+  0x94, 0x21, 0xcb, 0x05, 0xfa, 0xe9, 0x7a, 0x48, 0x2f, 0x71, 0xd9, 0xb6,
+  0xff, 0xfd, 0xdf, 0xa3, 0xf7, 0xa1, 0xe5, 0x5f, 0x57, 0xce, 0x19, 0xe3,
+  0x40, 0xa1, 0x04, 0x33, 0xe5, 0x25, 0xea, 0x27, 0x71, 0x94, 0x76, 0xab,
+  0x33, 0x90, 0x5d, 0x4f, 0x4d, 0xee, 0xe4, 0x72, 0xe2, 0x68, 0xbe, 0xf9,
+  0x1a, 0xcf, 0x17, 0x51, 0x80, 0x65, 0x75, 0xf5, 0x06, 0x68, 0x9a, 0x4a,
+  0x6c, 0xe1, 0x2e, 0xe3, 0x5b, 0x6d, 0xdd, 0xe7, 0xa3, 0xaf, 0x08, 0x23,
+  0x65, 0x63, 0x3c, 0x96, 0x74, 0x4d, 0xda, 0x10, 0xfc, 0x52, 0x5d, 0x30,
+  0x52, 0xce, 0x59, 0x2f, 0xe8, 0xed, 0x0f, 0x76, 0x8d, 0x90, 0xec, 0x71,
+  0x17, 0x0a, 0xbf, 0xc3, 0x6f, 0x77, 0xa2, 0x75, 0xe4, 0xaa, 0x1b, 0x46,
+  0x79, 0xf5, 0xeb, 0x9f, 0xb5, 0x39, 0x0b, 0xdb, 0x30, 0x31, 0x4b, 0xc8,
+  0x66, 0xf2, 0x2c, 0xea, 0xaf, 0x60, 0xe5, 0x15, 0x20, 0xff, 0xb1, 0xe7,
+  0x1b, 0x57, 0x0f, 0x4e, 0x96, 0xb3, 0x90, 0x99, 0x83, 0x77, 0x5b, 0x82,
+  0x43, 0x69, 0x59, 0x2e, 0xc5, 0x08, 0x34, 0x00, 0x33, 0x06, 0x71, 0x30,
+  0x9a, 0xc1, 0x7c, 0xe8, 0xd3, 0xe5, 0x0c, 0xb3, 0x4a, 0x5a, 0xd5, 0x13,
+  0xf2, 0x0e, 0x6b, 0x0b, 0x73, 0xd1, 0x31, 0xc5, 0x8e, 0x92, 0xd3, 0xe1,
+  0x46, 0x74, 0xd2, 0x48, 0x0d, 0x37, 0xa1, 0x4b, 0xb2, 0xaa, 0x31, 0x5c,
+  0xe7, 0xe2, 0xf2, 0xfa, 0xf4, 0xe2, 0x7c, 0x10, 0xfd, 0x5b, 0x67, 0x65,
+  0x79, 0x57, 0x1d, 0x58, 0xf9, 0x87, 0xae, 0x3d, 0x93, 0xe8, 0x50, 0xfc,
+  0x0c, 0x6d, 0xb6, 0xb1, 0xa3, 0xc4, 0x8f, 0x40, 0x7a, 0x03, 0x7f, 0xd5,
+  0x37, 0x05, 0xda, 0x4d, 0x4e, 0xab, 0x81, 0x46, 0xe7, 0x69, 0xcb, 0x06,
+  0xce, 0xaf, 0x69, 0x44, 0x33, 0xb3, 0xb7, 0x36, 0x4b, 0x63, 0xf8, 0x30,
+  0x07, 0x16, 0xce, 0x57, 0x4b, 0xe5, 0x94, 0x17, 0x68, 0x8b, 0xef, 0x49,
+  0x2d, 0x65, 0x0b, 0x7a, 0x9d, 0x79, 0xa6, 0x2a, 0x5a, 0x65, 0xa0, 0xc3,
+  0xdc, 0x37, 0x27, 0xd7, 0xe8, 0xa4, 0xa1, 0x2a, 0x57, 0x3b, 0x41, 0x72,
+  0x75, 0x89, 0xe2, 0x13, 0x1b, 0xe5, 0x4c, 0x8b, 0x5b, 0xf1, 0xd2, 0x80,
+  0xf6, 0x3c, 0x8b, 0xb3, 0x60, 0x09, 0x1b, 0x68, 0xb4, 0xc7, 0xb0, 0x1b,
+  0xb9, 0x85, 0x7e, 0x55, 0xdf, 0x89, 0xd3, 0xd7, 0x84, 0x61, 0x99, 0x2e,
+  0x3f, 0x5c, 0x8b, 0x9f, 0xea, 0xcd, 0xc9, 0xd9, 0xc9, 0xf5, 0x49, 0xd3,
+  0x72, 0x1f, 0x32, 0x98, 0x25, 0x95, 0xba, 0x54, 0xc9, 0xe8, 0x26, 0xcb,
+  0x67, 0xf9, 0x34, 0x95, 0x86, 0xaf, 0xd1, 0xf7, 0xc9, 0xf0, 0xcd, 0xd1,
+  0x77, 0xa8, 0x4f, 0xa0, 0xcf, 0xe9, 0xf2, 0xea, 0xe2, 0xf2, 0xed, 0xe9,
+  0xf9, 0x9b, 0x6e, 0x74, 0x7c, 0x71, 0xf9, 0x97, 0x6e, 0xf4, 0xfe, 0xe2,
+  0xbb, 0x93, 0x40, 0x8a, 0x33, 0x22, 0xdc, 0x7a, 0x14, 0x63, 0x9a, 0xf5,
+  0x59, 0xc3, 0x3b, 0xe3, 0x90, 0x85, 0x23, 0x44, 0x30, 0xff, 0x1f, 0xb4,
+  0x5f, 0x64, 0xb7, 0x74, 0xd7, 0x60, 0xeb, 0x40, 0x86, 0xbe, 0x3b, 0x39,
+  0x7a, 0xd3, 0xf5, 0x00, 0xcc, 0xb1, 0x95, 0x0a, 0x7c, 0x0c, 0xd7, 0x67,
+  0x16, 0x4d, 0xb0, 0xd7, 0x6c, 0x7d, 0x90, 0x86, 0xc0, 0x41, 0x2e, 0xbe,
+  0xb1, 0x40, 0xb0, 0x54, 0xa5, 0x3f, 0x6e, 0xcb, 0x9c, 0x10, 0x2c, 0xfe,
+  0xd6, 0x16, 0xcb, 0x4e, 0xd9, 0x05, 0x2a, 0x6b, 0xae, 0x9a, 0x2d, 0x60,
+  0x4d, 0x94, 0x56, 0xaf, 0x45, 0x58, 0x6e, 0x96, 0x6c, 0x0b, 0x62, 0x50,
+  0xb7, 0x06, 0x15, 0x40, 0xfc, 0x88, 0x5d, 0x8f, 0xb1, 0xf4, 0x34, 0xa4,
+  0xa6, 0x45, 0x60, 0x26, 0xa1, 0x56, 0x3d, 0xb1, 0x28, 0xb1, 0xab, 0x35,
+  0x6c, 0x01, 0x52, 0x17, 0xd8, 0x26, 0xdc, 0x3c, 0xdd, 0x20, 0xd3, 0xd3,
+  0xf3, 0x07, 0xfe, 0xb1, 0x80, 0x45, 0x05, 0x12, 0xb7, 0x97, 0x13, 0x20,
+  0xcb, 0x84, 0x53, 0xa6, 0xf8, 0x98, 0x8c, 0x5b, 0x20, 0xea, 0x9d, 0xaa,
+  0x53, 0x62, 0x95, 0x82, 0xa5, 0x37, 0x46, 0x1d, 0x33, 0x8c, 0x15, 0xa5,
+  0x3e, 0xab, 0x3a, 0x9b, 0x70, 0x3d, 0x24, 0xb8, 0xce, 0x80, 0xbe, 0xaf,
+  0x47, 0xac, 0x68, 0x46, 0xe2, 0xc1, 0x71, 0x37, 0x85, 0x40, 0x37, 0x3c,
+  0x5f, 0x16, 0x08, 0x58, 0x4f, 0xb8, 0xd0, 0x93, 0xc0, 0x4a, 0x32, 0xf1,
+  0x88, 0x46, 0x18, 0x7a, 0xeb, 0xb1, 0x2d, 0xed, 0xe6, 0xfc, 0x2a, 0xf7,
+  0x14, 0xdd, 0x54, 0xe6, 0xe0, 0x85, 0xa8, 0x68, 0x9d, 0xb5, 0x96, 0xda,
+  0xe6, 0x96, 0xef, 0x6e, 0x3d, 0x58, 0x1f, 0x3b, 0x6a, 0x13, 0x65, 0xd4,
+  0x13, 0xac, 0x6f, 0x2a, 0xde, 0xf3, 0xb6, 0x6e, 0xfd, 0x6d, 0x0b, 0x63,
+  0x74, 0xbd, 0xb6, 0xa6, 0xa0, 0xdf, 0xb0, 0xa8, 0xb3, 0x53, 0xb8, 0x0e,
+  0x01, 0x68, 0x9c, 0x71, 0x4e, 0x8d, 0xa3, 0x29, 0x1d, 0x81, 0xf4, 0x2a,
+  0xda, 0x7d, 0x18, 0xcb, 0xff, 0x30, 0x76, 0x52, 0x0f, 0x7e, 0x99, 0x5a,
+  0xac, 0x3f, 0xf1, 0x69, 0xef, 0xcc, 0xae, 0x4e, 0xae, 0xaf, 0xfa, 0xd1,
+  0xba, 0x8b, 0xf9, 0xfa, 0xa2, 0xbf, 0xe5, 0x07, 0x6d, 0xb0, 0x89, 0x7b,
+  0xf0, 0xab, 0xd4, 0xdd, 0xbd, 0xe5, 0xab, 0xc4, 0x1b, 0xf0, 0xbb, 0x7e,
+  0x1e, 0xb1, 0x83, 0xf4, 0xb4, 0x15, 0xfa, 0x9e, 0xdb, 0x2a, 0xbe, 0xf6,
+  0x3d, 0xfc, 0xc5, 0x8a, 0x55, 0xbe, 0x3b, 0x39, 0x0b, 0xf4, 0xf6, 0xf9,
+  0xee, 0xea, 0xed, 0x5f, 0xea, 0xab, 0xdc, 0xdd, 0x0b, 0x7c, 0xf5, 0xb7,
+  0x74, 0xa8, 0x27, 0x65, 0x3e, 0x03, 0x85, 0x85, 0xaa, 0x38, 0xa8, 0x88,
+  0xe3, 0x00, 0x44, 0x00, 0xe6, 0x9a, 0xff, 0xd8, 0x95, 0xbf, 0xfc, 0xdc,
+  0xef, 0xf7, 0xbf, 0xf4, 0x51, 0xd1, 0xc9, 0x47, 0x63, 0x96, 0x2b, 0xcf,
+  0x36, 0x2d, 0x70, 0xaa, 0x9a, 0xa1, 0x2a, 0x21, 0x8c, 0x5a, 0x2c, 0xe2,
+  0xb4, 0xa0, 0x9e, 0x40, 0x41, 0x81, 0x8b, 0x4b, 0xb2, 0x95, 0x5e, 0x46,
+  0x9b, 0x13, 0x44, 0x30, 0xbe, 0xae, 0xeb, 0xe5, 0x86, 0xd4, 0x55, 0x5b,
+  0x19, 0x1c, 0x8f, 0x3d, 0x47, 0x08, 0xf7, 0x65, 0xc1, 0xcf, 0x16, 0xe8,
+  0x9f, 0x65, 0x5b, 0xc7, 0xca, 0xda, 0x4c, 0x65, 0x87, 0xac, 0x7e, 0x6c,
+  0xa6, 0x1f, 0xf4, 0x5e, 0x48, 0x9d, 0xe4, 0xb1, 0x84, 0xd4, 0xc9, 0x91,
+  0x1c, 0x93, 0x58, 0xa1, 0x36, 0xb3, 0x49, 0x35, 0xda, 0xc4, 0x75, 0x96,
+  0x35, 0x0d, 0xd0, 0xa8, 0x70, 0x9e, 0x13, 0xc9, 0xcd, 0x93, 0xa4, 0x0a,
+  0x5a, 0x4e, 0x6e, 0x71, 0x4a, 0x12, 0x6c, 0x11, 0xaf, 0xa3, 0xa9, 0xb3,
+  0x7e, 0xe0, 0x73, 0xb3, 0x5a, 0x47, 0x24, 0xb7, 0x02, 0x51, 0x5b, 0x5d,
+  0x78, 0xec, 0xd0, 0x29, 0x53, 0xf3, 0xd5, 0x7e, 0xe2, 0xce, 0x4a, 0x49,
+  0x98, 0x48, 0x41, 0xe8, 0xe3, 0x93, 0x9a, 0x44, 0x50, 0x0f, 0x9d, 0x7b,
+  0xe8, 0x2d, 0xb5, 0xcf, 0x34, 0x01, 0x46, 0x12, 0x57, 0x23, 0x1e, 0x57,
+  0xea, 0xcb, 0xc3, 0xaf, 0x4d, 0xc2, 0x06, 0x95, 0x99, 0xaf, 0xfd, 0xdb,
+  0x1a, 0x2a, 0xc2, 0xf4, 0x7a, 0xb0, 0xb6, 0x5d, 0x09, 0x17, 0x0d, 0x1b,
+  0x7c, 0x2a, 0xa0, 0x37, 0x98, 0x4d, 0x31, 0xc4, 0xa7, 0xbc, 0xd4, 0x25,
+  0x1e, 0x5a, 0x42, 0x3f, 0xfa, 0x3e, 0x9d, 0x8d, 0x47, 0x71, 0x41, 0xe9,
+  0x61, 0xbe, 0x78, 0x15, 0x32, 0xe1, 0xfb, 0x54, 0xe6, 0xf4, 0x55, 0x7b,
+  0x79, 0xb4, 0x99, 0x4c, 0x98, 0xea, 0x03, 0x45, 0x3f, 0xe6, 0x30, 0x30,
+  0xf8, 0xdd, 0x56, 0x74, 0xc6, 0xe4, 0xa3, 0x7b, 0x8c, 0xa2, 0xae, 0xde,
+  0xc1, 0xa3, 0x7e, 0xae, 0x1a, 0x87, 0xe8, 0xed, 0xf9, 0xb1, 0x94, 0x74,
+  0x71, 0xb7, 0x47, 0xee, 0xab, 0x17, 0x5d, 0xfe, 0xd7, 0x0b, 0x5b, 0x7e,
+  0xe2, 0x18, 0x69, 0x6c, 0xc7, 0xb0, 0xd6, 0x7f, 0x7a, 0xa9, 0x45, 0xae,
+  0x4d, 0x9e, 0x38, 0x70, 0x30, 0xc9, 0x79, 0x96, 0x5a, 0xb6, 0x06, 0xef,
+  0xe8, 0x6c, 0x71, 0x47, 0x80, 0x7f, 0xfd, 0x38, 0x2c, 0x10, 0x76, 0xa4,
+  0x2a, 0x7f, 0x5e, 0x55, 0x4f, 0x0c, 0x3a, 0xff, 0xcb, 0x7e, 0xa0, 0xfd,
+  0x76, 0xf0, 0x43, 0x26, 0xdd, 0xd7, 0x7e, 0x0d, 0x81, 0xa2, 0x28, 0x6c,
+  0x87, 0x59, 0x3f, 0xb6, 0x9c, 0x38, 0xf8, 0xa1, 0x57, 0x4f, 0x7c, 0x88,
+  0x8f, 0xd4, 0xe0, 0xbe, 0xdd, 0x2b, 0x55, 0x98, 0xe9, 0x4b, 0x2f, 0xed,
+  0xbd, 0xfe, 0xd6, 0xf3, 0x33, 0x94, 0xad, 0xf1, 0xcd, 0xf0, 0x83, 0xfc,
+  0x13, 0xa2, 0x12, 0x49, 0x11, 0xcb, 0xdb, 0x68, 0x6e, 0x65, 0x67, 0x0c,
+  0x84, 0xcd, 0xa9, 0xf1, 0x72, 0xd8, 0x00, 0x2a, 0x11, 0x2a, 0xc0, 0x38,
+  0x2c, 0xbd, 0x1d, 0x38, 0xcd, 0x1a, 0xee, 0x16, 0xe1, 0x89, 0x18, 0x14,
+  0xe5, 0x1f, 0x23, 0xfc, 0x82, 0x72, 0xb9, 0x13, 0x2c, 0x62, 0xba, 0x3a,
+  0x79, 0xfb, 0x61, 0x70, 0xf2, 0x26, 0x8a, 0x03, 0x10, 0x58, 0x14, 0x2f,
+  0x4d, 0xc9, 0x2d, 0x27, 0x0d, 0x82, 0xaa, 0x3c, 0xe7, 0x8c, 0x20, 0x99,
+  0x8b, 0xd7, 0x73, 0x50, 0x92, 0x8b, 0xc0, 0x32, 0xf6, 0xeb, 0x4e, 0x58,
+  0x8f, 0x93, 0x17, 0x7f, 0x01, 0xee, 0x08, 0xaf, 0x7a, 0x9c, 0x60, 0x73,
+  0xae, 0x43, 0xce, 0x82, 0xf1, 0x40, 0xd5, 0x6c, 0x1b, 0xaf, 0x72, 0x96,
+  0x24, 0x0b, 0x29, 0xfa, 0xb3, 0x9d, 0xe4, 0xe1, 0x6c, 0xd4, 0x13, 0x28,
+  0xcd, 0x39, 0x68, 0x54, 0x0d, 0x1c, 0xc6, 0x2d, 0x9d, 0xa4, 0x08, 0x5e,
+  0x8d, 0x33, 0xd6, 0x2d, 0x66, 0x80, 0xdd, 0x16, 0xde, 0x95, 0xf5, 0xb4,
+  0x6a, 0xb8, 0xd0, 0xbd, 0xae, 0x7a, 0xe4, 0x52, 0x47, 0x80, 0x1e, 0xb0,
+  0x8b, 0x78, 0x32, 0xf1, 0x6c, 0x9a, 0x17, 0x30, 0xde, 0xdc, 0xd4, 0x29,
+  0x32, 0x9c, 0x43, 0xb9, 0xd1, 0xec, 0xc5, 0xe9, 0xd7, 0x7c, 0x73, 0xa9,
+  0x23, 0x85, 0xc0, 0x13, 0xae, 0xe1, 0x46, 0xb6, 0xc0, 0xfb, 0x44, 0x1e,
+  0x13, 0x0c, 0x0f, 0xb2, 0x4c, 0x1b, 0x48, 0xd5, 0x35, 0xed, 0x07, 0x6f,
+  0xa1, 0x67, 0x6e, 0x62, 0xd7, 0x91, 0xa6, 0x3b, 0x47, 0x55, 0x77, 0x0d,
+  0x07, 0xb8, 0x73, 0xff, 0x3d, 0xbb, 0xb9, 0x6d, 0xef, 0x84, 0x6e, 0xc0,
+  0x3c, 0x7e, 0x20, 0x17, 0x55, 0x2b, 0x39, 0xb0, 0xc3, 0x16, 0xb7, 0x03,
+  0x1f, 0x2b, 0x98, 0xe5, 0x13, 0x83, 0xb5, 0x95, 0x2f, 0x9c, 0x97, 0x64,
+  0x4e, 0x5a, 0x1c, 0x58, 0x64, 0x77, 0xfb, 0xa1, 0x47, 0x4a, 0xe3, 0x36,
+  0x2d, 0xcd, 0xc8, 0x4f, 0x18, 0xe3, 0x32, 0xd1, 0x88, 0x5b, 0xe7, 0xd6,
+  0x52, 0xf4, 0xbd, 0x0d, 0xfc, 0xf1, 0x2c, 0xc7, 0x28, 0x25, 0x13, 0x03,
+  0x7d, 0xdf, 0x87, 0xec, 0x43, 0x23, 0xa1, 0x40, 0x42, 0x54, 0x83, 0x96,
+  0x7d, 0xc2, 0xd4, 0xca, 0x86, 0x8a, 0xc5, 0x10, 0xc0, 0x8c, 0x3d, 0x60,
+  0x13, 0x3b, 0x8e, 0xbc, 0xe9, 0xe5, 0xb0, 0xf2, 0x38, 0xac, 0x28, 0xd0,
+  0x10, 0xdd, 0x3a, 0xb2, 0xb2, 0x6c, 0x36, 0x95, 0x67, 0x52, 0x83, 0x6a,
+  0x6a, 0xa5, 0x26, 0x35, 0xf2, 0x01, 0x55, 0xad, 0xab, 0xed, 0x73, 0xa8,
+  0xb4, 0x09, 0x97, 0x43, 0x76, 0x66, 0x9c, 0xb9, 0x73, 0xa5, 0x03, 0x80,
+  0x31, 0xd2, 0x7c, 0x4c, 0x45, 0x51, 0xdc, 0x86, 0xa7, 0x0d, 0x3e, 0x46,
+  0xe6, 0xb2, 0x86, 0x9e, 0xca, 0x87, 0x74, 0xbe, 0x9c, 0xd3, 0xfb, 0x5d,
+  0x2e, 0x7f, 0x9c, 0xa3, 0xd4, 0xd2, 0x43, 0xa5, 0xec, 0xc2, 0x4a, 0x29,
+  0x2a, 0xe4, 0xcc, 0x40, 0xde, 0x46, 0x44, 0x5b, 0x71, 0xc6, 0x0f, 0xbe,
+  0xc5, 0x2d, 0x36, 0xe8, 0xa0, 0xfe, 0xdb, 0xe9, 0x33, 0x3a, 0x04, 0x8d,
+  0xee, 0x4b, 0x7f, 0x12, 0x3e, 0xeb, 0x20, 0xba, 0xc4, 0x3c, 0xe7, 0x64,
+  0xec, 0x58, 0x91, 0x42, 0x6e, 0x04, 0x62, 0xc3, 0x67, 0xd4, 0xce, 0xa1,
+  0xa4, 0xd5, 0x24, 0xcd, 0x57, 0x28, 0x1e, 0x97, 0x6a, 0x9d, 0xbf, 0x2c,
+  0x96, 0x84, 0xee, 0xa7, 0x0c, 0xe9, 0xb7, 0x5c, 0x78, 0x32, 0xdf, 0xf0,
+  0x09, 0xa3, 0x8e, 0xc2, 0xe7, 0xb7, 0x24, 0x27, 0x46, 0x6c, 0x5b, 0xf4,
+  0x97, 0xcb, 0x1e, 0x1b, 0x37, 0x96, 0x34, 0x5c, 0x08, 0x77, 0xd6, 0x24,
+  0x5e, 0xe6, 0x09, 0x11, 0x56, 0x4c, 0x19, 0x0e, 0xe9, 0x00, 0x37, 0x85,
+  0x8f, 0xaf, 0xab, 0x65, 0x78, 0x7b, 0x0f, 0x0f, 0x1e, 0x85, 0x3b, 0x06,
+  0x31, 0xe3, 0x4d, 0xb2, 0xb5, 0xbc, 0xb7, 0xf5, 0x39, 0xfe, 0x73, 0xff,
+  0xa1, 0x61, 0x34, 0xf7, 0x83, 0xe0, 0x90, 0x5a, 0x96, 0x1b, 0x0f, 0x73,
+  0x0e, 0xc1, 0xf1, 0x86, 0xc5, 0xce, 0x66, 0x6a, 0x14, 0x41, 0x3a, 0xbf,
+  0xde, 0xc7, 0xb8, 0xb9, 0x79, 0xe6, 0xa7, 0x36, 0x50, 0x2e, 0xa6, 0xd3,
+  0xeb, 0x55, 0x03, 0xa5, 0xd4, 0xb4, 0x10, 0x94, 0x7f, 0xdc, 0x4c, 0xdd,
+  0x2b, 0x1d, 0x74, 0x9c, 0x2f, 0x39, 0x90, 0x99, 0x78, 0x91, 0xb1, 0x94,
+  0x77, 0x1f, 0xaf, 0x14, 0x88, 0xac, 0x74, 0x86, 0xef, 0xf0, 0xbd, 0x2e,
+  0xa3, 0x6d, 0x38, 0x86, 0x34, 0x5b, 0x56, 0x06, 0xac, 0x8f, 0x3e, 0xa8,
+  0x14, 0x1a, 0xdc, 0x7d, 0xe4, 0xf3, 0x46, 0xb0, 0x08, 0x2f, 0x28, 0x9d,
+  0x00, 0x21, 0xdf, 0x13, 0xd2, 0xc9, 0xc5, 0xc1, 0xe3, 0x4a, 0xd9, 0x80,
+  0xab, 0xc8, 0x44, 0x61, 0xa5, 0x73, 0x53, 0xf2, 0x00, 0x9b, 0xcd, 0x20,
+  0x4a, 0x91, 0x11, 0x0e, 0x56, 0xa8, 0x49, 0x86, 0x30, 0x37, 0x6c, 0x08,
+  0x64, 0xfe, 0xd4, 0x98, 0xb8, 0x69, 0xe1, 0x45, 0x7c, 0x2e, 0xaf, 0xe4,
+  0x4a, 0x9a, 0xe6, 0x6b, 0xac, 0xb5, 0x85, 0xaf, 0xb6, 0x34, 0x50, 0x63,
+  0x6c, 0x3d, 0xd0, 0xda, 0x5e, 0x60, 0x35, 0xb0, 0x53, 0x88, 0x06, 0x27,
+  0x61, 0xb2, 0x36, 0x71, 0xf8, 0x2b, 0xfa, 0xf4, 0x11, 0x86, 0x8c, 0x0f,
+  0x42, 0x1a, 0x99, 0x5b, 0xcc, 0x8d, 0xac, 0x97, 0x78, 0x01, 0xf9, 0xeb,
+  0x13, 0xc5, 0xe3, 0x46, 0xa4, 0x6e, 0xbe, 0xac, 0xc6, 0x01, 0xcf, 0xe9,
+  0x00, 0xc9, 0x83, 0xcf, 0x99, 0x43, 0xaa, 0xce, 0xef, 0xc8, 0x8e, 0xca,
+  0x18, 0xe1, 0x27, 0x97, 0xd5, 0xcd, 0xdf, 0xd3, 0x71, 0x10, 0xb9, 0x01,
+  0x6f, 0x03, 0xfc, 0x1a, 0x4e, 0xad, 0x64, 0xf7, 0x97, 0x22, 0x9b, 0x46,
+  0xeb, 0xf2, 0xda, 0x46, 0x37, 0x1a, 0x2f, 0xc9, 0x21, 0x37, 0x38, 0x1a,
+  0x9c, 0x45, 0x97, 0x67, 0x47, 0xa7, 0xe7, 0xf0, 0x4e, 0xcf, 0x37, 0x52,
+  0x0d, 0x60, 0x59, 0xb7, 0xd9, 0x62, 0x8c, 0x3c, 0x9e, 0x75, 0x4c, 0x33,
+  0xf3, 0x1d, 0xfe, 0x90, 0x8f, 0x69, 0x34, 0x26, 0x51, 0x5a, 0xab, 0x3d,
+  0xe8, 0x2d, 0x35, 0xe3, 0xa9, 0x1d, 0x55, 0xc7, 0x2a, 0x4d, 0x9a, 0x29,
+  0x23, 0xa9, 0xa8, 0x4e, 0xac, 0x91, 0x2f, 0x23, 0x48, 0xae, 0xbb, 0x44,
+  0xa6, 0xe6, 0xaf, 0x06, 0x56, 0x6e, 0xb3, 0x8b, 0x70, 0x86, 0x30, 0x23,
+  0xee, 0x98, 0x05, 0x54, 0xe1, 0x0c, 0x4b, 0xe0, 0x6e, 0x26, 0xcb, 0x95,
+  0x32, 0x06, 0xdb, 0x32, 0xa1, 0x60, 0x52, 0xe8, 0x76, 0xc4, 0xe4, 0x50,
+  0xd9, 0x26, 0x15, 0xb3, 0x4e, 0x56, 0x7e, 0x4c, 0x85, 0xc3, 0xc6, 0x4a,
+  0xc3, 0xc5, 0xae, 0x95, 0x9e, 0x84, 0x1e, 0xe6, 0x0f, 0x5d, 0x0b, 0x93,
+  0x40, 0xa5, 0x4d, 0x26, 0xbf, 0x61, 0x0a, 0xcc, 0x8c, 0x60, 0xa8, 0x78,
+  0x24, 0x18, 0xb4, 0x6b, 0x32, 0xdd, 0xcb, 0x9b, 0xd8, 0x2f, 0x18, 0x98,
+  0x83, 0x76, 0x0b, 0x03, 0xba, 0xae, 0xd1, 0x55, 0x34, 0xf6, 0xa2, 0xd1,
+  0xcb, 0x9b, 0x68, 0x2c, 0x6d, 0xea, 0x38, 0x27, 0x94, 0x65, 0x6b, 0x72,
+  0xe4, 0x0c, 0x77, 0x86, 0x21, 0x88, 0x8e, 0xea, 0xe4, 0xb0, 0x12, 0x80,
+  0x7d, 0xbb, 0xf1, 0xbd, 0x4f, 0x84, 0x12, 0xcb, 0xa8, 0xdd, 0x6d, 0x8d,
+  0x2f, 0xcb, 0x03, 0xfe, 0xba, 0x05, 0xa3, 0xf6, 0x27, 0xc3, 0xc8, 0x5e,
+  0x58, 0xcd, 0xc4, 0x0d, 0x4a, 0x43, 0xf0, 0x50, 0xf4, 0xc4, 0xa6, 0xa4,
+  0xc6, 0x3d, 0x95, 0x61, 0xc2, 0xd0, 0xb3, 0xba, 0xf2, 0x01, 0x52, 0x3f,
+  0x76, 0xf0, 0xed, 0x85, 0x60, 0xac, 0x4c, 0x7c, 0x56, 0xec, 0xac, 0x92,
+  0x9e, 0xc6, 0x44, 0xb9, 0x4a, 0xd4, 0x39, 0x23, 0xc9, 0x71, 0x0c, 0x9b,
+  0x6f, 0x86, 0x0d, 0x10, 0xfc, 0x76, 0x09, 0x9c, 0x82, 0x30, 0xe1, 0x26,
+  0xa9, 0x3a, 0x03, 0x67, 0x4c, 0x8f, 0x0f, 0x53, 0x13, 0x0d, 0xa2, 0xb3,
+  0xbf, 0x2d, 0xd3, 0x84, 0xba, 0xf9, 0x82, 0x1c, 0x8e, 0xde, 0x70, 0xc6,
+  0xa4, 0x34, 0x1b, 0xe5, 0xae, 0xc6, 0xd4, 0xf9, 0x18, 0x1f, 0x35, 0x13,
+  0xf0, 0xf8, 0x30, 0x4c, 0x08, 0xe5, 0xd3, 0x7b, 0x9a, 0xf4, 0x31, 0x4e,
+  0x7a, 0x0e, 0x02, 0x90, 0xfc, 0x5a, 0x0e, 0xba, 0x9e, 0x26, 0xd3, 0x68,
+  0x85, 0x0b, 0x8b, 0xaa, 0xb8, 0xbc, 0xf5, 0x6b, 0x58, 0xba, 0xb5, 0x4e,
+  0x6d, 0xe4, 0x4b, 0x11, 0xc6, 0x54, 0x61, 0x9b, 0xbf, 0x2c, 0x9e, 0x6d,
+  0x96, 0xd5, 0x18, 0xf5, 0x82, 0x65, 0x36, 0xc3, 0x49, 0xe2, 0x50, 0x2d,
+  0x7d, 0x43, 0x03, 0x38, 0x54, 0x04, 0x81, 0xde, 0x38, 0x20, 0x8a, 0xe9,
+  0x18, 0x36, 0x28, 0xb5, 0x7c, 0xae, 0x61, 0x87, 0x3f, 0x11, 0xb9, 0xea,
+  0x83, 0x62, 0xb9, 0x5b, 0x85, 0x6c, 0x87, 0x57, 0x4c, 0x1b, 0x59, 0x3b,
+  0xb7, 0x55, 0x10, 0x21, 0x77, 0x38, 0x21, 0x20, 0xb4, 0x61, 0x5e, 0x2a,
+  0x78, 0x3a, 0x2c, 0x12, 0x5e, 0xaf, 0xdd, 0x27, 0x82, 0xa0, 0xfb, 0x85,
+  0x28, 0x3f, 0xdc, 0x2f, 0xdd, 0xc1, 0xf8, 0x59, 0xd5, 0x26, 0xdd, 0x6f,
+  0x32, 0xff, 0x8b, 0x01, 0x7e, 0x42, 0x08, 0x66, 0xe8, 0x62, 0x31, 0x39,
+  0xc1, 0x92, 0xe8, 0x57, 0x03, 0xba, 0x21, 0xa7, 0x06, 0x26, 0x5e, 0x04,
+  0x5a, 0x74, 0x02, 0x39, 0x2d, 0x05, 0x1b, 0x64, 0x34, 0x03, 0x1d, 0x28,
+  0xe0, 0x88, 0x19, 0x08, 0x30, 0x1c, 0xc2, 0xe0, 0x75, 0x9b, 0x22, 0xbb,
+  0x5c, 0xa2, 0x6a, 0x3e, 0x5b, 0xe2, 0xb7, 0x19, 0x41, 0xce, 0x20, 0x98,
+  0x29, 0xa4, 0x41, 0x10, 0xf5, 0xcf, 0x40, 0x90, 0xe1, 0x1d, 0x75, 0x00,
+  0x10, 0x15, 0xd3, 0xd7, 0x60, 0x03, 0x36, 0x31, 0xa2, 0xfa, 0x2d, 0xb3,
+  0x43, 0x6f, 0x09, 0x0f, 0x93, 0x08, 0xc0, 0xaa, 0xe3, 0x98, 0xc2, 0x32,
+  0x2f, 0x9d, 0x8e, 0x20, 0x04, 0x0a, 0xa6, 0x4e, 0x10, 0xd5, 0x8d, 0x72,
+  0x26, 0x58, 0xf9, 0x72, 0xe7, 0xa6, 0x1a, 0x8a, 0x02, 0x08, 0x50, 0xe5,
+  0x85, 0x83, 0x03, 0x08, 0x04, 0x90, 0x79, 0xf1, 0x40, 0x44, 0xe6, 0xe2,
+  0xc6, 0x82, 0xc4, 0x73, 0x58, 0xa1, 0x96, 0x22, 0xb2, 0x52, 0xef, 0x5e,
+  0x6d, 0x4a, 0x0c, 0xd1, 0x94, 0x85, 0x32, 0xf8, 0xf9, 0xa5, 0x75, 0x05,
+  0xe9, 0xa1, 0xd7, 0x36, 0x6a, 0x71, 0xb3, 0xbc, 0x06, 0x43, 0xfd, 0xbb,
+  0xea, 0x5c, 0xfb, 0xf5, 0x86, 0x7a, 0x02, 0xe9, 0xf8, 0xab, 0x2e, 0x54,
+  0xfc, 0xbc, 0x1b, 0xd5, 0x52, 0x6d, 0xf3, 0xff, 0xe6, 0x8d, 0x8a, 0x9f,
+  0x77, 0xa5, 0xe2, 0xda, 0x9d, 0xc2, 0x65, 0xfa, 0x6c, 0xe9, 0xa1, 0x75,
+  0xc6, 0xbf, 0xe1, 0x2d, 0x33, 0x89, 0x49, 0xcf, 0xbd, 0x63, 0x4a, 0x13,
+  0xff, 0x6f, 0xdf, 0xb2, 0xcf, 0x1b, 0x5a, 0x20, 0xe1, 0xa3, 0xae, 0xe8,
+  0x5b, 0xe9, 0xe6, 0x6e, 0xa1, 0x82, 0x8c, 0xba, 0xd6, 0xa6, 0x81, 0x32,
+  0x0c, 0x37, 0xaf, 0x64, 0xe8, 0xad, 0x60, 0xe8, 0x32, 0xd7, 0xa3, 0xdd,
+  0x37, 0xc7, 0xa1, 0xb8, 0x03, 0x2b, 0x47, 0xf6, 0x9c, 0xb7, 0x8a, 0x10,
+  0x6d, 0x71, 0x53, 0xfa, 0xa2, 0x3e, 0xe8, 0x9a, 0xa6, 0x20, 0xd7, 0x17,
+  0x29, 0x69, 0x07, 0xa0, 0xb8, 0xa0, 0x79, 0xfb, 0xcd, 0x60, 0xd0, 0x3b,
+  0xba, 0x3c, 0x8d, 0x9e, 0xb0, 0xbb, 0x08, 0x17, 0xc6, 0xce, 0x31, 0x64,
+  0x2f, 0xb7, 0xa7, 0x61, 0xd5, 0xbf, 0x0e, 0x7a, 0x6e, 0x73, 0x5b, 0x8f,
+  0xca, 0xa8, 0x96, 0x66, 0xac, 0x93, 0x32, 0x2d, 0x37, 0x50, 0xdb, 0x56,
+  0xd4, 0x65, 0x4a, 0xf5, 0x47, 0x67, 0x0d, 0x72, 0x2d, 0x7a, 0xc0, 0xcb,
+  0xc9, 0x26, 0x84, 0x1d, 0x44, 0xc7, 0xd9, 0x7e, 0xf5, 0x62, 0x1b, 0x6e,
+  0xc5, 0x23, 0xa3, 0x3e, 0xca, 0xcb, 0x7b, 0xfd, 0xdd, 0xcd, 0xbd, 0xfe,
+  0x1e, 0xf2, 0x34, 0x09, 0x96, 0x92, 0xb3, 0x43, 0x86, 0x07, 0x6e, 0x17,
+  0xc8, 0x4a, 0x62, 0x21, 0x76, 0x7e, 0x72, 0x1c, 0x71, 0xea, 0x2a, 0xc1,
+  0x00, 0x36, 0x8c, 0x2e, 0xce, 0x70, 0xa3, 0x14, 0x16, 0x39, 0x42, 0x26,
+  0x56, 0xcf, 0x49, 0xe1, 0x6d, 0x87, 0x9a, 0x12, 0x64, 0x71, 0x65, 0x66,
+  0x22, 0xc8, 0xee, 0xd8, 0xaa, 0x90, 0x7d, 0xc1, 0x39, 0xfa, 0x15, 0x68,
+  0xce, 0x96, 0x38, 0x1b, 0xf6, 0x44, 0x7a, 0xf9, 0x5e, 0xfb, 0xf9, 0xa8,
+  0xf9, 0xd2, 0x62, 0x00, 0x59, 0xcf, 0xbd, 0x67, 0xe7, 0x08, 0x43, 0x54,
+  0xa3, 0x14, 0x5d, 0x90, 0xa3, 0xb9, 0x31, 0x49, 0x26, 0x7f, 0x1b, 0x67,
+  0xfd, 0x5f, 0x6a, 0x4f, 0x05, 0x14, 0x62, 0xc7, 0x6c, 0xd2, 0xa9, 0x0b,
+  0x23, 0x13, 0x5b, 0xa9, 0x6d, 0x41, 0x62, 0x22, 0x35, 0x3d, 0x64, 0x4c,
+  0x02, 0x78, 0x99, 0xd9, 0x82, 0x72, 0x86, 0x32, 0xe3, 0x07, 0x7e, 0xa6,
+  0xa3, 0x07, 0x0c, 0x72, 0xfc, 0x18, 0x8f, 0x55, 0x24, 0xf1, 0x4c, 0x66,
+  0xe5, 0x7c, 0xc7, 0xff, 0x25, 0xee, 0x1e, 0x31, 0xdb, 0xd2, 0x4f, 0xcb,
+  0x94, 0xa0, 0x82, 0x33, 0x05, 0x93, 0xa6, 0x65, 0x3b, 0xb9, 0x2c, 0x0a,
+  0x10, 0x27, 0xe9, 0x22, 0x9e, 0x45, 0xcf, 0xa8, 0x2d, 0x68, 0x3f, 0xfc,
+  0x27, 0xfa, 0xf4, 0xd2, 0xec, 0xf5, 0x76, 0xae, 0x60, 0x74, 0x92, 0x7a,
+  0xd4, 0x94, 0xaa, 0x01, 0x2e, 0xd7, 0x32, 0x18, 0x22, 0x27, 0x58, 0x6e,
+  0xa6, 0x14, 0xd7, 0x4c, 0xa0, 0x01, 0x4b, 0xd2, 0x78, 0x5e, 0xd1, 0x1d,
+  0x67, 0x43, 0x69, 0x3a, 0xac, 0xd4, 0xbc, 0x6e, 0x34, 0x19, 0x61, 0x88,
+  0xb9, 0x57, 0xb9, 0x30, 0xc5, 0x27, 0x39, 0xef, 0x6f, 0xc1, 0x0c, 0x51,
+  0x85, 0x63, 0x3f, 0xc3, 0x2f, 0x57, 0xe6, 0x64, 0x0b, 0xa3, 0x75, 0x4a,
+  0x03, 0x91, 0x1a, 0x61, 0xc5, 0x09, 0xd5, 0xc4, 0x82, 0x80, 0xb3, 0x88,
+  0xa2, 0xc6, 0x44, 0x20, 0xb8, 0x21, 0x4f, 0x98, 0x56, 0x01, 0xc5, 0xcf,
+  0xe3, 0xb3, 0xff, 0x4f, 0xa8, 0x81, 0xfb, 0x91, 0x39, 0xab, 0xe7, 0xa8,
+  0x83, 0x8c, 0xac, 0xce, 0xfd, 0xc6, 0x3d, 0xe8, 0x3b, 0x6b, 0x72, 0xfd,
+  0xff, 0xda, 0xe0, 0xff, 0x49, 0xda, 0xe0, 0xbf, 0x72, 0x4b, 0x7b, 0x92,
+  0xd7, 0xcc, 0xd7, 0xd2, 0x64, 0x56, 0x49, 0x1d, 0x4a, 0xb0, 0xe0, 0x60,
+  0xf6, 0xd8, 0x8f, 0x5a, 0xe0, 0x8d, 0x9f, 0xb8, 0xa2, 0x3e, 0x29, 0xfc,
+  0xbf, 0x71, 0x45, 0x9f, 0x75, 0x33, 0xff, 0x7f, 0xdf, 0xc7, 0xff, 0x6e,
+  0xf7, 0x30, 0x40, 0x90, 0x3a, 0xd8, 0x3a, 0x90, 0xd9, 0x3d, 0x66, 0xed,
+  0x71, 0xb3, 0x33, 0xb2, 0xb4, 0x37, 0xac, 0xea, 0x83, 0xe5, 0x78, 0xbc,
+  0x75, 0xa7, 0x97, 0xdf, 0xbd, 0x20, 0x14, 0x9e, 0x41, 0x33, 0x99, 0xa5,
+  0x88, 0xce, 0xde, 0x1c, 0x5d, 0xfe, 0x82, 0xdb, 0xfe, 0x17, 0x72, 0xb3,
+  0x2e, 0x92, 0x64, 0xdc, 0xe3, 0xb8, 0xe1, 0x21, 0xfd, 0x23, 0x18, 0x70,
+  0x57, 0x74, 0x0d, 0x22, 0x5b, 0x0c, 0x27, 0xfa, 0x79, 0x0c, 0xf4, 0x32,
+  0xa8, 0x29, 0x99, 0x60, 0xde, 0x2c, 0xa8, 0xed, 0xb2, 0xe7, 0x63, 0xc9,
+  0xb3, 0xf1, 0x86, 0xa8, 0x80, 0xfc, 0x6d, 0x22, 0x15, 0xc9, 0x3f, 0xc1,
+  0xeb, 0x3d, 0x45, 0x5c, 0x3c, 0x03, 0x1d, 0xea, 0x3c, 0xc3, 0x99, 0x78,
+  0xc1, 0x64, 0xa8, 0x47, 0xbb, 0x14, 0x0e, 0x79, 0x32, 0x7a, 0xdd, 0xee,
+  0x16, 0xfa, 0xdf, 0x89, 0x83, 0x24, 0xd5, 0x27, 0x44, 0xdb, 0x68, 0x7e,
+  0xbe, 0x2d, 0x9d, 0x66, 0xe5, 0x56, 0xba, 0x27, 0x51, 0xdb, 0x41, 0x8c,
+  0x90, 0x73, 0xe8, 0xd0, 0xeb, 0x52, 0xee, 0x7c, 0x93, 0x33, 0x48, 0x78,
+  0xbe, 0xe6, 0x13, 0xf5, 0xbd, 0x3c, 0x9d, 0xd4, 0xb7, 0x33, 0x90, 0xbd,
+  0xdb, 0xad, 0x65, 0x2b, 0xb9, 0x53, 0x32, 0x71, 0xf2, 0xed, 0x48, 0x5d,
+  0xfb, 0x8c, 0x29, 0x21, 0x50, 0x16, 0x7f, 0xf1, 0xb3, 0x29, 0x9d, 0xd7,
+  0x9f, 0xea, 0x44, 0x9c, 0x67, 0x55, 0x41, 0x2d, 0x46, 0x34, 0x85, 0xa0,
+  0x54, 0xd0, 0xfe, 0xa5, 0xd3, 0xcd, 0x39, 0xa6, 0x42, 0x01, 0xda, 0x35,
+  0xbf, 0xdd, 0x26, 0xdf, 0xef, 0xa4, 0x1a, 0xf5, 0xcd, 0xc9, 0x12, 0x80,
+  0x21, 0xfc, 0x6a, 0x04, 0x2a, 0xae, 0x76, 0xa4, 0xee, 0x52, 0x0b, 0x37,
+  0x6d, 0xce, 0xd6, 0xe2, 0xab, 0xd0, 0x4c, 0x98, 0x4f, 0xdf, 0x9e, 0x6d,
+  0x75, 0xff, 0x43, 0x1f, 0x42, 0x42, 0xdd, 0x31, 0x86, 0x2b, 0xc4, 0xc0,
+  0xce, 0x08, 0x7c, 0x81, 0x9a, 0x24, 0x63, 0x24, 0x78, 0x32, 0x8b, 0xef,
+  0xa5, 0x1e, 0xae, 0xc9, 0xef, 0x07, 0x67, 0xbb, 0xb4, 0xad, 0xd7, 0x67,
+  0x03, 0x17, 0x3e, 0xbf, 0xa4, 0x60, 0x3c, 0xd5, 0x3f, 0x7e, 0x7d, 0x72,
+  0x34, 0xb8, 0xee, 0x7b, 0x4b, 0xe4, 0x38, 0x70, 0x90, 0x60, 0x98, 0x09,
+  0x0f, 0xce, 0x60, 0xad, 0x8f, 0x08, 0x9f, 0x29, 0x75, 0x95, 0x38, 0x39,
+  0x9e, 0x9b, 0x8e, 0x8e, 0x76, 0x6e, 0xcc, 0xd9, 0xfd, 0x55, 0x52, 0xf8,
+  0x29, 0x49, 0xb0, 0x77, 0xc3, 0x74, 0x86, 0x2b, 0x80, 0x79, 0x81, 0x35,
+  0x34, 0x97, 0xa2, 0x09, 0xaa, 0xd2, 0xcf, 0x67, 0x98, 0x49, 0x80, 0x9f,
+  0xa9, 0xfb, 0x21, 0x30, 0x21, 0x59, 0xa0, 0x0b, 0xda, 0x0b, 0x91, 0x41,
+  0xef, 0xc8, 0xb1, 0xfd, 0x93, 0x99, 0xaa, 0xee, 0x15, 0xc7, 0x9d, 0x9d,
+  0x8e, 0x7d, 0x88, 0x6f, 0x84, 0x20, 0x2e, 0x7e, 0xba, 0x77, 0x5c, 0xde,
+  0x6a, 0x64, 0x97, 0xfa, 0x8a, 0x62, 0xd4, 0x78, 0x65, 0xce, 0x69, 0xd3,
+  0x12, 0x82, 0x83, 0xa6, 0x9a, 0x78, 0xac, 0x8e, 0xf2, 0x8a, 0x23, 0xd0,
+  0x01, 0x90, 0x25, 0xb3, 0x8d, 0x15, 0x27, 0xae, 0x99, 0x23, 0x6e, 0xdf,
+  0x53, 0x1c, 0x2d, 0xdc, 0x6b, 0x2d, 0x1a, 0xdd, 0x24, 0x20, 0x44, 0xfa,
+  0x0e, 0xb2, 0xc3, 0xb3, 0x37, 0xe4, 0x33, 0x0f, 0xfe, 0x2f, 0xb0, 0x3d,
+  0xbf, 0x78, 0x43, 0xf6, 0xf6, 0xfc, 0x0d, 0x29, 0x92, 0xbf, 0x8d, 0x43,
+  0x58, 0xe8, 0x54, 0x83, 0x42, 0xe5, 0x2f, 0x5c, 0x36, 0x72, 0xc5, 0x80,
+  0xee, 0x38, 0xd5, 0x4d, 0x6c, 0x69, 0xa4, 0x79, 0xf4, 0x16, 0x4c, 0x0f,
+  0x2d, 0x6c, 0x0c, 0x40, 0xfa, 0xed, 0xd8, 0x15, 0x74, 0xd3, 0x69, 0xbf,
+  0x99, 0x86, 0xe1, 0x40, 0x24, 0xbb, 0x59, 0x3e, 0xb2, 0x52, 0x83, 0xc4,
+  0x5c, 0x16, 0x6a, 0x8c, 0x83, 0x25, 0xa6, 0xe6, 0xf2, 0xf4, 0x7a, 0x93,
+  0x6a, 0x61, 0x16, 0xb6, 0x92, 0x3a, 0xb6, 0xbc, 0xcd, 0x68, 0x59, 0xfa,
+  0x75, 0xf1, 0xa8, 0xee, 0xd7, 0x95, 0xab, 0xf7, 0xb3, 0x2d, 0xb1, 0xe7,
+  0x0e, 0x27, 0x52, 0x13, 0x6a, 0x99, 0x34, 0x51, 0x6f, 0xdd, 0x06, 0x5b,
+  0xb2, 0x2a, 0x1b, 0xe1, 0x33, 0x0f, 0xda, 0x96, 0x5a, 0x64, 0xd4, 0x2c,
+  0x58, 0x38, 0xb8, 0x46, 0x47, 0x65, 0x0b, 0xb8, 0xb4, 0x92, 0x0a, 0x1a,
+  0xbc, 0xdb, 0x9e, 0x55, 0x60, 0xcd, 0xdf, 0x25, 0x33, 0x2a, 0xf0, 0x4e,
+  0xb2, 0x51, 0xf1, 0xb8, 0x70, 0xc1, 0xfb, 0xc7, 0xff, 0xca, 0xfe, 0x6b,
+  0x65, 0x10, 0x85, 0x8e, 0x41, 0xf1, 0x01, 0x66, 0xb7, 0xe1, 0xeb, 0x5f,
+  0x58, 0xa7, 0x2b, 0xe3, 0x31, 0x1e, 0x29, 0x4a, 0xe1, 0xca, 0xad, 0x15,
+  0x40, 0x5b, 0x46, 0x39, 0x37, 0x43, 0x68, 0x0a, 0xd4, 0xc2, 0xc4, 0x77,
+  0x20, 0xe3, 0xe6, 0x9a, 0x4a, 0x80, 0x67, 0x9f, 0xfc, 0x4e, 0x97, 0xb7,
+  0xeb, 0x6e, 0xc7, 0xe3, 0x09, 0x83, 0xb3, 0x8d, 0xe8, 0x2d, 0xfa, 0x68,
+  0xea, 0x4e, 0x78, 0xbc, 0xae, 0xda, 0x9e, 0x6c, 0x87, 0x1d, 0x51, 0x6e,
+  0xb7, 0x66, 0x85, 0xc0, 0xf7, 0x52, 0xa8, 0xa8, 0x32, 0x9c, 0xde, 0xb6,
+  0x35, 0xba, 0x03, 0x60, 0xad, 0x9c, 0xd8, 0xa8, 0x9e, 0x25, 0xee, 0xa9,
+  0xaa, 0xa5, 0xcf, 0xf0, 0xf4, 0xdd, 0x4e, 0x1b, 0x10, 0x7d, 0x5f, 0x7e,
+  0x4d, 0x45, 0xec, 0xe3, 0x84, 0xb0, 0xdc, 0x15, 0x4b, 0x13, 0x2b, 0xb8,
+  0x98, 0xde, 0x28, 0xab, 0x17, 0xdd, 0xd3, 0x2f, 0xb6, 0x5f, 0xbe, 0xd8,
+  0x58, 0xd5, 0xa5, 0x1c, 0x7b, 0xf7, 0x60, 0x71, 0x2e, 0x93, 0x10, 0xfe,
+  0x6b, 0xa7, 0xef, 0x6e, 0x50, 0x64, 0x3b, 0x9b, 0x48, 0x91, 0xb5, 0x2f,
+  0xe1, 0x40, 0xdc, 0x20, 0x49, 0xd0, 0x46, 0x68, 0xbb, 0x07, 0x22, 0x16,
+  0x5e, 0x17, 0xda, 0x32, 0x72, 0xcb, 0x89, 0x94, 0x9b, 0x46, 0xa1, 0x87,
+  0x44, 0x4f, 0x46, 0x62, 0x6f, 0x57, 0xe7, 0xc0, 0xd2, 0xd3, 0x6d, 0xcf,
+  0xc9, 0x93, 0xa5, 0xbf, 0xf7, 0xeb, 0xff, 0x72, 0x83, 0x99, 0x76, 0x80,
+  0x5f, 0x73, 0xca, 0xbb, 0xbf, 0xc3, 0x29, 0xef, 0xae, 0x3e, 0xe5, 0xdd,
+  0xe7, 0x9e, 0xf2, 0xcb, 0xfd, 0x17, 0x9f, 0xff, 0x8a, 0x53, 0x76, 0x76,
+  0xf8, 0xbf, 0xed, 0x94, 0x1d, 0x4a, 0xfb, 0x75, 0xa7, 0x2c, 0x49, 0x21,
+  0xcd, 0x82, 0x4c, 0x49, 0x7e, 0xa1, 0xb4, 0x56, 0x84, 0xd2, 0xe0, 0x32,
+  0x16, 0x7e, 0xd6, 0xaf, 0xb3, 0x92, 0xe6, 0x93, 0xdc, 0xf4, 0x0e, 0xf5,
+  0xb0, 0x80, 0x91, 0x6d, 0xa1, 0x45, 0x48, 0xc3, 0x5d, 0xcc, 0xb0, 0x77,
+  0xda, 0x5a, 0x6f, 0x4d, 0xdd, 0x23, 0x5a, 0x3e, 0xa9, 0xb8, 0x58, 0xfc,
+  0x39, 0x38, 0xea, 0xdf, 0x11, 0x55, 0xcd, 0xcf, 0x99, 0x71, 0xb2, 0x9e,
+  0xea, 0x9b, 0xf6, 0x38, 0x03, 0x33, 0x81, 0x73, 0x90, 0x82, 0xd9, 0x6f,
+  0x82, 0xfc, 0x6e, 0x90, 0x9d, 0xd4, 0x51, 0x33, 0x04, 0xa5, 0x10, 0xa4,
+  0x40, 0x86, 0x49, 0x3d, 0x8f, 0xb3, 0x44, 0x0a, 0x88, 0x71, 0xd1, 0x48,
+  0x19, 0x68, 0xca, 0x37, 0x5d, 0xc2, 0xd2, 0x2b, 0xa8, 0x91, 0xb1, 0xd4,
+  0x17, 0x77, 0x39, 0xa8, 0x67, 0xb5, 0xc9, 0x50, 0x10, 0xa0, 0x84, 0x5b,
+  0x32, 0xba, 0xe1, 0xfe, 0x22, 0x01, 0xb0, 0x9f, 0x55, 0x09, 0x7e, 0xcd,
+  0x84, 0xbb, 0x96, 0xde, 0x44, 0xc1, 0x0e, 0x54, 0xd8, 0xa7, 0xaa, 0xde,
+  0xa8, 0x8a, 0x73, 0xc4, 0x19, 0x51, 0x8f, 0x14, 0xfe, 0x66, 0xef, 0x27,
+  0x69, 0x1c, 0xe5, 0x15, 0x22, 0xa3, 0x4c, 0x97, 0x05, 0xd5, 0x9b, 0x2e,
+  0xd9, 0x6c, 0x42, 0xdd, 0x99, 0xa7, 0x6b, 0x66, 0x30, 0xe9, 0x5c, 0x7a,
+  0x6e, 0xab, 0x90, 0x64, 0x13, 0xfc, 0x0d, 0x9e, 0xee, 0x78, 0x39, 0x5f,
+  0x28, 0x18, 0x22, 0x56, 0x37, 0xa5, 0x54, 0x46, 0x27, 0x80, 0x08, 0x94,
+  0x74, 0x1d, 0x70, 0xa3, 0x19, 0x2f, 0x93, 0x24, 0xb7, 0xb1, 0xc7, 0x4a,
+  0xcf, 0x4a, 0x80, 0x3d, 0x78, 0x01, 0x94, 0xb8, 0x46, 0xa5, 0x44, 0x88,
+  0xaf, 0x96, 0x4c, 0xbc, 0xd4, 0x03, 0x6a, 0x54, 0x4b, 0xd1, 0xc9, 0x64,
+  0xb8, 0x9c, 0x2a, 0xa6, 0x80, 0x69, 0x70, 0x57, 0xa7, 0x4a, 0xaa, 0xbf,
+  0x42, 0x94, 0xa1, 0xa4, 0xcb, 0xc9, 0xf0, 0x8f, 0x3e, 0xb8, 0x4a, 0x85,
+  0xdd, 0x1d, 0x47, 0xab, 0x92, 0xc3, 0xbc, 0x85, 0x13, 0xb1, 0xd7, 0x56,
+  0x4e, 0x3f, 0xa9, 0x35, 0x1e, 0x0b, 0xb4, 0xce, 0x72, 0x49, 0xa5, 0x1a,
+  0x2d, 0x7a, 0x93, 0x18, 0xa1, 0x49, 0xbd, 0xc2, 0x72, 0x49, 0x08, 0x95,
+  0x2b, 0x70, 0x7d, 0x7c, 0x19, 0xbd, 0x8d, 0xa5, 0xdd, 0x50, 0xb4, 0x0e,
+  0x1c, 0xf8, 0xe5, 0xde, 0xf6, 0xee, 0xc6, 0x4a, 0x3d, 0xbc, 0x0e, 0xb7,
+  0x45, 0xdf, 0xca, 0xf2, 0x50, 0xc2, 0xfa, 0xf5, 0x12, 0xcc, 0x66, 0xc5,
+  0xf1, 0x81, 0x2f, 0x7d, 0x3c, 0xbf, 0x78, 0x73, 0x72, 0x76, 0xf4, 0x17,
+  0x83, 0x1a, 0x81, 0x9b, 0xa0, 0x95, 0xc7, 0x1f, 0xc1, 0x7c, 0x7d, 0xfc,
+  0x58, 0x26, 0x30, 0xe7, 0x6a, 0x7d, 0x77, 0x03, 0x2b, 0xf7, 0xbc, 0xa6,
+  0x90, 0xd3, 0xa4, 0x8e, 0xb5, 0xc1, 0xf5, 0x03, 0x2b, 0x00, 0xa3, 0x8c,
+  0x83, 0x72, 0xab, 0xbf, 0x23, 0x5d, 0x47, 0xa4, 0x6d, 0x82, 0xe5, 0x59,
+  0x4e, 0xe3, 0x94, 0x58, 0x60, 0xe5, 0xb8, 0x36, 0xd7, 0xaf, 0xd0, 0x42,
+  0x60, 0x8f, 0x74, 0x94, 0xa2, 0xb5, 0x22, 0xd7, 0x3a, 0xc5, 0x30, 0xfc,
+  0xa4, 0x0e, 0x4b, 0x49, 0xc5, 0xbb, 0xf8, 0x8b, 0xd5, 0x61, 0xe5, 0x3a,
+  0xef, 0xaf, 0x48, 0x58, 0x24, 0xb3, 0x2c, 0xa9, 0x7a, 0x32, 0xb1, 0x43,
+  0xf8, 0xf3, 0xf5, 0x5d, 0x3c, 0xf3, 0x4a, 0xc2, 0xb1, 0xa7, 0xa2, 0x52,
+  0xa6, 0x61, 0x45, 0xf8, 0xa6, 0xd3, 0x71, 0x65, 0x60, 0x5a, 0x8f, 0xe8,
+  0x93, 0x70, 0x55, 0xbc, 0x0e, 0x23, 0xd7, 0xd7, 0x7f, 0xb9, 0x3c, 0x79,
+  0x7d, 0x88, 0x8c, 0xec, 0x4b, 0xac, 0x3d, 0x29, 0x6b, 0x7c, 0x2d, 0xc2,
+  0x1e, 0xee, 0xde, 0x1a, 0x7e, 0x78, 0x73, 0x3a, 0xb8, 0x3c, 0xbb, 0x38,
+  0x7e, 0x7d, 0xf8, 0x03, 0xda, 0x94, 0x20, 0x3c, 0x1e, 0x9d, 0x77, 0xcd,
+  0xcf, 0x4c, 0x17, 0x05, 0x1f, 0x50, 0xe4, 0xe4, 0xfb, 0x8f, 0x27, 0xe7,
+  0xdf, 0xbd, 0x3e, 0xbc, 0x8b, 0x8b, 0x2e, 0xae, 0x8f, 0xdf, 0x6e, 0x69,
+  0x58, 0x5a, 0x23, 0x35, 0x54, 0xcf, 0x87, 0xb3, 0xdb, 0x32, 0xfd, 0x7b,
+  0x12, 0xc1, 0xeb, 0xb3, 0xa5, 0x0f, 0x63, 0x7e, 0xcd, 0x38, 0x0c, 0xb0,
+  0x19, 0xf8, 0xb7, 0xe8, 0xeb, 0xb3, 0x6f, 0x11, 0x2a, 0xd7, 0xf8, 0x49,
+  0xe7, 0xdc, 0x77, 0x29, 0xfa, 0x72, 0x7f, 0x7b, 0x67, 0xc3, 0x76, 0xfb,
+  0x24, 0xa8, 0x6d, 0x98, 0xf1, 0xad, 0x57, 0x35, 0xf5, 0x77, 0xa9, 0xff,
+  0xb2, 0xb5, 0x0c, 0x95, 0xb5, 0xa8, 0xb8, 0xfc, 0x40, 0x5c, 0x4e, 0x94,
+  0x9c, 0x4f, 0xf9, 0xaf, 0xd8, 0x2c, 0xb5, 0xa0, 0xb4, 0x75, 0xcf, 0xe3,
+  0x76, 0xfd, 0xd6, 0xc1, 0xb8, 0xf9, 0xda, 0x92, 0x1e, 0x4c, 0x47, 0xbc,
+  0x76, 0x2b, 0xe5, 0xe3, 0x27, 0x8c, 0xe5, 0x34, 0x4d, 0x4a, 0xda, 0x6c,
+  0x10, 0x69, 0x42, 0x3f, 0xe1, 0x7d, 0x76, 0x72, 0x7c, 0xa8, 0x02, 0x2c,
+  0x67, 0x6c, 0x46, 0x5a, 0xa5, 0x12, 0x9e, 0x42, 0x0a, 0x3c, 0xe1, 0xc3,
+  0x4b, 0xe7, 0x58, 0x7b, 0x9c, 0x94, 0x91, 0xfa, 0x77, 0x1c, 0xef, 0xcd,
+  0x2c, 0x99, 0xc6, 0xa3, 0x47, 0x83, 0x30, 0x4d, 0x07, 0x32, 0x6e, 0xde,
+  0x4e, 0xf2, 0xf0, 0x8d, 0xd0, 0x98, 0x03, 0x11, 0x3c, 0x25, 0xf6, 0xcc,
+  0x50, 0x2a, 0x70, 0x5d, 0x8d, 0xd3, 0x87, 0xa7, 0x66, 0xc0, 0x62, 0x54,
+  0x5c, 0xe2, 0xa6, 0x36, 0xa5, 0x73, 0x7d, 0x8b, 0x1b, 0xd4, 0x87, 0x64,
+  0x43, 0xed, 0x88, 0x57, 0xee, 0xe9, 0x5e, 0xdd, 0x63, 0xfe, 0x77, 0xba,
+  0xe4, 0x88, 0xc2, 0x45, 0x4e, 0xd9, 0x43, 0xfc, 0x6b, 0x18, 0x87, 0x9f,
+  0xda, 0x73, 0x91, 0xdb, 0x82, 0xdb, 0x4d, 0x73, 0xd3, 0x03, 0x5c, 0xb6,
+  0xa9, 0x2f, 0x90, 0xb6, 0x36, 0x08, 0xe7, 0x5e, 0x59, 0x77, 0x7a, 0x18,
+  0xe3, 0xce, 0x38, 0xb5, 0x81, 0x3c, 0x59, 0x58, 0x21, 0x65, 0xb4, 0x8c,
+  0x67, 0x0a, 0x74, 0xf1, 0xf7, 0x01, 0xc7, 0xa6, 0x24, 0x23, 0x1c, 0xe2,
+  0x58, 0xc8, 0x12, 0x51, 0x27, 0x81, 0x9d, 0xfa, 0x52, 0xa3, 0x3e, 0xd4,
+  0xf9, 0x28, 0x17, 0xe4, 0x35, 0x7a, 0x88, 0x91, 0x64, 0x4a, 0x1f, 0x86,
+  0x83, 0xb3, 0xdb, 0xd5, 0x71, 0xc0, 0x09, 0x1a, 0x18, 0x52, 0x33, 0xb0,
+  0xd2, 0x30, 0xcd, 0x52, 0xb5, 0x52, 0x2c, 0x82, 0x24, 0x33, 0xdd, 0x02,
+  0xcf, 0x06, 0xb0, 0x08, 0x9c, 0xaa, 0x3d, 0x05, 0x04, 0xe7, 0x95, 0x49,
+  0x3a, 0x02, 0x4d, 0x68, 0x7d, 0x8e, 0x0b, 0x91, 0xfe, 0x04, 0xdc, 0x0c,
+  0xa2, 0xad, 0x61, 0x7b, 0x43, 0x4a, 0xc1, 0x98, 0x38, 0x82, 0x48, 0x28,
+  0x92, 0x49, 0x0c, 0xcb, 0xd0, 0xd8, 0x8d, 0x40, 0xf5, 0x71, 0xc5, 0x49,
+  0xfc, 0x4d, 0x11, 0x85, 0xa0, 0xe2, 0x9a, 0x3a, 0x5f, 0x1b, 0x41, 0xca,
+  0x9c, 0xa9, 0x13, 0xdd, 0x7a, 0xcf, 0xb6, 0x08, 0x4b, 0x2b, 0xa3, 0xb2,
+  0x05, 0x20, 0x77, 0x0c, 0xf0, 0xb9, 0x01, 0x6e, 0x63, 0xd7, 0xa7, 0xd2,
+  0x87, 0x50, 0x04, 0x7e, 0x6c, 0x93, 0x4b, 0x3f, 0x95, 0x05, 0xa5, 0x81,
+  0xd2, 0x73, 0x6f, 0xb0, 0x2c, 0xb9, 0x77, 0x07, 0xb3, 0x76, 0x87, 0x19,
+  0xf0, 0x53, 0x7a, 0xbb, 0xc1, 0x66, 0xc2, 0x7a, 0xb5, 0xe8, 0xf0, 0xbb,
+  0x93, 0xab, 0xc1, 0xe9, 0xc5, 0xf9, 0x97, 0x41, 0x73, 0x58, 0x7e, 0x69,
+  0x5a, 0xbd, 0x69, 0xa5, 0xab, 0x6d, 0xc7, 0x85, 0x5e, 0x30, 0xf5, 0xb5,
+  0x70, 0x57, 0xa7, 0x34, 0xc3, 0x47, 0xbc, 0x2e, 0x5f, 0xa3, 0x64, 0x51,
+  0x91, 0xbe, 0xa4, 0xb6, 0x34, 0xed, 0x12, 0xc5, 0x2d, 0xa8, 0x0f, 0x0c,
+  0xd9, 0x70, 0x58, 0xea, 0x26, 0xb6, 0x9d, 0xf9, 0xdb, 0x4e, 0x00, 0xe6,
+  0x8d, 0x7f, 0xb3, 0xeb, 0x6d, 0x50, 0x38, 0x61, 0xc7, 0x89, 0x97, 0x2f,
+  0x17, 0x5c, 0x25, 0x89, 0x60, 0x26, 0x0c, 0x7c, 0xe4, 0x2e, 0xc0, 0xeb,
+  0xdb, 0xd0, 0xdf, 0xaa, 0xbf, 0x08, 0x0f, 0xdf, 0x6d, 0x3b, 0x15, 0x2c,
+  0xe6, 0xb9, 0xed, 0xd0, 0x73, 0xdb, 0xfe, 0x73, 0x3b, 0xa1, 0xe7, 0x76,
+  0xfc, 0xe7, 0x76, 0x43, 0xcf, 0x39, 0xeb, 0x75, 0xcc, 0x78, 0xd9, 0xb9,
+  0x55, 0x96, 0x71, 0xed, 0x5f, 0xbb, 0x7d, 0x7b, 0xfc, 0x9f, 0x19, 0x6f,
+  0x45, 0xb3, 0x51, 0xad, 0x63, 0xd8, 0xab, 0x5d, 0xdf, 0x6e, 0xd6, 0x2b,
+  0x9f, 0xd6, 0xe1, 0x40, 0x4d, 0x6c, 0xb8, 0x98, 0xe1, 0x7b, 0xdb, 0xbb,
+  0xbd, 0x51, 0xba, 0xb8, 0x41, 0xa9, 0x73, 0xa8, 0xad, 0xdd, 0x70, 0xf3,
+  0x71, 0xb1, 0xf2, 0x8b, 0x25, 0x9a, 0xe4, 0xbe, 0x1e, 0x72, 0x36, 0xd8,
+  0x88, 0x1c, 0xbc, 0x22, 0x81, 0xe8, 0xa4, 0x57, 0x22, 0x7e, 0xc7, 0xa2,
+  0x15, 0xf9, 0x0e, 0x66, 0xaf, 0xd4, 0xc5, 0xb8, 0x6f, 0xe0, 0x3d, 0x99,
+  0x00, 0x93, 0xae, 0xce, 0x4a, 0xa7, 0x29, 0x63, 0x33, 0xaa, 0xae, 0x86,
+  0xde, 0x9b, 0xae, 0x5d, 0xea, 0x71, 0xa1, 0xaf, 0x28, 0xc6, 0x1d, 0xf6,
+  0x66, 0xcb, 0x1a, 0xab, 0xe3, 0xe1, 0x8c, 0xca, 0x9d, 0x67, 0x21, 0x51,
+  0xf9, 0xe1, 0xea, 0xcc, 0x53, 0x2d, 0x23, 0x74, 0xcd, 0x94, 0x07, 0x9b,
+  0x9b, 0xd4, 0x60, 0xfc, 0x26, 0x7e, 0x78, 0xe8, 0x97, 0xc9, 0x26, 0xf0,
+  0x93, 0x72, 0x93, 0xfc, 0xbd, 0xf2, 0xe9, 0x9b, 0x6a, 0x3e, 0x5b, 0xe5,
+  0xa8, 0x4d, 0x4b, 0xc5, 0x94, 0x65, 0x2c, 0xc6, 0x31, 0xa3, 0x2e, 0xd8,
+  0x22, 0x6d, 0xba, 0x90, 0x7c, 0xc0, 0x9a, 0x74, 0xd7, 0x6c, 0xf8, 0xc1,
+  0x9d, 0x54, 0xa9, 0x8f, 0xf3, 0x36, 0xca, 0x3e, 0x12, 0x98, 0x06, 0xa2,
+  0x95, 0x4d, 0x48, 0xce, 0x7c, 0xb0, 0xd8, 0x39, 0xf8, 0x02, 0xd6, 0xd3,
+  0x26, 0x5e, 0x38, 0xc3, 0x80, 0xe4, 0x14, 0x04, 0x8a, 0x4f, 0xbe, 0x82,
+  0xd0, 0x9e, 0x95, 0x6e, 0xe0, 0x03, 0xdd, 0x03, 0xb2, 0xe4, 0xa0, 0x9a,
+  0xf1, 0x89, 0x99, 0x26, 0xa6, 0xe4, 0xa1, 0x32, 0x0f, 0x2a, 0x07, 0xfc,
+  0xf7, 0x4b, 0xbf, 0xe8, 0x3c, 0xa2, 0x25, 0x78, 0xa9, 0x7b, 0xa8, 0xff,
+  0x63, 0xd9, 0x17, 0xef, 0x3f, 0x7f, 0xcf, 0x6d, 0x8f, 0x41, 0xe6, 0x45,
+  0x30, 0x7c, 0x44, 0xc7, 0xd2, 0x19, 0x5c, 0x5d, 0x76, 0xba, 0x12, 0xad,
+  0x87, 0x0f, 0xf4, 0xe0, 0xdf, 0x11, 0x59, 0x99, 0xd8, 0x5e, 0x67, 0x7f,
+  0x4f, 0x12, 0xeb, 0x78, 0x8e, 0xdc, 0x64, 0xce, 0x0f, 0x1f, 0xd1, 0x2f,
+  0x4d, 0x72, 0x21, 0x77, 0xa1, 0xb5, 0xd5, 0xa8, 0x60, 0x00, 0xd6, 0x57,
+  0xc8, 0x29, 0x3f, 0x5d, 0x0b, 0xbc, 0x1e, 0x56, 0xeb, 0x0c, 0xec, 0x23,
+  0xd0, 0x0c, 0x4d, 0xb3, 0xdf, 0x08, 0x10, 0xe4, 0xc5, 0xad, 0xb4, 0x02,
+  0x91, 0x30, 0x07, 0x33, 0x17, 0xaf, 0xfb, 0x72, 0xc3, 0x8b, 0xe8, 0x50,
+  0x23, 0xbb, 0x58, 0x75, 0xd9, 0xb2, 0x63, 0x0a, 0x83, 0xd7, 0xd2, 0x62,
+  0x58, 0x69, 0x15, 0x36, 0xec, 0x9b, 0x6c, 0x89, 0x67, 0x42, 0xa3, 0x34,
+  0x06, 0x79, 0x02, 0xab, 0x66, 0xaf, 0x71, 0xfa, 0xba, 0x79, 0x81, 0x63,
+  0x37, 0xfb, 0x8a, 0x47, 0x44, 0x16, 0x8d, 0x56, 0x68, 0xe3, 0xb7, 0x1b,
+  0xe4, 0x60, 0x91, 0x01, 0xdb, 0xaa, 0xc9, 0x14, 0x5b, 0xc6, 0x39, 0x90,
+  0xbe, 0x06, 0xdf, 0x84, 0x4d, 0xdb, 0xb3, 0x76, 0xfa, 0x61, 0x3c, 0xbd,
+  0x20, 0x77, 0x3d, 0xf4, 0x76, 0x30, 0xe1, 0x9a, 0x28, 0x59, 0x33, 0x52,
+  0xa3, 0x67, 0x2d, 0x4a, 0xd6, 0xf4, 0x2b, 0x97, 0x24, 0x2e, 0xe6, 0x26,
+  0x8d, 0xe2, 0xca, 0x7c, 0xdf, 0xd7, 0xb3, 0x16, 0x5a, 0x5b, 0x29, 0x8a,
+  0xc8, 0xb0, 0x60, 0x09, 0xb8, 0xfc, 0x1d, 0x9d, 0x80, 0x74, 0x00, 0xe5,
+  0x74, 0x4f, 0x56, 0x55, 0x50, 0x88, 0x4f, 0x5c, 0xff, 0x38, 0x88, 0xf6,
+  0x31, 0xf1, 0x51, 0x8d, 0xd0, 0x61, 0x2a, 0x9f, 0x20, 0xed, 0x9e, 0x3f,
+  0x5f, 0x33, 0xe3, 0x08, 0x16, 0x4a, 0xd5, 0x46, 0xf6, 0xa2, 0x44, 0x9c,
+  0xad, 0xde, 0x18, 0xee, 0x23, 0x5e, 0xae, 0x8f, 0xc2, 0x78, 0x48, 0x89,
+  0xc2, 0xcb, 0x4c, 0xc0, 0x99, 0x29, 0xb6, 0x5f, 0x88, 0x09, 0x0a, 0x15,
+  0x63, 0x05, 0x25, 0x35, 0x8e, 0x69, 0xf6, 0x30, 0x6a, 0x0a, 0x0d, 0x18,
+  0x06, 0x6e, 0x21, 0x36, 0xbc, 0x56, 0x7f, 0xac, 0x6a, 0x8b, 0x0d, 0x50,
+  0x35, 0x6a, 0x1b, 0x62, 0x94, 0x42, 0xd9, 0x35, 0x4f, 0xf7, 0x7f, 0xaa,
+  0x1a, 0xda, 0x57, 0x15, 0x50, 0x83, 0xf9, 0x95, 0x87, 0xb5, 0xfd, 0x7f,
+  0xd8, 0x61, 0x6d, 0xff, 0xdf, 0x70, 0x58, 0x3b, 0xbf, 0xf2, 0xb0, 0x76,
+  0xfe, 0x0f, 0x3b, 0xac, 0x9d, 0xff, 0x1b, 0x0e, 0x6b, 0xf7, 0x57, 0x1e,
+  0xd6, 0xee, 0x6f, 0x7e, 0x58, 0xe7, 0xf8, 0x7b, 0x62, 0xfb, 0xaa, 0xf5,
+  0xa5, 0x65, 0x53, 0x29, 0x1a, 0x3e, 0x52, 0xf3, 0xf9, 0x21, 0x6e, 0x88,
+  0x18, 0x0c, 0xa2, 0x4c, 0x96, 0x4d, 0xab, 0xe9, 0xa8, 0x32, 0xb8, 0x52,
+  0xa6, 0x43, 0x8a, 0x84, 0xa0, 0x04, 0xad, 0x1e, 0x35, 0x9e, 0xaf, 0x73,
+  0xf4, 0xa0, 0x80, 0x66, 0xd0, 0x8d, 0xce, 0x07, 0x03, 0x4e, 0x3b, 0x1a,
+  0x50, 0xe8, 0xb4, 0x79, 0x58, 0xe8, 0x8c, 0x24, 0x1b, 0x67, 0x1d, 0xd5,
+  0xc6, 0x0b, 0x98, 0xa1, 0x65, 0x2e, 0xfc, 0xde, 0x3c, 0x1e, 0xe1, 0x8f,
+  0xb7, 0xfa, 0xdb, 0x76, 0x73, 0x36, 0x7e, 0x01, 0x10, 0x9c, 0x8d, 0x6b,
+  0x06, 0xad, 0xef, 0x00, 0x64, 0x3b, 0x66, 0x6a, 0xa0, 0x96, 0x5a, 0x3f,
+  0x9a, 0x07, 0x01, 0x7d, 0x53, 0xc3, 0xa6, 0x1d, 0x1c, 0x9c, 0x3a, 0xc0,
+  0x49, 0x68, 0x9a, 0x88, 0x5a, 0x1d, 0xa8, 0x94, 0x83, 0xc1, 0x38, 0x46,
+  0xbe, 0xf4, 0x6b, 0x06, 0xef, 0xd2, 0x29, 0x62, 0xe1, 0xfd, 0xd2, 0xc8,
+  0xb2, 0x13, 0xc5, 0xfd, 0x6f, 0x8b, 0x2c, 0x3f, 0xcb, 0x3e, 0x76, 0xaf,
+  0x4c, 0xd1, 0xd3, 0xd6, 0x6a, 0x61, 0xfc, 0x76, 0xeb, 0x58, 0xc4, 0x4a,
+  0x20, 0x82, 0x76, 0x1c, 0x33, 0xe9, 0x60, 0xa6, 0xcd, 0x89, 0xbc, 0x6b,
+  0xe3, 0x7b, 0x6c, 0xc6, 0xf8, 0xf8, 0x4b, 0xb9, 0x66, 0xdd, 0x1b, 0xc4,
+  0x21, 0x85, 0xb6, 0xe0, 0x55, 0x96, 0x4c, 0x71, 0xcb, 0x4c, 0x3f, 0x63,
+  0x31, 0x22, 0x08, 0xfb, 0xcc, 0x4b, 0x3f, 0x18, 0x25, 0x8c, 0x8c, 0x95,
+  0x3e, 0xa5, 0x29, 0xbd, 0xa8, 0xaf, 0x37, 0x1e, 0x25, 0xbd, 0xb8, 0x1c,
+  0xa5, 0x69, 0xb8, 0xb5, 0xab, 0xc6, 0x81, 0x31, 0xf1, 0x86, 0x3c, 0xf8,
+  0xf0, 0x7c, 0x84, 0x31, 0x37, 0xed, 0xd4, 0x8e, 0xfc, 0x90, 0xb0, 0xa2,
+  0x70, 0xba, 0xf9, 0xb2, 0x9a, 0xe6, 0xea, 0xcc, 0xef, 0x06, 0x1c, 0x83,
+  0x18, 0x95, 0xa3, 0x23, 0x86, 0xd3, 0x19, 0x15, 0xe9, 0x82, 0x70, 0x68,
+  0xdd, 0xb6, 0x70, 0x5d, 0xd3, 0x35, 0x9d, 0x9c, 0x6d, 0x12, 0x3d, 0xe5,
+  0x26, 0xe2, 0x1f, 0x3c, 0x03, 0xb5, 0xd3, 0xeb, 0xa0, 0x5b, 0xd3, 0x74,
+  0xd3, 0x82, 0x77, 0x11, 0x3d, 0xdc, 0x89, 0x5b, 0x46, 0x0a, 0x7a, 0xd4,
+  0x12, 0x86, 0xd7, 0x30, 0x06, 0x90, 0xd0, 0xa3, 0x22, 0x54, 0x53, 0xc3,
+  0x10, 0x0d, 0x4f, 0xa2, 0x00, 0x80, 0x3b, 0x88, 0xee, 0xf5, 0x5c, 0x90,
+  0x3a, 0x6e, 0x92, 0x07, 0xae, 0x23, 0xf5, 0x4d, 0x2e, 0x06, 0x36, 0xc4,
+  0x78, 0xaa, 0x84, 0xce, 0x8f, 0x06, 0xc7, 0xa7, 0xa7, 0xb5, 0xaa, 0x53,
+  0xdc, 0x3c, 0x86, 0xb7, 0x25, 0x68, 0x90, 0x12, 0x61, 0x7e, 0x31, 0x68,
+  0x1b, 0x8a, 0xc2, 0x73, 0xaf, 0x48, 0xb8, 0x7e, 0x14, 0x79, 0x01, 0x4e,
+  0x90, 0x6a, 0x27, 0xcf, 0x58, 0x0c, 0x8f, 0x0c, 0xa6, 0x99, 0x22, 0xf8,
+  0xda, 0xcd, 0x72, 0x1e, 0x67, 0x9f, 0x1e, 0x39, 0x2e, 0x5c, 0xcc, 0x21,
+  0xbb, 0xc5, 0xf7, 0xca, 0x8d, 0xf4, 0xfa, 0xb4, 0x16, 0x68, 0xcc, 0x71,
+  0x59, 0x48, 0xdb, 0x46, 0x46, 0x52, 0x93, 0xce, 0x1a, 0xb0, 0x4c, 0xc2,
+  0xb9, 0xe4, 0x91, 0x61, 0xad, 0x1a, 0x3c, 0x66, 0xd0, 0x7a, 0x61, 0x24,
+  0x78, 0x67, 0x9a, 0x4e, 0x41, 0x0e, 0xa3, 0xad, 0xac, 0x96, 0xdb, 0x6e,
+  0x8a, 0x4a, 0xfa, 0xc8, 0xef, 0x79, 0x03, 0xdc, 0x0b, 0xf0, 0x24, 0xfd,
+  0xcb, 0x05, 0x68, 0xb9, 0x01, 0x54, 0x29, 0x63, 0x9b, 0xd0, 0x3d, 0x7d,
+  0x09, 0x48, 0x17, 0xe9, 0xfc, 0xa9, 0x13, 0x6e, 0xdd, 0xf2, 0x8c, 0x9b,
+  0x54, 0x03, 0x60, 0xf9, 0x7d, 0x29, 0x2d, 0x80, 0x08, 0xe3, 0x30, 0x31,
+  0xf7, 0x4c, 0x97, 0x59, 0xfa, 0x40, 0x05, 0x1d, 0xa0, 0x4a, 0x1c, 0x62,
+  0xdb, 0x92, 0x96, 0x96, 0x1c, 0xc7, 0xac, 0xd8, 0x44, 0x5a, 0x9f, 0x42,
+  0xab, 0xf8, 0x00, 0x2f, 0x83, 0xca, 0x38, 0xc7, 0xfc, 0x1e, 0x1e, 0xa3,
+  0xeb, 0x62, 0xa3, 0x13, 0x5b, 0x0f, 0xe4, 0x07, 0x65, 0x49, 0x85, 0xfe,
+  0x8f, 0x95, 0x91, 0xad, 0x7a, 0xb4, 0xf0, 0x9a, 0x10, 0xc1, 0x16, 0x58,
+  0x34, 0xb0, 0xa2, 0xc3, 0x36, 0x07, 0xfc, 0x9c, 0x14, 0x7d, 0x17, 0x52,
+  0x1b, 0x23, 0x59, 0xb6, 0x11, 0x97, 0xd0, 0x8f, 0x48, 0x7d, 0x6a, 0xcb,
+  0x12, 0x4a, 0x65, 0x32, 0xfd, 0x83, 0x6c, 0xf7, 0xad, 0xb4, 0x19, 0x99,
+  0xa0, 0xfe, 0x4e, 0x36, 0x7c, 0x2b, 0x9d, 0x31, 0x7d, 0xd9, 0xdd, 0x68,
+  0x03, 0xd6, 0x77, 0x3a, 0x12, 0xd7, 0xba, 0x94, 0x11, 0x4e, 0x61, 0x3a,
+  0x43, 0xf2, 0xdf, 0xd4, 0xec, 0x86, 0x99, 0x9f, 0x7b, 0x6f, 0x5b, 0x5f,
+  0x31, 0xab, 0xc3, 0x42, 0x2f, 0x8a, 0x70, 0xe2, 0xbf, 0x8f, 0x59, 0xbd,
+  0x67, 0xb7, 0x75, 0x7d, 0x11, 0xd2, 0xce, 0xae, 0xa9, 0xbe, 0x38, 0xf1,
+  0xe7, 0x1b, 0xec, 0x86, 0xae, 0xf3, 0x2a, 0x98, 0x10, 0xeb, 0xfd, 0xee,
+  0x35, 0xa4, 0xed, 0xf4, 0xf3, 0xf1, 0xf2, 0x9a, 0x4d, 0xeb, 0x2c, 0x51,
+  0xa3, 0x18, 0x79, 0x16, 0x8b, 0xed, 0xb0, 0x81, 0x08, 0xe6, 0xe9, 0x99,
+  0xe6, 0xcb, 0x7c, 0xb0, 0xdc, 0xb6, 0x5d, 0x6a, 0x7a, 0x3d, 0x64, 0xdd,
+  0x74, 0x56, 0xab, 0x9b, 0x10, 0x57, 0xad, 0x96, 0x6a, 0xad, 0x83, 0xb2,
+  0xce, 0x4a, 0x1b, 0x5f, 0x1e, 0x6c, 0xfe, 0xa1, 0xd0, 0xec, 0xed, 0xb0,
+  0xdd, 0x41, 0x78, 0xa7, 0x7a, 0x02, 0x1b, 0x72, 0x8e, 0xf5, 0x58, 0xd1,
+  0x4d, 0x31, 0x56, 0xb6, 0xa1, 0x6a, 0x27, 0xdc, 0xf0, 0x34, 0x73, 0xc9,
+  0xdd, 0x8b, 0x6e, 0x49, 0x03, 0x30, 0x61, 0x4b, 0xd1, 0x91, 0xa0, 0xca,
+  0x27, 0xe8, 0xea, 0x6c, 0x7e, 0xa7, 0xef, 0x7e, 0x87, 0x8b, 0x65, 0x36,
+  0x3c, 0x00, 0xb7, 0xc7, 0x66, 0x77, 0x72, 0xf3, 0x6d, 0x9c, 0xa7, 0xd6,
+  0x84, 0xcb, 0xcc, 0x28, 0xb9, 0x18, 0x33, 0xab, 0x29, 0xf1, 0xc0, 0xbf,
+  0x89, 0x04, 0x52, 0x60, 0x8d, 0x3c, 0x02, 0x98, 0x95, 0x3e, 0x42, 0x9c,
+  0x71, 0x2d, 0x1c, 0x8d, 0x51, 0x64, 0x65, 0xb5, 0x18, 0xcc, 0x65, 0x68,
+  0x51, 0xcf, 0x53, 0x49, 0xfd, 0x0d, 0x83, 0xcd, 0xac, 0xdc, 0x92, 0x41,
+  0xe4, 0x68, 0xfe, 0x75, 0x36, 0xad, 0x02, 0xb1, 0xf7, 0x50, 0xae, 0x3d,
+  0x52, 0xda, 0xfa, 0xb1, 0x08, 0xda, 0x7e, 0x74, 0x82, 0x6f, 0xf8, 0x83,
+  0xfd, 0x59, 0x3a, 0x18, 0xa5, 0x6e, 0x37, 0xd0, 0x7b, 0xba, 0x0c, 0x4d,
+  0xba, 0x12, 0xca, 0x93, 0xd6, 0x0e, 0x54, 0xdf, 0xdf, 0x97, 0x46, 0x57,
+  0xa8, 0xb4, 0xab, 0x9a, 0x19, 0x75, 0xa6, 0xb3, 0x7c, 0x38, 0x84, 0x85,
+  0x77, 0x1c, 0xa5, 0x14, 0xbe, 0xec, 0xf9, 0x92, 0xdd, 0x79, 0x80, 0x65,
+  0x35, 0x25, 0x63, 0xba, 0xcb, 0x79, 0x69, 0xd2, 0x1c, 0x01, 0x05, 0xb2,
+  0x3a, 0xf9, 0xe5, 0xfb, 0x8a, 0x85, 0x1e, 0x90, 0x33, 0x92, 0x21, 0x2f,
+  0x84, 0x81, 0x0b, 0xab, 0xb9, 0xfd, 0xa9, 0x9c, 0x11, 0x7f, 0xaa, 0x13,
+  0xe4, 0x5c, 0xc3, 0xa8, 0x2d, 0x5d, 0xb6, 0xd6, 0x8a, 0xaa, 0xab, 0x9d,
+  0x08, 0xd3, 0xd2, 0x8f, 0xaf, 0xd0, 0x2e, 0xd4, 0x17, 0xd4, 0xf9, 0x07,
+  0xfe, 0xb1, 0xdd, 0xc5, 0xff, 0xee, 0xfc, 0xb3, 0x43, 0x21, 0x98, 0x83,
+  0xcd, 0xcd, 0xfb, 0xfb, 0xfb, 0xbe, 0x02, 0x0a, 0xc2, 0x91, 0x7d, 0xe6,
+  0x57, 0xfe, 0x21, 0x0e, 0x5b, 0xcb, 0x07, 0xae, 0xa3, 0x4e, 0x3a, 0x9f,
+  0xfe, 0xb8, 0xdd, 0xdb, 0xde, 0xda, 0xda, 0xfa, 0xb9, 0xbf, 0xc0, 0x2d,
+  0x9e, 0xd0, 0xb0, 0xf0, 0x5f, 0x77, 0xd8, 0x4d, 0x9e, 0xc9, 0x66, 0x10,
+  0xf2, 0x55, 0x36, 0xd2, 0x60, 0xb8, 0x64, 0xdc, 0xb6, 0x83, 0x09, 0xf9,
+  0xc0, 0x61, 0x32, 0x1c, 0x49, 0x8e, 0xdb, 0xeb, 0xe8, 0xb9, 0x83, 0x1e,
+  0x86, 0x10, 0xf6, 0x77, 0x77, 0x76, 0x22, 0x56, 0x39, 0xb8, 0x3c, 0x8d,
+  0x93, 0x19, 0x10, 0x99, 0x40, 0x5a, 0x8c, 0xb3, 0x2c, 0x43, 0xf8, 0xc5,
+  0x98, 0x83, 0x35, 0x40, 0x1b, 0x2d, 0x29, 0x9d, 0x9c, 0x3b, 0x80, 0x10,
+  0x8c, 0xc0, 0x7d, 0xf2, 0xf1, 0xa3, 0x1d, 0x18, 0xa8, 0xbc, 0x40, 0xde,
+  0xca, 0xdd, 0x40, 0x0d, 0xce, 0x63, 0x5c, 0x86, 0xb4, 0x36, 0x53, 0x6a,
+  0x46, 0x42, 0x8e, 0x60, 0x72, 0xb3, 0x5c, 0x1a, 0x5d, 0x53, 0xe4, 0x7e,
+  0xb2, 0x2c, 0xa4, 0xcb, 0x11, 0x25, 0x3a, 0xdc, 0xc7, 0x8f, 0x35, 0x61,
+  0x0f, 0x3b, 0x7e, 0x08, 0xff, 0xf1, 0xfc, 0xda, 0xa6, 0x80, 0x56, 0xba,
+  0x34, 0x4f, 0x92, 0x6a, 0x74, 0xe3, 0xa1, 0xbe, 0x13, 0xfb, 0x46, 0xd5,
+  0xfd, 0x06, 0x56, 0x63, 0x40, 0xd5, 0xdb, 0x3a, 0x40, 0xda, 0xba, 0x5c,
+  0x18, 0x14, 0xfb, 0x7d, 0x50, 0x65, 0x02, 0x37, 0x84, 0x67, 0x9e, 0xd8,
+  0x86, 0xee, 0x69, 0xba, 0x90, 0x52, 0xce, 0x68, 0x5a, 0x6a, 0xdd, 0xf0,
+  0xe8, 0x26, 0x99, 0x0b, 0xbf, 0x5c, 0xd7, 0x94, 0xc9, 0x8e, 0x10, 0x61,
+  0xc7, 0x17, 0x69, 0x9d, 0x89, 0xfc, 0x06, 0x16, 0xb3, 0x21, 0x75, 0xb7,
+  0x46, 0xca, 0x49, 0x33, 0xa4, 0xe9, 0x12, 0xad, 0xc6, 0x61, 0x2c, 0xe2,
+  0x44, 0x0b, 0xc2, 0xdb, 0x32, 0x9b, 0x91, 0x27, 0x26, 0x05, 0x49, 0x31,
+  0xf4, 0xbf, 0xf4, 0x44, 0xf7, 0x11, 0xa1, 0x4a, 0x09, 0x26, 0x70, 0x63,
+  0xdf, 0x9c, 0x1e, 0x5f, 0x53, 0x11, 0x6c, 0x97, 0xca, 0x65, 0xba, 0x54,
+  0xf9, 0xea, 0x37, 0xaa, 0xba, 0x24, 0xff, 0x08, 0x11, 0xaa, 0x44, 0x93,
+  0x62, 0x9b, 0x62, 0x67, 0x51, 0xc8, 0xb5, 0x8e, 0xcd, 0x69, 0x31, 0x16,
+  0xc8, 0x1d, 0xae, 0x69, 0x89, 0x26, 0x31, 0x71, 0x6f, 0xbf, 0xbf, 0xc5,
+  0x6b, 0xb4, 0x3d, 0xb0, 0xb5, 0x52, 0x8b, 0xdc, 0x48, 0x1a, 0x61, 0x8c,
+  0xc3, 0x39, 0x03, 0x66, 0x3a, 0xdd, 0x88, 0xd1, 0xcf, 0x19, 0x4a, 0x41,
+  0x7f, 0xeb, 0x64, 0x4b, 0xae, 0xd4, 0x4c, 0x5d, 0xf0, 0x53, 0x24, 0xcb,
+  0x06, 0x6c, 0x35, 0xc6, 0xc6, 0x72, 0x53, 0x65, 0x29, 0x38, 0x2b, 0xa1,
+  0x72, 0x39, 0xa2, 0x89, 0x48, 0x3c, 0x58, 0x55, 0x92, 0x75, 0x6d, 0xef,
+  0xa9, 0x1c, 0xa5, 0x80, 0x48, 0x2c, 0xa9, 0x3f, 0xaa, 0xb5, 0x6a, 0x0d,
+  0xe9, 0x27, 0x5e, 0x4b, 0xaf, 0xde, 0xd7, 0x82, 0x3c, 0xcb, 0x7a, 0x72,
+  0xa8, 0xf4, 0x0b, 0x8f, 0x72, 0x43, 0xb3, 0x5c, 0xd9, 0x6e, 0x55, 0x85,
+  0xb3, 0x8f, 0xee, 0x42, 0x3e, 0xf6, 0xaa, 0xd9, 0x94, 0x1d, 0xae, 0x68,
+  0xcf, 0x47, 0xab, 0x1c, 0x51, 0x3a, 0xd4, 0xa3, 0xe9, 0x1d, 0x18, 0xcb,
+  0x0a, 0x89, 0x12, 0xc8, 0xd8, 0x23, 0xff, 0x54, 0xe7, 0x0b, 0x0c, 0x0b,
+  0xbd, 0x3e, 0xea, 0xd4, 0x6e, 0x64, 0xa8, 0x7b, 0x55, 0xc9, 0xdc, 0xad,
+  0x6e, 0xc9, 0x08, 0x4f, 0x43, 0xbe, 0x9f, 0x3c, 0x54, 0x2c, 0xf7, 0x27,
+  0xd4, 0x81, 0x3a, 0xdb, 0xdd, 0x89, 0xca, 0x47, 0x50, 0x22, 0xe6, 0xee,
+  0x26, 0x34, 0x1b, 0x8e, 0x07, 0x43, 0x61, 0xb5, 0x4e, 0x7d, 0xcc, 0xb7,
+  0x3e, 0xe0, 0x2b, 0x47, 0xf4, 0x8a, 0xf4, 0xf6, 0xd2, 0x7c, 0xbd, 0x67,
+  0x74, 0xb1, 0xc7, 0x7c, 0x69, 0xe6, 0x62, 0xc3, 0x59, 0x9c, 0xdd, 0x9a,
+  0xc4, 0x6a, 0x1e, 0xa9, 0x8b, 0xed, 0x61, 0xb9, 0x92, 0xd4, 0xfe, 0x50,
+  0x12, 0xf8, 0x48, 0x32, 0x7a, 0x5d, 0xd4, 0x50, 0x2f, 0x9d, 0xc7, 0x05,
+  0x96, 0x18, 0xd2, 0x9e, 0x49, 0xf2, 0xb3, 0x7b, 0x26, 0xa6, 0xe9, 0x18,
+  0x4b, 0xf3, 0x77, 0x94, 0xd1, 0xce, 0xcf, 0xf9, 0x22, 0x8c, 0x63, 0xec,
+  0x8c, 0xfb, 0xa3, 0x19, 0xe4, 0x2d, 0x1d, 0xe1, 0x7e, 0xbb, 0xd8, 0xba,
+  0x01, 0x42, 0x06, 0xae, 0x0d, 0xff, 0x3d, 0xd0, 0x10, 0x60, 0x1b, 0xff,
+  0x36, 0xd2, 0xc3, 0x34, 0x3d, 0x37, 0x41, 0x43, 0xb7, 0x8d, 0x2d, 0xab,
+  0x77, 0x36, 0x50, 0x19, 0x8a, 0xb0, 0xf7, 0xa3, 0x0b, 0x6b, 0x4e, 0x66,
+  0x5d, 0x82, 0xc4, 0xad, 0x8a, 0x91, 0x18, 0x93, 0xf4, 0x77, 0x49, 0xdd,
+  0x8c, 0x67, 0xa1, 0x1d, 0xa0, 0xae, 0x6e, 0x29, 0xa1, 0x72, 0x97, 0xa1,
+  0xd9, 0x29, 0x7c, 0xb7, 0xf0, 0x39, 0xd8, 0x58, 0x6c, 0x2b, 0xca, 0xa1,
+  0xfc, 0xd8, 0xcb, 0xcc, 0xe6, 0x45, 0x84, 0xfb, 0xc9, 0x71, 0x60, 0xdf,
+  0x34, 0x92, 0xb5, 0x8f, 0x97, 0x12, 0xcc, 0x9f, 0x81, 0x5c, 0xe4, 0xdc,
+  0x13, 0xdb, 0x0f, 0x02, 0x58, 0x5a, 0x9e, 0x75, 0x3d, 0x7c, 0x27, 0x0c,
+  0x9d, 0xb3, 0xc7, 0x09, 0x73, 0x02, 0xe7, 0xd2, 0xbf, 0xdb, 0x34, 0x01,
+  0x8e, 0xf9, 0x3d, 0xa5, 0x4d, 0xf7, 0xcb, 0x4f, 0xb4, 0x1a, 0xe6, 0x5e,
+  0x40, 0x7a, 0x18, 0x40, 0x85, 0x5d, 0x2e, 0xe5, 0xf3, 0x96, 0x74, 0x91,
+  0xe9, 0x8d, 0x14, 0xb8, 0xa9, 0x94, 0x0b, 0xa9, 0x4b, 0xd7, 0xc6, 0xbc,
+  0xc1, 0xa6, 0x4d, 0x8e, 0xff, 0x43, 0x30, 0xbb, 0x40, 0xdd, 0xf4, 0xf4,
+  0x65, 0xbc, 0x8d, 0x94, 0x86, 0x08, 0x3b, 0x4c, 0x40, 0xd1, 0x98, 0xcf,
+  0x83, 0xd9, 0x92, 0x36, 0x39, 0x19, 0xf5, 0x89, 0x24, 0x63, 0xab, 0x3e,
+  0x37, 0xd8, 0x6b, 0x70, 0x3e, 0x3e, 0x76, 0xe2, 0x98, 0xa1, 0x75, 0x4b,
+  0x6d, 0x7a, 0x6c, 0x1a, 0x9c, 0x4f, 0x45, 0x8e, 0x94, 0x98, 0xea, 0x09,
+  0x1c, 0xcd, 0xc2, 0x5a, 0x97, 0xba, 0xf1, 0x81, 0xa6, 0x52, 0xbc, 0x52,
+  0xe9, 0xa1, 0xf1, 0xe8, 0x42, 0xfe, 0xc2, 0x5d, 0xb8, 0x4b, 0x79, 0xef,
+  0x19, 0xcc, 0x6c, 0x58, 0xa4, 0xc9, 0x04, 0x35, 0x10, 0x5a, 0x91, 0xe4,
+  0x90, 0x7a, 0x5e, 0xa3, 0x04, 0x71, 0xaf, 0x31, 0x3b, 0x1d, 0xce, 0x11,
+  0x0b, 0x88, 0x53, 0xf2, 0x1c, 0x31, 0x4f, 0x34, 0xbd, 0xb8, 0x18, 0x64,
+  0x1e, 0x6b, 0x25, 0x69, 0x11, 0xb1, 0xd6, 0x34, 0x05, 0xf3, 0x33, 0xa9,
+  0x0f, 0xbb, 0x78, 0x3c, 0x91, 0xba, 0x32, 0xbc, 0xc5, 0xa6, 0x97, 0x23,
+  0x7d, 0x91, 0xd9, 0xaa, 0x68, 0x37, 0x4e, 0x3b, 0xb0, 0x30, 0x72, 0x33,
+  0xee, 0xd2, 0xb7, 0x49, 0x01, 0xf2, 0x2f, 0x2f, 0xa3, 0xef, 0xf6, 0x35,
+  0x0d, 0x53, 0x3a, 0xd2, 0x8b, 0x2a, 0x62, 0x8a, 0x5e, 0xa9, 0x5c, 0x80,
+  0xa7, 0xee, 0x85, 0x2f, 0xb8, 0x78, 0x83, 0xb9, 0x97, 0xbe, 0x2e, 0x0a,
+  0x09, 0x1b, 0xe9, 0x59, 0xf3, 0xca, 0xc1, 0x4f, 0x80, 0xfc, 0xe0, 0x9f,
+  0xe1, 0xee, 0x63, 0xb6, 0x89, 0x34, 0x68, 0x57, 0x48, 0x2c, 0xe8, 0xcb,
+  0x83, 0xb3, 0x1c, 0x56, 0xa4, 0xe4, 0x80, 0x74, 0x32, 0x13, 0x8f, 0xae,
+  0x53, 0x74, 0xf7, 0x48, 0x82, 0x8d, 0xaf, 0x02, 0x72, 0xa9, 0x82, 0xa8,
+  0x35, 0x16, 0x1f, 0xbc, 0x91, 0x1c, 0x81, 0x7a, 0x64, 0x79, 0x83, 0x9a,
+  0x18, 0x6a, 0x08, 0x64, 0xe4, 0xb7, 0xa8, 0xf7, 0x2c, 0x1f, 0xcf, 0xaf,
+  0xcf, 0xde, 0x8b, 0xe9, 0x6c, 0xd9, 0x9c, 0x68, 0x35, 0xd6, 0x2c, 0x16,
+  0xb6, 0xc3, 0x54, 0xe5, 0x63, 0x02, 0xe8, 0x66, 0x68, 0x79, 0x21, 0x23,
+  0x52, 0xe0, 0xb6, 0x75, 0x25, 0x17, 0xa7, 0x90, 0xc2, 0x35, 0x31, 0xba,
+  0x74, 0x53, 0x03, 0x9e, 0x6c, 0x24, 0xc2, 0x92, 0xce, 0x9e, 0x5c, 0x25,
+  0x20, 0x51, 0x80, 0xd1, 0xac, 0x02, 0x58, 0x47, 0x39, 0xa7, 0xfc, 0xd0,
+  0xf9, 0x32, 0xaf, 0x04, 0x59, 0x0c, 0xf7, 0xcb, 0x88, 0xde, 0xe4, 0xf7,
+  0x59, 0xef, 0x0c, 0xeb, 0x8f, 0xa3, 0xb3, 0x7c, 0x0a, 0x5b, 0x75, 0x4e,
+  0x0a, 0x4b, 0xf3, 0xd4, 0x3e, 0x5c, 0x9e, 0x47, 0xeb, 0x28, 0x77, 0xa3,
+  0x4b, 0x83, 0x39, 0x87, 0x4f, 0x6e, 0x88, 0x7d, 0x51, 0xb2, 0x4e, 0x22,
+  0xb3, 0xe9, 0x46, 0x27, 0x3f, 0x1c, 0xbd, 0xbf, 0x3c, 0x3b, 0xf9, 0x89,
+  0x4d, 0x0c, 0x6f, 0x39, 0xf8, 0xe3, 0xaf, 0x1c, 0x9b, 0x8b, 0x22, 0x34,
+  0x98, 0x33, 0x08, 0xf3, 0x08, 0x02, 0xce, 0x30, 0x7d, 0x32, 0x6b, 0x54,
+  0x12, 0x1c, 0x0c, 0x2e, 0x4f, 0x7b, 0x0a, 0x18, 0xc7, 0xdd, 0x4a, 0xd3,
+  0x0c, 0x0d, 0x24, 0x92, 0x47, 0xd2, 0xe8, 0xe4, 0x5b, 0x3f, 0x18, 0xa5,
+  0x37, 0xa2, 0x1b, 0x9d, 0x6b, 0x2a, 0x62, 0x97, 0x4e, 0x1c, 0xaf, 0xe0,
+  0x9b, 0x74, 0x4a, 0x01, 0xa5, 0x46, 0x02, 0x19, 0x12, 0x07, 0x4d, 0x61,
+  0xe4, 0x95, 0xf3, 0x50, 0x93, 0x39, 0x8b, 0x96, 0x57, 0x26, 0x33, 0x76,
+  0x5f, 0xb6, 0x4a, 0x48, 0x62, 0x06, 0x74, 0x8c, 0x58, 0x27, 0xe2, 0x85,
+  0xca, 0xa4, 0x6e, 0x64, 0xf8, 0xe8, 0x76, 0xb7, 0x33, 0x34, 0xc2, 0x72,
+  0x41, 0xb4, 0x09, 0xc3, 0xf6, 0x0f, 0xa2, 0x4e, 0x6f, 0x19, 0x1d, 0x74,
+  0x3e, 0xa1, 0x8a, 0xe0, 0x7a, 0x7a, 0x03, 0xcd, 0xb2, 0x24, 0x5e, 0xa6,
+  0xae, 0x60, 0x69, 0xf1, 0x40, 0xfe, 0x6a, 0xf5, 0xb6, 0xb1, 0xc7, 0x1c,
+  0xae, 0xba, 0x48, 0x5f, 0x2a, 0x4d, 0x9b, 0x06, 0xe0, 0x5c, 0x32, 0xe2,
+  0x4b, 0x09, 0xc7, 0x4d, 0x41, 0x43, 0x5d, 0x03, 0x36, 0xc0, 0x6e, 0x7c,
+  0x64, 0xf1, 0x1d, 0x8a, 0x4d, 0x8a, 0x05, 0x95, 0x8f, 0x41, 0x57, 0x3d,
+  0xe2, 0x18, 0x44, 0x89, 0x19, 0xe8, 0xfe, 0x70, 0xb4, 0x57, 0x6b, 0x5f,
+  0xae, 0x49, 0x7c, 0xb5, 0x23, 0x4a, 0x15, 0xf2, 0xea, 0x0e, 0x2b, 0xb0,
+  0xa8, 0x18, 0xe3, 0xec, 0xe1, 0xc6, 0xaf, 0x1d, 0xae, 0x69, 0x43, 0x19,
+  0x7d, 0xb2, 0xc9, 0x70, 0xe8, 0x3d, 0x09, 0xf1, 0xa9, 0x5a, 0x2d, 0xa7,
+  0x2f, 0xb9, 0xe5, 0x20, 0x35, 0xc7, 0x09, 0x09, 0x6f, 0xee, 0x1b, 0xc9,
+  0x18, 0x8f, 0x1c, 0x42, 0x6c, 0xaa, 0x1c, 0xb5, 0x99, 0xcb, 0x5c, 0xff,
+  0x4d, 0xe7, 0xea, 0xf4, 0x56, 0xc6, 0xa0, 0x84, 0xed, 0xf1, 0x37, 0xe4,
+  0xf6, 0xbc, 0x6d, 0xfa, 0x10, 0xa7, 0x96, 0xa2, 0x71, 0x4c, 0x9a, 0x70,
+  0xb0, 0x84, 0xb0, 0xdb, 0xa8, 0xcd, 0xa3, 0xb8, 0x96, 0xef, 0xbe, 0xac,
+  0x0c, 0xa2, 0x29, 0x8e, 0xbc, 0x56, 0x60, 0xfb, 0xa6, 0xfc, 0x96, 0x7a,
+  0xba, 0xe6, 0x45, 0xeb, 0x4d, 0x55, 0xd7, 0xae, 0xa5, 0x3c, 0x96, 0xb6,
+  0x5a, 0x21, 0x81, 0xea, 0x04, 0x3d, 0x28, 0xea, 0x80, 0xd8, 0x76, 0x5d,
+  0x1f, 0xcd, 0x86, 0x5b, 0xcb, 0x69, 0x53, 0x19, 0x13, 0x7d, 0xaa, 0xc7,
+  0x4a, 0xb5, 0x4c, 0x38, 0x88, 0xa2, 0xef, 0x94, 0xdb, 0xd6, 0xbb, 0x17,
+  0x8a, 0x2f, 0x9b, 0xda, 0x0b, 0xb4, 0xd7, 0x35, 0xd2, 0x36, 0xd9, 0x7d,
+  0xf2, 0x2a, 0x43, 0x6d, 0x30, 0xc4, 0xcc, 0x2f, 0x9c, 0xfc, 0x19, 0x0c,
+  0x8b, 0x7c, 0x27, 0xb7, 0xaa, 0xf4, 0xed, 0xac, 0x37, 0x12, 0x38, 0x73,
+  0xe3, 0x51, 0x52, 0x2a, 0xc8, 0x8e, 0x43, 0xb1, 0x51, 0x34, 0x3c, 0xaf,
+  0x49, 0x03, 0x29, 0x79, 0xf7, 0xcb, 0x7e, 0x48, 0x85, 0x95, 0x36, 0x44,
+  0x1c, 0xb2, 0x93, 0x15, 0xb1, 0x87, 0x9d, 0xa2, 0x69, 0x3a, 0x84, 0xe4,
+  0xed, 0x74, 0xcd, 0xd8, 0x81, 0xd0, 0x2a, 0x49, 0x8f, 0xdd, 0x62, 0x4c,
+  0xc1, 0x8a, 0x47, 0x49, 0xac, 0xe1, 0xb6, 0xdd, 0xd9, 0xad, 0xa6, 0x1b,
+  0xe2, 0xc8, 0xc9, 0x43, 0x32, 0x5a, 0x56, 0xf5, 0x12, 0x38, 0x67, 0x4e,
+  0x02, 0xec, 0x44, 0x53, 0x5a, 0xa7, 0x8b, 0xa0, 0xc6, 0xe8, 0xa5, 0xa2,
+  0xf2, 0x1c, 0x74, 0x36, 0x34, 0x88, 0x1b, 0x8b, 0x0e, 0xcf, 0xbf, 0x08,
+  0xc5, 0x67, 0x75, 0xca, 0x45, 0xc2, 0x1e, 0x55, 0x9b, 0xaa, 0x10, 0xfc,
+  0x3c, 0xd0, 0x68, 0x11, 0xfc, 0xfa, 0x5b, 0xf6, 0xbd, 0x39, 0x1f, 0x37,
+  0xdd, 0x3a, 0xc5, 0x2d, 0x57, 0x7a, 0x57, 0xd9, 0xfb, 0x32, 0xb5, 0x2d,
+  0x07, 0x06, 0x75, 0x07, 0xd4, 0x4d, 0x86, 0xbc, 0xbe, 0xaa, 0x9b, 0xef,
+  0xb9, 0x43, 0x4f, 0x2f, 0xef, 0x5e, 0x38, 0xde, 0x6c, 0x94, 0x78, 0xf4,
+  0x23, 0xc3, 0xf1, 0xbd, 0x55, 0xdc, 0x16, 0xc3, 0x3d, 0xf8, 0xe3, 0x5b,
+  0xfc, 0x63, 0xc2, 0x7e, 0x01, 0x01, 0xd5, 0x63, 0x3f, 0xac, 0x4f, 0xda,
+  0x08, 0x8a, 0x10, 0xb9, 0xc8, 0x0a, 0x94, 0xa9, 0x85, 0x85, 0x8a, 0x88,
+  0xc0, 0x67, 0xc1, 0x90, 0xc8, 0xaa, 0xd1, 0x61, 0xba, 0x5c, 0x3c, 0xec,
+  0x07, 0x29, 0xe5, 0x7f, 0x84, 0x18, 0xc7, 0x88, 0x6c, 0x5d, 0xf2, 0x39,
+  0x0d, 0xb8, 0xa5, 0x6a, 0x1e, 0xaa, 0x1f, 0x85, 0xad, 0xfa, 0x3b, 0x06,
+  0x2a, 0x4c, 0x25, 0x3b, 0x70, 0x00, 0x4d, 0xad, 0x50, 0x02, 0xb4, 0x09,
+  0x1d, 0xec, 0x9e, 0xc6, 0x8b, 0xc6, 0xfc, 0x2c, 0x6d, 0x99, 0x42, 0xfb,
+  0x92, 0x49, 0xba, 0xcb, 0x1f, 0x3e, 0xe8, 0x6c, 0xfb, 0x7b, 0x6f, 0xa8,
+  0x7a, 0x9a, 0x6f, 0xbc, 0xf6, 0x31, 0x44, 0x85, 0x4d, 0x8f, 0xda, 0xe2,
+  0x47, 0xf0, 0xa3, 0x86, 0x3b, 0xb0, 0x5a, 0xd2, 0x32, 0xcf, 0x39, 0xb7,
+  0x8d, 0xc4, 0xae, 0x1b, 0xc4, 0x16, 0x6e, 0xd9, 0x27, 0x83, 0x29, 0x4d,
+  0xc9, 0x1c, 0x43, 0x5f, 0x46, 0x32, 0x32, 0x8c, 0x17, 0x6a, 0x56, 0xf8,
+  0xb9, 0x5e, 0x78, 0xb8, 0x31, 0x6a, 0x6f, 0x28, 0x65, 0x39, 0x7d, 0xeb,
+  0x0f, 0x5e, 0xb4, 0xb3, 0x7c, 0xcc, 0x46, 0x37, 0x6f, 0xce, 0x07, 0xe1,
+  0xd7, 0x9b, 0x8b, 0xa3, 0xa7, 0x41, 0x0b, 0x41, 0x5a, 0x60, 0x93, 0x53,
+  0x50, 0x2c, 0xd1, 0x7d, 0x76, 0xe4, 0xfc, 0x36, 0x3c, 0x5c, 0xfd, 0x15,
+  0xe3, 0x0a, 0x44, 0xcd, 0x82, 0xb9, 0xb8, 0x28, 0x9e, 0x54, 0x29, 0xd2,
+  0x8b, 0xf1, 0x2e, 0xb0, 0xd7, 0x23, 0x3c, 0x5c, 0x75, 0x83, 0xd1, 0x22,
+  0x20, 0x02, 0x19, 0xb1, 0x70, 0x12, 0xd0, 0x9a, 0x74, 0x4d, 0x0d, 0x77,
+  0xf4, 0x8f, 0x5f, 0x72, 0xcc, 0x67, 0x60, 0xd1, 0x26, 0x81, 0xe0, 0xa2,
+  0xb7, 0x43, 0x26, 0x4e, 0x63, 0x63, 0xbf, 0x40, 0xaa, 0x33, 0x7c, 0x9d,
+  0xa9, 0xb4, 0x2b, 0xc4, 0x4a, 0x3f, 0x2a, 0xda, 0x96, 0x04, 0x7b, 0xb2,
+  0xf3, 0xcd, 0xd7, 0xbe, 0xf4, 0x7c, 0x73, 0xde, 0xf2, 0x39, 0xfc, 0x4d,
+  0x4f, 0xab, 0x09, 0x45, 0x23, 0x70, 0x14, 0x7a, 0x7f, 0x2f, 0x04, 0x0a,
+  0x39, 0x3c, 0x01, 0xc5, 0x49, 0x7e, 0x82, 0x4b, 0x20, 0x40, 0x3c, 0xff,
+  0xb1, 0xf2, 0x41, 0xc9, 0xe9, 0x0f, 0x7f, 0x8a, 0x0b, 0x25, 0x38, 0xc3,
+  0x2f, 0xba, 0xe2, 0x28, 0xee, 0xa5, 0x28, 0xc2, 0x1b, 0xab, 0xce, 0x28,
+  0x3c, 0x1c, 0xf2, 0xb7, 0x10, 0x24, 0x15, 0xb2, 0x85, 0x1d, 0xfe, 0x63,
+  0x73, 0xc7, 0xa4, 0xa6, 0x99, 0x92, 0x50, 0xba, 0xa6, 0x20, 0xc1, 0x7d,
+  0x05, 0x21, 0x4b, 0x1f, 0x06, 0x94, 0x4f, 0xd0, 0x42, 0xcd, 0x94, 0x78,
+  0xc0, 0x19, 0x07, 0x66, 0x72, 0x38, 0x4f, 0xd5, 0xc4, 0x82, 0x33, 0x19,
+  0xb0, 0xfb, 0xee, 0x29, 0x62, 0x4a, 0x03, 0xd9, 0x74, 0xab, 0x70, 0x37,
+  0xdf, 0x83, 0x92, 0x84, 0xc2, 0xf5, 0xd9, 0x44, 0xaa, 0x2f, 0x44, 0xeb,
+  0x43, 0x10, 0xd7, 0x0e, 0x8c, 0x0e, 0xab, 0xd8, 0x7b, 0x5c, 0xc2, 0x12,
+  0x1e, 0x6e, 0xff, 0xf3, 0xfd, 0xbd, 0x8d, 0x8d, 0xae, 0xfa, 0xaa, 0x24,
+  0x41, 0x66, 0x48, 0x05, 0x59, 0x29, 0x72, 0x2e, 0x6e, 0x97, 0x0e, 0x5b,
+  0x7c, 0x43, 0x8c, 0xc1, 0xf8, 0x8c, 0xc2, 0xc3, 0xa1, 0x1c, 0xd3, 0xf7,
+  0xf0, 0x10, 0xd1, 0x04, 0x27, 0x86, 0x6e, 0x0c, 0x61, 0x14, 0x36, 0x09,
+  0x3f, 0x60, 0x62, 0x2e, 0xad, 0x5c, 0x81, 0x1c, 0x29, 0xd6, 0xc3, 0x88,
+  0x8e, 0x25, 0x0e, 0x17, 0xc7, 0x2a, 0x69, 0xfd, 0x44, 0xd0, 0x4b, 0x16,
+  0x7b, 0xf4, 0x07, 0x15, 0x3f, 0xde, 0x68, 0x0b, 0xe7, 0xcb, 0xe5, 0x70,
+  0x06, 0x32, 0x68, 0xb0, 0x9c, 0x4c, 0xe0, 0xb4, 0xcf, 0x52, 0xe9, 0xc5,
+  0xcd, 0x3a, 0xb8, 0x24, 0x37, 0xb4, 0xc9, 0x1c, 0x5a, 0x77, 0x9d, 0xd0,
+  0x24, 0xd7, 0xd3, 0x16, 0x70, 0x8b, 0xd6, 0x16, 0x75, 0x16, 0xfc, 0x21,
+  0x38, 0xa1, 0x49, 0xaf, 0x6d, 0x61, 0x0f, 0x49, 0xe9, 0x9b, 0x71, 0xef,
+  0x31, 0x6e, 0x0b, 0x02, 0xfb, 0xd9, 0x47, 0x6f, 0x9a, 0x5e, 0xd7, 0x53,
+  0x76, 0x8d, 0xde, 0x79, 0x8f, 0x7a, 0x27, 0x81, 0xf0, 0x60, 0x2c, 0x23,
+  0x3a, 0x64, 0x0d, 0xb3, 0xbd, 0x0b, 0xb2, 0x82, 0x21, 0xb8, 0xba, 0x28,
+  0x69, 0xf5, 0xe4, 0xf7, 0x8f, 0xb1, 0xff, 0xa1, 0x24, 0x61, 0xce, 0x12,
+  0x8c, 0x35, 0x12, 0x7f, 0xf4, 0x51, 0x49, 0x0a, 0xf6, 0x4f, 0xf2, 0x18,
+  0xe2, 0xfb, 0x10, 0x0f, 0x3e, 0xe5, 0xd6, 0xc5, 0x84, 0xaa, 0xc4, 0x5e,
+  0x20, 0x46, 0xf3, 0x61, 0x9f, 0x17, 0xd0, 0xce, 0x83, 0xc7, 0x13, 0x24,
+  0xa5, 0x36, 0x7b, 0x8c, 0x9c, 0x38, 0x8f, 0xc2, 0x2d, 0x94, 0xb5, 0x2f,
+  0x79, 0xae, 0x1b, 0xac, 0xbe, 0xf6, 0x74, 0x92, 0x8a, 0x6c, 0xe2, 0x0e,
+  0xcf, 0xa8, 0x43, 0xe5, 0xe5, 0x1a, 0x3f, 0xa7, 0xec, 0x2b, 0xb5, 0x1a,
+  0x58, 0xef, 0xd6, 0xb1, 0xc5, 0x43, 0x19, 0x07, 0x62, 0xea, 0x3a, 0xc7,
+  0xce, 0x57, 0x9a, 0xc9, 0xd5, 0xd1, 0x14, 0x80, 0x46, 0x6b, 0x7a, 0x19,
+  0x53, 0x86, 0x0c, 0x20, 0x2e, 0x70, 0x5a, 0x04, 0x25, 0xa9, 0xe3, 0xa9,
+  0xc1, 0x90, 0xbd, 0x4e, 0x50, 0xa1, 0x35, 0x1b, 0x60, 0x7a, 0x4c, 0xd6,
+  0xcc, 0x3e, 0xfd, 0x84, 0x8d, 0xfa, 0x61, 0x7a, 0x77, 0x95, 0x56, 0x4b,
+  0x9f, 0xe9, 0x0e, 0x15, 0x1f, 0x94, 0x10, 0x2a, 0x48, 0x4c, 0xe3, 0x61,
+  0x58, 0x18, 0x09, 0x32, 0xf3, 0x30, 0xe1, 0x13, 0x9b, 0xad, 0x96, 0x86,
+  0x47, 0xa0, 0xf3, 0x73, 0x96, 0xdf, 0x7b, 0x19, 0xe2, 0x68, 0x61, 0x98,
+  0xd9, 0xd5, 0xeb, 0xdf, 0xe0, 0xed, 0x3f, 0xfd, 0x43, 0x7f, 0xf9, 0x11,
+  0x77, 0xea, 0x9f, 0xba, 0x53, 0x9a, 0x74, 0x17, 0x7b, 0x30, 0x09, 0x64,
+  0x5b, 0x47, 0x7f, 0xa2, 0x5d, 0xf9, 0x2b, 0x66, 0x35, 0xf1, 0xd6, 0x20,
+  0x42, 0x11, 0x0d, 0xf8, 0xa7, 0xbe, 0xd1, 0xa3, 0x65, 0x90, 0x18, 0xeb,
+  0xbe, 0x49, 0xd9, 0x1f, 0x3e, 0x7a, 0x2e, 0x29, 0x24, 0xc3, 0x9f, 0xb2,
+  0x2e, 0x41, 0x2d, 0x83, 0x49, 0x87, 0x28, 0x2d, 0xdc, 0x4c, 0x97, 0x4f,
+  0xf1, 0xa7, 0x42, 0xf0, 0x86, 0xc0, 0x96, 0x81, 0x99, 0xa3, 0xa1, 0xc7,
+  0x3f, 0x0f, 0x1b, 0x16, 0x9a, 0xd4, 0x22, 0xde, 0x94, 0x1a, 0x04, 0x15,
+  0x8c, 0x83, 0x2d, 0xe2, 0xd5, 0x10, 0x1f, 0x2a, 0xfa, 0x0b, 0x4d, 0x15,
+  0x9e, 0x6e, 0x9e, 0x3d, 0x61, 0xb4, 0x08, 0x38, 0x90, 0xbe, 0xcc, 0x4d,
+  0xdb, 0x4c, 0x8e, 0xc6, 0x9f, 0xfe, 0xc1, 0x89, 0x80, 0xff, 0xf4, 0x75,
+  0xdf, 0x8b, 0xeb, 0x93, 0x03, 0x9a, 0xd2, 0x9f, 0x7a, 0xe5, 0xe3, 0x7c,
+  0x98, 0xcf, 0xe4, 0xe2, 0xe1, 0xe6, 0xc3, 0x06, 0xea, 0xcf, 0x98, 0x4a,
+  0x28, 0x56, 0xd7, 0x73, 0x00, 0x4c, 0xba, 0xc1, 0xde, 0x14, 0x68, 0x87,
+  0xe5, 0x23, 0xae, 0x68, 0xc5, 0xc2, 0x05, 0xb8, 0x79, 0x7f, 0x8a, 0x14,
+  0x93, 0x84, 0xfb, 0xd2, 0x4a, 0x07, 0x62, 0xf1, 0xa8, 0x6a, 0x09, 0x48,
+  0x30, 0x04, 0xb4, 0x9a, 0x8e, 0x0d, 0x4f, 0x0f, 0x42, 0xbf, 0x20, 0xbf,
+  0x80, 0x69, 0x7e, 0xa4, 0xa2, 0x49, 0x31, 0x73, 0x8f, 0xf9, 0x67, 0xbd,
+  0x6b, 0xfa, 0x99, 0xe6, 0xd1, 0x08, 0xd8, 0x00, 0x66, 0x66, 0x48, 0xf1,
+  0x49, 0xd7, 0x2f, 0x50, 0x8e, 0x42, 0xa9, 0x79, 0x98, 0xf8, 0x0e, 0x7c,
+  0xc6, 0x9b, 0xa7, 0xde, 0xea, 0x8f, 0x09, 0x01, 0xf2, 0xa6, 0x77, 0xc9,
+  0xea, 0xd1, 0xa8, 0xc3, 0x0f, 0x30, 0xe6, 0x79, 0x2c, 0xc9, 0x6c, 0x9c,
+  0xbd, 0x66, 0xee, 0x93, 0xc2, 0xa2, 0x51, 0x6e, 0x33, 0x9c, 0x76, 0xff,
+  0xa9, 0xe1, 0x70, 0x4f, 0xb5, 0x6a, 0x43, 0x32, 0x7f, 0xd0, 0xbf, 0x96,
+  0x4e, 0x8c, 0x86, 0x51, 0x61, 0x41, 0x0e, 0xa6, 0x1c, 0xe1, 0xc8, 0x4f,
+  0xac, 0x35, 0xd7, 0x10, 0x85, 0xb0, 0x2d, 0x0e, 0x57, 0x5e, 0x74, 0x23,
+  0x1b, 0xdd, 0xd6, 0xa4, 0xbe, 0x08, 0x03, 0xe1, 0xab, 0x87, 0x33, 0x51,
+  0x72, 0x13, 0x9a, 0x3a, 0xa5, 0x76, 0xdd, 0x39, 0xa7, 0x1f, 0xd2, 0x3c,
+  0xb1, 0x8e, 0x65, 0x8e, 0x5e, 0xdb, 0x40, 0x9c, 0x39, 0x0a, 0x70, 0x7b,
+  0x0a, 0x8e, 0xfe, 0x87, 0x13, 0x6d, 0x67, 0xd7, 0x56, 0xcf, 0x89, 0xb2,
+  0x83, 0x2e, 0xc2, 0xa0, 0x97, 0xab, 0x87, 0xe3, 0xfc, 0xfb, 0x17, 0xfd,
+  0xad, 0x0d, 0xef, 0x50, 0xab, 0xc5, 0x47, 0xa0, 0x8d, 0xe2, 0xf1, 0x23,
+  0x66, 0xa9, 0xd2, 0x99, 0x69, 0x54, 0x81, 0x7e, 0x40, 0x3b, 0xcb, 0xe8,
+  0x05, 0xcb, 0x05, 0x8e, 0x43, 0x64, 0x3e, 0xcb, 0xd9, 0x60, 0x7b, 0x6a,
+  0x19, 0xf5, 0x7c, 0x50, 0x17, 0x44, 0x67, 0xbd, 0xde, 0x03, 0x6e, 0xcf,
+  0x9b, 0x18, 0x26, 0xa0, 0x7c, 0xa4, 0xc8, 0xb5, 0x21, 0x26, 0x90, 0x7b,
+  0x49, 0x91, 0x8e, 0xdc, 0x86, 0xa8, 0xf4, 0x00, 0x91, 0x14, 0x63, 0x83,
+  0x62, 0x28, 0x3b, 0x08, 0x82, 0xdc, 0xf8, 0x1f, 0xf9, 0x7f, 0x9d, 0x90,
+  0x95, 0x49, 0x77, 0xa4, 0xd3, 0x86, 0x89, 0x62, 0x66, 0x8d, 0xcd, 0x40,
+  0x38, 0x7d, 0x62, 0x9d, 0x84, 0xb2, 0xbe, 0xc3, 0x78, 0x75, 0xb3, 0x34,
+  0x2e, 0xcd, 0x04, 0x79, 0x05, 0x74, 0xa3, 0x68, 0xbd, 0x84, 0x2d, 0x77,
+  0xe3, 0xd5, 0x7e, 0x45, 0x81, 0xa8, 0x11, 0xc7, 0x9a, 0x26, 0x79, 0xbf,
+  0x65, 0x67, 0x38, 0x71, 0xb8, 0xb9, 0x33, 0xed, 0x1b, 0xc2, 0x6b, 0xf6,
+  0x83, 0x8f, 0x4d, 0xb7, 0x02, 0x6f, 0xec, 0xba, 0x04, 0xf1, 0x48, 0x39,
+  0xdf, 0xe0, 0xdb, 0x42, 0xb4, 0xe0, 0xc0, 0xc8, 0x11, 0x83, 0x79, 0xe2,
+  0xd6, 0xae, 0xd7, 0xfb, 0x2b, 0xb7, 0x9c, 0xb3, 0xc1, 0xe9, 0x60, 0x8e,
+  0x86, 0x3f, 0x8b, 0x2c, 0x78, 0x07, 0x27, 0xf7, 0x51, 0x21, 0x9d, 0x61,
+  0x3d, 0xb3, 0xc7, 0x28, 0x88, 0xaf, 0xbf, 0xe2, 0xf3, 0xfb, 0x5b, 0x01,
+  0xfa, 0xa7, 0xf4, 0xe1, 0x8f, 0xe9, 0xc2, 0xe1, 0x59, 0xa7, 0x97, 0x78,
+  0x58, 0x54, 0xf7, 0x22, 0x65, 0x13, 0x9c, 0x63, 0x8c, 0x29, 0x17, 0xda,
+  0xa5, 0x8a, 0x73, 0x95, 0x9e, 0xdc, 0xcc, 0x11, 0x23, 0x20, 0xb0, 0x43,
+  0xc0, 0x85, 0x8a, 0x00, 0xfb, 0x56, 0xb4, 0x34, 0x71, 0x10, 0x9c, 0x5e,
+  0xde, 0xed, 0xf9, 0x81, 0xa8, 0x28, 0xe0, 0x2e, 0x73, 0x97, 0xb4, 0xf3,
+  0xaa, 0x75, 0x49, 0xdc, 0x51, 0x43, 0x96, 0xc4, 0x0b, 0x70, 0xdb, 0xe0,
+  0xc8, 0x42, 0x74, 0x1d, 0xee, 0x44, 0x9f, 0x58, 0x92, 0x5d, 0xc4, 0x93,
+  0x33, 0x81, 0x6f, 0x7d, 0x34, 0x18, 0xed, 0x20, 0x9b, 0xf9, 0xd3, 0xf8,
+  0x6d, 0x50, 0x4c, 0x2c, 0x7a, 0x3b, 0xe2, 0x17, 0x2a, 0x91, 0xf2, 0x54,
+  0xc2, 0x1a, 0x75, 0x14, 0x50, 0xb0, 0x1b, 0xf4, 0xb5, 0x1b, 0x9c, 0x83,
+  0x76, 0xa2, 0x2d, 0xcd, 0x1c, 0x60, 0x0a, 0xf6, 0x87, 0x7c, 0x5d, 0x50,
+  0xf4, 0x4d, 0x72, 0xe9, 0x9a, 0x6e, 0x66, 0xf3, 0xc4, 0x1c, 0xf8, 0x0a,
+  0x3c, 0x3d, 0x0b, 0xba, 0x46, 0x1f, 0xcb, 0x72, 0x86, 0xa4, 0x9e, 0x4e,
+  0x1e, 0x61, 0x4a, 0x65, 0x2b, 0x78, 0x8c, 0x2b, 0x40, 0xf9, 0x39, 0x3d,
+  0x2e, 0xc7, 0x60, 0x5e, 0x2b, 0xc9, 0xa7, 0xb9, 0x48, 0x30, 0xfd, 0x86,
+  0xc1, 0xc1, 0x9f, 0x22, 0x46, 0x94, 0xc3, 0xf4, 0x79, 0x1b, 0xe8, 0x13,
+  0x3e, 0x61, 0x94, 0x85, 0x7e, 0xb4, 0x65, 0x2c, 0xc1, 0x27, 0x08, 0xa1,
+  0x36, 0x12, 0x0e, 0x62, 0xa3, 0xdb, 0xf5, 0x0d, 0xc1, 0x42, 0x44, 0x6f,
+  0x43, 0x74, 0xf7, 0x3f, 0x92, 0x26, 0xc0, 0xf1, 0x68, 0xc9, 0x3a, 0x37,
+  0x38, 0x49, 0x38, 0x28, 0xd1, 0x86, 0xc6, 0x94, 0x7b, 0x67, 0x28, 0x0c,
+  0x67, 0x01, 0xf0, 0xf3, 0x28, 0x00, 0x66, 0x41, 0xcd, 0xae, 0x28, 0x07,
+  0xdb, 0x1e, 0xf5, 0x7a, 0x2e, 0x15, 0xa5, 0x3d, 0xac, 0x84, 0xed, 0xd1,
+  0x2f, 0xa2, 0x56, 0x17, 0xab, 0x4d, 0xf7, 0xa8, 0x36, 0xba, 0xaa, 0xd5,
+  0xa9, 0xaa, 0x26, 0x39, 0x36, 0x84, 0x5f, 0x49, 0x8c, 0x7f, 0x84, 0x7d,
+  0x61, 0x28, 0xd3, 0x2c, 0x5e, 0x3d, 0x9c, 0x4e, 0x47, 0xfa, 0xa5, 0x91,
+  0xb5, 0x35, 0x25, 0x68, 0xaf, 0xbc, 0x41, 0x4a, 0x20, 0x54, 0x02, 0x3b,
+  0x87, 0xc2, 0xd4, 0xb0, 0xac, 0x6b, 0x2b, 0x5f, 0x7d, 0xc6, 0xf5, 0x2f,
+  0x5d, 0xef, 0x16, 0x16, 0xd5, 0xe0, 0x42, 0x4f, 0x09, 0xc6, 0x20, 0x63,
+  0x90, 0x35, 0x28, 0x8f, 0x72, 0xd6, 0xd0, 0xc6, 0xa3, 0x3e, 0x15, 0x8b,
+  0x92, 0xec, 0xd7, 0x5a, 0xdc, 0x88, 0x92, 0x05, 0xe5, 0x17, 0xeb, 0xa5,
+  0x85, 0x51, 0xc6, 0x62, 0xb9, 0xb1, 0x89, 0x18, 0x6c, 0x84, 0x90, 0xd6,
+  0x9a, 0x6a, 0x1c, 0x50, 0xb0, 0x2b, 0xb2, 0x28, 0x1c, 0xfd, 0xe4, 0xdd,
+  0x40, 0xa8, 0xba, 0x8f, 0xa6, 0x9b, 0x07, 0x07, 0x6e, 0xf2, 0x0a, 0xf3,
+  0x3c, 0xe6, 0x20, 0xcf, 0x89, 0x19, 0x30, 0xe8, 0xa0, 0x65, 0x5c, 0xfa,
+  0x74, 0xc0, 0x47, 0x47, 0xa3, 0x49, 0x18, 0x38, 0x5a, 0x35, 0x9a, 0xd6,
+  0x08, 0x9a, 0xa1, 0x28, 0x94, 0xfa, 0xc4, 0x4d, 0x43, 0x34, 0xa0, 0xe0,
+  0x17, 0xf5, 0x12, 0xcb, 0x9e, 0xf2, 0x27, 0x57, 0xac, 0xc0, 0x31, 0xde,
+  0x57, 0x7f, 0xd1, 0x65, 0x11, 0xe1, 0x4f, 0x4b, 0xfa, 0x7f, 0xf4, 0xbc,
+  0xad, 0xd3, 0x0c, 0x76, 0x7f, 0x2c, 0x6c, 0x64, 0x62, 0xcf, 0x01, 0xc7,
+  0x8a, 0x31, 0x91, 0x60, 0xea, 0xb4, 0x5a, 0xe1, 0xf6, 0x37, 0xd6, 0xa6,
+  0x01, 0xde, 0x59, 0x2e, 0x11, 0x23, 0x7b, 0xf2, 0x94, 0x2c, 0x67, 0xec,
+  0x28, 0xf6, 0x20, 0x99, 0xf1, 0x10, 0x5c, 0xb2, 0xde, 0x03, 0xa6, 0x65,
+  0x56, 0x66, 0x89, 0xb4, 0xb9, 0x3a, 0x2d, 0x2d, 0x7c, 0xf8, 0x8d, 0x66,
+  0xc5, 0xa3, 0x3d, 0x67, 0x4e, 0xff, 0xaa, 0x5c, 0x6b, 0x4a, 0x32, 0x12,
+  0x55, 0x46, 0xc2, 0x3c, 0x8b, 0xd9, 0xaf, 0x16, 0x65, 0x35, 0x69, 0xf5,
+  0xf4, 0x9d, 0x6d, 0x13, 0x65, 0xdb, 0x41, 0x16, 0xc2, 0x98, 0xde, 0xfa,
+  0xbf, 0xb7, 0xa8, 0x38, 0x93, 0xa8, 0x58, 0xe4, 0x29, 0x92, 0x5c, 0xd6,
+  0x15, 0xdb, 0xf2, 0x9e, 0x6c, 0x4b, 0xeb, 0x87, 0x0c, 0xd7, 0xdd, 0x46,
+  0x81, 0x0c, 0x74, 0x72, 0x5d, 0xa9, 0x53, 0x85, 0x8d, 0x08, 0xf5, 0x8c,
+  0xb0, 0x6b, 0xa4, 0xff, 0x7c, 0x86, 0xfc, 0x62, 0x37, 0xbc, 0x06, 0x9a,
+  0xd1, 0x27, 0x5e, 0x43, 0xbb, 0x5f, 0xa8, 0x1f, 0xb9, 0xa8, 0xae, 0xab,
+  0x87, 0x93, 0x3c, 0x79, 0x76, 0x25, 0xb9, 0x4d, 0xcb, 0x6a, 0xd0, 0xdd,
+  0xe8, 0x07, 0x8e, 0xd8, 0x59, 0xfb, 0x84, 0xc5, 0x43, 0x2f, 0x68, 0x62,
+  0x35, 0x17, 0x98, 0xd6, 0x2d, 0x87, 0xe0, 0x96, 0xa1, 0x50, 0xf8, 0x18,
+  0x2f, 0x16, 0x22, 0x6d, 0x9e, 0x26, 0xf9, 0x88, 0x81, 0x1b, 0xb9, 0x4d,
+  0x2f, 0x36, 0x8a, 0x22, 0x88, 0xcc, 0x2a, 0xcf, 0x6f, 0xd9, 0xa9, 0xca,
+  0x29, 0xd8, 0x58, 0x0c, 0xe9, 0x23, 0x45, 0x7b, 0x24, 0x3f, 0xd3, 0x7b,
+  0xb3, 0x39, 0x18, 0xbc, 0xdb, 0x4c, 0xaa, 0x91, 0x4a, 0xbd, 0x4d, 0x9b,
+  0xfd, 0x27, 0xd6, 0xf7, 0xd3, 0x5a, 0x2c, 0x49, 0x5e, 0xea, 0xd8, 0x87,
+  0xc4, 0x6f, 0xfc, 0xda, 0xcf, 0xa0, 0x7d, 0xda, 0x84, 0xba, 0x2d, 0xfa,
+  0x09, 0x96, 0x89, 0x78, 0xd7, 0xfa, 0x91, 0xba, 0x4b, 0x81, 0x26, 0xbd,
+  0xce, 0x98, 0xb1, 0x60, 0xa7, 0x3e, 0x7d, 0xb3, 0xed, 0xe2, 0x82, 0x4b,
+  0x41, 0xd7, 0x0a, 0xa6, 0xfc, 0x2c, 0x17, 0xff, 0x2d, 0xe7, 0x49, 0x9e,
+  0x1d, 0x8e, 0xfd, 0x52, 0x82, 0xd4, 0xd3, 0x13, 0x5e, 0xa0, 0x0f, 0x83,
+  0xdd, 0x14, 0x4f, 0xcf, 0xf8, 0xd9, 0x13, 0x7e, 0xde, 0x8c, 0x25, 0x30,
+  0x40, 0x3e, 0x34, 0x9d, 0x04, 0xcd, 0x99, 0xdc, 0xd3, 0x82, 0xf3, 0x8d,
+  0x35, 0x01, 0xd3, 0x34, 0x7b, 0x8e, 0x73, 0xcf, 0xa4, 0xe8, 0xa0, 0xbf,
+  0x15, 0x5b, 0xcc, 0x9b, 0x41, 0x25, 0x01, 0xb8, 0x94, 0x5c, 0xe1, 0x69,
+  0xfe, 0xe4, 0xec, 0x62, 0x01, 0xda, 0x46, 0xb1, 0xe0, 0x38, 0xdf, 0x47,
+  0x4a, 0x3f, 0x98, 0xc7, 0x93, 0x8e, 0x96, 0x98, 0x7f, 0x1c, 0xe8, 0x38,
+  0xed, 0xb9, 0xb1, 0x40, 0xdf, 0xe3, 0x5a, 0xab, 0x3b, 0x0c, 0xcb, 0xb7,
+  0x9c, 0x85, 0xd1, 0xeb, 0x9f, 0xda, 0x6c, 0x4c, 0xbd, 0x9e, 0xcd, 0x8c,
+  0x1d, 0xf0, 0xa4, 0x48, 0x02, 0x71, 0xb6, 0xd0, 0xed, 0x41, 0xba, 0x20,
+  0x32, 0x61, 0x32, 0xed, 0xea, 0xc5, 0xe8, 0x46, 0xcf, 0x26, 0x05, 0x0a,
+  0x35, 0xe8, 0xd6, 0x5a, 0xd8, 0x60, 0x3a, 0x4b, 0x8c, 0xb5, 0xf3, 0x2f,
+  0xe3, 0x91, 0x01, 0x30, 0x7a, 0x6a, 0x76, 0x31, 0x77, 0x9a, 0x6b, 0xec,
+  0x02, 0xe7, 0x11, 0xd5, 0x34, 0x0a, 0xca, 0x8e, 0x7a, 0x96, 0x38, 0x4f,
+  0xa5, 0xdf, 0xb6, 0x09, 0xed, 0xb9, 0xbb, 0x55, 0x5a, 0xfe, 0xfc, 0x0c,
+  0x81, 0x17, 0x34, 0xc8, 0x69, 0xaa, 0x34, 0xf3, 0xe7, 0x5f, 0x9f, 0x4f,
+  0x70, 0xe1, 0x39, 0x45, 0x0d, 0x55, 0xd2, 0xe6, 0xc5, 0xd1, 0x66, 0x0b,
+  0xcf, 0x75, 0x85, 0x50, 0x86, 0xbe, 0x3a, 0xc9, 0x4d, 0xae, 0x5b, 0x83,
+  0x45, 0x70, 0x4c, 0x67, 0x56, 0xe6, 0x4f, 0x6b, 0x81, 0x74, 0x02, 0x4e,
+  0xfa, 0x3a, 0x82, 0xeb, 0xb3, 0x03, 0x13, 0xec, 0x20, 0xbc, 0x38, 0x95,
+  0x12, 0xcd, 0xd3, 0x2e, 0x45, 0x38, 0xc3, 0xf0, 0x8d, 0x11, 0xab, 0xa0,
+  0x6e, 0x24, 0xf8, 0xbb, 0x6c, 0x90, 0x62, 0x29, 0x6f, 0x8f, 0x52, 0x6c,
+  0x9f, 0x43, 0x44, 0xe8, 0xf0, 0x0c, 0xdc, 0x55, 0x6a, 0x5b, 0xa0, 0x46,
+  0x19, 0x7f, 0x99, 0xea, 0x33, 0x8d, 0xd3, 0x34, 0xe1, 0xf8, 0x13, 0xbe,
+  0x6e, 0xcb, 0x39, 0xc8, 0x0a, 0x45, 0x7d, 0xb2, 0xf7, 0x94, 0xab, 0x9d,
+  0x82, 0x12, 0x18, 0x95, 0xa0, 0x1c, 0x52, 0x6a, 0x53, 0x8d, 0x61, 0x09,
+  0x0d, 0x7f, 0x8a, 0x4f, 0x42, 0x81, 0xf6, 0x0f, 0x56, 0x0f, 0xa7, 0x2d,
+  0x3a, 0x3e, 0x21, 0xd2, 0xe8, 0x43, 0x0c, 0x77, 0x20, 0x54, 0x1f, 0x50,
+  0xc6, 0x24, 0x85, 0x6c, 0x5b, 0x14, 0x0e, 0x98, 0xd4, 0x3b, 0xda, 0x56,
+  0xcd, 0xfe, 0xe9, 0x65, 0x15, 0x28, 0x21, 0x01, 0xb5, 0x9e, 0xe2, 0xdb,
+  0x2c, 0x2c, 0xc0, 0xa2, 0x8e, 0xa9, 0x7a, 0x04, 0x4f, 0x39, 0x79, 0xa8,
+  0x38, 0xbe, 0x40, 0xbf, 0xc3, 0xb9, 0xa4, 0xa0, 0xd7, 0x61, 0x48, 0xdb,
+  0x42, 0x98, 0x06, 0xaa, 0x2a, 0xa4, 0x8e, 0x95, 0xbe, 0x66, 0xfc, 0x75,
+  0x0f, 0xe3, 0x69, 0x3f, 0x2f, 0x52, 0x94, 0x37, 0x94, 0xc8, 0xa9, 0x83,
+  0x21, 0xdd, 0x77, 0x89, 0x9f, 0xa0, 0xf5, 0x18, 0x1a, 0x4e, 0x23, 0x6b,
+  0x51, 0xc4, 0xa1, 0x35, 0x6f, 0xe8, 0x39, 0xd1, 0x2b, 0xfe, 0xce, 0x8c,
+  0x2a, 0xd0, 0x09, 0xa1, 0xfa, 0x72, 0xad, 0xc1, 0x31, 0xbd, 0x5c, 0x35,
+  0xe5, 0xc5, 0xac, 0xd6, 0x2e, 0x14, 0x63, 0xb0, 0x40, 0x78, 0x05, 0x57,
+  0xb2, 0x7b, 0xbe, 0xa8, 0xb4, 0x2c, 0x97, 0x74, 0x60, 0x6f, 0x4f, 0xcf,
+  0x4e, 0x4c, 0x56, 0xdb, 0xff, 0xda, 0xec, 0xe3, 0x96, 0x17, 0x23, 0x2f,
+  0x87, 0x8f, 0x6b, 0x48, 0x9d, 0x82, 0x60, 0x29, 0x32, 0xfd, 0xb6, 0xcb,
+  0x9d, 0x2f, 0xe9, 0xc7, 0xb5, 0x0a, 0xd3, 0x93, 0xf3, 0xef, 0x4e, 0xaf,
+  0x2e, 0xce, 0xdf, 0x9f, 0x9c, 0x5f, 0x7f, 0xe6, 0xb0, 0xbb, 0x50, 0x5f,
+  0x87, 0xd2, 0x4f, 0x2e, 0x48, 0x31, 0x1c, 0x74, 0x4f, 0x45, 0x80, 0xdc,
+  0x5d, 0x05, 0x56, 0x2a, 0xff, 0xea, 0xbb, 0xc3, 0x39, 0x0f, 0xa9, 0x67,
+  0x1f, 0x33, 0x49, 0x16, 0xe8, 0xd9, 0x19, 0x63, 0x5c, 0xb5, 0xcf, 0xb1,
+  0x00, 0xd3, 0x39, 0x18, 0x5b, 0x4b, 0x3c, 0x20, 0x94, 0x37, 0xa5, 0x02,
+  0x63, 0xed, 0xd8, 0x67, 0x66, 0x4b, 0x38, 0x08, 0x68, 0x63, 0xa5, 0xb5,
+  0x49, 0x58, 0xe2, 0xfe, 0x20, 0x05, 0xa0, 0x59, 0x14, 0x5c, 0x8d, 0xa2,
+  0xdf, 0x91, 0x42, 0x40, 0x9f, 0xbd, 0xe1, 0x3c, 0x1c, 0x8e, 0xbe, 0x30,
+  0x93, 0x70, 0x72, 0x40, 0x1d, 0x5c, 0x60, 0xa7, 0xc9, 0x71, 0x13, 0x0b,
+  0xd8, 0x59, 0xc5, 0x8f, 0xea, 0x2c, 0x3a, 0xd8, 0xdc, 0xfc, 0x99, 0xfa,
+  0x6b, 0x7f, 0x29, 0x0d, 0xb6, 0x7d, 0x08, 0xd4, 0xd2, 0x99, 0x86, 0x2d,
+  0x19, 0xd2, 0xea, 0x42, 0xa4, 0x5b, 0xb3, 0x9d, 0xe4, 0x06, 0xfe, 0x78,
+  0x79, 0x75, 0xf1, 0xc3, 0x5f, 0x7e, 0xe3, 0x4f, 0x38, 0xc9, 0x66, 0x3f,
+  0x62, 0x0e, 0xa6, 0x0e, 0xfe, 0xf3, 0x6f, 0xfe, 0xb5, 0xfa, 0xf0, 0x5d,
+  0x89, 0xb4, 0x73, 0x33, 0x70, 0x5f, 0x21, 0xe3, 0xe2, 0x6d, 0x06, 0xbb,
+  0xb7, 0x29, 0xd1, 0x91, 0xe3, 0xe3, 0x30, 0xc9, 0x40, 0x24, 0xe2, 0xca,
+  0x3a, 0x81, 0xc6, 0x3e, 0xf4, 0x75, 0x9f, 0x4b, 0x8a, 0x6d, 0x06, 0xaf,
+  0x56, 0x95, 0x63, 0xe5, 0x38, 0xd7, 0x96, 0x53, 0x3e, 0xaa, 0xd9, 0x8f,
+  0xa3, 0xb3, 0xb3, 0xdf, 0x74, 0x13, 0xa8, 0x47, 0xb1, 0x5d, 0x4b, 0xcf,
+  0x68, 0xa8, 0xf2, 0xf4, 0x13, 0x48, 0xb4, 0xe7, 0x17, 0x32, 0x9b, 0x43,
+  0x52, 0x8e, 0x7b, 0x65, 0x02, 0x2a, 0x6d, 0x8c, 0xf1, 0x7e, 0x85, 0x16,
+  0xc7, 0x89, 0x95, 0x9b, 0x9c, 0x38, 0xe9, 0x21, 0x9d, 0xd3, 0x43, 0x94,
+  0x2c, 0x40, 0x26, 0x14, 0xe5, 0x55, 0xf2, 0x6e, 0x72, 0x59, 0x1c, 0xd5,
+  0x2d, 0xe4, 0x06, 0x97, 0x88, 0x3b, 0xa6, 0x73, 0xc7, 0xee, 0x49, 0xa0,
+  0x21, 0x33, 0xa3, 0x43, 0xa0, 0xbc, 0x2d, 0xd2, 0xf2, 0x96, 0x8a, 0x3a,
+  0xf0, 0x86, 0x92, 0x82, 0xa4, 0xf5, 0xfb, 0xa8, 0xf2, 0xd2, 0x9c, 0xfa,
+  0x0c, 0x31, 0x62, 0xab, 0xe9, 0xd2, 0x32, 0x34, 0x3b, 0xea, 0x6c, 0xc5,
+  0xa2, 0x18, 0xdd, 0xa8, 0xec, 0x84, 0x8e, 0x6b, 0xa5, 0x5d, 0x02, 0xcf,
+  0xce, 0x49, 0x54, 0xa5, 0xc1, 0x19, 0x08, 0x95, 0xa5, 0x77, 0xb5, 0xdc,
+  0x18, 0x1f, 0xe0, 0x4f, 0x57, 0x65, 0x32, 0x9b, 0x84, 0x2b, 0xec, 0x83,
+  0xdc, 0x42, 0x2a, 0xfc, 0x4d, 0xcb, 0x78, 0x25, 0x56, 0x3c, 0xac, 0x84,
+  0x30, 0x69, 0x30, 0xb4, 0xe0, 0xfb, 0xeb, 0x84, 0x0e, 0x6b, 0x79, 0x06,
+  0x0f, 0xb6, 0xd1, 0x57, 0xe4, 0x54, 0xb3, 0x72, 0x9e, 0x98, 0x9e, 0xed,
+  0xeb, 0xb1, 0x5f, 0x30, 0x05, 0x1c, 0xc9, 0xc5, 0xef, 0x50, 0xc9, 0xdb,
+  0x7b, 0x88, 0x14, 0x38, 0x84, 0xcf, 0xa9, 0xf6, 0x8c, 0xfc, 0xe6, 0x39,
+  0xc3, 0x51, 0xfb, 0x84, 0x12, 0x73, 0xa3, 0x65, 0xaa, 0x51, 0x85, 0xd9,
+  0xbd, 0x55, 0x24, 0x7e, 0x71, 0x56, 0xc2, 0x09, 0x6b, 0xc7, 0xaf, 0x93,
+  0x70, 0x26, 0xbe, 0x6a, 0xa2, 0xad, 0x33, 0x0d, 0xc4, 0x86, 0xe1, 0x31,
+  0x74, 0xc1, 0x33, 0x88, 0x8c, 0x3b, 0x9e, 0x99, 0x27, 0x69, 0xab, 0x3c,
+  0x47, 0xd6, 0xe3, 0x14, 0x4a, 0x2b, 0x09, 0x05, 0xe1, 0x82, 0xe9, 0x37,
+  0xee, 0x95, 0x91, 0xbb, 0x60, 0x4a, 0xda, 0x49, 0x09, 0x37, 0x65, 0xa1,
+  0x36, 0xd2, 0x8e, 0xe1, 0x96, 0xc8, 0xf7, 0x8f, 0x53, 0xfc, 0x05, 0x85,
+  0x3a, 0x31, 0x22, 0x8a, 0x95, 0x98, 0xba, 0x03, 0x29, 0x96, 0xa5, 0xfa,
+  0xba, 0xa1, 0x96, 0x19, 0x6b, 0x70, 0x0b, 0x44, 0xe0, 0x2c, 0x2f, 0x43,
+  0x70, 0x9a, 0x43, 0xcc, 0x9a, 0x4f, 0xa8, 0x15, 0x0f, 0x5f, 0x79, 0xf8,
+  0xef, 0xf5, 0xc5, 0xf1, 0xc5, 0x19, 0xfc, 0xe5, 0xe4, 0xed, 0xe9, 0x0f,
+  0x56, 0x2b, 0x60, 0x80, 0x8a, 0x5a, 0x81, 0x0c, 0xe1, 0x2e, 0xbe, 0xec,
+  0xba, 0x6c, 0x88, 0x73, 0x10, 0x31, 0xfd, 0x90, 0x53, 0xe2, 0x9a, 0x14,
+  0x6a, 0xb8, 0xa5, 0xc3, 0xe7, 0x50, 0x4e, 0x63, 0xbe, 0xa8, 0x83, 0x3f,
+  0x12, 0x0b, 0xf0, 0x12, 0x6a, 0xd1, 0x3c, 0xb2, 0x29, 0xa6, 0xb0, 0x9b,
+  0x8c, 0x35, 0x52, 0x2e, 0x9b, 0x93, 0x6c, 0x54, 0xfb, 0xc9, 0x54, 0x61,
+  0x89, 0x6a, 0x93, 0xcb, 0x0b, 0xd3, 0xa7, 0xb6, 0x72, 0x7b, 0xa0, 0x37,
+  0x9a, 0xce, 0xb8, 0x88, 0xf6, 0x59, 0xe2, 0x2e, 0xd2, 0x34, 0x2e, 0xaf,
+  0x8a, 0x84, 0xb8, 0x22, 0x01, 0xd5, 0xa1, 0x22, 0xe0, 0xa2, 0x7c, 0x34,
+  0x28, 0x82, 0x2a, 0x74, 0xcc, 0x88, 0xf5, 0x35, 0xc9, 0x06, 0x48, 0x2e,
+  0x1f, 0xe5, 0x56, 0xa0, 0x1e, 0xef, 0x40, 0xfc, 0x08, 0xb5, 0x06, 0xcb,
+  0x05, 0xa5, 0x4e, 0x09, 0xff, 0xa0, 0xec, 0x2a, 0x8e, 0x62, 0x08, 0x47,
+  0xbd, 0x76, 0x9a, 0xaf, 0xb3, 0x54, 0x90, 0xe0, 0xd3, 0xc2, 0x37, 0xad,
+  0xf0, 0x0c, 0x44, 0xd9, 0xaf, 0x6b, 0x1c, 0x65, 0xdb, 0xa7, 0xd1, 0x44,
+  0x95, 0x3d, 0xb0, 0x9f, 0xf6, 0xb2, 0xae, 0x31, 0xeb, 0xbb, 0xdc, 0x5b,
+  0x35, 0x06, 0x6a, 0x84, 0x7f, 0x5b, 0xa6, 0x77, 0x31, 0xd5, 0x96, 0xc1,
+  0x65, 0xe9, 0xf5, 0xf8, 0xa5, 0xc6, 0x18, 0xf1, 0xaf, 0x1a, 0x24, 0xae,
+  0x8f, 0xb2, 0xff, 0x6b, 0x06, 0xd9, 0x6f, 0x8c, 0x71, 0xf3, 0xab, 0x06,
+  0xe9, 0xa9, 0x80, 0x00, 0xc5, 0xf8, 0x87, 0xd3, 0xeb, 0xe8, 0xf8, 0xe2,
+  0x8d, 0xbd, 0x60, 0xd7, 0x26, 0x7b, 0x3b, 0x8e, 0x86, 0xcb, 0x0c, 0x68,
+  0x10, 0xbb, 0x25, 0x99, 0xfe, 0x13, 0x9c, 0xa6, 0x88, 0x39, 0x38, 0xa5,
+  0x56, 0xac, 0xa5, 0x05, 0x43, 0x11, 0x61, 0x5e, 0x0d, 0x23, 0x29, 0x39,
+  0x35, 0xba, 0xf8, 0xf4, 0x1c, 0x81, 0x8e, 0xa6, 0x2a, 0x7d, 0xf1, 0x56,
+  0x22, 0xd6, 0x5d, 0x5c, 0x68, 0x55, 0xe9, 0x30, 0x46, 0x30, 0xa3, 0x8c,
+  0x6b, 0x23, 0x41, 0x76, 0x06, 0xa0, 0x87, 0x75, 0x38, 0x17, 0x81, 0x18,
+  0x74, 0xe7, 0xb4, 0xd2, 0xa9, 0xb8, 0x99, 0x84, 0xdb, 0x9a, 0xeb, 0x5f,
+  0xa3, 0x74, 0x69, 0x40, 0x47, 0xc2, 0x0f, 0xf3, 0xba, 0xc7, 0x06, 0xce,
+  0x1a, 0x55, 0xe2, 0xcc, 0xe6, 0xec, 0x73, 0x1b, 0x6a, 0x4f, 0x62, 0x9b,
+  0x21, 0xcc, 0x77, 0x76, 0x24, 0x94, 0x00, 0x2a, 0x3a, 0xfb, 0x0d, 0x24,
+  0xaf, 0x2c, 0xfd, 0xbb, 0xa3, 0xa0, 0xef, 0x1a, 0x7d, 0x0c, 0x56, 0x3e,
+  0xa3, 0xde, 0xce, 0x63, 0xbe, 0x10, 0xe5, 0x23, 0x08, 0xf5, 0x07, 0x32,
+  0xc8, 0xd1, 0x7e, 0x12, 0x38, 0x27, 0xfb, 0xe6, 0x9e, 0x68, 0x65, 0x91,
+  0xc1, 0x8d, 0xa2, 0x06, 0x59, 0x8b, 0x7a, 0x34, 0xc8, 0x7a, 0x2d, 0xb4,
+  0x44, 0x9a, 0x42, 0x9c, 0x49, 0x89, 0xbd, 0xa6, 0x03, 0x9e, 0x0b, 0x9b,
+  0x78, 0xc0, 0xf0, 0x0d, 0x5c, 0x6e, 0x2d, 0xf0, 0xdb, 0x4e, 0x23, 0x41,
+  0x03, 0xf6, 0x83, 0x99, 0x49, 0xb4, 0x5f, 0x3d, 0xee, 0xa2, 0xe4, 0xd5,
+  0xa5, 0xdb, 0x0a, 0x4c, 0xb5, 0x38, 0xc6, 0x39, 0x6d, 0x60, 0x97, 0x32,
+  0x79, 0xb1, 0xe9, 0x7d, 0x8c, 0x50, 0x0f, 0xd4, 0xbc, 0x30, 0xce, 0xb8,
+  0xd2, 0x50, 0x4f, 0x20, 0x5c, 0x73, 0x67, 0x6b, 0x9e, 0xf6, 0xf9, 0x8f,
+  0x63, 0xd5, 0xd8, 0xa4, 0x6c, 0xc8, 0x65, 0x2c, 0x2c, 0x64, 0xc4, 0xba,
+  0xc9, 0x09, 0xa3, 0x03, 0x65, 0x10, 0xad, 0x8f, 0x18, 0xa4, 0xbf, 0x09,
+  0x65, 0xc3, 0xc7, 0xf9, 0xa2, 0xe5, 0x2b, 0x0c, 0xe9, 0x64, 0x3f, 0xe2,
+  0xfa, 0xe4, 0x75, 0x0b, 0xe5, 0x59, 0x67, 0xb4, 0x97, 0x4d, 0xba, 0x70,
+  0x3c, 0xfb, 0x34, 0xa2, 0x79, 0xf2, 0x73, 0xf1, 0x45, 0x24, 0x58, 0xb4,
+  0x28, 0xca, 0x73, 0x91, 0x2c, 0x66, 0xb2, 0x32, 0xf9, 0x09, 0x05, 0x8e,
+  0xc9, 0x9b, 0x40, 0xbb, 0x3c, 0xd2, 0x59, 0x82, 0x3a, 0xec, 0x9a, 0x82,
+  0xaf, 0xe4, 0xb3, 0xd8, 0xa6, 0x8d, 0x55, 0x07, 0xc2, 0xdd, 0x48, 0x0d,
+  0xbd, 0x49, 0x5b, 0x78, 0xfa, 0x11, 0x26, 0x38, 0x12, 0xaa, 0x83, 0xfe,
+  0x5b, 0xde, 0xf0, 0x90, 0xee, 0x1a, 0xae, 0x64, 0x5c, 0xed, 0xb2, 0xe0,
+  0xa2, 0x5d, 0x8b, 0xed, 0xa8, 0x60, 0xeb, 0x92, 0xff, 0x57, 0x20, 0x24,
+  0x5f, 0x1f, 0x78, 0x51, 0xee, 0xa1, 0x4f, 0xe6, 0x93, 0x4a, 0xb0, 0xbf,
+  0xb8, 0x23, 0x1a, 0xef, 0xcf, 0x4d, 0x9c, 0x4d, 0x13, 0xf6, 0xbf, 0x38,
+  0xf0, 0x94, 0xdc, 0x4d, 0x8f, 0xc5, 0x21, 0xdc, 0x75, 0x72, 0xf2, 0xb4,
+  0xa2, 0x4f, 0xd8, 0x7d, 0xd8, 0xde, 0x32, 0xfb, 0xc0, 0x8d, 0xb2, 0xa8,
+  0x3a, 0x05, 0x77, 0xe1, 0x7b, 0x42, 0x24, 0xbc, 0x8f, 0xb9, 0x91, 0xae,
+  0xb6, 0x9b, 0xb7, 0x46, 0x8b, 0x09, 0xf3, 0x60, 0x64, 0xcd, 0xcf, 0x93,
+  0x26, 0x24, 0x07, 0xcc, 0x82, 0x41, 0x7d, 0x80, 0x53, 0x3d, 0xb9, 0xbc,
+  0x51, 0xc4, 0x55, 0x97, 0x0c, 0x7a, 0xc3, 0x20, 0x39, 0xce, 0x4a, 0xbc,
+  0xf7, 0x2e, 0x09, 0xc1, 0x66, 0x28, 0x6e, 0x95, 0x93, 0xcd, 0x61, 0x41,
+  0x43, 0x9c, 0xf5, 0x6c, 0x9b, 0xf5, 0xdc, 0x13, 0xa1, 0x5c, 0x1e, 0x0d,
+  0x06, 0x4a, 0x26, 0xc7, 0x3e, 0x45, 0x48, 0xf4, 0x88, 0x10, 0x74, 0xa4,
+  0x48, 0x3a, 0xa0, 0x2a, 0xca, 0x20, 0x8d, 0x24, 0x83, 0x6d, 0xe6, 0x69,
+  0x6f, 0x98, 0x31, 0x93, 0x36, 0x21, 0xeb, 0x65, 0xba, 0xd2, 0x15, 0xdf,
+  0xaf, 0xde, 0xc9, 0xcf, 0x82, 0xe9, 0x2a, 0x1c, 0xb0, 0xc4, 0x7d, 0xa6,
+  0x62, 0x64, 0xe5, 0xf1, 0xa4, 0x1a, 0x3e, 0x2c, 0xd2, 0x5a, 0xcf, 0xc2,
+  0xed, 0x5d, 0x7f, 0xd1, 0xdf, 0xf1, 0xaa, 0xba, 0xff, 0xd2, 0xa2, 0xbf,
+  0x0b, 0x2c, 0x7a, 0xcf, 0x5e, 0x1c, 0xfe, 0x58, 0xb4, 0xb3, 0xf3, 0x52,
+  0x0b, 0x42, 0x80, 0x8e, 0xe9, 0x7b, 0xf6, 0x83, 0xce, 0x17, 0xe1, 0xb9,
+  0x1e, 0xd5, 0x1f, 0xf8, 0xdf, 0x72, 0x2e, 0xaf, 0xf3, 0xa9, 0x7d, 0xf3,
+  0x29, 0x50, 0xbf, 0xd1, 0x02, 0x05, 0x9d, 0x9e, 0xb9, 0x8c, 0xc7, 0x7c,
+  0xd4, 0x94, 0x43, 0x35, 0xfc, 0x1e, 0xf3, 0xa7, 0x2a, 0xa3, 0x4b, 0x36,
+  0x3e, 0xa5, 0xb3, 0x70, 0xbe, 0xf3, 0xc2, 0xb8, 0x51, 0x36, 0x77, 0x34,
+  0x80, 0x7e, 0x44, 0xbc, 0x78, 0x96, 0xcc, 0x89, 0x32, 0xc7, 0x09, 0xa2,
+  0xf5, 0x58, 0xf7, 0x1f, 0xd7, 0xdc, 0x4d, 0x8a, 0x98, 0xd0, 0x96, 0x67,
+  0xf1, 0x63, 0x00, 0x6c, 0x4b, 0x3c, 0xc5, 0x6c, 0xae, 0xc4, 0x38, 0xfb,
+  0x0c, 0x6d, 0x05, 0xd2, 0x04, 0xc4, 0x6d, 0x86, 0x7e, 0x58, 0x3c, 0xd1,
+  0x7c, 0x62, 0x5c, 0xb5, 0xf2, 0x55, 0x0f, 0x0e, 0xa0, 0x94, 0x06, 0x86,
+  0x7c, 0x65, 0x44, 0x4b, 0x08, 0x63, 0xc3, 0x6d, 0xbf, 0xb4, 0x47, 0x64,
+  0xce, 0x01, 0x1d, 0x5b, 0x0c, 0x11, 0xe2, 0xec, 0x9e, 0xf2, 0x12, 0x8d,
+  0x07, 0x48, 0x1f, 0x1d, 0x8c, 0xd2, 0xa5, 0xbe, 0xd5, 0x5c, 0x38, 0x0a,
+  0xe2, 0x36, 0x73, 0xe3, 0x4b, 0x64, 0x76, 0x02, 0xb8, 0xdb, 0x8f, 0x2e,
+  0xc8, 0x0b, 0x57, 0x83, 0x18, 0x9f, 0x30, 0xe9, 0xdb, 0xa2, 0xd1, 0x3a,
+  0xe1, 0xbe, 0xb2, 0x27, 0xac, 0x73, 0xd2, 0xe4, 0x97, 0x4d, 0x65, 0xb2,
+  0x46, 0xa0, 0xa8, 0xb7, 0x39, 0x89, 0xae, 0x4e, 0xae, 0xaf, 0x28, 0xce,
+  0x4b, 0x0c, 0xc0, 0x03, 0x49, 0x8d, 0x8b, 0x0d, 0x03, 0x12, 0x24, 0xec,
+  0xcc, 0xea, 0x21, 0x96, 0x41, 0x30, 0x7e, 0x99, 0x39, 0x6f, 0xfe, 0xa7,
+  0xbe, 0xc7, 0xd5, 0x2f, 0x89, 0xd6, 0x9a, 0xd8, 0x88, 0x4e, 0x1d, 0x59,
+  0x6d, 0x67, 0xc7, 0x66, 0x21, 0x71, 0x73, 0x63, 0x16, 0x73, 0x92, 0x49,
+  0xde, 0x97, 0xec, 0x16, 0x2d, 0xbe, 0xd0, 0x66, 0x76, 0xf8, 0x10, 0x67,
+  0x63, 0xe7, 0x45, 0x40, 0xe4, 0xca, 0xa7, 0x55, 0xfe, 0xf3, 0x14, 0x2c,
+  0x8a, 0x1a, 0x7f, 0x8d, 0x7f, 0xca, 0xdc, 0x53, 0x2a, 0x00, 0xa3, 0xbd,
+  0xad, 0xad, 0x00, 0xec, 0x70, 0x3c, 0x04, 0xa6, 0x2a, 0xda, 0x9c, 0x54,
+  0xf5, 0xd0, 0x5b, 0xec, 0x35, 0x25, 0xf5, 0xb2, 0x44, 0x53, 0xa3, 0x37,
+  0x41, 0x37, 0x26, 0xee, 0x98, 0x6f, 0x54, 0xec, 0x30, 0x8f, 0xf9, 0x9e,
+  0xaa, 0x8c, 0x74, 0xd3, 0x1a, 0xcc, 0x85, 0x4b, 0x90, 0xb4, 0x7b, 0x6e,
+  0xec, 0x80, 0x31, 0x8b, 0xff, 0xdb, 0x9b, 0x99, 0xc7, 0xbf, 0x77, 0xf6,
+  0x7d, 0x8a, 0x18, 0x5c, 0x5f, 0x5c, 0x09, 0x85, 0xf9, 0xa2, 0x99, 0x77,
+  0x84, 0x1e, 0xb1, 0x68, 0x2b, 0x5d, 0x1f, 0x72, 0x67, 0x6c, 0xf0, 0x01,
+  0x0c, 0x8a, 0xa9, 0xf3, 0x55, 0xe6, 0x00, 0xd4, 0x40, 0x4f, 0x96, 0xf6,
+  0x9d, 0x20, 0x02, 0x28, 0x5e, 0xaf, 0xde, 0x4b, 0xe7, 0x25, 0xbe, 0x66,
+  0x17, 0x7c, 0x7f, 0xb9, 0x7a, 0x1d, 0xe9, 0x48, 0xea, 0xd8, 0x11, 0xef,
+  0x57, 0xd2, 0x61, 0x4d, 0xa7, 0xcf, 0x26, 0x2d, 0xf2, 0x25, 0xba, 0xb0,
+  0x90, 0xcc, 0xcc, 0xe1, 0x65, 0x9d, 0xc6, 0x2a, 0xa6, 0x6e, 0xb3, 0xc8,
+  0x27, 0x18, 0xb2, 0x58, 0x12, 0x9b, 0x62, 0xf6, 0x85, 0x8d, 0x3c, 0x58,
+  0xf7, 0xbc, 0x18, 0x4b, 0xfa, 0x8a, 0x08, 0x4e, 0x35, 0x16, 0xac, 0x9e,
+  0x6d, 0xa5, 0xfe, 0xe5, 0xc5, 0xd5, 0xb5, 0x91, 0xf9, 0xf8, 0x59, 0xfa,
+  0x41, 0xe3, 0xf6, 0x60, 0xbf, 0x14, 0xc1, 0x9f, 0x10, 0xc9, 0x46, 0x3d,
+  0x7c, 0x3f, 0x0b, 0x42, 0x10, 0xc8, 0x91, 0xd0, 0x38, 0x3a, 0x50, 0x97,
+  0x3a, 0xed, 0x8d, 0x73, 0x86, 0xf3, 0x31, 0xfc, 0x86, 0x3d, 0xe8, 0x24,
+  0x68, 0x5a, 0x90, 0xc1, 0xac, 0x72, 0xbb, 0xbb, 0xed, 0x53, 0x06, 0xda,
+  0xd0, 0x57, 0x27, 0x83, 0x6b, 0x9e, 0x39, 0xfe, 0xcd, 0x9b, 0x39, 0xd7,
+  0x87, 0xca, 0x0f, 0x7d, 0x27, 0xaa, 0xa1, 0x0c, 0xcc, 0x40, 0x03, 0x6b,
+  0x83, 0xc6, 0x37, 0x05, 0xee, 0xce, 0x8e, 0xed, 0x3a, 0xd9, 0x86, 0xc4,
+  0x34, 0x85, 0x4e, 0xe8, 0x7e, 0xd3, 0x0f, 0x3a, 0xf2, 0x95, 0x0e, 0xa8,
+  0x65, 0x7c, 0x1d, 0x6a, 0xf0, 0xeb, 0xbb, 0x7b, 0x76, 0x84, 0x05, 0x4a,
+  0x2a, 0x19, 0xe0, 0x54, 0xdb, 0xe4, 0xe2, 0x0f, 0x7b, 0x4a, 0x2a, 0x24,
+  0x2c, 0x98, 0x28, 0xf8, 0x39, 0x3b, 0xce, 0xbe, 0x94, 0xa8, 0x9f, 0x19,
+  0x55, 0xc1, 0x99, 0x0a, 0xfe, 0x58, 0x53, 0x7e, 0x48, 0xdb, 0x68, 0x90,
+  0xdc, 0x2e, 0x53, 0xfa, 0xd7, 0x98, 0x2d, 0x68, 0xd2, 0x16, 0x79, 0xed,
+  0xae, 0x5c, 0x00, 0x65, 0x2b, 0xcd, 0x96, 0x09, 0xe9, 0x68, 0x71, 0x31,
+  0xc3, 0x5e, 0x0f, 0xc0, 0x44, 0x0a, 0xae, 0x1f, 0xbb, 0xcf, 0x42, 0xb0,
+  0xd4, 0xce, 0x37, 0x44, 0xfe, 0x9c, 0x9e, 0x9d, 0xd8, 0xa3, 0xe2, 0x3e,
+  0x11, 0x74, 0x89, 0xad, 0xae, 0x8f, 0xad, 0xed, 0x8d, 0x98, 0xe8, 0x47,
+  0x97, 0xd8, 0xb3, 0x9c, 0x74, 0xa6, 0xf2, 0xdf, 0xed, 0x68, 0x7c, 0x49,
+  0xc8, 0x03, 0x0f, 0x62, 0x93, 0xca, 0x9d, 0xd3, 0x0c, 0x4e, 0x96, 0x7e,
+  0x82, 0x7f, 0x75, 0x30, 0xcd, 0xbd, 0xe5, 0xbe, 0xb2, 0x2f, 0x97, 0xb0,
+  0x12, 0xb0, 0xd0, 0x9b, 0x8f, 0xec, 0x09, 0x5d, 0x81, 0xf9, 0x4e, 0x43,
+  0x18, 0xd6, 0x8c, 0x77, 0x59, 0x9a, 0xc5, 0x8c, 0x79, 0x84, 0x89, 0x3e,
+  0x53, 0x63, 0xe1, 0xce, 0x50, 0x2c, 0x0c, 0x8e, 0x86, 0xa6, 0x81, 0x10,
+  0x26, 0x09, 0xa3, 0x22, 0x07, 0x63, 0x65, 0xc8, 0x69, 0x67, 0x26, 0xd7,
+  0xde, 0x8d, 0x01, 0xd3, 0xd6, 0x1a, 0xbc, 0xa8, 0xe6, 0xe6, 0x36, 0x1a,
+  0xb0, 0xef, 0x31, 0x25, 0x1a, 0xb2, 0x31, 0xf2, 0xab, 0x36, 0x3b, 0xc9,
+  0x4e, 0x16, 0xdc, 0x3b, 0x74, 0x1a, 0x60, 0x3c, 0x00, 0xe4, 0xbb, 0xab,
+  0xfc, 0xef, 0xed, 0xdb, 0xa1, 0x26, 0x04, 0xde, 0xa3, 0x7c, 0xfd, 0xa8,
+  0xe6, 0x94, 0x33, 0x9d, 0x24, 0x52, 0xf3, 0x24, 0x9b, 0x8d, 0x5c, 0x7b,
+  0x1e, 0xb8, 0x52, 0xce, 0x37, 0x5e, 0x8a, 0xe9, 0x8b, 0xb6, 0x6f, 0xf6,
+  0x68, 0x93, 0xef, 0xfb, 0x1c, 0x55, 0x66, 0xbf, 0x19, 0x37, 0xaa, 0x91,
+  0xdf, 0x08, 0x08, 0xe3, 0x8d, 0xf8, 0x65, 0xb0, 0x15, 0x95, 0x87, 0xb8,
+  0xb8, 0x9c, 0x4b, 0x0e, 0xaf, 0xf3, 0xa5, 0xcf, 0xc5, 0x93, 0x81, 0xc5,
+  0xe7, 0x99, 0x05, 0x29, 0x72, 0x16, 0x82, 0x8a, 0xae, 0x58, 0xcd, 0x1a,
+  0xca, 0x07, 0xe6, 0x38, 0x8a, 0x4d, 0x0a, 0xb0, 0x8f, 0xb1, 0x87, 0xc8,
+  0x65, 0xc8, 0x66, 0x45, 0xd9, 0x55, 0x8f, 0x42, 0xae, 0x45, 0xc0, 0xe2,
+  0x59, 0x90, 0xc7, 0xf8, 0x57, 0xa6, 0x69, 0x90, 0xef, 0x12, 0x2f, 0x92,
+  0xbf, 0x92, 0x22, 0xd9, 0x37, 0xdd, 0x5a, 0x35, 0xa0, 0x1c, 0x67, 0xcb,
+  0xd8, 0xb1, 0xe5, 0xf7, 0x5e, 0x89, 0x87, 0x4a, 0xdc, 0x20, 0x18, 0x59,
+  0xcf, 0x10, 0xfc, 0xba, 0x11, 0x5e, 0xdc, 0xdf, 0x36, 0xbe, 0x4a, 0x4c,
+  0x99, 0x95, 0x3a, 0x10, 0x37, 0x71, 0x16, 0xe1, 0x8f, 0x07, 0xef, 0xa2,
+  0xf7, 0x6f, 0xf6, 0x31, 0xa1, 0x67, 0x9a, 0x14, 0x8b, 0x02, 0x93, 0x38,
+  0x95, 0x86, 0x2f, 0xbe, 0x75, 0x06, 0xdb, 0xb1, 0xd9, 0x17, 0x0a, 0x8e,
+  0x28, 0xcc, 0x4c, 0xec, 0x05, 0x38, 0x42, 0x2c, 0x7c, 0x9e, 0x6a, 0x0b,
+  0x4c, 0xc5, 0xf1, 0x53, 0xb4, 0x2a, 0xd2, 0x5a, 0x3e, 0x6b, 0x26, 0x85,
+  0xd7, 0x18, 0xd8, 0xfe, 0xae, 0x65, 0x60, 0xc5, 0xe3, 0x02, 0x9b, 0xab,
+  0x64, 0x53, 0x34, 0x0b, 0x02, 0x37, 0x6a, 0x9f, 0x99, 0xe6, 0x31, 0xdf,
+  0x7b, 0xd4, 0x61, 0xfd, 0xd7, 0x48, 0x3d, 0x27, 0x77, 0xa9, 0xf3, 0xde,
+  0xbe, 0xeb, 0x55, 0x28, 0xa5, 0x33, 0x9a, 0xb4, 0xc4, 0x20, 0x0d, 0xc5,
+  0x79, 0xf6, 0x85, 0x79, 0x16, 0xfd, 0x46, 0x69, 0xe6, 0xb4, 0x30, 0x6a,
+  0x79, 0x43, 0x94, 0x5f, 0x35, 0x10, 0x54, 0x31, 0x63, 0x7d, 0xc7, 0xd9,
+  0x7b, 0xe7, 0x95, 0x57, 0x75, 0xa7, 0x09, 0xf5, 0x36, 0x30, 0x84, 0x49,
+  0x8b, 0xa2, 0xce, 0xb2, 0x8e, 0x9b, 0x85, 0x65, 0xf4, 0x65, 0x33, 0x0f,
+  0x5a, 0x79, 0x60, 0xe2, 0x22, 0x88, 0xe8, 0x55, 0x67, 0xd2, 0x3f, 0x3e,
+  0x8a, 0xda, 0x8a, 0x80, 0x88, 0xd6, 0x9d, 0x8f, 0x6c, 0xcb, 0x9d, 0xc1,
+  0xbe, 0xd4, 0xd3, 0x2c, 0xfd, 0x7b, 0xe2, 0xe4, 0x82, 0x69, 0xfb, 0x29,
+  0xe7, 0xf1, 0x1d, 0x61, 0x18, 0xdc, 0x7b, 0x98, 0x98, 0x22, 0x06, 0x4f,
+  0xed, 0x03, 0xbb, 0x42, 0xb5, 0xdc, 0x3d, 0x8e, 0x73, 0x1f, 0x60, 0x54,
+  0x0a, 0xdd, 0x27, 0xb5, 0xb4, 0xfa, 0x17, 0x7b, 0xa2, 0x73, 0xa9, 0x6e,
+  0x8c, 0x92, 0x17, 0x37, 0x62, 0x46, 0x80, 0x8c, 0x4d, 0x36, 0xfd, 0x42,
+  0xc4, 0x9e, 0x1c, 0xa5, 0x69, 0x41, 0x65, 0xda, 0x79, 0xe1, 0x5f, 0xef,
+  0xd3, 0x4c, 0x12, 0xdd, 0xbd, 0xd7, 0x5f, 0xb4, 0xb8, 0x1f, 0x4b, 0x96,
+  0x99, 0x27, 0x44, 0x4b, 0xce, 0xf3, 0x2f, 0xed, 0x4d, 0xb0, 0x08, 0xb4,
+  0x5d, 0x8b, 0x7b, 0xdb, 0x75, 0x31, 0x4b, 0xf5, 0x2e, 0xb1, 0x0b, 0x25,
+  0xe1, 0x5e, 0x07, 0x01, 0x64, 0xf9, 0x89, 0xf9, 0xfc, 0x2c, 0x47, 0x6e,
+  0xea, 0x7c, 0x8f, 0x49, 0xea, 0x2d, 0xf5, 0xaa, 0xb0, 0xc6, 0x41, 0x16,
+  0x5d, 0x3b, 0x65, 0xb2, 0xf6, 0xe9, 0x57, 0x42, 0x1b, 0x2a, 0x2f, 0x8d,
+  0xb1, 0xda, 0xf6, 0xc6, 0xcb, 0x2d, 0x57, 0x59, 0x1d, 0x63, 0x54, 0x96,
+  0xcb, 0xf8, 0x5b, 0x5f, 0x60, 0xca, 0x38, 0x05, 0x31, 0x32, 0x05, 0xa2,
+  0xa6, 0x67, 0x2c, 0x9a, 0xa1, 0x7d, 0x6c, 0xa7, 0xc6, 0x74, 0xaf, 0x5d,
+  0xf5, 0x29, 0x3a, 0x7d, 0xe3, 0x3c, 0xb8, 0x6b, 0x17, 0x18, 0xcf, 0x50,
+  0x1b, 0x78, 0x64, 0x3f, 0x55, 0x19, 0xad, 0xe3, 0x5b, 0x0e, 0x66, 0xc9,
+  0x4b, 0xa6, 0x8c, 0xf3, 0x9c, 0x51, 0xb7, 0x68, 0xfb, 0xbd, 0x67, 0x98,
+  0x1c, 0x8e, 0x6f, 0x40, 0xaa, 0x8d, 0x2a, 0xca, 0x09, 0xcd, 0x34, 0xc6,
+  0xd5, 0x3c, 0xfb, 0x97, 0x2f, 0x56, 0x3c, 0x2b, 0x42, 0xb3, 0x34, 0xa2,
+  0xde, 0x79, 0xef, 0xa5, 0x7f, 0xcd, 0xd5, 0x1c, 0xd0, 0x32, 0x05, 0xb8,
+  0x6a, 0x78, 0xd3, 0xa2, 0x75, 0x2c, 0x8f, 0xfe, 0x77, 0x75, 0x0c, 0x16,
+  0x88, 0x27, 0x58, 0xfe, 0xbb, 0x3b, 0xdf, 0xcf, 0xdd, 0x5a, 0x07, 0xf6,
+  0x0a, 0x16, 0x09, 0xc5, 0x09, 0x46, 0xb5, 0x76, 0x11, 0x36, 0x47, 0x88,
+  0x76, 0xc7, 0x19, 0x81, 0xcf, 0x1c, 0xf4, 0x88, 0x65, 0x66, 0x39, 0x07,
+  0x1b, 0x81, 0x82, 0x46, 0x30, 0x76, 0xa1, 0x27, 0x91, 0xe7, 0x8b, 0x07,
+  0xca, 0xf1, 0xa1, 0x6e, 0x35, 0xae, 0x41, 0x79, 0xb3, 0x64, 0x93, 0xdb,
+  0xac, 0xc8, 0x3a, 0xd8, 0x9c, 0xd7, 0x76, 0x2c, 0xf7, 0xa2, 0xb9, 0x91,
+  0xda, 0x78, 0x0c, 0xb3, 0x65, 0x9b, 0xdc, 0xf4, 0x0f, 0xa0, 0x7a, 0xe9,
+  0xfb, 0x22, 0xc7, 0xbf, 0x2a, 0x44, 0xc8, 0x7a, 0xdc, 0x92, 0x9a, 0x29,
+  0x49, 0xe4, 0xce, 0x67, 0x44, 0xb5, 0xc1, 0x14, 0x27, 0x38, 0xa5, 0x9b,
+  0x64, 0x74, 0xab, 0x57, 0x46, 0x06, 0xb1, 0xa9, 0xe7, 0xce, 0x5b, 0x7b,
+  0x66, 0x6b, 0xc9, 0xa0, 0xb9, 0x3a, 0x69, 0x5a, 0x01, 0xf6, 0x51, 0xa6,
+  0x9a, 0xab, 0xeb, 0xc1, 0xe5, 0x01, 0xce, 0x99, 0xe3, 0x86, 0x70, 0x21,
+  0x8e, 0x07, 0xc9, 0xdf, 0xa4, 0xce, 0xac, 0xb4, 0x4f, 0xbf, 0x68, 0x79,
+  0x7a, 0x20, 0x8e, 0xbd, 0x53, 0x42, 0x6a, 0x86, 0x73, 0x70, 0x5f, 0x62,
+  0xa2, 0x59, 0x66, 0xea, 0xdf, 0x67, 0xff, 0x17, 0xce, 0x8c, 0xb8, 0x21,
+  0xc6, 0x96, 0xed, 0xc3, 0x9f, 0x5b, 0x9b, 0xe6, 0x66, 0x99, 0xdd, 0x1a,
+  0x7d, 0x51, 0x70, 0xf4, 0xf4, 0x80, 0xed, 0x0b, 0xaf, 0xf4, 0x6a, 0x38,
+  0x7e, 0x50, 0x93, 0xf7, 0xd4, 0x15, 0x0f, 0x85, 0xb8, 0x1d, 0x25, 0xe6,
+  0x09, 0xfc, 0x75, 0xe9, 0xec, 0xc1, 0xab, 0x2d, 0x23, 0x7e, 0x05, 0x92,
+  0xe7, 0x36, 0x79, 0xb4, 0x54, 0xa7, 0x39, 0x16, 0x8b, 0x34, 0x43, 0x17,
+  0x84, 0x7d, 0xc4, 0x0e, 0xb0, 0x5d, 0x13, 0x02, 0x4d, 0x75, 0xa3, 0xac,
+  0xe2, 0x6a, 0xe9, 0x88, 0x98, 0x57, 0x4c, 0x3b, 0x03, 0x8c, 0x3a, 0xce,
+  0x85, 0x5e, 0xd3, 0x4c, 0xbd, 0x6d, 0x0d, 0x17, 0x9a, 0xbe, 0xf4, 0xc3,
+  0x0f, 0x2c, 0x47, 0x72, 0x05, 0x46, 0x92, 0xd0, 0x95, 0x69, 0xfe, 0x04,
+  0x4c, 0x97, 0x55, 0x0f, 0xbc, 0xc2, 0x14, 0xef, 0x29, 0x12, 0xec, 0x4f,
+  0xa9, 0xd8, 0x37, 0x74, 0x79, 0x42, 0xd1, 0xf3, 0x3c, 0x93, 0x98, 0x2d,
+  0x26, 0x6f, 0x92, 0xeb, 0x93, 0xc1, 0xa6, 0xd9, 0x15, 0x06, 0x33, 0x38,
+  0xfa, 0x70, 0xfd, 0xee, 0xe2, 0x6a, 0x10, 0x6d, 0x62, 0x6d, 0xfb, 0xf5,
+  0xd5, 0xe9, 0xd7, 0x1f, 0xae, 0xe1, 0x9f, 0x3a, 0xd2, 0x9b, 0x38, 0x4b,
+  0x41, 0x3a, 0x0d, 0xaa, 0x24, 0x03, 0x5a, 0x99, 0x6a, 0x8f, 0x26, 0xca,
+  0x41, 0x41, 0x79, 0x9c, 0x17, 0x0a, 0x69, 0x82, 0xe9, 0x28, 0xf9, 0xcc,
+  0x26, 0x13, 0xb0, 0x07, 0x1b, 0x73, 0xfc, 0x72, 0x6b, 0x39, 0xa7, 0x8d,
+  0xa2, 0x7c, 0x4d, 0xdb, 0x89, 0xae, 0xdf, 0x1d, 0x9d, 0x7f, 0x3b, 0xd0,
+  0x0e, 0x1e, 0xdf, 0x7f, 0xff, 0x7d, 0x33, 0xb8, 0x4b, 0x3a, 0xec, 0x4d,
+  0xfc, 0xf0, 0xd0, 0x2f, 0x93, 0xcf, 0x3e, 0x1b, 0x9c, 0x9c, 0x44, 0x47,
+  0x67, 0x83, 0x8b, 0xcf, 0x2c, 0x8e, 0xc3, 0xfa, 0xf6, 0x06, 0x28, 0x69,
+  0xd3, 0xa4, 0x82, 0xbf, 0x7c, 0xf6, 0xd9, 0xff, 0x07, 0x20, 0xad, 0x4e,
+  0xbd, 0x33, 0x97, 0x02, 0x00,
 };
 #define BUF_SIZE 0x10000
 static voidpf zalloc_func(voidpf opaque, unsigned int items, unsigned int size)
diff --git a/src/tool_main.c b/src/tool_main.c
index 7d1e62b..4803adb 100644
--- a/src/tool_main.c
+++ b/src/tool_main.c
@@ -113,9 +113,9 @@
     strcpy(fname, env);
     curl_free(env);
     curl_dbg_memdebug(fname);
-    /* this weird stuff here is to make curl_free() get called
-       before curl_memdebug() as otherwise memory tracking will
-       log a free() without an alloc! */
+    /* this weird stuff here is to make curl_free() get called before
+       curl_gdb_memdebug() as otherwise memory tracking will log a free()
+       without an alloc! */
   }
   /* if CURL_MEMLIMIT is set, this enables fail-on-alloc-number-N feature */
   env = curlx_getenv("CURL_MEMLIMIT");
@@ -149,6 +149,7 @@
   config->showerror = -1;             /* Will show errors */
   config->errors = stderr;            /* Default errors to stderr */
   config->styled_output = TRUE;       /* enable detection */
+  config->parallel_max = PARALLEL_DEFAULT;
 
   /* Allocate the initial operate config */
   config->first = config->last = malloc(sizeof(struct OperationConfig));
@@ -160,19 +161,9 @@
       result = get_libcurl_info();
 
       if(!result) {
-        /* Get a curl handle to use for all forthcoming curl transfers */
-        config->easy = curl_easy_init();
-        if(config->easy) {
-          /* Initialise the config */
-          config_init(config->first);
-          config->first->easy = config->easy;
-          config->first->global = config;
-        }
-        else {
-          helpf(stderr, "error initializing curl easy handle\n");
-          result = CURLE_FAILED_INIT;
-          free(config->first);
-        }
+        /* Initialise the config */
+        config_init(config->first);
+        config->first->global = config;
       }
       else {
         helpf(stderr, "error retrieving curl library information\n");
@@ -214,9 +205,6 @@
 static void main_free(struct GlobalConfig *config)
 {
   /* Cleanup the easy handle */
-  curl_easy_cleanup(config->easy);
-  config->easy = NULL;
-
   /* Main cleanup */
   curl_global_cleanup();
   convert_cleanup();
diff --git a/src/tool_main.h b/src/tool_main.h
index 8688188..a68287e 100644
--- a/src/tool_main.h
+++ b/src/tool_main.h
@@ -7,7 +7,7 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2012, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
@@ -28,6 +28,9 @@
 #define RETRY_SLEEP_DEFAULT 1000L   /* ms */
 #define RETRY_SLEEP_MAX     600000L /* ms == 10 minutes */
 
+#define MAX_PARALLEL 300 /* conservative */
+#define PARALLEL_DEFAULT 50
+
 #ifndef STDIN_FILENO
 #  define STDIN_FILENO  fileno(stdin)
 #endif
diff --git a/src/tool_metalink.c b/src/tool_metalink.c
index 28aa717..0740407 100644
--- a/src/tool_metalink.c
+++ b/src/tool_metalink.c
@@ -5,7 +5,7 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
@@ -104,6 +104,7 @@
 #include "tool_paramhlp.h"
 #include "tool_cfgable.h"
 #include "tool_metalink.h"
+#include "tool_operate.h"
 #include "tool_msgs.h"
 
 #include "memdebug.h" /* keep this as LAST include */
@@ -674,8 +675,9 @@
   return rv;
 }
 
-static metalink_checksum *new_metalink_checksum_from_hex_digest
-(const metalink_digest_def *digest_def, const char *hex_digest)
+static metalink_checksum *
+checksum_from_hex_digest(const metalink_digest_def *digest_def,
+                         const char *hex_digest)
 {
   metalink_checksum *chksum;
   unsigned char *digest;
@@ -754,8 +756,8 @@
         if(curl_strequal(digest_alias->alias_name, (*p)->type) &&
            check_hex_digest((*p)->hash, digest_alias->digest_def)) {
           f->checksum =
-            new_metalink_checksum_from_hex_digest(digest_alias->digest_def,
-                                                  (*p)->hash);
+            checksum_from_hex_digest(digest_alias->digest_def,
+                                     (*p)->hash);
           break;
         }
       }
@@ -891,7 +893,8 @@
 size_t metalink_write_cb(void *buffer, size_t sz, size_t nmemb,
                          void *userdata)
 {
-  struct OutStruct *outs = userdata;
+  struct per_transfer *per = userdata;
+  struct OutStruct *outs = &per->outs;
   struct OperationConfig *config = outs->config;
   int rv;
 
diff --git a/src/tool_metalink.h b/src/tool_metalink.h
index 7ee2736..1e36703 100644
--- a/src/tool_metalink.h
+++ b/src/tool_metalink.h
@@ -7,7 +7,7 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2014, 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
@@ -22,6 +22,7 @@
  *
  ***************************************************************************/
 #include "tool_setup.h"
+#include "tool_sdecls.h"
 
 struct GlobalConfig;
 struct OperationConfig;
diff --git a/src/tool_operate.c b/src/tool_operate.c
index bf9a9b8..d2ad964 100644
--- a/src/tool_operate.c
+++ b/src/tool_operate.c
@@ -29,6 +29,10 @@
 #  include <locale.h>
 #endif
 
+#ifdef HAVE_SYS_SELECT_H
+#  include <sys/select.h>
+#endif
+
 #ifdef __VMS
 #  include <fabdef.h>
 #endif
@@ -75,6 +79,7 @@
 #include "tool_vms.h"
 #include "tool_help.h"
 #include "tool_hugehelp.h"
+#include "tool_progress.h"
 
 #include "memdebug.h" /* keep this as LAST include */
 
@@ -98,6 +103,11 @@
   "this situation and\nhow to fix it, please visit the web page mentioned " \
   "above.\n"
 
+static CURLcode create_transfers(struct GlobalConfig *global,
+                                 struct OperationConfig *config,
+                                 CURLSH *share,
+                                 bool capath_from_env);
+
 static bool is_fatal_error(CURLcode code)
 {
   switch(code) {
@@ -187,134 +197,473 @@
 
 #define BUFFER_SIZE (100*1024)
 
-static CURLcode operate_do(struct GlobalConfig *global,
-                           struct OperationConfig *config)
+struct per_transfer *transfers; /* first node */
+static struct per_transfer *transfersl; /* last node */
+
+static CURLcode add_transfer(struct per_transfer **per)
 {
-  char errorbuffer[CURL_ERROR_SIZE];
-  struct ProgressData progressbar;
-  struct getout *urlnode;
+  struct per_transfer *p;
+  p = calloc(sizeof(struct per_transfer), 1);
+  if(!p)
+    return CURLE_OUT_OF_MEMORY;
+  if(!transfers)
+    /* first entry */
+    transfersl = transfers = p;
+  else {
+    /* make the last node point to the new node */
+    transfersl->next = p;
+    /* make the new node point back to the formerly last node */
+    p->prev = transfersl;
+    /* move the last node pointer to the new entry */
+    transfersl = p;
+  }
+  *per = p;
+  all_xfers++; /* count total number of transfers added */
+  return CURLE_OK;
+}
 
-  struct HdrCbData hdrcbdata;
-  struct OutStruct heads;
+/* Remove the specified transfer from the list (and free it), return the next
+   in line */
+static struct per_transfer *del_transfer(struct per_transfer *per)
+{
+  struct per_transfer *n;
+  struct per_transfer *p;
+  DEBUGASSERT(transfers);
+  DEBUGASSERT(transfersl);
+  DEBUGASSERT(per);
 
-  metalinkfile *mlfile_last = NULL;
+  n = per->next;
+  p = per->prev;
 
-  CURL *curl = config->easy;
-  char *httpgetfields = NULL;
+  if(p)
+    p->next = n;
+  else
+    transfers = n;
 
+  if(n)
+    n->prev = p;
+  else
+    transfersl = p;
+
+  free(per);
+
+  return n;
+}
+
+static CURLcode pre_transfer(struct GlobalConfig *global,
+                             struct per_transfer *per)
+{
+  curl_off_t uploadfilesize = -1;
+  struct_stat fileinfo;
   CURLcode result = CURLE_OK;
-  unsigned long li;
-  bool capath_from_env;
 
-  /* Save the values of noprogress and isatty to restore them later on */
+  if(per->separator_err)
+    fprintf(global->errors, "%s\n", per->separator_err);
+  if(per->separator)
+    printf("%s\n", per->separator);
+
+  if(per->uploadfile && !stdin_upload(per->uploadfile)) {
+    /* VMS Note:
+     *
+     * Reading binary from files can be a problem...  Only FIXED, VAR
+     * etc WITHOUT implied CC will work Others need a \n appended to a
+     * line
+     *
+     * - Stat gives a size but this is UNRELIABLE in VMS As a f.e. a
+     * fixed file with implied CC needs to have a byte added for every
+     * record processed, this can by derived from Filesize & recordsize
+     * for VARiable record files the records need to be counted!  for
+     * every record add 1 for linefeed and subtract 2 for the record
+     * header for VARIABLE header files only the bare record data needs
+     * to be considered with one appended if implied CC
+     */
+#ifdef __VMS
+    /* Calculate the real upload size for VMS */
+    per->infd = -1;
+    if(stat(per->uploadfile, &fileinfo) == 0) {
+      fileinfo.st_size = VmsSpecialSize(uploadfile, &fileinfo);
+      switch(fileinfo.st_fab_rfm) {
+      case FAB$C_VAR:
+      case FAB$C_VFC:
+      case FAB$C_STMCR:
+        per->infd = open(per->uploadfile, O_RDONLY | O_BINARY);
+        break;
+      default:
+        per->infd = open(per->uploadfile, O_RDONLY | O_BINARY,
+                        "rfm=stmlf", "ctx=stm");
+      }
+    }
+    if(per->infd == -1)
+#else
+      per->infd = open(per->uploadfile, O_RDONLY | O_BINARY);
+    if((per->infd == -1) || fstat(per->infd, &fileinfo))
+#endif
+    {
+      helpf(global->errors, "Can't open '%s'!\n", per->uploadfile);
+      if(per->infd != -1) {
+        close(per->infd);
+        per->infd = STDIN_FILENO;
+      }
+      return CURLE_READ_ERROR;
+    }
+    per->infdopen = TRUE;
+
+    /* we ignore file size for char/block devices, sockets, etc. */
+    if(S_ISREG(fileinfo.st_mode))
+      uploadfilesize = fileinfo.st_size;
+
+    if(uploadfilesize != -1)
+      my_setopt(per->curl, CURLOPT_INFILESIZE_LARGE, uploadfilesize);
+    per->input.fd = per->infd;
+  }
+  show_error:
+  return result;
+}
+
+/*
+ * Call this after a transfer has completed.
+ */
+static CURLcode post_transfer(struct GlobalConfig *global,
+                              CURLSH *share,
+                              struct per_transfer *per,
+                              CURLcode result,
+                              bool *retryp)
+{
+  struct OutStruct *outs = &per->outs;
+  CURL *curl = per->curl;
+  struct OperationConfig *config = per->config;
+
+  *retryp = FALSE;
+
+  if(per->infdopen)
+    close(per->infd);
+
+#ifdef __VMS
+  if(is_vms_shell()) {
+    /* VMS DCL shell behavior */
+    if(!global->showerror)
+      vms_show = VMSSTS_HIDE;
+  }
+  else
+#endif
+    if(config->synthetic_error) {
+      ;
+    }
+    else if(result && global->showerror) {
+      fprintf(global->errors, "curl: (%d) %s\n", result,
+              (per->errorbuffer[0]) ? per->errorbuffer :
+              curl_easy_strerror(result));
+      if(result == CURLE_PEER_FAILED_VERIFICATION)
+        fputs(CURL_CA_CERT_ERRORMSG, global->errors);
+    }
+
+  /* Set file extended attributes */
+  if(!result && config->xattr && outs->fopened && outs->stream) {
+    int rc = fwrite_xattr(curl, fileno(outs->stream));
+    if(rc)
+      warnf(config->global, "Error setting extended attributes: %s\n",
+            strerror(errno));
+  }
+
+  if(!result && !outs->stream && !outs->bytes) {
+    /* we have received no data despite the transfer was successful
+       ==> force cration of an empty output file (if an output file
+       was specified) */
+    long cond_unmet = 0L;
+    /* do not create (or even overwrite) the file in case we get no
+       data because of unmet condition */
+    curl_easy_getinfo(curl, CURLINFO_CONDITION_UNMET, &cond_unmet);
+    if(!cond_unmet && !tool_create_output_file(outs))
+      result = CURLE_WRITE_ERROR;
+  }
+
+  if(!outs->s_isreg && outs->stream) {
+    /* Dump standard stream buffered data */
+    int rc = fflush(outs->stream);
+    if(!result && rc) {
+      /* something went wrong in the writing process */
+      result = CURLE_WRITE_ERROR;
+      fprintf(global->errors, "(%d) Failed writing body\n", result);
+    }
+  }
+
+#ifdef USE_METALINK
+  if(per->metalink && !per->metalink_next_res)
+    fprintf(global->errors, "Metalink: fetching (%s) from (%s) OK\n",
+            per->mlfile->filename, per->this_url);
+
+  if(!per->metalink && config->use_metalink && result == CURLE_OK) {
+    int rv = parse_metalink(config, outs, per->this_url);
+    if(!rv) {
+      fprintf(config->global->errors, "Metalink: parsing (%s) OK\n",
+              per->this_url);
+    }
+    else if(rv == -1)
+      fprintf(config->global->errors, "Metalink: parsing (%s) FAILED\n",
+              per->this_url);
+    result = create_transfers(global, config, share, FALSE);
+  }
+  else if(per->metalink && result == CURLE_OK && !per->metalink_next_res) {
+    int rv;
+    (void)fflush(outs->stream);
+    rv = metalink_check_hash(global, per->mlfile, outs->filename);
+    if(!rv)
+      per->metalink_next_res = 1;
+  }
+#else
+  (void)share;
+#endif /* USE_METALINK */
+
+#ifdef USE_METALINK
+  if(outs->metalink_parser)
+    metalink_parser_context_delete(outs->metalink_parser);
+#endif /* USE_METALINK */
+
+  if(outs->is_cd_filename && outs->stream && !global->mute &&
+     outs->filename)
+    printf("curl: Saved to filename '%s'\n", outs->filename);
+
+  /* if retry-max-time is non-zero, make sure we haven't exceeded the
+     time */
+  if(per->retry_numretries &&
+     (!config->retry_maxtime ||
+      (tvdiff(tvnow(), per->retrystart) <
+       config->retry_maxtime*1000L)) ) {
+    enum {
+      RETRY_NO,
+      RETRY_TIMEOUT,
+      RETRY_CONNREFUSED,
+      RETRY_HTTP,
+      RETRY_FTP,
+      RETRY_LAST /* not used */
+    } retry = RETRY_NO;
+    long response;
+    if((CURLE_OPERATION_TIMEDOUT == result) ||
+       (CURLE_COULDNT_RESOLVE_HOST == result) ||
+       (CURLE_COULDNT_RESOLVE_PROXY == result) ||
+       (CURLE_FTP_ACCEPT_TIMEOUT == result))
+      /* retry timeout always */
+      retry = RETRY_TIMEOUT;
+    else if(config->retry_connrefused &&
+            (CURLE_COULDNT_CONNECT == result)) {
+      long oserrno;
+      curl_easy_getinfo(curl, CURLINFO_OS_ERRNO, &oserrno);
+      if(ECONNREFUSED == oserrno)
+        retry = RETRY_CONNREFUSED;
+    }
+    else if((CURLE_OK == result) ||
+            (config->failonerror &&
+             (CURLE_HTTP_RETURNED_ERROR == result))) {
+      /* If it returned OK. _or_ failonerror was enabled and it
+         returned due to such an error, check for HTTP transient
+         errors to retry on. */
+      long protocol;
+      curl_easy_getinfo(curl, CURLINFO_PROTOCOL, &protocol);
+      if((protocol == CURLPROTO_HTTP) || (protocol == CURLPROTO_HTTPS)) {
+        /* This was HTTP(S) */
+        curl_easy_getinfo(curl, CURLINFO_RESPONSE_CODE, &response);
+
+        switch(response) {
+        case 500: /* Internal Server Error */
+        case 502: /* Bad Gateway */
+        case 503: /* Service Unavailable */
+        case 504: /* Gateway Timeout */
+          retry = RETRY_HTTP;
+          /*
+           * At this point, we have already written data to the output
+           * file (or terminal). If we write to a file, we must rewind
+           * or close/re-open the file so that the next attempt starts
+           * over from the beginning.
+           *
+           * TODO: similar action for the upload case. We might need
+           * to start over reading from a previous point if we have
+           * uploaded something when this was returned.
+           */
+          break;
+        }
+      }
+    } /* if CURLE_OK */
+    else if(result) {
+      long protocol;
+
+      curl_easy_getinfo(curl, CURLINFO_RESPONSE_CODE, &response);
+      curl_easy_getinfo(curl, CURLINFO_PROTOCOL, &protocol);
+
+      if((protocol == CURLPROTO_FTP || protocol == CURLPROTO_FTPS) &&
+         response / 100 == 4)
+        /*
+         * This is typically when the FTP server only allows a certain
+         * amount of users and we are not one of them.  All 4xx codes
+         * are transient.
+         */
+        retry = RETRY_FTP;
+    }
+
+    if(retry) {
+      long sleeptime = 0;
+      curl_off_t retry_after = 0;
+      static const char * const m[]={
+        NULL,
+        "timeout",
+        "connection refused",
+        "HTTP error",
+        "FTP error"
+      };
+
+      sleeptime = per->retry_sleep;
+      if(RETRY_HTTP == retry) {
+        curl_easy_getinfo(curl, CURLINFO_RETRY_AFTER, &retry_after);
+        if(retry_after) {
+          /* store in a 'long', make sure it doesn't overflow */
+          if(retry_after > LONG_MAX/1000)
+            sleeptime = LONG_MAX;
+          else
+            sleeptime = (long)retry_after * 1000; /* milliseconds */
+        }
+      }
+      warnf(config->global, "Transient problem: %s "
+            "Will retry in %ld seconds. "
+            "%ld retries left.\n",
+            m[retry], per->retry_sleep/1000L, per->retry_numretries);
+
+      per->retry_numretries--;
+      tool_go_sleep(sleeptime);
+      if(!config->retry_delay) {
+        per->retry_sleep *= 2;
+        if(per->retry_sleep > RETRY_SLEEP_MAX)
+          per->retry_sleep = RETRY_SLEEP_MAX;
+      }
+      if(outs->bytes && outs->filename && outs->stream) {
+        int rc;
+        /* We have written data to a output file, we truncate file
+         */
+        if(!global->mute)
+          fprintf(global->errors, "Throwing away %"
+                  CURL_FORMAT_CURL_OFF_T " bytes\n",
+                  outs->bytes);
+        fflush(outs->stream);
+        /* truncate file at the position where we started appending */
+#ifdef HAVE_FTRUNCATE
+        if(ftruncate(fileno(outs->stream), outs->init)) {
+          /* when truncate fails, we can't just append as then we'll
+             create something strange, bail out */
+          if(!global->mute)
+            fprintf(global->errors,
+                    "failed to truncate, exiting\n");
+          return CURLE_WRITE_ERROR;
+        }
+        /* now seek to the end of the file, the position where we
+           just truncated the file in a large file-safe way */
+        rc = fseek(outs->stream, 0, SEEK_END);
+#else
+        /* ftruncate is not available, so just reposition the file
+           to the location we would have truncated it. This won't
+           work properly with large files on 32-bit systems, but
+           most of those will have ftruncate. */
+        rc = fseek(outs->stream, (long)outs->init, SEEK_SET);
+#endif
+        if(rc) {
+          if(!global->mute)
+            fprintf(global->errors,
+                    "failed seeking to end of file, exiting\n");
+          return CURLE_WRITE_ERROR;
+        }
+        outs->bytes = 0; /* clear for next round */
+      }
+      *retryp = TRUE; /* curl_easy_perform loop */
+      return CURLE_OK;
+    }
+  } /* if retry_numretries */
+  else if(per->metalink) {
+    /* Metalink: Decide to try the next resource or not. Try the next resource
+       if download was not successful. */
+    long response;
+    if(CURLE_OK == result) {
+      /* TODO We want to try next resource when download was
+         not successful. How to know that? */
+      char *effective_url = NULL;
+      curl_easy_getinfo(curl, CURLINFO_EFFECTIVE_URL, &effective_url);
+      if(effective_url &&
+         curl_strnequal(effective_url, "http", 4)) {
+        /* This was HTTP(S) */
+        curl_easy_getinfo(curl, CURLINFO_RESPONSE_CODE, &response);
+        if(response != 200 && response != 206) {
+          per->metalink_next_res = 1;
+          fprintf(global->errors,
+                  "Metalink: fetching (%s) from (%s) FAILED "
+                  "(HTTP status code %ld)\n",
+                  per->mlfile->filename, per->this_url, response);
+        }
+      }
+    }
+    else {
+      per->metalink_next_res = 1;
+      fprintf(global->errors,
+              "Metalink: fetching (%s) from (%s) FAILED (%s)\n",
+              per->mlfile->filename, per->this_url,
+              curl_easy_strerror(result));
+    }
+  }
+
+  if((global->progressmode == CURL_PROGRESS_BAR) &&
+     per->progressbar.calls)
+    /* if the custom progress bar has been displayed, we output a
+       newline here */
+    fputs("\n", per->progressbar.out);
+
+  if(config->writeout)
+    ourWriteOut(per->curl, &per->outs, config->writeout);
+
+  /* Close the outs file */
+  if(outs->fopened && outs->stream) {
+    int rc = fclose(outs->stream);
+    if(!result && rc) {
+      /* something went wrong in the writing process */
+      result = CURLE_WRITE_ERROR;
+      fprintf(global->errors, "(%d) Failed writing body\n", result);
+    }
+  }
+
+  /* File time can only be set _after_ the file has been closed */
+  if(!result && config->remote_time && outs->s_isreg && outs->filename) {
+    /* Ask libcurl if we got a remote file time */
+    curl_off_t filetime = -1;
+    curl_easy_getinfo(curl, CURLINFO_FILETIME_T, &filetime);
+    setfiletime(filetime, outs->filename, config->global->errors);
+  }
+
+  /* Close function-local opened file descriptors */
+  if(per->heads.fopened && per->heads.stream)
+    fclose(per->heads.stream);
+
+  if(per->heads.alloc_filename)
+    Curl_safefree(per->heads.filename);
+
+  curl_easy_cleanup(per->curl);
+  if(outs->alloc_filename)
+    free(outs->filename);
+  free(per->this_url);
+  free(per->separator_err);
+  free(per->separator);
+  free(per->outfile);
+  free(per->uploadfile);
+
+  return CURLE_OK;
+}
+
+/* go through the list of URLs and configs and add transfers */
+
+static CURLcode create_transfers(struct GlobalConfig *global,
+                                 struct OperationConfig *config,
+                                 CURLSH *share,
+                                 bool capath_from_env)
+{
+  CURLcode result = CURLE_OK;
+  struct getout *urlnode;
+  metalinkfile *mlfile_last = NULL;
   bool orig_noprogress = global->noprogress;
   bool orig_isatty = global->isatty;
-
-  errorbuffer[0] = '\0';
-
-  /* default headers output stream is stdout */
-  memset(&hdrcbdata, 0, sizeof(struct HdrCbData));
-  memset(&heads, 0, sizeof(struct OutStruct));
-  heads.stream = stdout;
-  heads.config = config;
-
-  /*
-  ** Beyond this point no return'ing from this function allowed.
-  ** Jump to label 'quit_curl' in order to abandon this function
-  ** from outside of nested loops further down below.
-  */
-
-  /* Check we have a url */
-  if(!config->url_list || !config->url_list->url) {
-    helpf(global->errors, "no URL specified!\n");
-    result = CURLE_FAILED_INIT;
-    goto quit_curl;
-  }
-
-  /* On WIN32 we can't set the path to curl-ca-bundle.crt
-   * at compile time. So we look here for the file in two ways:
-   * 1: look at the environment variable CURL_CA_BUNDLE for a path
-   * 2: if #1 isn't found, use the windows API function SearchPath()
-   *    to find it along the app's path (includes app's dir and CWD)
-   *
-   * We support the environment variable thing for non-Windows platforms
-   * too. Just for the sake of it.
-   */
-  capath_from_env = false;
-  if(!config->cacert &&
-     !config->capath &&
-     !config->insecure_ok) {
-    struct curl_tlssessioninfo *tls_backend_info = NULL;
-
-    /* With the addition of CAINFO support for Schannel, this search could find
-     * a certificate bundle that was previously ignored. To maintain backward
-     * compatibility, only perform this search if not using Schannel.
-     */
-    result = curl_easy_getinfo(config->easy,
-                               CURLINFO_TLS_SSL_PTR,
-                               &tls_backend_info);
-    if(result) {
-      goto quit_curl;
-    }
-
-    /* Set the CA cert locations specified in the environment. For Windows if
-     * no environment-specified filename is found then check for CA bundle
-     * default filename curl-ca-bundle.crt in the user's PATH.
-     *
-     * If Schannel is the selected SSL backend then these locations are
-     * ignored. We allow setting CA location for schannel only when explicitly
-     * specified by the user via CURLOPT_CAINFO / --cacert.
-     */
-    if(tls_backend_info->backend != CURLSSLBACKEND_SCHANNEL) {
-      char *env;
-      env = curlx_getenv("CURL_CA_BUNDLE");
-      if(env) {
-        config->cacert = strdup(env);
-        if(!config->cacert) {
-          curl_free(env);
-          helpf(global->errors, "out of memory\n");
-          result = CURLE_OUT_OF_MEMORY;
-          goto quit_curl;
-        }
-      }
-      else {
-        env = curlx_getenv("SSL_CERT_DIR");
-        if(env) {
-          config->capath = strdup(env);
-          if(!config->capath) {
-            curl_free(env);
-            helpf(global->errors, "out of memory\n");
-            result = CURLE_OUT_OF_MEMORY;
-            goto quit_curl;
-          }
-          capath_from_env = true;
-        }
-        else {
-          env = curlx_getenv("SSL_CERT_FILE");
-          if(env) {
-            config->cacert = strdup(env);
-            if(!config->cacert) {
-              curl_free(env);
-              helpf(global->errors, "out of memory\n");
-              result = CURLE_OUT_OF_MEMORY;
-              goto quit_curl;
-            }
-          }
-        }
-      }
-
-      if(env)
-        curl_free(env);
-#ifdef WIN32
-      else {
-        result = FindWin32CACert(config, tls_backend_info->backend,
-                                 "curl-ca-bundle.crt");
-        if(result)
-          goto quit_curl;
-      }
-#endif
-    }
-  }
+  char *httpgetfields = NULL;
 
   if(config->postfields) {
     if(config->use_httpget) {
@@ -341,44 +690,14 @@
     }
   }
 
-  /* Single header file for all URLs */
-  if(config->headerfile) {
-    /* open file for output: */
-    if(strcmp(config->headerfile, "-")) {
-      FILE *newfile = fopen(config->headerfile, "wb");
-      if(!newfile) {
-        warnf(config->global, "Failed to open %s\n", config->headerfile);
-        result = CURLE_WRITE_ERROR;
-        goto quit_curl;
-      }
-      else {
-        heads.filename = config->headerfile;
-        heads.s_isreg = TRUE;
-        heads.fopened = TRUE;
-        heads.stream = newfile;
-      }
-    }
-    else {
-      /* always use binary mode for protocol header output */
-      set_binmode(heads.stream);
-    }
-  }
-
-  /*
-  ** Nested loops start here.
-  */
-
-  /* loop through the list of given URLs */
-
   for(urlnode = config->url_list; urlnode; urlnode = urlnode->next) {
-
+    unsigned long li;
     unsigned long up; /* upload file counter within a single upload glob */
     char *infiles; /* might be a glob pattern */
     char *outfiles;
     unsigned long infilenum;
     URLGlob *inglob;
-
-    int metalink = 0; /* nonzero for metalink download. */
+    bool metalink = FALSE; /* metalink download? */
     metalinkfile *mlfile;
     metalink_resource *mlres;
 
@@ -461,8 +780,6 @@
             result = CURLE_OUT_OF_MEMORY;
           }
         }
-        else
-          uploadfile = NULL;
         if(!uploadfile)
           break;
       }
@@ -490,65 +807,102 @@
 
       /* Here's looping around each globbed URL */
       for(li = 0 ; li < urlnum; li++) {
+        struct per_transfer *per;
+        struct OutStruct *outs;
+        struct InStruct *input;
+        struct OutStruct *heads;
+        struct HdrCbData *hdrcbdata = NULL;
+        CURL *curl = curl_easy_init();
 
-        int infd;
-        bool infdopen;
-        char *outfile;
-        struct OutStruct outs;
-        struct InStruct input;
-        struct timeval retrystart;
-        curl_off_t uploadfilesize;
-        long retry_numretries;
-        long retry_sleep_default;
-        long retry_sleep;
-        char *this_url = NULL;
-        int metalink_next_res = 0;
+        result = add_transfer(&per);
+        if(result || !curl) {
+          free(uploadfile);
+          curl_easy_cleanup(curl);
+          result = CURLE_OUT_OF_MEMORY;
+          goto show_error;
+        }
+        per->config = config;
+        per->curl = curl;
+        per->uploadfile = uploadfile;
 
-        outfile = NULL;
-        infdopen = FALSE;
-        infd = STDIN_FILENO;
-        uploadfilesize = -1; /* -1 means unknown */
+        /* default headers output stream is stdout */
+        heads = &per->heads;
+        heads->stream = stdout;
+        heads->config = config;
+
+        /* Single header file for all URLs */
+        if(config->headerfile) {
+          /* open file for output: */
+          if(strcmp(config->headerfile, "-")) {
+            FILE *newfile = fopen(config->headerfile, "wb");
+            if(!newfile) {
+              warnf(config->global, "Failed to open %s\n", config->headerfile);
+              result = CURLE_WRITE_ERROR;
+              goto quit_curl;
+            }
+            else {
+              heads->filename = config->headerfile;
+              heads->s_isreg = TRUE;
+              heads->fopened = TRUE;
+              heads->stream = newfile;
+            }
+          }
+          else {
+            /* always use binary mode for protocol header output */
+            set_binmode(heads->stream);
+          }
+        }
+
+
+        hdrcbdata = &per->hdrcbdata;
+
+        outs = &per->outs;
+        input = &per->input;
+
+        per->outfile = NULL;
+        per->infdopen = FALSE;
+        per->infd = STDIN_FILENO;
 
         /* default output stream is stdout */
-        memset(&outs, 0, sizeof(struct OutStruct));
-        outs.stream = stdout;
-        outs.config = config;
+        outs->stream = stdout;
+        outs->config = config;
 
         if(metalink) {
           /* For Metalink download, use name in Metalink file as
              filename. */
-          outfile = strdup(mlfile->filename);
-          if(!outfile) {
+          per->outfile = strdup(mlfile->filename);
+          if(!per->outfile) {
             result = CURLE_OUT_OF_MEMORY;
             goto show_error;
           }
-          this_url = strdup(mlres->url);
-          if(!this_url) {
+          per->this_url = strdup(mlres->url);
+          if(!per->this_url) {
             result = CURLE_OUT_OF_MEMORY;
             goto show_error;
           }
+          per->mlfile = mlfile;
         }
         else {
           if(urls) {
-            result = glob_next_url(&this_url, urls);
+            result = glob_next_url(&per->this_url, urls);
             if(result)
               goto show_error;
           }
           else if(!li) {
-            this_url = strdup(urlnode->url);
-            if(!this_url) {
+            per->this_url = strdup(urlnode->url);
+            if(!per->this_url) {
               result = CURLE_OUT_OF_MEMORY;
               goto show_error;
             }
           }
           else
-            this_url = NULL;
-          if(!this_url)
+            per->this_url = NULL;
+          if(!per->this_url)
             break;
 
           if(outfiles) {
-            outfile = strdup(outfiles);
-            if(!outfile) {
+            per->outfile = strdup(outfiles);
+            if(!per->outfile) {
               result = CURLE_OUT_OF_MEMORY;
               goto show_error;
             }
@@ -556,7 +910,7 @@
         }
 
         if(((urlnode->flags&GETOUT_USEREMOTE) ||
-            (outfile && strcmp("-", outfile))) &&
+            (per->outfile && strcmp("-", per->outfile))) &&
            (metalink || !config->use_metalink)) {
 
           /*
@@ -564,12 +918,12 @@
            * decided we want to use the remote file name.
            */
 
-          if(!outfile) {
+          if(!per->outfile) {
             /* extract the file name from the URL */
-            result = get_url_file_name(&outfile, this_url);
+            result = get_url_file_name(&per->outfile, per->this_url);
             if(result)
               goto show_error;
-            if(!*outfile && !config->content_disposition) {
+            if(!*per->outfile && !config->content_disposition) {
               helpf(global->errors, "Remote file name has no length!\n");
               result = CURLE_WRITE_ERROR;
               goto quit_urls;
@@ -577,8 +931,8 @@
           }
           else if(urls) {
             /* fill '#1' ... '#9' terms from URL pattern */
-            char *storefile = outfile;
-            result = glob_match_url(&outfile, storefile, urls);
+            char *storefile = per->outfile;
+            result = glob_match_url(&per->outfile, storefile, urls);
             Curl_safefree(storefile);
             if(result) {
               /* bad globbing */
@@ -591,7 +945,7 @@
              file output call */
 
           if(config->create_dirs || metalink) {
-            result = create_dir_hierarchy(outfile, global->errors);
+            result = create_dir_hierarchy(per->outfile, global->errors);
             /* create_dir_hierarchy shows error upon CURLE_WRITE_ERROR */
             if(result == CURLE_WRITE_ERROR)
               goto quit_urls;
@@ -603,7 +957,7 @@
           if((urlnode->flags & GETOUT_USEREMOTE)
              && config->content_disposition) {
             /* Our header callback MIGHT set the filename */
-            DEBUGASSERT(!outs.filename);
+            DEBUGASSERT(!outs->filename);
           }
 
           if(config->resume_from_current) {
@@ -611,7 +965,7 @@
                of the file as it is now and open it for append instead */
             struct_stat fileinfo;
             /* VMS -- Danger, the filesize is only valid for stream files */
-            if(0 == stat(outfile, &fileinfo))
+            if(0 == stat(per->outfile, &fileinfo))
               /* set offset to current file size: */
               config->resume_from = fileinfo.st_size;
             else
@@ -627,87 +981,36 @@
                                "ctx=stm", "rfm=stmlf", "rat=cr", "mrs=0");
 #else
             /* open file for output: */
-            FILE *file = fopen(outfile, config->resume_from?"ab":"wb");
+            FILE *file = fopen(per->outfile, config->resume_from?"ab":"wb");
 #endif
             if(!file) {
-              helpf(global->errors, "Can't open '%s'!\n", outfile);
+              helpf(global->errors, "Can't open '%s'!\n", per->outfile);
               result = CURLE_WRITE_ERROR;
               goto quit_urls;
             }
-            outs.fopened = TRUE;
-            outs.stream = file;
-            outs.init = config->resume_from;
+            outs->fopened = TRUE;
+            outs->stream = file;
+            outs->init = config->resume_from;
           }
           else {
-            outs.stream = NULL; /* open when needed */
+            outs->stream = NULL; /* open when needed */
           }
-          outs.filename = outfile;
-          outs.s_isreg = TRUE;
+          outs->filename = per->outfile;
+          outs->s_isreg = TRUE;
         }
 
-        if(uploadfile && !stdin_upload(uploadfile)) {
+        if(per->uploadfile && !stdin_upload(per->uploadfile)) {
           /*
            * We have specified a file to upload and it isn't "-".
            */
-          struct_stat fileinfo;
-
-          this_url = add_file_name_to_url(curl, this_url, uploadfile);
-          if(!this_url) {
+          char *nurl = add_file_name_to_url(per->this_url, per->uploadfile);
+          if(!nurl) {
             result = CURLE_OUT_OF_MEMORY;
             goto show_error;
           }
-          /* VMS Note:
-           *
-           * Reading binary from files can be a problem...  Only FIXED, VAR
-           * etc WITHOUT implied CC will work Others need a \n appended to a
-           * line
-           *
-           * - Stat gives a size but this is UNRELIABLE in VMS As a f.e. a
-           * fixed file with implied CC needs to have a byte added for every
-           * record processed, this can by derived from Filesize & recordsize
-           * for VARiable record files the records need to be counted!  for
-           * every record add 1 for linefeed and subtract 2 for the record
-           * header for VARIABLE header files only the bare record data needs
-           * to be considered with one appended if implied CC
-           */
-#ifdef __VMS
-          /* Calculate the real upload size for VMS */
-          infd = -1;
-          if(stat(uploadfile, &fileinfo) == 0) {
-            fileinfo.st_size = VmsSpecialSize(uploadfile, &fileinfo);
-            switch(fileinfo.st_fab_rfm) {
-            case FAB$C_VAR:
-            case FAB$C_VFC:
-            case FAB$C_STMCR:
-              infd = open(uploadfile, O_RDONLY | O_BINARY);
-              break;
-            default:
-              infd = open(uploadfile, O_RDONLY | O_BINARY,
-                          "rfm=stmlf", "ctx=stm");
-            }
-          }
-          if(infd == -1)
-#else
-          infd = open(uploadfile, O_RDONLY | O_BINARY);
-          if((infd == -1) || fstat(infd, &fileinfo))
-#endif
-          {
-            helpf(global->errors, "Can't open '%s'!\n", uploadfile);
-            if(infd != -1) {
-              close(infd);
-              infd = STDIN_FILENO;
-            }
-            result = CURLE_READ_ERROR;
-            goto quit_urls;
-          }
-          infdopen = TRUE;
-
-          /* we ignore file size for char/block devices, sockets, etc. */
-          if(S_ISREG(fileinfo.st_mode))
-            uploadfilesize = fileinfo.st_size;
-
+          per->this_url = nurl;
         }
-        else if(uploadfile && stdin_upload(uploadfile)) {
+        else if(per->uploadfile && stdin_upload(per->uploadfile)) {
           /* count to see if there are more than one auth bit set
              in the authtype field */
           int authbits = 0;
@@ -733,22 +1036,22 @@
                   " file or a fixed auth type instead!\n");
           }
 
-          DEBUGASSERT(infdopen == FALSE);
-          DEBUGASSERT(infd == STDIN_FILENO);
+          DEBUGASSERT(per->infdopen == FALSE);
+          DEBUGASSERT(per->infd == STDIN_FILENO);
 
           set_binmode(stdin);
-          if(!strcmp(uploadfile, ".")) {
-            if(curlx_nonblock((curl_socket_t)infd, TRUE) < 0)
+          if(!strcmp(per->uploadfile, ".")) {
+            if(curlx_nonblock((curl_socket_t)per->infd, TRUE) < 0)
               warnf(config->global,
-                    "fcntl failed on fd=%d: %s\n", infd, strerror(errno));
+                    "fcntl failed on fd=%d: %s\n", per->infd, strerror(errno));
           }
         }
 
-        if(uploadfile && config->resume_from_current)
+        if(per->uploadfile && config->resume_from_current)
           config->resume_from = -1; /* -1 will then force get-it-yourself */
 
-        if(output_expected(this_url, uploadfile) && outs.stream &&
-           isatty(fileno(outs.stream)))
+        if(output_expected(per->this_url, per->uploadfile) && outs->stream &&
+           isatty(fileno(outs->stream)))
           /* we send the output to a tty, therefore we switch off the progress
              meter */
           global->noprogress = global->isatty = TRUE;
@@ -760,20 +1063,22 @@
         }
 
         if(urlnum > 1 && !global->mute) {
-          fprintf(global->errors, "\n[%lu/%lu]: %s --> %s\n",
-                  li + 1, urlnum, this_url, outfile ? outfile : "<stdout>");
+          per->separator_err =
+            aprintf("\n[%lu/%lu]: %s --> %s",
+                    li + 1, urlnum, per->this_url,
+                    per->outfile ? per->outfile : "<stdout>");
           if(separator)
-            printf("%s%s\n", CURLseparator, this_url);
+            per->separator = aprintf("%s%s", CURLseparator, per->this_url);
         }
         if(httpgetfields) {
           char *urlbuffer;
           /* Find out whether the url contains a file name */
-          const char *pc = strstr(this_url, "://");
+          const char *pc = strstr(per->this_url, "://");
           char sep = '?';
           if(pc)
             pc += 3;
           else
-            pc = this_url;
+            pc = per->this_url;
 
           pc = strrchr(pc, '/'); /* check for a slash */
 
@@ -789,33 +1094,41 @@
            * Then append ? followed by the get fields to the url.
            */
           if(pc)
-            urlbuffer = aprintf("%s%c%s", this_url, sep, httpgetfields);
+            urlbuffer = aprintf("%s%c%s", per->this_url, sep, httpgetfields);
           else
             /* Append  / before the ? to create a well-formed url
                if the url contains a hostname only
             */
-            urlbuffer = aprintf("%s/?%s", this_url, httpgetfields);
+            urlbuffer = aprintf("%s/?%s", per->this_url, httpgetfields);
 
           if(!urlbuffer) {
             result = CURLE_OUT_OF_MEMORY;
             goto show_error;
           }
 
-          Curl_safefree(this_url); /* free previous URL */
-          this_url = urlbuffer; /* use our new URL instead! */
+          Curl_safefree(per->this_url); /* free previous URL */
+          per->this_url = urlbuffer; /* use our new URL instead! */
         }
 
         if(!global->errors)
           global->errors = stderr;
 
-        if((!outfile || !strcmp(outfile, "-")) && !config->use_ascii) {
+        if((!per->outfile || !strcmp(per->outfile, "-")) &&
+           !config->use_ascii) {
           /* We get the output to stdout and we have not got the ASCII/text
              flag, then set stdout to be binary */
           set_binmode(stdout);
         }
 
         /* explicitly passed to stdout means okaying binary gunk */
-        config->terminal_binary_ok = (outfile && !strcmp(outfile, "-"));
+        config->terminal_binary_ok =
+          (per->outfile && !strcmp(per->outfile, "-"));
+
+        /* avoid having this setopt added to the --libcurl source
+           output */
+        result = curl_easy_setopt(curl, CURLOPT_SHARE, share);
+        if(result)
+          goto show_error;
 
         if(!config->tcp_nodelay)
           my_setopt(curl, CURLOPT_TCP_NODELAY, 0L);
@@ -824,8 +1137,8 @@
           my_setopt(curl, CURLOPT_TCP_FASTOPEN, 1L);
 
         /* where to store */
-        my_setopt(curl, CURLOPT_WRITEDATA, &outs);
-        my_setopt(curl, CURLOPT_INTERLEAVEDATA, &outs);
+        my_setopt(curl, CURLOPT_WRITEDATA, per);
+        my_setopt(curl, CURLOPT_INTERLEAVEDATA, per);
 
         if(metalink || !config->use_metalink)
           /* what call to write */
@@ -838,8 +1151,7 @@
 #endif /* USE_METALINK */
 
         /* for uploads */
-        input.fd = infd;
-        input.config = config;
+        input->config = config;
         /* Note that if CURLOPT_READFUNCTION is fread (the default), then
          * lib/telnet.c will Curl_poll() on the input file descriptor
          * rather then calling the READFUNCTION at regular intervals.
@@ -847,13 +1159,13 @@
          * behaviour, by omitting to set the READFUNCTION & READDATA options,
          * have not been determined.
          */
-        my_setopt(curl, CURLOPT_READDATA, &input);
+        my_setopt(curl, CURLOPT_READDATA, input);
         /* what call to read */
         my_setopt(curl, CURLOPT_READFUNCTION, tool_read_cb);
 
         /* in 7.18.0, the CURLOPT_SEEKFUNCTION/DATA pair is taking over what
            CURLOPT_IOCTLFUNCTION/DATA pair previously provided for seeking */
-        my_setopt(curl, CURLOPT_SEEKDATA, &input);
+        my_setopt(curl, CURLOPT_SEEKDATA, input);
         my_setopt(curl, CURLOPT_SEEKFUNCTION, tool_seek_cb);
 
         if(config->recvpersecond &&
@@ -863,10 +1175,7 @@
         else
           my_setopt(curl, CURLOPT_BUFFERSIZE, (long)BUFFER_SIZE);
 
-        /* size of uploaded file: */
-        if(uploadfilesize != -1)
-          my_setopt(curl, CURLOPT_INFILESIZE_LARGE, uploadfilesize);
-        my_setopt_str(curl, CURLOPT_URL, this_url);     /* what to fetch */
+        my_setopt_str(curl, CURLOPT_URL, per->this_url);
         my_setopt(curl, CURLOPT_NOPROGRESS, global->noprogress?1L:0L);
         if(config->no_body)
           my_setopt(curl, CURLOPT_NOBODY, 1L);
@@ -915,7 +1224,7 @@
 
         my_setopt(curl, CURLOPT_FAILONERROR, config->failonerror?1L:0L);
         my_setopt(curl, CURLOPT_REQUEST_TARGET, config->request_target);
-        my_setopt(curl, CURLOPT_UPLOAD, uploadfile?1L:0L);
+        my_setopt(curl, CURLOPT_UPLOAD, per->uploadfile?1L:0L);
         my_setopt(curl, CURLOPT_DIRLISTONLY, config->dirlistonly?1L:0L);
         my_setopt(curl, CURLOPT_APPEND, config->ftp_append?1L:0L);
 
@@ -934,7 +1243,7 @@
           my_setopt_str(curl, CURLOPT_LOGIN_OPTIONS, config->login_options);
         my_setopt_str(curl, CURLOPT_USERPWD, config->userpwd);
         my_setopt_str(curl, CURLOPT_RANGE, config->range);
-        my_setopt(curl, CURLOPT_ERRORBUFFER, errorbuffer);
+        my_setopt(curl, CURLOPT_ERRORBUFFER, per->errorbuffer);
         my_setopt(curl, CURLOPT_TIMEOUT_MS, (long)(config->timeout * 1000));
 
         switch(config->httpreq) {
@@ -1182,7 +1491,7 @@
             result = CURLE_OUT_OF_MEMORY;
             home = homedir();
             if(home) {
-              file = aprintf("%s/%sssh/known_hosts", home, DOT_CHAR);
+              file = aprintf("%s/.ssh/known_hosts", home);
               if(file) {
                 /* new in curl 7.19.6 */
                 result = res_setopt_str(curl, CURLOPT_SSH_KNOWNHOSTS, file);
@@ -1230,14 +1539,14 @@
         /* three new ones in libcurl 7.3: */
         my_setopt_str(curl, CURLOPT_INTERFACE, config->iface);
         my_setopt_str(curl, CURLOPT_KRBLEVEL, config->krblevel);
+        progressbarinit(&per->progressbar, config);
 
-        progressbarinit(&progressbar, config);
         if((global->progressmode == CURL_PROGRESS_BAR) &&
            !global->noprogress && !global->mute) {
           /* we want the alternative style, then we have to implement it
              ourselves! */
           my_setopt(curl, CURLOPT_XFERINFOFUNCTION, tool_progress_cb);
-          my_setopt(curl, CURLOPT_XFERINFODATA, &progressbar);
+          my_setopt(curl, CURLOPT_XFERINFODATA, &per->progressbar);
         }
 
         /* new in libcurl 7.24.0: */
@@ -1420,17 +1729,17 @@
 
         if(config->content_disposition
            && (urlnode->flags & GETOUT_USEREMOTE))
-          hdrcbdata.honor_cd_filename = TRUE;
+          hdrcbdata->honor_cd_filename = TRUE;
         else
-          hdrcbdata.honor_cd_filename = FALSE;
+          hdrcbdata->honor_cd_filename = FALSE;
 
-        hdrcbdata.outs = &outs;
-        hdrcbdata.heads = &heads;
-        hdrcbdata.global = global;
-        hdrcbdata.config = config;
+        hdrcbdata->outs = outs;
+        hdrcbdata->heads = heads;
+        hdrcbdata->global = global;
+        hdrcbdata->config = config;
 
         my_setopt(curl, CURLOPT_HEADERFUNCTION, tool_header_cb);
-        my_setopt(curl, CURLOPT_HEADERDATA, &hdrcbdata);
+        my_setopt(curl, CURLOPT_HEADERDATA, per);
 
         if(config->resolve)
           /* new in 7.21.3 */
@@ -1482,6 +1791,10 @@
         if(config->mail_auth)
           my_setopt_str(curl, CURLOPT_MAIL_AUTH, config->mail_auth);
 
+        /* new in 7.66.0 */
+        if(config->sasl_authzid)
+          my_setopt_str(curl, CURLOPT_SASL_AUTHZID, config->sasl_authzid);
+
         /* new in 7.31.0 */
         if(config->sasl_ir)
           my_setopt(curl, CURLOPT_SASL_IR, 1L);
@@ -1505,6 +1818,7 @@
                           config->unix_socket_path);
           }
         }
+
         /* new in 7.45.0 */
         if(config->proto_default)
           my_setopt_str(curl, CURLOPT_DEFAULT_PROTOCOL, config->proto_default);
@@ -1536,397 +1850,34 @@
           my_setopt_str(curl, CURLOPT_ALTSVC, config->altsvc);
 #endif
 
-        /* initialize retry vars for loop below */
-        retry_sleep_default = (config->retry_delay) ?
-          config->retry_delay*1000L : RETRY_SLEEP_DEFAULT; /* ms */
-
-        retry_numretries = config->req_retry;
-        retry_sleep = retry_sleep_default; /* ms */
-        retrystart = tvnow();
-
-#ifndef CURL_DISABLE_LIBCURL_OPTION
-        if(global->libcurl) {
-          result = easysrc_perform();
-          if(result)
+#ifdef USE_METALINK
+        if(!metalink && config->use_metalink) {
+          outs->metalink_parser = metalink_parser_context_new();
+          if(outs->metalink_parser == NULL) {
+            result = CURLE_OUT_OF_MEMORY;
             goto show_error;
-        }
-#endif
-
-        for(;;) {
-#ifdef USE_METALINK
-          if(!metalink && config->use_metalink) {
-            /* If outs.metalink_parser is non-NULL, delete it first. */
-            if(outs.metalink_parser)
-              metalink_parser_context_delete(outs.metalink_parser);
-            outs.metalink_parser = metalink_parser_context_new();
-            if(outs.metalink_parser == NULL) {
-              result = CURLE_OUT_OF_MEMORY;
-              goto show_error;
-            }
-            fprintf(config->global->errors,
-                    "Metalink: parsing (%s) metalink/XML...\n", this_url);
           }
-          else if(metalink)
-            fprintf(config->global->errors,
-                    "Metalink: fetching (%s) from (%s)...\n",
-                    mlfile->filename, this_url);
+          fprintf(config->global->errors,
+                  "Metalink: parsing (%s) metalink/XML...\n", per->this_url);
+        }
+        else if(metalink)
+          fprintf(config->global->errors,
+                  "Metalink: fetching (%s) from (%s)...\n",
+                  mlfile->filename, per->this_url);
 #endif /* USE_METALINK */
 
-#ifdef CURLDEBUG
-          if(config->test_event_based)
-            result = curl_easy_perform_ev(curl);
-          else
-#endif
-          result = curl_easy_perform(curl);
-
-          if(!result && !outs.stream && !outs.bytes) {
-            /* we have received no data despite the transfer was successful
-               ==> force cration of an empty output file (if an output file
-               was specified) */
-            long cond_unmet = 0L;
-            /* do not create (or even overwrite) the file in case we get no
-               data because of unmet condition */
-            curl_easy_getinfo(curl, CURLINFO_CONDITION_UNMET, &cond_unmet);
-            if(!cond_unmet && !tool_create_output_file(&outs))
-              result = CURLE_WRITE_ERROR;
-          }
-
-          if(outs.is_cd_filename && outs.stream && !global->mute &&
-             outs.filename)
-            printf("curl: Saved to filename '%s'\n", outs.filename);
-
-          /* if retry-max-time is non-zero, make sure we haven't exceeded the
-             time */
-          if(retry_numretries &&
-             (!config->retry_maxtime ||
-              (tvdiff(tvnow(), retrystart) <
-               config->retry_maxtime*1000L)) ) {
-            enum {
-              RETRY_NO,
-              RETRY_TIMEOUT,
-              RETRY_CONNREFUSED,
-              RETRY_HTTP,
-              RETRY_FTP,
-              RETRY_LAST /* not used */
-            } retry = RETRY_NO;
-            long response;
-            if((CURLE_OPERATION_TIMEDOUT == result) ||
-               (CURLE_COULDNT_RESOLVE_HOST == result) ||
-               (CURLE_COULDNT_RESOLVE_PROXY == result) ||
-               (CURLE_FTP_ACCEPT_TIMEOUT == result))
-              /* retry timeout always */
-              retry = RETRY_TIMEOUT;
-            else if(config->retry_connrefused &&
-                    (CURLE_COULDNT_CONNECT == result)) {
-              long oserrno;
-              curl_easy_getinfo(curl, CURLINFO_OS_ERRNO, &oserrno);
-              if(ECONNREFUSED == oserrno)
-                retry = RETRY_CONNREFUSED;
-            }
-            else if((CURLE_OK == result) ||
-                    (config->failonerror &&
-                     (CURLE_HTTP_RETURNED_ERROR == result))) {
-              /* If it returned OK. _or_ failonerror was enabled and it
-                 returned due to such an error, check for HTTP transient
-                 errors to retry on. */
-              char *effective_url = NULL;
-              curl_easy_getinfo(curl, CURLINFO_EFFECTIVE_URL, &effective_url);
-              if(effective_url &&
-                 checkprefix("http", effective_url)) {
-                /* This was HTTP(S) */
-                curl_easy_getinfo(curl, CURLINFO_RESPONSE_CODE, &response);
-
-                switch(response) {
-                case 408: /* Request Timeout */
-                case 500: /* Internal Server Error */
-                case 502: /* Bad Gateway */
-                case 503: /* Service Unavailable */
-                case 504: /* Gateway Timeout */
-                  retry = RETRY_HTTP;
-                  /*
-                   * At this point, we have already written data to the output
-                   * file (or terminal). If we write to a file, we must rewind
-                   * or close/re-open the file so that the next attempt starts
-                   * over from the beginning.
-                   */
-                  break;
-                }
-              }
-            } /* if CURLE_OK */
-            else if(result) {
-              long protocol;
-
-              curl_easy_getinfo(curl, CURLINFO_RESPONSE_CODE, &response);
-              curl_easy_getinfo(curl, CURLINFO_PROTOCOL, &protocol);
-
-              if((protocol == CURLPROTO_FTP || protocol == CURLPROTO_FTPS) &&
-                 response / 100 == 4)
-                /*
-                 * This is typically when the FTP server only allows a certain
-                 * amount of users and we are not one of them.  All 4xx codes
-                 * are transient.
-                 */
-                retry = RETRY_FTP;
-            }
-
-            if(retry) {
-              static const char * const m[]={
-                NULL,
-                "timeout",
-                "connection refused",
-                "HTTP error",
-                "FTP error"
-              };
-
-              warnf(config->global, "Transient problem: %s "
-                    "Will retry in %ld seconds. "
-                    "%ld retries left.\n",
-                    m[retry], retry_sleep/1000L, retry_numretries);
-
-              tool_go_sleep(retry_sleep);
-              retry_numretries--;
-              if(!config->retry_delay) {
-                retry_sleep *= 2;
-                if(retry_sleep > RETRY_SLEEP_MAX)
-                  retry_sleep = RETRY_SLEEP_MAX;
-              }
-              if(outs.bytes && outs.filename && outs.stream) {
-                int rc;
-                /* We have written data to a output file, we truncate file
-                 */
-                if(!global->mute)
-                  fprintf(global->errors, "Throwing away %"
-                          CURL_FORMAT_CURL_OFF_T " bytes\n",
-                          outs.bytes);
-                fflush(outs.stream);
-                /* truncate file at the position where we started appending */
-#ifdef HAVE_FTRUNCATE
-                if(ftruncate(fileno(outs.stream), outs.init)) {
-                  /* when truncate fails, we can't just append as then we'll
-                     create something strange, bail out */
-                  if(!global->mute)
-                    fprintf(global->errors,
-                            "failed to truncate, exiting\n");
-                  result = CURLE_WRITE_ERROR;
-                  goto quit_urls;
-                }
-                /* now seek to the end of the file, the position where we
-                   just truncated the file in a large file-safe way */
-                rc = fseek(outs.stream, 0, SEEK_END);
-#else
-                /* ftruncate is not available, so just reposition the file
-                   to the location we would have truncated it. This won't
-                   work properly with large files on 32-bit systems, but
-                   most of those will have ftruncate. */
-                rc = fseek(outs.stream, (long)outs.init, SEEK_SET);
-#endif
-                if(rc) {
-                  if(!global->mute)
-                    fprintf(global->errors,
-                            "failed seeking to end of file, exiting\n");
-                  result = CURLE_WRITE_ERROR;
-                  goto quit_urls;
-                }
-                outs.bytes = 0; /* clear for next round */
-              }
-              continue; /* curl_easy_perform loop */
-            }
-          } /* if retry_numretries */
-          else if(metalink) {
-            /* Metalink: Decide to try the next resource or
-               not. Basically, we want to try the next resource if
-               download was not successful. */
-            long response;
-            if(CURLE_OK == result) {
-              char *effective_url = NULL;
-              curl_easy_getinfo(curl, CURLINFO_EFFECTIVE_URL, &effective_url);
-              if(effective_url &&
-                 curl_strnequal(effective_url, "http", 4)) {
-                /* This was HTTP(S) */
-                curl_easy_getinfo(curl, CURLINFO_RESPONSE_CODE, &response);
-                if(response != 200 && response != 206) {
-                  metalink_next_res = 1;
-                  fprintf(global->errors,
-                          "Metalink: fetching (%s) from (%s) FAILED "
-                          "(HTTP status code %ld)\n",
-                          mlfile->filename, this_url, response);
-                }
-              }
-            }
-            else {
-              metalink_next_res = 1;
-              fprintf(global->errors,
-                      "Metalink: fetching (%s) from (%s) FAILED (%s)\n",
-                      mlfile->filename, this_url,
-                      (errorbuffer[0]) ?
-                      errorbuffer : curl_easy_strerror(result));
-            }
-          }
-          if(metalink && !metalink_next_res)
-            fprintf(global->errors, "Metalink: fetching (%s) from (%s) OK\n",
-                    mlfile->filename, this_url);
-
-          /* In all ordinary cases, just break out of loop here */
-          break; /* curl_easy_perform loop */
-
-        }
-
-        if((global->progressmode == CURL_PROGRESS_BAR) &&
-           progressbar.calls)
-          /* if the custom progress bar has been displayed, we output a
-             newline here */
-          fputs("\n", progressbar.out);
-
-        if(config->writeout)
-          ourWriteOut(curl, &outs, config->writeout);
-
-        /*
-        ** Code within this loop may jump directly here to label 'show_error'
-        ** in order to display an error message for CURLcode stored in 'res'
-        ** variable and exit loop once that necessary writing and cleanup
-        ** in label 'quit_urls' has been done.
-        */
-
-        show_error:
-
-#ifdef __VMS
-        if(is_vms_shell()) {
-          /* VMS DCL shell behavior */
-          if(!global->showerror)
-            vms_show = VMSSTS_HIDE;
-        }
-        else
-#endif
-        if(config->synthetic_error) {
-          ;
-        }
-        else if(result && global->showerror) {
-          fprintf(global->errors, "curl: (%d) %s\n", result, (errorbuffer[0]) ?
-                  errorbuffer : curl_easy_strerror(result));
-          if(result == CURLE_PEER_FAILED_VERIFICATION)
-            fputs(CURL_CA_CERT_ERRORMSG, global->errors);
-        }
-
-        /* Fall through comment to 'quit_urls' label */
-
-        /*
-        ** Upon error condition and always that a message has already been
-        ** displayed, code within this loop may jump directly here to label
-        ** 'quit_urls' otherwise it should jump to 'show_error' label above.
-        **
-        ** When 'res' variable is _not_ CURLE_OK loop will exit once that
-        ** all code following 'quit_urls' has been executed. Otherwise it
-        ** will loop to the beginning from where it may exit if there are
-        ** no more urls left.
-        */
-
-        quit_urls:
-
-        /* Set file extended attributes */
-        if(!result && config->xattr && outs.fopened && outs.stream) {
-          int rc = fwrite_xattr(curl, fileno(outs.stream));
-          if(rc)
-            warnf(config->global, "Error setting extended attributes: %s\n",
-                  strerror(errno));
-        }
-
-        /* Close the file */
-        if(outs.fopened && outs.stream) {
-          int rc = fclose(outs.stream);
-          if(!result && rc) {
-            /* something went wrong in the writing process */
-            result = CURLE_WRITE_ERROR;
-            fprintf(global->errors, "(%d) Failed writing body\n", result);
-          }
-        }
-        else if(!outs.s_isreg && outs.stream) {
-          /* Dump standard stream buffered data */
-          int rc = fflush(outs.stream);
-          if(!result && rc) {
-            /* something went wrong in the writing process */
-            result = CURLE_WRITE_ERROR;
-            fprintf(global->errors, "(%d) Failed writing body\n", result);
-          }
-        }
-
-#ifdef __AMIGA__
-        if(!result && outs.s_isreg && outs.filename) {
-          /* Set the url (up to 80 chars) as comment for the file */
-          if(strlen(urlnode->url) > 78)
-            urlnode->url[79] = '\0';
-          SetComment(outs.filename, urlnode->url);
-        }
-#endif
-
-        /* File time can only be set _after_ the file has been closed */
-        if(!result && config->remote_time && outs.s_isreg && outs.filename) {
-          /* Ask libcurl if we got a remote file time */
-          curl_off_t filetime = -1;
-          curl_easy_getinfo(curl, CURLINFO_FILETIME_T, &filetime);
-          setfiletime(filetime, outs.filename, config->global->errors);
-        }
-
-#ifdef USE_METALINK
-        if(!metalink && config->use_metalink && result == CURLE_OK) {
-          int rv = parse_metalink(config, &outs, this_url);
-          if(rv == 0)
-            fprintf(config->global->errors, "Metalink: parsing (%s) OK\n",
-                    this_url);
-          else if(rv == -1)
-            fprintf(config->global->errors, "Metalink: parsing (%s) FAILED\n",
-                    this_url);
-        }
-        else if(metalink && result == CURLE_OK && !metalink_next_res) {
-          int rv = metalink_check_hash(global, mlfile, outs.filename);
-          if(rv == 0) {
-            metalink_next_res = 1;
-          }
-        }
-#endif /* USE_METALINK */
-
-        /* No more business with this output struct */
-        if(outs.alloc_filename)
-          Curl_safefree(outs.filename);
-#ifdef USE_METALINK
-        if(outs.metalink_parser)
-          metalink_parser_context_delete(outs.metalink_parser);
-#endif /* USE_METALINK */
-        memset(&outs, 0, sizeof(struct OutStruct));
-        hdrcbdata.outs = NULL;
-
-        /* Free loop-local allocated memory and close loop-local opened fd */
-
-        Curl_safefree(outfile);
-        Curl_safefree(this_url);
-
-        if(infdopen)
-          close(infd);
-
-        if(metalink) {
-          /* Should exit if error is fatal. */
-          if(is_fatal_error(result)) {
-            break;
-          }
-          if(!metalink_next_res)
-            break;
-          mlres = mlres->next;
-          if(mlres == NULL)
-            break;
-        }
-        else if(urlnum > 1) {
-          /* when url globbing, exit loop upon critical error */
-          if(is_fatal_error(result))
-            break;
-        }
-        else if(result)
-          /* when not url globbing, exit loop upon any error */
-          break;
+        per->metalink = metalink;
+        /* initialize retry vars for loop below */
+        per->retry_sleep_default = (config->retry_delay) ?
+          config->retry_delay*1000L : RETRY_SLEEP_DEFAULT; /* ms */
+        per->retry_numretries = config->req_retry;
+        per->retry_sleep = per->retry_sleep_default; /* ms */
+        per->retrystart = tvnow();
 
       } /* loop to the next URL */
 
-      /* Free loop-local allocated memory */
-
-      Curl_safefree(uploadfile);
+      show_error:
+      quit_urls:
 
       if(urls) {
         /* Free list of remaining URLs */
@@ -1962,41 +1913,312 @@
     Curl_safefree(urlnode->infile);
     urlnode->flags = 0;
 
-    /*
-    ** Bail out upon critical errors or --fail-early
-    */
-    if(is_fatal_error(result) || (result && global->fail_early))
-      goto quit_curl;
-
   } /* for-loop through all URLs */
-
-  /*
-  ** Nested loops end here.
-  */
-
   quit_curl:
 
+  /* Free function-local referenced allocated memory */
+  Curl_safefree(httpgetfields);
+
+  return result;
+}
+
+static long all_added; /* number of easy handles currently added */
+
+/*
+ * add_parallel_transfers() sets 'morep' to TRUE if there are more transfers
+ * to add even after this call returns. sets 'addedp' to TRUE if one or more
+ * transfers were added.
+ */
+static int add_parallel_transfers(struct GlobalConfig *global,
+                                  CURLM *multi,
+                                  bool *morep,
+                                  bool *addedp)
+{
+  struct per_transfer *per;
+  CURLcode result;
+  CURLMcode mcode;
+  *addedp = FALSE;
+  *morep = FALSE;
+  for(per = transfers; per && (all_added < global->parallel_max);
+      per = per->next) {
+    if(per->added)
+      /* already added */
+      continue;
+
+    result = pre_transfer(global, per);
+    if(result)
+      break;
+
+    (void)curl_easy_setopt(per->curl, CURLOPT_PRIVATE, per);
+    (void)curl_easy_setopt(per->curl, CURLOPT_XFERINFOFUNCTION, xferinfo_cb);
+    (void)curl_easy_setopt(per->curl, CURLOPT_XFERINFODATA, per);
+
+    mcode = curl_multi_add_handle(multi, per->curl);
+    if(mcode)
+      return CURLE_OUT_OF_MEMORY;
+    per->added = TRUE;
+    all_added++;
+    *addedp = TRUE;
+  }
+  *morep = per ? TRUE : FALSE;
+  return CURLE_OK;
+}
+
+static CURLcode parallel_transfers(struct GlobalConfig *global,
+                                   CURLSH *share)
+{
+  CURLM *multi;
+  bool done = FALSE;
+  CURLMcode mcode = CURLM_OK;
+  CURLcode result = CURLE_OK;
+  int still_running = 1;
+  struct timeval start = tvnow();
+  bool more_transfers;
+  bool added_transfers;
+
+  multi = curl_multi_init();
+  if(!multi)
+    return CURLE_OUT_OF_MEMORY;
+
+  result = add_parallel_transfers(global, multi,
+                                  &more_transfers, &added_transfers);
+  if(result)
+    return result;
+
+  while(!done && !mcode && (still_running || more_transfers)) {
+    mcode = curl_multi_poll(multi, NULL, 0, 1000, NULL);
+    if(!mcode)
+      mcode = curl_multi_perform(multi, &still_running);
+
+    progress_meter(global, &start, FALSE);
+
+    if(!mcode) {
+      int rc;
+      CURLMsg *msg;
+      bool removed = FALSE;
+      do {
+        msg = curl_multi_info_read(multi, &rc);
+        if(msg) {
+          bool retry;
+          struct per_transfer *ended;
+          CURL *easy = msg->easy_handle;
+          result = msg->data.result;
+          curl_easy_getinfo(easy, CURLINFO_PRIVATE, (void *)&ended);
+          curl_multi_remove_handle(multi, easy);
+
+          result = post_transfer(global, share, ended, result, &retry);
+          if(retry)
+            continue;
+          progress_finalize(ended); /* before it goes away */
+          all_added--; /* one fewer added */
+          removed = TRUE;
+          (void)del_transfer(ended);
+        }
+      } while(msg);
+      if(removed) {
+        /* one or more transfers completed, add more! */
+        (void)add_parallel_transfers(global, multi, &more_transfers,
+                                     &added_transfers);
+        if(added_transfers)
+          /* we added new ones, make sure the loop doesn't exit yet */
+          still_running = 1;
+      }
+    }
+  }
+
+  (void)progress_meter(global, &start, TRUE);
+
+  /* Make sure to return some kind of error if there was a multi problem */
+  if(mcode) {
+    result = (mcode == CURLM_OUT_OF_MEMORY) ? CURLE_OUT_OF_MEMORY :
+      /* The other multi errors should never happen, so return
+         something suitably generic */
+      CURLE_BAD_FUNCTION_ARGUMENT;
+  }
+
+  curl_multi_cleanup(multi);
+
+  return result;
+}
+
+static CURLcode serial_transfers(struct GlobalConfig *global,
+                                 CURLSH *share)
+{
+  CURLcode returncode = CURLE_OK;
+  CURLcode result = CURLE_OK;
+  struct per_transfer *per;
+  for(per = transfers; per;) {
+    bool retry;
+    result = pre_transfer(global, per);
+    if(result)
+      break;
+
+#ifndef CURL_DISABLE_LIBCURL_OPTION
+    if(global->libcurl) {
+      result = easysrc_perform();
+      if(result)
+        break;
+    }
+#endif
+#ifdef CURLDEBUG
+    if(global->test_event_based)
+      result = curl_easy_perform_ev(per->curl);
+    else
+#endif
+      result = curl_easy_perform(per->curl);
+
+    /* store the result of the actual transfer */
+    returncode = result;
+
+    result = post_transfer(global, share, per, result, &retry);
+    if(retry)
+      continue;
+    per = del_transfer(per);
+
+    /* Bail out upon critical errors or --fail-early */
+    if(result || is_fatal_error(returncode) ||
+       (returncode && global->fail_early))
+      break;
+  }
+  if(returncode)
+    /* returncode errors have priority */
+    result = returncode;
+  return result;
+}
+
+static CURLcode operate_do(struct GlobalConfig *global,
+                           struct OperationConfig *config,
+                           CURLSH *share)
+{
+  CURLcode result = CURLE_OK;
+  bool capath_from_env;
+
+  /* Check we have a url */
+  if(!config->url_list || !config->url_list->url) {
+    helpf(global->errors, "no URL specified!\n");
+    return CURLE_FAILED_INIT;
+  }
+
+  /* On WIN32 we can't set the path to curl-ca-bundle.crt
+   * at compile time. So we look here for the file in two ways:
+   * 1: look at the environment variable CURL_CA_BUNDLE for a path
+   * 2: if #1 isn't found, use the windows API function SearchPath()
+   *    to find it along the app's path (includes app's dir and CWD)
+   *
+   * We support the environment variable thing for non-Windows platforms
+   * too. Just for the sake of it.
+   */
+  capath_from_env = false;
+  if(!config->cacert &&
+     !config->capath &&
+     !config->insecure_ok) {
+    CURL *curltls = curl_easy_init();
+    struct curl_tlssessioninfo *tls_backend_info = NULL;
+
+    /* With the addition of CAINFO support for Schannel, this search could find
+     * a certificate bundle that was previously ignored. To maintain backward
+     * compatibility, only perform this search if not using Schannel.
+     */
+    result = curl_easy_getinfo(curltls, CURLINFO_TLS_SSL_PTR,
+                               &tls_backend_info);
+    if(result)
+      return result;
+
+    /* Set the CA cert locations specified in the environment. For Windows if
+     * no environment-specified filename is found then check for CA bundle
+     * default filename curl-ca-bundle.crt in the user's PATH.
+     *
+     * If Schannel is the selected SSL backend then these locations are
+     * ignored. We allow setting CA location for schannel only when explicitly
+     * specified by the user via CURLOPT_CAINFO / --cacert.
+     */
+    if(tls_backend_info->backend != CURLSSLBACKEND_SCHANNEL) {
+      char *env;
+      env = curlx_getenv("CURL_CA_BUNDLE");
+      if(env) {
+        config->cacert = strdup(env);
+        if(!config->cacert) {
+          curl_free(env);
+          helpf(global->errors, "out of memory\n");
+          return CURLE_OUT_OF_MEMORY;
+        }
+      }
+      else {
+        env = curlx_getenv("SSL_CERT_DIR");
+        if(env) {
+          config->capath = strdup(env);
+          if(!config->capath) {
+            curl_free(env);
+            helpf(global->errors, "out of memory\n");
+            return CURLE_OUT_OF_MEMORY;
+          }
+          capath_from_env = true;
+        }
+        else {
+          env = curlx_getenv("SSL_CERT_FILE");
+          if(env) {
+            config->cacert = strdup(env);
+            if(!config->cacert) {
+              curl_free(env);
+              helpf(global->errors, "out of memory\n");
+              return CURLE_OUT_OF_MEMORY;
+            }
+          }
+        }
+      }
+
+      if(env)
+        curl_free(env);
+#ifdef WIN32
+      else {
+        result = FindWin32CACert(config, tls_backend_info->backend,
+                                 "curl-ca-bundle.crt");
+      }
+#endif
+    }
+    curl_easy_cleanup(curltls);
+  }
+
+  if(!result)
+    /* loop through the list of given URLs */
+    result = create_transfers(global, config, share, capath_from_env);
+
+  return result;
+}
+
+static CURLcode operate_transfers(struct GlobalConfig *global,
+                                  CURLSH *share,
+                                  CURLcode result)
+{
+  /* Save the values of noprogress and isatty to restore them later on */
+  bool orig_noprogress = global->noprogress;
+  bool orig_isatty = global->isatty;
+  struct per_transfer *per;
+
+  /* Time to actually do the transfers */
+  if(!result) {
+    if(global->parallel)
+      result = parallel_transfers(global, share);
+    else
+      result = serial_transfers(global, share);
+  }
+
+  /* cleanup if there are any left */
+  for(per = transfers; per;) {
+    bool retry;
+    (void)post_transfer(global, share, per, result, &retry);
+    /* Free list of given URLs */
+    clean_getout(per->config);
+
+    /* Release metalink related resources here */
+    clean_metalink(per->config);
+    per = del_transfer(per);
+  }
+
   /* Reset the global config variables */
   global->noprogress = orig_noprogress;
   global->isatty = orig_isatty;
 
-  /* Free function-local referenced allocated memory */
-  Curl_safefree(httpgetfields);
-
-  /* Free list of given URLs */
-  clean_getout(config);
-
-  hdrcbdata.heads = NULL;
-
-  /* Close function-local opened file descriptors */
-  if(heads.fopened && heads.stream)
-    fclose(heads.stream);
-
-  if(heads.alloc_filename)
-    Curl_safefree(heads.filename);
-
-  /* Release metalink related resources here */
-  clean_metalink(config);
 
   return result;
 }
@@ -2040,7 +2262,7 @@
         tool_version_info();
       /* Check if we were asked to list the SSL engines */
       else if(res == PARAM_ENGINES_REQUESTED)
-        tool_list_engines(config->easy);
+        tool_list_engines();
       else if(res == PARAM_LIBCURL_UNSUPPORTED_PROTOCOL)
         result = CURLE_UNSUPPORTED_PROTOCOL;
       else
@@ -2058,27 +2280,43 @@
       if(!result) {
         size_t count = 0;
         struct OperationConfig *operation = config->first;
+        CURLSH *share = curl_share_init();
+        if(!share) {
+#ifndef CURL_DISABLE_LIBCURL_OPTION
+          if(config->libcurl) {
+            /* Cleanup the libcurl source output */
+            easysrc_cleanup();
+          }
+#endif
+          return CURLE_OUT_OF_MEMORY;
+        }
+
+        curl_share_setopt(share, CURLSHOPT_SHARE, CURL_LOCK_DATA_COOKIE);
+        curl_share_setopt(share, CURLSHOPT_SHARE, CURL_LOCK_DATA_DNS);
+        curl_share_setopt(share, CURLSHOPT_SHARE, CURL_LOCK_DATA_SSL_SESSION);
+        curl_share_setopt(share, CURLSHOPT_SHARE, CURL_LOCK_DATA_CONNECT);
+        curl_share_setopt(share, CURLSHOPT_SHARE, CURL_LOCK_DATA_PSL);
 
         /* Get the required arguments for each operation */
-        while(!result && operation) {
+        do {
           result = get_args(operation, count++);
 
           operation = operation->next;
-        }
+        } while(!result && operation);
 
         /* Set the current operation pointer */
         config->current = config->first;
 
-        /* Perform each operation */
+        /* Setup all transfers */
         while(!result && config->current) {
-          result = operate_do(config, config->current);
-
+          result = operate_do(config, config->current, share);
           config->current = config->current->next;
-
-          if(config->current && config->current->easy)
-            curl_easy_reset(config->current->easy);
         }
 
+        /* now run! */
+        result = operate_transfers(config, share, result);
+
+        curl_share_cleanup(share);
 #ifndef CURL_DISABLE_LIBCURL_OPTION
         if(config->libcurl) {
           /* Cleanup the libcurl source output */
diff --git a/src/tool_operate.h b/src/tool_operate.h
index b84388b..60257fc 100644
--- a/src/tool_operate.h
+++ b/src/tool_operate.h
@@ -7,7 +7,7 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
@@ -22,7 +22,53 @@
  *
  ***************************************************************************/
 #include "tool_setup.h"
+#include "tool_cb_hdr.h"
+#include "tool_cb_prg.h"
+#include "tool_sdecls.h"
+
+struct per_transfer {
+  /* double linked */
+  struct per_transfer *next;
+  struct per_transfer *prev;
+  struct OperationConfig *config; /* for this transfer */
+  CURL *curl;
+  long retry_numretries;
+  long retry_sleep_default;
+  long retry_sleep;
+  struct timeval retrystart;
+  bool metalink; /* nonzero for metalink download. */
+  bool metalink_next_res;
+  metalinkfile *mlfile;
+  metalink_resource *mlres;
+  char *this_url;
+  char *outfile;
+  bool infdopen; /* TRUE if infd needs closing */
+  int infd;
+  struct ProgressData progressbar;
+  struct OutStruct outs;
+  struct OutStruct heads;
+  struct InStruct input;
+  struct HdrCbData hdrcbdata;
+  char errorbuffer[CURL_ERROR_SIZE];
+
+  bool added; /* set TRUE when added to the multi handle */
+
+  /* for parallel progress bar */
+  curl_off_t dltotal;
+  curl_off_t dlnow;
+  curl_off_t ultotal;
+  curl_off_t ulnow;
+  bool dltotal_added; /* if the total has been added from this */
+  bool ultotal_added;
+
+  /* NULL or malloced */
+  char *separator_err;
+  char *separator;
+  char *uploadfile;
+};
 
 CURLcode operate(struct GlobalConfig *config, int argc, argv_item_t argv[]);
 
+extern struct per_transfer *transfers; /* first node */
+
 #endif /* HEADER_CURL_TOOL_OPERATE_H */
diff --git a/src/tool_operhlp.c b/src/tool_operhlp.c
index c3a8262..f3fcc69 100644
--- a/src/tool_operhlp.c
+++ b/src/tool_operhlp.c
@@ -5,7 +5,7 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
@@ -71,10 +71,13 @@
  * Adds the file name to the URL if it doesn't already have one.
  * url will be freed before return if the returned pointer is different
  */
-char *add_file_name_to_url(CURL *curl, char *url, const char *filename)
+char *add_file_name_to_url(char *url, const char *filename)
 {
   /* If no file name part is given in the URL, we add this file name */
   char *ptr = strstr(url, "://");
+  CURL *curl = curl_easy_init(); /* for url escaping */
+  if(!curl)
+    return NULL; /* error! */
   if(ptr)
     ptr += 3;
   else
@@ -120,6 +123,7 @@
     else
       Curl_safefree(url);
   }
+  curl_easy_cleanup(curl);
   return url;
 }
 
diff --git a/src/tool_operhlp.h b/src/tool_operhlp.h
index 90c8549..1e2f027 100644
--- a/src/tool_operhlp.h
+++ b/src/tool_operhlp.h
@@ -7,7 +7,7 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
@@ -31,7 +31,7 @@
 
 bool stdin_upload(const char *uploadfile);
 
-char *add_file_name_to_url(CURL *curl, char *url, const char *filename);
+char *add_file_name_to_url(char *url, const char *filename);
 
 CURLcode get_url_file_name(char **filename, const char *url);
 
diff --git a/src/tool_paramhlp.c b/src/tool_paramhlp.c
index 3a4286c..c9dac4f 100644
--- a/src/tool_paramhlp.c
+++ b/src/tool_paramhlp.c
@@ -198,6 +198,28 @@
 }
 
 /*
+ * Parse the string and write the long in the given address if it is below the
+ * maximum allowed value. Return PARAM_OK on success, otherwise a parameter
+ * error enum. ONLY ACCEPTS POSITIVE NUMBERS!
+ *
+ * Since this function gets called with the 'nextarg' pointer from within the
+ * getparameter a lot, we must check it for NULL before accessing the str
+ * data.
+ */
+
+ParameterError str2unummax(long *val, const char *str, long max)
+{
+  ParameterError result = str2unum(val, str);
+  if(result != PARAM_OK)
+    return result;
+  if(*val > max)
+    return PARAM_NUMBER_TOO_LARGE;
+
+  return PARAM_OK;
+}
+
+
+/*
  * Parse the string and write the double in the given address. Return PARAM_OK
  * on success, otherwise a parameter specific error enum.
  *
diff --git a/src/tool_paramhlp.h b/src/tool_paramhlp.h
index 854f522..f13a114 100644
--- a/src/tool_paramhlp.h
+++ b/src/tool_paramhlp.h
@@ -7,7 +7,7 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
@@ -33,6 +33,7 @@
 
 ParameterError str2num(long *val, const char *str);
 ParameterError str2unum(long *val, const char *str);
+ParameterError str2unummax(long *val, const char *str, long max);
 ParameterError str2udouble(double *val, const char *str, long max);
 
 long proto2num(struct OperationConfig *config, long *val, const char *str);
diff --git a/src/tool_parsecfg.c b/src/tool_parsecfg.c
index 36c7bcc..9b32e54 100644
--- a/src/tool_parsecfg.c
+++ b/src/tool_parsecfg.c
@@ -34,8 +34,6 @@
 
 #include "memdebug.h" /* keep this as LAST include */
 
-#define CURLRC DOT_CHAR "curlrc"
-
 /* only acknowledge colon or equals as separators if the option was not
    specified with an initial dash! */
 #define ISSEP(x,dash) (!dash && (((x) == '=') || ((x) == ':')))
@@ -43,74 +41,90 @@
 static const char *unslashquote(const char *line, char *param);
 static char *my_get_line(FILE *fp);
 
+#ifdef WIN32
+static FILE *execpath(const char *filename)
+{
+  char filebuffer[512];
+  /* Get the filename of our executable. GetModuleFileName is already declared
+   * via inclusions done in setup header file.  We assume that we are using
+   * the ASCII version here.
+   */
+  unsigned long len = GetModuleFileNameA(0, filebuffer, sizeof(filebuffer));
+  if(len > 0 && len < sizeof(filebuffer)) {
+    /* We got a valid filename - get the directory part */
+    char *lastdirchar = strrchr(filebuffer, '\\');
+    if(lastdirchar) {
+      size_t remaining;
+      *lastdirchar = 0;
+      /* If we have enough space, build the RC filename */
+      remaining = sizeof(filebuffer) - strlen(filebuffer);
+      if(strlen(filename) < remaining - 1) {
+        msnprintf(lastdirchar, remaining, "%s%s", DIR_CHAR, filename);
+        return fopen(filebuffer, FOPEN_READTEXT);
+      }
+    }
+  }
+
+  return NULL;
+}
+#endif
+
+
 /* return 0 on everything-is-fine, and non-zero otherwise */
 int parseconfig(const char *filename, struct GlobalConfig *global)
 {
   FILE *file = NULL;
-  char filebuffer[512];
   bool usedarg = FALSE;
   int rc = 0;
   struct OperationConfig *operation = global->first;
+  char *pathalloc = NULL;
 
   if(!filename || !*filename) {
     /* NULL or no file name attempts to load .curlrc from the homedir! */
 
-#ifndef __AMIGA__
     char *home = homedir();    /* portable homedir finder */
-    filename = CURLRC;   /* sensible default */
+#ifndef WIN32
     if(home) {
-      if(strlen(home) < (sizeof(filebuffer) - strlen(CURLRC))) {
-        msnprintf(filebuffer, sizeof(filebuffer),
-                  "%s%s%s", home, DIR_CHAR, CURLRC);
-
-#ifdef WIN32
-        /* Check if the file exists - if not, try CURLRC in the same
-         * directory as our executable
-         */
-        file = fopen(filebuffer, FOPEN_READTEXT);
-        if(file != NULL) {
-          filename = filebuffer;
-        }
-        else {
-          /* Get the filename of our executable. GetModuleFileName is
-           * already declared via inclusions done in setup header file.
-           * We assume that we are using the ASCII version here.
-           */
-          unsigned long len = GetModuleFileNameA(0, filebuffer,
-                                                 sizeof(filebuffer));
-          if(len > 0 && len < sizeof(filebuffer)) {
-            /* We got a valid filename - get the directory part */
-            char *lastdirchar = strrchr(filebuffer, '\\');
-            if(lastdirchar) {
-              size_t remaining;
-              *lastdirchar = 0;
-              /* If we have enough space, build the RC filename */
-              remaining = sizeof(filebuffer) - strlen(filebuffer);
-              if(strlen(CURLRC) < remaining - 1) {
-                msnprintf(lastdirchar, remaining,
-                          "%s%s", DIR_CHAR, CURLRC);
-                /* Don't bother checking if it exists - we do that later */
-                filename = filebuffer;
-              }
-            }
-          }
-        }
-#else /* WIN32 */
-        filename = filebuffer;
-#endif /* WIN32 */
+      pathalloc = curl_maprintf("%s%s.curlrc", home, DIR_CHAR);
+      if(!pathalloc) {
+        free(home);
+        return 1; /* out of memory */
       }
-      Curl_safefree(home); /* we've used it, now free it */
+      filename = pathalloc;
     }
+#else /* Windows */
+    if(home) {
+      int i = 0;
+      char prefix = '.';
+      do {
+        /* check for .curlrc then _curlrc in the home dir */
+        pathalloc = curl_maprintf("%s%s%ccurlrc", home, DIR_CHAR, prefix);
+        if(!pathalloc) {
+          free(home);
+          return 1; /* out of memory */
+        }
 
-# else /* __AMIGA__ */
-    /* On AmigaOS all the config files are into env:
-     */
-    filename = "ENV:" CURLRC;
-
+        /* Check if the file exists - if not, try _curlrc */
+        file = fopen(pathalloc, FOPEN_READTEXT);
+        if(file) {
+          filename = pathalloc;
+          break;
+        }
+        prefix = '_';
+      } while(++i < 2);
+    }
+    if(!filename) {
+      /* check for .curlrc then _curlrc in the dir of the executable */
+      file = execpath(".curlrc");
+      if(!file)
+        file = execpath("_curlrc");
+    }
 #endif
+
+    Curl_safefree(home); /* we've used it, now free it */
   }
 
-  if(!file) { /* WIN32: no need to fopen() again */
+  if(!file && filename) { /* no need to fopen() again */
     if(strcmp(filename, "-"))
       file = fopen(filename, FOPEN_READTEXT);
     else
@@ -230,9 +244,6 @@
             /* Initialise the newly created config */
             config_init(operation->next);
 
-            /* Copy the easy handle */
-            operation->next->easy = global->easy;
-
             /* Set the global config pointer */
             operation->next->global = global;
 
@@ -274,6 +285,7 @@
   else
     rc = 1; /* couldn't open the file */
 
+  free(pathalloc);
   return rc;
 }
 
diff --git a/src/tool_progress.c b/src/tool_progress.c
new file mode 100644
index 0000000..a2667f3
--- /dev/null
+++ b/src/tool_progress.c
@@ -0,0 +1,314 @@
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
+ *
+ * This software is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at https://curl.haxx.se/docs/copyright.html.
+ *
+ * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+ * copies of the Software, and permit persons to whom the Software is
+ * furnished to do so, under the terms of the COPYING file.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ ***************************************************************************/
+#include "tool_setup.h"
+#include "tool_operate.h"
+#include "tool_progress.h"
+#include "tool_util.h"
+
+#define ENABLE_CURLX_PRINTF
+/* use our own printf() functions */
+#include "curlx.h"
+
+/* The point of this function would be to return a string of the input data,
+   but never longer than 5 columns (+ one zero byte).
+   Add suffix k, M, G when suitable... */
+static char *max5data(curl_off_t bytes, char *max5)
+{
+#define ONE_KILOBYTE  CURL_OFF_T_C(1024)
+#define ONE_MEGABYTE (CURL_OFF_T_C(1024) * ONE_KILOBYTE)
+#define ONE_GIGABYTE (CURL_OFF_T_C(1024) * ONE_MEGABYTE)
+#define ONE_TERABYTE (CURL_OFF_T_C(1024) * ONE_GIGABYTE)
+#define ONE_PETABYTE (CURL_OFF_T_C(1024) * ONE_TERABYTE)
+
+  if(bytes < CURL_OFF_T_C(100000))
+    msnprintf(max5, 6, "%5" CURL_FORMAT_CURL_OFF_T, bytes);
+
+  else if(bytes < CURL_OFF_T_C(10000) * ONE_KILOBYTE)
+    msnprintf(max5, 6, "%4" CURL_FORMAT_CURL_OFF_T "k", bytes/ONE_KILOBYTE);
+
+  else if(bytes < CURL_OFF_T_C(100) * ONE_MEGABYTE)
+    /* 'XX.XM' is good as long as we're less than 100 megs */
+    msnprintf(max5, 6, "%2" CURL_FORMAT_CURL_OFF_T ".%0"
+              CURL_FORMAT_CURL_OFF_T "M", bytes/ONE_MEGABYTE,
+              (bytes%ONE_MEGABYTE) / (ONE_MEGABYTE/CURL_OFF_T_C(10)) );
+
+#if (CURL_SIZEOF_CURL_OFF_T > 4)
+
+  else if(bytes < CURL_OFF_T_C(10000) * ONE_MEGABYTE)
+    /* 'XXXXM' is good until we're at 10000MB or above */
+    msnprintf(max5, 6, "%4" CURL_FORMAT_CURL_OFF_T "M", bytes/ONE_MEGABYTE);
+
+  else if(bytes < CURL_OFF_T_C(100) * ONE_GIGABYTE)
+    /* 10000 MB - 100 GB, we show it as XX.XG */
+    msnprintf(max5, 6, "%2" CURL_FORMAT_CURL_OFF_T ".%0"
+              CURL_FORMAT_CURL_OFF_T "G", bytes/ONE_GIGABYTE,
+              (bytes%ONE_GIGABYTE) / (ONE_GIGABYTE/CURL_OFF_T_C(10)) );
+
+  else if(bytes < CURL_OFF_T_C(10000) * ONE_GIGABYTE)
+    /* up to 10000GB, display without decimal: XXXXG */
+    msnprintf(max5, 6, "%4" CURL_FORMAT_CURL_OFF_T "G", bytes/ONE_GIGABYTE);
+
+  else if(bytes < CURL_OFF_T_C(10000) * ONE_TERABYTE)
+    /* up to 10000TB, display without decimal: XXXXT */
+    msnprintf(max5, 6, "%4" CURL_FORMAT_CURL_OFF_T "T", bytes/ONE_TERABYTE);
+
+  else
+    /* up to 10000PB, display without decimal: XXXXP */
+    msnprintf(max5, 6, "%4" CURL_FORMAT_CURL_OFF_T "P", bytes/ONE_PETABYTE);
+
+    /* 16384 petabytes (16 exabytes) is the maximum a 64 bit unsigned number
+       can hold, but our data type is signed so 8192PB will be the maximum. */
+
+#else
+
+  else
+    msnprintf(max5, 6, "%4" CURL_FORMAT_CURL_OFF_T "M", bytes/ONE_MEGABYTE);
+
+#endif
+
+  return max5;
+}
+
+int xferinfo_cb(void *clientp,
+                curl_off_t dltotal,
+                curl_off_t dlnow,
+                curl_off_t ultotal,
+                curl_off_t ulnow)
+{
+  struct per_transfer *per = clientp;
+  per->dltotal = dltotal;
+  per->dlnow = dlnow;
+  per->ultotal = ultotal;
+  per->ulnow = ulnow;
+  return 0;
+}
+
+/* Provide a string that is 2 + 1 + 2 + 1 + 2 = 8 letters long (plus the zero
+   byte) */
+static void time2str(char *r, curl_off_t seconds)
+{
+  curl_off_t h;
+  if(seconds <= 0) {
+    strcpy(r, "--:--:--");
+    return;
+  }
+  h = seconds / CURL_OFF_T_C(3600);
+  if(h <= CURL_OFF_T_C(99)) {
+    curl_off_t m = (seconds - (h*CURL_OFF_T_C(3600))) / CURL_OFF_T_C(60);
+    curl_off_t s = (seconds - (h*CURL_OFF_T_C(3600))) - (m*CURL_OFF_T_C(60));
+    msnprintf(r, 9, "%2" CURL_FORMAT_CURL_OFF_T ":%02" CURL_FORMAT_CURL_OFF_T
+              ":%02" CURL_FORMAT_CURL_OFF_T, h, m, s);
+  }
+  else {
+    /* this equals to more than 99 hours, switch to a more suitable output
+       format to fit within the limits. */
+    curl_off_t d = seconds / CURL_OFF_T_C(86400);
+    h = (seconds - (d*CURL_OFF_T_C(86400))) / CURL_OFF_T_C(3600);
+    if(d <= CURL_OFF_T_C(999))
+      msnprintf(r, 9, "%3" CURL_FORMAT_CURL_OFF_T
+                "d %02" CURL_FORMAT_CURL_OFF_T "h", d, h);
+    else
+      msnprintf(r, 9, "%7" CURL_FORMAT_CURL_OFF_T "d", d);
+  }
+}
+
+static curl_off_t all_dltotal = 0;
+static curl_off_t all_ultotal = 0;
+static curl_off_t all_dlalready = 0;
+static curl_off_t all_ulalready = 0;
+
+curl_off_t all_xfers = 0;   /* current total */
+
+struct speedcount {
+  curl_off_t dl;
+  curl_off_t ul;
+  struct timeval stamp;
+};
+#define SPEEDCNT 10
+static unsigned int speedindex;
+static bool indexwrapped;
+static struct speedcount speedstore[SPEEDCNT];
+
+/*
+  |DL% UL%  Dled  Uled  Xfers  Live   Qd Total     Current  Left    Speed
+  |  6 --   9.9G     0     2     2     0  0:00:40  0:00:02  0:00:37 4087M
+*/
+bool progress_meter(struct GlobalConfig *global,
+                    struct timeval *start,
+                    bool final)
+{
+  static struct timeval stamp;
+  static bool header = FALSE;
+  struct timeval now;
+  long diff;
+
+  if(global->noprogress)
+    return FALSE;
+
+  now = tvnow();
+  diff = tvdiff(now, stamp);
+
+  if(!header) {
+    header = TRUE;
+    fputs("DL% UL%  Dled  Uled  Xfers  Live   Qd "
+          "Total     Current  Left    Speed\n",
+          global->errors);
+  }
+  if(final || (diff > 500)) {
+    char time_left[10];
+    char time_total[10];
+    char time_spent[10];
+    char buffer[3][6];
+    curl_off_t spent = tvdiff(now, *start)/1000;
+    char dlpercen[4]="--";
+    char ulpercen[4]="--";
+    struct per_transfer *per;
+    curl_off_t all_dlnow = 0;
+    curl_off_t all_ulnow = 0;
+    bool dlknown = TRUE;
+    bool ulknown = TRUE;
+    curl_off_t all_running = 0; /* in progress */
+    curl_off_t all_queued = 0;  /* pending */
+    curl_off_t speed = 0;
+    unsigned int i;
+    stamp = now;
+
+    /* first add the amounts of the already completed transfers */
+    all_dlnow += all_dlalready;
+    all_ulnow += all_ulalready;
+
+    for(per = transfers; per; per = per->next) {
+      all_dlnow += per->dlnow;
+      all_ulnow += per->ulnow;
+      if(!per->dltotal)
+        dlknown = FALSE;
+      else if(!per->dltotal_added) {
+        /* only add this amount once */
+        all_dltotal += per->dltotal;
+        per->dltotal_added = TRUE;
+      }
+      if(!per->ultotal)
+        ulknown = FALSE;
+      else if(!per->ultotal_added) {
+        /* only add this amount once */
+        all_ultotal += per->ultotal;
+        per->ultotal_added = TRUE;
+      }
+      if(!per->added)
+        all_queued++;
+      else
+        all_running++;
+    }
+    if(dlknown && all_dltotal)
+      /* TODO: handle integer overflow */
+      msnprintf(dlpercen, sizeof(dlpercen), "%3d",
+                all_dlnow * 100 / all_dltotal);
+    if(ulknown && all_ultotal)
+      /* TODO: handle integer overflow */
+      msnprintf(ulpercen, sizeof(ulpercen), "%3d",
+                all_ulnow * 100 / all_ultotal);
+
+    /* get the transfer speed, the higher of the two */
+
+    i = speedindex;
+    speedstore[i].dl = all_dlnow;
+    speedstore[i].ul = all_ulnow;
+    speedstore[i].stamp = now;
+    if(++speedindex >= SPEEDCNT) {
+      indexwrapped = TRUE;
+      speedindex = 0;
+    }
+
+    {
+      long deltams;
+      curl_off_t dl;
+      curl_off_t ul;
+      curl_off_t dls;
+      curl_off_t uls;
+      if(indexwrapped) {
+        /* 'speedindex' is the oldest stored data */
+        deltams = tvdiff(now, speedstore[speedindex].stamp);
+        dl = all_dlnow - speedstore[speedindex].dl;
+        ul = all_ulnow - speedstore[speedindex].ul;
+      }
+      else {
+        /* since the beginning */
+        deltams = tvdiff(now, *start);
+        dl = all_dlnow;
+        ul = all_ulnow;
+      }
+      dls = (curl_off_t)((double)dl / ((double)deltams/1000.0));
+      uls = (curl_off_t)((double)ul / ((double)deltams/1000.0));
+      speed = dls > uls ? dls : uls;
+    }
+
+
+    if(dlknown && speed) {
+      curl_off_t est = all_dltotal / speed;
+      curl_off_t left = (all_dltotal - all_dlnow) / speed;
+      time2str(time_left, left);
+      time2str(time_total, est);
+    }
+    else {
+      time2str(time_left, 0);
+      time2str(time_total, 0);
+    }
+    time2str(time_spent, spent);
+
+    fprintf(global->errors,
+            "\r"
+            "%-3s " /* percent downloaded */
+            "%-3s " /* percent uploaded */
+            "%s " /* Dled */
+            "%s " /* Uled */
+            "%5" CURL_FORMAT_CURL_OFF_T " " /* Xfers */
+            "%5" CURL_FORMAT_CURL_OFF_T " " /* Live */
+            "%5" CURL_FORMAT_CURL_OFF_T " " /* Queued */
+            "%s "  /* Total time */
+            "%s "  /* Current time */
+            "%s "  /* Time left */
+            "%s "  /* Speed */
+            "%5s" /* final newline */,
+
+            dlpercen,  /* 3 letters */
+            ulpercen,  /* 3 letters */
+            max5data(all_dlnow, buffer[0]),
+            max5data(all_ulnow, buffer[1]),
+            all_xfers,
+            all_running,
+            all_queued,
+            time_total,
+            time_spent,
+            time_left,
+            max5data(speed, buffer[2]), /* speed */
+            final ? "\n" :"");
+    return TRUE;
+  }
+  return FALSE;
+}
+
+void progress_finalize(struct per_transfer *per)
+{
+  /* get the numbers before this transfer goes away */
+  all_dlalready += per->dlnow;
+  all_ulalready += per->ulnow;
+}
diff --git a/src/tool_progress.h b/src/tool_progress.h
new file mode 100644
index 0000000..34b6098
--- /dev/null
+++ b/src/tool_progress.h
@@ -0,0 +1,39 @@
+#ifndef HEADER_CURL_TOOL_PROGRESS_H
+#define HEADER_CURL_TOOL_PROGRESS_H
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
+ *
+ * This software is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at https://curl.haxx.se/docs/copyright.html.
+ *
+ * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+ * copies of the Software, and permit persons to whom the Software is
+ * furnished to do so, under the terms of the COPYING file.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ ***************************************************************************/
+#include "tool_setup.h"
+
+int xferinfo_cb(void *clientp,
+                curl_off_t dltotal,
+                curl_off_t dlnow,
+                curl_off_t ultotal,
+                curl_off_t ulnow);
+
+bool progress_meter(struct GlobalConfig *global,
+                    struct timeval *start,
+                    bool final);
+void progress_finalize(struct per_transfer *per);
+
+extern curl_off_t all_xfers;   /* total number */
+
+#endif /* HEADER_CURL_TOOL_PROGRESS_H */
diff --git a/src/tool_setopt.c b/src/tool_setopt.c
index b5486e6..4c98d90 100644
--- a/src/tool_setopt.c
+++ b/src/tool_setopt.c
@@ -82,6 +82,7 @@
   NV(CURL_HTTP_VERSION_1_1),
   NV(CURL_HTTP_VERSION_2_0),
   NV(CURL_HTTP_VERSION_2TLS),
+  NV(CURL_HTTP_VERSION_3),
   NVEND,
 };
 
@@ -823,6 +824,16 @@
     break;
   }
 #endif
+#ifdef CURL_DISABLE_NETRC
+#define USED_TAG
+  switch(tag) {
+  case CURLOPT_NETRC:
+  case CURLOPT_NETRC_FILE:
+    return TRUE;
+  default:
+    break;
+  }
+#endif
 
 #ifndef USED_TAG
   (void)tag;
diff --git a/src/tool_version.h b/src/tool_version.h
index 04c879c..8dfc9e7 100644
--- a/src/tool_version.h
+++ b/src/tool_version.h
@@ -25,7 +25,7 @@
 
 #define CURL_NAME "curl"
 #define CURL_COPYRIGHT LIBCURL_COPYRIGHT
-#define CURL_VERSION "7.65.3"
+#define CURL_VERSION "7.66.0"
 #define CURL_VERSION_MAJOR LIBCURL_VERSION_MAJOR
 #define CURL_VERSION_MINOR LIBCURL_VERSION_MINOR
 #define CURL_VERSION_PATCH LIBCURL_VERSION_PATCH
diff --git a/src/tool_writeout.c b/src/tool_writeout.c
index d5b0bc4..27b2ac5 100644
--- a/src/tool_writeout.c
+++ b/src/tool_writeout.c
@@ -5,7 +5,7 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
@@ -314,6 +314,9 @@
                   case CURL_HTTP_VERSION_2_0:
                     version = "2";
                     break;
+                  case CURL_HTTP_VERSION_3:
+                    version = "3";
+                    break;
                   }
 
                   fprintf(stream, version);
diff --git a/tests/README b/tests/README
index 16a8f06..bfd234a 100644
--- a/tests/README
+++ b/tests/README
@@ -216,27 +216,12 @@
 
  2.1 Test case numbering
 
-     1   -  99   HTTP
-     100 - 199   FTP
-     200 - 299   FILE
-     300 - 399   HTTPS
-     400 - 499   FTPS
-     500 - 599   libcurl source code tests, not using the curl command tool
-     600 - 699   SCP/SFTP
-     700 - 799   SOCKS4 (even numbers) and SOCK5 (odd numbers)
-     800 - 849   IMAP
-     850 - 899   POP3
-     900 - 999   SMTP
-     1000 - 1299 miscellaneous
-     1300 - 1399 unit tests
-     1400 - 1499 miscellaneous
-     1500 - 1599 libcurl source code tests, not using the curl command tool
-                 (same as 5xx)
-     1600 - 1699 unit tests
-     2000 - x    multiple sequential protocols per test case
+  Test cases used to be numbered by category, but the ranges filled
+  up. Subsets of tests can now be selected by passing keywords to the
+  runtests.pl script via the make TFLAGS variable.
 
-  There's nothing in the system that *requires* us to keep within these number
-  series.
+  New tests should now be added by finding a free number in
+  tests/data/Makefile.inc.
 
 3. Write tests
 
diff --git a/tests/data/Makefile.inc b/tests/data/Makefile.inc
index 6ec5a3c..fc22c2f 100644
--- a/tests/data/Makefile.inc
+++ b/tests/data/Makefile.inc
@@ -57,7 +57,7 @@
 test307 test308 test309 test310 test311 test312 test313 test314 test315 \
 test316 test317 test318 test319 test320 test321 test322 test323 test324 \
 test325 test326 test327 test328 test329 test330 test331 test332 test333 \
-test334 \
+test334 test335 \
 test340 \
 \
 test350 test351 test352 test353 test354 test355 test356 \
@@ -93,20 +93,21 @@
 test818 test819 test820 test821 test822 test823 test824 test825 test826 \
 test827 test828 test829 test830 test831 test832 test833 test834 test835 \
 test836 test837 test838 test839 test840 test841 test842 test843 test844 \
-test845 test846 test847 \
+test845 test846 test847 test848 test849 \
 \
 test850 test851 test852 test853 test854 test855 test856 test857 test858 \
 test859 test860 test861 test862 test863 test864 test865 test866 test867 \
 test868 test869 test870 test871 test872 test873 test874 test875 test876 \
 test877 test878 test879 test880 test881 test882 test883 test884 test885 \
-test886 test887 test888 test889 test890 test891 \
+test886 test887 test888 test889 test890 test891 test892 test893 \
 \
 test900 test901 test902 test903 test904 test905 test906 test907 test908 \
 test909 test910 test911 test912 test913 test914 test915 test916 test917 \
 test918 test919 test920 test921 test922 test923 test924 test925 test926 \
 test927 test928 test929 test930 test931 test932 test933 test934 test935 \
 test936 test937 test938 test939 test940 test941 test942 test943 test944 \
-test945 test946 test947 test948 test949 test950 test951 test952 \
+test945 test946 test947 test948 test949 test950 test951 test952 test953 \
+test954 \
 \
 test1000 test1001 test1002 test1003 test1004 test1005 test1006 test1007 \
 test1008 test1009 test1010 test1011 test1012 test1013 test1014 test1015 \
@@ -129,7 +130,7 @@
 test1144 test1145 test1146 test1147 test1148 test1149 test1150 test1151 \
 test1152 test1153 test1154 test1155 test1156 test1157 test1158 test1159 \
 test1160 test1161 test1162 test1163 test1164 test1165 \
-test1170 test1171 test1172 test1173 \
+test1170 test1171 test1172 test1173 test1174 \
 \
 test1200 test1201 test1202 test1203 test1204 test1205 test1206 test1207 \
 test1208 test1209 test1210 test1211 test1212 test1213 test1214 test1215 \
@@ -140,7 +141,7 @@
 test1244 test1245 test1246 test1247 test1248 test1249 test1250 test1251 \
 test1252 test1253 test1254 test1255 test1256 test1257 test1258 test1259 \
 test1260 test1261 test1262 test1263 test1264 test1265 test1266 test1267 \
-test1268 \
+test1268 test1269 \
 \
 test1280 test1281 test1282 test1283 test1284 test1285 test1286 test1287 \
 test1288 test1289 test1290 test1291 test1292 \
@@ -177,7 +178,7 @@
 test1550 test1551 test1552 test1553 test1554 test1555 test1556 test1557 \
 test1558 test1559 test1560 test1561 test1562 test1563 \
 \
-test1590 test1591 test1592 test1593 \
+test1590 test1591 test1592 test1593 test1594 \
 \
 test1600 test1601 test1602 test1603 test1604 test1605 test1606 test1607 \
 test1608 test1609 test1620 test1621 \
@@ -199,7 +200,8 @@
 test2048 test2049 test2050 test2051 test2052 test2053 test2054 test2055 \
 test2056 test2057 test2058 test2059 test2060 test2061 test2062 test2063 \
 test2064 test2065 test2066 test2067 test2068 test2069 \
-         test2071 test2072 test2073 test2074 test2075 test2076 \
+         test2071 test2072 test2073 test2074 test2075 test2076 test2077 \
+test2078 \
 test2080 \
 test2100 \
 \
diff --git a/tests/data/test1002 b/tests/data/test1002
index d12046e..c20995d 100644
--- a/tests/data/test1002
+++ b/tests/data/test1002
@@ -103,6 +103,14 @@
 st
 GET http://%HOSTIP:%HTTPPORT/1002.upload2 HTTP/1.1

 Host: %HOSTIP:%HTTPPORT

+Content-Range: bytes 2-4/5

+User-Agent: curl/7.16.1

+Accept: */*

+Proxy-Connection: Keep-Alive

+Content-Length: 0

+

+GET http://%HOSTIP:%HTTPPORT/1002.upload2 HTTP/1.1

+Host: %HOSTIP:%HTTPPORT

 Authorization: Digest username="auser", realm="testrealm", nonce="1053604144", uri="/1002.upload2", response="d711f0d2042786d930de635ba0d1a1d0"

 Content-Range: bytes 2-4/5

 User-Agent: curl/7.16.1

diff --git a/tests/data/test1135 b/tests/data/test1135
index 3591a54..eca6860 100644
--- a/tests/data/test1135
+++ b/tests/data/test1135
@@ -91,6 +91,7 @@
 CURL_EXTERN CURLMcode curl_multi_remove_handle(CURLM *multi_handle,
 CURL_EXTERN CURLMcode curl_multi_fdset(CURLM *multi_handle,
 CURL_EXTERN CURLMcode curl_multi_wait(CURLM *multi_handle,
+CURL_EXTERN CURLMcode curl_multi_poll(CURLM *multi_handle,
 CURL_EXTERN CURLMcode curl_multi_perform(CURLM *multi_handle,
 CURL_EXTERN CURLMcode curl_multi_cleanup(CURLM *multi_handle);
 CURL_EXTERN CURLMsg *curl_multi_info_read(CURLM *multi_handle,
diff --git a/tests/data/test1174 b/tests/data/test1174
new file mode 100644
index 0000000..b316fde
--- /dev/null
+++ b/tests/data/test1174
@@ -0,0 +1,50 @@
+<testcase>
+<info>
+<keywords>
+HTTP
+HTTP/0.9
+</keywords>
+</info>
+
+#
+# Server-side
+<reply>
+<data>
+-foo- swsclose
+</data>
+<datacheck>
+</datacheck>
+</reply>
+
+#
+# Client-side
+<client>
+<server>
+http
+</server>
+ <name>
+HTTP/0.9 GET response denied by default
+ </name>
+ <command>
+http://%HOSTIP:%HTTPPORT/1174
+</command>
+</client>
+
+#
+# Verify data after the test has been "shot"
+<verify>
+<strip>
+^User-Agent:.*
+</strip>
+<protocol>
+GET /1174 HTTP/1.1

+Host: %HOSTIP:%HTTPPORT

+Accept: */*

+

+</protocol>
+# unsupported protocol
+<errorcode>
+1
+</errorcode>
+</verify>
+</testcase>
diff --git a/tests/data/test1269 b/tests/data/test1269
new file mode 100644
index 0000000..c776636
--- /dev/null
+++ b/tests/data/test1269
@@ -0,0 +1,34 @@
+<testcase>
+<info>
+<keywords>
+--retry-delay
+</keywords>
+</info>
+
+#
+# Server-side
+<reply>
+</reply>
+
+#
+# Client-side
+<client>
+<server>
+none
+</server>
+ <name>
+too large --retry-delay value
+ </name>
+ <command>
+--retry 3 --retry-delay 9223372036854776 http://%HOSTIP:%HTTPPORT/1269
+</command>
+</client>
+
+#
+# Verify data after the test has been "shot"
+<verify>
+<errorcode>
+2
+</errorcode>
+</verify>
+</testcase>
diff --git a/tests/data/test1291 b/tests/data/test1291
index 3f15751..a2e505f 100644
--- a/tests/data/test1291
+++ b/tests/data/test1291
@@ -21,7 +21,7 @@
 none
 </server>
 <name>
-Attempt to upload 100K files but fail immediately
+Attempt to upload 1000 files but fail immediately
 </name>
 <command>
 -K log/cmd1291 --fail-early
@@ -31,7 +31,7 @@
 </file>
 # generate the config file
 <precheck>
-perl -e 'for(1 .. 100000) { printf("upload-file=log/upload-this\nurl=htttttp://non-existing-host.haxx.se/upload/1291\n", $_);}' > log/cmd1291;
+perl -e 'for(1 .. 1000) { printf("upload-file=log/upload-this\nurl=htttttp://non-existing-host.haxx.se/upload/1291\n", $_);}' > log/cmd1291;
 </precheck>
 </client>
 
@@ -40,11 +40,5 @@
 <errorcode>
 1
 </errorcode>
-
-# we disable valgrind here since it takes 40+ seconds even on a fairly snappy
-# machine
-<valgrind>
-disable
-</valgrind>
 </verify>
 </testcase>
diff --git a/tests/data/test1401 b/tests/data/test1401
index 647f036..ec3b25c 100644
--- a/tests/data/test1401
+++ b/tests/data/test1401
@@ -88,7 +88,6 @@
   curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, slist1);
   curl_easy_setopt(hnd, CURLOPT_USERAGENT, "MyUA");
   curl_easy_setopt(hnd, CURLOPT_MAXREDIRS, 50L);
-  curl_easy_setopt(hnd, CURLOPT_HTTP09_ALLOWED, 1L);
   curl_easy_setopt(hnd, CURLOPT_COOKIE, "chocolate=chip");
   curl_easy_setopt(hnd, CURLOPT_VERBOSE, 1L);
   curl_easy_setopt(hnd, CURLOPT_TCP_KEEPALIVE, 1L);
diff --git a/tests/data/test1402 b/tests/data/test1402
index b9f52f2..bf7eb7b 100644
--- a/tests/data/test1402
+++ b/tests/data/test1402
@@ -80,7 +80,6 @@
   curl_easy_setopt(hnd, CURLOPT_POSTFIELDSIZE_LARGE, (curl_off_t)16);
   curl_easy_setopt(hnd, CURLOPT_USERAGENT, "stripped");
   curl_easy_setopt(hnd, CURLOPT_MAXREDIRS, 50L);
-  curl_easy_setopt(hnd, CURLOPT_HTTP09_ALLOWED, 1L);
   curl_easy_setopt(hnd, CURLOPT_VERBOSE, 1L);
   curl_easy_setopt(hnd, CURLOPT_TCP_KEEPALIVE, 1L);
 
diff --git a/tests/data/test1403 b/tests/data/test1403
index db13081..731d274 100644
--- a/tests/data/test1403
+++ b/tests/data/test1403
@@ -75,7 +75,6 @@
   curl_easy_setopt(hnd, CURLOPT_URL, "http://%HOSTIP:%HTTPPORT/we/want/1403?foo=bar&baz=quux");
   curl_easy_setopt(hnd, CURLOPT_USERAGENT, "stripped");
   curl_easy_setopt(hnd, CURLOPT_MAXREDIRS, 50L);
-  curl_easy_setopt(hnd, CURLOPT_HTTP09_ALLOWED, 1L);
   curl_easy_setopt(hnd, CURLOPT_VERBOSE, 1L);
   curl_easy_setopt(hnd, CURLOPT_TCP_KEEPALIVE, 1L);
 
diff --git a/tests/data/test1404 b/tests/data/test1404
index e976f0b..d3c66a9 100644
--- a/tests/data/test1404
+++ b/tests/data/test1404
@@ -146,7 +146,6 @@
   curl_easy_setopt(hnd, CURLOPT_MIMEPOST, mime1);
   curl_easy_setopt(hnd, CURLOPT_USERAGENT, "stripped");
   curl_easy_setopt(hnd, CURLOPT_MAXREDIRS, 50L);
-  curl_easy_setopt(hnd, CURLOPT_HTTP09_ALLOWED, 1L);
   curl_easy_setopt(hnd, CURLOPT_VERBOSE, 1L);
   curl_easy_setopt(hnd, CURLOPT_TCP_KEEPALIVE, 1L);
 
diff --git a/tests/data/test1406 b/tests/data/test1406
index ab835d3..8803c84 100644
--- a/tests/data/test1406
+++ b/tests/data/test1406
@@ -76,13 +76,13 @@
 
   hnd = curl_easy_init();
   curl_easy_setopt(hnd, CURLOPT_BUFFERSIZE, 102400L);
-  curl_easy_setopt(hnd, CURLOPT_INFILESIZE_LARGE, (curl_off_t)38);
   curl_easy_setopt(hnd, CURLOPT_URL, "smtp://%HOSTIP:%SMTPPORT/1406");
   curl_easy_setopt(hnd, CURLOPT_UPLOAD, 1L);
   curl_easy_setopt(hnd, CURLOPT_VERBOSE, 1L);
   curl_easy_setopt(hnd, CURLOPT_TCP_KEEPALIVE, 1L);
   curl_easy_setopt(hnd, CURLOPT_MAIL_FROM, "sender@example.com");
   curl_easy_setopt(hnd, CURLOPT_MAIL_RCPT, slist1);
+  curl_easy_setopt(hnd, CURLOPT_INFILESIZE_LARGE, (curl_off_t)38);
 
   /* Here is a list of options the curl code used that cannot get generated
      as source easily. You may select to either not use them or implement
diff --git a/tests/data/test1412 b/tests/data/test1412
index ae63290..36d3d1d 100644
--- a/tests/data/test1412
+++ b/tests/data/test1412
@@ -25,6 +25,19 @@
 This is not the real page
 </data>
 
+# The second URL will get this response
+<data1>
+HTTP/1.1 401 Authorization Required swsclose

+Server: Apache/1.3.27 (Darwin) PHP/4.1.2

+WWW-Authenticate: Blackmagic realm="gimme all yer s3cr3ts"

+WWW-Authenticate: Basic realm="gimme all yer s3cr3ts"

+WWW-Authenticate: Digest realm="gimme all yer s3cr3ts", nonce="11223344"

+Content-Type: text/html; charset=iso-8859-1

+Connection: close

+

+This is not the real page
+</data1>
+
 # This is supposed to be returned when the server gets a
 # Authorization: Digest line passed-in from the client
 <data1000>
@@ -109,6 +122,11 @@
 

 GET /14120001 HTTP/1.1

 Host: %HOSTIP:%HTTPPORT

+User-Agent: curl/7.10.5 (i686-pc-linux-gnu) libcurl/7.10.5 OpenSSL/0.9.7a ipv6 zlib/1.1.3

+Accept: */*

+

+GET /14120001 HTTP/1.1

+Host: %HOSTIP:%HTTPPORT

 Authorization: Digest username="testuser", realm="gimme all yer s3cr3ts", nonce="11223344", uri="/14120001", response="0085df91870374c8bf4e94415e7fbf8e"

 User-Agent: curl/7.10.5 (i686-pc-linux-gnu) libcurl/7.10.5 OpenSSL/0.9.7a ipv6 zlib/1.1.3

 Accept: */*

diff --git a/tests/data/test1418 b/tests/data/test1418
index b3a2f23..c137b1c 100644
--- a/tests/data/test1418
+++ b/tests/data/test1418
@@ -22,6 +22,15 @@
 Please auth with me
 </data>
 
+<data3>
+HTTP/1.1 401 Authentication please!

+Content-Length: 20

+WWW-Authenticate: Digest realm="loonie", nonce="314156592"

+WWW-Authenticate: Basic

+

+Please auth with me
+</data3>
+
 # This is supposed to be returned when the server gets the second
 # Authorization: NTLM line passed-in from the client
 <data1000>
@@ -99,6 +108,10 @@
 

 GET /14180003 HTTP/1.1

 Host: %HOSTIP:%HTTPPORT

+Accept: */*

+

+GET /14180003 HTTP/1.1

+Host: %HOSTIP:%HTTPPORT

 Authorization: Digest username="testuser", realm="loonie", nonce="314156592", uri="/14180003", response="1c6390a67bac3283a9b023402f3b3540"

 Accept: */*

 

diff --git a/tests/data/test1420 b/tests/data/test1420
index ebd45ff..03c4584 100644
--- a/tests/data/test1420
+++ b/tests/data/test1420
@@ -66,7 +66,6 @@
   curl_easy_setopt(hnd, CURLOPT_BUFFERSIZE, 102400L);
   curl_easy_setopt(hnd, CURLOPT_URL, "imap://%HOSTIP:%IMAPPORT/1420/;MAILINDEX=1");
   curl_easy_setopt(hnd, CURLOPT_USERPWD, "user:secret");
-  curl_easy_setopt(hnd, CURLOPT_HTTP09_ALLOWED, 1L);
   curl_easy_setopt(hnd, CURLOPT_VERBOSE, 1L);
   curl_easy_setopt(hnd, CURLOPT_TCP_KEEPALIVE, 1L);
 
diff --git a/tests/data/test1514 b/tests/data/test1514
index 38f5da6..6c09ae3 100644
--- a/tests/data/test1514
+++ b/tests/data/test1514
@@ -4,13 +4,14 @@
 HTTP
 HTTP POST
 Content-Length
+chunked Transfer-Encoding
 </keywords>
 </info>
 
 # Server-side
 <reply>
 <data nocheck="yes">
-HTTP/1.1 411 Length Required

+HTTP/1.1 200 OK

 Date: Sun, 19 Jan 2014 18:50:58 GMT

 Server: test-server/fake swsclose

 Connection: close

@@ -36,13 +37,27 @@
 # Verify data after the test has been "shot"
 <verify>
 # Content-Length header is not present
+# Transfer-Encoding header is added automatically
 <protocol>
 POST /1514 HTTP/1.1

 Host: %HOSTIP:%HTTPPORT

 Accept: */*

+Transfer-Encoding: chunked

 Content-Type: application/x-www-form-urlencoded

 Expect: 100-continue

 

+1

+d

+1

+u

+1

+m

+1

+m

+1

+y

+0

+

 </protocol>
 </verify>
 </testcase>
diff --git a/tests/data/test153 b/tests/data/test153
index f679de4..77f7adb 100644
--- a/tests/data/test153
+++ b/tests/data/test153
@@ -9,7 +9,7 @@
 
 # Server-side
 <reply>
-# reply back and ask for Digest auth
+# First reply back and ask for Digest auth
 <data1>
 HTTP/1.1 401 Authorization Required swsclose

 Server: Apache/1.3.27 (Darwin) PHP/4.1.2

@@ -20,6 +20,17 @@
 This is not the real page
 </data1>
 
+# second reply back
+<data2>
+HTTP/1.1 401 Authorization Required swsclose

+Server: Apache/1.3.27 (Darwin) PHP/4.1.2

+WWW-Authenticate: Digest realm="testrealm", nonce="1053604145"

+Content-Type: text/html; charset=iso-8859-1

+Content-Length: 26

+

+This is not the real page
+</data2>
+
 # This is supposed to be returned when the server gets a
 # Authorization: Digest line passed-in from the client
 <data1001>
@@ -93,6 +104,11 @@
 

 GET /1530002 HTTP/1.1

 Host: %HOSTIP:%HTTPPORT

+User-Agent: curl/7.11.0-CVS (i686-pc-linux-gnu) libcurl/7.11.0-CVS OpenSSL/0.9.6b ipv6 zlib/1.1.4 GSS

+Accept: */*

+

+GET /1530002 HTTP/1.1

+Host: %HOSTIP:%HTTPPORT

 Authorization: Digest username="testuser", realm="testrealm", nonce="1053604145", uri="/1530002", response="f84511b014fdd0ba6494f42871079c32"

 User-Agent: curl/7.11.0-CVS (i686-pc-linux-gnu) libcurl/7.11.0-CVS OpenSSL/0.9.6b ipv6 zlib/1.1.4 GSS

 Accept: */*

@@ -117,6 +133,12 @@
 Content-Length: 23

 

 This IS the real page!
+HTTP/1.1 401 Authorization Required swsclose

+Server: Apache/1.3.27 (Darwin) PHP/4.1.2

+WWW-Authenticate: Digest realm="testrealm", nonce="1053604145"

+Content-Type: text/html; charset=iso-8859-1

+Content-Length: 26

+

 HTTP/1.1 401 Authorization re-negotiation please swsbounce

 Server: Apache/1.3.27 (Darwin) PHP/4.1.2

 WWW-Authenticate: Digest realm="testrealm", algorithm=MD5, nonce="999999", stale=true, qop="auth"

diff --git a/tests/data/test1538 b/tests/data/test1538
index 98d6731..9374deb 100644
--- a/tests/data/test1538
+++ b/tests/data/test1538
@@ -126,7 +126,8 @@
 e91: SSL server certificate status verification FAILED
 e92: Stream error in the HTTP/2 framing layer
 e93: API function called from within callback
-e94: Unknown error
+e94: An authentication function returned an error
+e95: Unknown error
 m-1: Please call curl_multi_perform() soon
 m0: No error
 m1: Invalid multi handle
diff --git a/tests/data/test1594 b/tests/data/test1594
new file mode 100644
index 0000000..4907ca2
--- /dev/null
+++ b/tests/data/test1594
@@ -0,0 +1,52 @@
+<testcase>
+<info>
+<keywords>
+HTTP
+HTTP GET
+HTTP replaced headers
+CURLOPT_TIMECONDITION
+If-Modified-Since
+</keywords>
+</info>
+
+# Server-side
+<reply>
+<data nocheck="yes">
+HTTP/1.1 503 Error
+Date: Thu, 11 Jul 2019 02:26:59 GMT
+Server: test-server/swsclose
+Retry-After: 22
+
+</data>
+</reply>
+# Client-side
+<client>
+<server>
+http
+</server>
+<name>
+HTTP Retry-After header parsing and extraction
+</name>
+<tool>
+lib1594
+</tool>
+<command>
+http://%HOSTIP:%HTTPPORT/1594
+</command>
+</client>
+
+<verify>
+<strip>
+^User-Agent:.*
+</strip>
+<protocol>
+GET /1594 HTTP/1.1

+Host: %HOSTIP:%HTTPPORT

+Accept: */*

+

+</protocol>
+<stdout>
+Retry-After: 22
+</stdout>
+</verify>
+</testcase>
diff --git a/tests/data/test1654 b/tests/data/test1654
index 175076c..5b32cb4 100644
--- a/tests/data/test1654
+++ b/tests/data/test1654
@@ -32,7 +32,7 @@
 <file name="log/1654" mode="text">
 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 1
 # a comment
-h2c example.com 443 h3 shiny.example.com 8443 "20291231 23:30:00" 0 1
+h2 foo.example.com 443 h3 shiny.example.com 8443 "20291231 23:30:00" 0 1
   h1 example.com 443 h3 shiny.example.com 8443 "20121231 00:00:01" 0 1
 	h3 example.com 443 h3 shiny.example.com 8443 "20131231 00:00:00" 0 1
     # also a comment
@@ -45,14 +45,14 @@
 # Your alt-svc cache. https://curl.haxx.se/docs/alt-svc.html
 # This file was generated by libcurl! Edit at your own risk.
 h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 1
-h2c example.com 443 h3 shiny.example.com 8443 "20291231 23:30:00" 0 1
+h2 foo.example.com 443 h3 shiny.example.com 8443 "20291231 23:30:00" 0 1
 h1 example.com 443 h3 shiny.example.com 8443 "20121231 00:00:01" 0 1
 h3 example.com 443 h3 shiny.example.com 8443 "20131231 00:00:00" 0 1
 h1 example.org 8080 h2 example.com 8080 "20190125 22:34:21" 0 0
 h1 2.example.org 8080 h3 2.example.org 8080 "20190125 22:34:21" 0 0
 h1 3.example.org 8080 h2 example.com 8080 "20190125 22:34:21" 0 0
 h1 3.example.org 8080 h3 yesyes.com 8080 "20190125 22:34:21" 0 0
-h2c example.org 80 h2 example.com 443 "20190124 22:36:21" 0 0
+h2 example.org 80 h2 example.com 443 "20190124 22:36:21" 0 0
 </file>
 </verify>
 </testcase>
diff --git a/tests/data/test2006 b/tests/data/test2006
index 3acbdae..4d08e0a 100644
--- a/tests/data/test2006
+++ b/tests/data/test2006
@@ -86,10 +86,6 @@
 Some data delivered from an HTTP resource
 </file1>
 <file2 name="log/heads2006">
-Content-Length: 496

-Accept-ranges: bytes

-
-

 HTTP/1.1 200 OK
 Date: Thu, 21 Jun 2012 14:49:01 GMT
 Server: test-server/fake
diff --git a/tests/data/test2007 b/tests/data/test2007
index b169c49..bb4d5cd 100644
--- a/tests/data/test2007
+++ b/tests/data/test2007
@@ -90,10 +90,6 @@
 s/Last-Modified:.*//
 </stripfile2>
 <file2 name="log/heads2007">
-Content-Length: 496

-Accept-ranges: bytes

-
-

 HTTP/1.1 200 OK
 Date: Thu, 21 Jun 2012 14:50:02 GMT
 Server: test-server/fake
diff --git a/tests/data/test2008 b/tests/data/test2008
index 012f221..d6bbf6b 100644
--- a/tests/data/test2008
+++ b/tests/data/test2008
@@ -82,10 +82,6 @@
 s/Last-Modified:.*//
 </stripfile2>
 <file2 name="log/heads2008">
-Content-Length: 496

-Accept-ranges: bytes

-
-

 HTTP/1.1 200 OK
 Date: Thu, 21 Jun 2012 15:23:48 GMT
 Server: test-server/fake
diff --git a/tests/data/test2009 b/tests/data/test2009
index b0e5c6c..1a93358 100644
--- a/tests/data/test2009
+++ b/tests/data/test2009
@@ -83,10 +83,6 @@
 s/Last-Modified:.*//
 </stripfile2>
 <file2 name="log/heads2009">
-Content-Length: 496

-Accept-ranges: bytes

-
-

 HTTP/1.1 200 OK
 Date: Thu, 21 Jun 2012 16:27:17 GMT
 Server: test-server/fake
diff --git a/tests/data/test2010 b/tests/data/test2010
index 33bb309..1f5320f 100644
--- a/tests/data/test2010
+++ b/tests/data/test2010
@@ -82,10 +82,6 @@
 s/Last-Modified:.*//
 </stripfile2>
 <file2 name="log/heads2010">
-Content-Length: 496

-Accept-ranges: bytes

-
-

 HTTP/1.1 200 OK
 Date: Thu, 21 Jun 2012 17:37:27 GMT
 Server: test-server/fake
diff --git a/tests/data/test2047 b/tests/data/test2047
index fc14048..bc73509 100644
--- a/tests/data/test2047
+++ b/tests/data/test2047
@@ -92,7 +92,7 @@
 1
 1
 3
-http://xn--4cab6c.se/20470001
+http://åäö.se/20470001
 text/plain; charset=us-ascii
 200
 </stdout>
diff --git a/tests/data/test2077 b/tests/data/test2077
new file mode 100644
index 0000000..0c600f5
--- /dev/null
+++ b/tests/data/test2077
@@ -0,0 +1,42 @@
+<testcase>
+<info>
+<keywords>
+HTTP
+HTTP GET
+GSS-API
+</keywords>
+</info>
+
+# Server-side
+<reply>
+<data>
+HTTP/1.1 200 OK swsclose

+Content-Length: 23

+

+This IS the real page!
+</data>
+</reply>
+
+# Client-side
+<client>
+<server>
+http
+</server>
+<features>
+GSS-API
+</features>
+<name>
+curl --fail --negotiate to unauthenticated service fails
+</name>
+<command>
+http://%HOSTIP:%HTTPPORT/2077 -u : --fail --negotiate
+</command>
+</client>
+
+# Verify data after the test has been "shot"
+<verify>
+<errorcode>
+0
+</errorcode>
+</verify>
+</testcase>
diff --git a/tests/data/test2078 b/tests/data/test2078
new file mode 100644
index 0000000..99bc2db
--- /dev/null
+++ b/tests/data/test2078
@@ -0,0 +1,54 @@
+<testcase>
+<info>
+<keywords>
+HTTP
+HTTP GET
+GSS-API
+</keywords>
+</info>
+
+# Server-side
+<reply>
+<data>
+HTTP/1.1 200 OK swsclose

+Content-Length: 23

+

+This IS the real page!
+</data>
+</reply>
+
+# Client-side
+<client>
+<server>
+http
+</server>
+<features>
+GSS-API
+</features>
+<name>
+curl --negotiate should not send empty POST request only
+</name>
+<command>
+http://%HOSTIP:%HTTPPORT/2078 -u : --negotiate --data name=value
+</command>
+</client>
+
+# Verify data after the test has been "shot"
+<verify>
+<errorcode>
+0
+</errorcode>
+<strip>
+^User-Agent:.*
+</strip>
+<protocol nonewline="yes">
+POST /2078 HTTP/1.1

+Host: 127.0.0.1:8990

+Accept: */*

+Content-Length: 10

+Content-Type: application/x-www-form-urlencoded

+

+name=value
+</protocol>
+</verify>
+</testcase>
diff --git a/tests/data/test335 b/tests/data/test335
new file mode 100644
index 0000000..4d54da9
--- /dev/null
+++ b/tests/data/test335
@@ -0,0 +1,102 @@
+# Mostly a duplicate of test168
+<testcase>
+<info>
+<keywords>
+HTTP
+HTTP GET
+HTTP proxy
+HTTP proxy Digest auth
+HTTP Digest auth
+HTTP auth in URL
+</keywords>
+</info>
+
+# Server-side
+<reply>
+
+# this is returned first since we get no proxy-auth
+<data>
+HTTP/1.1 407 Authorization Required to proxy me my dear swsclose
+Proxy-Authenticate: Digest realm="weirdorealm", nonce="12345"
+
+And you should ignore this data.
+</data>
+
+# then this is returned since we get no server-auth
+<data1000>
+HTTP/1.1 401 Authorization to the remote host as well swsbounce swsclose
+WWW-Authenticate: Digest realm="realmweirdo", nonce="123456"
+
+you should ignore this data too
+</data1000>
+
+<data1001>
+HTTP/1.1 200 OK swsclose
+Server: no
+Content-Length: 15
+
+Nice auth sir!
+</data1001>
+
+<datacheck>
+HTTP/1.1 407 Authorization Required to proxy me my dear swsclose
+Proxy-Authenticate: Digest realm="weirdorealm", nonce="12345"
+
+HTTP/1.1 401 Authorization to the remote host as well swsbounce swsclose
+WWW-Authenticate: Digest realm="realmweirdo", nonce="123456"
+
+HTTP/1.1 200 OK swsclose
+Server: no
+Content-Length: 15
+
+Nice auth sir!
+</datacheck>
+</reply>
+
+# Client-side
+<client>
+<server>
+http
+</server>
+<features>
+!SSPI
+crypto
+</features>
+ <name>
+HTTP with proxy Digest and site Digest with creds in URLs
+ </name>
+ <command>
+http://digest:alot@data.from.server.requiring.digest.hohoho.com/335 --proxy http://foo:bar@%HOSTIP:%HTTPPORT --proxy-digest --digest
+</command>
+</client>
+
+# Verify data after the test has been "shot"
+<verify>
+<strip>
+^User-Agent: curl/.*
+</strip>
+<protocol>
+GET http://data.from.server.requiring.digest.hohoho.com/335 HTTP/1.1

+Host: data.from.server.requiring.digest.hohoho.com

+User-Agent: curl/7.12.0-CVS (i686-pc-linux-gnu) libcurl/7.12.0-CVS OpenSSL/0.9.6b zlib/1.1.4 c-ares/1.2.0 libidn/0.4.3

+Accept: */*

+Proxy-Connection: Keep-Alive

+

+GET http://data.from.server.requiring.digest.hohoho.com/335 HTTP/1.1

+Host: data.from.server.requiring.digest.hohoho.com

+Proxy-Authorization: Digest username="foo", realm="weirdorealm", nonce="12345", uri="/335", response="f61609cd8f5bb205ef4e169b2c5626cb"

+User-Agent: curl/7.12.0-CVS (i686-pc-linux-gnu) libcurl/7.12.0-CVS OpenSSL/0.9.6b zlib/1.1.4 c-ares/1.2.0 libidn/0.4.3

+Accept: */*

+Proxy-Connection: Keep-Alive

+

+GET http://data.from.server.requiring.digest.hohoho.com/335 HTTP/1.1

+Host: data.from.server.requiring.digest.hohoho.com

+Proxy-Authorization: Digest username="foo", realm="weirdorealm", nonce="12345", uri="/335", response="f61609cd8f5bb205ef4e169b2c5626cb"

+Authorization: Digest username="digest", realm="realmweirdo", nonce="123456", uri="/335", response="08a2e2e684047f4219a38ddc189ac00c"

+User-Agent: curl/7.12.0-CVS (i686-pc-linux-gnu) libcurl/7.12.0-CVS OpenSSL/0.9.6b ipv6 zlib/1.1.4 GSS libidn/0.4.3

+Accept: */*

+Proxy-Connection: Keep-Alive

+

+</protocol>
+</verify>
+</testcase>
diff --git a/tests/data/test356 b/tests/data/test356
index e2ac486..1be05fe 100644
--- a/tests/data/test356
+++ b/tests/data/test356
@@ -16,7 +16,7 @@
 Connection: close
 Content-Type: text/html
 Funny-head: yesyes
-Alt-Svc: h1="nowhere.foo:81"
+Alt-Svc: h1="nowhere.foo:81", un-kno22!wn=":82"
 
 -foo-
 </data>
diff --git a/tests/data/test848 b/tests/data/test848
new file mode 100644
index 0000000..2b4a30b
--- /dev/null
+++ b/tests/data/test848
@@ -0,0 +1,56 @@
+<testcase>
+<info>
+<keywords>
+IMAP
+SASL
+SASL AUTH PLAIN
+RFC4616
+</keywords>
+</info>
+
+#
+# Server-side
+<reply>
+<servercmd>
+AUTH PLAIN
+REPLY AUTHENTICATE +
+REPLY c2hhcmVkLW1haWxib3gAdXNlcgBzZWNyZXQ= A002 OK AUTHENTICATE completed
+</servercmd>
+<data>
+From: me@somewhere

+To: fake@nowhere

+

+body

+

+--

+  yours sincerely

+</data>
+</reply>
+
+#
+# Client-side
+<client>
+<server>
+imap
+</server>
+ <name>
+IMAP plain authentication with alternative authorization identity
+ </name>
+ <command>
+'imap://%HOSTIP:%IMAPPORT/848/;MAILINDEX=1' -u user:secret --sasl-authzid shared-mailbox
+</command>
+</client>
+
+#
+# Verify data after the test has been "shot"
+<verify>
+<protocol>
+A001 CAPABILITY

+A002 AUTHENTICATE PLAIN

+c2hhcmVkLW1haWxib3gAdXNlcgBzZWNyZXQ=

+A003 SELECT 848

+A004 FETCH 1 BODY[]

+A005 LOGOUT

+</protocol>
+</verify>
+</testcase>
diff --git a/tests/data/test849 b/tests/data/test849
new file mode 100644
index 0000000..8a4b39c
--- /dev/null
+++ b/tests/data/test849
@@ -0,0 +1,51 @@
+<testcase>
+<info>
+<keywords>
+IMAP
+SASL
+SASL AUTH PLAIN
+RFC4616
+</keywords>
+</info>
+
+#
+# Server-side
+<reply>
+<servercmd>
+AUTH PLAIN
+REPLY AUTHENTICATE +
+REPLY dXJzZWwAa3VydAB4aXBqM3BsbXE= A002 NO Not authorized
+</servercmd>
+</reply>
+
+#
+# Client-side
+<client>
+<server>
+imap
+</server>
+ <name>
+IMAP plain authentication with alternative authorization identity (Not authorized)
+ </name>
+ <command>
+'imap://%HOSTIP:%IMAPPORT/849/;MAILINDEX=1' -u kurt:xipj3plmq --sasl-authzid ursel
+</command>
+</client>
+
+#
+# Verify data after the test has been "shot"
+<verify>
+# 67 - CURLE_LOGIN_DENIED
+<errorcode>
+67
+</errorcode>
+#
+# The multi interface considers a broken "CONNECT" as a prematurely broken
+# transfer and such a connection will not get a "LOGOUT"
+<protocol>
+A001 CAPABILITY

+A002 AUTHENTICATE PLAIN

+dXJzZWwAa3VydAB4aXBqM3BsbXE=

+</protocol>
+</verify>
+</testcase>
diff --git a/tests/data/test892 b/tests/data/test892
new file mode 100644
index 0000000..4b83182
--- /dev/null
+++ b/tests/data/test892
@@ -0,0 +1,57 @@
+<testcase>
+<info>
+<keywords>
+POP3
+SASL
+SASL AUTH PLAIN
+RFC1734
+RFC4616
+RFC5034
+</keywords>
+</info>
+
+#
+# Server-side
+<reply>
+<servercmd>
+AUTH PLAIN
+REPLY AUTH +
+REPLY c2hhcmVkLW1haWxib3gAdXNlcgBzZWNyZXQ= +OK Login successful
+</servercmd>
+<data>
+From: me@somewhere

+To: fake@nowhere

+

+body

+

+--

+  yours sincerely

+</data>
+</reply>
+
+#
+# Client-side
+<client>
+<server>
+pop3
+</server>
+ <name>
+POP3 plain authentication with alternative authorization identity
+ </name>
+ <command>
+pop3://%HOSTIP:%POP3PORT/892 -u user:secret --sasl-authzid shared-mailbox
+</command>
+</client>
+
+#
+# Verify data after the test has been "shot"
+<verify>
+<protocol>
+CAPA

+AUTH PLAIN

+c2hhcmVkLW1haWxib3gAdXNlcgBzZWNyZXQ=

+RETR 892

+QUIT

+</protocol>
+</verify>
+</testcase>
diff --git a/tests/data/test893 b/tests/data/test893
new file mode 100644
index 0000000..2a762fc
--- /dev/null
+++ b/tests/data/test893
@@ -0,0 +1,53 @@
+<testcase>
+<info>
+<keywords>
+POP3
+SASL
+SASL AUTH PLAIN
+RFC1734
+RFC4616
+RFC5034
+</keywords>
+</info>
+
+#
+# Server-side
+<reply>
+<servercmd>
+AUTH PLAIN
+REPLY AUTH +
+REPLY dXJzZWwAa3VydAB4aXBqM3BsbXE= -ERR Not authorized
+</servercmd>
+</reply>
+
+#
+# Client-side
+<client>
+<server>
+pop3
+</server>
+ <name>
+POP3 plain authentication with alternative authorization identity (Not authorized)
+ </name>
+ <command>
+pop3://%HOSTIP:%POP3PORT/893 -u kurt:xipj3plmq --sasl-authzid ursel
+</command>
+</client>
+
+#
+# Verify data after the test has been "shot"
+<verify>
+# 67 - CURLE_LOGIN_DENIED
+<errorcode>
+67
+</errorcode>
+#
+# The multi interface considers a broken "CONNECT" as a prematurely broken
+# transfer and such a connection will not get a "QUIT"
+<protocol>
+CAPA

+AUTH PLAIN

+dXJzZWwAa3VydAB4aXBqM3BsbXE=

+</protocol>
+</verify>
+</testcase>
diff --git a/tests/data/test953 b/tests/data/test953
new file mode 100644
index 0000000..4a70e1f
--- /dev/null
+++ b/tests/data/test953
@@ -0,0 +1,56 @@
+<testcase>
+<info>
+<keywords>
+SMTP
+SASL
+SASL AUTH PLAIN
+RFC4616
+RFC4954
+</keywords>
+</info>
+
+#
+# Server-side
+<reply>
+<servercmd>
+AUTH PLAIN
+REPLY AUTH 334 PLAIN supported
+REPLY dXJzZWwAa3VydAB4aXBqM3BsbXE= 235 Authenticated
+</servercmd>
+</reply>
+
+#
+# Client-side
+<client>
+<server>
+smtp
+</server>
+ <name>
+SMTP plain authentication with alternative authorization identity
+ </name>
+<stdin>
+mail body

+</stdin>
+ <command>
+smtp://%HOSTIP:%SMTPPORT/953 --mail-rcpt recipient@example.com --mail-from sender@example.com -u kurt:xipj3plmq --sasl-authzid ursel -T -
+</command>
+</client>
+
+#
+# Verify data after the test has been "shot"
+<verify>
+<protocol>
+EHLO 953

+AUTH PLAIN

+dXJzZWwAa3VydAB4aXBqM3BsbXE=

+MAIL FROM:<sender@example.com>

+RCPT TO:<recipient@example.com>

+DATA

+QUIT

+</protocol>
+<upload>
+mail body

+.

+</upload>
+</verify>
+</testcase>
diff --git a/tests/data/test954 b/tests/data/test954
new file mode 100644
index 0000000..a5e6bb0
--- /dev/null
+++ b/tests/data/test954
@@ -0,0 +1,55 @@
+<testcase>
+<info>
+<keywords>
+SMTP
+SASL
+SASL AUTH PLAIN
+RFC4616
+RFC4954
+</keywords>
+</info>
+
+#
+# Server-side
+<reply>
+<servercmd>
+AUTH PLAIN
+REPLY AUTH 334 PLAIN supported
+REPLY dXJzZWwAa3VydAB4aXBqM3BsbXE= 501 Not authorized
+</servercmd>
+</reply>
+
+#
+# Client-side
+<client>
+<server>
+smtp
+</server>
+ <name>
+SMTP plain authentication with alternative authorization identity (Not authorized)
+ </name>
+<stdin>
+mail body
+</stdin>
+ <command>
+smtp://%HOSTIP:%SMTPPORT/954 --mail-rcpt recipient@example.com --mail-from sender@example.com -u kurt:xipj3plmq --sasl-authzid ursel -T -
+</command>
+</client>
+
+#
+# Verify data after the test has been "shot"
+<verify>
+# 67 - CURLE_LOGIN_DENIED
+<errorcode>
+67
+</errorcode>
+#
+# The multi interface considers a broken "CONNECT" as a prematurely broken
+# transfer and such a connection will not get a "QUIT"
+<protocol>
+EHLO 954

+AUTH PLAIN

+dXJzZWwAa3VydAB4aXBqM3BsbXE=

+</protocol>
+</verify>
+</testcase>
diff --git a/tests/libtest/Makefile.inc b/tests/libtest/Makefile.inc
index f5effd9..4ea9cf2 100644
--- a/tests/libtest/Makefile.inc
+++ b/tests/libtest/Makefile.inc
@@ -32,7 +32,7 @@
  lib1540 lib1541 \
  lib1550 lib1551 lib1552 lib1553 lib1554 lib1555 lib1556 lib1557 \
  lib1558 lib1559 lib1560 \
- lib1591 lib1592 lib1593 \
+ lib1591 lib1592 lib1593 lib1594 lib1596 \
  lib1900 lib1905 lib1906 \
  lib2033
 
@@ -544,6 +544,13 @@
 lib1593_SOURCES = lib1593.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS)
 lib1593_LDADD = $(TESTUTIL_LIBS)
 
+lib1594_SOURCES = lib1594.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS)
+lib1594_LDADD = $(TESTUTIL_LIBS)
+
+lib1596_SOURCES = lib1594.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS)
+lib1596_LDADD = $(TESTUTIL_LIBS)
+lib1596_CPPFLAGS = $(AM_CPPFLAGS) -DLIB1596
+
 lib1900_SOURCES = lib1900.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS)
 lib1900_LDADD = $(TESTUTIL_LIBS)
 lib1900_CPPFLAGS = $(AM_CPPFLAGS)
diff --git a/tests/libtest/first.c b/tests/libtest/first.c
index d687bf2..2731ef8 100644
--- a/tests/libtest/first.c
+++ b/tests/libtest/first.c
@@ -97,9 +97,9 @@
     strcpy(fname, env);
     curl_free(env);
     curl_dbg_memdebug(fname);
-    /* this weird stuff here is to make curl_free() get called
-       before curl_memdebug() as otherwise memory tracking will
-       log a free() without an alloc! */
+    /* this weird stuff here is to make curl_free() get called before
+       curl_dbg_memdebug() as otherwise memory tracking will log a free()
+       without an alloc! */
   }
   /* if CURL_MEMLIMIT is set, this enables fail-on-alloc-number-N feature */
   env = curl_getenv("CURL_MEMLIMIT");
diff --git a/tests/libtest/lib1560.c b/tests/libtest/lib1560.c
index 1185096..8588447 100644
--- a/tests/libtest/lib1560.c
+++ b/tests/libtest/lib1560.c
@@ -140,6 +140,10 @@
    "file | [11] | [12] | [13] | [14] | [15] | C:\\programs\\foo | [16] | [17]",
    CURLU_DEFAULT_SCHEME, 0, CURLUE_OK},
 #endif
+  {"http://[ab.be:1]/x", "",
+   CURLU_DEFAULT_SCHEME, 0, CURLUE_MALFORMED_INPUT},
+  {"http://[ab.be]/x", "",
+   CURLU_DEFAULT_SCHEME, 0, CURLUE_MALFORMED_INPUT},
   /* URL without host name */
   {"http://a:b@/x", "",
    CURLU_DEFAULT_SCHEME, 0, CURLUE_NO_HOST},
diff --git a/tests/libtest/lib1594.c b/tests/libtest/lib1594.c
new file mode 100644
index 0000000..a769715
--- /dev/null
+++ b/tests/libtest/lib1594.c
@@ -0,0 +1,66 @@
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
+ *
+ * This software is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at https://curl.haxx.se/docs/copyright.html.
+ *
+ * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+ * copies of the Software, and permit persons to whom the Software is
+ * furnished to do so, under the terms of the COPYING file.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ ***************************************************************************/
+
+/* Testing Retry-After header parser */
+
+#include "test.h"
+
+#include "memdebug.h"
+
+int test(char *URL)
+{
+  struct curl_slist *header = NULL;
+  curl_off_t retry;
+  CURL *curl = NULL;
+  int res = 0;
+
+  global_init(CURL_GLOBAL_ALL);
+
+  easy_init(curl);
+
+  easy_setopt(curl, CURLOPT_URL, URL);
+
+  res = curl_easy_perform(curl);
+  if(res)
+    goto test_cleanup;
+
+  res = curl_easy_getinfo(curl, CURLINFO_RETRY_AFTER, &retry);
+  if(res)
+    goto test_cleanup;
+
+#ifdef LIB1596
+  /* we get a relative number of seconds, so add the number of seconds
+     we're at to make it a somewhat stable number. Then remove accuracy. */
+  retry += time(NULL);
+  retry /= 10000;
+#endif
+  printf("Retry-After: %" CURL_FORMAT_CURL_OFF_T "\n", retry);
+
+test_cleanup:
+
+  /* always cleanup */
+  curl_easy_cleanup(curl);
+  curl_slist_free_all(header);
+  curl_global_cleanup();
+
+  return res;
+}
diff --git a/tests/runtests.1 b/tests/runtests.1
index afc3318..58d441b 100644
--- a/tests/runtests.1
+++ b/tests/runtests.1
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH runtests.pl 1 "May 05, 2017" "Curl 7.65.3" "runtests"
+.TH runtests.pl 1 "May 05, 2017" "Curl 7.66.0" "runtests"
 
 .SH NAME
 runtests.pl \- run one or more test cases
diff --git a/tests/symbol-scan.pl b/tests/symbol-scan.pl
index 6706aa7..1379299 100755
--- a/tests/symbol-scan.pl
+++ b/tests/symbol-scan.pl
@@ -119,11 +119,13 @@
     # CURL_EXTERN - is a define used for libcurl functions that are external,
     # public. No app or other code should ever use it.
     #
+    # CURLINC_ - defines for header dual-include prevention, ignore those.
+    #
     # *_LAST and *_LASTENTRY are just prefix for the placeholders used for the
     # last entry in many enum series.
     #
 
-    if($e =~ /(OBSOLETE|^CURL_EXTERN|_LAST\z|_LASTENTRY\z)/) {
+    if($e =~ /(OBSOLETE|^CURL_EXTERN|^CURLINC_|_LAST\z|_LASTENTRY\z)/) {
         $ignored++;
         next;
     }
diff --git a/tests/testcurl.1 b/tests/testcurl.1
index f5b52ee..561b77a 100644
--- a/tests/testcurl.1
+++ b/tests/testcurl.1
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH testcurl.pl 1 "October 22, 2016" "Curl 7.65.3" "testcurl"
+.TH testcurl.pl 1 "October 22, 2016" "Curl 7.66.0" "testcurl"
 
 .SH NAME
 testcurl.pl \- (automatically) test curl
diff --git a/tests/unit/unit1607.c b/tests/unit/unit1607.c
index 6e40be7..a8b0331 100644
--- a/tests/unit/unit1607.c
+++ b/tests/unit/unit1607.c
@@ -25,10 +25,6 @@
 #include "connect.h"
 #include "share.h"
 
-/* retrieves ip address and port from a sockaddr structure.
-   note it calls Curl_inet_ntop which sets errno on fail, not SOCKERRNO. */
-bool getaddressinfo(struct sockaddr *sa, char *addr, long *port);
-
 #include "memdebug.h" /* LAST include file */
 
 static void unit_stop(void)
@@ -154,8 +150,8 @@
       if(tests[i].address[j] == &skip)
         continue;
 
-      if(addr && !getaddressinfo(addr->ai_addr,
-                                 ipaddress, &port)) {
+      if(addr && !Curl_addr2string(addr->ai_addr, addr->ai_addrlen,
+                                   ipaddress, &port)) {
         fprintf(stderr, "%s:%d tests[%d] failed. getaddressinfo failed.\n",
                 __FILE__, __LINE__, i);
         problem = true;
diff --git a/tests/unit/unit1609.c b/tests/unit/unit1609.c
index 8d9bc65..8223a14 100644
--- a/tests/unit/unit1609.c
+++ b/tests/unit/unit1609.c
@@ -25,10 +25,6 @@
 #include "connect.h"
 #include "share.h"
 
-/* retrieves ip address and port from a sockaddr structure.
-   note it calls Curl_inet_ntop which sets errno on fail, not SOCKERRNO. */
-bool getaddressinfo(struct sockaddr *sa, char *addr, long *port);
-
 #include "memdebug.h" /* LAST include file */
 
 static void unit_stop(void)
@@ -154,9 +150,9 @@
       if(!addr && !tests[i].address[j])
         break;
 
-      if(addr && !getaddressinfo(addr->ai_addr,
-                                 ipaddress, &port)) {
-        fprintf(stderr, "%s:%d tests[%d] failed. getaddressinfo failed.\n",
+      if(addr && !Curl_addr2string(addr->ai_addr, addr->ai_addrlen,
+                                   ipaddress, &port)) {
+        fprintf(stderr, "%s:%d tests[%d] failed. Curl_addr2string failed.\n",
                 __FILE__, __LINE__, i);
         problem = true;
         break;
diff --git a/tests/unit/unit1654.c b/tests/unit/unit1654.c
index 9d1a3e2..51fc5d1 100644
--- a/tests/unit/unit1654.c
+++ b/tests/unit/unit1654.c
@@ -90,7 +90,7 @@
   fail_unless(asi->num == 8, "wrong number of entries");
 
   result = Curl_altsvc_parse(curl, asi, "h2=\"example.com:443\"; ma = 120;",
-                             ALPN_h2c, "example.org", 80);
+                             ALPN_h2, "example.org", 80);
   if(result) {
     fprintf(stderr, "Curl_altsvc_parse(4) failed!\n");
     unitfail++;
diff --git a/winbuild/MakefileBuild.vc b/winbuild/MakefileBuild.vc
index 993ab38..b5742e1 100644
--- a/winbuild/MakefileBuild.vc
+++ b/winbuild/MakefileBuild.vc
@@ -559,6 +559,7 @@
 	@if not exist "$(LIB_DIROBJ)" mkdir $(LIB_DIROBJ)

 	@if not exist "$(LIB_DIROBJ)\vauth" mkdir $(LIB_DIROBJ)\vauth

 	@if not exist "$(LIB_DIROBJ)\vtls" mkdir $(LIB_DIROBJ)\vtls

+	@if not exist "$(LIB_DIROBJ)\vquic" mkdir $(LIB_DIROBJ)\vquic

 

 $(CURL_DIROBJ):

 	@if not exist "$(CURL_DIROBJ)" mkdir $(CURL_DIROBJ)

@@ -577,6 +578,9 @@
 {$(LIBCURL_SRC_DIR)\vtls\}.c{$(LIB_DIROBJ)\vtls\}.obj:

 	$(CURL_CC) $(CFLAGS) /Fo"$@"  $<

 

+{$(LIBCURL_SRC_DIR)\vquic\}.c{$(LIB_DIROBJ)\vquic\}.obj:

+	$(CURL_CC) $(CFLAGS) /Fo"$@"  $<

+

 $(LIB_DIROBJ)\libcurl.res: $(LIBCURL_SRC_DIR)\libcurl.rc

 	$(RC) $(RC_FLAGS)