From a2655acd2a3f72497d9af90f823420f74804117a Mon Sep 17 00:00:00 2001 From: Lantao Liu Date: Mon, 10 Sep 2018 17:31:42 -0700 Subject: [PATCH] Update kubernetes to v1.12.0-beta.1. Signed-off-by: Lantao Liu --- vendor.conf | 11 +- vendor/golang.org/x/oauth2/LICENSE | 27 + vendor/golang.org/x/oauth2/README.md | 74 ++ .../golang.org/x/oauth2/client_appengine.go | 25 + vendor/golang.org/x/oauth2/internal/oauth2.go | 76 ++ vendor/golang.org/x/oauth2/internal/token.go | 247 +++++ .../golang.org/x/oauth2/internal/transport.go | 69 ++ vendor/golang.org/x/oauth2/oauth2.go | 340 ++++++ vendor/golang.org/x/oauth2/token.go | 158 +++ vendor/golang.org/x/oauth2/transport.go | 132 +++ vendor/k8s.io/api/core/v1/generated.pb.go | 997 +++++++++--------- vendor/k8s.io/api/core/v1/generated.proto | 10 +- vendor/k8s.io/api/core/v1/types.go | 10 +- .../core/v1/types_swagger_doc_generated.go | 5 +- .../api/core/v1/zz_generated.deepcopy.go | 7 +- .../pkg/apis/meta/v1/generated.proto | 29 +- .../apimachinery/pkg/apis/meta/v1/types.go | 29 +- .../meta/v1/types_swagger_doc_generated.go | 4 +- .../apimachinery/pkg/util/net/interface.go | 26 +- .../pkg/util/validation/validation.go | 16 + vendor/k8s.io/client-go/rest/config.go | 15 +- vendor/k8s.io/client-go/rest/token_source.go | 138 +++ .../k8s.io/kubernetes/pkg/apis/core/types.go | 29 +- .../pkg/apis/core/zz_generated.deepcopy.go | 12 +- .../apis/cri/runtime/v1alpha2/api.pb.go | 589 +++++------ 25 files changed, 2255 insertions(+), 820 deletions(-) create mode 100644 vendor/golang.org/x/oauth2/LICENSE create mode 100644 vendor/golang.org/x/oauth2/README.md create mode 100644 vendor/golang.org/x/oauth2/client_appengine.go create mode 100644 vendor/golang.org/x/oauth2/internal/oauth2.go create mode 100644 vendor/golang.org/x/oauth2/internal/token.go create mode 100644 vendor/golang.org/x/oauth2/internal/transport.go create mode 100644 vendor/golang.org/x/oauth2/oauth2.go create mode 100644 vendor/golang.org/x/oauth2/token.go create mode 100644 vendor/golang.org/x/oauth2/transport.go create mode 100644 vendor/k8s.io/client-go/rest/token_source.go diff --git a/vendor.conf b/vendor.conf index b52c4db62..558065447 100644 --- a/vendor.conf +++ b/vendor.conf @@ -61,6 +61,7 @@ github.com/xeipuuv/gojsonreference bd5ef7bd5415a7ac448318e64f11a24cd21e594b github.com/xeipuuv/gojsonschema 1d523034197ff1f222f6429836dd36a2457a1874 golang.org/x/crypto 49796115aa4b964c318aad4f3084fdb41e9aa067 golang.org/x/net b3756b4b77d7b13260a0a2ec658753cf48922eac +golang.org/x/oauth2 a6bd8cefa1811bd24b86f8902872e4e8225f74c4 golang.org/x/sync 450f422ab23cf9881c94e2db30cac0eb1b7cf80c golang.org/x/sys 1b2967e3c290b7c545b3db0deeda16e9be4f98a2 https://github.com/golang/sys golang.org/x/text 19e51611da83d6be54ddafce4a4af510cb3e9ea4 @@ -69,9 +70,9 @@ google.golang.org/genproto d80a6e20e776b0b17a324d0ba1ab50a39c8e8944 google.golang.org/grpc v1.12.0 gopkg.in/inf.v0 3887ee99ecf07df5b447e9b00d9c0b2adaa9f3e4 gopkg.in/yaml.v2 53feefa2559fb8dfa8d81baad31be332c97d6c77 -k8s.io/api 12ee108019c2efdc50febb4937fe054aede5d660 -k8s.io/apimachinery c6b66c9c507abbefa93ad83f7fe8c9b52ca1ae30 -k8s.io/apiserver ecbc9eada272b5735d74d2dd0f944dfdefdbb2a5 -k8s.io/client-go 22e1ddcc4852ed93b2c34ef13fbb287f794200ae -k8s.io/kubernetes 6b7c39a4f8d4c38e8724550cc3e6e41b7ac7a276 +k8s.io/api 012f271b5d41baad56190c5f1ae19bff16df0fd8 +k8s.io/apimachinery 6429050ef506887d121f3e7306e894f8900d8a63 +k8s.io/apiserver e9312c15296b6c2c923ebd5031ff5d1d5fd022d7 +k8s.io/client-go 37c3c02ec96533daec0dbda1f39a6b1d68505c79 +k8s.io/kubernetes v1.12.0-beta.1 k8s.io/utils 982821ea41da7e7c15f3d3738921eb2e7e241ccd diff --git a/vendor/golang.org/x/oauth2/LICENSE b/vendor/golang.org/x/oauth2/LICENSE new file mode 100644 index 000000000..d02f24fd5 --- /dev/null +++ b/vendor/golang.org/x/oauth2/LICENSE @@ -0,0 +1,27 @@ +Copyright (c) 2009 The oauth2 Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/vendor/golang.org/x/oauth2/README.md b/vendor/golang.org/x/oauth2/README.md new file mode 100644 index 000000000..b0ddf3c10 --- /dev/null +++ b/vendor/golang.org/x/oauth2/README.md @@ -0,0 +1,74 @@ +# OAuth2 for Go + +[![Build Status](https://travis-ci.org/golang/oauth2.svg?branch=master)](https://travis-ci.org/golang/oauth2) +[![GoDoc](https://godoc.org/golang.org/x/oauth2?status.svg)](https://godoc.org/golang.org/x/oauth2) + +oauth2 package contains a client implementation for OAuth 2.0 spec. + +## Installation + +~~~~ +go get golang.org/x/oauth2 +~~~~ + +See godoc for further documentation and examples. + +* [godoc.org/golang.org/x/oauth2](http://godoc.org/golang.org/x/oauth2) +* [godoc.org/golang.org/x/oauth2/google](http://godoc.org/golang.org/x/oauth2/google) + + +## App Engine + +In change 96e89be (March 2015) we removed the `oauth2.Context2` type in favor +of the [`context.Context`](https://golang.org/x/net/context#Context) type from +the `golang.org/x/net/context` package + +This means its no longer possible to use the "Classic App Engine" +`appengine.Context` type with the `oauth2` package. (You're using +Classic App Engine if you import the package `"appengine"`.) + +To work around this, you may use the new `"google.golang.org/appengine"` +package. This package has almost the same API as the `"appengine"` package, +but it can be fetched with `go get` and used on "Managed VMs" and well as +Classic App Engine. + +See the [new `appengine` package's readme](https://github.com/golang/appengine#updating-a-go-app-engine-app) +for information on updating your app. + +If you don't want to update your entire app to use the new App Engine packages, +you may use both sets of packages in parallel, using only the new packages +with the `oauth2` package. + + import ( + "golang.org/x/net/context" + "golang.org/x/oauth2" + "golang.org/x/oauth2/google" + newappengine "google.golang.org/appengine" + newurlfetch "google.golang.org/appengine/urlfetch" + + "appengine" + ) + + func handler(w http.ResponseWriter, r *http.Request) { + var c appengine.Context = appengine.NewContext(r) + c.Infof("Logging a message with the old package") + + var ctx context.Context = newappengine.NewContext(r) + client := &http.Client{ + Transport: &oauth2.Transport{ + Source: google.AppEngineTokenSource(ctx, "scope"), + Base: &newurlfetch.Transport{Context: ctx}, + }, + } + client.Get("...") + } + +## Contributing + +We appreciate your help! + +To contribute, please read the contribution guidelines: + https://golang.org/doc/contribute.html + +Note that the Go project does not use GitHub pull requests but +uses Gerrit for code reviews. See the contribution guide for details. diff --git a/vendor/golang.org/x/oauth2/client_appengine.go b/vendor/golang.org/x/oauth2/client_appengine.go new file mode 100644 index 000000000..8962c49d1 --- /dev/null +++ b/vendor/golang.org/x/oauth2/client_appengine.go @@ -0,0 +1,25 @@ +// Copyright 2014 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build appengine + +// App Engine hooks. + +package oauth2 + +import ( + "net/http" + + "golang.org/x/net/context" + "golang.org/x/oauth2/internal" + "google.golang.org/appengine/urlfetch" +) + +func init() { + internal.RegisterContextClientFunc(contextClientAppEngine) +} + +func contextClientAppEngine(ctx context.Context) (*http.Client, error) { + return urlfetch.Client(ctx), nil +} diff --git a/vendor/golang.org/x/oauth2/internal/oauth2.go b/vendor/golang.org/x/oauth2/internal/oauth2.go new file mode 100644 index 000000000..e31541b39 --- /dev/null +++ b/vendor/golang.org/x/oauth2/internal/oauth2.go @@ -0,0 +1,76 @@ +// Copyright 2014 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package internal contains support packages for oauth2 package. +package internal + +import ( + "bufio" + "crypto/rsa" + "crypto/x509" + "encoding/pem" + "errors" + "fmt" + "io" + "strings" +) + +// ParseKey converts the binary contents of a private key file +// to an *rsa.PrivateKey. It detects whether the private key is in a +// PEM container or not. If so, it extracts the the private key +// from PEM container before conversion. It only supports PEM +// containers with no passphrase. +func ParseKey(key []byte) (*rsa.PrivateKey, error) { + block, _ := pem.Decode(key) + if block != nil { + key = block.Bytes + } + parsedKey, err := x509.ParsePKCS8PrivateKey(key) + if err != nil { + parsedKey, err = x509.ParsePKCS1PrivateKey(key) + if err != nil { + return nil, fmt.Errorf("private key should be a PEM or plain PKSC1 or PKCS8; parse error: %v", err) + } + } + parsed, ok := parsedKey.(*rsa.PrivateKey) + if !ok { + return nil, errors.New("private key is invalid") + } + return parsed, nil +} + +func ParseINI(ini io.Reader) (map[string]map[string]string, error) { + result := map[string]map[string]string{ + "": {}, // root section + } + scanner := bufio.NewScanner(ini) + currentSection := "" + for scanner.Scan() { + line := strings.TrimSpace(scanner.Text()) + if strings.HasPrefix(line, ";") { + // comment. + continue + } + if strings.HasPrefix(line, "[") && strings.HasSuffix(line, "]") { + currentSection = strings.TrimSpace(line[1 : len(line)-1]) + result[currentSection] = map[string]string{} + continue + } + parts := strings.SplitN(line, "=", 2) + if len(parts) == 2 && parts[0] != "" { + result[currentSection][strings.TrimSpace(parts[0])] = strings.TrimSpace(parts[1]) + } + } + if err := scanner.Err(); err != nil { + return nil, fmt.Errorf("error scanning ini: %v", err) + } + return result, nil +} + +func CondVal(v string) []string { + if v == "" { + return nil + } + return []string{v} +} diff --git a/vendor/golang.org/x/oauth2/internal/token.go b/vendor/golang.org/x/oauth2/internal/token.go new file mode 100644 index 000000000..018b58ad1 --- /dev/null +++ b/vendor/golang.org/x/oauth2/internal/token.go @@ -0,0 +1,247 @@ +// Copyright 2014 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package internal contains support packages for oauth2 package. +package internal + +import ( + "encoding/json" + "fmt" + "io" + "io/ioutil" + "mime" + "net/http" + "net/url" + "strconv" + "strings" + "time" + + "golang.org/x/net/context" +) + +// Token represents the crendentials used to authorize +// the requests to access protected resources on the OAuth 2.0 +// provider's backend. +// +// This type is a mirror of oauth2.Token and exists to break +// an otherwise-circular dependency. Other internal packages +// should convert this Token into an oauth2.Token before use. +type Token struct { + // AccessToken is the token that authorizes and authenticates + // the requests. + AccessToken string + + // TokenType is the type of token. + // The Type method returns either this or "Bearer", the default. + TokenType string + + // RefreshToken is a token that's used by the application + // (as opposed to the user) to refresh the access token + // if it expires. + RefreshToken string + + // Expiry is the optional expiration time of the access token. + // + // If zero, TokenSource implementations will reuse the same + // token forever and RefreshToken or equivalent + // mechanisms for that TokenSource will not be used. + Expiry time.Time + + // Raw optionally contains extra metadata from the server + // when updating a token. + Raw interface{} +} + +// tokenJSON is the struct representing the HTTP response from OAuth2 +// providers returning a token in JSON form. +type tokenJSON struct { + AccessToken string `json:"access_token"` + TokenType string `json:"token_type"` + RefreshToken string `json:"refresh_token"` + ExpiresIn expirationTime `json:"expires_in"` // at least PayPal returns string, while most return number + Expires expirationTime `json:"expires"` // broken Facebook spelling of expires_in +} + +func (e *tokenJSON) expiry() (t time.Time) { + if v := e.ExpiresIn; v != 0 { + return time.Now().Add(time.Duration(v) * time.Second) + } + if v := e.Expires; v != 0 { + return time.Now().Add(time.Duration(v) * time.Second) + } + return +} + +type expirationTime int32 + +func (e *expirationTime) UnmarshalJSON(b []byte) error { + var n json.Number + err := json.Unmarshal(b, &n) + if err != nil { + return err + } + i, err := n.Int64() + if err != nil { + return err + } + *e = expirationTime(i) + return nil +} + +var brokenAuthHeaderProviders = []string{ + "https://accounts.google.com/", + "https://api.codeswholesale.com/oauth/token", + "https://api.dropbox.com/", + "https://api.dropboxapi.com/", + "https://api.instagram.com/", + "https://api.netatmo.net/", + "https://api.odnoklassniki.ru/", + "https://api.pushbullet.com/", + "https://api.soundcloud.com/", + "https://api.twitch.tv/", + "https://app.box.com/", + "https://connect.stripe.com/", + "https://graph.facebook.com", // see https://github.com/golang/oauth2/issues/214 + "https://login.microsoftonline.com/", + "https://login.salesforce.com/", + "https://oauth.sandbox.trainingpeaks.com/", + "https://oauth.trainingpeaks.com/", + "https://oauth.vk.com/", + "https://openapi.baidu.com/", + "https://slack.com/", + "https://test-sandbox.auth.corp.google.com", + "https://test.salesforce.com/", + "https://user.gini.net/", + "https://www.douban.com/", + "https://www.googleapis.com/", + "https://www.linkedin.com/", + "https://www.strava.com/oauth/", + "https://www.wunderlist.com/oauth/", + "https://api.patreon.com/", + "https://sandbox.codeswholesale.com/oauth/token", +} + +// brokenAuthHeaderDomains lists broken providers that issue dynamic endpoints. +var brokenAuthHeaderDomains = []string{ + ".force.com", + ".okta.com", + ".oktapreview.com", +} + +func RegisterBrokenAuthHeaderProvider(tokenURL string) { + brokenAuthHeaderProviders = append(brokenAuthHeaderProviders, tokenURL) +} + +// providerAuthHeaderWorks reports whether the OAuth2 server identified by the tokenURL +// implements the OAuth2 spec correctly +// See https://code.google.com/p/goauth2/issues/detail?id=31 for background. +// In summary: +// - Reddit only accepts client secret in the Authorization header +// - Dropbox accepts either it in URL param or Auth header, but not both. +// - Google only accepts URL param (not spec compliant?), not Auth header +// - Stripe only accepts client secret in Auth header with Bearer method, not Basic +func providerAuthHeaderWorks(tokenURL string) bool { + for _, s := range brokenAuthHeaderProviders { + if strings.HasPrefix(tokenURL, s) { + // Some sites fail to implement the OAuth2 spec fully. + return false + } + } + + if u, err := url.Parse(tokenURL); err == nil { + for _, s := range brokenAuthHeaderDomains { + if strings.HasSuffix(u.Host, s) { + return false + } + } + } + + // Assume the provider implements the spec properly + // otherwise. We can add more exceptions as they're + // discovered. We will _not_ be adding configurable hooks + // to this package to let users select server bugs. + return true +} + +func RetrieveToken(ctx context.Context, clientID, clientSecret, tokenURL string, v url.Values) (*Token, error) { + hc, err := ContextClient(ctx) + if err != nil { + return nil, err + } + bustedAuth := !providerAuthHeaderWorks(tokenURL) + if bustedAuth { + if clientID != "" { + v.Set("client_id", clientID) + } + if clientSecret != "" { + v.Set("client_secret", clientSecret) + } + } + req, err := http.NewRequest("POST", tokenURL, strings.NewReader(v.Encode())) + if err != nil { + return nil, err + } + req.Header.Set("Content-Type", "application/x-www-form-urlencoded") + if !bustedAuth { + req.SetBasicAuth(clientID, clientSecret) + } + r, err := hc.Do(req) + if err != nil { + return nil, err + } + defer r.Body.Close() + body, err := ioutil.ReadAll(io.LimitReader(r.Body, 1<<20)) + if err != nil { + return nil, fmt.Errorf("oauth2: cannot fetch token: %v", err) + } + if code := r.StatusCode; code < 200 || code > 299 { + return nil, fmt.Errorf("oauth2: cannot fetch token: %v\nResponse: %s", r.Status, body) + } + + var token *Token + content, _, _ := mime.ParseMediaType(r.Header.Get("Content-Type")) + switch content { + case "application/x-www-form-urlencoded", "text/plain": + vals, err := url.ParseQuery(string(body)) + if err != nil { + return nil, err + } + token = &Token{ + AccessToken: vals.Get("access_token"), + TokenType: vals.Get("token_type"), + RefreshToken: vals.Get("refresh_token"), + Raw: vals, + } + e := vals.Get("expires_in") + if e == "" { + // TODO(jbd): Facebook's OAuth2 implementation is broken and + // returns expires_in field in expires. Remove the fallback to expires, + // when Facebook fixes their implementation. + e = vals.Get("expires") + } + expires, _ := strconv.Atoi(e) + if expires != 0 { + token.Expiry = time.Now().Add(time.Duration(expires) * time.Second) + } + default: + var tj tokenJSON + if err = json.Unmarshal(body, &tj); err != nil { + return nil, err + } + token = &Token{ + AccessToken: tj.AccessToken, + TokenType: tj.TokenType, + RefreshToken: tj.RefreshToken, + Expiry: tj.expiry(), + Raw: make(map[string]interface{}), + } + json.Unmarshal(body, &token.Raw) // no error checks for optional fields + } + // Don't overwrite `RefreshToken` with an empty value + // if this was a token refreshing request. + if token.RefreshToken == "" { + token.RefreshToken = v.Get("refresh_token") + } + return token, nil +} diff --git a/vendor/golang.org/x/oauth2/internal/transport.go b/vendor/golang.org/x/oauth2/internal/transport.go new file mode 100644 index 000000000..f1f173e34 --- /dev/null +++ b/vendor/golang.org/x/oauth2/internal/transport.go @@ -0,0 +1,69 @@ +// Copyright 2014 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package internal contains support packages for oauth2 package. +package internal + +import ( + "net/http" + + "golang.org/x/net/context" +) + +// HTTPClient is the context key to use with golang.org/x/net/context's +// WithValue function to associate an *http.Client value with a context. +var HTTPClient ContextKey + +// ContextKey is just an empty struct. It exists so HTTPClient can be +// an immutable public variable with a unique type. It's immutable +// because nobody else can create a ContextKey, being unexported. +type ContextKey struct{} + +// ContextClientFunc is a func which tries to return an *http.Client +// given a Context value. If it returns an error, the search stops +// with that error. If it returns (nil, nil), the search continues +// down the list of registered funcs. +type ContextClientFunc func(context.Context) (*http.Client, error) + +var contextClientFuncs []ContextClientFunc + +func RegisterContextClientFunc(fn ContextClientFunc) { + contextClientFuncs = append(contextClientFuncs, fn) +} + +func ContextClient(ctx context.Context) (*http.Client, error) { + if ctx != nil { + if hc, ok := ctx.Value(HTTPClient).(*http.Client); ok { + return hc, nil + } + } + for _, fn := range contextClientFuncs { + c, err := fn(ctx) + if err != nil { + return nil, err + } + if c != nil { + return c, nil + } + } + return http.DefaultClient, nil +} + +func ContextTransport(ctx context.Context) http.RoundTripper { + hc, err := ContextClient(ctx) + // This is a rare error case (somebody using nil on App Engine). + if err != nil { + return ErrorTransport{err} + } + return hc.Transport +} + +// ErrorTransport returns the specified error on RoundTrip. +// This RoundTripper should be used in rare error cases where +// error handling can be postponed to response handling time. +type ErrorTransport struct{ Err error } + +func (t ErrorTransport) RoundTrip(*http.Request) (*http.Response, error) { + return nil, t.Err +} diff --git a/vendor/golang.org/x/oauth2/oauth2.go b/vendor/golang.org/x/oauth2/oauth2.go new file mode 100644 index 000000000..3e4835d7e --- /dev/null +++ b/vendor/golang.org/x/oauth2/oauth2.go @@ -0,0 +1,340 @@ +// Copyright 2014 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package oauth2 provides support for making +// OAuth2 authorized and authenticated HTTP requests. +// It can additionally grant authorization with Bearer JWT. +package oauth2 // import "golang.org/x/oauth2" + +import ( + "bytes" + "errors" + "net/http" + "net/url" + "strings" + "sync" + + "golang.org/x/net/context" + "golang.org/x/oauth2/internal" +) + +// NoContext is the default context you should supply if not using +// your own context.Context (see https://golang.org/x/net/context). +// +// Deprecated: Use context.Background() or context.TODO() instead. +var NoContext = context.TODO() + +// RegisterBrokenAuthHeaderProvider registers an OAuth2 server +// identified by the tokenURL prefix as an OAuth2 implementation +// which doesn't support the HTTP Basic authentication +// scheme to authenticate with the authorization server. +// Once a server is registered, credentials (client_id and client_secret) +// will be passed as query parameters rather than being present +// in the Authorization header. +// See https://code.google.com/p/goauth2/issues/detail?id=31 for background. +func RegisterBrokenAuthHeaderProvider(tokenURL string) { + internal.RegisterBrokenAuthHeaderProvider(tokenURL) +} + +// Config describes a typical 3-legged OAuth2 flow, with both the +// client application information and the server's endpoint URLs. +// For the client credentials 2-legged OAuth2 flow, see the clientcredentials +// package (https://golang.org/x/oauth2/clientcredentials). +type Config struct { + // ClientID is the application's ID. + ClientID string + + // ClientSecret is the application's secret. + ClientSecret string + + // Endpoint contains the resource server's token endpoint + // URLs. These are constants specific to each server and are + // often available via site-specific packages, such as + // google.Endpoint or github.Endpoint. + Endpoint Endpoint + + // RedirectURL is the URL to redirect users going through + // the OAuth flow, after the resource owner's URLs. + RedirectURL string + + // Scope specifies optional requested permissions. + Scopes []string +} + +// A TokenSource is anything that can return a token. +type TokenSource interface { + // Token returns a token or an error. + // Token must be safe for concurrent use by multiple goroutines. + // The returned Token must not be modified. + Token() (*Token, error) +} + +// Endpoint contains the OAuth 2.0 provider's authorization and token +// endpoint URLs. +type Endpoint struct { + AuthURL string + TokenURL string +} + +var ( + // AccessTypeOnline and AccessTypeOffline are options passed + // to the Options.AuthCodeURL method. They modify the + // "access_type" field that gets sent in the URL returned by + // AuthCodeURL. + // + // Online is the default if neither is specified. If your + // application needs to refresh access tokens when the user + // is not present at the browser, then use offline. This will + // result in your application obtaining a refresh token the + // first time your application exchanges an authorization + // code for a user. + AccessTypeOnline AuthCodeOption = SetAuthURLParam("access_type", "online") + AccessTypeOffline AuthCodeOption = SetAuthURLParam("access_type", "offline") + + // ApprovalForce forces the users to view the consent dialog + // and confirm the permissions request at the URL returned + // from AuthCodeURL, even if they've already done so. + ApprovalForce AuthCodeOption = SetAuthURLParam("approval_prompt", "force") +) + +// An AuthCodeOption is passed to Config.AuthCodeURL. +type AuthCodeOption interface { + setValue(url.Values) +} + +type setParam struct{ k, v string } + +func (p setParam) setValue(m url.Values) { m.Set(p.k, p.v) } + +// SetAuthURLParam builds an AuthCodeOption which passes key/value parameters +// to a provider's authorization endpoint. +func SetAuthURLParam(key, value string) AuthCodeOption { + return setParam{key, value} +} + +// AuthCodeURL returns a URL to OAuth 2.0 provider's consent page +// that asks for permissions for the required scopes explicitly. +// +// State is a token to protect the user from CSRF attacks. You must +// always provide a non-zero string and validate that it matches the +// the state query parameter on your redirect callback. +// See http://tools.ietf.org/html/rfc6749#section-10.12 for more info. +// +// Opts may include AccessTypeOnline or AccessTypeOffline, as well +// as ApprovalForce. +func (c *Config) AuthCodeURL(state string, opts ...AuthCodeOption) string { + var buf bytes.Buffer + buf.WriteString(c.Endpoint.AuthURL) + v := url.Values{ + "response_type": {"code"}, + "client_id": {c.ClientID}, + "redirect_uri": internal.CondVal(c.RedirectURL), + "scope": internal.CondVal(strings.Join(c.Scopes, " ")), + "state": internal.CondVal(state), + } + for _, opt := range opts { + opt.setValue(v) + } + if strings.Contains(c.Endpoint.AuthURL, "?") { + buf.WriteByte('&') + } else { + buf.WriteByte('?') + } + buf.WriteString(v.Encode()) + return buf.String() +} + +// PasswordCredentialsToken converts a resource owner username and password +// pair into a token. +// +// Per the RFC, this grant type should only be used "when there is a high +// degree of trust between the resource owner and the client (e.g., the client +// is part of the device operating system or a highly privileged application), +// and when other authorization grant types are not available." +// See https://tools.ietf.org/html/rfc6749#section-4.3 for more info. +// +// The HTTP client to use is derived from the context. +// If nil, http.DefaultClient is used. +func (c *Config) PasswordCredentialsToken(ctx context.Context, username, password string) (*Token, error) { + return retrieveToken(ctx, c, url.Values{ + "grant_type": {"password"}, + "username": {username}, + "password": {password}, + "scope": internal.CondVal(strings.Join(c.Scopes, " ")), + }) +} + +// Exchange converts an authorization code into a token. +// +// It is used after a resource provider redirects the user back +// to the Redirect URI (the URL obtained from AuthCodeURL). +// +// The HTTP client to use is derived from the context. +// If a client is not provided via the context, http.DefaultClient is used. +// +// The code will be in the *http.Request.FormValue("code"). Before +// calling Exchange, be sure to validate FormValue("state"). +func (c *Config) Exchange(ctx context.Context, code string) (*Token, error) { + return retrieveToken(ctx, c, url.Values{ + "grant_type": {"authorization_code"}, + "code": {code}, + "redirect_uri": internal.CondVal(c.RedirectURL), + }) +} + +// Client returns an HTTP client using the provided token. +// The token will auto-refresh as necessary. The underlying +// HTTP transport will be obtained using the provided context. +// The returned client and its Transport should not be modified. +func (c *Config) Client(ctx context.Context, t *Token) *http.Client { + return NewClient(ctx, c.TokenSource(ctx, t)) +} + +// TokenSource returns a TokenSource that returns t until t expires, +// automatically refreshing it as necessary using the provided context. +// +// Most users will use Config.Client instead. +func (c *Config) TokenSource(ctx context.Context, t *Token) TokenSource { + tkr := &tokenRefresher{ + ctx: ctx, + conf: c, + } + if t != nil { + tkr.refreshToken = t.RefreshToken + } + return &reuseTokenSource{ + t: t, + new: tkr, + } +} + +// tokenRefresher is a TokenSource that makes "grant_type"=="refresh_token" +// HTTP requests to renew a token using a RefreshToken. +type tokenRefresher struct { + ctx context.Context // used to get HTTP requests + conf *Config + refreshToken string +} + +// WARNING: Token is not safe for concurrent access, as it +// updates the tokenRefresher's refreshToken field. +// Within this package, it is used by reuseTokenSource which +// synchronizes calls to this method with its own mutex. +func (tf *tokenRefresher) Token() (*Token, error) { + if tf.refreshToken == "" { + return nil, errors.New("oauth2: token expired and refresh token is not set") + } + + tk, err := retrieveToken(tf.ctx, tf.conf, url.Values{ + "grant_type": {"refresh_token"}, + "refresh_token": {tf.refreshToken}, + }) + + if err != nil { + return nil, err + } + if tf.refreshToken != tk.RefreshToken { + tf.refreshToken = tk.RefreshToken + } + return tk, err +} + +// reuseTokenSource is a TokenSource that holds a single token in memory +// and validates its expiry before each call to retrieve it with +// Token. If it's expired, it will be auto-refreshed using the +// new TokenSource. +type reuseTokenSource struct { + new TokenSource // called when t is expired. + + mu sync.Mutex // guards t + t *Token +} + +// Token returns the current token if it's still valid, else will +// refresh the current token (using r.Context for HTTP client +// information) and return the new one. +func (s *reuseTokenSource) Token() (*Token, error) { + s.mu.Lock() + defer s.mu.Unlock() + if s.t.Valid() { + return s.t, nil + } + t, err := s.new.Token() + if err != nil { + return nil, err + } + s.t = t + return t, nil +} + +// StaticTokenSource returns a TokenSource that always returns the same token. +// Because the provided token t is never refreshed, StaticTokenSource is only +// useful for tokens that never expire. +func StaticTokenSource(t *Token) TokenSource { + return staticTokenSource{t} +} + +// staticTokenSource is a TokenSource that always returns the same Token. +type staticTokenSource struct { + t *Token +} + +func (s staticTokenSource) Token() (*Token, error) { + return s.t, nil +} + +// HTTPClient is the context key to use with golang.org/x/net/context's +// WithValue function to associate an *http.Client value with a context. +var HTTPClient internal.ContextKey + +// NewClient creates an *http.Client from a Context and TokenSource. +// The returned client is not valid beyond the lifetime of the context. +// +// As a special case, if src is nil, a non-OAuth2 client is returned +// using the provided context. This exists to support related OAuth2 +// packages. +func NewClient(ctx context.Context, src TokenSource) *http.Client { + if src == nil { + c, err := internal.ContextClient(ctx) + if err != nil { + return &http.Client{Transport: internal.ErrorTransport{Err: err}} + } + return c + } + return &http.Client{ + Transport: &Transport{ + Base: internal.ContextTransport(ctx), + Source: ReuseTokenSource(nil, src), + }, + } +} + +// ReuseTokenSource returns a TokenSource which repeatedly returns the +// same token as long as it's valid, starting with t. +// When its cached token is invalid, a new token is obtained from src. +// +// ReuseTokenSource is typically used to reuse tokens from a cache +// (such as a file on disk) between runs of a program, rather than +// obtaining new tokens unnecessarily. +// +// The initial token t may be nil, in which case the TokenSource is +// wrapped in a caching version if it isn't one already. This also +// means it's always safe to wrap ReuseTokenSource around any other +// TokenSource without adverse effects. +func ReuseTokenSource(t *Token, src TokenSource) TokenSource { + // Don't wrap a reuseTokenSource in itself. That would work, + // but cause an unnecessary number of mutex operations. + // Just build the equivalent one. + if rt, ok := src.(*reuseTokenSource); ok { + if t == nil { + // Just use it directly. + return rt + } + src = rt.new + } + return &reuseTokenSource{ + t: t, + new: src, + } +} diff --git a/vendor/golang.org/x/oauth2/token.go b/vendor/golang.org/x/oauth2/token.go new file mode 100644 index 000000000..7a3167f15 --- /dev/null +++ b/vendor/golang.org/x/oauth2/token.go @@ -0,0 +1,158 @@ +// Copyright 2014 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package oauth2 + +import ( + "net/http" + "net/url" + "strconv" + "strings" + "time" + + "golang.org/x/net/context" + "golang.org/x/oauth2/internal" +) + +// expiryDelta determines how earlier a token should be considered +// expired than its actual expiration time. It is used to avoid late +// expirations due to client-server time mismatches. +const expiryDelta = 10 * time.Second + +// Token represents the crendentials used to authorize +// the requests to access protected resources on the OAuth 2.0 +// provider's backend. +// +// Most users of this package should not access fields of Token +// directly. They're exported mostly for use by related packages +// implementing derivative OAuth2 flows. +type Token struct { + // AccessToken is the token that authorizes and authenticates + // the requests. + AccessToken string `json:"access_token"` + + // TokenType is the type of token. + // The Type method returns either this or "Bearer", the default. + TokenType string `json:"token_type,omitempty"` + + // RefreshToken is a token that's used by the application + // (as opposed to the user) to refresh the access token + // if it expires. + RefreshToken string `json:"refresh_token,omitempty"` + + // Expiry is the optional expiration time of the access token. + // + // If zero, TokenSource implementations will reuse the same + // token forever and RefreshToken or equivalent + // mechanisms for that TokenSource will not be used. + Expiry time.Time `json:"expiry,omitempty"` + + // raw optionally contains extra metadata from the server + // when updating a token. + raw interface{} +} + +// Type returns t.TokenType if non-empty, else "Bearer". +func (t *Token) Type() string { + if strings.EqualFold(t.TokenType, "bearer") { + return "Bearer" + } + if strings.EqualFold(t.TokenType, "mac") { + return "MAC" + } + if strings.EqualFold(t.TokenType, "basic") { + return "Basic" + } + if t.TokenType != "" { + return t.TokenType + } + return "Bearer" +} + +// SetAuthHeader sets the Authorization header to r using the access +// token in t. +// +// This method is unnecessary when using Transport or an HTTP Client +// returned by this package. +func (t *Token) SetAuthHeader(r *http.Request) { + r.Header.Set("Authorization", t.Type()+" "+t.AccessToken) +} + +// WithExtra returns a new Token that's a clone of t, but using the +// provided raw extra map. This is only intended for use by packages +// implementing derivative OAuth2 flows. +func (t *Token) WithExtra(extra interface{}) *Token { + t2 := new(Token) + *t2 = *t + t2.raw = extra + return t2 +} + +// Extra returns an extra field. +// Extra fields are key-value pairs returned by the server as a +// part of the token retrieval response. +func (t *Token) Extra(key string) interface{} { + if raw, ok := t.raw.(map[string]interface{}); ok { + return raw[key] + } + + vals, ok := t.raw.(url.Values) + if !ok { + return nil + } + + v := vals.Get(key) + switch s := strings.TrimSpace(v); strings.Count(s, ".") { + case 0: // Contains no "."; try to parse as int + if i, err := strconv.ParseInt(s, 10, 64); err == nil { + return i + } + case 1: // Contains a single "."; try to parse as float + if f, err := strconv.ParseFloat(s, 64); err == nil { + return f + } + } + + return v +} + +// expired reports whether the token is expired. +// t must be non-nil. +func (t *Token) expired() bool { + if t.Expiry.IsZero() { + return false + } + return t.Expiry.Add(-expiryDelta).Before(time.Now()) +} + +// Valid reports whether t is non-nil, has an AccessToken, and is not expired. +func (t *Token) Valid() bool { + return t != nil && t.AccessToken != "" && !t.expired() +} + +// tokenFromInternal maps an *internal.Token struct into +// a *Token struct. +func tokenFromInternal(t *internal.Token) *Token { + if t == nil { + return nil + } + return &Token{ + AccessToken: t.AccessToken, + TokenType: t.TokenType, + RefreshToken: t.RefreshToken, + Expiry: t.Expiry, + raw: t.Raw, + } +} + +// retrieveToken takes a *Config and uses that to retrieve an *internal.Token. +// This token is then mapped from *internal.Token into an *oauth2.Token which is returned along +// with an error.. +func retrieveToken(ctx context.Context, c *Config, v url.Values) (*Token, error) { + tk, err := internal.RetrieveToken(ctx, c.ClientID, c.ClientSecret, c.Endpoint.TokenURL, v) + if err != nil { + return nil, err + } + return tokenFromInternal(tk), nil +} diff --git a/vendor/golang.org/x/oauth2/transport.go b/vendor/golang.org/x/oauth2/transport.go new file mode 100644 index 000000000..92ac7e253 --- /dev/null +++ b/vendor/golang.org/x/oauth2/transport.go @@ -0,0 +1,132 @@ +// Copyright 2014 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package oauth2 + +import ( + "errors" + "io" + "net/http" + "sync" +) + +// Transport is an http.RoundTripper that makes OAuth 2.0 HTTP requests, +// wrapping a base RoundTripper and adding an Authorization header +// with a token from the supplied Sources. +// +// Transport is a low-level mechanism. Most code will use the +// higher-level Config.Client method instead. +type Transport struct { + // Source supplies the token to add to outgoing requests' + // Authorization headers. + Source TokenSource + + // Base is the base RoundTripper used to make HTTP requests. + // If nil, http.DefaultTransport is used. + Base http.RoundTripper + + mu sync.Mutex // guards modReq + modReq map[*http.Request]*http.Request // original -> modified +} + +// RoundTrip authorizes and authenticates the request with an +// access token. If no token exists or token is expired, +// tries to refresh/fetch a new token. +func (t *Transport) RoundTrip(req *http.Request) (*http.Response, error) { + if t.Source == nil { + return nil, errors.New("oauth2: Transport's Source is nil") + } + token, err := t.Source.Token() + if err != nil { + return nil, err + } + + req2 := cloneRequest(req) // per RoundTripper contract + token.SetAuthHeader(req2) + t.setModReq(req, req2) + res, err := t.base().RoundTrip(req2) + if err != nil { + t.setModReq(req, nil) + return nil, err + } + res.Body = &onEOFReader{ + rc: res.Body, + fn: func() { t.setModReq(req, nil) }, + } + return res, nil +} + +// CancelRequest cancels an in-flight request by closing its connection. +func (t *Transport) CancelRequest(req *http.Request) { + type canceler interface { + CancelRequest(*http.Request) + } + if cr, ok := t.base().(canceler); ok { + t.mu.Lock() + modReq := t.modReq[req] + delete(t.modReq, req) + t.mu.Unlock() + cr.CancelRequest(modReq) + } +} + +func (t *Transport) base() http.RoundTripper { + if t.Base != nil { + return t.Base + } + return http.DefaultTransport +} + +func (t *Transport) setModReq(orig, mod *http.Request) { + t.mu.Lock() + defer t.mu.Unlock() + if t.modReq == nil { + t.modReq = make(map[*http.Request]*http.Request) + } + if mod == nil { + delete(t.modReq, orig) + } else { + t.modReq[orig] = mod + } +} + +// cloneRequest returns a clone of the provided *http.Request. +// The clone is a shallow copy of the struct and its Header map. +func cloneRequest(r *http.Request) *http.Request { + // shallow copy of the struct + r2 := new(http.Request) + *r2 = *r + // deep copy of the Header + r2.Header = make(http.Header, len(r.Header)) + for k, s := range r.Header { + r2.Header[k] = append([]string(nil), s...) + } + return r2 +} + +type onEOFReader struct { + rc io.ReadCloser + fn func() +} + +func (r *onEOFReader) Read(p []byte) (n int, err error) { + n, err = r.rc.Read(p) + if err == io.EOF { + r.runFunc() + } + return +} + +func (r *onEOFReader) Close() error { + err := r.rc.Close() + r.runFunc() + return err +} + +func (r *onEOFReader) runFunc() { + if fn := r.fn; fn != nil { + fn() + r.fn = nil + } +} diff --git a/vendor/k8s.io/api/core/v1/generated.pb.go b/vendor/k8s.io/api/core/v1/generated.pb.go index cce5b3fb1..54803b48c 100644 --- a/vendor/k8s.io/api/core/v1/generated.pb.go +++ b/vendor/k8s.io/api/core/v1/generated.pb.go @@ -4839,6 +4839,12 @@ func (m *LocalVolumeSource) MarshalTo(dAtA []byte) (int, error) { i++ i = encodeVarintGenerated(dAtA, i, uint64(len(m.Path))) i += copy(dAtA[i:], m.Path) + if m.FSType != nil { + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(*m.FSType))) + i += copy(dAtA[i:], *m.FSType) + } return i, nil } @@ -12259,6 +12265,10 @@ func (m *LocalVolumeSource) Size() (n int) { _ = l l = len(m.Path) n += 1 + l + sovGenerated(uint64(l)) + if m.FSType != nil { + l = len(*m.FSType) + n += 1 + l + sovGenerated(uint64(l)) + } return n } @@ -15560,6 +15570,7 @@ func (this *LocalVolumeSource) String() string { } s := strings.Join([]string{`&LocalVolumeSource{`, `Path:` + fmt.Sprintf("%v", this.Path) + `,`, + `FSType:` + valueToStringGenerated(this.FSType) + `,`, `}`, }, "") return s @@ -29819,6 +29830,36 @@ func (m *LocalVolumeSource) Unmarshal(dAtA []byte) error { } m.Path = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field FSType", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + s := string(dAtA[iNdEx:postIndex]) + m.FSType = &s + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(dAtA[iNdEx:]) @@ -51300,7 +51341,7 @@ func init() { } var fileDescriptorGenerated = []byte{ - // 12771 bytes of a gzipped FileDescriptorProto + // 12778 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0xbd, 0x6b, 0x90, 0x24, 0x57, 0x56, 0x18, 0xbc, 0x59, 0x55, 0xfd, 0xa8, 0xd3, 0xef, 0x3b, 0x0f, 0xf5, 0xb4, 0x34, 0x53, 0xa3, 0xd4, 0xee, 0x68, 0xb4, 0x92, 0x7a, 0x56, 0x23, 0x69, 0x57, 0xac, 0xb4, 0x82, 0xee, 0xae, 0xee, @@ -51623,481 +51664,481 @@ var fileDescriptorGenerated = []byte{ 0x9c, 0xb9, 0x1d, 0x38, 0xad, 0x45, 0xc7, 0x73, 0xfc, 0x26, 0x09, 0x6b, 0xfe, 0x56, 0x5f, 0x2b, 0x25, 0xdd, 0xa6, 0xa8, 0xd0, 0xcf, 0xa6, 0xc8, 0xde, 0x06, 0xa4, 0x37, 0x20, 0xec, 0x38, 0x31, 0x8c, 0xb8, 0xbc, 0x29, 0x31, 0xfc, 0x4f, 0x67, 0x73, 0x77, 0x5d, 0x3d, 0xd3, 0x2c, 0x14, 0x79, - 0x01, 0x96, 0x84, 0xec, 0x57, 0x20, 0xd3, 0x77, 0xab, 0xbf, 0xda, 0xc0, 0x7e, 0x19, 0x66, 0x58, - 0xcd, 0xe3, 0x89, 0xb4, 0xf6, 0xf7, 0x59, 0x30, 0xb5, 0x96, 0x8a, 0x4d, 0x71, 0x85, 0xbd, 0xf5, - 0x65, 0xe8, 0x7d, 0x1b, 0xac, 0x14, 0x0b, 0xe8, 0x89, 0xeb, 0x97, 0xfe, 0xc4, 0x82, 0xc4, 0x55, - 0xf2, 0x14, 0x98, 0xaa, 0x25, 0x83, 0xa9, 0xca, 0xd4, 0x7b, 0xa8, 0xee, 0xe4, 0xf1, 0x54, 0xe8, - 0x96, 0x8a, 0x0b, 0xd0, 0x43, 0xe5, 0x91, 0x90, 0xe1, 0x5e, 0xe4, 0x93, 0x66, 0xf0, 0x00, 0x19, - 0x29, 0x80, 0x99, 0x09, 0x29, 0xdc, 0x8f, 0x88, 0x99, 0x90, 0xea, 0x4f, 0xce, 0xee, 0xab, 0x6b, - 0x5d, 0x66, 0xa7, 0xd2, 0xb7, 0x32, 0xb3, 0x6f, 0xc7, 0x73, 0xdf, 0x27, 0x2a, 0xb8, 0x49, 0x45, - 0x98, 0x71, 0x8b, 0xd2, 0xa3, 0x83, 0xca, 0x84, 0xfa, 0xc7, 0x23, 0x60, 0x25, 0x55, 0xec, 0x9b, - 0x30, 0x95, 0x1a, 0x30, 0xf4, 0x32, 0x0c, 0xb5, 0xb7, 0x9d, 0x88, 0xa4, 0x4c, 0x23, 0x87, 0xea, - 0xb4, 0xf0, 0xe8, 0xa0, 0x32, 0xa9, 0x2a, 0xb0, 0x12, 0xcc, 0xb1, 0xed, 0xff, 0x61, 0x41, 0x69, - 0x2d, 0x68, 0x9d, 0xc6, 0x62, 0x7a, 0xdd, 0x58, 0x4c, 0x4f, 0xe4, 0xc5, 0x0f, 0xcc, 0x5d, 0x47, - 0x2b, 0xa9, 0x75, 0x74, 0x29, 0x97, 0x42, 0xef, 0x25, 0xb4, 0x0b, 0x63, 0x2c, 0x2a, 0xa1, 0x30, - 0xd5, 0x7c, 0xd1, 0xe0, 0xef, 0x2b, 0x29, 0xfe, 0x7e, 0x4a, 0x43, 0xd5, 0xb8, 0xfc, 0x67, 0x60, - 0x44, 0x98, 0x0b, 0xa6, 0x0d, 0xdc, 0x05, 0x2e, 0x96, 0x70, 0xfb, 0xc7, 0x8a, 0x60, 0x44, 0x41, - 0x44, 0xbf, 0x62, 0xc1, 0x7c, 0xc8, 0x3d, 0x06, 0x5b, 0xd5, 0x4e, 0xe8, 0xfa, 0x5b, 0x8d, 0xe6, - 0x36, 0x69, 0x75, 0x3c, 0xd7, 0xdf, 0xaa, 0x6d, 0xf9, 0x81, 0x2a, 0x5e, 0x7e, 0x40, 0x9a, 0x1d, - 0xa6, 0xf3, 0xef, 0x13, 0x72, 0x51, 0x99, 0xe3, 0x5c, 0x3f, 0x3c, 0xa8, 0xcc, 0xe3, 0x63, 0xd1, - 0xc6, 0xc7, 0xec, 0x0b, 0xfa, 0xba, 0x05, 0xd7, 0x78, 0x70, 0xc0, 0xc1, 0xfb, 0xdf, 0x43, 0x1a, - 0xaa, 0x4b, 0x52, 0x09, 0x91, 0x75, 0x12, 0xee, 0x2e, 0x7e, 0x46, 0x0c, 0xe8, 0xb5, 0xfa, 0xf1, - 0xda, 0xc2, 0xc7, 0xed, 0x9c, 0xfd, 0xcf, 0x8b, 0x30, 0x21, 0x9c, 0xd5, 0x45, 0x14, 0x94, 0x97, - 0x8d, 0x25, 0xf1, 0x64, 0x6a, 0x49, 0xcc, 0x18, 0xc8, 0x27, 0x13, 0x00, 0x25, 0x82, 0x19, 0xcf, - 0x89, 0xe2, 0x9b, 0xc4, 0x09, 0xe3, 0x0d, 0xe2, 0x70, 0x33, 0x95, 0xe2, 0xb1, 0x4d, 0x6a, 0x94, - 0xfa, 0xe5, 0x76, 0x9a, 0x18, 0xee, 0xa6, 0x8f, 0xf6, 0x00, 0x31, 0x5b, 0x9b, 0xd0, 0xf1, 0x23, - 0xfe, 0x2d, 0xae, 0x78, 0x0f, 0x38, 0x5e, 0xab, 0x73, 0xa2, 0x55, 0x74, 0xbb, 0x8b, 0x1a, 0xce, - 0x68, 0x41, 0xb3, 0xa1, 0x1a, 0x1a, 0xd4, 0x86, 0x6a, 0xb8, 0x8f, 0x17, 0x89, 0x0f, 0xd3, 0x5d, - 0xf1, 0x06, 0xde, 0x86, 0xb2, 0xb2, 0x75, 0x13, 0x87, 0x4e, 0xef, 0xb0, 0x1d, 0x69, 0x0a, 0x5c, - 0x45, 0x92, 0xd8, 0x59, 0x26, 0xe4, 0xec, 0x7f, 0x58, 0x30, 0x1a, 0xe4, 0x93, 0xb8, 0x06, 0xa3, - 0x4e, 0x14, 0xb9, 0x5b, 0x3e, 0x69, 0x89, 0x1d, 0xfb, 0xf1, 0xbc, 0x1d, 0x6b, 0x34, 0xc3, 0xec, - 0x0d, 0x17, 0x44, 0x4d, 0xac, 0x68, 0xa0, 0x9b, 0xdc, 0x18, 0x68, 0x4f, 0xf2, 0xf3, 0x83, 0x51, - 0x03, 0x69, 0x2e, 0xb4, 0x47, 0xb0, 0xa8, 0x8f, 0xbe, 0xc8, 0xad, 0xb5, 0x6e, 0xf9, 0xc1, 0x7d, - 0xff, 0x46, 0x10, 0x48, 0x0f, 0xb3, 0xc1, 0x08, 0xce, 0x48, 0x1b, 0x2d, 0x55, 0x1d, 0x9b, 0xd4, - 0x06, 0x8b, 0xc9, 0xf3, 0x9d, 0x70, 0x86, 0x92, 0x36, 0xfd, 0x44, 0x22, 0x44, 0x60, 0x4a, 0x44, - 0x42, 0x90, 0x65, 0x62, 0xec, 0x32, 0x59, 0x75, 0xb3, 0x76, 0xa2, 0xd0, 0xbb, 0x65, 0x92, 0xc0, - 0x69, 0x9a, 0xf6, 0x4f, 0x5a, 0xc0, 0x2c, 0xdc, 0x4f, 0x81, 0x65, 0xf8, 0x9c, 0xc9, 0x32, 0xcc, - 0xe6, 0x0d, 0x72, 0x0e, 0xb7, 0xf0, 0x12, 0x5f, 0x59, 0xf5, 0x30, 0x78, 0xb0, 0x2f, 0x5e, 0xca, - 0x07, 0xe0, 0x52, 0xff, 0x8f, 0xc5, 0x0f, 0x31, 0xe5, 0x74, 0x8e, 0xbe, 0x0b, 0x46, 0x9b, 0x4e, - 0xdb, 0x69, 0xf2, 0x90, 0xbd, 0xb9, 0x1a, 0x1b, 0xa3, 0xd2, 0xfc, 0x92, 0xa8, 0xc1, 0x35, 0x10, - 0x32, 0xa2, 0xc6, 0xa8, 0x2c, 0xee, 0xab, 0x75, 0x50, 0x4d, 0xce, 0xed, 0xc0, 0x84, 0x41, 0xec, - 0x91, 0x8a, 0xab, 0xdf, 0xc5, 0xaf, 0x58, 0x15, 0x01, 0x66, 0x17, 0x66, 0x7c, 0xed, 0x3f, 0xbd, - 0x50, 0xa4, 0x08, 0xf2, 0xf1, 0x7e, 0x97, 0x28, 0xbb, 0x7d, 0x34, 0x0b, 0xfe, 0x14, 0x19, 0xdc, - 0x4d, 0xd9, 0xfe, 0x71, 0x0b, 0x1e, 0xd3, 0x11, 0xb5, 0x78, 0x00, 0xfd, 0x74, 0xc0, 0x55, 0x18, - 0x0d, 0xda, 0x24, 0x74, 0xe2, 0x20, 0x14, 0xb7, 0xc6, 0x55, 0x39, 0xe8, 0x77, 0x44, 0xf9, 0x91, - 0x88, 0x9d, 0x28, 0xa9, 0xcb, 0x72, 0xac, 0x6a, 0x22, 0x1b, 0x86, 0xd9, 0x60, 0x44, 0x22, 0x56, - 0x03, 0x3b, 0x03, 0xd8, 0x73, 0x68, 0x84, 0x05, 0xc4, 0xfe, 0x03, 0x8b, 0x2f, 0x2c, 0xbd, 0xeb, - 0xe8, 0x3d, 0x98, 0xde, 0x75, 0xe2, 0xe6, 0xf6, 0xf2, 0x83, 0x76, 0xc8, 0x55, 0xdf, 0x72, 0x9c, - 0x9e, 0xed, 0x37, 0x4e, 0xda, 0x47, 0x26, 0x06, 0x68, 0xab, 0x29, 0x62, 0xb8, 0x8b, 0x3c, 0xda, - 0x80, 0x31, 0x56, 0xc6, 0x2c, 0x9d, 0xa3, 0x5e, 0xac, 0x41, 0x5e, 0x6b, 0xea, 0x45, 0x79, 0x35, - 0xa1, 0x83, 0x75, 0xa2, 0xf6, 0x57, 0x8a, 0x7c, 0xb7, 0x33, 0x6e, 0xfb, 0x19, 0x18, 0x69, 0x07, - 0xad, 0xa5, 0x5a, 0x15, 0x8b, 0x59, 0x50, 0xd7, 0x48, 0x9d, 0x17, 0x63, 0x09, 0x47, 0xaf, 0x02, - 0x90, 0x07, 0x31, 0x09, 0x7d, 0xc7, 0x53, 0x06, 0x21, 0xca, 0x04, 0xb2, 0x1a, 0xac, 0x05, 0xf1, - 0xdd, 0x88, 0x7c, 0xc7, 0xb2, 0x42, 0xc1, 0x1a, 0x3a, 0xba, 0x0e, 0xd0, 0x0e, 0x83, 0x3d, 0xb7, - 0xc5, 0x5c, 0xe7, 0x8a, 0xa6, 0xb9, 0x44, 0x5d, 0x41, 0xb0, 0x86, 0x85, 0x5e, 0x85, 0x89, 0x8e, - 0x1f, 0x71, 0x0e, 0xc5, 0xd9, 0x10, 0x91, 0x07, 0x47, 0x13, 0xcb, 0x85, 0xbb, 0x3a, 0x10, 0x9b, - 0xb8, 0x68, 0x01, 0x86, 0x63, 0x87, 0xd9, 0x3b, 0x0c, 0xe5, 0xdb, 0x2d, 0xae, 0x53, 0x0c, 0x3d, - 0x60, 0x2c, 0xad, 0x80, 0x45, 0x45, 0xf4, 0xb6, 0xf4, 0x43, 0xe0, 0x67, 0xbd, 0x30, 0x18, 0x1e, - 0xec, 0x5e, 0xd0, 0xbc, 0x10, 0x84, 0x21, 0xb2, 0x41, 0xcb, 0xfe, 0x7a, 0x19, 0x20, 0x61, 0xc7, - 0xd1, 0xfb, 0x5d, 0xe7, 0xd1, 0x73, 0xbd, 0x19, 0xf8, 0x93, 0x3b, 0x8c, 0xd0, 0xf7, 0x5a, 0x30, - 0xe6, 0x78, 0x5e, 0xd0, 0x74, 0x62, 0x36, 0xca, 0x85, 0xde, 0xe7, 0xa1, 0x68, 0x7f, 0x21, 0xa9, - 0xc1, 0xbb, 0xf0, 0xa2, 0x5c, 0x78, 0x1a, 0xa4, 0x6f, 0x2f, 0xf4, 0x86, 0xd1, 0xa7, 0xa4, 0x94, - 0xc6, 0x97, 0xc7, 0x5c, 0x5a, 0x4a, 0x2b, 0xb3, 0xa3, 0x5f, 0x13, 0xd0, 0xd0, 0x5d, 0x23, 0xa8, - 0x5c, 0x29, 0x3f, 0xbe, 0x82, 0xc1, 0x95, 0xf6, 0x8b, 0x27, 0x87, 0xea, 0xba, 0xe3, 0xd4, 0x50, - 0x7e, 0x10, 0x12, 0x4d, 0xfc, 0xe9, 0xe3, 0x34, 0xf5, 0x2e, 0x4c, 0xb5, 0xcc, 0xbb, 0x5d, 0xac, - 0xa6, 0xa7, 0xf3, 0xe8, 0xa6, 0x58, 0x81, 0xe4, 0x36, 0x4f, 0x01, 0x70, 0x9a, 0x30, 0xaa, 0x73, - 0x17, 0xb6, 0x9a, 0xbf, 0x19, 0x08, 0xc3, 0x73, 0x3b, 0x77, 0x2e, 0xf7, 0xa3, 0x98, 0xec, 0x52, - 0xcc, 0xe4, 0xd2, 0x5e, 0x13, 0x75, 0xb1, 0xa2, 0x82, 0xde, 0x80, 0x61, 0xe6, 0x03, 0x1b, 0xcd, - 0x8e, 0xe6, 0x2b, 0x0a, 0xcd, 0xf0, 0x0d, 0xc9, 0xa6, 0x62, 0x7f, 0x23, 0x2c, 0x28, 0xa0, 0x9b, - 0x32, 0xc6, 0x4b, 0x54, 0xf3, 0xef, 0x46, 0x84, 0xc5, 0x78, 0x29, 0x2f, 0x7e, 0x3c, 0x09, 0xdf, - 0xc2, 0xcb, 0x33, 0x43, 0xc3, 0x1b, 0x35, 0x29, 0x73, 0x24, 0xfe, 0xcb, 0x88, 0xf3, 0xb3, 0x90, - 0xdf, 0x3d, 0x33, 0x2a, 0x7d, 0x32, 0x9c, 0xf7, 0x4c, 0x12, 0x38, 0x4d, 0x93, 0x32, 0x9a, 0x7c, - 0xe7, 0x0a, 0xd3, 0xf5, 0x7e, 0xfb, 0x9f, 0xcb, 0xd7, 0xec, 0x92, 0xe1, 0x25, 0x58, 0xd4, 0x3f, - 0xd5, 0x5b, 0x7f, 0xce, 0x87, 0xe9, 0xf4, 0x16, 0x7d, 0xa4, 0x5c, 0xc6, 0xef, 0x97, 0x60, 0xd2, - 0x5c, 0x52, 0xe8, 0x1a, 0x94, 0x05, 0x11, 0x15, 0x70, 0x54, 0xed, 0x92, 0x55, 0x09, 0xc0, 0x09, - 0x0e, 0x8b, 0x33, 0xcb, 0xaa, 0x6b, 0x26, 0x87, 0x49, 0x9c, 0x59, 0x05, 0xc1, 0x1a, 0x16, 0x95, - 0x97, 0x36, 0x82, 0x20, 0x56, 0x97, 0x8a, 0x5a, 0x77, 0x8b, 0xac, 0x14, 0x0b, 0x28, 0xbd, 0x4c, - 0x76, 0x48, 0xe8, 0x13, 0xcf, 0x8c, 0x63, 0xa6, 0x2e, 0x93, 0x5b, 0x3a, 0x10, 0x9b, 0xb8, 0xf4, - 0x96, 0x0c, 0x22, 0xb6, 0x90, 0x85, 0x54, 0x96, 0x98, 0x70, 0x36, 0xb8, 0x37, 0xb9, 0x84, 0xa3, - 0x2f, 0xc0, 0x63, 0xca, 0xf9, 0x1b, 0x73, 0x25, 0xb4, 0x6c, 0x71, 0xd8, 0x50, 0xa2, 0x3c, 0xb6, - 0x94, 0x8d, 0x86, 0xf3, 0xea, 0xa3, 0xd7, 0x61, 0x52, 0x70, 0xee, 0x92, 0xe2, 0x88, 0x69, 0x17, - 0x71, 0xcb, 0x80, 0xe2, 0x14, 0xb6, 0x8c, 0xc4, 0xc6, 0x98, 0x67, 0x49, 0x61, 0xb4, 0x3b, 0x12, - 0x9b, 0x0e, 0xc7, 0x5d, 0x35, 0xd0, 0x02, 0x4c, 0x71, 0xd6, 0xca, 0xf5, 0xb7, 0xf8, 0x9c, 0x08, - 0xcf, 0x12, 0xb5, 0xa5, 0xee, 0x98, 0x60, 0x9c, 0xc6, 0x47, 0xaf, 0xc0, 0xb8, 0x13, 0x36, 0xb7, - 0xdd, 0x98, 0x34, 0xe3, 0x4e, 0xc8, 0x5d, 0x4e, 0x34, 0xc3, 0x92, 0x05, 0x0d, 0x86, 0x0d, 0x4c, - 0xfb, 0x7d, 0x38, 0x93, 0xe1, 0x94, 0x46, 0x17, 0x8e, 0xd3, 0x76, 0xe5, 0x37, 0xa5, 0x8c, 0x31, - 0x17, 0xea, 0x35, 0xf9, 0x35, 0x1a, 0x16, 0x5d, 0x9d, 0xcc, 0x79, 0x4d, 0x4b, 0x30, 0xa1, 0x56, - 0xe7, 0x8a, 0x04, 0xe0, 0x04, 0xc7, 0xfe, 0x9f, 0x05, 0x98, 0xca, 0x50, 0xac, 0xb3, 0x24, 0x07, - 0x29, 0xd9, 0x23, 0xc9, 0x69, 0x60, 0x06, 0xf6, 0x2b, 0x1c, 0x23, 0xb0, 0x5f, 0xb1, 0x5f, 0x60, - 0xbf, 0xd2, 0x07, 0x09, 0xec, 0x67, 0x8e, 0xd8, 0xd0, 0x40, 0x23, 0x96, 0x11, 0x0c, 0x70, 0xf8, - 0x98, 0xc1, 0x00, 0x8d, 0x41, 0x1f, 0x19, 0x60, 0xd0, 0x7f, 0xa8, 0x00, 0xd3, 0x69, 0x03, 0xb8, - 0x53, 0x50, 0xc7, 0xbe, 0x61, 0xa8, 0x63, 0xb3, 0x53, 0x86, 0xa4, 0xcd, 0xf2, 0xf2, 0x54, 0xb3, - 0x38, 0xa5, 0x9a, 0xfd, 0xe4, 0x40, 0xd4, 0x7a, 0xab, 0x69, 0xff, 0x76, 0x01, 0xce, 0xa5, 0xab, - 0x2c, 0x79, 0x8e, 0xbb, 0x7b, 0x0a, 0x63, 0x73, 0xc7, 0x18, 0x9b, 0xe7, 0x07, 0xf9, 0x1a, 0xd6, - 0xb5, 0xdc, 0x01, 0x7a, 0x2b, 0x35, 0x40, 0xd7, 0x06, 0x27, 0xd9, 0x7b, 0x94, 0xbe, 0x51, 0x84, - 0x4b, 0x99, 0xf5, 0x12, 0x6d, 0xe6, 0x8a, 0xa1, 0xcd, 0xbc, 0x9e, 0xd2, 0x66, 0xda, 0xbd, 0x6b, - 0x9f, 0x8c, 0x7a, 0x53, 0x78, 0x0b, 0xb2, 0xe0, 0x6f, 0x0f, 0xa9, 0xda, 0x34, 0xbc, 0x05, 0x15, - 0x21, 0x6c, 0xd2, 0xfd, 0xb3, 0xa4, 0xd2, 0xfc, 0x97, 0x16, 0x5c, 0xc8, 0x9c, 0x9b, 0x53, 0x50, - 0x61, 0xad, 0x99, 0x2a, 0xac, 0x67, 0x06, 0x5e, 0xad, 0x39, 0x3a, 0xad, 0xdf, 0x28, 0xe5, 0x7c, - 0x0b, 0x13, 0xd0, 0xef, 0xc0, 0x98, 0xd3, 0x6c, 0x92, 0x28, 0x5a, 0x0d, 0x5a, 0x2a, 0x18, 0xda, - 0xf3, 0x4c, 0xce, 0x4a, 0x8a, 0x8f, 0x0e, 0x2a, 0x73, 0x69, 0x12, 0x09, 0x18, 0xeb, 0x14, 0xcc, - 0xf8, 0x8d, 0x85, 0x13, 0x8d, 0xdf, 0x78, 0x1d, 0x60, 0x4f, 0x71, 0xeb, 0x69, 0x21, 0x5f, 0xe3, - 0xe3, 0x35, 0x2c, 0xf4, 0x45, 0x18, 0x8d, 0xc4, 0x35, 0x2e, 0x96, 0xe2, 0x8b, 0x03, 0xce, 0x95, - 0xb3, 0x41, 0x3c, 0xd3, 0x2d, 0x5d, 0xe9, 0x43, 0x14, 0x49, 0xf4, 0x6d, 0x30, 0x1d, 0xf1, 0xa8, - 0x27, 0x4b, 0x9e, 0x13, 0x31, 0x1f, 0x07, 0xb1, 0x0a, 0x99, 0xaf, 0x79, 0x23, 0x05, 0xc3, 0x5d, - 0xd8, 0x68, 0x45, 0x7e, 0x14, 0x0b, 0xd1, 0xc2, 0x17, 0xe6, 0x95, 0xe4, 0x83, 0x44, 0x8a, 0xa5, - 0xb3, 0xe9, 0xe1, 0x67, 0x03, 0xaf, 0xd5, 0x44, 0x5f, 0x04, 0xa0, 0xcb, 0x47, 0xe8, 0x12, 0x46, - 0xf2, 0x0f, 0x4f, 0x7a, 0xaa, 0xb4, 0x32, 0xad, 0x3a, 0x99, 0x9f, 0x5e, 0x55, 0x11, 0xc1, 0x1a, - 0x41, 0xfb, 0x87, 0x4a, 0xf0, 0x78, 0x8f, 0x33, 0x12, 0x2d, 0x98, 0x4f, 0xa0, 0xcf, 0xa6, 0x85, - 0xeb, 0xb9, 0xcc, 0xca, 0x86, 0xb4, 0x9d, 0x5a, 0x8a, 0x85, 0x0f, 0xbc, 0x14, 0xbf, 0xdf, 0xd2, - 0xd4, 0x1e, 0xdc, 0x50, 0xef, 0x73, 0xc7, 0x3c, 0xfb, 0x4f, 0x50, 0x0f, 0xb2, 0x99, 0xa1, 0x4c, - 0xb8, 0x3e, 0x70, 0x77, 0x06, 0xd6, 0x2e, 0x9c, 0xae, 0xf2, 0xf7, 0x2b, 0x16, 0x3c, 0x99, 0xd9, - 0x5f, 0xc3, 0x64, 0xe3, 0x1a, 0x94, 0x9b, 0xb4, 0x50, 0x73, 0xcb, 0x4a, 0xfc, 0x55, 0x25, 0x00, - 0x27, 0x38, 0x86, 0x65, 0x46, 0xa1, 0xaf, 0x65, 0xc6, 0x3f, 0xb3, 0xa0, 0x6b, 0x7f, 0x9c, 0xc2, - 0x41, 0x5d, 0x33, 0x0f, 0xea, 0x8f, 0x0f, 0x32, 0x97, 0x39, 0x67, 0xf4, 0x7f, 0x9a, 0x82, 0xf3, - 0x39, 0x7e, 0x18, 0x7b, 0x30, 0xb3, 0xd5, 0x24, 0xa6, 0xc3, 0x9b, 0xf8, 0x98, 0x4c, 0xdf, 0xc0, - 0x9e, 0xde, 0x71, 0x2c, 0xf5, 0xce, 0x4c, 0x17, 0x0a, 0xee, 0x6e, 0x02, 0x7d, 0xc5, 0x82, 0xb3, - 0xce, 0xfd, 0xa8, 0x2b, 0xc1, 0xa2, 0x58, 0x33, 0x2f, 0x65, 0x2a, 0x41, 0xfa, 0x24, 0x64, 0xe4, - 0xb9, 0x88, 0xb2, 0xb0, 0x70, 0x66, 0x5b, 0x08, 0x8b, 0xf0, 0x98, 0x94, 0x9d, 0xef, 0xe1, 0x92, - 0x99, 0xe5, 0x30, 0xc3, 0x8f, 0x6c, 0x09, 0xc1, 0x8a, 0x0e, 0xba, 0x07, 0xe5, 0x2d, 0xe9, 0xc5, - 0x26, 0xae, 0x84, 0xcc, 0x3b, 0x36, 0xd3, 0xd5, 0x8d, 0x3f, 0x4b, 0x2a, 0x10, 0x4e, 0x48, 0xa1, - 0xd7, 0xa1, 0xe8, 0x6f, 0x46, 0xbd, 0x92, 0xf8, 0xa4, 0x2c, 0x99, 0xb8, 0xbb, 0xf3, 0xda, 0x4a, - 0x03, 0xd3, 0x8a, 0xe8, 0x26, 0x14, 0xc3, 0x8d, 0x96, 0xd0, 0xdb, 0x65, 0x9e, 0xdc, 0x78, 0xb1, - 0x9a, 0xbd, 0x48, 0x38, 0x25, 0xbc, 0x58, 0xc5, 0x94, 0x04, 0xaa, 0xc3, 0x10, 0x73, 0x59, 0x10, - 0xb7, 0x40, 0x26, 0xbf, 0xdb, 0xc3, 0xf5, 0x87, 0xfb, 0x44, 0x33, 0x04, 0xcc, 0x09, 0xa1, 0x75, - 0x18, 0x6e, 0xb2, 0x84, 0x2f, 0x22, 0x22, 0xf3, 0xa7, 0x32, 0x35, 0x74, 0x3d, 0x32, 0xe1, 0x08, - 0x85, 0x15, 0xc3, 0xc0, 0x82, 0x16, 0xa3, 0x4a, 0xda, 0xdb, 0x9b, 0x11, 0x93, 0xf0, 0xf3, 0xa8, - 0xf6, 0x48, 0xf0, 0x24, 0xa8, 0x32, 0x0c, 0x2c, 0x68, 0xa1, 0xcf, 0x42, 0x61, 0xb3, 0x29, 0x3c, - 0x1a, 0x32, 0x55, 0x75, 0xa6, 0xc7, 0xfa, 0xe2, 0xf0, 0xe1, 0x41, 0xa5, 0xb0, 0xb2, 0x84, 0x0b, - 0x9b, 0x4d, 0xb4, 0x06, 0x23, 0x9b, 0xdc, 0xc7, 0x55, 0x68, 0xe3, 0x9e, 0xce, 0x76, 0xbf, 0xed, - 0x72, 0x83, 0xe5, 0x96, 0xf8, 0x02, 0x80, 0x25, 0x11, 0x16, 0x63, 0x52, 0xf9, 0xea, 0x8a, 0x60, - 0xcb, 0xf3, 0xc7, 0xf3, 0xaf, 0xe6, 0xb7, 0x72, 0xe2, 0xf1, 0x8b, 0x35, 0x8a, 0xe8, 0xcb, 0x50, - 0x76, 0x64, 0x6a, 0x3f, 0x11, 0x8c, 0xe2, 0xc5, 0xcc, 0x8d, 0xd9, 0x3b, 0xeb, 0x21, 0x5f, 0xd5, - 0x0a, 0x09, 0x27, 0x44, 0xd1, 0x0e, 0x4c, 0xec, 0x45, 0xed, 0x6d, 0x22, 0x37, 0x32, 0x8b, 0x4d, - 0x91, 0x73, 0x71, 0xdd, 0x13, 0x88, 0x6e, 0x18, 0x77, 0x1c, 0xaf, 0xeb, 0xec, 0x61, 0x6f, 0xd9, - 0xf7, 0x74, 0x62, 0xd8, 0xa4, 0x4d, 0x87, 0xff, 0xbd, 0x4e, 0xb0, 0xb1, 0x1f, 0x13, 0x11, 0x9d, - 0x39, 0x73, 0xf8, 0xdf, 0xe4, 0x28, 0xdd, 0xc3, 0x2f, 0x00, 0x58, 0x12, 0xa1, 0x5b, 0xdd, 0x91, - 0x69, 0x33, 0x59, 0x54, 0xe6, 0x9c, 0xad, 0x9e, 0x99, 0x5b, 0x53, 0x1b, 0x14, 0x76, 0x46, 0x26, - 0xa4, 0xd8, 0xd9, 0xd8, 0xde, 0x0e, 0xe2, 0xc0, 0x4f, 0x9d, 0xcb, 0x33, 0xf9, 0x67, 0x63, 0x3d, - 0x03, 0xbf, 0xfb, 0x6c, 0xcc, 0xc2, 0xc2, 0x99, 0x6d, 0xa1, 0x16, 0x4c, 0xb6, 0x83, 0x30, 0xbe, - 0x1f, 0x84, 0x72, 0x7d, 0xa1, 0x1e, 0xda, 0x04, 0x03, 0x53, 0xb4, 0xc8, 0xa2, 0x85, 0x9b, 0x10, - 0x9c, 0xa2, 0x89, 0x3e, 0x0f, 0x23, 0x51, 0xd3, 0xf1, 0x48, 0xed, 0xce, 0xec, 0x99, 0xfc, 0x4b, - 0xa7, 0xc1, 0x51, 0x72, 0x56, 0x17, 0x9b, 0x1c, 0x81, 0x82, 0x25, 0x39, 0xb4, 0x02, 0x43, 0x2c, - 0xe4, 0x3f, 0x0b, 0x2c, 0x9d, 0x13, 0xf4, 0xa8, 0xcb, 0x66, 0x94, 0x9f, 0x4d, 0xac, 0x18, 0xf3, - 0xea, 0x74, 0x0f, 0x08, 0xa6, 0x3a, 0x88, 0x66, 0xcf, 0xe5, 0xef, 0x01, 0xc1, 0x8b, 0xdf, 0x69, - 0xf4, 0xda, 0x03, 0x0a, 0x09, 0x27, 0x44, 0xe9, 0xc9, 0x4c, 0x4f, 0xd3, 0xf3, 0x3d, 0xcc, 0x58, - 0x72, 0xcf, 0x52, 0x76, 0x32, 0xd3, 0x93, 0x94, 0x92, 0xb0, 0x7f, 0x77, 0xa4, 0x9b, 0x53, 0x61, - 0x62, 0xd8, 0x9f, 0xb7, 0xba, 0x5e, 0xe8, 0x3e, 0x3d, 0xa8, 0x56, 0xe8, 0x04, 0x79, 0xd4, 0xaf, - 0x58, 0x70, 0xbe, 0x9d, 0xf9, 0x21, 0xe2, 0xda, 0x1f, 0x4c, 0xb9, 0xc4, 0x3f, 0x5d, 0x05, 0x7f, - 0xcf, 0x86, 0xe3, 0x9c, 0x96, 0xd2, 0x72, 0x40, 0xf1, 0x03, 0xcb, 0x01, 0xab, 0x30, 0xca, 0x58, - 0xcb, 0x3e, 0x09, 0xd0, 0xd2, 0xe2, 0x10, 0x63, 0x20, 0x96, 0x44, 0x45, 0xac, 0x48, 0xa0, 0x1f, - 0xb0, 0xe0, 0x62, 0xba, 0xeb, 0x98, 0x30, 0xb0, 0x08, 0x95, 0xce, 0x25, 0xc0, 0x15, 0xf1, 0xfd, - 0x17, 0xeb, 0xbd, 0x90, 0x8f, 0xfa, 0x21, 0xe0, 0xde, 0x8d, 0xa1, 0x6a, 0x86, 0x08, 0x3a, 0x6c, - 0xaa, 0xdd, 0x07, 0x10, 0x43, 0x5f, 0x82, 0xf1, 0xdd, 0xa0, 0xe3, 0xc7, 0xc2, 0xea, 0x45, 0xf8, - 0x20, 0xb2, 0x67, 0xe6, 0x55, 0xad, 0x1c, 0x1b, 0x58, 0x29, 0xe1, 0x75, 0xf4, 0xa1, 0x85, 0xd7, - 0x77, 0x52, 0x69, 0xae, 0xcb, 0xf9, 0x21, 0xf9, 0x84, 0x9c, 0x7f, 0x8c, 0x64, 0xd7, 0xa7, 0x2b, - 0x11, 0xfd, 0xb4, 0x95, 0xc1, 0xca, 0x73, 0x19, 0xf9, 0x35, 0x53, 0x46, 0xbe, 0x92, 0x96, 0x91, - 0xbb, 0x54, 0xae, 0x86, 0x78, 0x3c, 0x78, 0x5c, 0xe7, 0x41, 0x03, 0xa5, 0xd9, 0x1e, 0x5c, 0xee, - 0x77, 0x2d, 0x31, 0xf3, 0xa7, 0x96, 0x7a, 0x60, 0x4b, 0xcc, 0x9f, 0x5a, 0xb5, 0x2a, 0x66, 0x90, - 0x41, 0x23, 0x69, 0xd8, 0xff, 0xd5, 0x82, 0x62, 0x3d, 0x68, 0x9d, 0x82, 0x0a, 0xf9, 0x73, 0x86, - 0x0a, 0xf9, 0xf1, 0x9c, 0xf4, 0xe3, 0xb9, 0x0a, 0xe3, 0xe5, 0x94, 0xc2, 0xf8, 0x62, 0x1e, 0x81, - 0xde, 0xea, 0xe1, 0x9f, 0x28, 0x82, 0x9e, 0x2c, 0x1d, 0xfd, 0xc6, 0xc3, 0xd8, 0x1e, 0x17, 0x7b, - 0xe5, 0x4f, 0x17, 0x94, 0x99, 0xd5, 0x94, 0x74, 0xab, 0xfb, 0x53, 0x66, 0x82, 0xfc, 0x16, 0x71, - 0xb7, 0xb6, 0x63, 0xd2, 0x4a, 0x7f, 0xce, 0xe9, 0x99, 0x20, 0xff, 0x67, 0x0b, 0xa6, 0x52, 0xad, - 0x23, 0x0f, 0x26, 0x3c, 0x5d, 0xff, 0x27, 0xd6, 0xe9, 0x43, 0xa9, 0x0e, 0x85, 0x09, 0xa7, 0x56, - 0x84, 0x4d, 0xe2, 0x68, 0x1e, 0x40, 0xbd, 0xcf, 0x49, 0xbd, 0x17, 0xe3, 0xfa, 0xd5, 0x03, 0x5e, - 0x84, 0x35, 0x0c, 0xf4, 0x32, 0x8c, 0xc5, 0x41, 0x3b, 0xf0, 0x82, 0xad, 0xfd, 0x5b, 0x44, 0xc6, - 0x6e, 0x51, 0x86, 0x59, 0xeb, 0x09, 0x08, 0xeb, 0x78, 0xf6, 0x4f, 0x15, 0x21, 0x9d, 0x60, 0xff, - 0x9b, 0x6b, 0xf2, 0xa3, 0xb9, 0x26, 0xbf, 0x61, 0xc1, 0x34, 0x6d, 0x9d, 0x19, 0x89, 0xc8, 0xcb, - 0x56, 0xe5, 0x97, 0xb1, 0x7a, 0xe4, 0x97, 0xb9, 0x42, 0xcf, 0xae, 0x56, 0xd0, 0x89, 0x85, 0xde, - 0x4c, 0x3b, 0x9c, 0x68, 0x29, 0x16, 0x50, 0x81, 0x47, 0xc2, 0x50, 0x78, 0x3e, 0xe9, 0x78, 0x24, - 0x0c, 0xb1, 0x80, 0xca, 0xf4, 0x33, 0xa5, 0x9c, 0xf4, 0x33, 0x2c, 0x12, 0x9d, 0x30, 0x27, 0x10, - 0x6c, 0x8f, 0x16, 0x89, 0x4e, 0xda, 0x19, 0x24, 0x38, 0xf6, 0xcf, 0x15, 0x61, 0xbc, 0x1e, 0xb4, - 0x92, 0x17, 0xb2, 0x97, 0x8c, 0x17, 0xb2, 0xcb, 0xa9, 0x17, 0xb2, 0x69, 0x1d, 0xf7, 0x9b, 0xef, - 0x61, 0x1f, 0xd6, 0x7b, 0xd8, 0x3f, 0xb5, 0xd8, 0xac, 0x55, 0xd7, 0x1a, 0x22, 0xfd, 0xed, 0x0b, - 0x30, 0xc6, 0x0e, 0x24, 0xe6, 0x6a, 0x27, 0x9f, 0x8d, 0x58, 0x64, 0xf9, 0xb5, 0xa4, 0x18, 0xeb, - 0x38, 0xe8, 0x2a, 0x8c, 0x46, 0xc4, 0x09, 0x9b, 0xdb, 0xea, 0x8c, 0x13, 0x8f, 0x2a, 0xbc, 0x0c, - 0x2b, 0x28, 0x7a, 0x33, 0x09, 0x82, 0x56, 0xcc, 0x4f, 0xe4, 0xaa, 0xf7, 0x87, 0x6f, 0x91, 0xfc, - 0xc8, 0x67, 0xf6, 0x5b, 0x80, 0xba, 0xf1, 0x07, 0x08, 0x77, 0x54, 0x31, 0xc3, 0x1d, 0x95, 0xbb, - 0x42, 0x1d, 0xfd, 0xb1, 0x05, 0x93, 0xf5, 0xa0, 0x45, 0xb7, 0xee, 0x9f, 0xa5, 0x7d, 0xaa, 0x47, - 0x80, 0x1c, 0xee, 0x11, 0x01, 0xf2, 0xef, 0x58, 0x30, 0x52, 0x0f, 0x5a, 0xa7, 0xa0, 0x6d, 0x7f, - 0xcd, 0xd4, 0xb6, 0x3f, 0x96, 0xb3, 0x24, 0x72, 0x14, 0xec, 0xbf, 0x50, 0x84, 0x09, 0xda, 0xcf, - 0x60, 0x4b, 0xce, 0x92, 0x31, 0x22, 0xd6, 0x00, 0x23, 0x42, 0xd9, 0xdc, 0xc0, 0xf3, 0x82, 0xfb, - 0xe9, 0x19, 0x5b, 0x61, 0xa5, 0x58, 0x40, 0xd1, 0x73, 0x30, 0xda, 0x0e, 0xc9, 0x9e, 0x1b, 0x08, - 0xfe, 0x51, 0x7b, 0xbb, 0xa8, 0x8b, 0x72, 0xac, 0x30, 0xa8, 0xdc, 0x15, 0xb9, 0x7e, 0x93, 0xc8, - 0x2c, 0xd2, 0x25, 0x96, 0x68, 0x8a, 0x87, 0x76, 0xd6, 0xca, 0xb1, 0x81, 0x85, 0xde, 0x82, 0x32, - 0xfb, 0xcf, 0x4e, 0x94, 0xe3, 0x27, 0xc6, 0x11, 0xf9, 0x14, 0x04, 0x01, 0x9c, 0xd0, 0x42, 0xd7, - 0x01, 0x62, 0x19, 0xfe, 0x37, 0x12, 0x51, 0x6b, 0x14, 0xaf, 0xad, 0x02, 0x03, 0x47, 0x58, 0xc3, - 0x42, 0xcf, 0x42, 0x39, 0x76, 0x5c, 0xef, 0xb6, 0xeb, 0x93, 0x88, 0xa9, 0x9c, 0x8b, 0x32, 0x5d, - 0x82, 0x28, 0xc4, 0x09, 0x9c, 0xf2, 0x3a, 0xcc, 0xa5, 0x9b, 0xa7, 0xd5, 0x1a, 0x65, 0xd8, 0x8c, - 0xd7, 0xb9, 0xad, 0x4a, 0xb1, 0x86, 0x61, 0xbf, 0x02, 0xe7, 0xea, 0x41, 0xab, 0x1e, 0x84, 0xf1, - 0x4a, 0x10, 0xde, 0x77, 0xc2, 0x96, 0x9c, 0xbf, 0x8a, 0x8c, 0xdc, 0x4f, 0xcf, 0x9e, 0x21, 0xbe, - 0x33, 0x8d, 0x98, 0xfc, 0x2f, 0x32, 0x6e, 0xe7, 0x98, 0xae, 0x1c, 0x4d, 0x76, 0xef, 0xaa, 0x0c, - 0x7a, 0x37, 0x9c, 0x98, 0xa0, 0x3b, 0x2c, 0xeb, 0x56, 0x72, 0x05, 0x89, 0xea, 0xcf, 0x68, 0x59, - 0xb7, 0x12, 0x60, 0xe6, 0x9d, 0x65, 0xd6, 0xb7, 0x7f, 0xb5, 0xc8, 0x4e, 0xa3, 0x54, 0x42, 0x39, - 0xf4, 0x25, 0x98, 0x8c, 0xc8, 0x6d, 0xd7, 0xef, 0x3c, 0x90, 0x42, 0x78, 0x0f, 0x67, 0x9c, 0xc6, - 0xb2, 0x8e, 0xc9, 0x55, 0x79, 0x66, 0x19, 0x4e, 0x51, 0xa3, 0xf3, 0x14, 0x76, 0xfc, 0x85, 0xe8, - 0x6e, 0x44, 0x42, 0x91, 0xd0, 0x8c, 0xcd, 0x13, 0x96, 0x85, 0x38, 0x81, 0xd3, 0x75, 0xc9, 0xfe, - 0xac, 0x05, 0x3e, 0x0e, 0x82, 0x58, 0xae, 0x64, 0x96, 0x12, 0x47, 0x2b, 0xc7, 0x06, 0x16, 0x5a, - 0x01, 0x14, 0x75, 0xda, 0x6d, 0x8f, 0x3d, 0xe7, 0x3b, 0xde, 0x8d, 0x30, 0xe8, 0xb4, 0xf9, 0x5b, - 0x67, 0x71, 0xf1, 0x3c, 0xbd, 0xc2, 0x1a, 0x5d, 0x50, 0x9c, 0x51, 0x83, 0x9e, 0x3e, 0x9b, 0x11, - 0xfb, 0xcd, 0x56, 0x77, 0x51, 0xa8, 0xd7, 0x1b, 0xac, 0x08, 0x4b, 0x18, 0x5d, 0x4c, 0xac, 0x79, - 0x8e, 0x39, 0x9c, 0x2c, 0x26, 0xac, 0x4a, 0xb1, 0x86, 0x81, 0x96, 0x61, 0x24, 0xda, 0x8f, 0x9a, - 0xb1, 0x88, 0xb1, 0x94, 0x93, 0x9a, 0xb2, 0xc1, 0x50, 0xb4, 0x74, 0x09, 0xbc, 0x0a, 0x96, 0x75, - 0xed, 0xef, 0x62, 0x97, 0x21, 0x4b, 0x7f, 0x15, 0x77, 0x42, 0x82, 0x76, 0x61, 0xa2, 0xcd, 0xa6, - 0x5c, 0x04, 0x67, 0x16, 0xf3, 0xf6, 0xd2, 0x80, 0x52, 0xed, 0x7d, 0x7a, 0xd0, 0x28, 0xad, 0x13, - 0x13, 0x17, 0xea, 0x3a, 0x39, 0x6c, 0x52, 0xb7, 0xff, 0xd5, 0x0c, 0x3b, 0x73, 0x1b, 0x5c, 0x54, - 0x1d, 0x11, 0x06, 0xc5, 0x82, 0x2f, 0x9f, 0xcb, 0xd7, 0x99, 0x24, 0x5f, 0x24, 0x8c, 0x92, 0xb1, - 0xac, 0x8b, 0xde, 0x64, 0x6f, 0xd3, 0xfc, 0xa0, 0xeb, 0x97, 0x85, 0x98, 0x63, 0x19, 0xcf, 0xd0, - 0xa2, 0x22, 0xd6, 0x88, 0xa0, 0xdb, 0x30, 0x21, 0xb2, 0x25, 0x09, 0xa5, 0x58, 0xd1, 0x50, 0x7a, - 0x4c, 0x60, 0x1d, 0x78, 0x94, 0x2e, 0xc0, 0x66, 0x65, 0xb4, 0x05, 0x17, 0xb5, 0xd4, 0x81, 0x37, - 0x42, 0x87, 0xbd, 0x57, 0xba, 0x6c, 0x13, 0x69, 0xe7, 0xe6, 0x93, 0x87, 0x07, 0x95, 0x8b, 0xeb, - 0xbd, 0x10, 0x71, 0x6f, 0x3a, 0xe8, 0x0e, 0x9c, 0xe3, 0x7e, 0x7b, 0x55, 0xe2, 0xb4, 0x3c, 0xd7, - 0x57, 0x07, 0x33, 0x5f, 0x87, 0x17, 0x0e, 0x0f, 0x2a, 0xe7, 0x16, 0xb2, 0x10, 0x70, 0x76, 0x3d, - 0xf4, 0x1a, 0x94, 0x5b, 0x7e, 0x24, 0xc6, 0x60, 0xd8, 0xc8, 0x8a, 0x59, 0xae, 0xae, 0x35, 0xd4, - 0xf7, 0x27, 0x7f, 0x70, 0x52, 0x01, 0x6d, 0x71, 0xc5, 0x98, 0x92, 0x43, 0x47, 0xf2, 0x33, 0xa0, - 0x8b, 0x25, 0x61, 0x78, 0xee, 0x70, 0x8d, 0xb0, 0xb2, 0x7c, 0x35, 0x9c, 0x7a, 0x0c, 0xc2, 0xe8, - 0x0d, 0x40, 0x94, 0x51, 0x73, 0x9b, 0x64, 0xa1, 0xc9, 0x62, 0x64, 0x33, 0x3d, 0xe2, 0xa8, 0xe1, - 0x29, 0x81, 0x1a, 0x5d, 0x18, 0x38, 0xa3, 0x16, 0xba, 0x49, 0x0f, 0x32, 0xbd, 0x54, 0x58, 0xf0, - 0x4a, 0xe6, 0x7e, 0xb6, 0x4a, 0xda, 0x21, 0x69, 0x3a, 0x31, 0x69, 0x99, 0x14, 0x71, 0xaa, 0x1e, - 0xbd, 0x4b, 0x55, 0xba, 0x1c, 0x30, 0x03, 0x61, 0x74, 0xa7, 0xcc, 0xa1, 0x72, 0xf1, 0x76, 0x10, - 0xc5, 0x6b, 0x24, 0xbe, 0x1f, 0x84, 0x3b, 0x22, 0xee, 0x58, 0x12, 0x02, 0x33, 0x01, 0x61, 0x1d, - 0x8f, 0xf2, 0xc1, 0xec, 0x71, 0xb8, 0x56, 0x65, 0x2f, 0x74, 0xa3, 0xc9, 0x3e, 0xb9, 0xc9, 0x8b, - 0xb1, 0x84, 0x4b, 0xd4, 0x5a, 0x7d, 0x89, 0xbd, 0xb6, 0xa5, 0x50, 0x6b, 0xf5, 0x25, 0x2c, 0xe1, - 0x88, 0x74, 0x67, 0x1c, 0x9d, 0xcc, 0xd7, 0x6a, 0x76, 0x5f, 0x07, 0x03, 0x26, 0x1d, 0xf5, 0x61, - 0x5a, 0xe5, 0x3a, 0xe5, 0x01, 0xd9, 0xa2, 0xd9, 0x29, 0xb6, 0x48, 0x06, 0x8f, 0xe6, 0xa6, 0xf4, - 0xc4, 0xb5, 0x14, 0x25, 0xdc, 0x45, 0xdb, 0x08, 0x4d, 0x32, 0xdd, 0x37, 0xdd, 0xd1, 0x35, 0x28, - 0x47, 0x9d, 0x8d, 0x56, 0xb0, 0xeb, 0xb8, 0x3e, 0x7b, 0x1c, 0xd3, 0x98, 0xac, 0x86, 0x04, 0xe0, - 0x04, 0x07, 0xad, 0xc0, 0xa8, 0x23, 0x95, 0xc0, 0x28, 0x3f, 0x56, 0x81, 0x52, 0xfd, 0x72, 0xf7, - 0x5d, 0xa9, 0xf6, 0x55, 0x75, 0xd1, 0xab, 0x30, 0x21, 0xbc, 0xb5, 0x78, 0x04, 0x07, 0xf6, 0x78, - 0xa5, 0x99, 0xe3, 0x37, 0x74, 0x20, 0x36, 0x71, 0xd1, 0x17, 0x61, 0x92, 0x52, 0x49, 0x0e, 0xb6, - 0xd9, 0xb3, 0x83, 0x9c, 0x88, 0x5a, 0x1a, 0x0b, 0xbd, 0x32, 0x4e, 0x11, 0x43, 0x2d, 0x78, 0xc2, - 0xe9, 0xc4, 0x01, 0x53, 0xa4, 0x9b, 0xeb, 0x7f, 0x3d, 0xd8, 0x21, 0x3e, 0x7b, 0xc3, 0x1a, 0x5d, - 0xbc, 0x7c, 0x78, 0x50, 0x79, 0x62, 0xa1, 0x07, 0x1e, 0xee, 0x49, 0x05, 0xdd, 0x85, 0xb1, 0x38, - 0xf0, 0x98, 0x61, 0x3c, 0x65, 0x25, 0xce, 0xe7, 0x87, 0xf6, 0x59, 0x57, 0x68, 0xba, 0x12, 0x49, - 0x55, 0xc5, 0x3a, 0x1d, 0xb4, 0xce, 0xf7, 0x18, 0x0b, 0x7a, 0x4a, 0xa2, 0xd9, 0xc7, 0xf2, 0x07, - 0x46, 0xc5, 0x46, 0x35, 0xb7, 0xa0, 0xa8, 0x89, 0x75, 0x32, 0xe8, 0x06, 0xcc, 0xb4, 0x43, 0x37, - 0x60, 0x0b, 0x5b, 0x3d, 0x62, 0xcc, 0x9a, 0x99, 0x0b, 0xea, 0x69, 0x04, 0xdc, 0x5d, 0x87, 0x0a, - 0x99, 0xb2, 0x70, 0xf6, 0x02, 0x4f, 0x83, 0xc5, 0x19, 0x6f, 0x5e, 0x86, 0x15, 0x14, 0xad, 0xb2, - 0x73, 0x99, 0x8b, 0x83, 0xb3, 0x73, 0xf9, 0x31, 0x1e, 0x74, 0xb1, 0x91, 0xf3, 0x4b, 0xea, 0x2f, - 0x4e, 0x28, 0xd0, 0x7b, 0x23, 0xda, 0x76, 0x42, 0x52, 0x0f, 0x83, 0x26, 0xe1, 0x9d, 0xe1, 0x36, - 0xf9, 0x8f, 0xf3, 0xd8, 0x8c, 0xf4, 0xde, 0x68, 0x64, 0x21, 0xe0, 0xec, 0x7a, 0xa8, 0xa5, 0x65, - 0x7f, 0xa6, 0x6c, 0x68, 0x34, 0xfb, 0x44, 0x0f, 0x33, 0xa3, 0x14, 0xcf, 0x9a, 0xac, 0x45, 0xa3, - 0x38, 0xc2, 0x29, 0x9a, 0xe8, 0xdb, 0x60, 0x5a, 0x84, 0x32, 0x4a, 0xc6, 0xfd, 0x62, 0x62, 0xbf, - 0x88, 0x53, 0x30, 0xdc, 0x85, 0x3d, 0xf7, 0xad, 0x30, 0xd3, 0x75, 0xe3, 0x1c, 0x2b, 0xb0, 0xf8, - 0x1f, 0x0d, 0x41, 0x59, 0x29, 0xd3, 0xd1, 0x35, 0xf3, 0x8d, 0xe4, 0x42, 0xfa, 0x8d, 0x64, 0x94, - 0xf2, 0xf4, 0xfa, 0xb3, 0xc8, 0xba, 0x61, 0x56, 0x57, 0xc8, 0x4f, 0xe3, 0xa5, 0x73, 0xe5, 0x7d, - 0x5d, 0xf4, 0x34, 0xdd, 0x48, 0x71, 0xe0, 0xc7, 0x96, 0x52, 0x4f, 0x75, 0xcb, 0x80, 0x59, 0x74, - 0xd1, 0x53, 0x54, 0xb0, 0x69, 0xd5, 0xea, 0xe9, 0xb4, 0x92, 0x75, 0x5a, 0x88, 0x39, 0x8c, 0x09, - 0x80, 0x94, 0x3d, 0x62, 0x02, 0xe0, 0xc8, 0x43, 0x0a, 0x80, 0x92, 0x00, 0x4e, 0x68, 0x21, 0x0f, - 0x66, 0x9a, 0x66, 0x46, 0x50, 0xe5, 0x96, 0xf7, 0x54, 0xdf, 0xdc, 0x9c, 0x1d, 0x2d, 0xfd, 0xda, - 0x52, 0x9a, 0x0a, 0xee, 0x26, 0x8c, 0x5e, 0x85, 0xd1, 0xf7, 0x82, 0x88, 0x2d, 0x26, 0xc1, 0x23, - 0x48, 0xf7, 0xa5, 0xd1, 0x37, 0xef, 0x34, 0x58, 0xf9, 0xd1, 0x41, 0x65, 0xac, 0x1e, 0xb4, 0xe4, - 0x5f, 0xac, 0x2a, 0xa0, 0x07, 0x70, 0xce, 0x38, 0x59, 0x55, 0x77, 0x61, 0xf0, 0xee, 0x5e, 0x14, - 0xcd, 0x9d, 0xab, 0x65, 0x51, 0xc2, 0xd9, 0x0d, 0xd0, 0xe3, 0xca, 0x0f, 0x44, 0x36, 0x5d, 0xc9, - 0x87, 0x30, 0x76, 0xa3, 0xac, 0x3b, 0xaf, 0xa7, 0x10, 0x70, 0x77, 0x1d, 0xfb, 0x97, 0xf9, 0xdb, - 0x83, 0xd0, 0x50, 0x92, 0xa8, 0xe3, 0x9d, 0x46, 0xb2, 0xa6, 0x65, 0x43, 0x79, 0xfa, 0xd0, 0xef, - 0x5b, 0xbf, 0x6e, 0xb1, 0xf7, 0xad, 0x75, 0xb2, 0xdb, 0xf6, 0xa8, 0x9c, 0xfc, 0xe8, 0x3b, 0xfe, - 0x26, 0x8c, 0xc6, 0xa2, 0xb5, 0x5e, 0xf9, 0xa5, 0xb4, 0x4e, 0xb1, 0x37, 0x3e, 0xc5, 0xa1, 0xc8, - 0x52, 0xac, 0xc8, 0xd8, 0xff, 0x98, 0xcf, 0x80, 0x84, 0x9c, 0x82, 0x22, 0xab, 0x6a, 0x2a, 0xb2, - 0x2a, 0x7d, 0xbe, 0x20, 0x47, 0xa1, 0xf5, 0x8f, 0xcc, 0x7e, 0x33, 0x61, 0xf0, 0xa3, 0xfe, 0xb0, - 0x6a, 0xff, 0xb0, 0x05, 0x67, 0xb3, 0x2c, 0x91, 0x28, 0x57, 0xc9, 0x45, 0x51, 0xf5, 0xd0, 0xac, - 0x46, 0xf0, 0x9e, 0x28, 0xc7, 0x0a, 0x63, 0xe0, 0xd4, 0x0d, 0xc7, 0x8b, 0xef, 0x76, 0x07, 0x26, - 0xea, 0x21, 0xd1, 0xee, 0x80, 0xd7, 0xb9, 0x1f, 0x1c, 0xef, 0xcf, 0x73, 0xc7, 0xf6, 0x81, 0xb3, - 0x7f, 0xa6, 0x00, 0x67, 0xf9, 0x4b, 0xd1, 0xc2, 0x5e, 0xe0, 0xb6, 0xea, 0x41, 0x4b, 0xa4, 0xdd, - 0x78, 0x1b, 0xc6, 0xdb, 0x9a, 0xfe, 0xa0, 0x57, 0x84, 0x29, 0x5d, 0xcf, 0x90, 0xc8, 0x71, 0x7a, - 0x29, 0x36, 0x68, 0xa1, 0x16, 0x8c, 0x93, 0x3d, 0xb7, 0xa9, 0x9e, 0x1b, 0x0a, 0xc7, 0xbe, 0x1b, - 0x54, 0x2b, 0xcb, 0x1a, 0x1d, 0x6c, 0x50, 0x7d, 0x04, 0x99, 0xd8, 0xec, 0x1f, 0xb1, 0xe0, 0xb1, - 0x9c, 0x78, 0x54, 0xb4, 0xb9, 0xfb, 0xec, 0x4d, 0x4e, 0x24, 0x75, 0x52, 0xcd, 0xf1, 0x97, 0x3a, - 0x2c, 0xa0, 0xe8, 0xf3, 0x00, 0xfc, 0xa5, 0x8d, 0x8a, 0x35, 0xfd, 0x02, 0xf7, 0x18, 0x31, 0x47, - 0xb4, 0x58, 0x11, 0xb2, 0x3e, 0xd6, 0x68, 0xd9, 0x3f, 0x59, 0x84, 0x21, 0xf6, 0xb2, 0x83, 0x56, - 0x60, 0x64, 0x9b, 0x47, 0x5f, 0x1e, 0x24, 0xd0, 0x73, 0x22, 0x1f, 0xf2, 0x02, 0x2c, 0x2b, 0xa3, - 0x55, 0x38, 0xc3, 0xa3, 0x57, 0x7b, 0x55, 0xe2, 0x39, 0xfb, 0x52, 0xcd, 0xc0, 0x13, 0x21, 0xa9, - 0xb8, 0x17, 0xb5, 0x6e, 0x14, 0x9c, 0x55, 0x0f, 0xbd, 0x0e, 0x93, 0x94, 0x2f, 0x0b, 0x3a, 0xb1, - 0xa4, 0xc4, 0xe3, 0x56, 0x2b, 0x46, 0x70, 0xdd, 0x80, 0xe2, 0x14, 0x36, 0x15, 0x98, 0xda, 0x5d, - 0x0a, 0x95, 0xa1, 0x44, 0x60, 0x32, 0x95, 0x28, 0x26, 0x2e, 0x33, 0x41, 0xea, 0x30, 0x83, 0xab, - 0xf5, 0xed, 0x90, 0x44, 0xdb, 0x81, 0xd7, 0x12, 0x79, 0xb4, 0x13, 0x13, 0xa4, 0x14, 0x1c, 0x77, - 0xd5, 0xa0, 0x54, 0x36, 0x1d, 0xd7, 0xeb, 0x84, 0x24, 0xa1, 0x32, 0x6c, 0x52, 0x59, 0x49, 0xc1, - 0x71, 0x57, 0x0d, 0xba, 0x8e, 0xce, 0x89, 0xc4, 0xd6, 0xd2, 0x1b, 0x5f, 0xd9, 0x95, 0x8d, 0x48, - 0xbf, 0xa4, 0x1e, 0xe1, 0x68, 0x84, 0xe5, 0x8d, 0x4a, 0x8d, 0xad, 0xe9, 0x01, 0x85, 0x47, 0x92, - 0xa4, 0xf2, 0x30, 0xe9, 0x95, 0x7f, 0xd7, 0x82, 0x33, 0x19, 0xf6, 0xab, 0xfc, 0xa8, 0xda, 0x72, - 0xa3, 0x58, 0x25, 0x7b, 0xd1, 0x8e, 0x2a, 0x5e, 0x8e, 0x15, 0x06, 0xdd, 0x0f, 0xfc, 0x30, 0x4c, - 0x1f, 0x80, 0xc2, 0x3e, 0x4c, 0x40, 0x8f, 0x77, 0x00, 0xa2, 0xcb, 0x50, 0xea, 0x44, 0x44, 0x06, - 0x92, 0x52, 0xe7, 0x37, 0xd3, 0x0c, 0x33, 0x08, 0x65, 0x4d, 0xb7, 0x94, 0x52, 0x56, 0x63, 0x4d, - 0xb9, 0xa6, 0x95, 0xc3, 0xec, 0xaf, 0x16, 0xe1, 0x42, 0xae, 0xa5, 0x3a, 0xed, 0xd2, 0x6e, 0xe0, - 0xbb, 0x71, 0xa0, 0x5e, 0x0d, 0x79, 0x28, 0x13, 0xd2, 0xde, 0x5e, 0x15, 0xe5, 0x58, 0x61, 0xa0, - 0x2b, 0x32, 0xc5, 0x7a, 0x3a, 0x9d, 0xcd, 0x62, 0xd5, 0xc8, 0xb2, 0x3e, 0x68, 0xaa, 0xb0, 0xa7, - 0xa0, 0xd4, 0x0e, 0x02, 0x2f, 0x7d, 0x18, 0xd1, 0xee, 0x06, 0x81, 0x87, 0x19, 0x10, 0x7d, 0x42, - 0x8c, 0x43, 0xea, 0x99, 0x0c, 0x3b, 0xad, 0x20, 0xd2, 0x06, 0xe3, 0x19, 0x18, 0xd9, 0x21, 0xfb, - 0xa1, 0xeb, 0x6f, 0xa5, 0x9f, 0x4f, 0x6f, 0xf1, 0x62, 0x2c, 0xe1, 0x66, 0x36, 0x87, 0x91, 0x93, - 0xce, 0xf1, 0x35, 0xda, 0xf7, 0x6a, 0xfb, 0xfe, 0x22, 0x4c, 0xe1, 0xc5, 0xea, 0x37, 0x27, 0xe2, - 0x6e, 0xf7, 0x44, 0x9c, 0x74, 0x8e, 0xaf, 0xfe, 0xb3, 0xf1, 0x0b, 0x16, 0x4c, 0xb1, 0x88, 0xc7, - 0x22, 0x80, 0x86, 0x1b, 0xf8, 0xa7, 0xc0, 0xba, 0x3d, 0x05, 0x43, 0x21, 0x6d, 0x34, 0x9d, 0xb8, - 0x87, 0xf5, 0x04, 0x73, 0x18, 0x7a, 0x02, 0x4a, 0xac, 0x0b, 0x74, 0xf2, 0xc6, 0x79, 0xce, 0x83, - 0xaa, 0x13, 0x3b, 0x98, 0x95, 0x32, 0xaf, 0x70, 0x4c, 0xda, 0x9e, 0xcb, 0x3b, 0x9d, 0x3c, 0x49, - 0x7c, 0x34, 0xbc, 0xc2, 0x33, 0xbb, 0xf6, 0xc1, 0xbc, 0xc2, 0xb3, 0x49, 0xf6, 0x16, 0x8b, 0xfe, - 0x5b, 0x01, 0x2e, 0x65, 0xd6, 0x1b, 0xd8, 0x2b, 0xbc, 0x77, 0xed, 0x93, 0xb1, 0x82, 0xc9, 0x36, - 0x4e, 0x29, 0x9e, 0xa2, 0x71, 0x4a, 0x69, 0x50, 0xce, 0x71, 0x68, 0x00, 0x67, 0xed, 0xcc, 0x21, - 0xfb, 0x88, 0x38, 0x6b, 0x67, 0xf6, 0x2d, 0x47, 0xac, 0xfb, 0x93, 0x42, 0xce, 0xb7, 0x30, 0x01, - 0xef, 0x2a, 0x3d, 0x67, 0x18, 0x30, 0x12, 0x9c, 0xf0, 0x38, 0x3f, 0x63, 0x78, 0x19, 0x56, 0x50, - 0xe4, 0x6a, 0x6e, 0xcf, 0x85, 0xfc, 0xb4, 0x8e, 0xb9, 0x4d, 0xcd, 0x9b, 0x2f, 0x48, 0x6a, 0x08, - 0x32, 0x5c, 0xa0, 0x57, 0x35, 0xa1, 0xbc, 0x38, 0xb8, 0x50, 0x3e, 0x9e, 0x2d, 0x90, 0xa3, 0x05, - 0x98, 0xda, 0x75, 0x7d, 0x96, 0xa6, 0xdf, 0x64, 0x45, 0x55, 0x14, 0x90, 0x55, 0x13, 0x8c, 0xd3, - 0xf8, 0x73, 0xaf, 0xc2, 0xc4, 0xc3, 0xab, 0x23, 0xbf, 0x51, 0x84, 0xc7, 0x7b, 0x6c, 0x7b, 0x7e, - 0xd6, 0x1b, 0x73, 0xa0, 0x9d, 0xf5, 0x5d, 0xf3, 0x50, 0x87, 0xb3, 0x9b, 0x1d, 0xcf, 0xdb, 0x67, - 0xf6, 0x9f, 0xa4, 0x25, 0x31, 0x04, 0xaf, 0xf8, 0x84, 0xcc, 0x32, 0xb1, 0x92, 0x81, 0x83, 0x33, - 0x6b, 0xa2, 0x37, 0x00, 0x05, 0x22, 0xa7, 0xec, 0x0d, 0xe2, 0x0b, 0xbd, 0x3c, 0x1b, 0xf8, 0x62, - 0xb2, 0x19, 0xef, 0x74, 0x61, 0xe0, 0x8c, 0x5a, 0x94, 0xe9, 0xa7, 0xb7, 0xd2, 0xbe, 0xea, 0x56, - 0x8a, 0xe9, 0xc7, 0x3a, 0x10, 0x9b, 0xb8, 0xe8, 0x06, 0xcc, 0x38, 0x7b, 0x8e, 0xcb, 0xa3, 0xe3, - 0x49, 0x02, 0x9c, 0xeb, 0x57, 0x4a, 0xb0, 0x85, 0x34, 0x02, 0xee, 0xae, 0x93, 0x72, 0x8c, 0x1e, - 0xce, 0x77, 0x8c, 0xee, 0x7d, 0x2e, 0xf6, 0xd3, 0xe9, 0xda, 0xff, 0xde, 0xa2, 0xd7, 0x57, 0x46, - 0x5e, 0x78, 0x3a, 0x0e, 0x4a, 0x37, 0xa9, 0xf9, 0x28, 0x9f, 0xd3, 0x2c, 0x3c, 0x12, 0x20, 0x36, - 0x71, 0xf9, 0x82, 0x88, 0x12, 0x27, 0x19, 0x83, 0x75, 0x17, 0x31, 0x0e, 0x14, 0x06, 0xfa, 0x02, - 0x8c, 0xb4, 0xdc, 0x3d, 0x37, 0x0a, 0x42, 0xb1, 0x59, 0x8e, 0xe9, 0x6a, 0x90, 0x9c, 0x83, 0x55, - 0x4e, 0x06, 0x4b, 0x7a, 0xf6, 0xf7, 0x17, 0x60, 0x42, 0xb6, 0xf8, 0x66, 0x27, 0x88, 0x9d, 0x53, - 0xb8, 0x96, 0x6f, 0x18, 0xd7, 0xf2, 0x27, 0x7a, 0x05, 0x7a, 0x60, 0x5d, 0xca, 0xbd, 0x8e, 0xef, - 0xa4, 0xae, 0xe3, 0xa7, 0xfb, 0x93, 0xea, 0x7d, 0x0d, 0xff, 0x13, 0x0b, 0x66, 0x0c, 0xfc, 0x53, - 0xb8, 0x0d, 0x56, 0xcc, 0xdb, 0xe0, 0xc9, 0xbe, 0xdf, 0x90, 0x73, 0x0b, 0x7c, 0x4f, 0x31, 0xd5, - 0x77, 0x76, 0xfa, 0xbf, 0x07, 0xa5, 0x6d, 0x27, 0x6c, 0xf5, 0x0a, 0x28, 0xdb, 0x55, 0x69, 0xfe, - 0xa6, 0x13, 0xb6, 0xf8, 0x19, 0xfe, 0x9c, 0xca, 0x44, 0xe9, 0x84, 0xad, 0xbe, 0x3e, 0x61, 0xac, - 0x29, 0xf4, 0x0a, 0x0c, 0x47, 0xcd, 0xa0, 0xad, 0x2c, 0x36, 0x2f, 0xf3, 0x2c, 0x95, 0xb4, 0xe4, - 0xe8, 0xa0, 0x82, 0xcc, 0xe6, 0x68, 0x31, 0x16, 0xf8, 0xe8, 0x6d, 0x98, 0x60, 0xbf, 0x94, 0xe5, - 0x42, 0x31, 0x3f, 0x8d, 0x41, 0x43, 0x47, 0xe4, 0x06, 0x30, 0x46, 0x11, 0x36, 0x49, 0xcd, 0x6d, - 0x41, 0x59, 0x7d, 0xd6, 0x23, 0xf5, 0xe5, 0xf9, 0x37, 0x45, 0x38, 0x93, 0xb1, 0xe6, 0x50, 0x64, - 0xcc, 0xc4, 0x0b, 0x03, 0x2e, 0xd5, 0x0f, 0x38, 0x17, 0x11, 0x93, 0x86, 0x5a, 0x62, 0x6d, 0x0d, - 0xdc, 0xe8, 0xdd, 0x88, 0xa4, 0x1b, 0xa5, 0x45, 0xfd, 0x1b, 0xa5, 0x8d, 0x9d, 0xda, 0x50, 0xd3, - 0x86, 0x54, 0x4f, 0x1f, 0xe9, 0x9c, 0xfe, 0x61, 0x11, 0xce, 0x66, 0xc5, 0x9e, 0x41, 0xdf, 0x99, - 0x4a, 0x57, 0xf3, 0xd2, 0xa0, 0x51, 0x6b, 0x78, 0x0e, 0x1b, 0x91, 0x7c, 0x79, 0xde, 0x4c, 0x60, - 0xd3, 0x77, 0x98, 0x45, 0x9b, 0xcc, 0x01, 0x34, 0xe4, 0x69, 0x86, 0xe4, 0xf1, 0xf1, 0xe9, 0x81, - 0x3b, 0x20, 0xf2, 0x13, 0x45, 0x29, 0x07, 0x50, 0x59, 0xdc, 0xdf, 0x01, 0x54, 0xb6, 0x3c, 0xe7, - 0xc2, 0x98, 0xf6, 0x35, 0x8f, 0x74, 0xc6, 0x77, 0xe8, 0x6d, 0xa5, 0xf5, 0xfb, 0x91, 0xce, 0xfa, - 0x8f, 0x58, 0x90, 0x32, 0x8f, 0x54, 0xea, 0x2e, 0x2b, 0x57, 0xdd, 0x75, 0x19, 0x4a, 0x61, 0xe0, - 0x91, 0x74, 0x06, 0x19, 0x1c, 0x78, 0x04, 0x33, 0x08, 0xc5, 0x88, 0x13, 0x65, 0xc7, 0xb8, 0x2e, - 0xc8, 0x09, 0x11, 0xed, 0x29, 0x18, 0xf2, 0xc8, 0x1e, 0xf1, 0xd2, 0xe1, 0xd9, 0x6f, 0xd3, 0x42, - 0xcc, 0x61, 0xf6, 0x2f, 0x94, 0xe0, 0x62, 0x4f, 0x17, 0x6a, 0x2a, 0x0e, 0x6d, 0x39, 0x31, 0xb9, - 0xef, 0xec, 0xa7, 0xe3, 0x28, 0xdf, 0xe0, 0xc5, 0x58, 0xc2, 0x99, 0xc5, 0x38, 0x8f, 0x9b, 0x98, - 0x52, 0x0e, 0x8a, 0x70, 0x89, 0x02, 0xfa, 0x08, 0x12, 0xcf, 0x5f, 0x07, 0x88, 0x22, 0x6f, 0xd9, - 0xa7, 0xdc, 0x5d, 0x4b, 0x98, 0xa2, 0x27, 0xf1, 0x35, 0x1b, 0xb7, 0x05, 0x04, 0x6b, 0x58, 0xa8, - 0x0a, 0xd3, 0xed, 0x30, 0x88, 0xb9, 0xae, 0xb5, 0xca, 0x0d, 0x85, 0x86, 0x4c, 0xef, 0xd5, 0x7a, - 0x0a, 0x8e, 0xbb, 0x6a, 0xa0, 0x97, 0x61, 0x4c, 0x78, 0xb4, 0xd6, 0x83, 0xc0, 0x13, 0x6a, 0x20, - 0x65, 0x76, 0xd2, 0x48, 0x40, 0x58, 0xc7, 0xd3, 0xaa, 0x31, 0x05, 0xee, 0x48, 0x66, 0x35, 0xae, - 0xc4, 0xd5, 0xf0, 0x52, 0x71, 0xa8, 0x46, 0x07, 0x8a, 0x43, 0x95, 0x28, 0xc6, 0xca, 0x03, 0xbf, - 0x59, 0x41, 0x5f, 0x55, 0xd2, 0xcf, 0x96, 0xe0, 0x8c, 0x58, 0x38, 0x8f, 0x7a, 0xb9, 0x3c, 0xa2, - 0xf4, 0xf8, 0xdf, 0x5c, 0x33, 0xa7, 0xbd, 0x66, 0x7e, 0xc0, 0x02, 0x93, 0xbd, 0x42, 0xff, 0x5f, - 0x6e, 0x20, 0xfa, 0x97, 0x73, 0xd9, 0xb5, 0x96, 0xbc, 0x40, 0x3e, 0x60, 0x48, 0x7a, 0xfb, 0xdf, - 0x59, 0xf0, 0x64, 0x5f, 0x8a, 0x68, 0x19, 0xca, 0x8c, 0x07, 0xd4, 0xa4, 0xb3, 0xa7, 0x95, 0x21, - 0xa1, 0x04, 0xe4, 0xb0, 0xa4, 0x49, 0x4d, 0xb4, 0xdc, 0x15, 0xf1, 0xff, 0x99, 0x8c, 0x88, 0xff, - 0xe7, 0x8c, 0xe1, 0x79, 0xc8, 0x90, 0xff, 0xbf, 0x5c, 0x84, 0x61, 0xbe, 0xe2, 0x4f, 0x41, 0x0c, - 0x5b, 0x11, 0x7a, 0xdb, 0x1e, 0x91, 0xa8, 0x78, 0x5f, 0xe6, 0xab, 0x4e, 0xec, 0x70, 0x36, 0x41, - 0xdd, 0x56, 0x89, 0x86, 0x17, 0xcd, 0x1b, 0xf7, 0xd9, 0x5c, 0x4a, 0x31, 0x09, 0x9c, 0x86, 0x76, - 0xbb, 0x7d, 0x09, 0x20, 0x62, 0x99, 0xf0, 0x29, 0x0d, 0x11, 0xd3, 0xec, 0x93, 0x3d, 0x5a, 0x6f, - 0x28, 0x64, 0xde, 0x87, 0x64, 0xa7, 0x2b, 0x00, 0xd6, 0x28, 0xce, 0x7d, 0x06, 0xca, 0x0a, 0xb9, - 0x9f, 0x16, 0x67, 0x5c, 0x67, 0x2e, 0x3e, 0x07, 0x53, 0xa9, 0xb6, 0x8e, 0xa5, 0x04, 0xfa, 0x45, - 0x0b, 0xa6, 0x78, 0x97, 0x97, 0xfd, 0x3d, 0x71, 0xa6, 0xbe, 0x0f, 0x67, 0xbd, 0x8c, 0xb3, 0x4d, - 0xcc, 0xe8, 0xe0, 0x67, 0xa1, 0x52, 0xfa, 0x64, 0x41, 0x71, 0x66, 0x1b, 0xe8, 0x2a, 0x5d, 0xb7, - 0xf4, 0xec, 0x72, 0x3c, 0xe1, 0x7d, 0x34, 0xce, 0xd7, 0x2c, 0x2f, 0xc3, 0x0a, 0x6a, 0xff, 0xb6, - 0x05, 0x33, 0xbc, 0xe7, 0xb7, 0xc8, 0xbe, 0xda, 0xe1, 0x1f, 0x66, 0xdf, 0x45, 0x12, 0x8e, 0x42, - 0x4e, 0x12, 0x0e, 0xfd, 0xd3, 0x8a, 0x3d, 0x3f, 0xed, 0x67, 0x2c, 0x10, 0x2b, 0xf0, 0x14, 0x44, - 0xf9, 0x6f, 0x35, 0x45, 0xf9, 0xb9, 0xfc, 0x45, 0x9d, 0x23, 0xc3, 0xff, 0xb1, 0x05, 0xd3, 0x1c, - 0x21, 0x79, 0x4b, 0xfe, 0x50, 0xe7, 0x61, 0x90, 0x6c, 0x7a, 0x2a, 0x7d, 0x76, 0xf6, 0x47, 0x19, - 0x93, 0x55, 0xea, 0x39, 0x59, 0x2d, 0xb9, 0x81, 0x8e, 0x91, 0x25, 0xf2, 0xd8, 0xc1, 0xac, 0xed, - 0x3f, 0xb0, 0x00, 0xf1, 0x66, 0x0c, 0xf6, 0x87, 0x32, 0x15, 0xac, 0x54, 0xbb, 0x2e, 0x92, 0xa3, - 0x46, 0x41, 0xb0, 0x86, 0x75, 0x22, 0xc3, 0x93, 0x32, 0x08, 0x28, 0xf6, 0x37, 0x08, 0x38, 0xc6, - 0x88, 0xfe, 0xef, 0x12, 0xa4, 0xdd, 0x01, 0xd0, 0x3d, 0x18, 0x6f, 0x3a, 0x6d, 0x67, 0xc3, 0xf5, - 0xdc, 0xd8, 0x25, 0x51, 0x2f, 0x4b, 0xa2, 0x25, 0x0d, 0x4f, 0x3c, 0xf5, 0x6a, 0x25, 0xd8, 0xa0, - 0x83, 0xe6, 0x01, 0xda, 0xa1, 0xbb, 0xe7, 0x7a, 0x64, 0x8b, 0x69, 0x1c, 0x98, 0xbf, 0x23, 0x37, - 0x8f, 0x91, 0xa5, 0x58, 0xc3, 0xc8, 0x70, 0x5d, 0x2b, 0x3e, 0x3a, 0xd7, 0xb5, 0xd2, 0x31, 0x5d, - 0xd7, 0x86, 0x06, 0x72, 0x5d, 0xc3, 0x70, 0x5e, 0xb2, 0x48, 0xf4, 0xff, 0x8a, 0xeb, 0x11, 0xc1, - 0x17, 0x73, 0x2f, 0xc8, 0xb9, 0xc3, 0x83, 0xca, 0x79, 0x9c, 0x89, 0x81, 0x73, 0x6a, 0xa2, 0xcf, - 0xc3, 0xac, 0xe3, 0x79, 0xc1, 0x7d, 0x35, 0x6a, 0xcb, 0x51, 0xd3, 0xf1, 0xb8, 0xc6, 0x7e, 0x84, - 0x51, 0x7d, 0xe2, 0xf0, 0xa0, 0x32, 0xbb, 0x90, 0x83, 0x83, 0x73, 0x6b, 0xa7, 0x3c, 0xdf, 0x46, - 0xfb, 0x7a, 0xbe, 0xbd, 0x06, 0xe5, 0x76, 0x18, 0x34, 0x57, 0x35, 0x6f, 0x9c, 0x4b, 0x2c, 0x07, - 0xbd, 0x2c, 0x3c, 0x3a, 0xa8, 0x4c, 0xa8, 0x3f, 0xec, 0x86, 0x4f, 0x2a, 0xd8, 0x3b, 0x70, 0xa6, - 0x41, 0x42, 0x97, 0x65, 0xc0, 0x6c, 0x25, 0x1b, 0x7a, 0x1d, 0xca, 0x61, 0xea, 0x08, 0x1b, 0x28, - 0xb0, 0x92, 0x16, 0xe5, 0x57, 0x1e, 0x59, 0x09, 0x21, 0xfb, 0x8f, 0x2c, 0x18, 0x11, 0x0e, 0x0d, - 0xa7, 0xc0, 0x39, 0x2d, 0x18, 0x0a, 0xec, 0x4a, 0xf6, 0x31, 0xcf, 0x3a, 0x93, 0xab, 0xba, 0xae, - 0xa5, 0x54, 0xd7, 0x4f, 0xf6, 0x22, 0xd2, 0x5b, 0x69, 0xfd, 0x37, 0x8a, 0x30, 0x69, 0x3a, 0x73, - 0x9c, 0xc2, 0x10, 0xac, 0xc1, 0x48, 0x24, 0x3c, 0x87, 0x0a, 0xf9, 0x96, 0xd3, 0xe9, 0x49, 0x4c, - 0xcc, 0xa2, 0x84, 0xaf, 0x90, 0x24, 0x92, 0xe9, 0x92, 0x54, 0x7c, 0x84, 0x2e, 0x49, 0xfd, 0xfc, - 0x69, 0x4a, 0x27, 0xe1, 0x4f, 0x63, 0x7f, 0x8d, 0x5d, 0x35, 0x7a, 0xf9, 0x29, 0x70, 0x21, 0x37, - 0xcc, 0x4b, 0xc9, 0xee, 0xb1, 0xb2, 0x44, 0xa7, 0x72, 0xb8, 0x91, 0x9f, 0xb7, 0xe0, 0x62, 0xc6, - 0x57, 0x69, 0xac, 0xc9, 0x73, 0x30, 0xea, 0x74, 0x5a, 0xae, 0xda, 0xcb, 0xda, 0x33, 0xd6, 0x82, - 0x28, 0xc7, 0x0a, 0x03, 0x2d, 0xc1, 0x0c, 0x79, 0xd0, 0x76, 0xf9, 0x3b, 0xa2, 0x6e, 0xbb, 0x58, - 0xe4, 0x21, 0x66, 0x97, 0xd3, 0x40, 0xdc, 0x8d, 0xaf, 0xdc, 0xb1, 0x8b, 0xb9, 0xee, 0xd8, 0x7f, - 0xdf, 0x82, 0x31, 0xd1, 0xed, 0x53, 0x18, 0xed, 0x6f, 0x33, 0x47, 0xfb, 0xf1, 0x1e, 0xa3, 0x9d, - 0x33, 0xcc, 0x7f, 0xab, 0xa0, 0xfa, 0x5b, 0x0f, 0xc2, 0x78, 0x00, 0x96, 0xe7, 0x15, 0x18, 0x6d, - 0x87, 0x41, 0x1c, 0x34, 0x03, 0x4f, 0x70, 0x3c, 0x4f, 0x24, 0xd1, 0x02, 0x78, 0xf9, 0x91, 0xf6, - 0x1b, 0x2b, 0x6c, 0x36, 0x7a, 0x41, 0x18, 0x0b, 0x2e, 0x23, 0x19, 0xbd, 0x20, 0x8c, 0x31, 0x83, - 0xa0, 0x16, 0x40, 0xec, 0x84, 0x5b, 0x24, 0xa6, 0x65, 0x22, 0xf0, 0x48, 0xfe, 0xe1, 0xd1, 0x89, - 0x5d, 0x6f, 0xde, 0xf5, 0xe3, 0x28, 0x0e, 0xe7, 0x6b, 0x7e, 0x7c, 0x27, 0xe4, 0x02, 0x94, 0xe6, - 0xfe, 0xaf, 0x68, 0x61, 0x8d, 0xae, 0xf4, 0xd1, 0x64, 0x6d, 0x0c, 0x99, 0x0f, 0xe2, 0x6b, 0xa2, - 0x1c, 0x2b, 0x0c, 0xfb, 0x33, 0xec, 0x2a, 0x61, 0x03, 0x74, 0x3c, 0xcf, 0xfc, 0xaf, 0x8f, 0xaa, - 0xa1, 0x65, 0xaf, 0x61, 0x55, 0xdd, 0xff, 0xbf, 0xf7, 0xc9, 0x4d, 0x1b, 0xd6, 0xfd, 0x68, 0x92, - 0x20, 0x01, 0xe8, 0xdb, 0xbb, 0xec, 0x24, 0x9e, 0xef, 0x73, 0x05, 0x1c, 0xc3, 0x32, 0x82, 0x85, - 0xbd, 0x66, 0xe1, 0x81, 0x6b, 0x75, 0xb1, 0xc8, 0xb5, 0xb0, 0xd7, 0x02, 0x80, 0x13, 0x1c, 0x74, - 0x4d, 0x88, 0xdf, 0x25, 0x23, 0xf9, 0x9d, 0x14, 0xbf, 0xe5, 0xe7, 0x6b, 0xf2, 0xf7, 0x0b, 0x30, - 0xa6, 0x92, 0xe0, 0xd5, 0x79, 0x2e, 0x31, 0x11, 0x86, 0x65, 0x39, 0x29, 0xc6, 0x3a, 0x0e, 0x5a, - 0x87, 0xa9, 0x88, 0xeb, 0x5e, 0x54, 0xb4, 0x3d, 0xae, 0xc3, 0xfa, 0xa4, 0xb4, 0xaf, 0x68, 0x98, - 0xe0, 0x23, 0x56, 0xc4, 0x8f, 0x0e, 0xe9, 0x68, 0x99, 0x26, 0x81, 0x5e, 0x87, 0x49, 0x4f, 0x4f, - 0x25, 0x5f, 0x17, 0x2a, 0x2e, 0x65, 0x7e, 0x6c, 0x24, 0x9a, 0xaf, 0xe3, 0x14, 0x36, 0xe5, 0x94, - 0xf4, 0x12, 0x11, 0x21, 0xd2, 0xf1, 0xb7, 0x48, 0x24, 0x52, 0x78, 0x31, 0x4e, 0xe9, 0x76, 0x0e, - 0x0e, 0xce, 0xad, 0x8d, 0x5e, 0x81, 0x71, 0xf9, 0xf9, 0x9a, 0x1b, 0x71, 0x62, 0xe4, 0xae, 0xc1, - 0xb0, 0x81, 0x89, 0xee, 0xc3, 0x39, 0xf9, 0x7f, 0x3d, 0x74, 0x36, 0x37, 0xdd, 0xa6, 0xf0, 0xe2, - 0xe6, 0x9e, 0x3e, 0x0b, 0xd2, 0x75, 0x68, 0x39, 0x0b, 0xe9, 0xe8, 0xa0, 0x72, 0x59, 0x8c, 0x5a, - 0x26, 0x9c, 0x4d, 0x62, 0x36, 0x7d, 0xb4, 0x0a, 0x67, 0xb6, 0x89, 0xe3, 0xc5, 0xdb, 0x4b, 0xdb, - 0xa4, 0xb9, 0x23, 0x37, 0x11, 0x73, 0x4e, 0xd6, 0x4c, 0xc3, 0x6f, 0x76, 0xa3, 0xe0, 0xac, 0x7a, - 0xe8, 0x1d, 0x98, 0x6d, 0x77, 0x36, 0x3c, 0x37, 0xda, 0x5e, 0x0b, 0x62, 0x66, 0xd2, 0xa1, 0x72, - 0xc8, 0x09, 0x2f, 0x66, 0xe5, 0x98, 0x5d, 0xcf, 0xc1, 0xc3, 0xb9, 0x14, 0xd0, 0xfb, 0x70, 0x2e, - 0xb5, 0x18, 0x84, 0x4f, 0xe5, 0x64, 0x7e, 0xbc, 0xdd, 0x46, 0x56, 0x05, 0xe1, 0x23, 0x99, 0x05, - 0xc2, 0xd9, 0x4d, 0x7c, 0x30, 0x43, 0x9f, 0xf7, 0x68, 0x65, 0x8d, 0x29, 0x43, 0x5f, 0x86, 0x71, - 0x7d, 0x15, 0x89, 0x0b, 0xe6, 0x4a, 0x36, 0xcf, 0xa2, 0xad, 0x36, 0xce, 0xd2, 0xa9, 0x15, 0xa5, - 0xc3, 0xb0, 0x41, 0xd1, 0x26, 0x90, 0xfd, 0x7d, 0xe8, 0x36, 0x8c, 0x36, 0x3d, 0x97, 0xf8, 0x71, - 0xad, 0xde, 0x2b, 0xe8, 0xc7, 0x92, 0xc0, 0x11, 0x03, 0x26, 0x02, 0x94, 0xf2, 0x32, 0xac, 0x28, - 0xd8, 0xbf, 0x56, 0x80, 0x4a, 0x9f, 0x68, 0xb7, 0x29, 0x7d, 0xb4, 0x35, 0x90, 0x3e, 0x7a, 0x41, - 0x66, 0xc4, 0x5b, 0x4b, 0x09, 0xe9, 0xa9, 0x6c, 0x77, 0x89, 0xa8, 0x9e, 0xc6, 0x1f, 0xd8, 0x3e, - 0x58, 0x57, 0x69, 0x97, 0xfa, 0x5a, 0xae, 0x1b, 0x4f, 0x59, 0x43, 0x83, 0x0b, 0x22, 0xb9, 0xcf, - 0x12, 0xf6, 0xd7, 0x0a, 0x70, 0x4e, 0x0d, 0xe1, 0x9f, 0xdd, 0x81, 0xbb, 0xdb, 0x3d, 0x70, 0x27, - 0xf0, 0xa8, 0x63, 0xdf, 0x81, 0x61, 0x1e, 0x34, 0x65, 0x00, 0x06, 0xe8, 0x29, 0x33, 0xc2, 0x96, - 0xba, 0xa6, 0x8d, 0x28, 0x5b, 0x7f, 0xc1, 0x82, 0xa9, 0xf5, 0xa5, 0x7a, 0x23, 0x68, 0xee, 0x90, - 0x78, 0x81, 0x33, 0xac, 0x58, 0xf0, 0x3f, 0xd6, 0x43, 0xf2, 0x35, 0x59, 0x1c, 0xd3, 0x65, 0x28, - 0x6d, 0x07, 0x51, 0x9c, 0x7e, 0xf1, 0xbd, 0x19, 0x44, 0x31, 0x66, 0x10, 0xfb, 0x77, 0x2c, 0x18, - 0x62, 0x79, 0x5c, 0xfb, 0x25, 0x17, 0x1e, 0xe4, 0xbb, 0xd0, 0xcb, 0x30, 0x4c, 0x36, 0x37, 0x49, - 0x33, 0x16, 0xb3, 0x2a, 0xdd, 0x51, 0x87, 0x97, 0x59, 0x29, 0xbd, 0xf4, 0x59, 0x63, 0xfc, 0x2f, - 0x16, 0xc8, 0xe8, 0x2d, 0x28, 0xc7, 0xee, 0x2e, 0x59, 0x68, 0xb5, 0xc4, 0x9b, 0xd9, 0x43, 0x78, - 0xff, 0xae, 0x4b, 0x02, 0x38, 0xa1, 0x65, 0x7f, 0xb5, 0x00, 0x90, 0xb8, 0xfe, 0xf7, 0xfb, 0xc4, - 0xc5, 0xae, 0xd7, 0x94, 0x2b, 0x19, 0xaf, 0x29, 0x28, 0x21, 0x98, 0xf1, 0x94, 0xa2, 0x86, 0xa9, - 0x38, 0xd0, 0x30, 0x95, 0x8e, 0x33, 0x4c, 0x4b, 0x30, 0x93, 0x84, 0x2e, 0x30, 0xe3, 0xb8, 0x30, - 0x21, 0x65, 0x3d, 0x0d, 0xc4, 0xdd, 0xf8, 0x36, 0x81, 0xcb, 0x32, 0xa2, 0xa6, 0xbc, 0x6b, 0x98, - 0x49, 0xe6, 0x31, 0xf2, 0x4c, 0x27, 0xcf, 0x45, 0x85, 0xdc, 0xe7, 0xa2, 0x1f, 0xb7, 0xe0, 0x6c, - 0xba, 0x1d, 0xe6, 0xfb, 0xf6, 0x7d, 0x16, 0x9c, 0x63, 0x8f, 0x66, 0xac, 0xd5, 0xee, 0x27, 0xba, - 0x97, 0xb2, 0x43, 0x3a, 0xf4, 0xee, 0x71, 0xe2, 0xf7, 0xbc, 0x9a, 0x45, 0x1a, 0x67, 0xb7, 0x68, - 0xff, 0x65, 0x0b, 0x2e, 0xe4, 0xa6, 0x0f, 0x62, 0x12, 0x64, 0xdb, 0xe5, 0x1a, 0xa9, 0xb4, 0x04, - 0x59, 0xaf, 0x71, 0x9d, 0x94, 0xc2, 0x50, 0xa9, 0x0d, 0x0b, 0xb9, 0xa9, 0x0d, 0xfb, 0x66, 0x2a, - 0xb4, 0xbf, 0xd7, 0x02, 0xe1, 0xf2, 0x34, 0xc0, 0x41, 0xf3, 0xb6, 0xcc, 0x0c, 0x6b, 0x04, 0x34, - 0xbf, 0x9c, 0xef, 0x03, 0x26, 0xc2, 0x98, 0xab, 0x8b, 0xdd, 0x08, 0x5e, 0x6e, 0xd0, 0xb2, 0x5b, - 0x20, 0xa0, 0x55, 0xc2, 0xf4, 0x56, 0xfd, 0x7b, 0x73, 0x1d, 0xa0, 0xc5, 0x70, 0xb5, 0xfc, 0x90, - 0xea, 0x1a, 0xa9, 0x2a, 0x08, 0xd6, 0xb0, 0xec, 0x1f, 0x2c, 0xc0, 0x98, 0x0c, 0xa0, 0xdd, 0xf1, - 0x07, 0x91, 0x2e, 0x8f, 0x95, 0x47, 0x87, 0x25, 0x54, 0xa5, 0x84, 0xeb, 0x89, 0x50, 0x9e, 0x24, - 0x54, 0x95, 0x00, 0x9c, 0xe0, 0xa0, 0x67, 0x60, 0x24, 0xea, 0x6c, 0x30, 0xf4, 0x94, 0x23, 0x4f, - 0x83, 0x17, 0x63, 0x09, 0x47, 0x9f, 0x87, 0x69, 0x5e, 0x2f, 0x0c, 0xda, 0xce, 0x16, 0x57, 0x81, - 0x0e, 0x29, 0xcf, 0xda, 0xe9, 0xd5, 0x14, 0xec, 0xe8, 0xa0, 0x72, 0x36, 0x5d, 0xc6, 0x94, 0xe7, - 0x5d, 0x54, 0xec, 0x2f, 0x03, 0xea, 0x8e, 0x09, 0x8e, 0xde, 0xe0, 0xe6, 0x54, 0x6e, 0x48, 0x5a, - 0xbd, 0xb4, 0xe2, 0xba, 0x23, 0xa8, 0x34, 0xa6, 0xe7, 0xb5, 0xb0, 0xaa, 0x6f, 0xff, 0x95, 0x22, - 0x4c, 0xa7, 0xdd, 0x02, 0xd1, 0x4d, 0x18, 0xe6, 0x17, 0x9e, 0x20, 0xdf, 0xe3, 0xd1, 0x55, 0x73, - 0x26, 0x64, 0x5b, 0x5f, 0xdc, 0x99, 0xa2, 0x3e, 0x7a, 0x07, 0xc6, 0x5a, 0xc1, 0x7d, 0xff, 0xbe, - 0x13, 0xb6, 0x16, 0xea, 0x35, 0xb1, 0x2e, 0x33, 0xf9, 0xe6, 0x6a, 0x82, 0xa6, 0x3b, 0x28, 0xb2, - 0x07, 0x86, 0x04, 0x84, 0x75, 0x72, 0x68, 0x9d, 0xc5, 0x39, 0xdc, 0x74, 0xb7, 0x56, 0x9d, 0x76, - 0x2f, 0xdb, 0xda, 0x25, 0x89, 0xa4, 0x51, 0x9e, 0x10, 0xc1, 0x10, 0x39, 0x00, 0x27, 0x84, 0xd0, - 0x77, 0xc2, 0x99, 0x28, 0x47, 0xd5, 0x96, 0x97, 0x22, 0xa2, 0x97, 0xf6, 0x69, 0xf1, 0x31, 0x2a, - 0xd1, 0x64, 0x29, 0xe5, 0xb2, 0x9a, 0xb1, 0xbf, 0x72, 0x06, 0x8c, 0xdd, 0x68, 0xe4, 0x09, 0xb2, - 0x4e, 0x28, 0x4f, 0x10, 0x86, 0x51, 0xb2, 0xdb, 0x8e, 0xf7, 0xab, 0x6e, 0xd8, 0x2b, 0x8f, 0xdd, - 0xb2, 0xc0, 0xe9, 0xa6, 0x29, 0x21, 0x58, 0xd1, 0xc9, 0x4e, 0xe6, 0x54, 0xfc, 0x10, 0x93, 0x39, - 0x95, 0x4e, 0x31, 0x99, 0xd3, 0x1a, 0x8c, 0x6c, 0xb9, 0x31, 0x26, 0xed, 0x40, 0xb0, 0x9a, 0x99, - 0xeb, 0xf0, 0x06, 0x47, 0xe9, 0x4e, 0x20, 0x22, 0x00, 0x58, 0x12, 0x41, 0x6f, 0xa8, 0x1d, 0x38, - 0x9c, 0x2f, 0xa9, 0x75, 0xbf, 0x0e, 0x66, 0xee, 0x41, 0x91, 0xbc, 0x69, 0xe4, 0x61, 0x93, 0x37, - 0xad, 0xc8, 0x94, 0x4b, 0xa3, 0xf9, 0x86, 0xf0, 0x2c, 0xa3, 0x52, 0x9f, 0x44, 0x4b, 0x46, 0x72, - 0xaa, 0xf2, 0xc9, 0x25, 0xa7, 0xfa, 0x5e, 0x0b, 0xce, 0xb5, 0xb3, 0xf2, 0xb4, 0x89, 0x44, 0x49, - 0x2f, 0x0f, 0x9c, 0x88, 0xce, 0x68, 0x90, 0x89, 0xec, 0x99, 0x68, 0x38, 0xbb, 0x39, 0x3a, 0xd0, - 0xe1, 0x46, 0x4b, 0x64, 0x57, 0x7a, 0x2a, 0x27, 0xcb, 0x55, 0x8f, 0xdc, 0x56, 0xeb, 0x19, 0x19, - 0x95, 0x3e, 0x9e, 0x97, 0x51, 0x69, 0xe0, 0x3c, 0x4a, 0x6f, 0xa8, 0xfc, 0x56, 0x13, 0xf9, 0x4b, - 0x89, 0x67, 0xaf, 0xea, 0x9b, 0xd5, 0xea, 0x0d, 0x95, 0xd5, 0xaa, 0x47, 0xbc, 0x37, 0x9e, 0xb3, - 0xaa, 0x6f, 0x2e, 0x2b, 0x2d, 0x1f, 0xd5, 0xd4, 0xc9, 0xe4, 0xa3, 0x32, 0xae, 0x1a, 0x9e, 0x12, - 0xe9, 0xd9, 0x3e, 0x57, 0x8d, 0x41, 0xb7, 0xf7, 0x65, 0xc3, 0x73, 0x6f, 0xcd, 0x3c, 0x54, 0xee, - 0xad, 0x7b, 0x7a, 0x2e, 0x2b, 0xd4, 0x27, 0x59, 0x13, 0x45, 0x1a, 0x30, 0x83, 0xd5, 0x3d, 0xfd, - 0x02, 0x3c, 0x93, 0x4f, 0x57, 0xdd, 0x73, 0xdd, 0x74, 0x33, 0xaf, 0xc0, 0xae, 0xcc, 0x58, 0x67, - 0x4f, 0x27, 0x33, 0xd6, 0xb9, 0x13, 0xcf, 0x8c, 0x75, 0xfe, 0x14, 0x32, 0x63, 0x3d, 0xf6, 0xa1, - 0x66, 0xc6, 0x9a, 0x7d, 0x04, 0x99, 0xb1, 0xd6, 0x92, 0xcc, 0x58, 0x17, 0xf2, 0xa7, 0x24, 0xc3, - 0x3a, 0x37, 0x27, 0x1f, 0xd6, 0x3d, 0xf6, 0x44, 0xcf, 0xe3, 0x56, 0x88, 0x80, 0x74, 0xd9, 0xb9, - 0x7f, 0xb3, 0x82, 0x5b, 0xf0, 0x29, 0x51, 0x20, 0x9c, 0x90, 0xa2, 0x74, 0x93, 0xfc, 0x58, 0x8f, - 0xf7, 0x50, 0xca, 0x66, 0xa9, 0xbb, 0xf2, 0xb3, 0x62, 0xd9, 0x7f, 0xb1, 0x00, 0x97, 0x7a, 0xaf, - 0xeb, 0x44, 0x57, 0x56, 0x4f, 0xde, 0x76, 0x52, 0xba, 0x32, 0x2e, 0xe4, 0x24, 0x58, 0x03, 0x07, - 0xf7, 0xb9, 0x01, 0x33, 0xca, 0x2c, 0xd7, 0x73, 0x9b, 0xfb, 0x5a, 0x4e, 0x60, 0xe5, 0x7e, 0xd8, - 0x48, 0x23, 0xe0, 0xee, 0x3a, 0x68, 0x01, 0xa6, 0x8c, 0xc2, 0x5a, 0x55, 0x08, 0x33, 0x4a, 0x39, - 0xd7, 0x30, 0xc1, 0x38, 0x8d, 0x6f, 0xff, 0xb4, 0x05, 0x8f, 0xe5, 0x24, 0x8d, 0x18, 0x38, 0x76, - 0xcd, 0x26, 0x4c, 0xb5, 0xcd, 0xaa, 0x7d, 0x42, 0x5c, 0x19, 0xa9, 0x29, 0x54, 0x5f, 0x53, 0x00, - 0x9c, 0x26, 0xba, 0x78, 0xf5, 0x37, 0x7f, 0xef, 0xd2, 0xc7, 0x7e, 0xeb, 0xf7, 0x2e, 0x7d, 0xec, - 0xb7, 0x7f, 0xef, 0xd2, 0xc7, 0xfe, 0xff, 0xc3, 0x4b, 0xd6, 0x6f, 0x1e, 0x5e, 0xb2, 0x7e, 0xeb, - 0xf0, 0x92, 0xf5, 0xdb, 0x87, 0x97, 0xac, 0xdf, 0x3d, 0xbc, 0x64, 0x7d, 0xf5, 0xf7, 0x2f, 0x7d, - 0xec, 0xed, 0xc2, 0xde, 0x0b, 0xff, 0x2f, 0x00, 0x00, 0xff, 0xff, 0xab, 0xe8, 0x86, 0xb1, 0xed, - 0xe6, 0x00, 0x00, + 0x01, 0x96, 0x84, 0xec, 0x57, 0x20, 0xd3, 0x77, 0xab, 0xbf, 0xda, 0xc0, 0xfe, 0x02, 0xcc, 0xb0, + 0x9a, 0xc7, 0x14, 0x69, 0xed, 0x94, 0x92, 0x2e, 0x23, 0x64, 0x94, 0xfd, 0x7d, 0x16, 0x4c, 0xad, + 0xa5, 0xe2, 0x57, 0x5c, 0x61, 0xef, 0x81, 0x19, 0xba, 0xe1, 0x06, 0x2b, 0xc5, 0x02, 0x7a, 0xe2, + 0x3a, 0xa8, 0x3f, 0xb1, 0x20, 0x71, 0xa7, 0x3c, 0x05, 0xc6, 0x6b, 0xc9, 0x60, 0xbc, 0x32, 0x75, + 0x23, 0xaa, 0x3b, 0x79, 0x7c, 0x17, 0xba, 0xa5, 0x62, 0x07, 0xf4, 0x50, 0x8b, 0x24, 0x64, 0xb8, + 0xa7, 0xf9, 0xa4, 0x19, 0x60, 0x40, 0x46, 0x13, 0x60, 0xa6, 0x44, 0x0a, 0xf7, 0x23, 0x62, 0x4a, + 0xa4, 0xfa, 0x93, 0xb3, 0x43, 0xeb, 0x5a, 0x97, 0xd9, 0xc9, 0xf5, 0xad, 0xcc, 0x34, 0xdc, 0xf1, + 0xdc, 0xf7, 0x89, 0x0a, 0x80, 0x52, 0x11, 0xa6, 0xde, 0xa2, 0xf4, 0xe8, 0xa0, 0x32, 0xa1, 0xfe, + 0xf1, 0x28, 0x59, 0x49, 0x15, 0xfb, 0x26, 0x4c, 0xa5, 0x06, 0x0c, 0xbd, 0x0c, 0x43, 0xed, 0x6d, + 0x27, 0x22, 0x29, 0xf3, 0xc9, 0xa1, 0x3a, 0x2d, 0x3c, 0x3a, 0xa8, 0x4c, 0xaa, 0x0a, 0xac, 0x04, + 0x73, 0x6c, 0xfb, 0x7f, 0x58, 0x50, 0x5a, 0x0b, 0x5a, 0xa7, 0xb1, 0x98, 0x5e, 0x37, 0x16, 0xd3, + 0x13, 0x79, 0x31, 0x06, 0x73, 0xd7, 0xd1, 0x4a, 0x6a, 0x1d, 0x5d, 0xca, 0xa5, 0xd0, 0x7b, 0x09, + 0xed, 0xc2, 0x18, 0x8b, 0x5c, 0x28, 0xcc, 0x39, 0x5f, 0x34, 0x64, 0x80, 0x4a, 0x4a, 0x06, 0x98, + 0xd2, 0x50, 0x35, 0x49, 0xe0, 0x19, 0x18, 0x11, 0x26, 0x85, 0x69, 0x23, 0x78, 0x81, 0x8b, 0x25, + 0xdc, 0xfe, 0xb1, 0x22, 0x18, 0x91, 0x12, 0xd1, 0xaf, 0x58, 0x30, 0x1f, 0x72, 0xaf, 0xc2, 0x56, + 0xb5, 0x13, 0xba, 0xfe, 0x56, 0xa3, 0xb9, 0x4d, 0x5a, 0x1d, 0xcf, 0xf5, 0xb7, 0x6a, 0x5b, 0x7e, + 0xa0, 0x8a, 0x97, 0x1f, 0x90, 0x66, 0x87, 0xbd, 0x0b, 0xf4, 0x09, 0xcb, 0xa8, 0x4c, 0x76, 0xae, + 0x1f, 0x1e, 0x54, 0xe6, 0xf1, 0xb1, 0x68, 0xe3, 0x63, 0xf6, 0x05, 0x7d, 0xdd, 0x82, 0x6b, 0x3c, + 0x80, 0xe0, 0xe0, 0xfd, 0xef, 0x21, 0x31, 0xd5, 0x25, 0xa9, 0x84, 0xc8, 0x3a, 0x09, 0x77, 0x17, + 0x3f, 0x23, 0x06, 0xf4, 0x5a, 0xfd, 0x78, 0x6d, 0xe1, 0xe3, 0x76, 0xce, 0xfe, 0xe7, 0x45, 0x98, + 0x10, 0x0e, 0xed, 0x22, 0x52, 0xca, 0xcb, 0xc6, 0x92, 0x78, 0x32, 0xb5, 0x24, 0x66, 0x0c, 0xe4, + 0x93, 0x09, 0x92, 0x12, 0xc1, 0x8c, 0xe7, 0x44, 0xf1, 0x4d, 0xe2, 0x84, 0xf1, 0x06, 0x71, 0xb8, + 0x29, 0x4b, 0xf1, 0xd8, 0x66, 0x37, 0x4a, 0x45, 0x73, 0x3b, 0x4d, 0x0c, 0x77, 0xd3, 0x47, 0x7b, + 0x80, 0x98, 0x3d, 0x4e, 0xe8, 0xf8, 0x11, 0xff, 0x16, 0x57, 0xbc, 0x19, 0x1c, 0xaf, 0xd5, 0x39, + 0xd1, 0x2a, 0xba, 0xdd, 0x45, 0x0d, 0x67, 0xb4, 0xa0, 0xd9, 0x59, 0x0d, 0x0d, 0x6a, 0x67, 0x35, + 0xdc, 0xc7, 0xd3, 0xc4, 0x87, 0xe9, 0xae, 0x98, 0x04, 0x6f, 0x43, 0x59, 0xd9, 0xc3, 0x89, 0x43, + 0xa7, 0x77, 0x68, 0x8f, 0x34, 0x05, 0xae, 0x46, 0x49, 0x6c, 0x31, 0x13, 0x72, 0xf6, 0x3f, 0x2c, + 0x18, 0x0d, 0xf2, 0x49, 0x5c, 0x83, 0x51, 0x27, 0x8a, 0xdc, 0x2d, 0x9f, 0xb4, 0xc4, 0x8e, 0xfd, + 0x78, 0xde, 0x8e, 0x35, 0x9a, 0x61, 0x36, 0x89, 0x0b, 0xa2, 0x26, 0x56, 0x34, 0xd0, 0x4d, 0x6e, + 0x30, 0xb4, 0x27, 0x79, 0xfe, 0xc1, 0xa8, 0x81, 0x34, 0x29, 0xda, 0x23, 0x58, 0xd4, 0x47, 0x5f, + 0xe4, 0x16, 0x5d, 0xb7, 0xfc, 0xe0, 0xbe, 0x7f, 0x23, 0x08, 0xa4, 0x17, 0xda, 0x60, 0x04, 0x67, + 0xa4, 0x1d, 0x97, 0xaa, 0x8e, 0x4d, 0x6a, 0x83, 0xc5, 0xed, 0xf9, 0x4e, 0x38, 0x43, 0x49, 0x9b, + 0xbe, 0x24, 0x11, 0x22, 0x30, 0x25, 0xa2, 0x25, 0xc8, 0x32, 0x31, 0x76, 0x99, 0xec, 0xbc, 0x59, + 0x3b, 0x51, 0xfa, 0xdd, 0x32, 0x49, 0xe0, 0x34, 0x4d, 0xfb, 0x27, 0x2d, 0x60, 0x56, 0xf0, 0xa7, + 0xc0, 0x32, 0x7c, 0xce, 0x64, 0x19, 0x66, 0xf3, 0x06, 0x39, 0x87, 0x5b, 0x78, 0x89, 0xaf, 0xac, + 0x7a, 0x18, 0x3c, 0xd8, 0x17, 0xaf, 0xe9, 0xfd, 0x39, 0x59, 0xfb, 0xff, 0x58, 0xfc, 0x10, 0x53, + 0x8e, 0xe9, 0xe8, 0xbb, 0x60, 0xb4, 0xe9, 0xb4, 0x9d, 0x26, 0x0f, 0xeb, 0x9b, 0xab, 0xd5, 0x31, + 0x2a, 0xcd, 0x2f, 0x89, 0x1a, 0x5c, 0x4b, 0x21, 0xa3, 0x6e, 0x8c, 0xca, 0xe2, 0xbe, 0x9a, 0x09, + 0xd5, 0xe4, 0xdc, 0x0e, 0x4c, 0x18, 0xc4, 0x1e, 0xa9, 0x48, 0xfb, 0x5d, 0xfc, 0x8a, 0x55, 0x51, + 0x62, 0x76, 0x61, 0xc6, 0xd7, 0xfe, 0xd3, 0x0b, 0x45, 0x8a, 0x29, 0x1f, 0xef, 0x77, 0x89, 0xb2, + 0xdb, 0x47, 0xb3, 0xf2, 0x4f, 0x91, 0xc1, 0xdd, 0x94, 0xed, 0x1f, 0xb7, 0xe0, 0x31, 0x1d, 0x51, + 0x8b, 0x19, 0xd0, 0x4f, 0x4f, 0x5c, 0x85, 0xd1, 0xa0, 0x4d, 0x42, 0x27, 0x0e, 0x42, 0x71, 0x6b, + 0x5c, 0x95, 0x83, 0x7e, 0x47, 0x94, 0x1f, 0x89, 0xf8, 0x8a, 0x92, 0xba, 0x2c, 0xc7, 0xaa, 0x26, + 0x95, 0x63, 0xd8, 0x60, 0x44, 0x22, 0x9e, 0x03, 0x3b, 0x03, 0xd8, 0x93, 0x69, 0x84, 0x05, 0xc4, + 0xfe, 0x03, 0x8b, 0x2f, 0x2c, 0xbd, 0xeb, 0xe8, 0x3d, 0x98, 0xde, 0x75, 0xe2, 0xe6, 0xf6, 0xf2, + 0x83, 0x76, 0xc8, 0xd5, 0xe3, 0x72, 0x9c, 0x9e, 0xed, 0x37, 0x4e, 0xda, 0x47, 0x26, 0x46, 0x6a, + 0xab, 0x29, 0x62, 0xb8, 0x8b, 0x3c, 0xda, 0x80, 0x31, 0x56, 0xc6, 0xac, 0xa1, 0xa3, 0x5e, 0xac, + 0x41, 0x5e, 0x6b, 0xea, 0xd5, 0x79, 0x35, 0xa1, 0x83, 0x75, 0xa2, 0xf6, 0x57, 0x8a, 0x7c, 0xb7, + 0x33, 0x6e, 0xfb, 0x19, 0x18, 0x69, 0x07, 0xad, 0xa5, 0x5a, 0x15, 0x8b, 0x59, 0x50, 0xd7, 0x48, + 0x9d, 0x17, 0x63, 0x09, 0x47, 0xaf, 0x02, 0x90, 0x07, 0x31, 0x09, 0x7d, 0xc7, 0x53, 0x46, 0x23, + 0xca, 0x4c, 0xb2, 0x1a, 0xac, 0x05, 0xf1, 0xdd, 0x88, 0x7c, 0xc7, 0xb2, 0x42, 0xc1, 0x1a, 0x3a, + 0xba, 0x0e, 0xd0, 0x0e, 0x83, 0x3d, 0xb7, 0xc5, 0xdc, 0xeb, 0x8a, 0xa6, 0x49, 0x45, 0x5d, 0x41, + 0xb0, 0x86, 0x85, 0x5e, 0x85, 0x89, 0x8e, 0x1f, 0x71, 0x0e, 0xc5, 0xd9, 0x10, 0xd1, 0x09, 0x47, + 0x13, 0xeb, 0x86, 0xbb, 0x3a, 0x10, 0x9b, 0xb8, 0x68, 0x01, 0x86, 0x63, 0x87, 0xd9, 0x44, 0x0c, + 0xe5, 0xdb, 0x36, 0xae, 0x53, 0x0c, 0x3d, 0xa8, 0x2c, 0xad, 0x80, 0x45, 0x45, 0xf4, 0xb6, 0xf4, + 0x55, 0xe0, 0x67, 0xbd, 0x30, 0x2a, 0x1e, 0xec, 0x5e, 0xd0, 0x3c, 0x15, 0x84, 0xb1, 0xb2, 0x41, + 0xcb, 0xfe, 0x7a, 0x19, 0x20, 0x61, 0xc7, 0xd1, 0xfb, 0x5d, 0xe7, 0xd1, 0x73, 0xbd, 0x19, 0xf8, + 0x93, 0x3b, 0x8c, 0xd0, 0xf7, 0x5a, 0x30, 0xe6, 0x78, 0x5e, 0xd0, 0x74, 0x62, 0x36, 0xca, 0x85, + 0xde, 0xe7, 0xa1, 0x68, 0x7f, 0x21, 0xa9, 0xc1, 0xbb, 0xf0, 0xa2, 0x5c, 0x78, 0x1a, 0xa4, 0x6f, + 0x2f, 0xf4, 0x86, 0xd1, 0xa7, 0xa4, 0x94, 0xc6, 0x97, 0xc7, 0x5c, 0x5a, 0x4a, 0x2b, 0xb3, 0xa3, + 0x5f, 0x13, 0xd0, 0xd0, 0x5d, 0x23, 0xf0, 0x5c, 0x29, 0x3f, 0x06, 0x83, 0xc1, 0x95, 0xf6, 0x8b, + 0x39, 0x87, 0xea, 0xba, 0x73, 0xd5, 0x50, 0x7e, 0xa0, 0x12, 0x4d, 0xfc, 0xe9, 0xe3, 0x58, 0xf5, + 0x2e, 0x4c, 0xb5, 0xcc, 0xbb, 0x5d, 0xac, 0xa6, 0xa7, 0xf3, 0xe8, 0xa6, 0x58, 0x81, 0xe4, 0x36, + 0x4f, 0x01, 0x70, 0x9a, 0x30, 0xaa, 0x73, 0x37, 0xb7, 0x9a, 0xbf, 0x19, 0x08, 0xe3, 0x74, 0x3b, + 0x77, 0x2e, 0xf7, 0xa3, 0x98, 0xec, 0x52, 0xcc, 0xe4, 0xd2, 0x5e, 0x13, 0x75, 0xb1, 0xa2, 0x82, + 0xde, 0x80, 0x61, 0xe6, 0x27, 0x1b, 0xcd, 0x8e, 0xe6, 0x2b, 0x13, 0xcd, 0x10, 0x0f, 0xc9, 0xa6, + 0x62, 0x7f, 0x23, 0x2c, 0x28, 0xa0, 0x9b, 0x32, 0x0e, 0x4c, 0x54, 0xf3, 0xef, 0x46, 0x84, 0xc5, + 0x81, 0x29, 0x2f, 0x7e, 0x3c, 0x09, 0xf1, 0xc2, 0xcb, 0x33, 0xc3, 0xc7, 0x1b, 0x35, 0x29, 0x73, + 0x24, 0xfe, 0xcb, 0xa8, 0xf4, 0xb3, 0x90, 0xdf, 0x3d, 0x33, 0x72, 0x7d, 0x32, 0x9c, 0xf7, 0x4c, + 0x12, 0x38, 0x4d, 0x93, 0x32, 0x9a, 0x7c, 0xe7, 0x0a, 0xf3, 0xf6, 0x7e, 0xfb, 0x9f, 0xcb, 0xd7, + 0xec, 0x92, 0xe1, 0x25, 0x58, 0xd4, 0x3f, 0xd5, 0x5b, 0x7f, 0xce, 0x87, 0xe9, 0xf4, 0x16, 0x7d, + 0xa4, 0x5c, 0xc6, 0xef, 0x97, 0x60, 0xd2, 0x5c, 0x52, 0xe8, 0x1a, 0x94, 0x05, 0x11, 0x15, 0x94, + 0x54, 0xed, 0x92, 0x55, 0x09, 0xc0, 0x09, 0x0e, 0x8b, 0x45, 0xcb, 0xaa, 0x6b, 0x66, 0x89, 0x49, + 0x2c, 0x5a, 0x05, 0xc1, 0x1a, 0x16, 0x95, 0x97, 0x36, 0x82, 0x20, 0x56, 0x97, 0x8a, 0x5a, 0x77, + 0x8b, 0xac, 0x14, 0x0b, 0x28, 0xbd, 0x4c, 0x76, 0x48, 0xe8, 0x13, 0xcf, 0x8c, 0x75, 0xa6, 0x2e, + 0x93, 0x5b, 0x3a, 0x10, 0x9b, 0xb8, 0xf4, 0x96, 0x0c, 0x22, 0xb6, 0x90, 0x85, 0x54, 0x96, 0x98, + 0x79, 0x36, 0xb8, 0xc7, 0xb9, 0x84, 0xa3, 0x2f, 0xc0, 0x63, 0xca, 0x41, 0x1c, 0x73, 0x45, 0xb5, + 0x6c, 0x71, 0xd8, 0x50, 0xa2, 0x3c, 0xb6, 0x94, 0x8d, 0x86, 0xf3, 0xea, 0xa3, 0xd7, 0x61, 0x52, + 0x70, 0xee, 0x92, 0xe2, 0x88, 0x69, 0x3b, 0x71, 0xcb, 0x80, 0xe2, 0x14, 0xb6, 0x8c, 0xd6, 0xc6, + 0x98, 0x67, 0x49, 0x61, 0xb4, 0x3b, 0x5a, 0x9b, 0x0e, 0xc7, 0x5d, 0x35, 0xd0, 0x02, 0x4c, 0x71, + 0xd6, 0xca, 0xf5, 0xb7, 0xf8, 0x9c, 0x08, 0xef, 0x13, 0xb5, 0xa5, 0xee, 0x98, 0x60, 0x9c, 0xc6, + 0x47, 0xaf, 0xc0, 0xb8, 0x13, 0x36, 0xb7, 0xdd, 0x98, 0x34, 0xe3, 0x4e, 0xc8, 0xdd, 0x52, 0x34, + 0xe3, 0x93, 0x05, 0x0d, 0x86, 0x0d, 0x4c, 0xfb, 0x7d, 0x38, 0x93, 0xe1, 0xb8, 0x46, 0x17, 0x8e, + 0xd3, 0x76, 0xe5, 0x37, 0xa5, 0x0c, 0x36, 0x17, 0xea, 0x35, 0xf9, 0x35, 0x1a, 0x16, 0x5d, 0x9d, + 0xcc, 0xc1, 0x4d, 0x4b, 0x42, 0xa1, 0x56, 0xe7, 0x8a, 0x04, 0xe0, 0x04, 0xc7, 0xfe, 0x9f, 0x05, + 0x98, 0xca, 0x50, 0xbe, 0xb3, 0x44, 0x08, 0x29, 0xd9, 0x23, 0xc9, 0x7b, 0x60, 0x06, 0xff, 0x2b, + 0x1c, 0x23, 0xf8, 0x5f, 0xb1, 0x5f, 0xf0, 0xbf, 0xd2, 0x07, 0x09, 0xfe, 0x67, 0x8e, 0xd8, 0xd0, + 0x40, 0x23, 0x96, 0x11, 0x30, 0x70, 0xf8, 0x98, 0x01, 0x03, 0x8d, 0x41, 0x1f, 0x19, 0x60, 0xd0, + 0x7f, 0xa8, 0x00, 0xd3, 0x69, 0x23, 0xb9, 0x53, 0x50, 0xc7, 0xbe, 0x61, 0xa8, 0x63, 0xb3, 0xd3, + 0x8a, 0xa4, 0x4d, 0xf7, 0xf2, 0x54, 0xb3, 0x38, 0xa5, 0x9a, 0xfd, 0xe4, 0x40, 0xd4, 0x7a, 0xab, + 0x69, 0xff, 0x76, 0x01, 0xce, 0xa5, 0xab, 0x2c, 0x79, 0x8e, 0xbb, 0x7b, 0x0a, 0x63, 0x73, 0xc7, + 0x18, 0x9b, 0xe7, 0x07, 0xf9, 0x1a, 0xd6, 0xb5, 0xdc, 0x01, 0x7a, 0x2b, 0x35, 0x40, 0xd7, 0x06, + 0x27, 0xd9, 0x7b, 0x94, 0xbe, 0x51, 0x84, 0x4b, 0x99, 0xf5, 0x12, 0x6d, 0xe6, 0x8a, 0xa1, 0xcd, + 0xbc, 0x9e, 0xd2, 0x66, 0xda, 0xbd, 0x6b, 0x9f, 0x8c, 0x7a, 0x53, 0x78, 0x14, 0xb2, 0x00, 0x71, + 0x0f, 0xa9, 0xda, 0x34, 0x3c, 0x0a, 0x15, 0x21, 0x6c, 0xd2, 0xfd, 0xb3, 0xa4, 0xd2, 0xfc, 0x97, + 0x16, 0x5c, 0xc8, 0x9c, 0x9b, 0x53, 0x50, 0x61, 0xad, 0x99, 0x2a, 0xac, 0x67, 0x06, 0x5e, 0xad, + 0x39, 0x3a, 0xad, 0xdf, 0x28, 0xe5, 0x7c, 0x0b, 0x13, 0xd0, 0xef, 0xc0, 0x98, 0xd3, 0x6c, 0x92, + 0x28, 0x5a, 0x0d, 0x5a, 0x2a, 0x60, 0xda, 0xf3, 0x4c, 0xce, 0x4a, 0x8a, 0x8f, 0x0e, 0x2a, 0x73, + 0x69, 0x12, 0x09, 0x18, 0xeb, 0x14, 0xcc, 0x18, 0x8f, 0x85, 0x13, 0x8d, 0xf1, 0x78, 0x1d, 0x60, + 0x4f, 0x71, 0xeb, 0x69, 0x21, 0x5f, 0xe3, 0xe3, 0x35, 0x2c, 0xf4, 0x45, 0x18, 0x8d, 0xc4, 0x35, + 0x2e, 0x96, 0xe2, 0x8b, 0x03, 0xce, 0x95, 0xb3, 0x41, 0x3c, 0xd3, 0x75, 0x5d, 0xe9, 0x43, 0x14, + 0x49, 0xf4, 0x6d, 0x30, 0x1d, 0xf1, 0xc8, 0x28, 0x4b, 0x9e, 0x13, 0x31, 0x3f, 0x08, 0xb1, 0x0a, + 0x99, 0x3f, 0x7a, 0x23, 0x05, 0xc3, 0x5d, 0xd8, 0x68, 0x45, 0x7e, 0x14, 0x0b, 0xe3, 0xc2, 0x17, + 0xe6, 0x95, 0xe4, 0x83, 0x44, 0x1a, 0xa6, 0xb3, 0xe9, 0xe1, 0x67, 0x03, 0xaf, 0xd5, 0x44, 0x5f, + 0x04, 0xa0, 0xcb, 0x47, 0xe8, 0x12, 0x46, 0xf2, 0x0f, 0x4f, 0x7a, 0xaa, 0xb4, 0x32, 0x2d, 0x3f, + 0x99, 0x2f, 0x5f, 0x55, 0x11, 0xc1, 0x1a, 0x41, 0xfb, 0x87, 0x4a, 0xf0, 0x78, 0x8f, 0x33, 0x12, + 0x2d, 0x98, 0x4f, 0xa0, 0xcf, 0xa6, 0x85, 0xeb, 0xb9, 0xcc, 0xca, 0x86, 0xb4, 0x9d, 0x5a, 0x8a, + 0x85, 0x0f, 0xbc, 0x14, 0xbf, 0xdf, 0xd2, 0xd4, 0x1e, 0xdc, 0x98, 0xef, 0x73, 0xc7, 0x3c, 0xfb, + 0x4f, 0x50, 0x0f, 0xb2, 0x99, 0xa1, 0x4c, 0xb8, 0x3e, 0x70, 0x77, 0x06, 0xd6, 0x2e, 0x9c, 0xae, + 0xf2, 0xf7, 0x2b, 0x16, 0x3c, 0x99, 0xd9, 0x5f, 0xc3, 0x64, 0xe3, 0x1a, 0x94, 0x9b, 0xb4, 0x50, + 0x73, 0xdd, 0x4a, 0x7c, 0x5a, 0x25, 0x00, 0x27, 0x38, 0x86, 0x65, 0x46, 0xa1, 0xaf, 0x65, 0xc6, + 0x3f, 0xb3, 0xa0, 0x6b, 0x7f, 0x9c, 0xc2, 0x41, 0x5d, 0x33, 0x0f, 0xea, 0x8f, 0x0f, 0x32, 0x97, + 0x39, 0x67, 0xf4, 0x7f, 0x9a, 0x82, 0xf3, 0x39, 0xbe, 0x1a, 0x7b, 0x30, 0xb3, 0xd5, 0x24, 0xa6, + 0x53, 0x9c, 0xf8, 0x98, 0x4c, 0xff, 0xc1, 0x9e, 0x1e, 0x74, 0x2c, 0x3d, 0xcf, 0x4c, 0x17, 0x0a, + 0xee, 0x6e, 0x02, 0x7d, 0xc5, 0x82, 0xb3, 0xce, 0xfd, 0xa8, 0x2b, 0x09, 0xa3, 0x58, 0x33, 0x2f, + 0x65, 0x2a, 0x41, 0xfa, 0x24, 0x6d, 0xe4, 0xf9, 0x8a, 0xb2, 0xb0, 0x70, 0x66, 0x5b, 0x08, 0x8b, + 0x10, 0x9a, 0x94, 0x9d, 0xef, 0xe1, 0xb6, 0x99, 0xe5, 0x54, 0xc3, 0x8f, 0x6c, 0x09, 0xc1, 0x8a, + 0x0e, 0xba, 0x07, 0xe5, 0x2d, 0xe9, 0xe9, 0x26, 0xae, 0x84, 0xcc, 0x3b, 0x36, 0xd3, 0x1d, 0x8e, + 0x3f, 0x4b, 0x2a, 0x10, 0x4e, 0x48, 0xa1, 0xd7, 0xa1, 0xe8, 0x6f, 0x46, 0xbd, 0x12, 0xfd, 0xa4, + 0x2c, 0x99, 0xb8, 0x4b, 0xf4, 0xda, 0x4a, 0x03, 0xd3, 0x8a, 0xe8, 0x26, 0x14, 0xc3, 0x8d, 0x96, + 0xd0, 0xdb, 0x65, 0x9e, 0xdc, 0x78, 0xb1, 0x9a, 0xbd, 0x48, 0x38, 0x25, 0xbc, 0x58, 0xc5, 0x94, + 0x04, 0xaa, 0xc3, 0x10, 0x73, 0x6b, 0x10, 0xb7, 0x40, 0x26, 0xbf, 0xdb, 0xc3, 0x3d, 0x88, 0xfb, + 0x4d, 0x33, 0x04, 0xcc, 0x09, 0xa1, 0x75, 0x18, 0x6e, 0xb2, 0xa4, 0x30, 0x22, 0x6a, 0xf3, 0xa7, + 0x32, 0x35, 0x74, 0x3d, 0xb2, 0xe5, 0x08, 0x85, 0x15, 0xc3, 0xc0, 0x82, 0x16, 0xa3, 0x4a, 0xda, + 0xdb, 0x9b, 0x11, 0x93, 0xf0, 0xf3, 0xa8, 0xf6, 0x48, 0x02, 0x25, 0xa8, 0x32, 0x0c, 0x2c, 0x68, + 0xa1, 0xcf, 0x42, 0x61, 0xb3, 0x29, 0xbc, 0x1e, 0x32, 0x55, 0x75, 0xa6, 0x57, 0xfb, 0xe2, 0xf0, + 0xe1, 0x41, 0xa5, 0xb0, 0xb2, 0x84, 0x0b, 0x9b, 0x4d, 0xb4, 0x06, 0x23, 0x9b, 0xdc, 0x0f, 0x56, + 0x68, 0xe3, 0x9e, 0xce, 0x76, 0xd1, 0xed, 0x72, 0x95, 0xe5, 0xd6, 0xfa, 0x02, 0x80, 0x25, 0x11, + 0x16, 0x87, 0x52, 0xf9, 0xf3, 0x8a, 0x80, 0xcc, 0xf3, 0xc7, 0xf3, 0xc1, 0xe6, 0xb7, 0x72, 0xe2, + 0x15, 0x8c, 0x35, 0x8a, 0xe8, 0xcb, 0x50, 0x76, 0x64, 0xfa, 0x3f, 0x11, 0xb0, 0xe2, 0xc5, 0xcc, + 0x8d, 0xd9, 0x3b, 0x33, 0x22, 0x5f, 0xd5, 0x0a, 0x09, 0x27, 0x44, 0xd1, 0x0e, 0x4c, 0xec, 0x45, + 0xed, 0x6d, 0x22, 0x37, 0x32, 0x8b, 0x5f, 0x91, 0x73, 0x71, 0xdd, 0x13, 0x88, 0x6e, 0x18, 0x77, + 0x1c, 0xaf, 0xeb, 0xec, 0x61, 0x6f, 0xd9, 0xf7, 0x74, 0x62, 0xd8, 0xa4, 0x4d, 0x87, 0xff, 0xbd, + 0x4e, 0xb0, 0xb1, 0x1f, 0x13, 0x11, 0xc1, 0x39, 0x73, 0xf8, 0xdf, 0xe4, 0x28, 0xdd, 0xc3, 0x2f, + 0x00, 0x58, 0x12, 0xa1, 0x5b, 0xdd, 0x91, 0xa9, 0x35, 0x59, 0xe4, 0xe6, 0x9c, 0xad, 0x9e, 0x99, + 0x7f, 0x53, 0x1b, 0x14, 0x76, 0x46, 0x26, 0xa4, 0xd8, 0xd9, 0xd8, 0xde, 0x0e, 0xe2, 0xc0, 0x4f, + 0x9d, 0xcb, 0x33, 0xf9, 0x67, 0x63, 0x3d, 0x03, 0xbf, 0xfb, 0x6c, 0xcc, 0xc2, 0xc2, 0x99, 0x6d, + 0xa1, 0x16, 0x4c, 0xb6, 0x83, 0x30, 0xbe, 0x1f, 0x84, 0x72, 0x7d, 0xa1, 0x1e, 0xda, 0x04, 0x03, + 0x53, 0xb4, 0xc8, 0x22, 0x8a, 0x9b, 0x10, 0x9c, 0xa2, 0x89, 0x3e, 0x0f, 0x23, 0x51, 0xd3, 0xf1, + 0x48, 0xed, 0xce, 0xec, 0x99, 0xfc, 0x4b, 0xa7, 0xc1, 0x51, 0x72, 0x56, 0x17, 0x9b, 0x1c, 0x81, + 0x82, 0x25, 0x39, 0xb4, 0x02, 0x43, 0x2c, 0x2d, 0x00, 0x0b, 0x3e, 0x9d, 0x13, 0x18, 0xa9, 0xcb, + 0xae, 0x94, 0x9f, 0x4d, 0xac, 0x18, 0xf3, 0xea, 0x74, 0x0f, 0x08, 0xa6, 0x3a, 0x88, 0x66, 0xcf, + 0xe5, 0xef, 0x01, 0xc1, 0x8b, 0xdf, 0x69, 0xf4, 0xda, 0x03, 0x0a, 0x09, 0x27, 0x44, 0xe9, 0xc9, + 0x4c, 0x4f, 0xd3, 0xf3, 0x3d, 0xcc, 0x58, 0x72, 0xcf, 0x52, 0x76, 0x32, 0xd3, 0x93, 0x94, 0x92, + 0xb0, 0x7f, 0x77, 0xa4, 0x9b, 0x53, 0x61, 0x62, 0xd8, 0x9f, 0xb7, 0xba, 0x5e, 0xe8, 0x3e, 0x3d, + 0xa8, 0x56, 0xe8, 0x04, 0x79, 0xd4, 0xaf, 0x58, 0x70, 0xbe, 0x9d, 0xf9, 0x21, 0xe2, 0xda, 0x1f, + 0x4c, 0xb9, 0xc4, 0x3f, 0x5d, 0x05, 0x88, 0xcf, 0x86, 0xe3, 0x9c, 0x96, 0xd2, 0x72, 0x40, 0xf1, + 0x03, 0xcb, 0x01, 0xab, 0x30, 0xca, 0x58, 0xcb, 0x3e, 0x49, 0xd2, 0xd2, 0xe2, 0x10, 0x63, 0x20, + 0x96, 0x44, 0x45, 0xac, 0x48, 0xa0, 0x1f, 0xb0, 0xe0, 0x62, 0xba, 0xeb, 0x98, 0x30, 0xb0, 0x08, + 0xa7, 0xce, 0x25, 0xc0, 0x15, 0xf1, 0xfd, 0x17, 0xeb, 0xbd, 0x90, 0x8f, 0xfa, 0x21, 0xe0, 0xde, + 0x8d, 0xa1, 0x6a, 0x86, 0x08, 0x3a, 0x6c, 0xaa, 0xdd, 0x07, 0x10, 0x43, 0x5f, 0x82, 0xf1, 0xdd, + 0xa0, 0xe3, 0xc7, 0xc2, 0xea, 0x45, 0xf8, 0x29, 0xb2, 0x67, 0xe6, 0x55, 0xad, 0x1c, 0x1b, 0x58, + 0x29, 0xe1, 0x75, 0xf4, 0xa1, 0x85, 0xd7, 0x77, 0x52, 0xa9, 0xb0, 0xcb, 0xf9, 0x61, 0xfb, 0x84, + 0x9c, 0x7f, 0x8c, 0x84, 0xd8, 0xa7, 0x2b, 0x11, 0xfd, 0xb4, 0x95, 0xc1, 0xca, 0x73, 0x19, 0xf9, + 0x35, 0x53, 0x46, 0xbe, 0x92, 0x96, 0x91, 0xbb, 0x54, 0xae, 0x86, 0x78, 0x3c, 0x78, 0xec, 0xe7, + 0x41, 0x83, 0xa9, 0xd9, 0x1e, 0x5c, 0xee, 0x77, 0x2d, 0x31, 0xf3, 0xa7, 0x96, 0x7a, 0x60, 0x4b, + 0xcc, 0x9f, 0x5a, 0xb5, 0x2a, 0x66, 0x90, 0x41, 0xa3, 0x6d, 0xd8, 0xff, 0xd5, 0x82, 0x62, 0x3d, + 0x68, 0x9d, 0x82, 0x0a, 0xf9, 0x73, 0x86, 0x0a, 0xf9, 0xf1, 0x9c, 0x14, 0xe5, 0xb9, 0x0a, 0xe3, + 0xe5, 0x94, 0xc2, 0xf8, 0x62, 0x1e, 0x81, 0xde, 0xea, 0xe1, 0x9f, 0x28, 0x82, 0x9e, 0x50, 0x1d, + 0xfd, 0xc6, 0xc3, 0xd8, 0x1e, 0x17, 0x7b, 0xe5, 0x58, 0x17, 0x94, 0x99, 0xd5, 0x94, 0x74, 0xbd, + 0xfb, 0x53, 0x66, 0x82, 0xfc, 0x16, 0x71, 0xb7, 0xb6, 0x63, 0xd2, 0x4a, 0x7f, 0xce, 0xe9, 0x99, + 0x20, 0xff, 0x67, 0x0b, 0xa6, 0x52, 0xad, 0x23, 0x0f, 0x26, 0x3c, 0x5d, 0xff, 0x27, 0xd6, 0xe9, + 0x43, 0xa9, 0x0e, 0x85, 0x09, 0xa7, 0x56, 0x84, 0x4d, 0xe2, 0x68, 0x1e, 0x40, 0xbd, 0xcf, 0x49, + 0xbd, 0x17, 0xe3, 0xfa, 0xd5, 0x03, 0x5e, 0x84, 0x35, 0x0c, 0xf4, 0x32, 0x8c, 0xc5, 0x41, 0x3b, + 0xf0, 0x82, 0xad, 0xfd, 0x5b, 0x44, 0xc6, 0x77, 0x51, 0x86, 0x59, 0xeb, 0x09, 0x08, 0xeb, 0x78, + 0xf6, 0x4f, 0x15, 0x21, 0x9d, 0x84, 0xff, 0x9b, 0x6b, 0xf2, 0xa3, 0xb9, 0x26, 0xbf, 0x61, 0xc1, + 0x34, 0x6d, 0x9d, 0x19, 0x89, 0xc8, 0xcb, 0x56, 0xe5, 0xa0, 0xb1, 0x7a, 0xe4, 0xa0, 0xb9, 0x42, + 0xcf, 0xae, 0x56, 0xd0, 0x89, 0x85, 0xde, 0x4c, 0x3b, 0x9c, 0x68, 0x29, 0x16, 0x50, 0x81, 0x47, + 0xc2, 0x50, 0x78, 0x3e, 0xe9, 0x78, 0x24, 0x0c, 0xb1, 0x80, 0xca, 0x14, 0x35, 0xa5, 0x9c, 0x14, + 0x35, 0x2c, 0x5a, 0x9d, 0x30, 0x27, 0x10, 0x6c, 0x8f, 0x16, 0xad, 0x4e, 0xda, 0x19, 0x24, 0x38, + 0xf6, 0xcf, 0x15, 0x61, 0xbc, 0x1e, 0xb4, 0x92, 0x17, 0xb2, 0x97, 0x8c, 0x17, 0xb2, 0xcb, 0xa9, + 0x17, 0xb2, 0x69, 0x1d, 0xf7, 0x9b, 0xef, 0x61, 0x1f, 0xd6, 0x7b, 0xd8, 0x3f, 0xb5, 0xd8, 0xac, + 0x55, 0xd7, 0x1a, 0x22, 0x45, 0xee, 0x0b, 0x30, 0xc6, 0x0e, 0x24, 0xe6, 0x6a, 0x27, 0x9f, 0x8d, + 0x58, 0xf4, 0xf9, 0xb5, 0xa4, 0x18, 0xeb, 0x38, 0xe8, 0x2a, 0x8c, 0x46, 0xc4, 0x09, 0x9b, 0xdb, + 0xea, 0x8c, 0x13, 0x8f, 0x2a, 0xbc, 0x0c, 0x2b, 0x28, 0x7a, 0x33, 0x09, 0x94, 0x56, 0xcc, 0x4f, + 0xf6, 0xaa, 0xf7, 0x87, 0x6f, 0x91, 0xfc, 0xe8, 0x68, 0xf6, 0x5b, 0x80, 0xba, 0xf1, 0x07, 0x08, + 0x89, 0x54, 0x31, 0x43, 0x22, 0x95, 0xbb, 0xc2, 0x21, 0xfd, 0xb1, 0x05, 0x93, 0xf5, 0xa0, 0x45, + 0xb7, 0xee, 0x9f, 0xa5, 0x7d, 0xaa, 0x47, 0x89, 0x1c, 0xee, 0x11, 0x25, 0xf2, 0xef, 0x58, 0x30, + 0x52, 0x0f, 0x5a, 0xa7, 0xa0, 0x6d, 0x7f, 0xcd, 0xd4, 0xb6, 0x3f, 0x96, 0xb3, 0x24, 0x72, 0x14, + 0xec, 0xbf, 0x50, 0x84, 0x09, 0xda, 0xcf, 0x60, 0x4b, 0xce, 0x92, 0x31, 0x22, 0xd6, 0x00, 0x23, + 0x42, 0xd9, 0xdc, 0xc0, 0xf3, 0x82, 0xfb, 0xe9, 0x19, 0x5b, 0x61, 0xa5, 0x58, 0x40, 0xd1, 0x73, + 0x30, 0xda, 0x0e, 0xc9, 0x9e, 0x1b, 0x08, 0xfe, 0x51, 0x7b, 0xbb, 0xa8, 0x8b, 0x72, 0xac, 0x30, + 0xa8, 0xdc, 0x15, 0xb9, 0x7e, 0x93, 0xc8, 0x4c, 0xd3, 0x25, 0x96, 0x8c, 0x8a, 0x87, 0x7f, 0xd6, + 0xca, 0xb1, 0x81, 0x85, 0xde, 0x82, 0x32, 0xfb, 0xcf, 0x4e, 0x94, 0xe3, 0x27, 0xcf, 0x11, 0x39, + 0x17, 0x04, 0x01, 0x9c, 0xd0, 0x42, 0xd7, 0x01, 0x62, 0x19, 0x22, 0x38, 0x12, 0x91, 0x6d, 0x14, + 0xaf, 0xad, 0x82, 0x07, 0x47, 0x58, 0xc3, 0x42, 0xcf, 0x42, 0x39, 0x76, 0x5c, 0xef, 0xb6, 0xeb, + 0x93, 0x88, 0xa9, 0x9c, 0x8b, 0x32, 0xa5, 0x82, 0x28, 0xc4, 0x09, 0x9c, 0xf2, 0x3a, 0xcc, 0xed, + 0x9b, 0xa7, 0xde, 0x1a, 0x65, 0xd8, 0x8c, 0xd7, 0xb9, 0xad, 0x4a, 0xb1, 0x86, 0x61, 0xbf, 0x02, + 0xe7, 0xea, 0x41, 0xab, 0x1e, 0x84, 0xf1, 0x4a, 0x10, 0xde, 0x77, 0xc2, 0x96, 0x9c, 0xbf, 0x8a, + 0x8c, 0xee, 0x4f, 0xcf, 0x9e, 0x21, 0xbe, 0x33, 0x8d, 0xb8, 0xfd, 0x2f, 0x32, 0x6e, 0xe7, 0x98, + 0xae, 0x1c, 0x4d, 0x76, 0xef, 0xaa, 0x2c, 0x7b, 0x37, 0x9c, 0x98, 0xa0, 0x3b, 0x2c, 0x33, 0x57, + 0x72, 0x05, 0x89, 0xea, 0xcf, 0x68, 0x99, 0xb9, 0x12, 0x60, 0xe6, 0x9d, 0x65, 0xd6, 0xb7, 0x7f, + 0xb5, 0xc8, 0x4e, 0xa3, 0x54, 0xd2, 0x39, 0xf4, 0x25, 0x98, 0x8c, 0xc8, 0x6d, 0xd7, 0xef, 0x3c, + 0x90, 0x42, 0x78, 0x0f, 0x67, 0x9c, 0xc6, 0xb2, 0x8e, 0xc9, 0x55, 0x79, 0x66, 0x19, 0x4e, 0x51, + 0xa3, 0xf3, 0x14, 0x76, 0xfc, 0x85, 0xe8, 0x6e, 0x44, 0x42, 0x91, 0xf4, 0x8c, 0xcd, 0x13, 0x96, + 0x85, 0x38, 0x81, 0xd3, 0x75, 0xc9, 0xfe, 0xac, 0x05, 0x3e, 0x0e, 0x82, 0x58, 0xae, 0x64, 0x96, + 0x36, 0x47, 0x2b, 0xc7, 0x06, 0x16, 0x5a, 0x01, 0x14, 0x75, 0xda, 0x6d, 0x8f, 0x3d, 0xe7, 0x3b, + 0xde, 0x8d, 0x30, 0xe8, 0xb4, 0xf9, 0x5b, 0x67, 0x71, 0xf1, 0x3c, 0xbd, 0xc2, 0x1a, 0x5d, 0x50, + 0x9c, 0x51, 0x83, 0x9e, 0x3e, 0x9b, 0x11, 0xfb, 0xcd, 0x56, 0x77, 0x51, 0xa8, 0xd7, 0x1b, 0xac, + 0x08, 0x4b, 0x18, 0x5d, 0x4c, 0xac, 0x79, 0x8e, 0x39, 0x9c, 0x2c, 0x26, 0xac, 0x4a, 0xb1, 0x86, + 0x81, 0x96, 0x61, 0x24, 0xda, 0x8f, 0x9a, 0xb1, 0x88, 0xc3, 0x94, 0x93, 0xbe, 0xb2, 0xc1, 0x50, + 0xb4, 0x94, 0x0a, 0xbc, 0x0a, 0x96, 0x75, 0xed, 0xef, 0x62, 0x97, 0x21, 0x4b, 0x91, 0x15, 0x77, + 0x42, 0x82, 0x76, 0x61, 0xa2, 0xcd, 0xa6, 0x5c, 0x04, 0x70, 0x16, 0xf3, 0xf6, 0xd2, 0x80, 0x52, + 0xed, 0x7d, 0x7a, 0xd0, 0x28, 0xad, 0x13, 0x13, 0x17, 0xea, 0x3a, 0x39, 0x6c, 0x52, 0xb7, 0xff, + 0xd5, 0x0c, 0x3b, 0x73, 0x1b, 0x5c, 0x54, 0x1d, 0x11, 0x06, 0xc5, 0x82, 0x2f, 0x9f, 0xcb, 0xd7, + 0x99, 0x24, 0x5f, 0x24, 0x8c, 0x92, 0xb1, 0xac, 0x8b, 0xde, 0x64, 0x6f, 0xd3, 0xfc, 0xa0, 0xeb, + 0x97, 0xa9, 0x98, 0x63, 0x19, 0xcf, 0xd0, 0xa2, 0x22, 0xd6, 0x88, 0xa0, 0xdb, 0x30, 0x21, 0x32, + 0x2a, 0x09, 0xa5, 0x58, 0xd1, 0x50, 0x7a, 0x4c, 0x60, 0x1d, 0x78, 0x94, 0x2e, 0xc0, 0x66, 0x65, + 0xb4, 0x05, 0x17, 0xb5, 0xf4, 0x82, 0x37, 0x42, 0x87, 0xbd, 0x57, 0xba, 0x6c, 0x13, 0x69, 0xe7, + 0xe6, 0x93, 0x87, 0x07, 0x95, 0x8b, 0xeb, 0xbd, 0x10, 0x71, 0x6f, 0x3a, 0xe8, 0x0e, 0x9c, 0xe3, + 0x7e, 0x7b, 0x55, 0xe2, 0xb4, 0x3c, 0xd7, 0x57, 0x07, 0x33, 0x5f, 0x87, 0x17, 0x0e, 0x0f, 0x2a, + 0xe7, 0x16, 0xb2, 0x10, 0x70, 0x76, 0x3d, 0xf4, 0x1a, 0x94, 0x5b, 0x7e, 0x24, 0xc6, 0x60, 0xd8, + 0xc8, 0x9c, 0x59, 0xae, 0xae, 0x35, 0xd4, 0xf7, 0x27, 0x7f, 0x70, 0x52, 0x01, 0x6d, 0x71, 0xc5, + 0x98, 0x92, 0x43, 0x47, 0xf2, 0xb3, 0xa4, 0x8b, 0x25, 0x61, 0x78, 0xee, 0x70, 0x8d, 0xb0, 0xb2, + 0x7c, 0x35, 0x9c, 0x7a, 0x0c, 0xc2, 0xe8, 0x0d, 0x40, 0x94, 0x51, 0x73, 0x9b, 0x64, 0xa1, 0xc9, + 0xe2, 0x68, 0x33, 0x3d, 0xe2, 0xa8, 0xe1, 0x29, 0x81, 0x1a, 0x5d, 0x18, 0x38, 0xa3, 0x16, 0xba, + 0x49, 0x0f, 0x32, 0xbd, 0x54, 0x58, 0xf0, 0x4a, 0xe6, 0x7e, 0xb6, 0x4a, 0xda, 0x21, 0x69, 0x3a, + 0x31, 0x69, 0x99, 0x14, 0x71, 0xaa, 0x1e, 0xbd, 0x4b, 0x55, 0x4a, 0x1d, 0x30, 0x83, 0x65, 0x74, + 0xa7, 0xd5, 0xa1, 0x72, 0xf1, 0x76, 0x10, 0xc5, 0x6b, 0x24, 0xbe, 0x1f, 0x84, 0x3b, 0x22, 0x36, + 0x59, 0x12, 0x26, 0x33, 0x01, 0x61, 0x1d, 0x8f, 0xf2, 0xc1, 0xec, 0x71, 0xb8, 0x56, 0x65, 0x2f, + 0x74, 0xa3, 0xc9, 0x3e, 0xb9, 0xc9, 0x8b, 0xb1, 0x84, 0x4b, 0xd4, 0x5a, 0x7d, 0x89, 0xbd, 0xb6, + 0xa5, 0x50, 0x6b, 0xf5, 0x25, 0x2c, 0xe1, 0x88, 0x74, 0x67, 0x25, 0x9d, 0xcc, 0xd7, 0x6a, 0x76, + 0x5f, 0x07, 0x03, 0x26, 0x26, 0xf5, 0x61, 0x5a, 0xe5, 0x43, 0xe5, 0x41, 0xdb, 0xa2, 0xd9, 0x29, + 0xb6, 0x48, 0x06, 0x8f, 0xf8, 0xa6, 0xf4, 0xc4, 0xb5, 0x14, 0x25, 0xdc, 0x45, 0xdb, 0x08, 0x5f, + 0x32, 0xdd, 0x37, 0x25, 0xd2, 0x35, 0x28, 0x47, 0x9d, 0x8d, 0x56, 0xb0, 0xeb, 0xb8, 0x3e, 0x7b, + 0x1c, 0xd3, 0x98, 0xac, 0x86, 0x04, 0xe0, 0x04, 0x07, 0xad, 0xc0, 0xa8, 0x23, 0x95, 0xc0, 0x28, + 0x3f, 0x56, 0x81, 0x52, 0xfd, 0x72, 0xf7, 0x5d, 0xa9, 0xf6, 0x55, 0x75, 0xd1, 0xab, 0x30, 0x21, + 0xbc, 0xb5, 0x78, 0x04, 0x07, 0xf6, 0x78, 0xa5, 0x99, 0xe3, 0x37, 0x74, 0x20, 0x36, 0x71, 0xd1, + 0x17, 0x61, 0x92, 0x52, 0x49, 0x0e, 0xb6, 0xd9, 0xb3, 0x83, 0x9c, 0x88, 0x5a, 0xaa, 0x0b, 0xbd, + 0x32, 0x4e, 0x11, 0x43, 0x2d, 0x78, 0xc2, 0xe9, 0xc4, 0x01, 0x53, 0xa4, 0x9b, 0xeb, 0x7f, 0x3d, + 0xd8, 0x21, 0x3e, 0x7b, 0xc3, 0x1a, 0x5d, 0xbc, 0x7c, 0x78, 0x50, 0x79, 0x62, 0xa1, 0x07, 0x1e, + 0xee, 0x49, 0x05, 0xdd, 0x85, 0xb1, 0x38, 0xf0, 0x98, 0x61, 0x3c, 0x65, 0x25, 0xce, 0xe7, 0x87, + 0xff, 0x59, 0x57, 0x68, 0xba, 0x12, 0x49, 0x55, 0xc5, 0x3a, 0x1d, 0xb4, 0xce, 0xf7, 0x18, 0x0b, + 0x8c, 0x4a, 0xa2, 0xd9, 0xc7, 0xf2, 0x07, 0x46, 0xc5, 0x4f, 0x35, 0xb7, 0xa0, 0xa8, 0x89, 0x75, + 0x32, 0xe8, 0x06, 0xcc, 0xb4, 0x43, 0x37, 0x60, 0x0b, 0x5b, 0x3d, 0x62, 0xcc, 0x9a, 0xd9, 0x0d, + 0xea, 0x69, 0x04, 0xdc, 0x5d, 0x87, 0x0a, 0x99, 0xb2, 0x70, 0xf6, 0x02, 0x4f, 0x95, 0xc5, 0x19, + 0x6f, 0x5e, 0x86, 0x15, 0x14, 0xad, 0xb2, 0x73, 0x99, 0x8b, 0x83, 0xb3, 0x73, 0xf9, 0x31, 0x1e, + 0x74, 0xb1, 0x91, 0xf3, 0x4b, 0xea, 0x2f, 0x4e, 0x28, 0xd0, 0x7b, 0x23, 0xda, 0x76, 0x42, 0x52, + 0x0f, 0x83, 0x26, 0xe1, 0x9d, 0xe1, 0x36, 0xf9, 0x8f, 0xf3, 0xf8, 0x8d, 0xf4, 0xde, 0x68, 0x64, + 0x21, 0xe0, 0xec, 0x7a, 0xa8, 0xa5, 0x65, 0x88, 0xa6, 0x6c, 0x68, 0x34, 0xfb, 0x44, 0x0f, 0x33, + 0xa3, 0x14, 0xcf, 0x9a, 0xac, 0x45, 0xa3, 0x38, 0xc2, 0x29, 0x9a, 0xe8, 0xdb, 0x60, 0x5a, 0x84, + 0x3b, 0x4a, 0xc6, 0xfd, 0x62, 0x62, 0xbf, 0x88, 0x53, 0x30, 0xdc, 0x85, 0x3d, 0xf7, 0xad, 0x30, + 0xd3, 0x75, 0xe3, 0x1c, 0x2b, 0xf8, 0xf8, 0x1f, 0x0d, 0x41, 0x59, 0x29, 0xd3, 0xd1, 0x35, 0xf3, + 0x8d, 0xe4, 0x42, 0xfa, 0x8d, 0x64, 0x94, 0xf2, 0xf4, 0xfa, 0xb3, 0xc8, 0xba, 0x61, 0x56, 0x57, + 0xc8, 0x4f, 0xf5, 0xa5, 0x73, 0xe5, 0x7d, 0x5d, 0xf4, 0x34, 0xdd, 0x48, 0x71, 0xe0, 0xc7, 0x96, + 0x52, 0x4f, 0x75, 0xcb, 0x80, 0x99, 0x76, 0xd1, 0x53, 0x54, 0xb0, 0x69, 0xd5, 0xea, 0xe9, 0xd4, + 0x93, 0x75, 0x5a, 0x88, 0x39, 0x8c, 0x09, 0x80, 0x94, 0x3d, 0x62, 0x02, 0xe0, 0xc8, 0x43, 0x0a, + 0x80, 0x92, 0x00, 0x4e, 0x68, 0x21, 0x0f, 0x66, 0x9a, 0x66, 0xd6, 0x50, 0xe5, 0x96, 0xf7, 0x54, + 0xdf, 0xfc, 0x9d, 0x1d, 0x2d, 0x45, 0xdb, 0x52, 0x9a, 0x0a, 0xee, 0x26, 0x8c, 0x5e, 0x85, 0xd1, + 0xf7, 0x82, 0x88, 0x2d, 0x26, 0xc1, 0x23, 0x48, 0xf7, 0xa5, 0xd1, 0x37, 0xef, 0x34, 0x58, 0xf9, + 0xd1, 0x41, 0x65, 0xac, 0x1e, 0xb4, 0xe4, 0x5f, 0xac, 0x2a, 0xa0, 0x07, 0x70, 0xce, 0x38, 0x59, + 0x55, 0x77, 0x61, 0xf0, 0xee, 0x5e, 0x14, 0xcd, 0x9d, 0xab, 0x65, 0x51, 0xc2, 0xd9, 0x0d, 0xd0, + 0xe3, 0xca, 0x0f, 0x44, 0xc6, 0x5d, 0xc9, 0x87, 0x30, 0x76, 0xa3, 0xac, 0x3b, 0xaf, 0xa7, 0x10, + 0x70, 0x77, 0x1d, 0xfb, 0x97, 0xf9, 0xdb, 0x83, 0xd0, 0x50, 0x92, 0xa8, 0xe3, 0x9d, 0x46, 0x42, + 0xa7, 0x65, 0x43, 0x79, 0xfa, 0xd0, 0xef, 0x5b, 0xbf, 0x6e, 0xb1, 0xf7, 0xad, 0x75, 0xb2, 0xdb, + 0xf6, 0xa8, 0x9c, 0xfc, 0xe8, 0x3b, 0xfe, 0x26, 0x8c, 0xc6, 0xa2, 0xb5, 0x5e, 0x39, 0xa8, 0xb4, + 0x4e, 0xb1, 0x37, 0x3e, 0xc5, 0xa1, 0xc8, 0x52, 0xac, 0xc8, 0xd8, 0xff, 0x98, 0xcf, 0x80, 0x84, + 0x9c, 0x82, 0x22, 0xab, 0x6a, 0x2a, 0xb2, 0x2a, 0x7d, 0xbe, 0x20, 0x47, 0xa1, 0xf5, 0x8f, 0xcc, + 0x7e, 0x33, 0x61, 0xf0, 0xa3, 0xfe, 0xb0, 0x6a, 0xff, 0xb0, 0x05, 0x67, 0xb3, 0x2c, 0x91, 0x28, + 0x57, 0xc9, 0x45, 0x51, 0xf5, 0xd0, 0xac, 0x46, 0xf0, 0x9e, 0x28, 0xc7, 0x0a, 0x63, 0xe0, 0xf4, + 0x0e, 0xc7, 0x8b, 0xef, 0x76, 0x07, 0x26, 0xea, 0x21, 0xd1, 0xee, 0x80, 0xd7, 0xb9, 0x1f, 0x1c, + 0xef, 0xcf, 0x73, 0xc7, 0xf6, 0x81, 0xb3, 0x7f, 0xa6, 0x00, 0x67, 0xf9, 0x4b, 0xd1, 0xc2, 0x5e, + 0xe0, 0xb6, 0xea, 0x41, 0x4b, 0xa4, 0xe6, 0x78, 0x1b, 0xc6, 0xdb, 0x9a, 0xfe, 0xa0, 0x57, 0x84, + 0x29, 0x5d, 0xcf, 0x90, 0xc8, 0x71, 0x7a, 0x29, 0x36, 0x68, 0xa1, 0x16, 0x8c, 0x93, 0x3d, 0xb7, + 0xa9, 0x9e, 0x1b, 0x0a, 0xc7, 0xbe, 0x1b, 0x54, 0x2b, 0xcb, 0x1a, 0x1d, 0x6c, 0x50, 0x7d, 0x04, + 0xd9, 0xda, 0xec, 0x1f, 0xb1, 0xe0, 0xb1, 0x9c, 0x78, 0x54, 0xb4, 0xb9, 0xfb, 0xec, 0x4d, 0x4e, + 0x24, 0x7e, 0x52, 0xcd, 0xf1, 0x97, 0x3a, 0x2c, 0xa0, 0xe8, 0xf3, 0x00, 0xfc, 0xa5, 0x8d, 0x8a, + 0x35, 0xfd, 0x02, 0xf7, 0x18, 0x31, 0x47, 0xb4, 0x58, 0x11, 0xb2, 0x3e, 0xd6, 0x68, 0xd9, 0x3f, + 0x59, 0x84, 0x21, 0xf6, 0xb2, 0x83, 0x56, 0x60, 0x64, 0x9b, 0x47, 0x68, 0x1e, 0x24, 0x18, 0x74, + 0x22, 0x1f, 0xf2, 0x02, 0x2c, 0x2b, 0xa3, 0x55, 0x38, 0xc3, 0x23, 0x5c, 0x7b, 0x55, 0xe2, 0x39, + 0xfb, 0x52, 0xcd, 0xc0, 0x93, 0x25, 0xa9, 0xb8, 0x17, 0xb5, 0x6e, 0x14, 0x9c, 0x55, 0x0f, 0xbd, + 0x0e, 0x93, 0x94, 0x2f, 0x0b, 0x3a, 0xb1, 0xa4, 0xc4, 0x63, 0x5b, 0x2b, 0x46, 0x70, 0xdd, 0x80, + 0xe2, 0x14, 0x36, 0x15, 0x98, 0xda, 0x5d, 0x0a, 0x95, 0xa1, 0x44, 0x60, 0x32, 0x95, 0x28, 0x26, + 0x2e, 0x33, 0x41, 0xea, 0x30, 0x83, 0xab, 0xf5, 0xed, 0x90, 0x44, 0xdb, 0x81, 0xd7, 0x12, 0xb9, + 0xb6, 0x13, 0x13, 0xa4, 0x14, 0x1c, 0x77, 0xd5, 0xa0, 0x54, 0x36, 0x1d, 0xd7, 0xeb, 0x84, 0x24, + 0xa1, 0x32, 0x6c, 0x52, 0x59, 0x49, 0xc1, 0x71, 0x57, 0x0d, 0xba, 0x8e, 0xce, 0x89, 0xe4, 0xd7, + 0xd2, 0x1b, 0x5f, 0xd9, 0x95, 0x8d, 0x48, 0xbf, 0xa4, 0x1e, 0xe1, 0x68, 0x84, 0xe5, 0x8d, 0x4a, + 0x9f, 0xad, 0xe9, 0x01, 0x85, 0x47, 0x92, 0xa4, 0xf2, 0x30, 0x29, 0x98, 0x7f, 0xd7, 0x82, 0x33, + 0x19, 0xf6, 0xab, 0xfc, 0xa8, 0xda, 0x72, 0xa3, 0x58, 0x25, 0x84, 0xd1, 0x8e, 0x2a, 0x5e, 0x8e, + 0x15, 0x06, 0xdd, 0x0f, 0xfc, 0x30, 0x4c, 0x1f, 0x80, 0xc2, 0x3e, 0x4c, 0x40, 0x8f, 0x77, 0x00, + 0xa2, 0xcb, 0x50, 0xea, 0x44, 0x44, 0x06, 0x92, 0x52, 0xe7, 0x37, 0xd3, 0x0c, 0x33, 0x08, 0x65, + 0x4d, 0xb7, 0x94, 0x52, 0x56, 0x63, 0x4d, 0xb9, 0xa6, 0x95, 0xc3, 0xec, 0xaf, 0x16, 0xe1, 0x42, + 0xae, 0xa5, 0x3a, 0xed, 0xd2, 0x6e, 0xe0, 0xbb, 0x71, 0xa0, 0x5e, 0x0d, 0x79, 0x28, 0x13, 0xd2, + 0xde, 0x5e, 0x15, 0xe5, 0x58, 0x61, 0xa0, 0x2b, 0x32, 0x0d, 0x7b, 0x3a, 0xe5, 0xcd, 0x62, 0xd5, + 0xc8, 0xc4, 0x3e, 0x68, 0x3a, 0xb1, 0xa7, 0xa0, 0xd4, 0x0e, 0x02, 0x2f, 0x7d, 0x18, 0xd1, 0xee, + 0x06, 0x81, 0x87, 0x19, 0x10, 0x7d, 0x42, 0x8c, 0x43, 0xea, 0x99, 0x0c, 0x3b, 0xad, 0x20, 0xd2, + 0x06, 0xe3, 0x19, 0x18, 0xd9, 0x21, 0xfb, 0xa1, 0xeb, 0x6f, 0xa5, 0x9f, 0x4f, 0x6f, 0xf1, 0x62, + 0x2c, 0xe1, 0x66, 0xc6, 0x87, 0x91, 0x93, 0xce, 0x03, 0x36, 0xda, 0xf7, 0x6a, 0xfb, 0xfe, 0x22, + 0x4c, 0xe1, 0xc5, 0xea, 0x37, 0x27, 0xe2, 0x6e, 0xf7, 0x44, 0x9c, 0x74, 0x1e, 0xb0, 0xfe, 0xb3, + 0xf1, 0x0b, 0x16, 0x4c, 0xb1, 0xa8, 0xc8, 0x22, 0x80, 0x86, 0x1b, 0xf8, 0xa7, 0xc0, 0xba, 0x3d, + 0x05, 0x43, 0x21, 0x6d, 0x34, 0x9d, 0xdc, 0x87, 0xf5, 0x04, 0x73, 0x18, 0x7a, 0x02, 0x4a, 0xac, + 0x0b, 0x74, 0xf2, 0xc6, 0x79, 0x5e, 0x84, 0xaa, 0x13, 0x3b, 0x98, 0x95, 0x32, 0xaf, 0x70, 0x4c, + 0xda, 0x9e, 0xcb, 0x3b, 0x9d, 0x3c, 0x49, 0x7c, 0x34, 0xbc, 0xc2, 0x33, 0xbb, 0xf6, 0xc1, 0xbc, + 0xc2, 0xb3, 0x49, 0xf6, 0x16, 0x8b, 0xfe, 0x5b, 0x01, 0x2e, 0x65, 0xd6, 0x1b, 0xd8, 0x2b, 0xbc, + 0x77, 0xed, 0x93, 0xb1, 0x82, 0xc9, 0x36, 0x4e, 0x29, 0x9e, 0xa2, 0x71, 0x4a, 0x69, 0x50, 0xce, + 0x71, 0x68, 0x00, 0x67, 0xed, 0xcc, 0x21, 0xfb, 0x88, 0x38, 0x6b, 0x67, 0xf6, 0x2d, 0x47, 0xac, + 0xfb, 0x93, 0x42, 0xce, 0xb7, 0x30, 0x01, 0xef, 0x2a, 0x3d, 0x67, 0x18, 0x30, 0x12, 0x9c, 0xf0, + 0x38, 0x3f, 0x63, 0x78, 0x19, 0x56, 0x50, 0xe4, 0x6a, 0x6e, 0xcf, 0x85, 0xfc, 0xd4, 0x8f, 0xb9, + 0x4d, 0xcd, 0x9b, 0x2f, 0x48, 0x6a, 0x08, 0x32, 0x5c, 0xa0, 0x57, 0x35, 0xa1, 0xbc, 0x38, 0xb8, + 0x50, 0x3e, 0x9e, 0x2d, 0x90, 0xa3, 0x05, 0x98, 0xda, 0x75, 0x7d, 0x96, 0xca, 0xdf, 0x64, 0x45, + 0x55, 0x14, 0x90, 0x55, 0x13, 0x8c, 0xd3, 0xf8, 0x73, 0xaf, 0xc2, 0xc4, 0xc3, 0xab, 0x23, 0xbf, + 0x51, 0x84, 0xc7, 0x7b, 0x6c, 0x7b, 0x7e, 0xd6, 0x1b, 0x73, 0xa0, 0x9d, 0xf5, 0x5d, 0xf3, 0x50, + 0x87, 0xb3, 0x9b, 0x1d, 0xcf, 0xdb, 0x67, 0xf6, 0x9f, 0xa4, 0x25, 0x31, 0x04, 0xaf, 0xf8, 0x84, + 0xcc, 0x44, 0xb1, 0x92, 0x81, 0x83, 0x33, 0x6b, 0xa2, 0x37, 0x00, 0x05, 0x22, 0xef, 0xec, 0x0d, + 0xe2, 0x0b, 0xbd, 0x3c, 0x1b, 0xf8, 0x62, 0xb2, 0x19, 0xef, 0x74, 0x61, 0xe0, 0x8c, 0x5a, 0x94, + 0xe9, 0xa7, 0xb7, 0xd2, 0xbe, 0xea, 0x56, 0x8a, 0xe9, 0xc7, 0x3a, 0x10, 0x9b, 0xb8, 0xe8, 0x06, + 0xcc, 0x38, 0x7b, 0x8e, 0xcb, 0xa3, 0xe3, 0x49, 0x02, 0x9c, 0xeb, 0x57, 0x4a, 0xb0, 0x85, 0x34, + 0x02, 0xee, 0xae, 0x93, 0x72, 0x8c, 0x1e, 0xce, 0x77, 0x8c, 0xee, 0x7d, 0x2e, 0xf6, 0xd3, 0xe9, + 0xda, 0xff, 0xde, 0xa2, 0xd7, 0x57, 0x46, 0xee, 0x78, 0x3a, 0x0e, 0x4a, 0x37, 0xa9, 0xf9, 0x28, + 0x9f, 0xd3, 0x2c, 0x3c, 0x12, 0x20, 0x36, 0x71, 0xf9, 0x82, 0x88, 0x12, 0x27, 0x19, 0x83, 0x75, + 0x17, 0x31, 0x0e, 0x14, 0x06, 0xfa, 0x02, 0x8c, 0xb4, 0xdc, 0x3d, 0x37, 0x0a, 0x42, 0xb1, 0x59, + 0x8e, 0xe9, 0x6a, 0x90, 0x9c, 0x83, 0x55, 0x4e, 0x06, 0x4b, 0x7a, 0xf6, 0xf7, 0x17, 0x60, 0x42, + 0xb6, 0xf8, 0x66, 0x27, 0x88, 0x9d, 0x53, 0xb8, 0x96, 0x6f, 0x18, 0xd7, 0xf2, 0x27, 0x7a, 0x05, + 0x7a, 0x60, 0x5d, 0xca, 0xbd, 0x8e, 0xef, 0xa4, 0xae, 0xe3, 0xa7, 0xfb, 0x93, 0xea, 0x7d, 0x0d, + 0xff, 0x13, 0x0b, 0x66, 0x0c, 0xfc, 0x53, 0xb8, 0x0d, 0x56, 0xcc, 0xdb, 0xe0, 0xc9, 0xbe, 0xdf, + 0x90, 0x73, 0x0b, 0x7c, 0x4f, 0x31, 0xd5, 0x77, 0x76, 0xfa, 0xbf, 0x07, 0xa5, 0x6d, 0x27, 0x6c, + 0xf5, 0x0a, 0x28, 0xdb, 0x55, 0x69, 0xfe, 0xa6, 0x13, 0xb6, 0xf8, 0x19, 0xfe, 0x9c, 0xca, 0x56, + 0xe9, 0x84, 0xad, 0xbe, 0x3e, 0x61, 0xac, 0x29, 0xf4, 0x0a, 0x0c, 0x47, 0xcd, 0xa0, 0xad, 0x2c, + 0x36, 0x2f, 0xf3, 0x4c, 0x96, 0xb4, 0xe4, 0xe8, 0xa0, 0x82, 0xcc, 0xe6, 0x68, 0x31, 0x16, 0xf8, + 0xe8, 0x6d, 0x98, 0x60, 0xbf, 0x94, 0xe5, 0x42, 0x31, 0x3f, 0x8d, 0x41, 0x43, 0x47, 0xe4, 0x06, + 0x30, 0x46, 0x11, 0x36, 0x49, 0xcd, 0x6d, 0x41, 0x59, 0x7d, 0xd6, 0x23, 0xf5, 0xe5, 0xf9, 0x37, + 0x45, 0x38, 0x93, 0xb1, 0xe6, 0x50, 0x64, 0xcc, 0xc4, 0x0b, 0x03, 0x2e, 0xd5, 0x0f, 0x38, 0x17, + 0x11, 0x93, 0x86, 0x5a, 0x62, 0x6d, 0x0d, 0xdc, 0xe8, 0xdd, 0x88, 0xa4, 0x1b, 0xa5, 0x45, 0xfd, + 0x1b, 0xa5, 0x8d, 0x9d, 0xda, 0x50, 0xd3, 0x86, 0x54, 0x4f, 0x1f, 0xe9, 0x9c, 0xfe, 0x61, 0x11, + 0xce, 0x66, 0xc5, 0x9e, 0x41, 0xdf, 0x99, 0x4a, 0x69, 0xf3, 0xd2, 0xa0, 0x51, 0x6b, 0x78, 0x9e, + 0x1b, 0x91, 0xa0, 0x79, 0xde, 0x4c, 0x72, 0xd3, 0x77, 0x98, 0x45, 0x9b, 0xcc, 0x01, 0x34, 0xe4, + 0xa9, 0x88, 0xe4, 0xf1, 0xf1, 0xe9, 0x81, 0x3b, 0x20, 0x72, 0x18, 0x45, 0x29, 0x07, 0x50, 0x59, + 0xdc, 0xdf, 0x01, 0x54, 0xb6, 0x3c, 0xe7, 0xc2, 0x98, 0xf6, 0x35, 0x8f, 0x74, 0xc6, 0x77, 0xe8, + 0x6d, 0xa5, 0xf5, 0xfb, 0x91, 0xce, 0xfa, 0x8f, 0x58, 0x90, 0x32, 0x8f, 0x54, 0xea, 0x2e, 0x2b, + 0x57, 0xdd, 0x75, 0x19, 0x4a, 0x61, 0xe0, 0x91, 0x74, 0x06, 0x19, 0x1c, 0x78, 0x04, 0x33, 0x08, + 0xc5, 0x88, 0x13, 0x65, 0xc7, 0xb8, 0x2e, 0xc8, 0x09, 0x11, 0xed, 0x29, 0x18, 0xf2, 0xc8, 0x1e, + 0xf1, 0xd2, 0xe1, 0xd9, 0x6f, 0xd3, 0x42, 0xcc, 0x61, 0xf6, 0x2f, 0x94, 0xe0, 0x62, 0x4f, 0x17, + 0x6a, 0x2a, 0x0e, 0x6d, 0x39, 0x31, 0xb9, 0xef, 0xec, 0xa7, 0xe3, 0x28, 0xdf, 0xe0, 0xc5, 0x58, + 0xc2, 0x99, 0xc5, 0x38, 0x8f, 0x9b, 0x98, 0x52, 0x0e, 0x8a, 0x70, 0x89, 0x02, 0xfa, 0x08, 0x92, + 0xd3, 0x5f, 0x07, 0x88, 0x22, 0x6f, 0xd9, 0xa7, 0xdc, 0x5d, 0x4b, 0x98, 0xa2, 0x27, 0xf1, 0x35, + 0x1b, 0xb7, 0x05, 0x04, 0x6b, 0x58, 0xa8, 0x0a, 0xd3, 0xed, 0x30, 0x88, 0xb9, 0xae, 0xb5, 0xca, + 0x0d, 0x85, 0x86, 0x4c, 0xef, 0xd5, 0x7a, 0x0a, 0x8e, 0xbb, 0x6a, 0xa0, 0x97, 0x61, 0x4c, 0x78, + 0xb4, 0xd6, 0x83, 0xc0, 0x13, 0x6a, 0x20, 0x65, 0x76, 0xd2, 0x48, 0x40, 0x58, 0xc7, 0xd3, 0xaa, + 0x31, 0x05, 0xee, 0x48, 0x66, 0x35, 0xae, 0xc4, 0xd5, 0xf0, 0x52, 0x71, 0xa8, 0x46, 0x07, 0x8a, + 0x43, 0x95, 0x28, 0xc6, 0xca, 0x03, 0xbf, 0x59, 0x41, 0x5f, 0x55, 0xd2, 0xcf, 0x96, 0xe0, 0x8c, + 0x58, 0x38, 0x8f, 0x7a, 0xb9, 0x3c, 0xa2, 0x14, 0xfa, 0xdf, 0x5c, 0x33, 0xa7, 0xbd, 0x66, 0x7e, + 0xc0, 0x02, 0x93, 0xbd, 0x42, 0xff, 0x5f, 0x6e, 0x20, 0xfa, 0x97, 0x73, 0xd9, 0xb5, 0x96, 0xbc, + 0x40, 0x3e, 0x60, 0x48, 0x7a, 0xfb, 0xdf, 0x59, 0xf0, 0x64, 0x5f, 0x8a, 0x68, 0x19, 0xca, 0x8c, + 0x07, 0xd4, 0xa4, 0xb3, 0xa7, 0x95, 0x21, 0xa1, 0x04, 0xe4, 0xb0, 0xa4, 0x49, 0x4d, 0xb4, 0xdc, + 0x15, 0xf1, 0xff, 0x99, 0x8c, 0x88, 0xff, 0xe7, 0x8c, 0xe1, 0x79, 0xc8, 0x90, 0xff, 0xbf, 0x5c, + 0x84, 0x61, 0xbe, 0xe2, 0x4f, 0x41, 0x0c, 0x5b, 0x11, 0x7a, 0xdb, 0x1e, 0x91, 0xa8, 0x78, 0x5f, + 0xe6, 0xab, 0x4e, 0xec, 0x70, 0x36, 0x41, 0xdd, 0x56, 0x89, 0x86, 0x17, 0xcd, 0x1b, 0xf7, 0xd9, + 0x5c, 0x4a, 0x31, 0x09, 0x9c, 0x86, 0x76, 0xbb, 0x7d, 0x09, 0x20, 0x62, 0xd9, 0xf2, 0x29, 0x0d, + 0x11, 0xd3, 0xec, 0x93, 0x3d, 0x5a, 0x6f, 0x28, 0x64, 0xde, 0x87, 0x64, 0xa7, 0x2b, 0x00, 0xd6, + 0x28, 0xce, 0x7d, 0x06, 0xca, 0x0a, 0xb9, 0x9f, 0x16, 0x67, 0x5c, 0x67, 0x2e, 0x3e, 0x07, 0x53, + 0xa9, 0xb6, 0x8e, 0xa5, 0x04, 0xfa, 0x45, 0x0b, 0xa6, 0x78, 0x97, 0x97, 0xfd, 0x3d, 0x71, 0xa6, + 0xbe, 0x0f, 0x67, 0xbd, 0x8c, 0xb3, 0x4d, 0xcc, 0xe8, 0xe0, 0x67, 0xa1, 0x52, 0xfa, 0x64, 0x41, + 0x71, 0x66, 0x1b, 0xe8, 0x2a, 0x5d, 0xb7, 0xf4, 0xec, 0x72, 0x3c, 0xe1, 0x7d, 0x34, 0xce, 0xd7, + 0x2c, 0x2f, 0xc3, 0x0a, 0x6a, 0xff, 0xb6, 0x05, 0x33, 0xbc, 0xe7, 0xb7, 0xc8, 0xbe, 0xda, 0xe1, + 0x1f, 0x66, 0xdf, 0x45, 0x12, 0x8e, 0x42, 0x4e, 0x12, 0x0e, 0xfd, 0xd3, 0x8a, 0x3d, 0x3f, 0xed, + 0x67, 0x2c, 0x10, 0x2b, 0xf0, 0x14, 0x44, 0xf9, 0x6f, 0x35, 0x45, 0xf9, 0xb9, 0xfc, 0x45, 0x9d, + 0x23, 0xc3, 0xff, 0xb1, 0x05, 0xd3, 0x1c, 0x21, 0x79, 0x4b, 0xfe, 0x50, 0xe7, 0x61, 0x90, 0x6c, + 0x7a, 0x2a, 0xc5, 0x76, 0xf6, 0x47, 0x19, 0x93, 0x55, 0xea, 0x39, 0x59, 0x2d, 0xb9, 0x81, 0x8e, + 0x91, 0x49, 0xf2, 0xd8, 0xc1, 0xac, 0xed, 0x3f, 0xb0, 0x00, 0xf1, 0x66, 0x0c, 0xf6, 0x87, 0x32, + 0x15, 0xac, 0x54, 0xbb, 0x2e, 0x92, 0xa3, 0x46, 0x41, 0xb0, 0x86, 0x75, 0x22, 0xc3, 0x93, 0x32, + 0x08, 0x28, 0xf6, 0x37, 0x08, 0x38, 0xc6, 0x88, 0xfe, 0xef, 0x12, 0xa4, 0xdd, 0x01, 0xd0, 0x3d, + 0x18, 0x6f, 0x3a, 0x6d, 0x67, 0xc3, 0xf5, 0xdc, 0xd8, 0x25, 0x51, 0x2f, 0x4b, 0xa2, 0x25, 0x0d, + 0x4f, 0x3c, 0xf5, 0x6a, 0x25, 0xd8, 0xa0, 0x83, 0xe6, 0x01, 0xda, 0xa1, 0xbb, 0xe7, 0x7a, 0x64, + 0x8b, 0x69, 0x1c, 0x98, 0xbf, 0x23, 0x37, 0x8f, 0x91, 0xa5, 0x58, 0xc3, 0xc8, 0x70, 0x5d, 0x2b, + 0x3e, 0x3a, 0xd7, 0xb5, 0xd2, 0x31, 0x5d, 0xd7, 0x86, 0x06, 0x72, 0x5d, 0xc3, 0x70, 0x5e, 0xb2, + 0x48, 0xf4, 0xff, 0x8a, 0xeb, 0x11, 0xc1, 0x17, 0x73, 0x2f, 0xc8, 0xb9, 0xc3, 0x83, 0xca, 0x79, + 0x9c, 0x89, 0x81, 0x73, 0x6a, 0xa2, 0xcf, 0xc3, 0xac, 0xe3, 0x79, 0xc1, 0x7d, 0x35, 0x6a, 0xcb, + 0x51, 0xd3, 0xf1, 0xb8, 0xc6, 0x7e, 0x84, 0x51, 0x7d, 0xe2, 0xf0, 0xa0, 0x32, 0xbb, 0x90, 0x83, + 0x83, 0x73, 0x6b, 0xa7, 0x3c, 0xdf, 0x46, 0xfb, 0x7a, 0xbe, 0xbd, 0x06, 0xe5, 0x76, 0x18, 0x34, + 0x57, 0x35, 0x6f, 0x9c, 0x4b, 0x2c, 0x4f, 0xbd, 0x2c, 0x3c, 0x3a, 0xa8, 0x4c, 0xa8, 0x3f, 0xec, + 0x86, 0x4f, 0x2a, 0xd8, 0x3b, 0x70, 0xa6, 0x41, 0x42, 0x97, 0x65, 0xc0, 0x6c, 0x25, 0x1b, 0x7a, + 0x1d, 0xca, 0x61, 0xea, 0x08, 0x1b, 0x28, 0xb0, 0x92, 0x16, 0xe5, 0x57, 0x1e, 0x59, 0x09, 0x21, + 0xfb, 0x8f, 0x2c, 0x18, 0x11, 0x0e, 0x0d, 0xa7, 0xc0, 0x39, 0x2d, 0x18, 0x0a, 0xec, 0x4a, 0xf6, + 0x31, 0xcf, 0x3a, 0x93, 0xab, 0xba, 0xae, 0xa5, 0x54, 0xd7, 0x4f, 0xf6, 0x22, 0xd2, 0x5b, 0x69, + 0xfd, 0x37, 0x8a, 0x30, 0x69, 0x3a, 0x73, 0x9c, 0xc2, 0x10, 0xac, 0xc1, 0x48, 0x24, 0x3c, 0x87, + 0x0a, 0xf9, 0x96, 0xd3, 0xe9, 0x49, 0x4c, 0xcc, 0xa2, 0x84, 0xaf, 0x90, 0x24, 0x92, 0xe9, 0x92, + 0x54, 0x7c, 0x84, 0x2e, 0x49, 0xfd, 0xfc, 0x69, 0x4a, 0x27, 0xe1, 0x4f, 0x63, 0x7f, 0x8d, 0x5d, + 0x35, 0x7a, 0xf9, 0x29, 0x70, 0x21, 0x37, 0xcc, 0x4b, 0xc9, 0xee, 0xb1, 0xb2, 0x44, 0xa7, 0x72, + 0xb8, 0x91, 0x9f, 0xb7, 0xe0, 0x62, 0xc6, 0x57, 0x69, 0xac, 0xc9, 0x73, 0x30, 0xea, 0x74, 0x5a, + 0xae, 0xda, 0xcb, 0xda, 0x33, 0xd6, 0x82, 0x28, 0xc7, 0x0a, 0x03, 0x2d, 0xc1, 0x0c, 0x79, 0xd0, + 0x76, 0xf9, 0x3b, 0xa2, 0x6e, 0xbb, 0x58, 0xe4, 0x21, 0x66, 0x97, 0xd3, 0x40, 0xdc, 0x8d, 0xaf, + 0xdc, 0xb1, 0x8b, 0xb9, 0xee, 0xd8, 0x7f, 0xdf, 0x82, 0x31, 0xd1, 0xed, 0x53, 0x18, 0xed, 0x6f, + 0x33, 0x47, 0xfb, 0xf1, 0x1e, 0xa3, 0x9d, 0x33, 0xcc, 0x7f, 0xab, 0xa0, 0xfa, 0x5b, 0x0f, 0xc2, + 0x78, 0x00, 0x96, 0xe7, 0x15, 0x18, 0x6d, 0x87, 0x41, 0x1c, 0x34, 0x03, 0x4f, 0x70, 0x3c, 0x4f, + 0x24, 0xd1, 0x02, 0x78, 0xf9, 0x91, 0xf6, 0x1b, 0x2b, 0x6c, 0x36, 0x7a, 0x41, 0x18, 0x0b, 0x2e, + 0x23, 0x19, 0xbd, 0x20, 0x8c, 0x31, 0x83, 0xa0, 0x16, 0x40, 0xec, 0x84, 0x5b, 0x24, 0xa6, 0x65, + 0x22, 0xf0, 0x48, 0xfe, 0xe1, 0xd1, 0x89, 0x5d, 0x6f, 0xde, 0xf5, 0xe3, 0x28, 0x0e, 0xe7, 0x6b, + 0x7e, 0x7c, 0x27, 0xe4, 0x02, 0x94, 0xe6, 0xfe, 0xaf, 0x68, 0x61, 0x8d, 0xae, 0xf4, 0xd1, 0x64, + 0x6d, 0x0c, 0x99, 0x0f, 0xe2, 0x6b, 0xa2, 0x1c, 0x2b, 0x0c, 0xfb, 0x33, 0xec, 0x2a, 0x61, 0x03, + 0x74, 0x3c, 0xcf, 0xfc, 0xaf, 0x8f, 0xaa, 0xa1, 0x65, 0xaf, 0x61, 0x55, 0xdd, 0xff, 0xbf, 0xf7, + 0xc9, 0x4d, 0x1b, 0xd6, 0xfd, 0x68, 0x92, 0x20, 0x01, 0xe8, 0xdb, 0xbb, 0xec, 0x24, 0x9e, 0xef, + 0x73, 0x05, 0x1c, 0xc3, 0x32, 0x82, 0x85, 0xbd, 0x66, 0xe1, 0x81, 0x6b, 0x75, 0xb1, 0xc8, 0xb5, + 0xb0, 0xd7, 0x02, 0x80, 0x13, 0x1c, 0x74, 0x4d, 0x88, 0xdf, 0x25, 0x23, 0xf9, 0x9d, 0x14, 0xbf, + 0xe5, 0xe7, 0x6b, 0xf2, 0xf7, 0x0b, 0x30, 0xa6, 0x92, 0xe0, 0xd5, 0x79, 0x2e, 0x31, 0x11, 0x86, + 0x65, 0x39, 0x29, 0xc6, 0x3a, 0x0e, 0x5a, 0x87, 0xa9, 0x88, 0xeb, 0x5e, 0x54, 0xb4, 0x3d, 0xae, + 0xc3, 0xfa, 0xa4, 0xb4, 0xaf, 0x68, 0x98, 0xe0, 0x23, 0x56, 0xc4, 0x8f, 0x0e, 0xe9, 0x68, 0x99, + 0x26, 0x81, 0x5e, 0x87, 0x49, 0x4f, 0x4f, 0x37, 0x5f, 0x17, 0x2a, 0x2e, 0x65, 0x7e, 0x6c, 0x24, + 0xa3, 0xaf, 0xe3, 0x14, 0x36, 0xe5, 0x94, 0xf4, 0x12, 0x11, 0x21, 0xd2, 0xf1, 0xb7, 0x48, 0x24, + 0x52, 0x78, 0x31, 0x4e, 0xe9, 0x76, 0x0e, 0x0e, 0xce, 0xad, 0x8d, 0x5e, 0x81, 0x71, 0xf9, 0xf9, + 0x9a, 0x1b, 0x71, 0x62, 0xe4, 0xae, 0xc1, 0xb0, 0x81, 0x89, 0xee, 0xc3, 0x39, 0xf9, 0x7f, 0x3d, + 0x74, 0x36, 0x37, 0xdd, 0xa6, 0xf0, 0xe2, 0xe6, 0x9e, 0x3e, 0x0b, 0xd2, 0x75, 0x68, 0x39, 0x0b, + 0xe9, 0xe8, 0xa0, 0x72, 0x59, 0x8c, 0x5a, 0x26, 0x9c, 0x4d, 0x62, 0x36, 0x7d, 0xb4, 0x0a, 0x67, + 0xb6, 0x89, 0xe3, 0xc5, 0xdb, 0x4b, 0xdb, 0xa4, 0xb9, 0x23, 0x37, 0x11, 0x73, 0x4e, 0xd6, 0x4c, + 0xc3, 0x6f, 0x76, 0xa3, 0xe0, 0xac, 0x7a, 0xe8, 0x1d, 0x98, 0x6d, 0x77, 0x36, 0x3c, 0x37, 0xda, + 0x5e, 0x0b, 0x62, 0x66, 0xd2, 0xa1, 0x72, 0xc8, 0x09, 0x2f, 0x66, 0xe5, 0x98, 0x5d, 0xcf, 0xc1, + 0xc3, 0xb9, 0x14, 0xd0, 0xfb, 0x70, 0x2e, 0xb5, 0x18, 0x84, 0x4f, 0xe5, 0x64, 0x7e, 0xbc, 0xdd, + 0x46, 0x56, 0x05, 0xe1, 0x23, 0x99, 0x05, 0xc2, 0xd9, 0x4d, 0x7c, 0x30, 0x43, 0x9f, 0xf7, 0x68, + 0x65, 0x8d, 0x29, 0x43, 0x5f, 0x86, 0x71, 0x7d, 0x15, 0x89, 0x0b, 0xe6, 0x4a, 0x36, 0xcf, 0xa2, + 0xad, 0x36, 0xce, 0xd2, 0xa9, 0x15, 0xa5, 0xc3, 0xb0, 0x41, 0xd1, 0x26, 0x90, 0xfd, 0x7d, 0xe8, + 0x36, 0x8c, 0x36, 0x3d, 0x97, 0xf8, 0x71, 0xad, 0xde, 0x2b, 0xe8, 0xc7, 0x92, 0xc0, 0x11, 0x03, + 0x26, 0x02, 0x94, 0xf2, 0x32, 0xac, 0x28, 0xd8, 0xbf, 0x56, 0x80, 0x4a, 0x9f, 0x68, 0xb7, 0x29, + 0x7d, 0xb4, 0x35, 0x90, 0x3e, 0x7a, 0x41, 0x66, 0xc4, 0x5b, 0x4b, 0x09, 0xe9, 0xa9, 0x6c, 0x77, + 0x89, 0xa8, 0x9e, 0xc6, 0x1f, 0xd8, 0x3e, 0x58, 0x57, 0x69, 0x97, 0xfa, 0x5a, 0xae, 0x1b, 0x4f, + 0x59, 0x43, 0x83, 0x0b, 0x22, 0xb9, 0xcf, 0x12, 0xf6, 0xd7, 0x0a, 0x70, 0x4e, 0x0d, 0xe1, 0x9f, + 0xdd, 0x81, 0xbb, 0xdb, 0x3d, 0x70, 0x27, 0xf0, 0xa8, 0x63, 0xdf, 0x81, 0x61, 0x1e, 0x34, 0x65, + 0x00, 0x06, 0xe8, 0x29, 0x33, 0xc2, 0x96, 0xba, 0xa6, 0x8d, 0x28, 0x5b, 0x7f, 0xc1, 0x82, 0xa9, + 0xf5, 0xa5, 0x7a, 0x23, 0x68, 0xee, 0x90, 0x78, 0x81, 0x33, 0xac, 0x58, 0xf0, 0x3f, 0xd6, 0x43, + 0xf2, 0x35, 0x59, 0x1c, 0xd3, 0x65, 0x28, 0x6d, 0x07, 0x51, 0x9c, 0x7e, 0xf1, 0xbd, 0x19, 0x44, + 0x31, 0x66, 0x10, 0xfb, 0x77, 0x2c, 0x18, 0x62, 0x79, 0x5c, 0xfb, 0x25, 0x17, 0x1e, 0xe4, 0xbb, + 0xd0, 0xcb, 0x30, 0x4c, 0x36, 0x37, 0x49, 0x33, 0x16, 0xb3, 0x2a, 0xdd, 0x51, 0x87, 0x97, 0x59, + 0x29, 0xbd, 0xf4, 0x59, 0x63, 0xfc, 0x2f, 0x16, 0xc8, 0xe8, 0x2d, 0x28, 0xc7, 0xee, 0x2e, 0x59, + 0x68, 0xb5, 0xc4, 0x9b, 0xd9, 0x43, 0x78, 0xff, 0xae, 0x4b, 0x02, 0x38, 0xa1, 0x65, 0x7f, 0xb5, + 0x00, 0x90, 0xb8, 0xfe, 0xf7, 0xfb, 0xc4, 0xc5, 0xae, 0xd7, 0x94, 0x2b, 0x19, 0xaf, 0x29, 0x28, + 0x21, 0x98, 0xf1, 0x94, 0xa2, 0x86, 0xa9, 0x38, 0xd0, 0x30, 0x95, 0x8e, 0x33, 0x4c, 0x4b, 0x30, + 0x93, 0x84, 0x2e, 0x30, 0xe3, 0xb8, 0x30, 0x21, 0x65, 0x3d, 0x0d, 0xc4, 0xdd, 0xf8, 0x36, 0x81, + 0xcb, 0x32, 0xa2, 0xa6, 0xbc, 0x6b, 0x98, 0x49, 0xe6, 0x31, 0xf2, 0x4c, 0x27, 0xcf, 0x45, 0x85, + 0xdc, 0xe7, 0xa2, 0x1f, 0xb7, 0xe0, 0x6c, 0xba, 0x1d, 0xe6, 0xfb, 0xf6, 0x7d, 0x16, 0x9c, 0x63, + 0x8f, 0x66, 0xac, 0xd5, 0xee, 0x27, 0xba, 0x97, 0xb2, 0x43, 0x3a, 0xf4, 0xee, 0x71, 0xe2, 0xf7, + 0xbc, 0x9a, 0x45, 0x1a, 0x67, 0xb7, 0x68, 0xff, 0x65, 0x0b, 0x2e, 0xe4, 0xa6, 0x0f, 0x62, 0x12, + 0x64, 0xdb, 0xe5, 0x1a, 0xa9, 0xb4, 0x04, 0x59, 0xaf, 0x71, 0x9d, 0x94, 0xc2, 0x50, 0xa9, 0x0d, + 0x0b, 0xb9, 0xa9, 0x0d, 0xfb, 0x66, 0x2a, 0xb4, 0xbf, 0xd7, 0x02, 0xe1, 0xf2, 0x34, 0xc0, 0x41, + 0xf3, 0xb6, 0xcc, 0x0c, 0x6b, 0x04, 0x34, 0xbf, 0x9c, 0xef, 0x03, 0x26, 0xc2, 0x98, 0xab, 0x8b, + 0xdd, 0x08, 0x5e, 0x6e, 0xd0, 0xb2, 0x5b, 0x20, 0xa0, 0x55, 0xc2, 0xf4, 0x56, 0xfd, 0x7b, 0x73, + 0x1d, 0xa0, 0xc5, 0x70, 0xb5, 0xfc, 0x90, 0xea, 0x1a, 0xa9, 0x2a, 0x08, 0xd6, 0xb0, 0xec, 0x1f, + 0x2c, 0xc0, 0x98, 0x0c, 0xa0, 0xdd, 0xf1, 0x07, 0x91, 0x2e, 0x8f, 0x95, 0x47, 0x87, 0x25, 0x54, + 0xa5, 0x84, 0xeb, 0x89, 0x50, 0x9e, 0x24, 0x54, 0x95, 0x00, 0x9c, 0xe0, 0xa0, 0x67, 0x60, 0x24, + 0xea, 0x6c, 0x30, 0xf4, 0x94, 0x23, 0x4f, 0x83, 0x17, 0x63, 0x09, 0x47, 0x9f, 0x87, 0x69, 0x5e, + 0x2f, 0x0c, 0xda, 0xce, 0x16, 0x57, 0x81, 0x0e, 0x29, 0xcf, 0xda, 0xe9, 0xd5, 0x14, 0xec, 0xe8, + 0xa0, 0x72, 0x36, 0x5d, 0xc6, 0x94, 0xe7, 0x5d, 0x54, 0xec, 0x2f, 0x03, 0xea, 0x8e, 0x09, 0x8e, + 0xde, 0xe0, 0xe6, 0x54, 0x6e, 0x48, 0x5a, 0xbd, 0xb4, 0xe2, 0xba, 0x23, 0xa8, 0x34, 0xa6, 0xe7, + 0xb5, 0xb0, 0xaa, 0x6f, 0xff, 0x95, 0x22, 0x4c, 0xa7, 0xdd, 0x02, 0xd1, 0x4d, 0x18, 0xe6, 0x17, + 0x9e, 0x20, 0xdf, 0xe3, 0xd1, 0x55, 0x73, 0x26, 0x64, 0x5b, 0x5f, 0xdc, 0x99, 0xa2, 0x3e, 0x7a, + 0x07, 0xc6, 0x5a, 0xc1, 0x7d, 0xff, 0xbe, 0x13, 0xb6, 0x16, 0xea, 0x35, 0xb1, 0x2e, 0x33, 0xf9, + 0xe6, 0x6a, 0x82, 0xa6, 0x3b, 0x28, 0xb2, 0x07, 0x86, 0x04, 0x84, 0x75, 0x72, 0x68, 0x9d, 0xc5, + 0x39, 0xdc, 0x74, 0xb7, 0x56, 0x9d, 0x76, 0x2f, 0xdb, 0xda, 0x25, 0x89, 0xa4, 0x51, 0x9e, 0x10, + 0xc1, 0x10, 0x39, 0x00, 0x27, 0x84, 0xd0, 0x77, 0xc2, 0x99, 0x28, 0x47, 0xd5, 0x96, 0x97, 0x22, + 0xa2, 0x97, 0xf6, 0x69, 0xf1, 0x31, 0x2a, 0xd1, 0x64, 0x29, 0xe5, 0xb2, 0x9a, 0xb1, 0xbf, 0x72, + 0x06, 0x8c, 0xdd, 0x68, 0xe4, 0x09, 0xb2, 0x4e, 0x28, 0x4f, 0x10, 0x86, 0x51, 0xb2, 0xdb, 0x8e, + 0xf7, 0xab, 0x6e, 0xd8, 0x2b, 0x8f, 0xdd, 0xb2, 0xc0, 0xe9, 0xa6, 0x29, 0x21, 0x58, 0xd1, 0xc9, + 0x4e, 0xe6, 0x54, 0xfc, 0x10, 0x93, 0x39, 0x95, 0x4e, 0x31, 0x99, 0xd3, 0x1a, 0x8c, 0x6c, 0xb9, + 0x31, 0x26, 0xed, 0x40, 0xb0, 0x9a, 0x99, 0xeb, 0xf0, 0x06, 0x47, 0xe9, 0x4e, 0x20, 0x22, 0x00, + 0x58, 0x12, 0x41, 0x6f, 0xa8, 0x1d, 0x38, 0x9c, 0x2f, 0xa9, 0x75, 0xbf, 0x0e, 0x66, 0xee, 0x41, + 0x91, 0xbc, 0x69, 0xe4, 0x61, 0x93, 0x37, 0xad, 0xc8, 0x94, 0x4b, 0xa3, 0xf9, 0x86, 0xf0, 0x2c, + 0xa3, 0x52, 0x9f, 0x44, 0x4b, 0x46, 0x72, 0xaa, 0xf2, 0xc9, 0x25, 0xa7, 0xfa, 0x5e, 0x0b, 0xce, + 0xb5, 0xb3, 0xf2, 0xb4, 0x89, 0x44, 0x49, 0x2f, 0x0f, 0x9c, 0x88, 0xce, 0x68, 0x90, 0x89, 0xec, + 0x99, 0x68, 0x38, 0xbb, 0x39, 0x3a, 0xd0, 0xe1, 0x46, 0x4b, 0x64, 0x57, 0x7a, 0x2a, 0x27, 0xcb, + 0x55, 0x8f, 0xdc, 0x56, 0xeb, 0x19, 0x19, 0x95, 0x3e, 0x9e, 0x97, 0x51, 0x69, 0xe0, 0x3c, 0x4a, + 0x6f, 0xa8, 0xfc, 0x56, 0x13, 0xf9, 0x4b, 0x89, 0x67, 0xaf, 0xea, 0x9b, 0xd5, 0xea, 0x0d, 0x95, + 0xd5, 0xaa, 0x47, 0xbc, 0x37, 0x9e, 0xb3, 0xaa, 0x6f, 0x2e, 0x2b, 0x2d, 0x1f, 0xd5, 0xd4, 0xc9, + 0xe4, 0xa3, 0x32, 0xae, 0x1a, 0x9e, 0x12, 0xe9, 0xd9, 0x3e, 0x57, 0x8d, 0x41, 0xb7, 0xf7, 0x65, + 0xc3, 0x73, 0x6f, 0xcd, 0x3c, 0x54, 0xee, 0xad, 0x7b, 0x7a, 0x2e, 0x2b, 0xd4, 0x27, 0x59, 0x13, + 0x45, 0x1a, 0x30, 0x83, 0xd5, 0x3d, 0xfd, 0x02, 0x3c, 0x93, 0x4f, 0x57, 0xdd, 0x73, 0xdd, 0x74, + 0x33, 0xaf, 0xc0, 0xae, 0xcc, 0x58, 0x67, 0x4f, 0x27, 0x33, 0xd6, 0xb9, 0x13, 0xcf, 0x8c, 0x75, + 0xfe, 0x14, 0x32, 0x63, 0x3d, 0xf6, 0xa1, 0x66, 0xc6, 0x9a, 0x7d, 0x04, 0x99, 0xb1, 0xd6, 0x92, + 0xcc, 0x58, 0x17, 0xf2, 0xa7, 0x24, 0xc3, 0x3a, 0x37, 0x27, 0x1f, 0xd6, 0x3d, 0xf6, 0x44, 0xcf, + 0xe3, 0x56, 0x88, 0x80, 0x74, 0xd9, 0xb9, 0x7f, 0xb3, 0x82, 0x5b, 0xf0, 0x29, 0x51, 0x20, 0x9c, + 0x90, 0xa2, 0x74, 0x93, 0xfc, 0x58, 0x8f, 0xf7, 0x50, 0xca, 0x66, 0xa9, 0xbb, 0xf2, 0xb3, 0x62, + 0xd9, 0x7f, 0xb1, 0x00, 0x97, 0x7a, 0xaf, 0xeb, 0x44, 0x57, 0x56, 0x4f, 0xde, 0x76, 0x52, 0xba, + 0x32, 0x2e, 0xe4, 0x24, 0x58, 0x03, 0x07, 0xf7, 0xb9, 0x01, 0x33, 0xca, 0x2c, 0xd7, 0x73, 0x9b, + 0xfb, 0x5a, 0x4e, 0x60, 0xe5, 0x7e, 0xd8, 0x48, 0x23, 0xe0, 0xee, 0x3a, 0x68, 0x01, 0xa6, 0x8c, + 0xc2, 0x5a, 0x55, 0x08, 0x33, 0x4a, 0x39, 0xd7, 0x30, 0xc1, 0x38, 0x8d, 0x6f, 0xff, 0xb4, 0x05, + 0x8f, 0xe5, 0x24, 0x8d, 0x18, 0x38, 0x76, 0xcd, 0x26, 0x4c, 0xb5, 0xcd, 0xaa, 0x7d, 0x42, 0x5c, + 0x19, 0xa9, 0x29, 0x54, 0x5f, 0x53, 0x00, 0x9c, 0x26, 0xba, 0x78, 0xf5, 0x37, 0x7f, 0xef, 0xd2, + 0xc7, 0x7e, 0xeb, 0xf7, 0x2e, 0x7d, 0xec, 0xb7, 0x7f, 0xef, 0xd2, 0xc7, 0xfe, 0xff, 0xc3, 0x4b, + 0xd6, 0x6f, 0x1e, 0x5e, 0xb2, 0x7e, 0xeb, 0xf0, 0x92, 0xf5, 0xdb, 0x87, 0x97, 0xac, 0xdf, 0x3d, + 0xbc, 0x64, 0x7d, 0xf5, 0xf7, 0x2f, 0x7d, 0xec, 0xed, 0xc2, 0xde, 0x0b, 0xff, 0x2f, 0x00, 0x00, + 0xff, 0xff, 0xae, 0x44, 0xd1, 0x00, 0x11, 0xe7, 0x00, 0x00, } diff --git a/vendor/k8s.io/api/core/v1/generated.proto b/vendor/k8s.io/api/core/v1/generated.proto index e95709673..792c19a2d 100644 --- a/vendor/k8s.io/api/core/v1/generated.proto +++ b/vendor/k8s.io/api/core/v1/generated.proto @@ -1724,10 +1724,14 @@ message LocalObjectReference { message LocalVolumeSource { // The full path to the volume on the node. // It can be either a directory or block device (disk, partition, ...). - // Directories can be represented only by PersistentVolume with VolumeMode=Filesystem. - // Block devices can be represented only by VolumeMode=Block, which also requires the - // BlockVolume alpha feature gate to be enabled. optional string path = 1; + + // Filesystem type to mount. + // It applies only when the Path is a block device. + // Must be a filesystem type supported by the host operating system. + // Ex. "ext4", "xfs", "ntfs". The default value is to auto-select a fileystem if unspecified. + // +optional + optional string fsType = 2; } // Represents an NFS mount that lasts the lifetime of a pod. diff --git a/vendor/k8s.io/api/core/v1/types.go b/vendor/k8s.io/api/core/v1/types.go index 893e0fdc7..a316657dc 100644 --- a/vendor/k8s.io/api/core/v1/types.go +++ b/vendor/k8s.io/api/core/v1/types.go @@ -1601,10 +1601,14 @@ type KeyToPath struct { type LocalVolumeSource struct { // The full path to the volume on the node. // It can be either a directory or block device (disk, partition, ...). - // Directories can be represented only by PersistentVolume with VolumeMode=Filesystem. - // Block devices can be represented only by VolumeMode=Block, which also requires the - // BlockVolume alpha feature gate to be enabled. Path string `json:"path" protobuf:"bytes,1,opt,name=path"` + + // Filesystem type to mount. + // It applies only when the Path is a block device. + // Must be a filesystem type supported by the host operating system. + // Ex. "ext4", "xfs", "ntfs". The default value is to auto-select a fileystem if unspecified. + // +optional + FSType *string `json:"fsType,omitempty" protobuf:"bytes,2,opt,name=fsType"` } // Represents storage that is managed by an external CSI volume driver (Beta feature) diff --git a/vendor/k8s.io/api/core/v1/types_swagger_doc_generated.go b/vendor/k8s.io/api/core/v1/types_swagger_doc_generated.go index 68c8441d8..821f3d3ca 100644 --- a/vendor/k8s.io/api/core/v1/types_swagger_doc_generated.go +++ b/vendor/k8s.io/api/core/v1/types_swagger_doc_generated.go @@ -891,8 +891,9 @@ func (LocalObjectReference) SwaggerDoc() map[string]string { } var map_LocalVolumeSource = map[string]string{ - "": "Local represents directly-attached storage with node affinity (Beta feature)", - "path": "The full path to the volume on the node. It can be either a directory or block device (disk, partition, ...). Directories can be represented only by PersistentVolume with VolumeMode=Filesystem. Block devices can be represented only by VolumeMode=Block, which also requires the BlockVolume alpha feature gate to be enabled.", + "": "Local represents directly-attached storage with node affinity (Beta feature)", + "path": "The full path to the volume on the node. It can be either a directory or block device (disk, partition, ...).", + "fsType": "Filesystem type to mount. It applies only when the Path is a block device. Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\", \"ntfs\". The default value is to auto-select a fileystem if unspecified.", } func (LocalVolumeSource) SwaggerDoc() map[string]string { diff --git a/vendor/k8s.io/api/core/v1/zz_generated.deepcopy.go b/vendor/k8s.io/api/core/v1/zz_generated.deepcopy.go index c01ad7562..0c5db3547 100644 --- a/vendor/k8s.io/api/core/v1/zz_generated.deepcopy.go +++ b/vendor/k8s.io/api/core/v1/zz_generated.deepcopy.go @@ -1957,6 +1957,11 @@ func (in *LocalObjectReference) DeepCopy() *LocalObjectReference { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *LocalVolumeSource) DeepCopyInto(out *LocalVolumeSource) { *out = *in + if in.FSType != nil { + in, out := &in.FSType, &out.FSType + *out = new(string) + **out = **in + } return } @@ -2882,7 +2887,7 @@ func (in *PersistentVolumeSource) DeepCopyInto(out *PersistentVolumeSource) { if in.Local != nil { in, out := &in.Local, &out.Local *out = new(LocalVolumeSource) - **out = **in + (*in).DeepCopyInto(*out) } if in.StorageOS != nil { in, out := &in.StorageOS, &out.StorageOS diff --git a/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto b/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto index 8d101a7ce..eb3237f2b 100644 --- a/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto +++ b/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto @@ -361,9 +361,10 @@ message ListMeta { // continue may be set if the user set a limit on the number of items returned, and indicates that // the server has more data available. The value is opaque and may be used to issue another request // to the endpoint that served this list to retrieve the next set of available objects. Continuing a - // list may not be possible if the server configuration has changed or more than a few minutes have - // passed. The resourceVersion field returned when using this continue value will be identical to - // the value in the first response. + // consistent list may not be possible if the server configuration has changed or more than a few + // minutes have passed. The resourceVersion field returned when using this continue value will be + // identical to the value in the first response, unless you have received this token from an error + // message. optional string continue = 3; } @@ -420,14 +421,20 @@ message ListOptions { // result was calculated is returned. optional int64 limit = 7; - // The continue option should be set when retrieving more results from the server. Since this value - // is server defined, clients may only use the continue value from a previous query result with - // identical query parameters (except for the value of continue) and the server may reject a continue - // value it does not recognize. If the specified continue value is no longer valid whether due to - // expiration (generally five to fifteen minutes) or a configuration change on the server the server - // will respond with a 410 ResourceExpired error indicating the client must restart their list without - // the continue field. This field is not supported when watch is true. Clients may start a watch from - // the last resourceVersion value returned by the server and not miss any modifications. + // The continue option should be set when retrieving more results from the server. Since this value is + // server defined, clients may only use the continue value from a previous query result with identical + // query parameters (except for the value of continue) and the server may reject a continue value it + // does not recognize. If the specified continue value is no longer valid whether due to expiration + // (generally five to fifteen minutes) or a configuration change on the server, the server will + // respond with a 410 ResourceExpired error together with a continue token. If the client needs a + // consistent list, it must restart their list without the continue field. Otherwise, the client may + // send another list request with the token received with the 410 error, the server will respond with + // a list starting from the next key, but from the latest snapshot, which is inconsistent from the + // previous list results - objects that are created, modified, or deleted after the first list request + // will be included in the response, as long as their keys are after the "next key". + // + // This field is not supported when watch is true. Clients may start a watch from the last + // resourceVersion value returned by the server and not miss any modifications. optional string continue = 8; } diff --git a/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/types.go b/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/types.go index caaee1b17..4d3a55d71 100644 --- a/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/types.go +++ b/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/types.go @@ -76,9 +76,10 @@ type ListMeta struct { // continue may be set if the user set a limit on the number of items returned, and indicates that // the server has more data available. The value is opaque and may be used to issue another request // to the endpoint that served this list to retrieve the next set of available objects. Continuing a - // list may not be possible if the server configuration has changed or more than a few minutes have - // passed. The resourceVersion field returned when using this continue value will be identical to - // the value in the first response. + // consistent list may not be possible if the server configuration has changed or more than a few + // minutes have passed. The resourceVersion field returned when using this continue value will be + // identical to the value in the first response, unless you have received this token from an error + // message. Continue string `json:"continue,omitempty" protobuf:"bytes,3,opt,name=continue"` } @@ -363,14 +364,20 @@ type ListOptions struct { // updated during a chunked list the version of the object that was present at the time the first list // result was calculated is returned. Limit int64 `json:"limit,omitempty" protobuf:"varint,7,opt,name=limit"` - // The continue option should be set when retrieving more results from the server. Since this value - // is server defined, clients may only use the continue value from a previous query result with - // identical query parameters (except for the value of continue) and the server may reject a continue - // value it does not recognize. If the specified continue value is no longer valid whether due to - // expiration (generally five to fifteen minutes) or a configuration change on the server the server - // will respond with a 410 ResourceExpired error indicating the client must restart their list without - // the continue field. This field is not supported when watch is true. Clients may start a watch from - // the last resourceVersion value returned by the server and not miss any modifications. + // The continue option should be set when retrieving more results from the server. Since this value is + // server defined, clients may only use the continue value from a previous query result with identical + // query parameters (except for the value of continue) and the server may reject a continue value it + // does not recognize. If the specified continue value is no longer valid whether due to expiration + // (generally five to fifteen minutes) or a configuration change on the server, the server will + // respond with a 410 ResourceExpired error together with a continue token. If the client needs a + // consistent list, it must restart their list without the continue field. Otherwise, the client may + // send another list request with the token received with the 410 error, the server will respond with + // a list starting from the next key, but from the latest snapshot, which is inconsistent from the + // previous list results - objects that are created, modified, or deleted after the first list request + // will be included in the response, as long as their keys are after the "next key". + // + // This field is not supported when watch is true. Clients may start a watch from the last + // resourceVersion value returned by the server and not miss any modifications. Continue string `json:"continue,omitempty" protobuf:"bytes,8,opt,name=continue"` } diff --git a/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/types_swagger_doc_generated.go b/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/types_swagger_doc_generated.go index 71b048c7c..35e800f8a 100644 --- a/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/types_swagger_doc_generated.go +++ b/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/types_swagger_doc_generated.go @@ -192,7 +192,7 @@ var map_ListMeta = map[string]string{ "": "ListMeta describes metadata that synthetic resources must have, including lists and various status objects. A resource may have only one of {ObjectMeta, ListMeta}.", "selfLink": "selfLink is a URL representing this object. Populated by the system. Read-only.", "resourceVersion": "String that identifies the server's internal version of this object that can be used by clients to determine when objects have changed. Value must be treated as opaque by clients and passed unmodified back to the server. Populated by the system. Read-only. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency", - "continue": "continue may be set if the user set a limit on the number of items returned, and indicates that the server has more data available. The value is opaque and may be used to issue another request to the endpoint that served this list to retrieve the next set of available objects. Continuing a list may not be possible if the server configuration has changed or more than a few minutes have passed. The resourceVersion field returned when using this continue value will be identical to the value in the first response.", + "continue": "continue may be set if the user set a limit on the number of items returned, and indicates that the server has more data available. The value is opaque and may be used to issue another request to the endpoint that served this list to retrieve the next set of available objects. Continuing a consistent list may not be possible if the server configuration has changed or more than a few minutes have passed. The resourceVersion field returned when using this continue value will be identical to the value in the first response, unless you have received this token from an error message.", } func (ListMeta) SwaggerDoc() map[string]string { @@ -208,7 +208,7 @@ var map_ListOptions = map[string]string{ "resourceVersion": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.", "timeoutSeconds": "Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.", "limit": "limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.\n\nThe server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.", - "continue": "The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server the server will respond with a 410 ResourceExpired error indicating the client must restart their list without the continue field. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.", + "continue": "The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\".\n\nThis field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.", } func (ListOptions) SwaggerDoc() map[string]string { diff --git a/vendor/k8s.io/apimachinery/pkg/util/net/interface.go b/vendor/k8s.io/apimachinery/pkg/util/net/interface.go index 42816bd70..0ab9b3608 100644 --- a/vendor/k8s.io/apimachinery/pkg/util/net/interface.go +++ b/vendor/k8s.io/apimachinery/pkg/util/net/interface.go @@ -53,6 +53,28 @@ type RouteFile struct { parse func(input io.Reader) ([]Route, error) } +// noRoutesError can be returned by ChooseBindAddress() in case of no routes +type noRoutesError struct { + message string +} + +func (e noRoutesError) Error() string { + return e.message +} + +// IsNoRoutesError checks if an error is of type noRoutesError +func IsNoRoutesError(err error) bool { + if err == nil { + return false + } + switch err.(type) { + case noRoutesError: + return true + default: + return false + } +} + var ( v4File = RouteFile{name: ipv4RouteFile, parse: getIPv4DefaultRoutes} v6File = RouteFile{name: ipv6RouteFile, parse: getIPv6DefaultRoutes} @@ -347,7 +369,9 @@ func getAllDefaultRoutes() ([]Route, error) { v6Routes, _ := v6File.extract() routes = append(routes, v6Routes...) if len(routes) == 0 { - return nil, fmt.Errorf("No default routes.") + return nil, noRoutesError{ + message: fmt.Sprintf("no default routes found in %q or %q", v4File.name, v6File.name), + } } return routes, nil } diff --git a/vendor/k8s.io/apimachinery/pkg/util/validation/validation.go b/vendor/k8s.io/apimachinery/pkg/util/validation/validation.go index 7da6a17d9..e0d171542 100644 --- a/vendor/k8s.io/apimachinery/pkg/util/validation/validation.go +++ b/vendor/k8s.io/apimachinery/pkg/util/validation/validation.go @@ -21,6 +21,7 @@ import ( "math" "net" "regexp" + "strconv" "strings" "k8s.io/apimachinery/pkg/util/validation/field" @@ -389,3 +390,18 @@ func hasChDirPrefix(value string) []string { } return errs } + +// IsSocketAddr checks that a string conforms is a valid socket address +// as defined in RFC 789. (e.g 0.0.0.0:10254 or [::]:10254)) +func IsValidSocketAddr(value string) []string { + var errs []string + ip, port, err := net.SplitHostPort(value) + if err != nil { + return append(errs, "must be a valid socket address format, (e.g. 0.0.0.0:10254 or [::]:10254)") + return errs + } + portInt, _ := strconv.Atoi(port) + errs = append(errs, IsValidPortNum(portInt)...) + errs = append(errs, IsValidIP(ip)...) + return errs +} diff --git a/vendor/k8s.io/client-go/rest/config.go b/vendor/k8s.io/client-go/rest/config.go index 6700f5b4c..87e879055 100644 --- a/vendor/k8s.io/client-go/rest/config.go +++ b/vendor/k8s.io/client-go/rest/config.go @@ -30,7 +30,6 @@ import ( "time" "github.com/golang/glog" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" @@ -314,17 +313,23 @@ func DefaultKubernetesUserAgent() string { // running inside a pod running on kubernetes. It will return ErrNotInCluster // if called from a process not running in a kubernetes environment. func InClusterConfig() (*Config, error) { + const ( + tokenFile = "/var/run/secrets/kubernetes.io/serviceaccount/token" + rootCAFile = "/var/run/secrets/kubernetes.io/serviceaccount/ca.crt" + ) host, port := os.Getenv("KUBERNETES_SERVICE_HOST"), os.Getenv("KUBERNETES_SERVICE_PORT") if len(host) == 0 || len(port) == 0 { return nil, ErrNotInCluster } - token, err := ioutil.ReadFile("/var/run/secrets/kubernetes.io/serviceaccount/token") - if err != nil { + ts := newCachedPathTokenSource(tokenFile) + + if _, err := ts.Token(); err != nil { return nil, err } + tlsClientConfig := TLSClientConfig{} - rootCAFile := "/var/run/secrets/kubernetes.io/serviceaccount/ca.crt" + if _, err := certutil.NewPool(rootCAFile); err != nil { glog.Errorf("Expected to load root CA config from %s, but got err: %v", rootCAFile, err) } else { @@ -334,8 +339,8 @@ func InClusterConfig() (*Config, error) { return &Config{ // TODO: switch to using cluster DNS. Host: "https://" + net.JoinHostPort(host, port), - BearerToken: string(token), TLSClientConfig: tlsClientConfig, + WrapTransport: TokenSourceWrapTransport(ts), }, nil } diff --git a/vendor/k8s.io/client-go/rest/token_source.go b/vendor/k8s.io/client-go/rest/token_source.go new file mode 100644 index 000000000..296b2a048 --- /dev/null +++ b/vendor/k8s.io/client-go/rest/token_source.go @@ -0,0 +1,138 @@ +/* +Copyright 2018 The Kubernetes Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package rest + +import ( + "fmt" + "io/ioutil" + "net/http" + "strings" + "sync" + "time" + + "github.com/golang/glog" + "golang.org/x/oauth2" +) + +// TokenSourceWrapTransport returns a WrapTransport that injects bearer tokens +// authentication from an oauth2.TokenSource. +func TokenSourceWrapTransport(ts oauth2.TokenSource) func(http.RoundTripper) http.RoundTripper { + return func(rt http.RoundTripper) http.RoundTripper { + return &tokenSourceTransport{ + base: rt, + ort: &oauth2.Transport{ + Source: ts, + Base: rt, + }, + } + } +} + +func newCachedPathTokenSource(path string) oauth2.TokenSource { + return &cachingTokenSource{ + now: time.Now, + leeway: 1 * time.Minute, + base: &fileTokenSource{ + path: path, + // This period was picked because it is half of the minimum validity + // duration for a token provisioned by they TokenRequest API. This is + // unsophisticated and should induce rotation at a frequency that should + // work with the token volume source. + period: 5 * time.Minute, + }, + } +} + +type tokenSourceTransport struct { + base http.RoundTripper + ort http.RoundTripper +} + +func (tst *tokenSourceTransport) RoundTrip(req *http.Request) (*http.Response, error) { + // This is to allow --token to override other bearer token providers. + if req.Header.Get("Authorization") != "" { + return tst.base.RoundTrip(req) + } + return tst.ort.RoundTrip(req) +} + +type fileTokenSource struct { + path string + period time.Duration +} + +var _ = oauth2.TokenSource(&fileTokenSource{}) + +func (ts *fileTokenSource) Token() (*oauth2.Token, error) { + tokb, err := ioutil.ReadFile(ts.path) + if err != nil { + return nil, fmt.Errorf("failed to read token file %q: %v", ts.path, err) + } + tok := strings.TrimSpace(string(tokb)) + if len(tok) == 0 { + return nil, fmt.Errorf("read empty token from file %q", ts.path) + } + + return &oauth2.Token{ + AccessToken: tok, + Expiry: time.Now().Add(ts.period), + }, nil +} + +type cachingTokenSource struct { + base oauth2.TokenSource + leeway time.Duration + + sync.RWMutex + tok *oauth2.Token + + // for testing + now func() time.Time +} + +var _ = oauth2.TokenSource(&cachingTokenSource{}) + +func (ts *cachingTokenSource) Token() (*oauth2.Token, error) { + now := ts.now() + // fast path + ts.RLock() + tok := ts.tok + ts.RUnlock() + + if tok != nil && tok.Expiry.Add(-1*ts.leeway).After(now) { + return tok, nil + } + + // slow path + ts.Lock() + defer ts.Unlock() + if tok := ts.tok; tok != nil && tok.Expiry.Add(-1*ts.leeway).After(now) { + return tok, nil + } + + tok, err := ts.base.Token() + if err != nil { + if ts.tok == nil { + return nil, err + } + glog.Errorf("Unable to rotate token: %v", err) + return ts.tok, nil + } + + ts.tok = tok + return tok, nil +} diff --git a/vendor/k8s.io/kubernetes/pkg/apis/core/types.go b/vendor/k8s.io/kubernetes/pkg/apis/core/types.go index ca3bfacec..1574a8334 100644 --- a/vendor/k8s.io/kubernetes/pkg/apis/core/types.go +++ b/vendor/k8s.io/kubernetes/pkg/apis/core/types.go @@ -1513,10 +1513,14 @@ type KeyToPath struct { type LocalVolumeSource struct { // The full path to the volume on the node. // It can be either a directory or block device (disk, partition, ...). - // Directories can be represented only by PersistentVolume with VolumeMode=Filesystem. - // Block devices can be represented only by VolumeMode=Block, which also requires the - // BlockVolume alpha feature gate to be enabled. Path string + + // Filesystem type to mount. + // It applies only when the Path is a block device. + // Must be a filesystem type supported by the host operating system. + // Ex. "ext4", "xfs", "ntfs". The default value is to auto-select a fileystem if unspecified. + // +optional + FSType *string } // Represents storage that is managed by an external CSI volume driver (Beta feature) @@ -4616,8 +4620,27 @@ type SecurityContext struct { // the no_new_privs flag will be set on the container process. // +optional AllowPrivilegeEscalation *bool + // ProcMount denotes the type of proc mount to use for the containers. + // The default is DefaultProcMount which uses the container runtime defaults for + // readonly paths and masked paths. + // +optional + ProcMount *ProcMountType } +type ProcMountType string + +const ( + // DefaultProcMount uses the container runtime defaults for readonly and masked + // paths for /proc. Most container runtimes mask certain paths in /proc to avoid + // accidental security exposure of special devices or information. + DefaultProcMount ProcMountType = "Default" + + // UnmaskedProcMount bypasses the default masking behavior of the container + // runtime and ensures the newly created /proc the container stays intact with + // no modifications. + UnmaskedProcMount ProcMountType = "Unmasked" +) + // SELinuxOptions are the labels to be applied to the container. type SELinuxOptions struct { // SELinux user label diff --git a/vendor/k8s.io/kubernetes/pkg/apis/core/zz_generated.deepcopy.go b/vendor/k8s.io/kubernetes/pkg/apis/core/zz_generated.deepcopy.go index 1ec0d1788..08d2045fe 100644 --- a/vendor/k8s.io/kubernetes/pkg/apis/core/zz_generated.deepcopy.go +++ b/vendor/k8s.io/kubernetes/pkg/apis/core/zz_generated.deepcopy.go @@ -1959,6 +1959,11 @@ func (in *LocalObjectReference) DeepCopy() *LocalObjectReference { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *LocalVolumeSource) DeepCopyInto(out *LocalVolumeSource) { *out = *in + if in.FSType != nil { + in, out := &in.FSType, &out.FSType + *out = new(string) + **out = **in + } return } @@ -2884,7 +2889,7 @@ func (in *PersistentVolumeSource) DeepCopyInto(out *PersistentVolumeSource) { if in.Local != nil { in, out := &in.Local, &out.Local *out = new(LocalVolumeSource) - **out = **in + (*in).DeepCopyInto(*out) } if in.StorageOS != nil { in, out := &in.StorageOS, &out.StorageOS @@ -4589,6 +4594,11 @@ func (in *SecurityContext) DeepCopyInto(out *SecurityContext) { *out = new(bool) **out = **in } + if in.ProcMount != nil { + in, out := &in.ProcMount, &out.ProcMount + *out = new(ProcMountType) + **out = **in + } return } diff --git a/vendor/k8s.io/kubernetes/pkg/kubelet/apis/cri/runtime/v1alpha2/api.pb.go b/vendor/k8s.io/kubernetes/pkg/kubelet/apis/cri/runtime/v1alpha2/api.pb.go index 6082f9efc..ca0cb6a91 100644 --- a/vendor/k8s.io/kubernetes/pkg/kubelet/apis/cri/runtime/v1alpha2/api.pb.go +++ b/vendor/k8s.io/kubernetes/pkg/kubelet/apis/cri/runtime/v1alpha2/api.pb.go @@ -26836,299 +26836,300 @@ var ( func init() { proto.RegisterFile("api.proto", fileDescriptorApi) } var fileDescriptorApi = []byte{ - // 4698 bytes of a gzipped FileDescriptorProto + // 4708 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x5c, 0xcd, 0x6f, 0x1b, 0x49, - 0x76, 0x57, 0x93, 0xfa, 0x20, 0x1f, 0x45, 0x89, 0x2a, 0xcb, 0x16, 0x4d, 0xdb, 0xb2, 0xd5, 0x1e, - 0x7f, 0xce, 0x58, 0x1e, 0x6b, 0x76, 0x3d, 0xb1, 0x3d, 0x6b, 0x9b, 0x96, 0x64, 0x9b, 0x59, 0x9b, - 0x52, 0x9a, 0xd2, 0x7c, 0xec, 0x0c, 0xd0, 0xdb, 0x62, 0x97, 0xa8, 0x5e, 0x93, 0x5d, 0x3d, 0xdd, - 0x4d, 0xdb, 0x4a, 0x80, 0x60, 0x81, 0x20, 0x7b, 0x08, 0x10, 0x20, 0xe7, 0x1c, 0x37, 0x87, 0x1c, - 0x72, 0x0b, 0x10, 0xe4, 0x90, 0xd3, 0x06, 0x7b, 0xd8, 0x4b, 0x80, 0x9c, 0x16, 0xf9, 0xb8, 0x64, - 0x26, 0xc9, 0x25, 0x87, 0x20, 0x7f, 0x40, 0x0e, 0x41, 0x7d, 0x35, 0xfb, 0x93, 0x1f, 0x1e, 0xef, - 0xce, 0xe4, 0xa4, 0xae, 0xd7, 0xef, 0xbd, 0x7a, 0xf5, 0xea, 0xf5, 0xab, 0x57, 0xbf, 0x2a, 0x0a, - 0x8a, 0x86, 0x63, 0xad, 0x3b, 0x2e, 0xf1, 0x09, 0xaa, 0xb8, 0x7d, 0xdb, 0xb7, 0x7a, 0x78, 0xfd, - 0xe5, 0x2d, 0xa3, 0xeb, 0x1c, 0x19, 0x1b, 0xb5, 0x1b, 0x1d, 0xcb, 0x3f, 0xea, 0x1f, 0xac, 0xb7, - 0x49, 0xef, 0x66, 0x87, 0x74, 0xc8, 0x4d, 0xc6, 0x78, 0xd0, 0x3f, 0x64, 0x2d, 0xd6, 0x60, 0x4f, - 0x5c, 0x81, 0x7a, 0x1d, 0x16, 0x3e, 0xc6, 0xae, 0x67, 0x11, 0x5b, 0xc3, 0x5f, 0xf6, 0xb1, 0xe7, - 0xa3, 0x2a, 0xcc, 0xbd, 0xe4, 0x94, 0xaa, 0x72, 0x41, 0xb9, 0x5a, 0xd4, 0x64, 0x53, 0xfd, 0x4b, - 0x05, 0x16, 0x03, 0x66, 0xcf, 0x21, 0xb6, 0x87, 0xb3, 0xb9, 0xd1, 0x1a, 0xcc, 0x0b, 0xe3, 0x74, - 0xdb, 0xe8, 0xe1, 0x6a, 0x8e, 0xbd, 0x2e, 0x09, 0x5a, 0xd3, 0xe8, 0x61, 0x74, 0x05, 0x16, 0x25, - 0x8b, 0x54, 0x92, 0x67, 0x5c, 0x0b, 0x82, 0x2c, 0x7a, 0x43, 0xeb, 0x70, 0x42, 0x32, 0x1a, 0x8e, - 0x15, 0x30, 0x4f, 0x33, 0xe6, 0x25, 0xf1, 0xaa, 0xee, 0x58, 0x82, 0x5f, 0xfd, 0x1c, 0x8a, 0x5b, - 0xcd, 0xd6, 0x26, 0xb1, 0x0f, 0xad, 0x0e, 0x35, 0xd1, 0xc3, 0x2e, 0x95, 0xa9, 0x2a, 0x17, 0xf2, - 0xd4, 0x44, 0xd1, 0x44, 0x35, 0x28, 0x78, 0xd8, 0x70, 0xdb, 0x47, 0xd8, 0xab, 0xe6, 0xd8, 0xab, - 0xa0, 0x4d, 0xa5, 0x88, 0xe3, 0x5b, 0xc4, 0xf6, 0xaa, 0x79, 0x2e, 0x25, 0x9a, 0xea, 0xcf, 0x15, - 0x28, 0xed, 0x12, 0xd7, 0x7f, 0x6e, 0x38, 0x8e, 0x65, 0x77, 0xd0, 0x6d, 0x28, 0x30, 0x5f, 0xb6, - 0x49, 0x97, 0xf9, 0x60, 0x61, 0xa3, 0xb6, 0x1e, 0x9f, 0x96, 0xf5, 0x5d, 0xc1, 0xa1, 0x05, 0xbc, - 0xe8, 0x12, 0x2c, 0xb4, 0x89, 0xed, 0x1b, 0x96, 0x8d, 0x5d, 0xdd, 0x21, 0xae, 0xcf, 0x5c, 0x34, - 0xa3, 0x95, 0x03, 0x2a, 0xed, 0x05, 0x9d, 0x81, 0xe2, 0x11, 0xf1, 0x7c, 0xce, 0x91, 0x67, 0x1c, - 0x05, 0x4a, 0x60, 0x2f, 0x57, 0x60, 0x8e, 0xbd, 0xb4, 0x1c, 0xe1, 0x8c, 0x59, 0xda, 0x6c, 0x38, - 0xea, 0xaf, 0x15, 0x98, 0x79, 0x4e, 0xfa, 0xb6, 0x1f, 0xeb, 0xc6, 0xf0, 0x8f, 0xc4, 0x44, 0x85, - 0xba, 0x31, 0xfc, 0xa3, 0x41, 0x37, 0x94, 0x83, 0xcf, 0x15, 0xef, 0x86, 0xbe, 0xac, 0x41, 0xc1, - 0xc5, 0x86, 0x49, 0xec, 0xee, 0x31, 0x33, 0xa1, 0xa0, 0x05, 0x6d, 0x3a, 0x89, 0x1e, 0xee, 0x5a, - 0x76, 0xff, 0xb5, 0xee, 0xe2, 0xae, 0x71, 0x80, 0xbb, 0xcc, 0x94, 0x82, 0xb6, 0x20, 0xc8, 0x1a, - 0xa7, 0xa2, 0x2d, 0x28, 0x39, 0x2e, 0x71, 0x8c, 0x8e, 0x41, 0xfd, 0x58, 0x9d, 0x61, 0xae, 0x52, - 0x93, 0xae, 0x62, 0x66, 0xef, 0x0e, 0x38, 0xb5, 0xb0, 0x98, 0xfa, 0xd7, 0x0a, 0x2c, 0xd2, 0xe0, - 0xf1, 0x1c, 0xa3, 0x8d, 0x77, 0xd8, 0x94, 0xa0, 0x3b, 0x30, 0x67, 0x63, 0xff, 0x15, 0x71, 0x5f, - 0x88, 0x09, 0x38, 0x9f, 0xd4, 0x1a, 0xc8, 0x3c, 0x27, 0x26, 0xd6, 0x24, 0x3f, 0xba, 0x05, 0x79, - 0xc7, 0x32, 0xd9, 0x80, 0xc7, 0x10, 0xa3, 0xbc, 0x54, 0xc4, 0x72, 0xda, 0xcc, 0x0f, 0xe3, 0x88, - 0x58, 0x4e, 0x5b, 0x55, 0x01, 0x1a, 0xb6, 0x7f, 0xfb, 0x7b, 0x1f, 0x1b, 0xdd, 0x3e, 0x46, 0xcb, - 0x30, 0xf3, 0x92, 0x3e, 0x30, 0x63, 0xf3, 0x1a, 0x6f, 0xa8, 0x5f, 0xe5, 0xe1, 0xcc, 0x33, 0xea, - 0xaf, 0x96, 0x61, 0x9b, 0x07, 0xe4, 0x75, 0x0b, 0xb7, 0xfb, 0xae, 0xe5, 0x1f, 0x6f, 0x12, 0xdb, - 0xc7, 0xaf, 0x7d, 0xd4, 0x84, 0x25, 0x5b, 0x6a, 0xd6, 0x65, 0x68, 0x52, 0x0d, 0xa5, 0x8d, 0xb5, - 0x21, 0x46, 0x70, 0x17, 0x69, 0x15, 0x3b, 0x4a, 0xf0, 0xd0, 0xd3, 0xc1, 0xbc, 0x49, 0x6d, 0x39, - 0xa6, 0x2d, 0x65, 0x48, 0xad, 0x6d, 0x66, 0x99, 0xd0, 0x25, 0x27, 0x56, 0x6a, 0xfa, 0x08, 0xe8, - 0x57, 0xad, 0x1b, 0x9e, 0xde, 0xf7, 0xb0, 0xcb, 0x1c, 0x53, 0xda, 0x38, 0x9b, 0xd4, 0x32, 0x70, - 0x81, 0x56, 0x74, 0xfb, 0x76, 0xdd, 0xdb, 0xf7, 0xb0, 0xcb, 0x92, 0x80, 0x88, 0x25, 0xdd, 0x25, - 0xc4, 0x3f, 0xf4, 0x64, 0xfc, 0x48, 0xb2, 0xc6, 0xa8, 0xe8, 0x26, 0x9c, 0xf0, 0xfa, 0x8e, 0xd3, - 0xc5, 0x3d, 0x6c, 0xfb, 0x46, 0x57, 0xef, 0xb8, 0xa4, 0xef, 0x78, 0xd5, 0x99, 0x0b, 0xf9, 0xab, - 0x79, 0x0d, 0x85, 0x5f, 0x3d, 0x61, 0x6f, 0xd0, 0x2a, 0x80, 0xe3, 0x5a, 0x2f, 0xad, 0x2e, 0xee, - 0x60, 0xb3, 0x3a, 0xcb, 0x94, 0x86, 0x28, 0xe8, 0x7d, 0x58, 0xf6, 0x70, 0xbb, 0x4d, 0x7a, 0x8e, - 0xee, 0xb8, 0xe4, 0xd0, 0xea, 0x62, 0x1e, 0xfd, 0x73, 0x2c, 0xfa, 0x91, 0x78, 0xb7, 0xcb, 0x5f, - 0xb1, 0xef, 0xe0, 0x3e, 0xcb, 0x69, 0x74, 0xa4, 0xac, 0xf3, 0x6a, 0x61, 0x8c, 0xa1, 0x02, 0x1b, - 0x2a, 0x33, 0x49, 0xfd, 0x79, 0x0e, 0x4e, 0x32, 0x4f, 0xee, 0x12, 0x53, 0x4c, 0xb3, 0x48, 0x52, - 0x17, 0xa1, 0xdc, 0x66, 0x3a, 0x75, 0xc7, 0x70, 0xb1, 0xed, 0x8b, 0x8f, 0x74, 0x9e, 0x13, 0x77, - 0x19, 0x0d, 0x7d, 0x0a, 0x15, 0x4f, 0x44, 0x85, 0xde, 0xe6, 0x61, 0x21, 0xe6, 0xec, 0x46, 0xd2, - 0x84, 0x21, 0xb1, 0xa4, 0x2d, 0x7a, 0x89, 0xe0, 0x9a, 0xf3, 0x8e, 0xbd, 0xb6, 0xdf, 0xe5, 0xd9, - 0xae, 0xb4, 0xf1, 0xbd, 0x0c, 0x85, 0x71, 0xc3, 0xd7, 0x5b, 0x5c, 0x6c, 0xdb, 0xf6, 0xdd, 0x63, - 0x4d, 0x2a, 0xa9, 0xdd, 0x85, 0xf9, 0xf0, 0x0b, 0x54, 0x81, 0xfc, 0x0b, 0x7c, 0x2c, 0x06, 0x45, - 0x1f, 0x07, 0x1f, 0x01, 0xcf, 0x35, 0xbc, 0x71, 0x37, 0xf7, 0x3b, 0x8a, 0xea, 0x02, 0x1a, 0xf4, - 0xf2, 0x1c, 0xfb, 0x86, 0x69, 0xf8, 0x06, 0x42, 0x30, 0xcd, 0x96, 0x11, 0xae, 0x82, 0x3d, 0x53, - 0xad, 0x7d, 0xf1, 0xf1, 0x16, 0x35, 0xfa, 0x88, 0xce, 0x42, 0x31, 0x08, 0x74, 0xb1, 0x96, 0x0c, - 0x08, 0x34, 0xa7, 0x1b, 0xbe, 0x8f, 0x7b, 0x8e, 0xcf, 0x42, 0xac, 0xac, 0xc9, 0xa6, 0xfa, 0xdf, - 0xd3, 0x50, 0x49, 0xcc, 0xc9, 0x43, 0x28, 0xf4, 0x44, 0xf7, 0xe2, 0x43, 0x7b, 0x27, 0x25, 0xb1, - 0x27, 0x4c, 0xd5, 0x02, 0x29, 0x9a, 0x37, 0x69, 0x0e, 0x0d, 0xad, 0x7f, 0x41, 0x9b, 0xce, 0x78, - 0x97, 0x74, 0x74, 0xd3, 0x72, 0x71, 0xdb, 0x27, 0xee, 0xb1, 0x30, 0x77, 0xbe, 0x4b, 0x3a, 0x5b, - 0x92, 0x86, 0xee, 0x02, 0x98, 0xb6, 0x47, 0x27, 0xfb, 0xd0, 0xea, 0x30, 0xa3, 0x4b, 0x1b, 0x67, - 0x92, 0x46, 0x04, 0x8b, 0x9d, 0x56, 0x34, 0x6d, 0x4f, 0x98, 0xff, 0x08, 0xca, 0x74, 0xcd, 0xd0, - 0x7b, 0x7c, 0x9d, 0xe2, 0x5f, 0x4a, 0x69, 0xe3, 0x5c, 0xda, 0x18, 0x82, 0xd5, 0x4c, 0x9b, 0x77, - 0x06, 0x0d, 0x0f, 0x3d, 0x86, 0x59, 0x96, 0xbc, 0xbd, 0xea, 0x2c, 0x13, 0x5e, 0x1f, 0xe6, 0x00, - 0x11, 0x11, 0xcf, 0x98, 0x00, 0x0f, 0x08, 0x21, 0x8d, 0xf6, 0xa1, 0x64, 0xd8, 0x36, 0xf1, 0x0d, - 0x9e, 0x68, 0xe6, 0x98, 0xb2, 0x0f, 0xc6, 0x50, 0x56, 0x1f, 0x48, 0x71, 0x8d, 0x61, 0x3d, 0xe8, - 0x07, 0x30, 0xc3, 0x32, 0x91, 0xf8, 0x10, 0xaf, 0x8c, 0x19, 0xb4, 0x1a, 0x97, 0xaa, 0xdd, 0x81, - 0x52, 0xc8, 0xd8, 0x49, 0x82, 0xb4, 0x76, 0x1f, 0x2a, 0x71, 0xd3, 0x26, 0x0a, 0xf2, 0x3f, 0x80, - 0x65, 0xad, 0x6f, 0x0f, 0x0c, 0x93, 0xd5, 0xd7, 0x5d, 0x98, 0x15, 0x93, 0xcd, 0x23, 0x4e, 0x1d, - 0xed, 0x23, 0x4d, 0x48, 0x84, 0xcb, 0xa9, 0x23, 0xc3, 0x36, 0xbb, 0xd8, 0x15, 0xfd, 0xca, 0x72, - 0xea, 0x29, 0xa7, 0xaa, 0x3f, 0x80, 0x93, 0xb1, 0xce, 0x45, 0x35, 0xf7, 0x0e, 0x2c, 0x38, 0xc4, - 0xd4, 0x3d, 0x4e, 0xd6, 0x2d, 0x53, 0xa6, 0x21, 0x27, 0xe0, 0x6d, 0x98, 0x54, 0xbc, 0xe5, 0x13, - 0x27, 0x69, 0xfc, 0x78, 0xe2, 0x55, 0x38, 0x15, 0x17, 0xe7, 0xdd, 0xab, 0x0f, 0x60, 0x45, 0xc3, - 0x3d, 0xf2, 0x12, 0xbf, 0xa9, 0xea, 0x1a, 0x54, 0x93, 0x0a, 0x84, 0xf2, 0xcf, 0x60, 0x65, 0x40, - 0x6d, 0xf9, 0x86, 0xdf, 0xf7, 0x26, 0x52, 0x2e, 0x4a, 0xdd, 0x03, 0xe2, 0xf1, 0xe9, 0x2c, 0x68, - 0xb2, 0xa9, 0x5e, 0x0b, 0xab, 0x6e, 0xf2, 0xca, 0x82, 0xf7, 0x80, 0x16, 0x20, 0x67, 0x39, 0x42, - 0x5d, 0xce, 0x72, 0xd4, 0xa7, 0x50, 0x0c, 0x96, 0x66, 0x74, 0x6f, 0x50, 0x63, 0xe6, 0xc6, 0x5d, - 0xc8, 0x83, 0x32, 0x74, 0x2f, 0xb1, 0x94, 0x88, 0x2e, 0xef, 0x01, 0x04, 0x29, 0x4f, 0x56, 0x08, - 0x67, 0x86, 0x28, 0xd6, 0x42, 0xec, 0xea, 0xbf, 0x44, 0x12, 0x61, 0x68, 0x10, 0x66, 0x30, 0x08, - 0x33, 0x92, 0x18, 0x73, 0x6f, 0x94, 0x18, 0x3f, 0x84, 0x19, 0xcf, 0x37, 0x7c, 0x2c, 0xaa, 0xa8, - 0xb5, 0x61, 0xe2, 0xd4, 0x08, 0xac, 0x71, 0x7e, 0x74, 0x0e, 0xa0, 0xed, 0x62, 0xc3, 0xc7, 0xa6, - 0x6e, 0xf0, 0x2c, 0x9e, 0xd7, 0x8a, 0x82, 0x52, 0xf7, 0xd1, 0xe6, 0xa0, 0x12, 0x9c, 0x61, 0x86, - 0x5d, 0x1b, 0xa6, 0x39, 0x32, 0x55, 0x83, 0x9a, 0x30, 0xc8, 0x2a, 0xb3, 0x63, 0x66, 0x15, 0xa1, - 0x80, 0x4b, 0x85, 0x72, 0xe6, 0xdc, 0xe8, 0x9c, 0xc9, 0x45, 0xc7, 0xc9, 0x99, 0x85, 0xd1, 0x39, - 0x53, 0x28, 0x1b, 0x9a, 0x33, 0xbf, 0xcd, 0xa4, 0xf7, 0xcf, 0x0a, 0x54, 0x93, 0xdf, 0xa0, 0xc8, - 0x3d, 0x77, 0x61, 0xd6, 0x63, 0x94, 0x71, 0x32, 0x9f, 0x90, 0x15, 0x12, 0xe8, 0x29, 0x4c, 0x5b, - 0xf6, 0x21, 0x61, 0x9b, 0xb8, 0xd4, 0xda, 0x25, 0xab, 0xd7, 0xf5, 0x86, 0x7d, 0x48, 0xb8, 0x93, - 0x98, 0x86, 0xda, 0x87, 0x50, 0x0c, 0x48, 0x13, 0x8d, 0x6d, 0x07, 0x96, 0x63, 0x21, 0xcb, 0x8b, - 0xfd, 0x20, 0xd2, 0x95, 0xc9, 0x22, 0x5d, 0xfd, 0x69, 0x2e, 0xfc, 0x25, 0x3e, 0xb6, 0xba, 0x3e, - 0x76, 0x13, 0x5f, 0xe2, 0x47, 0x52, 0x3b, 0xff, 0x0c, 0x2f, 0x8f, 0xd4, 0xce, 0x6b, 0x52, 0xf1, - 0x31, 0x7d, 0x01, 0x0b, 0x2c, 0xd6, 0x74, 0x0f, 0x77, 0x59, 0xc1, 0x21, 0x8a, 0xbf, 0xef, 0x0f, - 0x53, 0xc3, 0x2d, 0xe1, 0x11, 0xdb, 0x12, 0x72, 0xdc, 0x83, 0xe5, 0x6e, 0x98, 0x56, 0x7b, 0x08, - 0x28, 0xc9, 0x34, 0x91, 0x4f, 0x5b, 0x34, 0xc5, 0xd1, 0x9d, 0x6e, 0xca, 0x2a, 0x79, 0xc8, 0xcc, - 0x18, 0x27, 0x56, 0xb8, 0xc1, 0x9a, 0x90, 0x50, 0x7f, 0x99, 0x07, 0x18, 0xbc, 0xfc, 0x7f, 0x94, - 0xdb, 0x1e, 0x06, 0x79, 0x85, 0x17, 0x72, 0x57, 0x87, 0x29, 0x4e, 0xcd, 0x28, 0x3b, 0xd1, 0x8c, - 0xc2, 0x4b, 0xba, 0x1b, 0x43, 0xd5, 0x7c, 0x67, 0x73, 0xc9, 0x33, 0x38, 0x15, 0x8f, 0x0d, 0x91, - 0x48, 0x36, 0x60, 0xc6, 0xf2, 0x71, 0x8f, 0xa3, 0x3d, 0xa9, 0xbb, 0xb3, 0x90, 0x10, 0x67, 0x55, - 0xd7, 0xa0, 0xd8, 0xe8, 0x19, 0x1d, 0xdc, 0x72, 0x70, 0x9b, 0x76, 0x6a, 0xd1, 0x86, 0x30, 0x84, - 0x37, 0xd4, 0x0d, 0x28, 0xfc, 0x10, 0x1f, 0xf3, 0x8f, 0x7a, 0x4c, 0x43, 0xd5, 0x3f, 0xcd, 0xc1, - 0x0a, 0x5b, 0x2b, 0x36, 0x25, 0xd6, 0xa2, 0x61, 0x8f, 0xf4, 0xdd, 0x36, 0xf6, 0xd8, 0x6c, 0x3b, - 0x7d, 0xdd, 0xc1, 0xae, 0x45, 0x4c, 0x01, 0x05, 0x14, 0xdb, 0x4e, 0x7f, 0x97, 0x11, 0xd0, 0x19, - 0xa0, 0x0d, 0xfd, 0xcb, 0x3e, 0x11, 0x81, 0x98, 0xd7, 0x0a, 0x6d, 0xa7, 0xff, 0x7b, 0xb4, 0x2d, - 0x65, 0xbd, 0x23, 0xc3, 0xc5, 0x1e, 0x8b, 0x33, 0x2e, 0xdb, 0x62, 0x04, 0x74, 0x0b, 0x4e, 0xf6, - 0x70, 0x8f, 0xb8, 0xc7, 0x7a, 0xd7, 0xea, 0x59, 0xbe, 0x6e, 0xd9, 0xfa, 0xc1, 0xb1, 0x8f, 0x3d, - 0x11, 0x53, 0x88, 0xbf, 0x7c, 0x46, 0xdf, 0x35, 0xec, 0x47, 0xf4, 0x0d, 0x52, 0xa1, 0x4c, 0x48, - 0x4f, 0xf7, 0xda, 0xc4, 0xc5, 0xba, 0x61, 0xfe, 0x84, 0x2d, 0x9f, 0x79, 0xad, 0x44, 0x48, 0xaf, - 0x45, 0x69, 0x75, 0xf3, 0x27, 0xe8, 0x3c, 0x94, 0xda, 0x4e, 0xdf, 0xc3, 0xbe, 0x4e, 0xff, 0xb0, - 0xd5, 0xb1, 0xa8, 0x01, 0x27, 0x6d, 0x3a, 0x7d, 0x2f, 0xc4, 0xd0, 0xa3, 0xfe, 0x9f, 0x0b, 0x33, - 0x3c, 0xa7, 0x6e, 0x36, 0xa0, 0x1c, 0x81, 0x12, 0xe8, 0xae, 0x8e, 0x61, 0x06, 0x62, 0x57, 0x47, - 0x9f, 0x29, 0xcd, 0x25, 0x5d, 0xe9, 0x49, 0xf6, 0x4c, 0x69, 0xfe, 0xb1, 0x23, 0xb7, 0x74, 0xec, - 0x99, 0xba, 0xbc, 0x8b, 0x5f, 0x0a, 0xb8, 0xa9, 0xa8, 0xf1, 0x86, 0x6a, 0x02, 0x6c, 0x1a, 0x8e, - 0x71, 0x60, 0x75, 0x2d, 0xff, 0x18, 0x5d, 0x83, 0x8a, 0x61, 0x9a, 0x7a, 0x5b, 0x52, 0x2c, 0x2c, - 0x41, 0xc0, 0x45, 0xc3, 0x34, 0x37, 0x43, 0x64, 0xf4, 0x2e, 0x2c, 0x99, 0x2e, 0x71, 0xa2, 0xbc, - 0x1c, 0x15, 0xac, 0xd0, 0x17, 0x61, 0x66, 0xf5, 0x3f, 0x66, 0xe0, 0x5c, 0x74, 0x62, 0xe3, 0x70, - 0xcd, 0x43, 0x98, 0x8f, 0xf5, 0x9a, 0x01, 0x15, 0x0c, 0xac, 0xd5, 0x22, 0x12, 0x31, 0xf8, 0x22, - 0x97, 0x80, 0x2f, 0x52, 0x01, 0xa1, 0xfc, 0x5b, 0x05, 0x84, 0xa6, 0xdf, 0x0a, 0x20, 0x34, 0x33, - 0x19, 0x20, 0x74, 0x99, 0x6d, 0x63, 0xa4, 0x34, 0xdb, 0x3b, 0xf3, 0x50, 0x2b, 0x07, 0x3c, 0xb6, - 0x44, 0x8f, 0x63, 0xc0, 0xd1, 0xdc, 0x24, 0xc0, 0x51, 0x21, 0x13, 0x38, 0xa2, 0x51, 0xe3, 0x38, - 0x86, 0xdb, 0x23, 0xae, 0x44, 0x86, 0xaa, 0x45, 0x66, 0xc2, 0xa2, 0xa4, 0x0b, 0x54, 0x28, 0x13, - 0x43, 0x82, 0x4c, 0x0c, 0xe9, 0x02, 0xcc, 0xdb, 0x44, 0xb7, 0xf1, 0x2b, 0x9d, 0xce, 0xa5, 0x57, - 0x2d, 0xf1, 0x89, 0xb5, 0x49, 0x13, 0xbf, 0xda, 0xa5, 0x94, 0x04, 0xca, 0x34, 0x3f, 0x19, 0xca, - 0x84, 0xd6, 0x60, 0xbe, 0x67, 0x78, 0x2f, 0xb0, 0xc9, 0x4c, 0xf1, 0xaa, 0x65, 0x16, 0xc4, 0x25, - 0x4e, 0xa3, 0x36, 0x78, 0xe8, 0x12, 0x04, 0x4e, 0x12, 0x4c, 0x0b, 0x8c, 0xa9, 0x2c, 0xa9, 0x8c, - 0x4d, 0xfd, 0x3b, 0x05, 0x96, 0xa3, 0x61, 0x2e, 0xb0, 0x85, 0x27, 0x50, 0x74, 0x65, 0x26, 0x13, - 0xa1, 0x7d, 0x2d, 0xa3, 0x4c, 0x4e, 0xa6, 0x3e, 0x6d, 0x20, 0x8b, 0x7e, 0x94, 0x09, 0x69, 0xdd, - 0x1c, 0xa5, 0x6f, 0x14, 0xa8, 0xa5, 0x36, 0xe0, 0xfc, 0x27, 0x96, 0x6d, 0x92, 0x57, 0x5e, 0xe6, - 0x57, 0x9a, 0x12, 0x6b, 0x4a, 0x4a, 0xac, 0xa9, 0xbf, 0x50, 0xe0, 0x54, 0x5c, 0x97, 0x70, 0x45, - 0x23, 0xe9, 0x8a, 0x77, 0x93, 0xa6, 0xc7, 0x85, 0x53, 0x9d, 0xf1, 0x45, 0xa6, 0x33, 0x6e, 0x8d, - 0xd6, 0x38, 0xd2, 0x1d, 0x7f, 0xa5, 0xc0, 0xe9, 0x4c, 0x33, 0x62, 0x4b, 0x8a, 0x12, 0x5f, 0x52, - 0xc4, 0x72, 0xd4, 0x26, 0x7d, 0xdb, 0x0f, 0x2d, 0x47, 0x9b, 0xec, 0x88, 0x81, 0xe7, 0x7d, 0xbd, - 0x67, 0xbc, 0xb6, 0x7a, 0xfd, 0x9e, 0x58, 0x8f, 0xa8, 0xba, 0xe7, 0x9c, 0xf2, 0x06, 0x0b, 0x92, - 0x5a, 0x87, 0xa5, 0xc0, 0xca, 0xa1, 0x20, 0x60, 0x08, 0xd4, 0xcb, 0x45, 0x41, 0x3d, 0x1b, 0x66, - 0xb7, 0xf0, 0x4b, 0xab, 0x8d, 0xdf, 0xca, 0x19, 0xc8, 0x05, 0x28, 0x39, 0xd8, 0xed, 0x59, 0x9e, - 0x17, 0x24, 0xda, 0xa2, 0x16, 0x26, 0xa9, 0xff, 0x39, 0x0b, 0x8b, 0xf1, 0xe8, 0x78, 0x90, 0xc0, - 0x10, 0x2f, 0xa6, 0x2c, 0x01, 0xf1, 0x81, 0x86, 0xaa, 0xc9, 0x5b, 0xb2, 0x18, 0xc9, 0x65, 0x6d, - 0xe4, 0x83, 0xc2, 0x45, 0x54, 0x2a, 0xd4, 0x23, 0x6d, 0xd2, 0xeb, 0x19, 0xb6, 0x29, 0x8f, 0xae, - 0x44, 0x93, 0xfa, 0xcf, 0x70, 0x3b, 0xd4, 0xed, 0x94, 0xcc, 0x9e, 0xe9, 0xe4, 0xd1, 0x5d, 0xaf, - 0x65, 0x33, 0x2c, 0x92, 0x25, 0xeb, 0xa2, 0x06, 0x82, 0xb4, 0x65, 0xb9, 0x68, 0x1d, 0xa6, 0xb1, - 0xfd, 0x52, 0x96, 0x8b, 0x29, 0x67, 0x5b, 0xb2, 0x2c, 0xd2, 0x18, 0x1f, 0xba, 0x09, 0xb3, 0x3d, - 0x1a, 0x16, 0x72, 0xff, 0xbb, 0x92, 0x71, 0xc4, 0xa3, 0x09, 0x36, 0xb4, 0x01, 0x73, 0x26, 0x9b, - 0x27, 0xb9, 0xc9, 0xad, 0xa6, 0x20, 0x9c, 0x8c, 0x41, 0x93, 0x8c, 0x68, 0x3b, 0x28, 0x86, 0x8b, - 0x59, 0x55, 0x6c, 0x6c, 0x2a, 0x52, 0x2b, 0xe2, 0xbd, 0x68, 0x45, 0x0c, 0x4c, 0xd7, 0xc6, 0x68, - 0x5d, 0xc3, 0x61, 0xc9, 0xd3, 0x50, 0xe8, 0x92, 0x0e, 0x0f, 0xa3, 0x12, 0x3f, 0x15, 0xed, 0x92, - 0x0e, 0x8b, 0xa2, 0x65, 0xba, 0x39, 0x30, 0x2d, 0x9b, 0x25, 0xf5, 0x82, 0xc6, 0x1b, 0xf4, 0xe3, - 0x63, 0x0f, 0x3a, 0xb1, 0xdb, 0xb8, 0x5a, 0x66, 0xaf, 0x8a, 0x8c, 0xb2, 0x63, 0xb7, 0x59, 0xb9, - 0xe9, 0xfb, 0xc7, 0xd5, 0x05, 0x46, 0xa7, 0x8f, 0x74, 0xdf, 0xc7, 0x21, 0x8a, 0xc5, 0xac, 0x7d, - 0x5f, 0x5a, 0xda, 0x96, 0x08, 0xc5, 0x23, 0x98, 0x7b, 0xc5, 0x13, 0x41, 0xb5, 0xc2, 0xe4, 0xaf, - 0x8e, 0x4e, 0x2f, 0x42, 0x83, 0x14, 0xfc, 0x36, 0x4b, 0xff, 0x5f, 0x2a, 0x70, 0x6a, 0x93, 0x6d, - 0x8b, 0x42, 0x79, 0x6c, 0x12, 0x24, 0xef, 0x4e, 0x00, 0xb2, 0x66, 0xc2, 0x6e, 0xf1, 0x71, 0x4b, - 0x8c, 0xb5, 0x01, 0x0b, 0x52, 0xb9, 0x50, 0x91, 0x1f, 0x1b, 0xa7, 0x2d, 0x7b, 0xe1, 0xa6, 0xfa, - 0x11, 0xac, 0x24, 0x46, 0x21, 0xb6, 0x30, 0x6b, 0x30, 0x3f, 0xc8, 0x57, 0xc1, 0x20, 0x4a, 0x01, - 0xad, 0x61, 0xaa, 0x77, 0xe1, 0x64, 0xcb, 0x37, 0x5c, 0x3f, 0xe1, 0x82, 0x31, 0x64, 0x19, 0x02, - 0x1b, 0x95, 0x15, 0x20, 0x69, 0x0b, 0x96, 0x5b, 0x3e, 0x71, 0xde, 0x40, 0x29, 0xcd, 0x3a, 0x74, - 0xfc, 0xa4, 0x2f, 0xd7, 0x07, 0xd9, 0x54, 0x57, 0x38, 0x5e, 0x9c, 0xec, 0xed, 0x1e, 0x9c, 0xe2, - 0x70, 0xed, 0x9b, 0x0c, 0xe2, 0xb4, 0x04, 0x8b, 0x93, 0x7a, 0x9f, 0xc3, 0x89, 0xc1, 0xb2, 0x38, - 0x80, 0x62, 0x6e, 0x47, 0xa1, 0x98, 0x0b, 0x43, 0x66, 0x3d, 0x82, 0xc4, 0xfc, 0x45, 0x2e, 0x94, - 0xd7, 0x33, 0x80, 0x98, 0x7b, 0x51, 0x20, 0xe6, 0xd2, 0x28, 0xdd, 0x11, 0x1c, 0x26, 0x19, 0xb5, - 0xf9, 0x94, 0xa8, 0xfd, 0x3c, 0x81, 0xd6, 0x4c, 0x67, 0xc1, 0x5d, 0x31, 0x6b, 0x7f, 0x2b, 0x60, - 0x8d, 0xc6, 0xc1, 0x9a, 0xa0, 0xeb, 0x00, 0x5d, 0xbf, 0x13, 0x03, 0x6b, 0xd6, 0x46, 0xda, 0x1b, - 0x60, 0x35, 0x7f, 0x33, 0x0d, 0xc5, 0xe0, 0x5d, 0xc2, 0xe7, 0x49, 0xb7, 0xe5, 0x52, 0xdc, 0x16, - 0x5e, 0x81, 0xf3, 0xdf, 0x68, 0x05, 0x9e, 0x1e, 0x7b, 0x05, 0x3e, 0x03, 0x45, 0xf6, 0xa0, 0xbb, - 0xf8, 0x50, 0xac, 0xa8, 0x05, 0x46, 0xd0, 0xf0, 0xe1, 0x20, 0x0c, 0x67, 0x27, 0x0a, 0xc3, 0x18, - 0x3c, 0x34, 0x17, 0x87, 0x87, 0x1e, 0x04, 0x2b, 0x22, 0x5f, 0x44, 0xaf, 0x0c, 0xd1, 0x9b, 0xba, - 0x16, 0x36, 0xa3, 0x6b, 0x21, 0x5f, 0x57, 0xdf, 0x1b, 0xa6, 0xe5, 0x3b, 0x0b, 0x0e, 0xed, 0x73, - 0x70, 0x28, 0x1c, 0x8b, 0x22, 0xb3, 0xde, 0x03, 0x08, 0x92, 0x88, 0x44, 0x88, 0xce, 0x0c, 0x19, - 0xa3, 0x16, 0x62, 0xa7, 0x6a, 0x23, 0x53, 0x33, 0x38, 0x41, 0x1a, 0x2f, 0x3f, 0x66, 0x1c, 0x1f, - 0xfd, 0xef, 0x4c, 0x28, 0xbf, 0x64, 0x1c, 0xb9, 0x3c, 0x48, 0xc0, 0x92, 0x13, 0x46, 0xf1, 0xed, - 0x28, 0x2a, 0xf9, 0x86, 0x51, 0x97, 0x00, 0x25, 0x59, 0xe5, 0x62, 0xb8, 0xe2, 0x35, 0x07, 0x8d, - 0x8a, 0x82, 0x52, 0x67, 0x3b, 0x83, 0x43, 0xcb, 0xb6, 0xbc, 0x23, 0xfe, 0x7e, 0x96, 0xef, 0x0c, - 0x24, 0xa9, 0xce, 0x6e, 0x37, 0xe1, 0xd7, 0x96, 0xaf, 0xb7, 0x89, 0x89, 0x59, 0x4c, 0xcf, 0x68, - 0x05, 0x4a, 0xd8, 0x24, 0x26, 0x1e, 0x7c, 0x79, 0x85, 0x37, 0xfb, 0xf2, 0x8a, 0xb1, 0x2f, 0xef, - 0x14, 0xcc, 0xba, 0xd8, 0xf0, 0x88, 0x2d, 0xb6, 0xe7, 0xa2, 0x45, 0xa7, 0xa6, 0x87, 0x3d, 0x8f, - 0xf6, 0x24, 0xca, 0x35, 0xd1, 0x0c, 0x95, 0x99, 0xf3, 0x23, 0xcb, 0xcc, 0x21, 0x47, 0x39, 0xb1, - 0x32, 0xb3, 0x3c, 0xb2, 0xcc, 0x1c, 0xe7, 0x24, 0x27, 0x54, 0x68, 0x2f, 0x8c, 0x57, 0x68, 0x87, - 0xeb, 0xd2, 0xc5, 0x48, 0x5d, 0xfa, 0x6d, 0x7e, 0xac, 0xbf, 0x56, 0x60, 0x25, 0xf1, 0x59, 0x89, - 0xcf, 0xf5, 0x4e, 0xec, 0x50, 0x68, 0x6d, 0xa4, 0xcf, 0x82, 0x33, 0xa1, 0x27, 0x91, 0x33, 0xa1, - 0x0f, 0x46, 0x0b, 0xbe, 0xf5, 0x23, 0xa1, 0x3f, 0x56, 0xe0, 0xfc, 0xbe, 0x63, 0xc6, 0x2a, 0x3c, - 0xb1, 0xed, 0x1f, 0x3f, 0x71, 0x3c, 0x90, 0xb5, 0x7e, 0x6e, 0x52, 0x9c, 0x85, 0xcb, 0xa9, 0x2a, - 0x5c, 0xc8, 0x36, 0x43, 0x94, 0x4c, 0x3f, 0x86, 0xc5, 0xed, 0xd7, 0xb8, 0xdd, 0x3a, 0xb6, 0xdb, - 0x13, 0x98, 0x56, 0x81, 0x7c, 0xbb, 0x67, 0x0a, 0x94, 0x94, 0x3e, 0x86, 0xab, 0xc0, 0x7c, 0xb4, - 0x0a, 0xd4, 0xa1, 0x32, 0xe8, 0x41, 0x4c, 0xef, 0x29, 0x3a, 0xbd, 0x26, 0x65, 0xa6, 0xca, 0xe7, - 0x35, 0xd1, 0x12, 0x74, 0xec, 0xf2, 0x0b, 0x0c, 0x9c, 0x8e, 0x5d, 0x37, 0x9a, 0x2d, 0xf2, 0xd1, - 0x6c, 0xa1, 0xfe, 0xb9, 0x02, 0x25, 0xda, 0xc3, 0x37, 0xb2, 0x5f, 0x6c, 0xb5, 0xf2, 0x83, 0xad, - 0x56, 0xb0, 0x63, 0x9b, 0x0e, 0xef, 0xd8, 0x06, 0x96, 0xcf, 0x30, 0x72, 0xd2, 0xf2, 0xd9, 0x80, - 0x8e, 0x5d, 0x57, 0xbd, 0x00, 0xf3, 0xdc, 0x36, 0x31, 0xf2, 0x0a, 0xe4, 0xfb, 0x6e, 0x57, 0xc6, - 0x51, 0xdf, 0xed, 0xaa, 0x7f, 0xa2, 0x40, 0xb9, 0xee, 0xfb, 0x46, 0xfb, 0x68, 0x82, 0x01, 0x04, - 0xc6, 0xe5, 0xc2, 0xc6, 0x25, 0x07, 0x31, 0x30, 0x77, 0x3a, 0xc3, 0xdc, 0x99, 0x88, 0xb9, 0x2a, - 0x2c, 0x48, 0x5b, 0x32, 0x0d, 0x6e, 0x02, 0xda, 0x25, 0xae, 0xff, 0x98, 0xb8, 0xaf, 0x0c, 0xd7, - 0x9c, 0x6c, 0x07, 0x86, 0x60, 0x5a, 0xdc, 0x78, 0xcd, 0x5f, 0x9d, 0xd1, 0xd8, 0xb3, 0x7a, 0x05, - 0x4e, 0x44, 0xf4, 0x65, 0x76, 0xfc, 0x10, 0x4a, 0x2c, 0xef, 0x8b, 0x52, 0xfc, 0x56, 0xf8, 0xb8, - 0x66, 0xac, 0x55, 0x42, 0xfd, 0x5d, 0x58, 0xa2, 0xf5, 0x01, 0xa3, 0x07, 0x9f, 0xe2, 0xf7, 0x63, - 0x75, 0xea, 0xb9, 0x0c, 0x45, 0xb1, 0x1a, 0xf5, 0x6f, 0x15, 0x98, 0x61, 0xf4, 0xc4, 0x9a, 0x7d, - 0x06, 0x8a, 0x2e, 0x76, 0x88, 0xee, 0x1b, 0x9d, 0xe0, 0x7e, 0x31, 0x25, 0xec, 0x19, 0x1d, 0x8f, - 0x5d, 0x8f, 0xa6, 0x2f, 0x4d, 0xab, 0x83, 0x3d, 0x5f, 0x5e, 0x32, 0x2e, 0x51, 0xda, 0x16, 0x27, - 0x51, 0x27, 0x79, 0xd6, 0xef, 0xf3, 0xba, 0x73, 0x5a, 0x63, 0xcf, 0x68, 0x9d, 0x5f, 0x79, 0x1b, - 0x07, 0x52, 0x67, 0x17, 0xe2, 0x6a, 0x50, 0x88, 0xa1, 0xe8, 0x41, 0x5b, 0xdd, 0x06, 0x14, 0xf6, - 0x82, 0xf0, 0xf7, 0x4d, 0x98, 0x65, 0x4e, 0x92, 0xd5, 0xd1, 0x4a, 0x86, 0x1b, 0x34, 0xc1, 0xa6, - 0x1a, 0x80, 0xb8, 0x83, 0x23, 0x15, 0xd1, 0xe4, 0xb3, 0x32, 0xa4, 0x42, 0xfa, 0x7b, 0x05, 0x4e, - 0x44, 0xfa, 0x10, 0xb6, 0xde, 0x88, 0x76, 0x92, 0x69, 0xaa, 0xe8, 0x60, 0x33, 0xb2, 0x24, 0xdc, - 0xcc, 0x32, 0xe9, 0x37, 0xb4, 0x1c, 0xfc, 0x83, 0x02, 0x50, 0xef, 0xfb, 0x47, 0x02, 0x19, 0x0c, - 0xcf, 0x8c, 0x12, 0x9d, 0x19, 0xfa, 0xce, 0x31, 0x3c, 0xef, 0x15, 0x71, 0xe5, 0x9e, 0x26, 0x68, - 0x33, 0x0c, 0xaf, 0xef, 0x1f, 0xc9, 0xa3, 0x30, 0xfa, 0x8c, 0x2e, 0xc1, 0x02, 0xbf, 0xd3, 0xae, - 0x1b, 0xa6, 0xe9, 0x62, 0xcf, 0x13, 0x67, 0x62, 0x65, 0x4e, 0xad, 0x73, 0x22, 0x65, 0xb3, 0x4c, - 0x6c, 0xfb, 0x96, 0x7f, 0xac, 0xfb, 0xe4, 0x05, 0xb6, 0xc5, 0xde, 0xa4, 0x2c, 0xa9, 0x7b, 0x94, - 0xc8, 0x0f, 0x07, 0x3a, 0x96, 0xe7, 0xbb, 0x92, 0x4d, 0x9e, 0xbf, 0x08, 0x2a, 0x63, 0xa3, 0x93, - 0x52, 0xd9, 0xed, 0x77, 0xbb, 0xdc, 0xc5, 0x6f, 0x3e, 0xed, 0xef, 0x8b, 0x01, 0xe5, 0xb2, 0x62, - 0x7a, 0xe0, 0x34, 0x31, 0xdc, 0xb7, 0x08, 0xc2, 0xbc, 0x0f, 0x4b, 0xa1, 0x31, 0x88, 0xb0, 0x8a, - 0x14, 0x91, 0x4a, 0xb4, 0x88, 0x54, 0x9f, 0x00, 0xe2, 0xb8, 0xc3, 0x37, 0x1c, 0xb7, 0x7a, 0x12, - 0x4e, 0x44, 0x14, 0x89, 0x95, 0xf8, 0x3a, 0x94, 0xc5, 0xbd, 0x24, 0x11, 0x28, 0xa7, 0xa1, 0x40, - 0x33, 0x6a, 0xdb, 0x32, 0xe5, 0x39, 0xe9, 0x9c, 0x43, 0xcc, 0x4d, 0xcb, 0x74, 0xd5, 0x4f, 0xa0, - 0xac, 0xf1, 0x7e, 0x04, 0xef, 0x63, 0x58, 0x10, 0xb7, 0x98, 0xf4, 0xc8, 0x35, 0xc2, 0xb4, 0x6b, - 0xea, 0xe1, 0x4e, 0xb4, 0xb2, 0x1d, 0x6e, 0xaa, 0x26, 0xd4, 0x78, 0xc9, 0x10, 0x51, 0x2f, 0x07, - 0xfb, 0x18, 0xe4, 0x8d, 0xc2, 0x91, 0xbd, 0x44, 0xe5, 0xcb, 0x6e, 0xb8, 0xa9, 0x9e, 0x83, 0x33, - 0xa9, 0xbd, 0x08, 0x4f, 0x38, 0x50, 0x19, 0xbc, 0x30, 0x2d, 0x79, 0x60, 0xcc, 0x0e, 0x82, 0x95, - 0xd0, 0x41, 0xf0, 0xa9, 0xa0, 0x48, 0xcc, 0xc9, 0x45, 0x8c, 0x55, 0x80, 0x83, 0x72, 0x3f, 0x9f, - 0x55, 0xee, 0x4f, 0x47, 0xca, 0x7d, 0xb5, 0x15, 0xf8, 0x53, 0x6c, 0xc3, 0x1e, 0xb1, 0xed, 0x22, - 0xef, 0x5b, 0x26, 0x44, 0x75, 0xd8, 0x28, 0x39, 0xab, 0x16, 0x92, 0x52, 0xaf, 0x41, 0x39, 0x9a, - 0x1a, 0x43, 0x79, 0x4e, 0x49, 0xe4, 0xb9, 0x85, 0x58, 0x8a, 0xfb, 0x30, 0x56, 0x01, 0x67, 0xfb, - 0x38, 0x56, 0xff, 0xde, 0x8f, 0x24, 0xbb, 0xeb, 0x29, 0x67, 0xb8, 0xbf, 0xa1, 0x3c, 0xb7, 0x2c, - 0xd6, 0x83, 0xc7, 0x1e, 0x95, 0x17, 0x83, 0x56, 0x2f, 0x42, 0x69, 0x3f, 0xeb, 0x37, 0x10, 0xd3, - 0xf2, 0xbe, 0xc4, 0x6d, 0x58, 0x7e, 0x6c, 0x75, 0xb1, 0x77, 0xec, 0xf9, 0xb8, 0xd7, 0x60, 0x49, - 0xe9, 0xd0, 0xc2, 0x2e, 0x5a, 0x05, 0x60, 0x5b, 0x18, 0x87, 0x58, 0xc1, 0xd5, 0xf8, 0x10, 0x45, - 0xfd, 0x2f, 0x05, 0x16, 0x07, 0x82, 0xfb, 0x6c, 0xeb, 0x76, 0x16, 0x8a, 0x74, 0xbc, 0x9e, 0x6f, - 0xf4, 0x1c, 0x79, 0x9e, 0x15, 0x10, 0xd0, 0x3d, 0x98, 0x39, 0xf4, 0x24, 0x64, 0x94, 0x0a, 0xa0, - 0xa7, 0x19, 0xa2, 0x4d, 0x1f, 0x7a, 0x0d, 0x13, 0x7d, 0x04, 0xd0, 0xf7, 0xb0, 0x29, 0xce, 0xb0, - 0xf2, 0x59, 0xd5, 0xc2, 0x7e, 0xf8, 0x7c, 0x9b, 0x0a, 0xf0, 0xab, 0x16, 0xf7, 0xa1, 0x64, 0xd9, - 0xc4, 0xc4, 0xec, 0xcc, 0xd1, 0x14, 0xa8, 0xd2, 0x08, 0x71, 0xe0, 0x12, 0xfb, 0x1e, 0x36, 0x55, - 0x2c, 0xd6, 0x42, 0xe9, 0x5f, 0x11, 0x28, 0x4d, 0x58, 0xe2, 0x49, 0xeb, 0x30, 0x30, 0x5c, 0x46, - 0xec, 0xda, 0xb0, 0xd1, 0x31, 0x6f, 0x69, 0x15, 0x4b, 0x94, 0x36, 0x52, 0x54, 0xbd, 0x0b, 0x27, - 0x23, 0x3b, 0xa4, 0x09, 0xb6, 0x2c, 0xea, 0x6e, 0x0c, 0x28, 0x19, 0x84, 0xb3, 0x80, 0x21, 0x64, - 0x34, 0x8f, 0x82, 0x21, 0x3c, 0x0e, 0x43, 0x78, 0xea, 0xe7, 0x70, 0x3a, 0x82, 0xe8, 0x44, 0x2c, - 0xba, 0x1f, 0xab, 0xdc, 0x2e, 0x8f, 0xd2, 0x1a, 0x2b, 0xe1, 0xfe, 0x47, 0x81, 0xe5, 0x34, 0x86, - 0x37, 0x44, 0x1c, 0x7f, 0x9c, 0x71, 0xad, 0xee, 0xce, 0x78, 0x66, 0xfd, 0x56, 0xd0, 0xda, 0x3d, - 0xa8, 0xa5, 0xf9, 0x33, 0x39, 0x4b, 0xf9, 0x49, 0x66, 0xe9, 0x67, 0xf9, 0x10, 0xf2, 0x5e, 0xf7, - 0x7d, 0xd7, 0x3a, 0xe8, 0xd3, 0x90, 0x7f, 0xeb, 0x68, 0x56, 0x23, 0xc0, 0x65, 0xb8, 0x6b, 0x6f, - 0x0d, 0x11, 0x1f, 0xd8, 0x91, 0x8a, 0xcd, 0x7c, 0x1a, 0xc5, 0x66, 0x38, 0xa6, 0x7e, 0x7b, 0x3c, - 0x7d, 0xdf, 0x59, 0x00, 0xf4, 0x67, 0x39, 0x58, 0x88, 0x4e, 0x11, 0xda, 0x06, 0x30, 0x02, 0xcb, - 0xc5, 0x87, 0x72, 0x69, 0xac, 0x61, 0x6a, 0x21, 0x41, 0xf4, 0x1e, 0xe4, 0xdb, 0x4e, 0x5f, 0xcc, - 0x5a, 0xca, 0x61, 0xf0, 0xa6, 0xd3, 0xe7, 0x19, 0x85, 0xb2, 0xd1, 0x3d, 0x15, 0x3f, 0xdb, 0xcf, - 0xce, 0x92, 0xcf, 0xd9, 0x7b, 0x2e, 0x23, 0x98, 0xd1, 0x53, 0x58, 0x78, 0xe5, 0x5a, 0xbe, 0x71, - 0xd0, 0xc5, 0x7a, 0xd7, 0x38, 0xc6, 0xae, 0xc8, 0x92, 0x63, 0x24, 0xb2, 0xb2, 0x14, 0x7c, 0x46, - 0xe5, 0xd4, 0x3f, 0x84, 0x82, 0xb4, 0x68, 0xc4, 0x8a, 0xb0, 0x07, 0x2b, 0x7d, 0xca, 0xa6, 0xb3, - 0x2b, 0x70, 0xb6, 0x61, 0x13, 0xdd, 0xc3, 0x74, 0x19, 0x97, 0x97, 0xf3, 0x47, 0xa4, 0xe8, 0x65, - 0x26, 0xbd, 0x49, 0x5c, 0xdc, 0x34, 0x6c, 0xd2, 0xe2, 0xa2, 0xea, 0x4b, 0x28, 0x85, 0x06, 0x38, - 0xc2, 0x84, 0x06, 0x2c, 0xc9, 0xa3, 0x78, 0x0f, 0xfb, 0x62, 0x79, 0x19, 0xab, 0xf3, 0x45, 0x21, - 0xd7, 0xc2, 0x3e, 0xbf, 0x3e, 0x71, 0x1f, 0x4e, 0x6b, 0x98, 0x38, 0xd8, 0x0e, 0xe6, 0xf3, 0x19, - 0xe9, 0x4c, 0x90, 0xc1, 0xcf, 0x42, 0x2d, 0x4d, 0x9e, 0xe7, 0x87, 0xeb, 0x67, 0xa1, 0x20, 0x7f, - 0xd0, 0x8a, 0xe6, 0x20, 0xbf, 0xb7, 0xb9, 0x5b, 0x99, 0xa2, 0x0f, 0xfb, 0x5b, 0xbb, 0x15, 0xe5, - 0x7a, 0x0f, 0x2a, 0xf1, 0xdf, 0x70, 0xa2, 0x15, 0x38, 0xb1, 0xab, 0xed, 0xec, 0xd6, 0x9f, 0xd4, - 0xf7, 0x1a, 0x3b, 0x4d, 0x7d, 0x57, 0x6b, 0x7c, 0x5c, 0xdf, 0xdb, 0xae, 0x4c, 0xa1, 0x35, 0x38, - 0x17, 0x7e, 0xf1, 0x74, 0xa7, 0xb5, 0xa7, 0xef, 0xed, 0xe8, 0x9b, 0x3b, 0xcd, 0xbd, 0x7a, 0xa3, - 0xb9, 0xad, 0x55, 0x14, 0x74, 0x0e, 0x4e, 0x87, 0x59, 0x1e, 0x35, 0xb6, 0x1a, 0xda, 0xf6, 0x26, - 0x7d, 0xae, 0x3f, 0xab, 0xe4, 0xae, 0xdf, 0x82, 0x72, 0xe4, 0x27, 0x97, 0xd4, 0x90, 0xdd, 0x9d, - 0xad, 0xca, 0x14, 0x2a, 0x43, 0x31, 0xac, 0xa7, 0x00, 0xd3, 0xcd, 0x9d, 0xad, 0xed, 0x4a, 0xee, - 0xfa, 0x5d, 0x58, 0x8c, 0xdd, 0xc1, 0x45, 0x4b, 0x50, 0x6e, 0xd5, 0x9b, 0x5b, 0x8f, 0x76, 0x3e, - 0xd5, 0xb5, 0xed, 0xfa, 0xd6, 0x67, 0x95, 0x29, 0xb4, 0x0c, 0x15, 0x49, 0x6a, 0xee, 0xec, 0x71, - 0xaa, 0x72, 0xfd, 0x45, 0xec, 0xcb, 0xc2, 0xe8, 0x24, 0x2c, 0x05, 0xdd, 0xe8, 0x9b, 0xda, 0x76, - 0x7d, 0x6f, 0x9b, 0xf6, 0x1e, 0x21, 0x6b, 0xfb, 0xcd, 0x66, 0xa3, 0xf9, 0xa4, 0xa2, 0x50, 0xad, - 0x03, 0xf2, 0xf6, 0xa7, 0x0d, 0xca, 0x9c, 0x8b, 0x32, 0xef, 0x37, 0x7f, 0xd8, 0xdc, 0xf9, 0xa4, - 0x59, 0xc9, 0x6f, 0xfc, 0x62, 0x09, 0x16, 0x64, 0x79, 0x87, 0x5d, 0x76, 0x97, 0x65, 0x17, 0xe6, - 0xe4, 0xcf, 0xa2, 0x53, 0xf2, 0x72, 0xf4, 0xc7, 0xdc, 0xb5, 0xb5, 0x21, 0x1c, 0xa2, 0xca, 0x9e, - 0x42, 0x07, 0xac, 0xea, 0x0d, 0xdd, 0x89, 0xbe, 0x9c, 0x5a, 0x63, 0x26, 0xae, 0x61, 0xd7, 0xae, - 0x8c, 0xe4, 0x0b, 0xfa, 0xc0, 0xb4, 0xb0, 0x0d, 0xff, 0xe8, 0x07, 0x5d, 0x49, 0xab, 0x48, 0x53, - 0x7e, 0x55, 0x54, 0xbb, 0x3a, 0x9a, 0x31, 0xe8, 0xe6, 0x05, 0x54, 0xe2, 0x3f, 0x00, 0x42, 0x29, - 0x80, 0x69, 0xc6, 0xaf, 0x8c, 0x6a, 0xd7, 0xc7, 0x61, 0x0d, 0x77, 0x96, 0xf8, 0xa9, 0xcc, 0xb5, - 0x71, 0x7e, 0x7b, 0x90, 0xd9, 0x59, 0xd6, 0xcf, 0x14, 0xb8, 0x03, 0xa3, 0xf7, 0x9d, 0x51, 0xea, - 0xef, 0x52, 0x52, 0x6e, 0xcb, 0xa7, 0x39, 0x30, 0xfd, 0xea, 0xb4, 0x3a, 0x85, 0x8e, 0x60, 0x31, - 0x76, 0x29, 0x01, 0xa5, 0x88, 0xa7, 0xdf, 0xbe, 0xa8, 0x5d, 0x1b, 0x83, 0x33, 0x1a, 0x11, 0xe1, - 0x4b, 0x08, 0xe9, 0x11, 0x91, 0x72, 0xc5, 0x21, 0x3d, 0x22, 0x52, 0xef, 0x33, 0xb0, 0xe0, 0x8e, - 0x5c, 0x3e, 0x48, 0x0b, 0xee, 0xb4, 0x2b, 0x0f, 0xb5, 0x2b, 0x23, 0xf9, 0xc2, 0x4e, 0x8b, 0x5d, - 0x45, 0x48, 0x73, 0x5a, 0xfa, 0x55, 0x87, 0xda, 0xb5, 0x31, 0x38, 0xe3, 0x51, 0x30, 0x38, 0xd8, - 0xcc, 0x8a, 0x82, 0xc4, 0x31, 0x7c, 0x56, 0x14, 0x24, 0xcf, 0x48, 0x45, 0x14, 0xc4, 0x0e, 0x24, - 0xaf, 0x8e, 0x71, 0x80, 0x92, 0x1d, 0x05, 0xe9, 0x47, 0x2d, 0xea, 0x14, 0xfa, 0x23, 0x05, 0xaa, - 0x59, 0x87, 0x13, 0x28, 0xa5, 0xaa, 0x1b, 0x71, 0x9e, 0x52, 0xdb, 0x98, 0x44, 0x24, 0xb0, 0xe2, - 0x4b, 0x40, 0xc9, 0xd5, 0x0e, 0xbd, 0x9b, 0x36, 0x33, 0x19, 0x6b, 0x6a, 0xed, 0xbd, 0xf1, 0x98, - 0x83, 0x2e, 0x5b, 0x50, 0x90, 0xc7, 0x21, 0x28, 0x25, 0x4b, 0xc7, 0x0e, 0x63, 0x6a, 0xea, 0x30, - 0x96, 0x40, 0xe9, 0x13, 0x98, 0xa6, 0x54, 0x74, 0x2e, 0x9d, 0x5b, 0x2a, 0x5b, 0xcd, 0x7a, 0x1d, - 0x28, 0x7a, 0x0e, 0xb3, 0x1c, 0xff, 0x47, 0x29, 0x78, 0x43, 0xe4, 0x94, 0xa2, 0x76, 0x21, 0x9b, - 0x21, 0x50, 0xf7, 0x05, 0xff, 0x8f, 0x19, 0x02, 0xda, 0x47, 0xef, 0xa4, 0xff, 0x04, 0x39, 0x7a, - 0x92, 0x50, 0xbb, 0x34, 0x82, 0x2b, 0xfc, 0x51, 0xc4, 0x6a, 0xdd, 0x2b, 0x23, 0x37, 0x2c, 0xd9, - 0x1f, 0x45, 0xfa, 0x96, 0x88, 0x07, 0x49, 0x72, 0xcb, 0x94, 0x16, 0x24, 0x99, 0x1b, 0xd5, 0xb4, - 0x20, 0xc9, 0xde, 0x85, 0xa9, 0x53, 0xc8, 0x87, 0x13, 0x29, 0x00, 0x19, 0x7a, 0x2f, 0x2b, 0xc8, - 0xd3, 0xd0, 0xba, 0xda, 0x8d, 0x31, 0xb9, 0xc3, 0x93, 0x2f, 0x3e, 0xfa, 0xf3, 0xd9, 0xa8, 0x51, - 0xe6, 0xe4, 0xc7, 0x3f, 0xf1, 0x8d, 0x7f, 0xcd, 0xc3, 0x3c, 0x07, 0x3f, 0x45, 0x05, 0xf3, 0x19, - 0xc0, 0xe0, 0xdc, 0x01, 0x5d, 0x4c, 0xf7, 0x49, 0xe4, 0x6c, 0xa6, 0xf6, 0xce, 0x70, 0xa6, 0x70, - 0xa0, 0x85, 0x30, 0xfc, 0xb4, 0x40, 0x4b, 0x1e, 0x55, 0xa4, 0x05, 0x5a, 0xca, 0x41, 0x80, 0x3a, - 0x85, 0x3e, 0x86, 0x62, 0x00, 0x16, 0xa3, 0x34, 0xb0, 0x39, 0x86, 0x86, 0xd7, 0x2e, 0x0e, 0xe5, - 0x09, 0x5b, 0x1d, 0x42, 0x82, 0xd3, 0xac, 0x4e, 0x22, 0xce, 0x69, 0x56, 0xa7, 0xc1, 0xc9, 0x03, - 0x9f, 0x70, 0xbc, 0x28, 0xd3, 0x27, 0x11, 0xb8, 0x2e, 0xd3, 0x27, 0x51, 0xd0, 0x49, 0x9d, 0x7a, - 0x74, 0xf9, 0x57, 0x5f, 0xad, 0x2a, 0xff, 0xf4, 0xd5, 0xea, 0xd4, 0x4f, 0xbf, 0x5e, 0x55, 0x7e, - 0xf5, 0xf5, 0xaa, 0xf2, 0x8f, 0x5f, 0xaf, 0x2a, 0xff, 0xf6, 0xf5, 0xaa, 0xf2, 0x67, 0xff, 0xbe, - 0x3a, 0xf5, 0xa3, 0x82, 0x94, 0x3e, 0x98, 0x65, 0xff, 0xf7, 0xe6, 0x83, 0xff, 0x0b, 0x00, 0x00, - 0xff, 0xff, 0xc2, 0xad, 0x03, 0x06, 0xbd, 0x48, 0x00, 0x00, + 0x76, 0x57, 0x93, 0xfa, 0x20, 0x1f, 0x45, 0x89, 0x2a, 0xcb, 0x16, 0x4d, 0x8f, 0x35, 0x56, 0xcf, + 0xf8, 0x73, 0x66, 0xe4, 0xb1, 0x66, 0xd7, 0x13, 0xdb, 0xb3, 0xb6, 0x69, 0x49, 0xb6, 0x99, 0xb5, + 0x29, 0xa6, 0x29, 0xcd, 0xc7, 0xce, 0x00, 0xbd, 0x2d, 0x76, 0x89, 0xea, 0x35, 0xd9, 0xd5, 0xd3, + 0xdd, 0xb4, 0xad, 0x04, 0x08, 0x16, 0x08, 0xb2, 0x87, 0x00, 0x01, 0x72, 0xce, 0x71, 0x73, 0xc8, + 0x21, 0xb7, 0x00, 0x41, 0x0e, 0x39, 0x6d, 0xb0, 0x87, 0xbd, 0x04, 0xc8, 0x69, 0x91, 0x8f, 0x4b, + 0x66, 0x92, 0x5c, 0x72, 0x08, 0xf2, 0x07, 0xe4, 0x10, 0xd4, 0x57, 0xb3, 0x3f, 0xf9, 0xe1, 0xf1, + 0xee, 0x4c, 0x4e, 0xea, 0x7a, 0xfd, 0xde, 0xab, 0x57, 0xaf, 0x5e, 0xbf, 0x7a, 0xf5, 0xab, 0xa2, + 0xa0, 0x68, 0x38, 0xd6, 0xa6, 0xe3, 0x12, 0x9f, 0xa0, 0x8a, 0x3b, 0xb0, 0x7d, 0xab, 0x8f, 0x37, + 0x9f, 0xdf, 0x30, 0x7a, 0xce, 0xb1, 0xb1, 0x55, 0x7b, 0xaf, 0x6b, 0xf9, 0xc7, 0x83, 0xc3, 0xcd, + 0x0e, 0xe9, 0x5f, 0xef, 0x92, 0x2e, 0xb9, 0xce, 0x18, 0x0f, 0x07, 0x47, 0xac, 0xc5, 0x1a, 0xec, + 0x89, 0x2b, 0x50, 0xaf, 0xc1, 0xd2, 0xc7, 0xd8, 0xf5, 0x2c, 0x62, 0x6b, 0xf8, 0xcb, 0x01, 0xf6, + 0x7c, 0x54, 0x85, 0x85, 0xe7, 0x9c, 0x52, 0x55, 0x2e, 0x28, 0x57, 0x8a, 0x9a, 0x6c, 0xaa, 0x7f, + 0xa9, 0xc0, 0x72, 0xc0, 0xec, 0x39, 0xc4, 0xf6, 0x70, 0x36, 0x37, 0xda, 0x80, 0x45, 0x61, 0x9c, + 0x6e, 0x1b, 0x7d, 0x5c, 0xcd, 0xb1, 0xd7, 0x25, 0x41, 0x6b, 0x1a, 0x7d, 0x8c, 0x2e, 0xc3, 0xb2, + 0x64, 0x91, 0x4a, 0xf2, 0x8c, 0x6b, 0x49, 0x90, 0x45, 0x6f, 0x68, 0x13, 0x4e, 0x49, 0x46, 0xc3, + 0xb1, 0x02, 0xe6, 0x59, 0xc6, 0xbc, 0x22, 0x5e, 0xd5, 0x1d, 0x4b, 0xf0, 0xab, 0x9f, 0x43, 0x71, + 0xa7, 0xd9, 0xde, 0x26, 0xf6, 0x91, 0xd5, 0xa5, 0x26, 0x7a, 0xd8, 0xa5, 0x32, 0x55, 0xe5, 0x42, + 0x9e, 0x9a, 0x28, 0x9a, 0xa8, 0x06, 0x05, 0x0f, 0x1b, 0x6e, 0xe7, 0x18, 0x7b, 0xd5, 0x1c, 0x7b, + 0x15, 0xb4, 0xa9, 0x14, 0x71, 0x7c, 0x8b, 0xd8, 0x5e, 0x35, 0xcf, 0xa5, 0x44, 0x53, 0xfd, 0xb9, + 0x02, 0xa5, 0x16, 0x71, 0xfd, 0xa7, 0x86, 0xe3, 0x58, 0x76, 0x17, 0xdd, 0x84, 0x02, 0xf3, 0x65, + 0x87, 0xf4, 0x98, 0x0f, 0x96, 0xb6, 0x6a, 0x9b, 0xf1, 0x69, 0xd9, 0x6c, 0x09, 0x0e, 0x2d, 0xe0, + 0x45, 0x17, 0x61, 0xa9, 0x43, 0x6c, 0xdf, 0xb0, 0x6c, 0xec, 0xea, 0x0e, 0x71, 0x7d, 0xe6, 0xa2, + 0x39, 0xad, 0x1c, 0x50, 0x69, 0x2f, 0xe8, 0x1c, 0x14, 0x8f, 0x89, 0xe7, 0x73, 0x8e, 0x3c, 0xe3, + 0x28, 0x50, 0x02, 0x7b, 0xb9, 0x06, 0x0b, 0xec, 0xa5, 0xe5, 0x08, 0x67, 0xcc, 0xd3, 0x66, 0xc3, + 0x51, 0x7f, 0xad, 0xc0, 0xdc, 0x53, 0x32, 0xb0, 0xfd, 0x58, 0x37, 0x86, 0x7f, 0x2c, 0x26, 0x2a, + 0xd4, 0x8d, 0xe1, 0x1f, 0x0f, 0xbb, 0xa1, 0x1c, 0x7c, 0xae, 0x78, 0x37, 0xf4, 0x65, 0x0d, 0x0a, + 0x2e, 0x36, 0x4c, 0x62, 0xf7, 0x4e, 0x98, 0x09, 0x05, 0x2d, 0x68, 0xd3, 0x49, 0xf4, 0x70, 0xcf, + 0xb2, 0x07, 0x2f, 0x75, 0x17, 0xf7, 0x8c, 0x43, 0xdc, 0x63, 0xa6, 0x14, 0xb4, 0x25, 0x41, 0xd6, + 0x38, 0x15, 0xed, 0x40, 0xc9, 0x71, 0x89, 0x63, 0x74, 0x0d, 0xea, 0xc7, 0xea, 0x1c, 0x73, 0x95, + 0x9a, 0x74, 0x15, 0x33, 0xbb, 0x35, 0xe4, 0xd4, 0xc2, 0x62, 0xea, 0x5f, 0x2b, 0xb0, 0x4c, 0x83, + 0xc7, 0x73, 0x8c, 0x0e, 0xde, 0x63, 0x53, 0x82, 0x6e, 0xc1, 0x82, 0x8d, 0xfd, 0x17, 0xc4, 0x7d, + 0x26, 0x26, 0xe0, 0xcd, 0xa4, 0xd6, 0x40, 0xe6, 0x29, 0x31, 0xb1, 0x26, 0xf9, 0xd1, 0x0d, 0xc8, + 0x3b, 0x96, 0xc9, 0x06, 0x3c, 0x81, 0x18, 0xe5, 0xa5, 0x22, 0x96, 0xd3, 0x61, 0x7e, 0x98, 0x44, + 0xc4, 0x72, 0x3a, 0xaa, 0x0a, 0xd0, 0xb0, 0xfd, 0x9b, 0xdf, 0xfb, 0xd8, 0xe8, 0x0d, 0x30, 0x5a, + 0x85, 0xb9, 0xe7, 0xf4, 0x81, 0x19, 0x9b, 0xd7, 0x78, 0x43, 0xfd, 0x2a, 0x0f, 0xe7, 0x9e, 0x50, + 0x7f, 0xb5, 0x0d, 0xdb, 0x3c, 0x24, 0x2f, 0xdb, 0xb8, 0x33, 0x70, 0x2d, 0xff, 0x64, 0x9b, 0xd8, + 0x3e, 0x7e, 0xe9, 0xa3, 0x26, 0xac, 0xd8, 0x52, 0xb3, 0x2e, 0x43, 0x93, 0x6a, 0x28, 0x6d, 0x6d, + 0x8c, 0x30, 0x82, 0xbb, 0x48, 0xab, 0xd8, 0x51, 0x82, 0x87, 0x1e, 0x0f, 0xe7, 0x4d, 0x6a, 0xcb, + 0x31, 0x6d, 0x29, 0x43, 0x6a, 0xef, 0x32, 0xcb, 0x84, 0x2e, 0x39, 0xb1, 0x52, 0xd3, 0x47, 0x40, + 0xbf, 0x6a, 0xdd, 0xf0, 0xf4, 0x81, 0x87, 0x5d, 0xe6, 0x98, 0xd2, 0xd6, 0x1b, 0x49, 0x2d, 0x43, + 0x17, 0x68, 0x45, 0x77, 0x60, 0xd7, 0xbd, 0x03, 0x0f, 0xbb, 0x2c, 0x09, 0x88, 0x58, 0xd2, 0x5d, + 0x42, 0xfc, 0x23, 0x4f, 0xc6, 0x8f, 0x24, 0x6b, 0x8c, 0x8a, 0xae, 0xc3, 0x29, 0x6f, 0xe0, 0x38, + 0x3d, 0xdc, 0xc7, 0xb6, 0x6f, 0xf4, 0xf4, 0xae, 0x4b, 0x06, 0x8e, 0x57, 0x9d, 0xbb, 0x90, 0xbf, + 0x92, 0xd7, 0x50, 0xf8, 0xd5, 0x23, 0xf6, 0x06, 0xad, 0x03, 0x38, 0xae, 0xf5, 0xdc, 0xea, 0xe1, + 0x2e, 0x36, 0xab, 0xf3, 0x4c, 0x69, 0x88, 0x82, 0xde, 0x87, 0x55, 0x0f, 0x77, 0x3a, 0xa4, 0xef, + 0xe8, 0x8e, 0x4b, 0x8e, 0xac, 0x1e, 0xe6, 0xd1, 0xbf, 0xc0, 0xa2, 0x1f, 0x89, 0x77, 0x2d, 0xfe, + 0x8a, 0x7d, 0x07, 0x77, 0x59, 0x4e, 0xa3, 0x23, 0x65, 0x9d, 0x57, 0x0b, 0x13, 0x0c, 0x15, 0xd8, + 0x50, 0x99, 0x49, 0xea, 0xcf, 0x73, 0x70, 0x9a, 0x79, 0xb2, 0x45, 0x4c, 0x31, 0xcd, 0x22, 0x49, + 0xbd, 0x05, 0xe5, 0x0e, 0xd3, 0xa9, 0x3b, 0x86, 0x8b, 0x6d, 0x5f, 0x7c, 0xa4, 0x8b, 0x9c, 0xd8, + 0x62, 0x34, 0xf4, 0x29, 0x54, 0x3c, 0x11, 0x15, 0x7a, 0x87, 0x87, 0x85, 0x98, 0xb3, 0xf7, 0x92, + 0x26, 0x8c, 0x88, 0x25, 0x6d, 0xd9, 0x4b, 0x04, 0xd7, 0x82, 0x77, 0xe2, 0x75, 0xfc, 0x1e, 0xcf, + 0x76, 0xa5, 0xad, 0xef, 0x65, 0x28, 0x8c, 0x1b, 0xbe, 0xd9, 0xe6, 0x62, 0xbb, 0xb6, 0xef, 0x9e, + 0x68, 0x52, 0x49, 0xed, 0x36, 0x2c, 0x86, 0x5f, 0xa0, 0x0a, 0xe4, 0x9f, 0xe1, 0x13, 0x31, 0x28, + 0xfa, 0x38, 0xfc, 0x08, 0x78, 0xae, 0xe1, 0x8d, 0xdb, 0xb9, 0xdf, 0x51, 0x54, 0x17, 0xd0, 0xb0, + 0x97, 0xa7, 0xd8, 0x37, 0x4c, 0xc3, 0x37, 0x10, 0x82, 0x59, 0xb6, 0x8c, 0x70, 0x15, 0xec, 0x99, + 0x6a, 0x1d, 0x88, 0x8f, 0xb7, 0xa8, 0xd1, 0x47, 0xf4, 0x06, 0x14, 0x83, 0x40, 0x17, 0x6b, 0xc9, + 0x90, 0x40, 0x73, 0xba, 0xe1, 0xfb, 0xb8, 0xef, 0xf8, 0x2c, 0xc4, 0xca, 0x9a, 0x6c, 0xaa, 0xff, + 0x3d, 0x0b, 0x95, 0xc4, 0x9c, 0xdc, 0x87, 0x42, 0x5f, 0x74, 0x2f, 0x3e, 0xb4, 0xb7, 0x53, 0x12, + 0x7b, 0xc2, 0x54, 0x2d, 0x90, 0xa2, 0x79, 0x93, 0xe6, 0xd0, 0xd0, 0xfa, 0x17, 0xb4, 0xe9, 0x8c, + 0xf7, 0x48, 0x57, 0x37, 0x2d, 0x17, 0x77, 0x7c, 0xe2, 0x9e, 0x08, 0x73, 0x17, 0x7b, 0xa4, 0xbb, + 0x23, 0x69, 0xe8, 0x36, 0x80, 0x69, 0x7b, 0x74, 0xb2, 0x8f, 0xac, 0x2e, 0x33, 0xba, 0xb4, 0x75, + 0x2e, 0x69, 0x44, 0xb0, 0xd8, 0x69, 0x45, 0xd3, 0xf6, 0x84, 0xf9, 0x0f, 0xa0, 0x4c, 0xd7, 0x0c, + 0xbd, 0xcf, 0xd7, 0x29, 0xfe, 0xa5, 0x94, 0xb6, 0xce, 0xa7, 0x8d, 0x21, 0x58, 0xcd, 0xb4, 0x45, + 0x67, 0xd8, 0xf0, 0xd0, 0x43, 0x98, 0x67, 0xc9, 0xdb, 0xab, 0xce, 0x33, 0xe1, 0xcd, 0x51, 0x0e, + 0x10, 0x11, 0xf1, 0x84, 0x09, 0xf0, 0x80, 0x10, 0xd2, 0xe8, 0x00, 0x4a, 0x86, 0x6d, 0x13, 0xdf, + 0xe0, 0x89, 0x66, 0x81, 0x29, 0xfb, 0x60, 0x02, 0x65, 0xf5, 0xa1, 0x14, 0xd7, 0x18, 0xd6, 0x83, + 0x7e, 0x00, 0x73, 0x2c, 0x13, 0x89, 0x0f, 0xf1, 0xf2, 0x84, 0x41, 0xab, 0x71, 0xa9, 0xda, 0x2d, + 0x28, 0x85, 0x8c, 0x9d, 0x26, 0x48, 0x6b, 0x77, 0xa1, 0x12, 0x37, 0x6d, 0xaa, 0x20, 0xff, 0x03, + 0x58, 0xd5, 0x06, 0xf6, 0xd0, 0x30, 0x59, 0x7d, 0xdd, 0x86, 0x79, 0x31, 0xd9, 0x3c, 0xe2, 0xd4, + 0xf1, 0x3e, 0xd2, 0x84, 0x44, 0xb8, 0x9c, 0x3a, 0x36, 0x6c, 0xb3, 0x87, 0x5d, 0xd1, 0xaf, 0x2c, + 0xa7, 0x1e, 0x73, 0xaa, 0xfa, 0x03, 0x38, 0x1d, 0xeb, 0x5c, 0x54, 0x73, 0x6f, 0xc3, 0x92, 0x43, + 0x4c, 0xdd, 0xe3, 0x64, 0xdd, 0x32, 0x65, 0x1a, 0x72, 0x02, 0xde, 0x86, 0x49, 0xc5, 0xdb, 0x3e, + 0x71, 0x92, 0xc6, 0x4f, 0x26, 0x5e, 0x85, 0x33, 0x71, 0x71, 0xde, 0xbd, 0x7a, 0x0f, 0xd6, 0x34, + 0xdc, 0x27, 0xcf, 0xf1, 0xab, 0xaa, 0xae, 0x41, 0x35, 0xa9, 0x40, 0x28, 0xff, 0x0c, 0xd6, 0x86, + 0xd4, 0xb6, 0x6f, 0xf8, 0x03, 0x6f, 0x2a, 0xe5, 0xa2, 0xd4, 0x3d, 0x24, 0x1e, 0x9f, 0xce, 0x82, + 0x26, 0x9b, 0xea, 0xd5, 0xb0, 0xea, 0x26, 0xaf, 0x2c, 0x78, 0x0f, 0x68, 0x09, 0x72, 0x96, 0x23, + 0xd4, 0xe5, 0x2c, 0x47, 0x7d, 0x0c, 0xc5, 0x60, 0x69, 0x46, 0x77, 0x86, 0x35, 0x66, 0x6e, 0xd2, + 0x85, 0x3c, 0x28, 0x43, 0xf7, 0x13, 0x4b, 0x89, 0xe8, 0xf2, 0x0e, 0x40, 0x90, 0xf2, 0x64, 0x85, + 0x70, 0x6e, 0x84, 0x62, 0x2d, 0xc4, 0xae, 0xfe, 0x4b, 0x24, 0x11, 0x86, 0x06, 0x61, 0x06, 0x83, + 0x30, 0x23, 0x89, 0x31, 0xf7, 0x4a, 0x89, 0xf1, 0x43, 0x98, 0xf3, 0x7c, 0xc3, 0xc7, 0xa2, 0x8a, + 0xda, 0x18, 0x25, 0x4e, 0x8d, 0xc0, 0x1a, 0xe7, 0x47, 0xe7, 0x01, 0x3a, 0x2e, 0x36, 0x7c, 0x6c, + 0xea, 0x06, 0xcf, 0xe2, 0x79, 0xad, 0x28, 0x28, 0x75, 0x1f, 0x6d, 0x0f, 0x2b, 0xc1, 0x39, 0x66, + 0xd8, 0xd5, 0x51, 0x9a, 0x23, 0x53, 0x35, 0xac, 0x09, 0x83, 0xac, 0x32, 0x3f, 0x61, 0x56, 0x11, + 0x0a, 0xb8, 0x54, 0x28, 0x67, 0x2e, 0x8c, 0xcf, 0x99, 0x5c, 0x74, 0x92, 0x9c, 0x59, 0x18, 0x9f, + 0x33, 0x85, 0xb2, 0x91, 0x39, 0xf3, 0xdb, 0x4c, 0x7a, 0xff, 0xac, 0x40, 0x35, 0xf9, 0x0d, 0x8a, + 0xdc, 0x73, 0x1b, 0xe6, 0x3d, 0x46, 0x99, 0x24, 0xf3, 0x09, 0x59, 0x21, 0x81, 0x1e, 0xc3, 0xac, + 0x65, 0x1f, 0x11, 0xb6, 0x89, 0x4b, 0xad, 0x5d, 0xb2, 0x7a, 0xdd, 0x6c, 0xd8, 0x47, 0x84, 0x3b, + 0x89, 0x69, 0xa8, 0x7d, 0x08, 0xc5, 0x80, 0x34, 0xd5, 0xd8, 0xf6, 0x60, 0x35, 0x16, 0xb2, 0xbc, + 0xd8, 0x0f, 0x22, 0x5d, 0x99, 0x2e, 0xd2, 0xd5, 0x9f, 0xe6, 0xc2, 0x5f, 0xe2, 0x43, 0xab, 0xe7, + 0x63, 0x37, 0xf1, 0x25, 0x7e, 0x24, 0xb5, 0xf3, 0xcf, 0xf0, 0xd2, 0x58, 0xed, 0xbc, 0x26, 0x15, + 0x1f, 0xd3, 0x17, 0xb0, 0xc4, 0x62, 0x4d, 0xf7, 0x70, 0x8f, 0x15, 0x1c, 0xa2, 0xf8, 0xfb, 0xfe, + 0x28, 0x35, 0xdc, 0x12, 0x1e, 0xb1, 0x6d, 0x21, 0xc7, 0x3d, 0x58, 0xee, 0x85, 0x69, 0xb5, 0xfb, + 0x80, 0x92, 0x4c, 0x53, 0xf9, 0xb4, 0x4d, 0x53, 0x1c, 0xdd, 0xe9, 0xa6, 0xac, 0x92, 0x47, 0xcc, + 0x8c, 0x49, 0x62, 0x85, 0x1b, 0xac, 0x09, 0x09, 0xf5, 0x97, 0x79, 0x80, 0xe1, 0xcb, 0xff, 0x47, + 0xb9, 0xed, 0x7e, 0x90, 0x57, 0x78, 0x21, 0x77, 0x65, 0x94, 0xe2, 0xd4, 0x8c, 0xb2, 0x17, 0xcd, + 0x28, 0xbc, 0xa4, 0x7b, 0x6f, 0xa4, 0x9a, 0xef, 0x6c, 0x2e, 0x79, 0x02, 0x67, 0xe2, 0xb1, 0x21, + 0x12, 0xc9, 0x16, 0xcc, 0x59, 0x3e, 0xee, 0x73, 0xb4, 0x27, 0x75, 0x77, 0x16, 0x12, 0xe2, 0xac, + 0xea, 0x06, 0x14, 0x1b, 0x7d, 0xa3, 0x8b, 0xdb, 0x0e, 0xee, 0xd0, 0x4e, 0x2d, 0xda, 0x10, 0x86, + 0xf0, 0x86, 0xba, 0x05, 0x85, 0x1f, 0xe2, 0x13, 0xfe, 0x51, 0x4f, 0x68, 0xa8, 0xfa, 0xa7, 0x39, + 0x58, 0x63, 0x6b, 0xc5, 0xb6, 0xc4, 0x5a, 0x34, 0xec, 0x91, 0x81, 0xdb, 0xc1, 0x1e, 0x9b, 0x6d, + 0x67, 0xa0, 0x3b, 0xd8, 0xb5, 0x88, 0x29, 0xa0, 0x80, 0x62, 0xc7, 0x19, 0xb4, 0x18, 0x01, 0x9d, + 0x03, 0xda, 0xd0, 0xbf, 0x1c, 0x10, 0x11, 0x88, 0x79, 0xad, 0xd0, 0x71, 0x06, 0xbf, 0x47, 0xdb, + 0x52, 0xd6, 0x3b, 0x36, 0x5c, 0xec, 0xb1, 0x38, 0xe3, 0xb2, 0x6d, 0x46, 0x40, 0x37, 0xe0, 0x74, + 0x1f, 0xf7, 0x89, 0x7b, 0xa2, 0xf7, 0xac, 0xbe, 0xe5, 0xeb, 0x96, 0xad, 0x1f, 0x9e, 0xf8, 0xd8, + 0x13, 0x31, 0x85, 0xf8, 0xcb, 0x27, 0xf4, 0x5d, 0xc3, 0x7e, 0x40, 0xdf, 0x20, 0x15, 0xca, 0x84, + 0xf4, 0x75, 0xaf, 0x43, 0x5c, 0xac, 0x1b, 0xe6, 0x4f, 0xd8, 0xf2, 0x99, 0xd7, 0x4a, 0x84, 0xf4, + 0xdb, 0x94, 0x56, 0x37, 0x7f, 0x82, 0xde, 0x84, 0x52, 0xc7, 0x19, 0x78, 0xd8, 0xd7, 0xe9, 0x1f, + 0xb6, 0x3a, 0x16, 0x35, 0xe0, 0xa4, 0x6d, 0x67, 0xe0, 0x85, 0x18, 0xfa, 0xd4, 0xff, 0x0b, 0x61, + 0x86, 0xa7, 0xd4, 0xcd, 0x06, 0x94, 0x23, 0x50, 0x02, 0xdd, 0xd5, 0x31, 0xcc, 0x40, 0xec, 0xea, + 0xe8, 0x33, 0xa5, 0xb9, 0xa4, 0x27, 0x3d, 0xc9, 0x9e, 0x29, 0xcd, 0x3f, 0x71, 0xe4, 0x96, 0x8e, + 0x3d, 0x53, 0x97, 0xf7, 0xf0, 0x73, 0x01, 0x37, 0x15, 0x35, 0xde, 0x50, 0x4d, 0x80, 0x6d, 0xc3, + 0x31, 0x0e, 0xad, 0x9e, 0xe5, 0x9f, 0xa0, 0xab, 0x50, 0x31, 0x4c, 0x53, 0xef, 0x48, 0x8a, 0x85, + 0x25, 0x08, 0xb8, 0x6c, 0x98, 0xe6, 0x76, 0x88, 0x8c, 0xde, 0x81, 0x15, 0xd3, 0x25, 0x4e, 0x94, + 0x97, 0xa3, 0x82, 0x15, 0xfa, 0x22, 0xcc, 0xac, 0xfe, 0xc7, 0x1c, 0x9c, 0x8f, 0x4e, 0x6c, 0x1c, + 0xae, 0xb9, 0x0f, 0x8b, 0xb1, 0x5e, 0x33, 0xa0, 0x82, 0xa1, 0xb5, 0x5a, 0x44, 0x22, 0x06, 0x5f, + 0xe4, 0x12, 0xf0, 0x45, 0x2a, 0x20, 0x94, 0x7f, 0xad, 0x80, 0xd0, 0xec, 0x6b, 0x01, 0x84, 0xe6, + 0xa6, 0x03, 0x84, 0x2e, 0xb1, 0x6d, 0x8c, 0x94, 0x66, 0x7b, 0x67, 0x1e, 0x6a, 0xe5, 0x80, 0xc7, + 0x96, 0xe8, 0x71, 0x0c, 0x38, 0x5a, 0x98, 0x06, 0x38, 0x2a, 0x64, 0x02, 0x47, 0x34, 0x6a, 0x1c, + 0xc7, 0x70, 0xfb, 0xc4, 0x95, 0xc8, 0x50, 0xb5, 0xc8, 0x4c, 0x58, 0x96, 0x74, 0x81, 0x0a, 0x65, + 0x62, 0x48, 0x90, 0x89, 0x21, 0x5d, 0x80, 0x45, 0x9b, 0xe8, 0x36, 0x7e, 0xa1, 0xd3, 0xb9, 0xf4, + 0xaa, 0x25, 0x3e, 0xb1, 0x36, 0x69, 0xe2, 0x17, 0x2d, 0x4a, 0x49, 0xa0, 0x4c, 0x8b, 0xd3, 0xa1, + 0x4c, 0x68, 0x03, 0x16, 0xfb, 0x86, 0xf7, 0x0c, 0x9b, 0xcc, 0x14, 0xaf, 0x5a, 0x66, 0x41, 0x5c, + 0xe2, 0x34, 0x6a, 0x83, 0x87, 0x2e, 0x42, 0xe0, 0x24, 0xc1, 0xb4, 0xc4, 0x98, 0xca, 0x92, 0xca, + 0xd8, 0xd4, 0xbf, 0x53, 0x60, 0x35, 0x1a, 0xe6, 0x02, 0x5b, 0x78, 0x04, 0x45, 0x57, 0x66, 0x32, + 0x11, 0xda, 0x57, 0x33, 0xca, 0xe4, 0x64, 0xea, 0xd3, 0x86, 0xb2, 0xe8, 0x47, 0x99, 0x90, 0xd6, + 0xf5, 0x71, 0xfa, 0xc6, 0x81, 0x5a, 0x6a, 0x03, 0xde, 0xfc, 0xc4, 0xb2, 0x4d, 0xf2, 0xc2, 0xcb, + 0xfc, 0x4a, 0x53, 0x62, 0x4d, 0x49, 0x89, 0x35, 0xf5, 0x17, 0x0a, 0x9c, 0x89, 0xeb, 0x12, 0xae, + 0x68, 0x24, 0x5d, 0xf1, 0x4e, 0xd2, 0xf4, 0xb8, 0x70, 0xaa, 0x33, 0xbe, 0xc8, 0x74, 0xc6, 0x8d, + 0xf1, 0x1a, 0xc7, 0xba, 0xe3, 0xaf, 0x14, 0x38, 0x9b, 0x69, 0x46, 0x6c, 0x49, 0x51, 0xe2, 0x4b, + 0x8a, 0x58, 0x8e, 0x3a, 0x64, 0x60, 0xfb, 0xa1, 0xe5, 0x68, 0x9b, 0x1d, 0x31, 0xf0, 0xbc, 0xaf, + 0xf7, 0x8d, 0x97, 0x56, 0x7f, 0xd0, 0x17, 0xeb, 0x11, 0x55, 0xf7, 0x94, 0x53, 0x5e, 0x61, 0x41, + 0x52, 0xeb, 0xb0, 0x12, 0x58, 0x39, 0x12, 0x04, 0x0c, 0x81, 0x7a, 0xb9, 0x28, 0xa8, 0x67, 0xc3, + 0xfc, 0x0e, 0x7e, 0x6e, 0x75, 0xf0, 0x6b, 0x39, 0x03, 0xb9, 0x00, 0x25, 0x07, 0xbb, 0x7d, 0xcb, + 0xf3, 0x82, 0x44, 0x5b, 0xd4, 0xc2, 0x24, 0xf5, 0x3f, 0xe7, 0x61, 0x39, 0x1e, 0x1d, 0xf7, 0x12, + 0x18, 0xe2, 0x5b, 0x29, 0x4b, 0x40, 0x7c, 0xa0, 0xa1, 0x6a, 0xf2, 0x86, 0x2c, 0x46, 0x72, 0x59, + 0x1b, 0xf9, 0xa0, 0x70, 0x11, 0x95, 0x0a, 0xf5, 0x48, 0x87, 0xf4, 0xfb, 0x86, 0x6d, 0xca, 0xa3, + 0x2b, 0xd1, 0xa4, 0xfe, 0x33, 0xdc, 0x2e, 0x75, 0x3b, 0x25, 0xb3, 0x67, 0x3a, 0x79, 0x74, 0xd7, + 0x6b, 0xd9, 0x0c, 0x8b, 0x64, 0xc9, 0xba, 0xa8, 0x81, 0x20, 0xed, 0x58, 0x2e, 0xda, 0x84, 0x59, + 0x6c, 0x3f, 0x97, 0xe5, 0x62, 0xca, 0xd9, 0x96, 0x2c, 0x8b, 0x34, 0xc6, 0x87, 0xae, 0xc3, 0x7c, + 0x9f, 0x86, 0x85, 0xdc, 0xff, 0xae, 0x65, 0x1c, 0xf1, 0x68, 0x82, 0x0d, 0x6d, 0xc1, 0x82, 0xc9, + 0xe6, 0x49, 0x6e, 0x72, 0xab, 0x29, 0x08, 0x27, 0x63, 0xd0, 0x24, 0x23, 0xda, 0x0d, 0x8a, 0xe1, + 0x62, 0x56, 0x15, 0x1b, 0x9b, 0x8a, 0xd4, 0x8a, 0x78, 0x3f, 0x5a, 0x11, 0x03, 0xd3, 0xb5, 0x35, + 0x5e, 0xd7, 0x68, 0x58, 0xf2, 0x2c, 0x14, 0x7a, 0xa4, 0xcb, 0xc3, 0xa8, 0xc4, 0x4f, 0x45, 0x7b, + 0xa4, 0xcb, 0xa2, 0x68, 0x95, 0x6e, 0x0e, 0x4c, 0xcb, 0x66, 0x49, 0xbd, 0xa0, 0xf1, 0x06, 0xfd, + 0xf8, 0xd8, 0x83, 0x4e, 0xec, 0x0e, 0xae, 0x96, 0xd9, 0xab, 0x22, 0xa3, 0xec, 0xd9, 0x1d, 0x56, + 0x6e, 0xfa, 0xfe, 0x49, 0x75, 0x89, 0xd1, 0xe9, 0x23, 0xdd, 0xf7, 0x71, 0x88, 0x62, 0x39, 0x6b, + 0xdf, 0x97, 0x96, 0xb6, 0x25, 0x42, 0xf1, 0x00, 0x16, 0x5e, 0xf0, 0x44, 0x50, 0xad, 0x30, 0xf9, + 0x2b, 0xe3, 0xd3, 0x8b, 0xd0, 0x20, 0x05, 0xbf, 0xcd, 0xd2, 0xff, 0x97, 0x0a, 0x9c, 0xd9, 0x66, + 0xdb, 0xa2, 0x50, 0x1e, 0x9b, 0x06, 0xc9, 0xbb, 0x15, 0x80, 0xac, 0x99, 0xb0, 0x5b, 0x7c, 0xdc, + 0x12, 0x63, 0x6d, 0xc0, 0x92, 0x54, 0x2e, 0x54, 0xe4, 0x27, 0xc6, 0x69, 0xcb, 0x5e, 0xb8, 0xa9, + 0x7e, 0x04, 0x6b, 0x89, 0x51, 0x88, 0x2d, 0xcc, 0x06, 0x2c, 0x0e, 0xf3, 0x55, 0x30, 0x88, 0x52, + 0x40, 0x6b, 0x98, 0xea, 0x6d, 0x38, 0xdd, 0xf6, 0x0d, 0xd7, 0x4f, 0xb8, 0x60, 0x02, 0x59, 0x86, + 0xc0, 0x46, 0x65, 0x05, 0x48, 0xda, 0x86, 0xd5, 0xb6, 0x4f, 0x9c, 0x57, 0x50, 0x4a, 0xb3, 0x0e, + 0x1d, 0x3f, 0x19, 0xc8, 0xf5, 0x41, 0x36, 0xd5, 0x35, 0x8e, 0x17, 0x27, 0x7b, 0xbb, 0x03, 0x67, + 0x38, 0x5c, 0xfb, 0x2a, 0x83, 0x38, 0x2b, 0xc1, 0xe2, 0xa4, 0xde, 0xa7, 0x70, 0x6a, 0xb8, 0x2c, + 0x0e, 0xa1, 0x98, 0x9b, 0x51, 0x28, 0xe6, 0xc2, 0x88, 0x59, 0x8f, 0x20, 0x31, 0x7f, 0x91, 0x0b, + 0xe5, 0xf5, 0x0c, 0x20, 0xe6, 0x4e, 0x14, 0x88, 0xb9, 0x38, 0x4e, 0x77, 0x04, 0x87, 0x49, 0x46, + 0x6d, 0x3e, 0x25, 0x6a, 0x3f, 0x4f, 0xa0, 0x35, 0xb3, 0x59, 0x70, 0x57, 0xcc, 0xda, 0xdf, 0x0a, + 0x58, 0xa3, 0x71, 0xb0, 0x26, 0xe8, 0x3a, 0x40, 0xd7, 0x6f, 0xc5, 0xc0, 0x9a, 0x8d, 0xb1, 0xf6, + 0x06, 0x58, 0xcd, 0xdf, 0xcc, 0x42, 0x31, 0x78, 0x97, 0xf0, 0x79, 0xd2, 0x6d, 0xb9, 0x14, 0xb7, + 0x85, 0x57, 0xe0, 0xfc, 0x37, 0x5a, 0x81, 0x67, 0x27, 0x5e, 0x81, 0xcf, 0x41, 0x91, 0x3d, 0xe8, + 0x2e, 0x3e, 0x12, 0x2b, 0x6a, 0x81, 0x11, 0x34, 0x7c, 0x34, 0x0c, 0xc3, 0xf9, 0xa9, 0xc2, 0x30, + 0x06, 0x0f, 0x2d, 0xc4, 0xe1, 0xa1, 0x7b, 0xc1, 0x8a, 0xc8, 0x17, 0xd1, 0xcb, 0x23, 0xf4, 0xa6, + 0xae, 0x85, 0xcd, 0xe8, 0x5a, 0xc8, 0xd7, 0xd5, 0x77, 0x47, 0x69, 0xf9, 0xce, 0x82, 0x43, 0x07, + 0x1c, 0x1c, 0x0a, 0xc7, 0xa2, 0xc8, 0xac, 0x77, 0x00, 0x82, 0x24, 0x22, 0x11, 0xa2, 0x73, 0x23, + 0xc6, 0xa8, 0x85, 0xd8, 0xa9, 0xda, 0xc8, 0xd4, 0x0c, 0x4f, 0x90, 0x26, 0xcb, 0x8f, 0x19, 0xc7, + 0x47, 0xff, 0x3b, 0x17, 0xca, 0x2f, 0x19, 0x47, 0x2e, 0xf7, 0x12, 0xb0, 0xe4, 0x94, 0x51, 0x7c, + 0x33, 0x8a, 0x4a, 0xbe, 0x62, 0xd4, 0x25, 0x40, 0x49, 0x56, 0xb9, 0x18, 0xae, 0x78, 0xcd, 0x41, + 0xa3, 0xa2, 0xa0, 0xd4, 0xd9, 0xce, 0xe0, 0xc8, 0xb2, 0x2d, 0xef, 0x98, 0xbf, 0x9f, 0xe7, 0x3b, + 0x03, 0x49, 0xaa, 0xb3, 0xdb, 0x4d, 0xf8, 0xa5, 0xe5, 0xeb, 0x1d, 0x62, 0x62, 0x16, 0xd3, 0x73, + 0x5a, 0x81, 0x12, 0xb6, 0x89, 0x89, 0x87, 0x5f, 0x5e, 0xe1, 0xd5, 0xbe, 0xbc, 0x62, 0xec, 0xcb, + 0x3b, 0x03, 0xf3, 0x2e, 0x36, 0x3c, 0x62, 0x8b, 0xed, 0xb9, 0x68, 0xd1, 0xa9, 0xe9, 0x63, 0xcf, + 0xa3, 0x3d, 0x89, 0x72, 0x4d, 0x34, 0x43, 0x65, 0xe6, 0xe2, 0xd8, 0x32, 0x73, 0xc4, 0x51, 0x4e, + 0xac, 0xcc, 0x2c, 0x8f, 0x2d, 0x33, 0x27, 0x39, 0xc9, 0x09, 0x15, 0xda, 0x4b, 0x93, 0x15, 0xda, + 0xe1, 0xba, 0x74, 0x39, 0x52, 0x97, 0x7e, 0x9b, 0x1f, 0xeb, 0xaf, 0x15, 0x58, 0x4b, 0x7c, 0x56, + 0xe2, 0x73, 0xbd, 0x15, 0x3b, 0x14, 0xda, 0x18, 0xeb, 0xb3, 0xe0, 0x4c, 0xe8, 0x51, 0xe4, 0x4c, + 0xe8, 0x83, 0xf1, 0x82, 0xaf, 0xfd, 0x48, 0xe8, 0x8f, 0x15, 0x78, 0xf3, 0xc0, 0x31, 0x63, 0x15, + 0x9e, 0xd8, 0xf6, 0x4f, 0x9e, 0x38, 0xee, 0xc9, 0x5a, 0x3f, 0x37, 0x2d, 0xce, 0xc2, 0xe5, 0x54, + 0x15, 0x2e, 0x64, 0x9b, 0x21, 0x4a, 0xa6, 0x1f, 0xc3, 0xf2, 0xee, 0x4b, 0xdc, 0x69, 0x9f, 0xd8, + 0x9d, 0x29, 0x4c, 0xab, 0x40, 0xbe, 0xd3, 0x37, 0x05, 0x4a, 0x4a, 0x1f, 0xc3, 0x55, 0x60, 0x3e, + 0x5a, 0x05, 0xea, 0x50, 0x19, 0xf6, 0x20, 0xa6, 0xf7, 0x0c, 0x9d, 0x5e, 0x93, 0x32, 0x53, 0xe5, + 0x8b, 0x9a, 0x68, 0x09, 0x3a, 0x76, 0xf9, 0x05, 0x06, 0x4e, 0xc7, 0xae, 0x1b, 0xcd, 0x16, 0xf9, + 0x68, 0xb6, 0x50, 0xff, 0x5c, 0x81, 0x12, 0xed, 0xe1, 0x1b, 0xd9, 0x2f, 0xb6, 0x5a, 0xf9, 0xe1, + 0x56, 0x2b, 0xd8, 0xb1, 0xcd, 0x86, 0x77, 0x6c, 0x43, 0xcb, 0xe7, 0x18, 0x39, 0x69, 0xf9, 0x7c, + 0x40, 0xc7, 0xae, 0xab, 0x5e, 0x80, 0x45, 0x6e, 0x9b, 0x18, 0x79, 0x05, 0xf2, 0x03, 0xb7, 0x27, + 0xe3, 0x68, 0xe0, 0xf6, 0xd4, 0x3f, 0x51, 0xa0, 0x5c, 0xf7, 0x7d, 0xa3, 0x73, 0x3c, 0xc5, 0x00, + 0x02, 0xe3, 0x72, 0x61, 0xe3, 0x92, 0x83, 0x18, 0x9a, 0x3b, 0x9b, 0x61, 0xee, 0x5c, 0xc4, 0x5c, + 0x15, 0x96, 0xa4, 0x2d, 0x99, 0x06, 0x37, 0x01, 0xb5, 0x88, 0xeb, 0x3f, 0x24, 0xee, 0x0b, 0xc3, + 0x35, 0xa7, 0xdb, 0x81, 0x21, 0x98, 0x15, 0x37, 0x5e, 0xf3, 0x57, 0xe6, 0x34, 0xf6, 0xac, 0x5e, + 0x86, 0x53, 0x11, 0x7d, 0x99, 0x1d, 0xdf, 0x87, 0x12, 0xcb, 0xfb, 0xa2, 0x14, 0xbf, 0x11, 0x3e, + 0xae, 0x99, 0x68, 0x95, 0x50, 0x7f, 0x17, 0x56, 0x68, 0x7d, 0xc0, 0xe8, 0xc1, 0xa7, 0xf8, 0xfd, + 0x58, 0x9d, 0x7a, 0x3e, 0x43, 0x51, 0xac, 0x46, 0xfd, 0x5b, 0x05, 0xe6, 0x18, 0x3d, 0xb1, 0x66, + 0x9f, 0x83, 0xa2, 0x8b, 0x1d, 0xa2, 0xfb, 0x46, 0x37, 0xb8, 0x5f, 0x4c, 0x09, 0xfb, 0x46, 0xd7, + 0x63, 0xd7, 0xa3, 0xe9, 0x4b, 0xd3, 0xea, 0x62, 0xcf, 0x97, 0x97, 0x8c, 0x4b, 0x94, 0xb6, 0xc3, + 0x49, 0xd4, 0x49, 0x9e, 0xf5, 0xfb, 0xbc, 0xee, 0x9c, 0xd5, 0xd8, 0x33, 0xda, 0xe4, 0x57, 0xde, + 0x26, 0x81, 0xd4, 0xd9, 0x85, 0xb8, 0x1a, 0x14, 0x62, 0x28, 0x7a, 0xd0, 0x56, 0x77, 0x01, 0x85, + 0xbd, 0x20, 0xfc, 0x7d, 0x1d, 0xe6, 0x99, 0x93, 0x64, 0x75, 0xb4, 0x96, 0xe1, 0x06, 0x4d, 0xb0, + 0xa9, 0x06, 0x20, 0xee, 0xe0, 0x48, 0x45, 0x34, 0xfd, 0xac, 0x8c, 0xa8, 0x90, 0xfe, 0x5e, 0x81, + 0x53, 0x91, 0x3e, 0x84, 0xad, 0xef, 0x45, 0x3b, 0xc9, 0x34, 0x55, 0x74, 0xb0, 0x1d, 0x59, 0x12, + 0xae, 0x67, 0x99, 0xf4, 0x1b, 0x5a, 0x0e, 0xfe, 0x41, 0x01, 0xa8, 0x0f, 0xfc, 0x63, 0x81, 0x0c, + 0x86, 0x67, 0x46, 0x89, 0xce, 0x0c, 0x7d, 0xe7, 0x18, 0x9e, 0xf7, 0x82, 0xb8, 0x72, 0x4f, 0x13, + 0xb4, 0x19, 0x86, 0x37, 0xf0, 0x8f, 0xe5, 0x51, 0x18, 0x7d, 0x46, 0x17, 0x61, 0x89, 0xdf, 0x69, + 0xd7, 0x0d, 0xd3, 0x74, 0xb1, 0xe7, 0x89, 0x33, 0xb1, 0x32, 0xa7, 0xd6, 0x39, 0x91, 0xb2, 0x59, + 0x26, 0xb6, 0x7d, 0xcb, 0x3f, 0xd1, 0x7d, 0xf2, 0x0c, 0xdb, 0x62, 0x6f, 0x52, 0x96, 0xd4, 0x7d, + 0x4a, 0xe4, 0x87, 0x03, 0x5d, 0xcb, 0xf3, 0x5d, 0xc9, 0x26, 0xcf, 0x5f, 0x04, 0x95, 0xb1, 0xd1, + 0x49, 0xa9, 0xb4, 0x06, 0xbd, 0x1e, 0x77, 0xf1, 0xab, 0x4f, 0xfb, 0xfb, 0x62, 0x40, 0xb9, 0xac, + 0x98, 0x1e, 0x3a, 0x4d, 0x0c, 0xf7, 0x35, 0x82, 0x30, 0xef, 0xc3, 0x4a, 0x68, 0x0c, 0x22, 0xac, + 0x22, 0x45, 0xa4, 0x12, 0x2d, 0x22, 0xd5, 0x47, 0x80, 0x38, 0xee, 0xf0, 0x0d, 0xc7, 0xad, 0x9e, + 0x86, 0x53, 0x11, 0x45, 0x62, 0x25, 0xbe, 0x06, 0x65, 0x71, 0x2f, 0x49, 0x04, 0xca, 0x59, 0x28, + 0xd0, 0x8c, 0xda, 0xb1, 0x4c, 0x79, 0x4e, 0xba, 0xe0, 0x10, 0x73, 0xdb, 0x32, 0x5d, 0xf5, 0x13, + 0x28, 0x6b, 0xbc, 0x1f, 0xc1, 0xfb, 0x10, 0x96, 0xc4, 0x2d, 0x26, 0x3d, 0x72, 0x8d, 0x30, 0xed, + 0x9a, 0x7a, 0xb8, 0x13, 0xad, 0x6c, 0x87, 0x9b, 0xaa, 0x09, 0x35, 0x5e, 0x32, 0x44, 0xd4, 0xcb, + 0xc1, 0x3e, 0x04, 0x79, 0xa3, 0x70, 0x6c, 0x2f, 0x51, 0xf9, 0xb2, 0x1b, 0x6e, 0xaa, 0xe7, 0xe1, + 0x5c, 0x6a, 0x2f, 0xc2, 0x13, 0x0e, 0x54, 0x86, 0x2f, 0x4c, 0x4b, 0x1e, 0x18, 0xb3, 0x83, 0x60, + 0x25, 0x74, 0x10, 0x7c, 0x26, 0x28, 0x12, 0x73, 0x72, 0x11, 0x63, 0x15, 0xe0, 0xb0, 0xdc, 0xcf, + 0x67, 0x95, 0xfb, 0xb3, 0x91, 0x72, 0x5f, 0x6d, 0x07, 0xfe, 0x14, 0xdb, 0xb0, 0x07, 0x6c, 0xbb, + 0xc8, 0xfb, 0x96, 0x09, 0x51, 0x1d, 0x35, 0x4a, 0xce, 0xaa, 0x85, 0xa4, 0xd4, 0xab, 0x50, 0x8e, + 0xa6, 0xc6, 0x50, 0x9e, 0x53, 0x12, 0x79, 0x6e, 0x29, 0x96, 0xe2, 0x3e, 0x8c, 0x55, 0xc0, 0xd9, + 0x3e, 0x8e, 0xd5, 0xbf, 0x77, 0x23, 0xc9, 0xee, 0x5a, 0xca, 0x19, 0xee, 0x6f, 0x28, 0xcf, 0xad, + 0x8a, 0xf5, 0xe0, 0xa1, 0x47, 0xe5, 0xc5, 0xa0, 0xd5, 0xb7, 0xa0, 0x74, 0x90, 0xf5, 0x1b, 0x88, + 0x59, 0x79, 0x5f, 0xe2, 0x26, 0xac, 0x3e, 0xb4, 0x7a, 0xd8, 0x3b, 0xf1, 0x7c, 0xdc, 0x6f, 0xb0, + 0xa4, 0x74, 0x64, 0x61, 0x17, 0xad, 0x03, 0xb0, 0x2d, 0x8c, 0x43, 0xac, 0xe0, 0x6a, 0x7c, 0x88, + 0xa2, 0xfe, 0x97, 0x02, 0xcb, 0x43, 0xc1, 0x03, 0xb6, 0x75, 0x7b, 0x03, 0x8a, 0x74, 0xbc, 0x9e, + 0x6f, 0xf4, 0x1d, 0x79, 0x9e, 0x15, 0x10, 0xd0, 0x1d, 0x98, 0x3b, 0xf2, 0x24, 0x64, 0x94, 0x0a, + 0xa0, 0xa7, 0x19, 0xa2, 0xcd, 0x1e, 0x79, 0x0d, 0x13, 0x7d, 0x04, 0x30, 0xf0, 0xb0, 0x29, 0xce, + 0xb0, 0xf2, 0x59, 0xd5, 0xc2, 0x41, 0xf8, 0x7c, 0x9b, 0x0a, 0xf0, 0xab, 0x16, 0x77, 0xa1, 0x64, + 0xd9, 0xc4, 0xc4, 0xec, 0xcc, 0xd1, 0x14, 0xa8, 0xd2, 0x18, 0x71, 0xe0, 0x12, 0x07, 0x1e, 0x36, + 0x55, 0x2c, 0xd6, 0x42, 0xe9, 0x5f, 0x11, 0x28, 0x4d, 0x58, 0xe1, 0x49, 0xeb, 0x28, 0x30, 0x5c, + 0x46, 0xec, 0xc6, 0xa8, 0xd1, 0x31, 0x6f, 0x69, 0x15, 0x4b, 0x94, 0x36, 0x52, 0x54, 0xbd, 0x0d, + 0xa7, 0x23, 0x3b, 0xa4, 0x29, 0xb6, 0x2c, 0x6a, 0x2b, 0x06, 0x94, 0x0c, 0xc3, 0x59, 0xc0, 0x10, + 0x32, 0x9a, 0xc7, 0xc1, 0x10, 0x1e, 0x87, 0x21, 0x3c, 0xf5, 0x73, 0x38, 0x1b, 0x41, 0x74, 0x22, + 0x16, 0xdd, 0x8d, 0x55, 0x6e, 0x97, 0xc6, 0x69, 0x8d, 0x95, 0x70, 0xff, 0xa3, 0xc0, 0x6a, 0x1a, + 0xc3, 0x2b, 0x22, 0x8e, 0x3f, 0xce, 0xb8, 0x56, 0x77, 0x6b, 0x32, 0xb3, 0x7e, 0x2b, 0x68, 0xed, + 0x3e, 0xd4, 0xd2, 0xfc, 0x99, 0x9c, 0xa5, 0xfc, 0x34, 0xb3, 0xf4, 0xb3, 0x7c, 0x08, 0x79, 0xaf, + 0xfb, 0xbe, 0x6b, 0x1d, 0x0e, 0x68, 0xc8, 0xbf, 0x76, 0x34, 0xab, 0x11, 0xe0, 0x32, 0xdc, 0xb5, + 0x37, 0x46, 0x88, 0x0f, 0xed, 0x48, 0xc5, 0x66, 0x3e, 0x8d, 0x62, 0x33, 0x1c, 0x53, 0xbf, 0x39, + 0x99, 0xbe, 0xef, 0x2c, 0x00, 0xfa, 0xb3, 0x1c, 0x2c, 0x45, 0xa7, 0x08, 0xed, 0x02, 0x18, 0x81, + 0xe5, 0xe2, 0x43, 0xb9, 0x38, 0xd1, 0x30, 0xb5, 0x90, 0x20, 0x7a, 0x17, 0xf2, 0x1d, 0x67, 0x20, + 0x66, 0x2d, 0xe5, 0x30, 0x78, 0xdb, 0x19, 0xf0, 0x8c, 0x42, 0xd9, 0xe8, 0x9e, 0x8a, 0x9f, 0xed, + 0x67, 0x67, 0xc9, 0xa7, 0xec, 0x3d, 0x97, 0x11, 0xcc, 0xe8, 0x31, 0x2c, 0xbd, 0x70, 0x2d, 0xdf, + 0x38, 0xec, 0x61, 0xbd, 0x67, 0x9c, 0x60, 0x57, 0x64, 0xc9, 0x09, 0x12, 0x59, 0x59, 0x0a, 0x3e, + 0xa1, 0x72, 0xea, 0x1f, 0x42, 0x41, 0x5a, 0x34, 0x66, 0x45, 0xd8, 0x87, 0xb5, 0x01, 0x65, 0xd3, + 0xd9, 0x15, 0x38, 0xdb, 0xb0, 0x89, 0xee, 0x61, 0xba, 0x8c, 0xcb, 0xcb, 0xf9, 0x63, 0x52, 0xf4, + 0x2a, 0x93, 0xde, 0x26, 0x2e, 0x6e, 0x1a, 0x36, 0x69, 0x73, 0x51, 0xf5, 0x39, 0x94, 0x42, 0x03, + 0x1c, 0x63, 0x42, 0x03, 0x56, 0xe4, 0x51, 0xbc, 0x87, 0x7d, 0xb1, 0xbc, 0x4c, 0xd4, 0xf9, 0xb2, + 0x90, 0x6b, 0x63, 0x9f, 0x5f, 0x9f, 0xb8, 0x0b, 0x67, 0x35, 0x4c, 0x1c, 0x6c, 0x07, 0xf3, 0xf9, + 0x84, 0x74, 0xa7, 0xc8, 0xe0, 0x6f, 0x40, 0x2d, 0x4d, 0x9e, 0xe7, 0x87, 0x6b, 0x97, 0xa0, 0x20, + 0x7f, 0xd0, 0x8a, 0x16, 0x20, 0xbf, 0xbf, 0xdd, 0xaa, 0xcc, 0xd0, 0x87, 0x83, 0x9d, 0x56, 0x45, + 0x41, 0x05, 0x98, 0x6d, 0x6f, 0xef, 0xb7, 0x2a, 0xb9, 0x6b, 0x7d, 0xa8, 0xc4, 0x7f, 0xcd, 0x89, + 0xd6, 0xe0, 0x54, 0x4b, 0xdb, 0x6b, 0xd5, 0x1f, 0xd5, 0xf7, 0x1b, 0x7b, 0x4d, 0xbd, 0xa5, 0x35, + 0x3e, 0xae, 0xef, 0xef, 0x56, 0x66, 0xd0, 0x06, 0x9c, 0x0f, 0xbf, 0x78, 0xbc, 0xd7, 0xde, 0xd7, + 0xf7, 0xf7, 0xf4, 0xed, 0xbd, 0xe6, 0x7e, 0xbd, 0xd1, 0xdc, 0xd5, 0x2a, 0x0a, 0x3a, 0x0f, 0x67, + 0xc3, 0x2c, 0x0f, 0x1a, 0x3b, 0x0d, 0x6d, 0x77, 0x9b, 0x3e, 0xd7, 0x9f, 0x54, 0x72, 0xd7, 0x6e, + 0x40, 0x39, 0xf2, 0xe3, 0x4b, 0x6a, 0x52, 0x6b, 0x6f, 0xa7, 0x32, 0x83, 0xca, 0x50, 0x0c, 0xeb, + 0x29, 0xc0, 0x6c, 0x73, 0x6f, 0x67, 0xb7, 0x92, 0xbb, 0x76, 0x1b, 0x96, 0x63, 0xb7, 0x71, 0xd1, + 0x0a, 0x94, 0xdb, 0xf5, 0xe6, 0xce, 0x83, 0xbd, 0x4f, 0x75, 0x6d, 0xb7, 0xbe, 0xf3, 0x59, 0x65, + 0x06, 0xad, 0x42, 0x45, 0x92, 0x9a, 0x7b, 0xfb, 0x9c, 0xaa, 0x5c, 0x7b, 0x16, 0xfb, 0xc6, 0x30, + 0x3a, 0x0d, 0x2b, 0x41, 0x37, 0xfa, 0xb6, 0xb6, 0x5b, 0xdf, 0xdf, 0xa5, 0xbd, 0x47, 0xc8, 0xda, + 0x41, 0xb3, 0xd9, 0x68, 0x3e, 0xaa, 0x28, 0x54, 0xeb, 0x90, 0xbc, 0xfb, 0x69, 0x83, 0x32, 0xe7, + 0xa2, 0xcc, 0x07, 0xcd, 0x1f, 0x36, 0xf7, 0x3e, 0x69, 0x56, 0xf2, 0x5b, 0xbf, 0x58, 0x81, 0x25, + 0x59, 0xe8, 0x61, 0x97, 0xdd, 0x6a, 0x69, 0xc1, 0x82, 0xfc, 0x81, 0x74, 0x4a, 0x86, 0x8e, 0xfe, + 0xac, 0xbb, 0xb6, 0x31, 0x82, 0x43, 0xd4, 0xdb, 0x33, 0xe8, 0x90, 0xd5, 0xbf, 0xa1, 0xdb, 0xd1, + 0x97, 0x52, 0xab, 0xcd, 0xc4, 0x85, 0xec, 0xda, 0xe5, 0xb1, 0x7c, 0x41, 0x1f, 0x98, 0x96, 0xb8, + 0xe1, 0x9f, 0xff, 0xa0, 0xcb, 0x69, 0xb5, 0x69, 0xca, 0xef, 0x8b, 0x6a, 0x57, 0xc6, 0x33, 0x06, + 0xdd, 0x3c, 0x83, 0x4a, 0xfc, 0xa7, 0x40, 0x28, 0x05, 0x3a, 0xcd, 0xf8, 0xbd, 0x51, 0xed, 0xda, + 0x24, 0xac, 0xe1, 0xce, 0x12, 0x3f, 0x9a, 0xb9, 0x3a, 0xc9, 0xaf, 0x10, 0x32, 0x3b, 0xcb, 0xfa, + 0xc1, 0x02, 0x77, 0x60, 0xf4, 0xe6, 0x33, 0x4a, 0xfd, 0x85, 0x4a, 0xca, 0xbd, 0xf9, 0x34, 0x07, + 0xa6, 0x5f, 0xa2, 0x56, 0x67, 0xd0, 0x31, 0x2c, 0xc7, 0xae, 0x27, 0xa0, 0x14, 0xf1, 0xf4, 0x7b, + 0x18, 0xb5, 0xab, 0x13, 0x70, 0x46, 0x23, 0x22, 0x7c, 0x1d, 0x21, 0x3d, 0x22, 0x52, 0x2e, 0x3b, + 0xa4, 0x47, 0x44, 0xea, 0xcd, 0x06, 0x16, 0xdc, 0x91, 0x6b, 0x08, 0x69, 0xc1, 0x9d, 0x76, 0xf9, + 0xa1, 0x76, 0x79, 0x2c, 0x5f, 0xd8, 0x69, 0xb1, 0x4b, 0x09, 0x69, 0x4e, 0x4b, 0xbf, 0xf4, 0x50, + 0xbb, 0x3a, 0x01, 0x67, 0x3c, 0x0a, 0x86, 0x47, 0x9c, 0x59, 0x51, 0x90, 0x38, 0x90, 0xcf, 0x8a, + 0x82, 0xe4, 0x69, 0xa9, 0x88, 0x82, 0xd8, 0xd1, 0xe4, 0x95, 0x09, 0x8e, 0x52, 0xb2, 0xa3, 0x20, + 0xfd, 0xd0, 0x45, 0x9d, 0x41, 0x7f, 0xa4, 0x40, 0x35, 0xeb, 0x98, 0x02, 0xa5, 0xd4, 0x77, 0x63, + 0x4e, 0x56, 0x6a, 0x5b, 0xd3, 0x88, 0x04, 0x56, 0x7c, 0x09, 0x28, 0xb9, 0xee, 0xa1, 0x77, 0xd2, + 0x66, 0x26, 0x63, 0x75, 0xad, 0xbd, 0x3b, 0x19, 0x73, 0xd0, 0x65, 0x1b, 0x0a, 0xf2, 0x60, 0x04, + 0xa5, 0x64, 0xe9, 0xd8, 0xb1, 0x4c, 0x4d, 0x1d, 0xc5, 0x12, 0x28, 0x7d, 0x04, 0xb3, 0x94, 0x8a, + 0xce, 0xa7, 0x73, 0x4b, 0x65, 0xeb, 0x59, 0xaf, 0x03, 0x45, 0x4f, 0x61, 0x9e, 0x9f, 0x04, 0xa0, + 0x14, 0xe4, 0x21, 0x72, 0x5e, 0x51, 0xbb, 0x90, 0xcd, 0x10, 0xa8, 0xfb, 0x82, 0xff, 0xef, 0x0c, + 0x01, 0xf2, 0xa3, 0xb7, 0xd3, 0x7f, 0x8c, 0x1c, 0x3d, 0x53, 0xa8, 0x5d, 0x1c, 0xc3, 0x15, 0xfe, + 0x28, 0x62, 0x55, 0xef, 0xe5, 0xb1, 0x5b, 0x97, 0xec, 0x8f, 0x22, 0x7d, 0x73, 0xc4, 0x83, 0x24, + 0xb9, 0x79, 0x4a, 0x0b, 0x92, 0xcc, 0x2d, 0x6b, 0x5a, 0x90, 0x64, 0xef, 0xc7, 0xd4, 0x19, 0xe4, + 0xc3, 0xa9, 0x14, 0xa8, 0x0c, 0xbd, 0x9b, 0x15, 0xe4, 0x69, 0xb8, 0x5d, 0xed, 0xbd, 0x09, 0xb9, + 0xc3, 0x93, 0x2f, 0x3e, 0xfa, 0x37, 0xb3, 0xf1, 0xa3, 0xcc, 0xc9, 0x8f, 0x7f, 0xe2, 0x5b, 0xff, + 0x9a, 0x87, 0x45, 0x0e, 0x83, 0x8a, 0x0a, 0xe6, 0x33, 0x80, 0xe1, 0x09, 0x04, 0x7a, 0x2b, 0xdd, + 0x27, 0x91, 0x53, 0x9a, 0xda, 0xdb, 0xa3, 0x99, 0xc2, 0x81, 0x16, 0x42, 0xf3, 0xd3, 0x02, 0x2d, + 0x79, 0x68, 0x91, 0x16, 0x68, 0x29, 0x47, 0x02, 0xea, 0x0c, 0xfa, 0x18, 0x8a, 0x01, 0x6c, 0x8c, + 0xd2, 0x60, 0xe7, 0x18, 0x2e, 0x5e, 0x7b, 0x6b, 0x24, 0x4f, 0xd8, 0xea, 0x10, 0x26, 0x9c, 0x66, + 0x75, 0x12, 0x7b, 0x4e, 0xb3, 0x3a, 0x0d, 0x58, 0x1e, 0xfa, 0x84, 0x23, 0x47, 0x99, 0x3e, 0x89, + 0x00, 0x77, 0x99, 0x3e, 0x89, 0xc2, 0x4f, 0xea, 0xcc, 0x83, 0x4b, 0xbf, 0xfa, 0x6a, 0x5d, 0xf9, + 0xa7, 0xaf, 0xd6, 0x67, 0x7e, 0xfa, 0xf5, 0xba, 0xf2, 0xab, 0xaf, 0xd7, 0x95, 0x7f, 0xfc, 0x7a, + 0x5d, 0xf9, 0xb7, 0xaf, 0xd7, 0x95, 0x3f, 0xfb, 0xf7, 0xf5, 0x99, 0x1f, 0x15, 0xa4, 0xf4, 0xe1, + 0x3c, 0xfb, 0x0f, 0x38, 0x1f, 0xfc, 0x5f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x15, 0x30, 0x49, 0xcc, + 0xc7, 0x48, 0x00, 0x00, }