From 926449158b59674ded6a707aadc1dd35c1d021f2 Mon Sep 17 00:00:00 2001 From: Tristan Keen Date: Fri, 14 Apr 2017 13:11:32 +0100 Subject: [PATCH] Reintroduce AWS SNS notifications --- .gitignore | 1 + config/config.go | 1 + config/notifiers.go | 35 + notify/amazonsns_test.go | 113 + notify/impl.go | 75 + template/default.tmpl | 12 + template/internal/deftmpl/bindata.go | 4 +- ui/bindata.go | 92 +- vendor/github.com/aws/aws-sdk-go/LICENSE.txt | 202 + vendor/github.com/aws/aws-sdk-go/NOTICE.txt | 3 + .../aws/aws-sdk-go/aws/awserr/error.go | 145 + .../aws/aws-sdk-go/aws/awserr/types.go | 194 + .../aws/aws-sdk-go/aws/awsutil/copy.go | 108 + .../aws/aws-sdk-go/aws/awsutil/equal.go | 27 + .../aws/aws-sdk-go/aws/awsutil/path_value.go | 222 + .../aws/aws-sdk-go/aws/awsutil/prettify.go | 113 + .../aws-sdk-go/aws/awsutil/string_value.go | 89 + .../aws/aws-sdk-go/aws/client/client.go | 146 + .../aws-sdk-go/aws/client/default_retryer.go | 90 + .../aws/client/metadata/client_info.go | 12 + .../github.com/aws/aws-sdk-go/aws/config.go | 459 ++ .../github.com/aws/aws-sdk-go/aws/context.go | 71 + .../aws/aws-sdk-go/aws/context_1_6.go | 41 + .../aws/aws-sdk-go/aws/context_1_7.go | 9 + .../aws/aws-sdk-go/aws/convert_types.go | 369 ++ .../aws-sdk-go/aws/corehandlers/handlers.go | 201 + .../aws/corehandlers/param_validator.go | 17 + .../aws/credentials/chain_provider.go | 100 + .../aws-sdk-go/aws/credentials/credentials.go | 223 + .../ec2rolecreds/ec2_role_provider.go | 178 + .../aws/credentials/endpointcreds/provider.go | 191 + .../aws/credentials/env_provider.go | 77 + .../aws-sdk-go/aws/credentials/example.ini | 12 + .../shared_credentials_provider.go | 151 + .../aws/credentials/static_provider.go | 57 + .../stscreds/assume_role_provider.go | 298 + .../aws/aws-sdk-go/aws/defaults/defaults.go | 133 + .../aws/aws-sdk-go/aws/ec2metadata/api.go | 162 + .../aws/aws-sdk-go/aws/ec2metadata/service.go | 124 + .../aws/aws-sdk-go/aws/endpoints/decode.go | 133 + .../aws/aws-sdk-go/aws/endpoints/defaults.go | 2132 ++++++ .../aws/aws-sdk-go/aws/endpoints/doc.go | 66 + .../aws/aws-sdk-go/aws/endpoints/endpoints.go | 397 ++ .../aws/aws-sdk-go/aws/endpoints/v3model.go | 303 + .../aws/endpoints/v3model_codegen.go | 334 + .../github.com/aws/aws-sdk-go/aws/errors.go | 17 + .../aws/aws-sdk-go/aws/jsonvalue.go | 11 + .../github.com/aws/aws-sdk-go/aws/logger.go | 112 + .../aws/aws-sdk-go/aws/request/handlers.go | 225 + .../aws-sdk-go/aws/request/http_request.go | 24 + .../aws-sdk-go/aws/request/offset_reader.go | 58 + .../aws/aws-sdk-go/aws/request/request.go | 571 ++ .../aws/aws-sdk-go/aws/request/request_1_7.go | 21 + .../aws/aws-sdk-go/aws/request/request_1_8.go | 9 + .../aws-sdk-go/aws/request/request_context.go | 14 + .../aws/request/request_context_1_6.go | 14 + .../aws/request/request_pagination.go | 236 + .../aws/aws-sdk-go/aws/request/retryer.go | 127 + .../aws/request/timeout_read_closer.go | 94 + .../aws/aws-sdk-go/aws/request/validation.go | 234 + .../aws/aws-sdk-go/aws/request/waiter.go | 293 + .../aws/aws-sdk-go/aws/session/doc.go | 274 + .../aws/aws-sdk-go/aws/session/env_config.go | 208 + .../aws/aws-sdk-go/aws/session/session.go | 590 ++ .../aws-sdk-go/aws/session/shared_config.go | 295 + .../aws-sdk-go/aws/signer/v4/header_rules.go | 82 + .../aws/aws-sdk-go/aws/signer/v4/options.go | 7 + .../aws/aws-sdk-go/aws/signer/v4/uri_path.go | 24 + .../aws/aws-sdk-go/aws/signer/v4/v4.go | 761 +++ vendor/github.com/aws/aws-sdk-go/aws/types.go | 118 + .../github.com/aws/aws-sdk-go/aws/version.go | 8 + .../private/protocol/idempotency.go | 75 + .../private/protocol/query/build.go | 36 + .../protocol/query/queryutil/queryutil.go | 237 + .../private/protocol/query/unmarshal.go | 35 + .../private/protocol/query/unmarshal_error.go | 66 + .../aws-sdk-go/private/protocol/rest/build.go | 290 + .../private/protocol/rest/payload.go | 45 + .../private/protocol/rest/unmarshal.go | 227 + .../aws-sdk-go/private/protocol/unmarshal.go | 21 + .../private/protocol/xml/xmlutil/build.go | 297 + .../private/protocol/xml/xmlutil/unmarshal.go | 257 + .../protocol/xml/xmlutil/xml_to_struct.go | 142 + .../aws/aws-sdk-go/service/sns/api.go | 5809 +++++++++++++++++ .../aws/aws-sdk-go/service/sns/errors.go | 67 + .../aws/aws-sdk-go/service/sns/service.go | 103 + .../aws/aws-sdk-go/service/sts/api.go | 2366 +++++++ .../aws-sdk-go/service/sts/customizations.go | 12 + .../aws/aws-sdk-go/service/sts/errors.go | 73 + .../aws/aws-sdk-go/service/sts/service.go | 135 + vendor/github.com/go-ini/ini/LICENSE | 191 + vendor/github.com/go-ini/ini/Makefile | 12 + vendor/github.com/go-ini/ini/README.md | 740 +++ vendor/github.com/go-ini/ini/README_ZH.md | 727 +++ vendor/github.com/go-ini/ini/error.go | 32 + vendor/github.com/go-ini/ini/ini.go | 556 ++ vendor/github.com/go-ini/ini/key.go | 699 ++ vendor/github.com/go-ini/ini/parser.go | 361 + vendor/github.com/go-ini/ini/section.go | 248 + vendor/github.com/go-ini/ini/struct.go | 450 ++ .../github.com/jmespath/go-jmespath/LICENSE | 13 + .../github.com/jmespath/go-jmespath/Makefile | 44 + .../github.com/jmespath/go-jmespath/README.md | 7 + vendor/github.com/jmespath/go-jmespath/api.go | 49 + .../go-jmespath/astnodetype_string.go | 16 + .../jmespath/go-jmespath/functions.go | 842 +++ .../jmespath/go-jmespath/interpreter.go | 418 ++ .../github.com/jmespath/go-jmespath/lexer.go | 420 ++ .../github.com/jmespath/go-jmespath/parser.go | 603 ++ .../jmespath/go-jmespath/toktype_string.go | 16 + .../github.com/jmespath/go-jmespath/util.go | 185 + vendor/vendor.json | 158 + 112 files changed, 29381 insertions(+), 48 deletions(-) create mode 100644 notify/amazonsns_test.go mode change 100644 => 100755 notify/impl.go create mode 100644 vendor/github.com/aws/aws-sdk-go/LICENSE.txt create mode 100644 vendor/github.com/aws/aws-sdk-go/NOTICE.txt create mode 100644 vendor/github.com/aws/aws-sdk-go/aws/awserr/error.go create mode 100644 vendor/github.com/aws/aws-sdk-go/aws/awserr/types.go create mode 100644 vendor/github.com/aws/aws-sdk-go/aws/awsutil/copy.go create mode 100644 vendor/github.com/aws/aws-sdk-go/aws/awsutil/equal.go create mode 100644 vendor/github.com/aws/aws-sdk-go/aws/awsutil/path_value.go create mode 100644 vendor/github.com/aws/aws-sdk-go/aws/awsutil/prettify.go create mode 100644 vendor/github.com/aws/aws-sdk-go/aws/awsutil/string_value.go create mode 100644 vendor/github.com/aws/aws-sdk-go/aws/client/client.go create mode 100644 vendor/github.com/aws/aws-sdk-go/aws/client/default_retryer.go create mode 100644 vendor/github.com/aws/aws-sdk-go/aws/client/metadata/client_info.go create mode 100644 vendor/github.com/aws/aws-sdk-go/aws/config.go create mode 100644 vendor/github.com/aws/aws-sdk-go/aws/context.go create mode 100644 vendor/github.com/aws/aws-sdk-go/aws/context_1_6.go create mode 100644 vendor/github.com/aws/aws-sdk-go/aws/context_1_7.go create mode 100644 vendor/github.com/aws/aws-sdk-go/aws/convert_types.go create mode 100644 vendor/github.com/aws/aws-sdk-go/aws/corehandlers/handlers.go create mode 100644 vendor/github.com/aws/aws-sdk-go/aws/corehandlers/param_validator.go create mode 100644 vendor/github.com/aws/aws-sdk-go/aws/credentials/chain_provider.go create mode 100644 vendor/github.com/aws/aws-sdk-go/aws/credentials/credentials.go create mode 100644 vendor/github.com/aws/aws-sdk-go/aws/credentials/ec2rolecreds/ec2_role_provider.go create mode 100644 vendor/github.com/aws/aws-sdk-go/aws/credentials/endpointcreds/provider.go create mode 100644 vendor/github.com/aws/aws-sdk-go/aws/credentials/env_provider.go create mode 100644 vendor/github.com/aws/aws-sdk-go/aws/credentials/example.ini create mode 100644 vendor/github.com/aws/aws-sdk-go/aws/credentials/shared_credentials_provider.go create mode 100644 vendor/github.com/aws/aws-sdk-go/aws/credentials/static_provider.go create mode 100644 vendor/github.com/aws/aws-sdk-go/aws/credentials/stscreds/assume_role_provider.go create mode 100644 vendor/github.com/aws/aws-sdk-go/aws/defaults/defaults.go create mode 100644 vendor/github.com/aws/aws-sdk-go/aws/ec2metadata/api.go create mode 100644 vendor/github.com/aws/aws-sdk-go/aws/ec2metadata/service.go create mode 100644 vendor/github.com/aws/aws-sdk-go/aws/endpoints/decode.go create mode 100644 vendor/github.com/aws/aws-sdk-go/aws/endpoints/defaults.go create mode 100644 vendor/github.com/aws/aws-sdk-go/aws/endpoints/doc.go create mode 100644 vendor/github.com/aws/aws-sdk-go/aws/endpoints/endpoints.go create mode 100644 vendor/github.com/aws/aws-sdk-go/aws/endpoints/v3model.go create mode 100644 vendor/github.com/aws/aws-sdk-go/aws/endpoints/v3model_codegen.go create mode 100644 vendor/github.com/aws/aws-sdk-go/aws/errors.go create mode 100644 vendor/github.com/aws/aws-sdk-go/aws/jsonvalue.go create mode 100644 vendor/github.com/aws/aws-sdk-go/aws/logger.go create mode 100644 vendor/github.com/aws/aws-sdk-go/aws/request/handlers.go create mode 100644 vendor/github.com/aws/aws-sdk-go/aws/request/http_request.go create mode 100644 vendor/github.com/aws/aws-sdk-go/aws/request/offset_reader.go create mode 100644 vendor/github.com/aws/aws-sdk-go/aws/request/request.go create mode 100644 vendor/github.com/aws/aws-sdk-go/aws/request/request_1_7.go create mode 100644 vendor/github.com/aws/aws-sdk-go/aws/request/request_1_8.go create mode 100644 vendor/github.com/aws/aws-sdk-go/aws/request/request_context.go create mode 100644 vendor/github.com/aws/aws-sdk-go/aws/request/request_context_1_6.go create mode 100644 vendor/github.com/aws/aws-sdk-go/aws/request/request_pagination.go create mode 100644 vendor/github.com/aws/aws-sdk-go/aws/request/retryer.go create mode 100644 vendor/github.com/aws/aws-sdk-go/aws/request/timeout_read_closer.go create mode 100644 vendor/github.com/aws/aws-sdk-go/aws/request/validation.go create mode 100644 vendor/github.com/aws/aws-sdk-go/aws/request/waiter.go create mode 100644 vendor/github.com/aws/aws-sdk-go/aws/session/doc.go create mode 100644 vendor/github.com/aws/aws-sdk-go/aws/session/env_config.go create mode 100644 vendor/github.com/aws/aws-sdk-go/aws/session/session.go create mode 100644 vendor/github.com/aws/aws-sdk-go/aws/session/shared_config.go create mode 100644 vendor/github.com/aws/aws-sdk-go/aws/signer/v4/header_rules.go create mode 100644 vendor/github.com/aws/aws-sdk-go/aws/signer/v4/options.go create mode 100644 vendor/github.com/aws/aws-sdk-go/aws/signer/v4/uri_path.go create mode 100644 vendor/github.com/aws/aws-sdk-go/aws/signer/v4/v4.go create mode 100644 vendor/github.com/aws/aws-sdk-go/aws/types.go create mode 100644 vendor/github.com/aws/aws-sdk-go/aws/version.go create mode 100644 vendor/github.com/aws/aws-sdk-go/private/protocol/idempotency.go create mode 100644 vendor/github.com/aws/aws-sdk-go/private/protocol/query/build.go create mode 100644 vendor/github.com/aws/aws-sdk-go/private/protocol/query/queryutil/queryutil.go create mode 100644 vendor/github.com/aws/aws-sdk-go/private/protocol/query/unmarshal.go create mode 100644 vendor/github.com/aws/aws-sdk-go/private/protocol/query/unmarshal_error.go create mode 100644 vendor/github.com/aws/aws-sdk-go/private/protocol/rest/build.go create mode 100644 vendor/github.com/aws/aws-sdk-go/private/protocol/rest/payload.go create mode 100644 vendor/github.com/aws/aws-sdk-go/private/protocol/rest/unmarshal.go create mode 100644 vendor/github.com/aws/aws-sdk-go/private/protocol/unmarshal.go create mode 100644 vendor/github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil/build.go create mode 100644 vendor/github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil/unmarshal.go create mode 100644 vendor/github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil/xml_to_struct.go create mode 100644 vendor/github.com/aws/aws-sdk-go/service/sns/api.go create mode 100644 vendor/github.com/aws/aws-sdk-go/service/sns/errors.go create mode 100644 vendor/github.com/aws/aws-sdk-go/service/sns/service.go create mode 100644 vendor/github.com/aws/aws-sdk-go/service/sts/api.go create mode 100644 vendor/github.com/aws/aws-sdk-go/service/sts/customizations.go create mode 100644 vendor/github.com/aws/aws-sdk-go/service/sts/errors.go create mode 100644 vendor/github.com/aws/aws-sdk-go/service/sts/service.go create mode 100644 vendor/github.com/go-ini/ini/LICENSE create mode 100644 vendor/github.com/go-ini/ini/Makefile create mode 100644 vendor/github.com/go-ini/ini/README.md create mode 100644 vendor/github.com/go-ini/ini/README_ZH.md create mode 100644 vendor/github.com/go-ini/ini/error.go create mode 100644 vendor/github.com/go-ini/ini/ini.go create mode 100644 vendor/github.com/go-ini/ini/key.go create mode 100644 vendor/github.com/go-ini/ini/parser.go create mode 100644 vendor/github.com/go-ini/ini/section.go create mode 100644 vendor/github.com/go-ini/ini/struct.go create mode 100644 vendor/github.com/jmespath/go-jmespath/LICENSE create mode 100644 vendor/github.com/jmespath/go-jmespath/Makefile create mode 100644 vendor/github.com/jmespath/go-jmespath/README.md create mode 100644 vendor/github.com/jmespath/go-jmespath/api.go create mode 100644 vendor/github.com/jmespath/go-jmespath/astnodetype_string.go create mode 100644 vendor/github.com/jmespath/go-jmespath/functions.go create mode 100644 vendor/github.com/jmespath/go-jmespath/interpreter.go create mode 100644 vendor/github.com/jmespath/go-jmespath/lexer.go create mode 100644 vendor/github.com/jmespath/go-jmespath/parser.go create mode 100644 vendor/github.com/jmespath/go-jmespath/toktype_string.go create mode 100644 vendor/github.com/jmespath/go-jmespath/util.go diff --git a/.gitignore b/.gitignore index 30d1b1939c..9842bcf60d 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,6 @@ /data/ /alertmanager +/alertmanager.exe *.yml *.yaml /.build diff --git a/config/config.go b/config/config.go index 24c8b42368..00cd832d80 100644 --- a/config/config.go +++ b/config/config.go @@ -439,6 +439,7 @@ type Receiver struct { OpsGenieConfigs []*OpsGenieConfig `yaml:"opsgenie_configs,omitempty" json:"opsgenie_configs,omitempty"` PushoverConfigs []*PushoverConfig `yaml:"pushover_configs,omitempty" json:"pushover_configs,omitempty"` VictorOpsConfigs []*VictorOpsConfig `yaml:"victorops_configs,omitempty" json:"victorops_configs,omitempty"` + AmazonSNSConfigs []*AmazonSNSConfig `yaml:"amazon_sns_configs,omitempty" json:"amazon_sns_configs,omitempty"` // Catches all undefined fields and must be empty after parsing. XXX map[string]interface{} `yaml:",inline" json:"-"` diff --git a/config/notifiers.go b/config/notifiers.go index 53cc3d43d7..2e805e1b5d 100644 --- a/config/notifiers.go +++ b/config/notifiers.go @@ -115,6 +115,15 @@ var ( Retry: duration(1 * time.Minute), Expire: duration(1 * time.Hour), } + + // DefaultAmazonSNSConfig defines default values for Amazon SNS configurations. + DefaultAmazonSNSConfig = AmazonSNSConfig{ + NotifierConfig: NotifierConfig{ + VSendResolved: true, + }, + Subject: `{{ template "amazon_sns.default.subject" . }}`, + Message: `{{ template "amazon_sns.default.message" . }}`, + } ) // NotifierConfig contains base options common across all notifier configurations. @@ -392,3 +401,29 @@ func (c *PushoverConfig) UnmarshalYAML(unmarshal func(interface{}) error) error } return checkOverflow(c.XXX, "pushover config") } + +// AmazonSNSConfig configures notifications via Amazon SNS. +type AmazonSNSConfig struct { + NotifierConfig `yaml:",inline" json:",inline"` + + AWSRegion string `yaml:"aws_region" json:"aws_region"` + TopicARN string `yaml:"topic_arn" json:"topic_arn"` + Subject string `yaml:"subject" json:"subject"` + Message string `yaml:"message" json:"message"` + + XXX map[string]interface{} `yaml:",inline" json:"-"` +} + +// UnmarshalYAML implements the yaml.Unmarshaler interface. +func (c *AmazonSNSConfig) UnmarshalYAML(unmarshal func(interface{}) error) error { + *c = DefaultAmazonSNSConfig + type plain AmazonSNSConfig + if err := unmarshal((*plain)(c)); err != nil { + return err + } + // Allow blank region, but not missing ARN + if c.TopicARN == "" { + return fmt.Errorf("missing topic_arn key in amazon_sns_config") + } + return checkOverflow(c.XXX, "amazon_sns_config") +} diff --git a/notify/amazonsns_test.go b/notify/amazonsns_test.go new file mode 100644 index 0000000000..4df4138445 --- /dev/null +++ b/notify/amazonsns_test.go @@ -0,0 +1,113 @@ +// Copyright 2015 Prometheus Team +// 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 notify + +import ( + "errors" + "github.com/stretchr/testify/require" + "golang.org/x/net/context" + "net/url" + "testing" + + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/service/sns" + + "github.com/prometheus/alertmanager/config" + "github.com/prometheus/alertmanager/template" + "github.com/prometheus/alertmanager/types" + "github.com/prometheus/common/model" +) + +func dummySNSSetup(t *testing.T) (context.Context, []*types.Alert, *AmazonSNS) { + ctx := WithReceiverName(context.Background(), "name") + lset := model.LabelSet{ + "group_label_key": "group_label_value", + } + ctx = WithGroupLabels(ctx, lset) + + alerts := []*types.Alert{{}, {}} + + c := &config.AmazonSNSConfig{ + TopicARN: "arn:aws:sns:no-region:1234567890:topic", + Subject: `{{ template "amazon_sns.default.subject" . }}`, + Message: `{{ template "amazon_sns.default.message" . }}`, + } + tmpl, err := template.FromGlobs() + require.NoError(t, err, "Failed template setup") + tmpl.ExternalURL, err = url.Parse("http://localhost/") + require.NoError(t, err, "Failed template URL setup") + + n := NewAmazonSNS(c, tmpl) + + return ctx, alerts, n +} + +func TestAmazonSNSIntegration(t *testing.T) { + ctx, alerts, n := dummySNSSetup(t) + + n.testPublisher = func(c *aws.Config, pi *sns.PublishInput) error { + require.Contains(t, aws.StringValue(c.Region), "no-region", "AWS Config not set to correct region") + subj := aws.StringValue(pi.Subject) + require.Contains(t, subj, "[FIRING:2]", "Default Subject missing alerts raised summary") + require.Contains(t, subj, "group_label_value", "Default Subject missing Context label") + mess := aws.StringValue(pi.Message) + require.Contains(t, mess, "Source", "Default Message missing structure") + return nil + } + + retry, err := n.Notify(ctx, alerts...) + require.NoError(t, err, "Happy path") + require.Equal(t, false, retry, "Happy path no need to retry") +} + +func TestAmazonSNSBadARN(t *testing.T) { + ctx, alerts, n := dummySNSSetup(t) + + n.conf.TopicARN = "fdsfds" + n.testPublisher = func(c *aws.Config, pi *sns.PublishInput) error { + t.Fatal("Shouldn't attempt to publish to a bad TopicARN") + return nil + } + + retry, err := n.Notify(ctx, alerts...) + require.Error(t, err, "Bad ARN should error") + require.Contains(t, err.Error(), "fdsfds", "Incorrect bad ARN message") + require.Equal(t, false, retry, "Bad ARN shouldn't retry") +} + +func TestAmazonSNSRegionOverride(t *testing.T) { + ctx, alerts, n := dummySNSSetup(t) + + n.conf.AWSRegion = "somewhere" + n.testPublisher = func(c *aws.Config, pi *sns.PublishInput) error { + require.Contains(t, aws.StringValue(c.Region), "somewhere", "Failed to override AWS Region") + return nil + } + + retry, err := n.Notify(ctx, alerts...) + require.NoError(t, err, "SNS Override should work") + require.Equal(t, false, retry, "SNS Override no need to retry") +} + +func TestAmazonSNSPublishFailRetry(t *testing.T) { + ctx, alerts, n := dummySNSSetup(t) + + n.testPublisher = func(c *aws.Config, pi *sns.PublishInput) error { + return errors.New("Dummy failure") + } + + retry, err := n.Notify(ctx, alerts...) + require.Error(t, err, "Publish error should propagate") + require.Contains(t, err.Error(), "Dummy failure", "Need to see the error message from SNS publish upon failure") + require.Equal(t, true, retry, "Should retry on publish failure") +} diff --git a/notify/impl.go b/notify/impl.go old mode 100644 new mode 100755 index 1e7c5e868e..6df02bd62c --- a/notify/impl.go +++ b/notify/impl.go @@ -30,6 +30,10 @@ import ( "strings" "time" + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/session" + "github.com/aws/aws-sdk-go/service/sns" + "github.com/prometheus/common/log" "github.com/prometheus/common/model" "golang.org/x/net/context" @@ -129,6 +133,10 @@ func BuildReceiverIntegrations(nc *config.Receiver, tmpl *template.Template) []I n := NewPushover(c, tmpl) add("pushover", i, n, c) } + for i, c := range nc.AmazonSNSConfigs { + n := NewAmazonSNS(c, tmpl) + add("amazon_sns", i, n, c) + } return integrations } @@ -934,6 +942,73 @@ func (n *Pushover) Notify(ctx context.Context, as ...*types.Alert) (bool, error) return false, nil } +// AmazonSNS implements a Notifier for Amazon SNS notifications. +type AmazonSNS struct { + conf *config.AmazonSNSConfig + tmpl *template.Template + + // For testing only + testPublisher func(*aws.Config, *sns.PublishInput) error +} + +// NewAmazonSNS returns a new AmazonSNS notifier. +func NewAmazonSNS(c *config.AmazonSNSConfig, t *template.Template) *AmazonSNS { + return &AmazonSNS{ + conf: c, + tmpl: t, + testPublisher: nil, + } +} + +// Notify implements the Notifier interface. +func (n *AmazonSNS) Notify(ctx context.Context, as ...*types.Alert) (bool, error) { + var err error + var ( + data = n.tmpl.Data(receiverName(ctx), groupLabels(ctx), as...) + tmpl = tmplText(n.tmpl, data, &err) + region = tmpl(n.conf.AWSRegion) + topicARN = tmpl(n.conf.TopicARN) + subject = tmpl(n.conf.Subject) + message = tmpl(n.conf.Message) + ) + if err != nil { + return false, fmt.Errorf("Amazon SNS templating error: %s", err) + } + + // SNS ARNs are of the form arn:aws:sns::: + parts := strings.SplitN(topicARN, ":", 6) + if len(parts) < 6 { + return false, fmt.Errorf("Amazon SNS topic_arn not a valid ARN: '%s'", topicARN) + } + if region == "" { + region = parts[3] + } + awsConfig := aws.NewConfig() + if region != "" { + awsConfig = awsConfig.WithRegion(region) + } + + params := &sns.PublishInput{ + Message: aws.String(message), + MessageStructure: aws.String("string"), + Subject: aws.String(subject), + TopicArn: aws.String(topicARN), + } + + if n.testPublisher != nil { + err = n.testPublisher(awsConfig, params) + } else { + snsAPI := sns.New(session.New(awsConfig)) + _, err = snsAPI.Publish(params) + } + + if err != nil { + return true, fmt.Errorf("Amazon SNS publishing error: %s", err) + } + + return false, nil +} + func tmplText(tmpl *template.Template, data *template.Data, err *error) func(string) string { return func(name string) (s string) { if *err != nil { diff --git a/template/default.tmpl b/template/default.tmpl index 9e5cb0e082..4049049d78 100644 --- a/template/default.tmpl +++ b/template/default.tmpl @@ -190,3 +190,15 @@ Alerts Resolved: {{ end }} {{ end }} {{ define "pushover.default.url" }}{{ template "__alertmanagerURL" . }}{{ end }} + +{{ define "amazon_sns.default.subject" }}{{ template "__subject" . }}{{ end }} +{{ define "amazon_sns.default.message" }}{{ .CommonAnnotations.SortedPairs.Values | join " " }} +{{ if gt (len .Alerts.Firing) 0 }} +Alerts Firing: +{{ template "__text_alert_list" .Alerts.Firing }} +{{ end }} +{{ if gt (len .Alerts.Resolved) 0 }} +Alerts Resolved: +{{ template "__text_alert_list" .Alerts.Resolved }} +{{ end }} +{{ end }} diff --git a/template/internal/deftmpl/bindata.go b/template/internal/deftmpl/bindata.go index aa8eaa7f0f..b6f1b35fd2 100644 --- a/template/internal/deftmpl/bindata.go +++ b/template/internal/deftmpl/bindata.go @@ -68,7 +68,7 @@ func (fi bindataFileInfo) Sys() interface{} { return nil } -var _templateDefaultTmpl = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x1b\x7b\x6f\xdb\x36\xfe\x7f\x7d\x8a\xdf\x34\x1c\xd6\x00\x96\xe5\xb4\x5b\xb1\x38\x76\x0e\xae\xa3\x34\xc2\x39\x72\x20\x2b\xed\x8a\x61\x18\x68\x89\xb6\xd9\x4a\xa4\x46\x52\x49\xbc\xcc\xdf\xfd\x40\x4a\x7e\xc8\x96\x53\x27\xe8\x12\xdf\x2d\x09\xda\x48\x14\x7f\xef\x27\x45\xea\xee\x0e\x22\x3c\x22\x14\x83\xf9\xfb\xef\x28\xc6\x5c\x26\x88\xa2\x31\xe6\x26\xcc\x66\x1d\x75\x7f\x91\xdf\xdf\xdd\x01\xa6\x11\xcc\x66\xc6\x56\x90\x2b\xbf\xa7\xa0\xee\xee\xa0\xee\xdc\x4a\xcc\x29\x8a\xaf\xfc\x1e\xcc\x66\xf6\xf7\xb6\x9e\x27\xfe\xcd\x71\x88\xc9\x35\xe6\x6d\x35\xc9\x2f\x6e\x72\x98\x02\x7b\x19\xbd\xc8\x86\x9f\x71\x28\x15\xda\x5f\x15\xc8\x40\x22\x99\x09\xf8\x0b\x24\xbb\x4a\xd3\x39\x28\x19\x01\xfe\x63\xf1\xd0\x1c\x11\x4e\xe8\x58\xc1\x34\x15\x8c\x96\x42\xd4\xcf\xf4\x28\xfc\x05\x31\xa6\xab\x14\x7f\x03\x35\xe9\x3d\x67\x59\xda\x43\x43\x1c\x8b\xfa\x80\x71\x89\xa3\x4b\x44\xb8\xa8\x7f\x40\x71\x86\x15\xc1\xcf\x8c\x50\x30\x41\x61\x85\x9c\xe4\x58\xc2\x2b\x85\xab\xde\x65\x49\xc2\x68\x0e\x7c\x50\x8c\xad\xe0\x3b\x80\xd9\xec\xd5\xdd\x1d\xdc\x10\x39\x29\x4f\xae\xfb\x38\x61\xd7\xb8\x4c\xdd\x43\x09\x16\x85\x1a\xab\xa8\x2f\x18\x3f\x58\x5c\x6d\xb1\x4d\x84\x45\xc8\x49\x2a\x09\xa3\xe6\x3d\x3a\x96\xf8\x56\xe6\x76\xfc\x3d\x26\x42\x16\x53\x39\xa2\x63\x0c\x75\x98\xcd\x72\xbe\x9a\xc6\x72\x70\x53\x4f\x4a\x2b\x96\x56\xa4\x62\x5f\xdd\xb5\x61\x21\x40\xc1\x58\x4e\xbc\x43\x29\x93\x48\xf1\x54\x42\xb9\x32\xfc\x38\xbc\x03\x96\xf1\x10\x37\x73\x63\x62\x8a\x39\x92\x8c\xe7\xee\x67\x54\x28\xaa\xa4\x03\x11\xa3\xf0\x4b\x3d\xc2\x23\x94\xc5\xb2\x2e\x89\x8c\x71\xa1\x05\x89\x93\x34\x46\xb2\xec\x8b\xf5\x6d\x2a\x2f\xe3\xc9\x84\x0a\x81\xa4\x0a\x55\x39\xd0\x76\xc4\x37\x42\x71\x3c\x44\xe1\x97\x0d\x7c\x95\xec\x2b\xa4\xf0\x17\x7c\x6d\x62\x4c\xe8\x97\x9d\x39\x48\x39\x56\xce\x62\xee\x36\x7b\x05\xff\xbd\x0a\xd0\x69\x63\x47\x0e\x48\xc8\x28\x4e\xd8\x67\xb2\x23\x0f\x6a\x7e\xc6\xe3\x5d\x39\xde\x10\xae\xe4\x26\x13\x92\x86\x13\x24\x97\x06\xe1\x2c\x79\xbc\x71\xd7\xb1\x25\x58\x08\x34\x7e\x80\xe3\x95\x78\x4b\x15\xb5\x28\x93\xd3\x05\xbe\xcd\xe8\x7f\x98\x33\x6f\x62\x0c\x63\x82\xa9\x7c\xbc\xc4\xdb\x30\x2e\xeb\xc6\xe3\x5c\x64\x13\x2f\xa1\x42\x22\x1a\x62\x51\x81\x77\x23\xdd\xdd\xa3\x55\x96\x8a\x31\xa6\x04\x3f\xde\x48\xf7\x21\xdb\xb4\x50\x51\x1d\xb6\x24\xc3\xca\x72\x60\xac\x15\xa3\x52\xb5\x3b\x80\x06\x58\xb3\x99\x91\x0f\x42\x3e\xa8\xd3\xee\xfd\x1a\x29\x97\x4c\x4d\xc4\x5a\x91\xa8\x82\x9e\x8f\x05\x8b\xaf\x71\xb4\x46\x71\x3e\xbc\x3b\xcd\x39\xc4\x06\x55\x6b\x17\x95\x0a\x5d\x05\x1e\xee\x4d\x25\xab\x5f\x93\x50\x32\xce\x52\xf1\x50\xb3\xaf\xe7\xdb\x87\x38\xf1\x26\xd1\x47\xa4\x97\x92\x18\x38\x41\x24\x5e\x6a\x66\xd9\x49\x3d\xd8\x73\xcb\x98\x26\x32\xd1\x09\xd5\x68\x7d\x77\xda\xef\x06\x9f\x2e\x1d\x50\x43\x70\x79\xf5\xae\xe7\x76\xc1\xb4\x6c\xfb\xe3\x9b\xae\x6d\x9f\x06\xa7\xf0\xcb\x79\x70\xd1\x83\xc3\x7a\x03\x02\x8e\xa8\x20\xca\xa7\x51\x6c\xdb\x8e\x67\x82\x39\x91\x32\x6d\xda\xf6\xcd\xcd\x4d\xfd\xe6\x4d\x9d\xf1\xb1\x1d\xf8\xf6\xad\xc2\x75\xa8\x80\x8b\x4b\x4b\xae\x40\xd6\x23\x19\x99\x27\x46\xeb\x3b\xcb\x32\x06\x72\x1a\x63\x40\x34\x02\x4d\x24\xc2\x9c\x28\xbf\x51\x6a\x03\x85\x5a\x34\x6d\x7b\x4c\xe4\x24\x1b\xd6\x43\x96\xd8\x4a\x86\x71\x46\x6d\x8d\x0e\x85\x39\x3e\x4b\x8b\x66\xcd\xd5\x21\x0c\xc3\x08\x26\x18\x2e\xdc\x00\x7a\x24\xc4\x54\x60\x78\x75\xe1\x06\x07\x86\xd1\x65\xe9\x94\x93\xf1\x44\xc2\xab\xf0\x00\x5e\x37\x0e\x7f\x84\x8b\x1c\xa3\x61\x5c\x62\x9e\x10\x21\x08\xa3\x40\x04\x4c\x30\xc7\xc3\x29\x8c\x39\xa2\x12\x47\x35\x18\x71\x8c\x81\x8d\x20\x9c\x20\x3e\xc6\x35\x90\x0c\x10\x9d\x42\x8a\xb9\x60\x14\xd8\x50\x22\x42\x55\x98\x21\x08\x59\x3a\x35\xd8\x08\xe4\x84\x08\x10\x6c\x24\x6f\x10\xcf\x25\x44\x42\xb0\x90\x20\x89\x23\x88\x58\x98\x25\x98\xe6\xf9\x01\x46\x24\xc6\x02\x5e\xc9\x09\x06\x73\x50\x40\x98\x07\x9a\x48\x84\x51\x6c\x10\x0a\xea\xd9\xfc\x91\x6e\x42\x59\x26\x81\x63\x21\x39\xd1\x5a\xa8\x01\xa1\x61\x9c\x45\x8a\x87\xf9\xe3\x98\x24\xa4\xa0\xa0\xc0\xb5\xe0\xc2\x90\x0c\x32\x81\x6b\x9a\xcf\x1a\x24\x2c\x22\x23\xf5\x17\x6b\xb1\xd2\x6c\x18\x13\x31\xa9\x41\x44\x14\xea\x61\x26\x71\x0d\x84\x1a\xd4\x7a\xac\x29\x39\x6c\xc6\x41\xe0\x38\x36\x42\x96\x12\x2c\x40\xcb\xba\xe4\x4e\xcf\x51\xac\xa7\x4a\xa1\xb2\x50\x91\x50\x23\x37\x13\x96\x94\x25\x21\xc2\x18\x65\x9c\x12\x31\xc1\x1a\x26\x62\x20\x98\xa6\xa8\xbc\x59\x8d\xa8\xe9\x23\x16\xc7\xec\x46\x89\x16\x32\x1a\x91\xa2\xef\xd4\x46\x46\x43\xd5\x7b\x87\x0b\xbb\x52\x26\x49\x98\xab\x5b\x1b\x20\x5d\x5a\xb5\x78\x24\x26\x28\x8e\x61\x88\x0b\x85\xe1\x08\x08\x05\xb4\x22\x0e\x57\xe4\x55\xe9\x91\x04\xc5\x90\x32\xae\xe9\xad\x8b\x59\x37\x8c\xe0\xdc\x81\x41\xff\x2c\xf8\xd8\xf1\x1d\x70\x07\x70\xe9\xf7\x3f\xb8\xa7\xce\x29\x98\x9d\x01\xb8\x03\xb3\x06\x1f\xdd\xe0\xbc\x7f\x15\xc0\xc7\x8e\xef\x77\xbc\xe0\x13\xf4\xcf\xa0\xe3\x7d\x82\xff\xb8\xde\x69\x0d\x9c\x5f\x2e\x7d\x67\x30\x80\xbe\x6f\xb8\x17\x97\x3d\xd7\x39\xad\x81\xeb\x75\x7b\x57\xa7\xae\xf7\x1e\xde\x5d\x05\xe0\xf5\x03\xe8\xb9\x17\x6e\xe0\x9c\x42\xd0\x07\x45\xb0\x40\xe5\x3a\x03\x85\xec\xc2\xf1\xbb\xe7\x1d\x2f\xe8\xbc\x73\x7b\x6e\xf0\xa9\x66\x9c\xb9\x81\xa7\x70\x9e\xf5\x7d\xe8\xc0\x65\xc7\x0f\xdc\xee\x55\xaf\xe3\xc3\xe5\x95\x7f\xd9\x1f\x38\xd0\xf1\x4e\xc1\xeb\x7b\xae\x77\xe6\xbb\xde\x7b\xe7\xc2\xf1\x82\x3a\xb8\x1e\x78\x7d\x70\x3e\x38\x5e\x00\x83\xf3\x4e\xaf\xa7\x48\x19\x9d\xab\xe0\xbc\xef\x2b\xfe\xa0\xdb\xbf\xfc\xe4\xbb\xef\xcf\x03\x38\xef\xf7\x4e\x1d\x7f\x00\xef\x1c\xe8\xb9\x9d\x77\x3d\x27\x27\xe5\x7d\x82\x6e\xaf\xe3\x5e\xd4\xe0\xb4\x73\xd1\x79\xef\x68\xa8\x7e\x70\xee\xf8\x86\x9a\x96\x73\x07\x1f\xcf\x1d\x35\xa4\xe8\x75\x3c\xe8\x74\x03\xb7\xef\x29\x31\xba\x7d\x2f\xf0\x3b\xdd\xa0\x06\x41\xdf\x0f\x16\xa0\x1f\xdd\x81\x53\x83\x8e\xef\x0e\x94\x42\xce\xfc\xfe\x45\xcd\x50\xea\xec\x9f\xa9\x29\xae\xa7\xe0\x3c\x27\xc7\xa2\x54\x0d\x25\x8b\xf4\x7d\x7d\x7f\x35\x70\x16\x08\xe1\xd4\xe9\xf4\x5c\xef\xfd\x40\x01\x2b\x11\xe7\x93\xeb\x86\x65\x9d\x18\x2d\x9d\x02\x6f\x93\x98\x8a\x76\x45\x62\x3b\x3c\x3a\x3a\xca\xf3\x99\xb9\xdb\x24\xa1\x92\x5b\xdb\x1c\x31\x2a\xad\x11\x4a\x48\x3c\x6d\xc2\x0f\xe7\x38\xbe\xc6\x92\x84\x08\x3c\x9c\xe1\x1f\x6a\xb0\x18\xa8\x41\x87\x13\x14\xd7\x40\x20\x2a\x2c\x81\x39\x19\x1d\xc3\x90\xdd\x5a\x82\xfc\xa9\x4a\x3e\x0c\x19\x8f\x30\xb7\x86\xec\xf6\x18\x34\x52\x41\xfe\xc4\x4d\x38\xfc\x31\xbd\x3d\x86\x04\xf1\x31\xa1\x4d\x68\x1c\xab\xdc\x3a\xc1\x28\x7a\x4e\xfa\x09\x96\x08\xd4\xc2\xa9\x6d\x5e\x13\x7c\xa3\xa2\xc8\x54\xd1\x2b\x31\x95\x6d\xf3\x86\x44\x72\xd2\x8e\xf0\x35\x09\xb1\xa5\x6f\x9e\x4f\x59\x60\xcf\xd9\x55\xc6\xb4\xf0\x1f\x19\xb9\x6e\x9b\xdd\x9c\x55\x2b\x98\xa6\x78\x85\x71\xd5\xf1\xd8\xca\xb8\xc7\xba\x12\x08\x2c\xdb\x57\xc1\x99\xf5\xf3\x33\xb3\xaf\x57\x69\xcf\x67\xee\xfb\x7a\x91\x96\xad\x99\x3b\x31\x8c\x96\xad\x9c\x52\x5d\x0c\x59\x34\x05\x22\x71\x22\x42\x96\xe2\xb6\x69\xea\x1b\x39\x55\xd7\x45\x44\x89\x70\x82\x13\xa4\x23\xca\x51\xd5\xfd\x62\xde\xbc\x3d\xa9\x90\xd6\x0d\x1e\x7e\x21\xd2\xca\x1f\x24\x8c\xc9\x89\x06\xca\x6b\x03\x41\x02\x47\xcb\x49\xca\x37\x34\xb4\x85\xa2\xcf\x99\x90\x4d\xa0\x8c\xe2\x63\x98\x60\x55\x99\x9a\x70\xd8\x68\xfc\xeb\x18\x62\x42\xb1\xb5\x18\xaa\xbf\xc5\xc9\x31\xe8\x08\xc8\x27\xc0\x77\x24\x51\xc1\x82\xa8\x3c\x86\x21\x0a\xbf\x8c\x39\xcb\x68\x64\x85\x2c\x66\xbc\x09\xdf\x8f\xde\xaa\xdf\x55\xf5\x43\x8a\xa2\x48\x73\xa5\xbc\x61\x38\xd6\x33\xdb\x66\x31\xd3\x54\xfa\x96\x68\xf8\xd4\xee\xb1\x22\xd2\x8e\x72\x54\xf2\x0e\xd0\x92\xfc\x19\xf3\x18\x80\xe2\xe0\x89\x33\xe9\x35\xe6\x0a\x49\x6c\xa1\x98\x8c\x69\x13\x24\x4b\xcb\x8a\xba\xd6\x0f\xda\xa6\x64\xa9\x79\xd2\xb2\x65\xb4\x64\x34\xcf\xac\xe6\xdb\x46\xe3\x89\x43\xa5\x92\xe9\x88\x88\x34\x46\xd3\x26\x0c\x63\x16\x7e\x29\xf9\x76\x82\x6e\xad\xc2\x49\xde\x36\x1a\xe9\x6d\xe9\x61\x18\x63\xc4\x15\x41\x39\x29\x8d\x6f\x0b\x94\x85\x72\x00\x65\x92\xad\x85\x44\x49\x5b\x5a\x51\x00\xad\x88\x5c\x3f\xb5\x5b\x95\xe5\x5d\x57\xce\xfd\x42\xcc\xf9\x56\x46\xd6\xc1\x5c\xd8\x59\x69\xc2\x84\x10\xc7\x71\x31\xbb\x6d\x36\xf2\x7b\x91\xa2\x70\x7e\xff\xa4\x82\x16\x0f\x39\x8a\x48\x26\x9a\xf0\x46\x8f\x55\x24\x80\xd1\xa8\x94\xc5\x72\xb0\x26\x1c\xa6\xb7\x20\x58\x4c\x22\xf8\x1e\x1f\xa9\xdf\x72\x62\x18\x8d\x56\x74\xb1\x0f\xd9\x61\xc9\xc9\xd3\x65\x89\xb7\x5b\x03\xae\xa4\x5d\x0d\x72\x53\x94\x9a\x9f\x1a\x8d\x63\xd0\x25\xaa\x98\x1f\x62\x2a\x31\xaf\xb2\x97\xfe\xd7\xd0\x46\xd9\xb4\x9b\xf3\xf6\xa7\xd7\xaf\xbb\xd5\x05\xe8\xb5\xf2\x6b\x13\x8a\x78\xcb\x09\xac\x5a\x2f\x87\xad\x8e\xc8\xf9\xcf\x72\xb3\x67\xb1\xcb\x03\xfa\x6d\x49\xe5\x2b\xab\x03\x38\x84\xd9\x4c\x2c\x5e\x78\xc0\x88\x71\x58\x6e\x48\x6c\xd9\x10\x82\xd9\x6c\x8d\x2a\xac\x6e\x4f\xb4\x4b\x9b\x13\x1b\xd3\x8a\x57\x2b\x25\xe3\x2f\x72\xf0\xe2\x9e\xbf\xb8\xe9\x2e\xc5\x6c\xe9\x3c\x87\xb9\xf3\xdc\xe7\x1b\x7b\x9f\xfb\xb6\xaa\x7d\xbf\x9c\x60\xdf\x5d\xa1\x01\x8d\x79\x2e\xb9\xcf\x1d\x0a\x31\x10\x4c\x38\x1e\xb5\xcd\x5d\xde\xda\x3e\xb1\x3f\xcc\x93\xe6\xd9\xd9\x59\x91\x7c\x23\x1c\x32\xae\xdf\xc9\xcd\x97\x07\xa5\x05\xc1\x6b\xb5\x1c\x28\xe5\xed\x21\x8b\xa3\xea\xc4\x1d\x66\x5c\x28\xec\x29\x23\xf9\xc0\xa2\xa1\x20\x54\x23\x2d\xfa\x8a\xb5\x04\xff\x93\x62\x4c\xe3\xd3\x2f\x51\x47\x8c\x27\x4d\x08\x51\x4a\x24\x8a\xc9\x9f\xb8\x32\xe9\xbf\xf9\xf1\x67\x1c\xa1\x8a\x7a\xbd\x31\xa3\x18\xd6\x5a\x6e\xe6\x85\x7c\x31\xb8\xe8\xde\xd2\xdb\xc2\xbc\x27\x1f\x08\xbe\x01\x42\xef\x7b\xe3\x3e\x5f\x46\xa2\x4a\x1f\x5e\x4b\xbc\xd5\xe9\x37\xff\xf9\xda\x1e\x4b\x45\x51\x78\x09\xd9\xbf\x27\x64\x85\xe4\x8c\x8e\x9f\x4f\xb5\xbf\x6e\x3f\x52\xf2\x5b\xb1\xc1\xd6\xb2\x73\x26\xbf\x81\xd7\x55\x34\x0c\xc5\x93\xf9\xb9\x89\xf5\x9d\xba\x17\x3f\xfc\x67\xf8\x61\xde\x9a\x2e\x5c\xad\x35\x7c\x3e\x33\x83\x5d\xad\xa3\xaf\x1c\x18\xda\x7e\xaa\xe7\x99\x85\xd9\x1e\x77\x50\x51\x0b\x96\x7b\xf5\x79\x25\x78\x76\xcf\x58\xe1\x68\x5f\xdc\xe3\xab\x1a\xfd\xea\x29\xb0\xff\x51\x67\x59\xed\x30\xd7\x8f\xa5\x3d\x53\x43\x39\x6f\xb7\x36\x7a\xca\x8c\x46\x98\xab\xee\xaf\xec\x4e\xf9\xc1\x3a\xd5\x44\xed\x5f\x8e\x79\x5c\x35\xdd\xb1\xbd\x5b\x3d\xd2\x52\x69\xde\x97\xae\x70\x6f\xaa\xf1\xde\x79\x26\x40\x6b\xb2\x87\x3c\xed\x9d\x9e\x1e\x12\xc1\xf7\x75\xc4\x2f\x81\xf5\xff\xd9\xe6\xae\x2e\xb7\x16\x47\x03\x97\x0b\xae\xf9\xd0\x33\x2c\xb9\x56\x0f\x2a\xbe\x78\xe3\x3f\xc3\x1b\x5f\x16\x5d\x2f\x8b\xae\x97\x45\xd7\xbe\x3b\xcb\xcb\xa2\x6b\x6f\x5a\xb6\x6d\x86\x6a\xd9\x7a\x3f\xee\xe4\x01\x5b\xa1\x0b\x90\xe5\xc8\x93\x9f\xc4\x28\x1d\x4d\x5a\x39\x69\xb2\x34\xf4\xd1\xd1\xd1\x7d\x1b\xdc\xe5\x9d\xdd\xcd\x2d\xc9\xfd\x68\x1a\xf6\xa9\x7d\x79\xca\xd6\xe5\xf5\xd6\xd6\xa5\x72\x13\xed\x6b\x26\x5f\xe9\x6d\xd6\xce\x35\x94\x4f\x61\xad\xa6\xab\xf2\x87\xb3\x4f\xe7\x10\xaf\x57\xb3\x95\x96\x68\xe7\x54\x85\xa9\x84\xe1\x74\xb7\x7d\xb8\xcd\xdc\xb1\x71\xde\x61\x3d\x33\xb4\xec\x88\x5c\x9f\xe4\xff\x1b\xe5\x34\xb1\x6f\x6d\xed\x96\xe3\x75\xb9\x88\xcb\xfc\xd5\xb2\x87\x2c\x9a\xaa\x91\x89\x4c\xe2\x13\xc3\xa8\xfe\x32\x37\xcd\xc4\x84\x5d\x63\xfe\x0d\x3e\x4c\xdd\x40\x55\xfe\xa0\xe9\xef\xf8\xec\xec\xdb\x7c\x75\xb6\xfb\x47\x67\xdf\xee\x9b\xb3\x15\x9a\x3b\x68\x72\xf9\x75\xe9\x03\xbe\xfb\xfa\x6f\x00\x00\x00\xff\xff\x07\xde\x61\xfd\x76\x3f\x00\x00") +var _templateDefaultTmpl = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\xec\x1b\x7b\x6f\xdb\x36\xfe\x7f\x7d\x8a\xdf\x34\x1c\xd6\x00\x96\xe5\xb4\x5b\xb1\x38\x76\x0e\xae\xa3\x34\xc2\x39\x72\x20\x2b\xed\x8a\x61\x28\x68\x89\xb6\xd9\x4a\xa4\x46\x52\x49\xdc\xcc\xdf\xfd\x40\x4a\x7e\xc8\x96\x53\xa7\xe8\x12\xdf\x2d\x2d\xb6\x5a\x14\x7f\xef\x27\x45\xf2\xee\x0e\x22\x3c\x22\x14\x83\xf9\xf1\x23\x8a\x31\x97\x09\xa2\x68\x8c\xb9\x09\xb3\x59\x47\x3d\x5f\xe4\xcf\x77\x77\x80\x69\x04\xb3\x99\xb1\x15\xe4\xca\xef\x29\xa8\xbb\x3b\xa8\x3b\xb7\x12\x73\x8a\xe2\x2b\xbf\x07\xb3\x99\xfd\xa3\xad\xe7\x89\x7f\x73\x1c\x62\x72\x8d\x79\x5b\x4d\xf2\x8b\x87\x1c\xa6\xc0\x5e\x46\x2f\xb2\xe1\x27\x1c\x4a\x85\xf6\x77\x05\x32\x90\x48\x66\x02\xfe\x02\xc9\xae\xd2\x74\x0e\x4a\x46\x80\xff\x5c\xbc\x34\x47\x84\x13\x3a\x56\x30\x4d\x05\xa3\xa5\x10\xf5\x33\x3d\x0a\x7f\x41\x8c\xe9\x2a\xc5\x3f\x40\x4d\x7a\xcb\x59\x96\xf6\xd0\x10\xc7\xa2\x3e\x60\x5c\xe2\xe8\x12\x11\x2e\xea\xef\x50\x9c\x61\x45\xf0\x13\x23\x14\x4c\x50\x58\x21\x27\x39\x96\xf0\x42\xe1\xaa\x77\x59\x92\x30\x9a\x03\x1f\x14\x63\x2b\xf8\x0e\x60\x36\x7b\x71\x77\x07\x37\x44\x4e\xca\x93\xeb\x3e\x4e\xd8\x35\x2e\x53\xf7\x50\x82\x45\xa1\xc6\x2a\xea\x0b\xc6\x0f\x16\xbf\xb6\xd8\x26\xc2\x22\xe4\x24\x95\x84\x51\xf3\x1e\x1d\x4b\x7c\x2b\x73\x3b\x7e\x8c\x89\x90\xc5\x54\x8e\xe8\x18\x43\x1d\x66\xb3\x9c\xaf\xa6\xb1\x1c\xdc\xd4\x93\xd2\x8a\xa5\x15\xa9\xd8\x57\x4f\x6d\x58\x08\x50\x30\x96\x13\xef\x50\xca\x24\x52\x3c\x95\x50\xae\x0c\x7f\x1b\xde\x01\xcb\x78\x88\x9b\xb9\x31\x31\xc5\x1c\x49\xc6\x73\xf7\x33\x2a\x14\x55\xd2\x81\x88\x51\xf8\xb9\x1e\xe1\x11\xca\x62\x59\x97\x44\xc6\xb8\xd0\x82\xc4\x49\x1a\x23\x59\xf6\xc5\xfa\x36\x95\x97\xf1\x64\x42\x85\x40\x52\x85\xaa\x1c\x68\x3b\xe2\x1b\xa1\x38\x1e\xa2\xf0\xf3\x06\xbe\x4a\xf6\x15\x52\xf8\x0b\xbe\x36\x31\x26\xf4\xf3\xce\x1c\xa4\x1c\x2b\x67\x31\x77\x9b\xbd\x82\xff\x5e\x05\xe8\xb4\xb1\x23\x07\x24\x64\x14\x27\xec\x13\xd9\x91\x07\x35\x3f\xe3\xf1\xae\x1c\x6f\x08\x57\x72\x93\x09\x49\xc3\x09\x92\x4b\x83\x70\x96\x7c\xbb\x71\xd7\xb1\x25\x58\x08\x34\x7e\x80\xe3\x95\x78\x4b\x15\xb5\x28\x93\xd3\x05\xbe\xcd\xe8\x7f\x98\x33\x6f\x62\x0c\x63\x82\xa9\xfc\x76\x89\xb7\x61\x5c\xd6\x8d\x6f\x73\x91\x4d\xbc\x84\x0a\x89\x68\x88\x45\x05\xde\x8d\x74\x77\x8f\x56\x59\x2a\xc6\x98\x12\xfc\xed\x46\xba\x0f\xd9\xa6\x85\x8a\xea\xb0\x25\x19\x56\x96\x03\x63\xad\x18\x95\xaa\xdd\x01\x34\xc0\x9a\xcd\x8c\x7c\x10\xf2\x41\x9d\x76\xef\xd7\x48\xb9\x64\x6a\x22\xd6\x8a\x44\x15\xf4\x7c\x2c\x58\x7c\x8d\xa3\x35\x8a\xf3\xe1\xdd\x69\xce\x21\x36\xa8\x5a\xbb\xa8\x54\xe8\x2a\xf0\x70\x6f\x2a\x59\xfd\x9a\x84\x92\x71\x96\x8a\x25\x5a\x89\x24\xfe\xb8\xa3\xf1\xd7\xb3\xee\x43\x5c\x79\x93\x74\xc2\x28\x91\x4c\xd9\xe1\xa3\x64\x2c\x7e\x60\xf4\x95\xe4\xc2\x09\x22\xf1\x52\xa6\x65\x6b\xf5\x60\x57\x2e\x63\x9a\xc8\x44\xf3\x65\xb4\x7e\x38\xed\x77\x83\x0f\x97\x0e\xa8\x21\xb8\xbc\x7a\xd3\x73\xbb\x60\x5a\xb6\xfd\xfe\x55\xd7\xb6\x4f\x83\x53\xf8\xed\x3c\xb8\xe8\xc1\x61\xbd\x01\x01\x47\x54\x10\xe5\xe4\x28\xb6\x6d\xc7\x33\xc1\x9c\x48\x99\x36\x6d\xfb\xe6\xe6\xa6\x7e\xf3\xaa\xce\xf8\xd8\x0e\x7c\xfb\x56\xe1\x3a\x54\xc0\xc5\x4f\x4b\xae\x40\xd6\x23\x19\x99\x27\x46\xeb\x07\xcb\x32\x06\x72\x1a\x63\x40\x34\x02\x4d\x24\xc2\x9c\x28\x47\x52\x69\x1a\x14\x6a\xd1\xb4\xed\x31\x91\x93\x6c\x58\x0f\x59\x62\x2b\x19\xc6\x19\xb5\x35\x3a\x14\xe6\xf8\x2c\x2d\x9a\x35\x57\x87\x30\x0c\x23\x98\x60\xb8\x70\x03\xe8\x91\x10\x53\x81\xe1\xc5\x85\x1b\x1c\x18\x46\x97\xa5\x53\x4e\xc6\x13\x09\x2f\xc2\x03\x78\xd9\x38\xfc\x19\x2e\x72\x8c\x86\x71\x89\x79\x42\x84\x20\x8c\x02\x11\x30\xc1\x1c\x0f\xa7\x30\xe6\x88\x4a\x1c\xd5\x60\xc4\x31\x06\x36\x82\x70\x82\xf8\x18\xd7\x40\x32\x40\x74\x0a\x29\xe6\x82\x51\x60\x43\x89\x08\x55\x71\x87\x20\x64\xe9\xd4\x60\x23\x90\x13\x22\x40\xb0\x91\xbc\x41\x3c\x97\x10\x09\xc1\x42\x82\x24\x8e\x20\x62\x61\x96\x60\x9a\x27\x0c\x18\x91\x18\x0b\x78\x21\x27\x18\xcc\x41\x01\x61\x1e\x68\x22\x11\x46\xb1\x41\x28\xa8\x77\xf3\x57\xba\x2b\x65\x99\x04\x8e\x85\xe4\x44\x6b\xa1\x06\x84\x86\x71\x16\x29\x1e\xe6\xaf\x63\x92\x90\x82\x82\x02\xd7\x82\x0b\x43\x32\xc8\x04\xae\x69\x3e\x6b\x90\xb0\x88\x8c\xd4\xbf\x58\x8b\x95\x66\xc3\x98\x88\x49\x0d\x22\xa2\x50\x0f\x33\x89\x6b\x20\xd4\xa0\xd6\x63\x4d\xc9\x61\x33\x0e\x02\xc7\xb1\x11\xb2\x94\x60\x01\x5a\xd6\x25\x77\x7a\x8e\x62\x3d\x55\x0a\x95\x85\x8a\x84\x1a\xb9\x99\xb0\xa4\x2c\x09\x11\xc6\x28\xe3\x94\x88\x09\xd6\x30\x11\x03\xc1\x34\x45\xe5\xcd\x6a\x44\x4d\x1f\xb1\x38\x66\x37\x4a\xb4\x90\xd1\x88\x14\x8d\xa8\x36\x32\x1a\xaa\x66\x3c\x5c\xd8\x95\x32\x49\xc2\x5c\xdd\xda\x00\xe9\xd2\xaa\xc5\x2b\x31\x41\x71\x0c\x43\x5c\x28\x0c\x47\x40\x28\xa0\x15\x71\xb8\x22\xaf\x6a\x91\x24\x28\x86\x94\x71\x4d\x6f\x5d\xcc\xba\x61\x04\xe7\x0e\x0c\xfa\x67\xc1\xfb\x8e\xef\x80\x3b\x80\x4b\xbf\xff\xce\x3d\x75\x4e\xc1\xec\x0c\xc0\x1d\x98\x35\x78\xef\x06\xe7\xfd\xab\x00\xde\x77\x7c\xbf\xe3\x05\x1f\xa0\x7f\x06\x1d\xef\x03\xfc\xc7\xf5\x4e\x6b\xe0\xfc\x76\xe9\x3b\x83\x01\xf4\x7d\xc3\xbd\xb8\xec\xb9\xce\x69\x0d\x5c\xaf\xdb\xbb\x3a\x75\xbd\xb7\xf0\xe6\x2a\x00\xaf\x1f\x40\xcf\xbd\x70\x03\xe7\x14\x82\x3e\x28\x82\x05\x2a\xd7\x19\x28\x64\x17\x8e\xdf\x3d\xef\x78\x41\xe7\x8d\xdb\x73\x83\x0f\x35\xe3\xcc\x0d\x3c\x85\xf3\xac\xef\x43\x07\x2e\x3b\x7e\xe0\x76\xaf\x7a\x1d\x1f\x2e\xaf\xfc\xcb\xfe\xc0\x81\x8e\x77\x0a\x5e\xdf\x73\xbd\x33\xdf\xf5\xde\x3a\x17\x8e\x17\xd4\xc1\xf5\xc0\xeb\x83\xf3\xce\xf1\x02\x18\x9c\x77\x7a\x3d\x45\xca\xe8\x5c\x05\xe7\x7d\x5f\xf1\x07\xdd\xfe\xe5\x07\xdf\x7d\x7b\x1e\xc0\x79\xbf\x77\xea\xf8\x03\x78\xe3\x40\xcf\xed\xbc\xe9\x39\x39\x29\xef\x03\x74\x7b\x1d\xf7\xa2\x06\xa7\x9d\x8b\xce\x5b\x47\x43\xf5\x83\x73\xc7\x37\xd4\xb4\x9c\x3b\x78\x7f\xee\xa8\x21\x45\xaf\xe3\x41\xa7\x1b\xb8\x7d\x4f\x89\xd1\xed\x7b\x81\xdf\xe9\x06\x35\x08\xfa\x7e\xb0\x00\x7d\xef\x0e\x9c\x1a\x74\x7c\x77\xa0\x14\x72\xe6\xf7\x2f\x6a\x86\x52\x67\xff\x4c\x4d\x71\x3d\x05\xe7\x39\x39\x16\xa5\x6a\x28\x59\xa4\xef\xeb\xe7\xab\x81\xb3\x40\x08\xa7\x4e\xa7\xe7\x7a\x6f\x07\x0a\x58\x89\x38\x9f\x5c\x37\x2c\xeb\xc4\x68\xe9\x14\x78\x9b\xc4\x54\xb4\x2b\x12\xdb\xe1\xd1\xd1\x51\x9e\xcf\xcc\xdd\x26\x09\x95\xdc\xda\xe6\x88\x51\x69\x8d\x50\x42\xe2\x69\x13\x7e\x3a\xc7\xf1\x35\x96\x24\x44\xe0\xe1\x0c\xff\x54\x83\xc5\x40\x0d\x3a\x9c\xa0\xb8\x06\x02\x51\x61\x09\xcc\xc9\xe8\x18\x86\xec\xd6\x12\xe4\x8b\xea\x01\x60\xc8\x78\x84\xb9\x35\x64\xb7\xc7\xa0\x91\x0a\xf2\x05\x37\xe1\xf0\xe7\xf4\xf6\x18\x12\xc4\xc7\x84\x36\xa1\x71\xac\x72\xeb\x04\xa3\xe8\x29\xe9\x27\x58\x22\x50\x2b\xa9\xb6\x79\x4d\xf0\x8d\x8a\x22\x53\x45\xaf\xc4\x54\xb6\xcd\x1b\x12\xc9\x49\x3b\xc2\xd7\x24\xc4\x96\x7e\x78\x3a\x65\x81\x3d\x67\x57\x19\xd3\xc2\x7f\x66\xe4\xba\x6d\x76\x73\x56\xad\x60\x9a\xe2\x15\xc6\x55\x0b\x64\x2b\xe3\x1e\xeb\x4a\x20\xb0\x6c\x5f\x05\x67\xd6\xaf\x4f\xcc\xbe\x5e\xb6\x3d\x9d\xb9\xef\xeb\x45\x5a\xb6\x66\xee\xc4\x30\x5a\xb6\x72\x4a\xf5\x63\xc8\xa2\x29\x10\x89\x13\x11\xb2\x14\xb7\x4d\x53\x3f\xc8\xa9\xfa\x5d\x44\x94\x08\x27\x38\x41\x3a\xa2\x1c\x55\xdd\x2f\xe6\x7d\xdc\xa3\x0a\x69\xdd\xe0\xe1\x67\x22\xad\xfc\x45\xc2\x98\x9c\x68\xa0\xbc\x36\x10\x24\x70\xb4\x9c\xa4\x7c\x43\x43\x5b\x28\xfa\x94\x09\xd9\x04\xca\x28\x3e\x86\x09\x56\x95\xa9\x09\x87\x8d\xc6\xbf\x8e\x21\x26\x14\x5b\x8b\xa1\xfa\x6b\x9c\x1c\x83\x8e\x80\x7c\x02\xfc\x40\x12\x15\x2c\x88\xca\x63\x18\xa2\xf0\xf3\x98\xb3\x8c\x46\x56\xc8\x62\xc6\x9b\xf0\xe3\xe8\xb5\xfa\xbb\xaa\x7e\x48\x51\x14\x69\xae\x94\x37\x0c\xc7\x7a\x66\xdb\x2c\x66\x9a\x4a\xdf\x12\x0d\x1f\xdb\x3d\x56\x44\xda\x51\x8e\x4a\xde\x01\x5a\x92\x3f\x61\x1e\x03\x50\x1c\x3c\x72\x26\xbd\xc6\x5c\x21\x89\x2d\x14\x93\x31\x6d\x82\x64\x69\x59\x51\xd7\xfa\x45\xdb\x94\x2c\x35\x4f\x5a\xb6\x8c\x96\x8c\xe6\x99\xd5\x7c\xdd\x68\x3c\x72\xa8\x54\x32\x1d\x11\x91\xc6\x68\xda\x84\x61\xcc\xc2\xcf\x25\xdf\x4e\xd0\xad\x55\x38\xc9\xeb\x46\x23\xbd\x2d\xbd\x0c\x63\x8c\xb8\x22\x28\x27\xa5\xf1\x6d\x81\xb2\x50\x0e\xa0\x4c\xb2\xb5\x90\x28\x69\x4b\x2b\x0a\xa0\x15\x91\xeb\xc7\x76\xab\xb2\xbc\xeb\xca\xb9\x5f\x88\x39\xdf\xca\xc8\x3a\x98\x0b\x3b\x2b\x4d\x98\x10\xe2\x38\x2e\x66\xb7\xcd\x46\xfe\x2c\x52\x14\xce\x9f\x1f\x55\xd0\xe2\x25\x47\x11\xc9\x44\x13\x5e\xe9\xb1\x8a\x04\x30\x1a\x95\xb2\x58\x0e\xd6\x84\xc3\xf4\x16\x04\x8b\x49\x04\x3f\xe2\x23\xf5\xb7\x9c\x18\x46\xa3\x15\x5d\xec\x43\x76\x58\x72\xf2\x78\x59\xe2\xf5\xd6\x80\x2b\x69\x57\x83\xdc\x14\xa5\xe6\x97\x46\xe3\x18\x74\x89\x2a\xe6\x87\x98\x4a\xcc\xab\xec\xa5\xff\x6b\x68\xa3\x6c\xda\xcd\x79\xfd\xcb\xcb\x97\xdd\xea\x02\xf4\x52\xf9\xb5\x09\x45\xbc\xe5\x04\x56\xad\x97\xc3\x56\x47\xe4\xfc\xcf\x72\xf7\x67\xb1\xed\x03\xfa\x6b\x49\xe5\x37\xac\x03\x38\x84\xd9\x4c\x2c\x3e\x78\xc0\x88\x71\x58\xee\x50\x6c\xd9\x21\x82\xd9\x6c\x8d\x2a\xac\xee\x57\xb4\x4b\xbb\x15\x1b\xd3\x8a\x4f\x2b\x25\xe3\x2f\x72\xf0\xe2\x99\x3f\xbb\xe9\x2e\xc5\x6c\xe9\x3c\x87\xb9\xf3\xdc\xe7\x1b\x7b\x9f\xfb\xb6\xaa\x7d\xbf\x9c\x60\xdf\x5d\xa1\x01\x8d\x79\x2e\xb9\xcf\x1d\x0a\x31\x10\x4c\x38\x1e\xb5\xcd\x5d\x3e\xe0\x3e\xb2\x3f\xcc\x93\xe6\xd9\xd9\x59\x91\x7c\x23\x1c\x32\xae\xbf\xc9\xcd\x97\x07\xa5\x05\xc1\x4b\xb5\x1c\x28\xe5\xed\x21\x8b\xa3\xea\xc4\x1d\x66\x5c\x28\xec\x29\x23\xf9\xc0\xa2\xa1\x20\x54\x23\x2d\xfa\x8a\xb5\x04\xff\x8b\x62\x4c\xe3\xd3\x1f\x51\x47\x8c\x27\x4d\x08\x51\x4a\x24\x8a\xc9\x17\x5c\x99\xf4\x5f\xfd\xfc\x2b\x8e\x50\x45\xbd\xde\x98\x51\x0c\x6b\x2d\x37\xf3\x42\xbe\x18\x5c\x74\x6f\xe9\x6d\x61\xde\x93\x77\x04\xdf\x00\xa1\xf7\x7d\x7c\x9f\x2f\x23\x51\xa5\x0f\xaf\x25\xde\xea\xf4\x9b\xff\xf9\xda\xa6\x4b\x45\x51\x78\x0e\xd9\xbf\x27\x64\x85\xe4\x8c\x8e\x9f\x4e\xb5\xbf\x6f\x3f\x63\xf2\x47\xb1\xe3\xd6\xb2\x73\x26\xbf\x83\xd7\x55\x34\x0c\xc5\x9b\xf9\x41\x8a\xf5\xad\xbb\x67\x3f\xfc\x67\xf8\x61\xde\x9a\x2e\x5c\xad\x35\x7c\x3a\x33\x83\x5d\xad\xa3\xaf\x9c\x20\xda\x7e\xcc\xe7\x89\x85\xd9\x1e\x77\x50\x51\x0b\x96\x9b\xf7\x79\x25\x78\x72\xcf\x58\xe1\x68\x5f\xdc\xe3\xab\x1a\xfd\xea\xb1\xb0\xff\x51\x67\x59\xed\x30\xd7\xcf\xa9\x3d\x51\x43\x39\x6f\xb7\x36\x7a\xca\x8c\x46\x98\xab\xee\xaf\xec\x4e\xf9\x49\x3b\xd5\x44\xed\x5f\x8e\xf9\xb6\x6a\xba\x63\x7b\xb7\x7a\xc6\xa5\xd2\xbc\xcf\x5d\xe1\xde\x54\xe3\xbd\xf3\x4c\x80\xd6\x64\x0f\x79\xda\x3b\x3d\x3d\x24\x82\xef\xeb\x88\x9f\x03\xeb\xff\xb3\xcd\x5d\x5d\x6e\x2d\xce\x0a\x2e\x17\x5c\xf3\xa1\x27\x58\x72\xad\x9e\x5c\x7c\xf6\xc6\x7f\x86\x37\x3e\x2f\xba\x9e\x17\x5d\xcf\x8b\xae\x7d\x77\x96\xe7\x45\xd7\xde\xb4\x6c\xdb\x0c\xd5\xb2\xf5\x7e\xdc\xc9\x03\xb6\x42\x17\x20\xcb\x91\x47\x3f\x89\x51\x3a\x9a\xb4\x72\xd2\x64\x69\xe8\xa3\xa3\xa3\xfb\x36\xb8\xcb\x3b\xbb\x9b\x5b\x92\xfb\xd1\x34\xec\x53\xfb\xf2\x98\xad\xcb\xcb\xad\xad\x4b\xe5\x26\xda\xd7\x4c\xbe\xd2\xdb\xac\x9d\x6b\x28\x9f\xc2\x5a\x4d\x57\xe5\x9b\xb4\x8f\xe7\x10\x2f\x57\xb3\x95\x96\x68\xe7\x54\x85\xa9\x84\xe1\x74\xb7\x7d\xb8\xcd\xdc\xb1\x71\xde\x61\x3d\x33\xb4\xec\x88\x5c\x9f\xe4\xff\x37\xca\x69\x62\xdf\xda\xda\x2d\xc7\xeb\x72\x11\x97\xf9\xab\x65\x0f\x59\x34\x55\x23\x13\x99\xc4\x27\x86\x51\x7d\x55\x37\xcd\xc4\x84\x5d\x63\xfe\x1d\x6e\xaa\x6e\xa0\x2a\xdf\x6d\xfa\x3b\xee\xa1\x7d\x9f\x6b\x68\xbb\xdf\x42\xfb\x7e\x97\xd0\x56\x68\xee\xa0\xc9\xe5\x75\xd3\x87\xdc\x3f\x5b\xc1\x88\x12\xf4\x85\xd1\x8f\x82\x8a\xef\x72\x57\xab\x02\xdd\xb3\xb1\x1f\x62\xec\xff\x06\x00\x00\xff\xff\x3f\x70\x92\xfb\x23\x41\x00\x00") func templateDefaultTmplBytes() ([]byte, error) { return bindataRead( @@ -83,7 +83,7 @@ func templateDefaultTmpl() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "template/default.tmpl", size: 16246, mode: os.FileMode(420), modTime: time.Unix(1483467521, 0)} + info := bindataFileInfo{name: "template/default.tmpl", size: 16675, mode: os.FileMode(420), modTime: time.Unix(1492501074, 0)} a := &asset{bytes: bytes, info: info} return a, nil } diff --git a/ui/bindata.go b/ui/bindata.go index 7cfb435599..52a8db488d 100644 --- a/ui/bindata.go +++ b/ui/bindata.go @@ -90,7 +90,7 @@ func (fi bindataFileInfo) Sys() interface{} { return nil } -var _uiAppCssMainCss = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x94\x57\xcb\x6e\xe3\x36\x17\x5e\xc7\x4f\x71\xfe\x09\x06\xf9\x13\x98\x8a\xac\xb1\xe2\x8c\x8c\x2e\x8a\x6e\xba\x99\x2e\x8a\xee\x8a\x59\x50\xe4\xb1\x4d\x84\x26\x55\x8a\x4e\xec\x0e\xf2\x1a\x7d\x97\xae\xfa\x2e\x7d\x92\x82\x94\x28\x89\xb2\x6c\xb4\x50\x2e\xf6\x21\xcf\xed\x3b\x57\x95\x9a\x9f\xe0\xdb\xec\x46\xbf\xa2\xd9\x48\xfd\x46\x4e\x05\xd4\xcc\x68\x29\xd7\xb3\x9b\x92\xb2\x97\xad\xd1\x07\xc5\x0b\xb8\xdd\x50\xf7\xac\x67\xef\xb3\xd9\x0e\x29\x47\xe3\xd8\x2a\xca\xb9\x50\xdb\x02\x16\xb8\x87\x2c\xc9\x71\x0f\x8b\x64\x19\x3e\x8f\x45\x2c\x53\xf7\x0c\x45\xdc\x4a\xbd\xd5\x4e\x10\xd3\x52\x1b\xa7\x65\xb3\x59\xcf\x6e\x36\x52\x53\x5b\x80\xc4\x8d\x5d\xcf\x6e\xf6\xd4\x6c\x85\x2a\x20\x85\xe7\xb4\x3a\x42\x0a\x5e\x44\x24\x81\x0e\x64\x08\xb5\x43\x23\x1c\xa3\xc5\xa3\x25\x1c\x99\x36\xd4\x0a\xad\x0a\x50\x5a\xa1\xe3\xa5\xc9\x16\x15\x91\x42\xbd\x40\x79\xb0\x56\xab\x91\x09\xf0\x3f\xb1\xaf\xb4\xb1\x54\x59\x6f\xed\xad\xd5\x15\x51\xf4\x35\xd2\x73\x5b\x96\xe5\x25\x25\xb3\xf7\x9e\x27\xa9\x51\x22\xb3\xc8\x63\x6e\xef\xe9\xe0\x1a\x2d\x76\x2e\x08\x13\x57\xfa\x3b\x07\xe9\x8e\x63\x74\xa4\xa8\x2d\xa9\xed\x49\x62\xf0\xaf\x03\xec\xb9\x41\x0b\x52\x88\xc5\x48\xe1\xc4\x70\x51\x57\x92\x9e\x1c\x60\x52\x28\x24\xa5\xd4\xec\xa5\xe3\x26\x46\x6c\x77\xb6\x80\x2c\xc9\x5c\x20\x1d\x3b\xd3\xca\xa2\xb2\x51\xdc\xdb\x38\xbb\xe3\x5a\x48\x54\x0c\x09\x33\x48\x2d\xce\xe1\x76\x23\xa4\x45\x43\xa8\x44\x63\x6b\xc7\x15\xe7\x93\x8f\xf4\x9b\xe0\x76\x57\xc0\x22\x4d\x3f\x3a\xd5\x42\x91\x96\xb2\x4c\xd3\xea\xe8\x01\xf2\xfc\xc4\xf1\x55\x75\xb2\x13\x1c\x49\xab\x89\x43\xd2\x9c\x09\x8b\xfb\xa4\x23\x0e\x5d\x0b\x01\x4f\x06\x42\xdc\x85\xd6\xc7\x52\x5b\xab\xf7\x05\xe4\x8d\xaa\x81\x38\x48\x38\x5a\x2a\x64\x7d\x0e\x78\x8c\xcf\x22\x6b\x78\x63\x66\x3c\x56\x54\xf1\x39\x04\xab\x22\xb2\xaf\xb7\x8a\x32\x61\x4f\x05\x24\xcb\x91\xe6\x36\x0d\xa6\x45\xc4\x87\x91\xa0\x45\x63\x45\xac\x50\xd2\x12\x65\x3d\x87\xc8\xb8\x86\x08\xdf\x9c\xde\xff\x72\x3d\x04\xeb\x29\xff\x38\xf4\xd8\x83\x4a\xfa\x9e\x50\x6a\xc3\xd1\x74\xd8\x2e\xaa\x23\xd4\x5a\x0a\x1e\x42\x1e\x65\x41\xb9\x71\xcf\x7a\x90\x51\xc9\x73\x9b\x50\x23\xdb\x38\x4a\xb4\x48\x9a\x7a\x9d\x8f\x4f\x91\x0b\xdb\x9f\x0d\xcd\x0f\xf7\xfa\x42\xef\x20\x4b\x93\x2c\x5f\x8f\x51\x08\x10\x5f\xd3\xd7\x85\xe1\x82\xd6\x70\x7e\x45\xf7\x22\x49\x5b\x10\x99\x15\xaf\x5d\x4e\x3b\xf0\x2b\x54\x0e\x8a\x21\x09\x25\xad\x6a\xe4\x1d\x69\x22\x87\xa7\x13\xd1\xd9\xf1\x2a\xf0\xed\xbc\xfc\x52\xf7\x4c\x01\x3f\x42\xf6\xa2\x84\xcb\xa1\x8b\x24\x24\x3b\xb1\xdd\x49\x57\x2c\x57\x64\xf1\x8d\x7b\xd6\x21\x79\xa2\xac\xc9\x36\xab\x15\x5f\x4c\x58\xd6\x54\xe8\x28\x5b\x1b\xe2\x85\x6e\x73\x25\xc9\xf6\xd4\xb2\x1d\x9a\x29\x64\xf3\x00\xec\xd9\xdd\x44\xd4\xc4\xe0\x16\x8f\xbe\x4b\x68\x65\xc9\x86\xee\x85\x3c\x15\xb0\xd7\x4a\xd7\x15\x65\x18\xf5\xc6\x9a\xfc\x76\x40\x73\x9a\xd0\x91\x2d\xa7\xa2\x17\x14\x7a\xda\x79\x37\x71\xd9\xd7\x92\xce\x87\x71\x70\xd0\xcf\x07\xcf\x30\x8d\xc9\x38\x8d\x82\x1d\x3d\x5f\xe2\x1a\x3f\x15\x0a\x0d\x71\x2d\x30\xea\x04\xbe\x49\x47\x9a\xcf\xc6\x77\xa4\x73\xb5\x5a\xad\xfb\x01\x87\x88\xad\xb2\x52\x5e\x1b\x49\x1e\xda\x5a\xfc\x8e\xae\x66\x57\x5e\x47\xa7\x32\x85\x27\x6f\x43\xbf\x25\x64\xd5\xd1\xff\xa6\xeb\x51\x50\xbe\xa0\x92\x7a\x0e\x5f\xb4\xa2\x4c\xcf\xe1\x07\xad\x6a\x2d\x69\x3d\x87\x9a\xaa\x9a\xd4\x68\xc4\x85\x14\x64\x8c\x75\x07\xc4\x50\x2e\x0e\x75\x01\xbe\xde\x62\xef\xf2\x3c\x5f\x9f\x8d\x6f\xe7\x1c\xe9\x8b\x60\x1c\x05\x7c\xca\xb3\x8c\x75\x17\xf5\xc1\x3a\xd7\x87\x6b\x40\x9e\xe7\xd1\x42\x12\xf1\x9b\x6d\x49\xff\x9f\xe5\xf9\x1c\xfa\x3f\x69\x92\xdf\x8f\x38\xce\x7d\x1a\x4b\x75\x61\xd8\x1f\x2c\x72\xd2\x06\x63\x94\x2b\xb8\x5c\xd1\xf5\x65\xa3\xde\x87\xdc\xf4\x9a\xf9\x3e\xc9\x95\xd2\xd6\xef\x4b\x35\x58\x3f\xc7\x06\xa3\x3f\x6b\x46\xff\xcd\xdb\x4e\x58\x24\xbe\x8a\x0a\xa8\x0c\x92\x37\x43\xab\xd8\xaf\x37\x6d\x38\x29\x0d\xd2\x97\x02\xfc\x3f\x42\xfd\xe6\xea\xe9\xee\x7a\x20\x3b\x82\x37\xd2\xd2\x52\x22\x51\xda\xec\xa9\x9c\x30\xa3\xef\x10\x6e\x8b\x8d\x74\xf9\x45\x2f\xec\xc9\x05\x30\x29\xaa\x2b\x95\x62\xba\x60\x37\x59\xe3\x8a\xa1\x2d\x98\x10\x81\xa6\x16\xe2\xda\x19\x4c\x04\xa1\x2c\x9a\x57\x2a\x87\x58\x52\x4a\xbb\x72\x68\x56\x3e\x61\xa9\x14\x2c\xee\x4f\xbe\x5d\x5c\xee\xf8\xad\x45\x56\x57\x53\xd3\xf9\xfa\xf4\x7e\x9f\xcd\x84\xaa\x0e\x36\x51\x5b\x22\xd4\x2b\x95\x82\xbb\x8f\x56\x1f\xd8\xce\xef\x5e\x00\xad\x84\x60\x32\xc7\x8c\x7d\x2a\xd7\xfe\xe0\x48\xea\x1d\xe5\x0e\xbd\x66\x2d\x75\x55\xda\x24\x70\x96\xcd\x61\xb9\x9c\x43\xfe\xd9\xa5\xef\xa7\xfb\x39\xa4\x5e\x77\x77\x23\x9d\x43\xfb\x93\x64\xf7\x20\x54\x8d\x76\x60\x0d\xd3\xd2\x4f\xc8\x5f\xed\xa9\xc2\xef\xd8\x0e\xd9\x4b\xa9\x8f\x5f\x1d\x06\xe4\x0d\xcb\x17\x61\x09\xad\x2a\xa4\x86\x2a\xd6\xed\xc9\x00\x00\x61\xff\x74\xd8\xbb\xef\x3b\x6c\xd7\xba\x40\x08\x95\x13\x36\xc9\xab\xfa\x0a\xba\xb1\x61\x85\xf7\xbb\x72\x01\x77\x7f\xff\xf1\xe7\xdd\x39\x63\xa2\x2b\x54\xff\x8a\xfb\xaf\xbb\x36\xcb\xdc\x1a\xd6\x4c\x07\x45\xf7\x38\xd5\xcd\x47\x65\xf6\xf8\xf0\xf0\xd8\xa8\x6d\x14\x7d\xe0\xd4\xa2\x15\x7b\x24\x52\x33\x2a\x3f\x7c\x05\x1f\xaf\xa8\x45\xde\xfd\x88\xf2\x15\xad\x60\x14\x7e\xc2\x03\xde\xcd\xa1\x23\xcc\xe1\x7b\x23\xa8\x8c\xbb\x65\xcb\xde\xf4\xe6\x45\xb2\x34\x0d\x6e\x7d\x77\x4e\x3e\x1b\xf7\x52\xd8\xd2\x7d\x57\xef\x30\x76\x94\xf0\x65\xe9\x6b\x1e\xa0\xed\x7f\x7d\x8c\xc6\x4e\xfa\x34\xec\xe3\x32\x48\xd0\xb0\x44\x74\x29\x18\x75\x6a\x80\xd1\xa4\x4b\x1d\xad\xcd\xd2\x71\x8a\x3d\xe7\xf7\x1e\xf5\xc7\x07\xf8\x59\x1f\xac\x50\x5b\xf8\xc5\x20\xc2\xc3\xe3\x2c\xe9\xdd\xef\xe0\x6b\xb6\xaf\x08\x18\x17\x32\xa5\x39\x02\x13\x86\x49\xf4\x57\x6b\x6b\xf4\x0b\x16\x50\x5b\x44\x59\xca\x83\xf7\xaf\x21\x86\xde\xb7\x48\xba\x6d\xc3\x73\xbb\xa6\x33\x54\x93\x4e\xa8\xf1\xef\xb1\xfe\x8e\x90\xb2\x07\x2e\x68\x6b\xa6\xd7\x15\x45\x3e\xb3\x88\x4f\x14\x2f\xa6\x7f\xb9\x6b\x86\x68\x57\x25\x79\x78\x27\x9b\xb9\x46\xb7\x11\x5b\x72\xda\xcb\xc9\x9a\xe7\x7c\x18\xdb\xd5\x53\x1b\xdc\x8b\x92\x97\x79\x7b\xe3\xca\x12\x95\xf8\x6d\xc0\xab\xeb\xf6\x84\x76\x41\x70\xa7\xc3\x95\x21\xbe\x14\x2f\x13\xef\xb3\xd9\x3f\x01\x00\x00\xff\xff\x9a\xfd\x34\xd4\xf5\x10\x00\x00") +var _uiAppCssMainCss = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\x94\x57\xcb\x6e\xe3\x36\x17\x5e\xc7\x4f\x71\xfe\x09\x06\xf9\x13\x98\x8a\xac\xb1\xe2\x8c\x8c\x2e\x8a\x6e\xba\x99\x2e\x8a\xee\x8a\x59\x50\xe4\xb1\x4d\x84\x26\x55\x8a\x4e\xec\x0e\xf2\x1a\x7d\x97\xae\xfa\x2e\x7d\x92\x82\x94\x28\x89\xb2\x6c\xb4\x50\x2e\xf6\x21\xcf\xed\x3b\x57\x95\x9a\x9f\xe0\xdb\xec\x46\xbf\xa2\xd9\x48\xfd\x46\x4e\x05\xd4\xcc\x68\x29\xd7\xb3\x9b\x92\xb2\x97\xad\xd1\x07\xc5\x0b\xb8\xdd\x50\xf7\xac\x67\xef\xb3\xd9\x0e\x29\x47\xe3\xd8\x2a\xca\xb9\x50\xdb\x02\x16\xb8\x87\x2c\xc9\x71\x0f\x8b\x64\x19\x3e\x8f\x45\x2c\x53\xf7\x0c\x45\xdc\x4a\xbd\xd5\x4e\x10\xd3\x52\x1b\xa7\x65\xb3\x59\xcf\x6e\x36\x52\x53\x5b\x80\xc4\x8d\x5d\xcf\x6e\xf6\xd4\x6c\x85\x2a\x20\x85\xe7\xb4\x3a\x42\x0a\x5e\x44\x24\x81\x0e\x64\x08\xb5\x43\x23\x1c\xa3\xc5\xa3\x25\x1c\x99\x36\xd4\x0a\xad\x0a\x50\x5a\xa1\xe3\xa5\xc9\x16\x15\x91\x42\xbd\x40\x79\xb0\x56\xab\x91\x09\xf0\x3f\xb1\xaf\xb4\xb1\x54\x59\x6f\xed\xad\xd5\x15\x51\xf4\x35\xd2\x73\x5b\x96\xe5\x25\x25\xb3\xf7\x9e\x27\xa9\x51\x22\xb3\xc8\x63\x6e\xef\xe9\xe0\x1a\x2d\x76\x2e\x08\x13\x57\xfa\x3b\x07\xe9\x8e\x63\x74\xa4\xa8\x2d\xa9\xed\x49\x62\xf0\xaf\x03\xec\xb9\x41\x0b\x52\x88\xc5\x48\xe1\xc4\x70\x51\x57\x92\x9e\x1c\x60\x52\x28\x24\xa5\xd4\xec\xa5\xe3\x26\x46\x6c\x77\xb6\x80\x2c\xc9\x5c\x20\x1d\x3b\xd3\xca\xa2\xb2\x51\xdc\xdb\x38\xbb\xe3\x5a\x48\x54\x0c\x09\x33\x48\x2d\xce\xe1\x76\x23\xa4\x45\x43\xa8\x44\x63\x6b\xc7\x15\xe7\x93\x8f\xf4\x9b\xe0\x76\x57\xc0\x22\x4d\x3f\x3a\xd5\x42\x91\x96\xb2\x4c\xd3\xea\xe8\x01\xf2\xfc\xc4\xf1\x55\x75\xb2\x13\x1c\x49\xab\x89\x43\xd2\x9c\x09\x8b\xfb\xa4\x23\x0e\x5d\x0b\x01\x4f\x06\x42\xdc\x85\xd6\xc7\x52\x5b\xab\xf7\x05\xe4\x8d\xaa\x81\x38\x48\x38\x5a\x2a\x64\x7d\x0e\x78\x8c\xcf\x22\x6b\x78\x63\x66\x3c\x56\x54\xf1\x39\x04\xab\x22\xb2\xaf\xb7\x8a\x32\x61\x4f\x05\x24\xcb\x91\xe6\x36\x0d\xa6\x45\xc4\x87\x91\xa0\x45\x63\x45\xac\x50\xd2\x12\x65\x3d\x87\xc8\xb8\x86\x08\xdf\x9c\xde\xff\x72\x3d\x04\xeb\x29\xff\x38\xf4\xd8\x83\x4a\xfa\x9e\x50\x6a\xc3\xd1\x74\xd8\x2e\xaa\x23\xd4\x5a\x0a\x1e\x42\x1e\x65\x41\xb9\x71\xcf\x7a\x90\x51\xc9\x73\x9b\x50\x23\xdb\x38\x4a\xb4\x48\x9a\x7a\x9d\x8f\x4f\x91\x0b\xdb\x9f\x0d\xcd\x0f\xf7\xfa\x42\xef\x20\x4b\x93\x2c\x5f\x8f\x51\x08\x10\x5f\xd3\xd7\x85\xe1\x82\xd6\x70\x7e\x45\xf7\x22\x49\x5b\x10\x99\x15\xaf\x5d\x4e\x3b\xf0\x2b\x54\x0e\x8a\x21\x09\x25\xad\x6a\xe4\x1d\x69\x22\x87\xa7\x13\xd1\xd9\xf1\x2a\xf0\xed\xbc\xfc\x52\xf7\x4c\x01\x3f\x42\xf6\xa2\x84\xcb\xa1\x8b\x24\x24\x3b\xb1\xdd\x49\x57\x2c\x57\x64\xf1\x8d\x7b\xd6\x21\x79\xa2\xac\xc9\x36\xab\x15\x5f\x4c\x58\xd6\x54\xe8\x28\x5b\x1b\xe2\x85\x6e\x73\x25\xc9\xf6\xd4\xb2\x1d\x9a\x29\x64\xf3\x00\xec\xd9\xdd\x44\xd4\xc4\xe0\x16\x8f\xbe\x4b\x68\x65\xc9\x86\xee\x85\x3c\x15\xb0\xd7\x4a\xd7\x15\x65\x18\xf5\xc6\x9a\xfc\x76\x40\x73\x9a\xd0\x91\x2d\xa7\xa2\x17\x14\x7a\xda\x79\x37\x71\xd9\xd7\x92\xce\x87\x71\x70\xd0\xcf\x07\xcf\x30\x8d\xc9\x38\x8d\x82\x1d\x3d\x5f\xe2\x1a\x3f\x15\x0a\x0d\x71\x2d\x30\xea\x04\xbe\x49\x47\x9a\xcf\xc6\x77\xa4\x73\xb5\x5a\xad\xfb\x01\x87\x88\xad\xb2\x52\x5e\x1b\x49\x1e\xda\x5a\xfc\x8e\xae\x66\x57\x5e\x47\xa7\x32\x85\x27\x6f\x43\xbf\x25\x64\xd5\xd1\xff\xa6\xeb\x51\x50\xbe\xa0\x92\x7a\x0e\x5f\xb4\xa2\x4c\xcf\xe1\x07\xad\x6a\x2d\x69\x3d\x87\x9a\xaa\x9a\xd4\x68\xc4\x85\x14\x64\x8c\x75\x07\xc4\x50\x2e\x0e\x75\x01\xbe\xde\x62\xef\xf2\x3c\x5f\x9f\x8d\x6f\xe7\x1c\xe9\x8b\x60\x1c\x05\x7c\xca\xb3\x8c\x75\x17\xf5\xc1\x3a\xd7\x87\x6b\x40\x9e\xe7\xd1\x42\x12\xf1\x9b\x6d\x49\xff\x9f\xe5\xf9\x1c\xfa\x3f\x69\x92\xdf\x8f\x38\xce\x7d\x1a\x4b\x75\x61\xd8\x1f\x2c\x72\xd2\x06\x63\x94\x2b\xb8\x5c\xd1\xf5\x65\xa3\xde\x87\xdc\xf4\x9a\xf9\x3e\xc9\x95\xd2\xd6\xef\x4b\x35\x58\x3f\xc7\x06\xa3\x3f\x6b\x46\xff\xcd\xdb\x4e\x58\x24\xbe\x8a\x0a\xa8\x0c\x92\x37\x43\xab\xd8\xaf\x37\x6d\x38\x29\x0d\xd2\x97\x02\xfc\x3f\x42\xfd\xe6\xea\xe9\xee\x7a\x20\x3b\x82\x37\xd2\xd2\x52\x22\x51\xda\xec\xa9\x9c\x30\xa3\xef\x10\x6e\x8b\x8d\x74\xf9\x45\x2f\xec\xc9\x05\x30\x29\xaa\x2b\x95\x62\xba\x60\x37\x59\xe3\x8a\xa1\x2d\x98\x10\x81\xa6\x16\xe2\xda\x19\x4c\x04\xa1\x2c\x9a\x57\x2a\x87\x58\x52\x4a\xbb\x72\x68\x56\x3e\x61\xa9\x14\x2c\xee\x4f\xbe\x5d\x5c\xee\xf8\xad\x45\x56\x57\x53\xd3\xf9\xfa\xf4\x7e\x9f\xcd\x84\xaa\x0e\x36\x51\x5b\x22\xd4\x2b\x95\x82\xbb\x8f\x56\x1f\xd8\xce\xef\x5e\x00\xad\x84\x60\x32\xc7\x8c\x7d\x2a\xd7\xfe\xe0\x48\xea\x1d\xe5\x0e\xbd\x66\x2d\x75\x55\xda\x24\x70\x96\xcd\x61\xb9\x9c\x43\xfe\xd9\xa5\xef\xa7\xfb\x39\xa4\x5e\x77\x77\x23\x9d\x43\xfb\x93\x64\xf7\x20\x54\x8d\x76\x60\x0d\xd3\xd2\x4f\xc8\x5f\xed\xa9\xc2\xef\xd8\x0e\xd9\x4b\xa9\x8f\x5f\x1d\x06\xe4\x0d\xcb\x17\x61\x09\xad\x2a\xa4\x86\x2a\xd6\xed\xc9\x00\x00\x61\xff\x74\xd8\xbb\xef\x3b\x6c\xd7\xba\x40\x08\x95\x13\x36\xc9\xab\xfa\x0a\xba\xb1\x61\x85\xf7\xbb\x72\x01\x77\x7f\xff\xf1\xe7\xdd\x39\x63\xa2\x2b\x54\xff\x8a\xfb\xaf\xbb\x36\xcb\xdc\x1a\xd6\x4c\x07\x45\xf7\x38\xd5\xcd\x47\x65\xf6\xf8\xf0\xf0\xd8\xa8\x6d\x14\x7d\xe0\xd4\xa2\x15\x7b\x24\x52\x33\x2a\x3f\x7c\x05\x1f\xaf\xa8\x45\xde\xfd\x88\xf2\x15\xad\x60\x14\x7e\xc2\x03\xde\xcd\xa1\x23\xcc\xe1\x7b\x23\xa8\x8c\xbb\x65\xcb\xde\xf4\xe6\x45\xb2\x34\x0d\x6e\x7d\x77\x4e\x3e\x1b\xf7\x52\xd8\xd2\x7d\x57\xef\x30\x76\x94\xf0\x65\xe9\x6b\x1e\xa0\xed\x7f\x7d\x8c\xc6\x4e\xfa\x34\xec\xe3\x32\x48\xd0\xb0\x44\x74\x29\x18\x75\x6a\x80\xd1\xa4\x4b\x1d\xad\xcd\xd2\x71\x8a\x3d\xe7\xf7\x1e\xf5\xc7\x07\xf8\x59\x1f\xac\x50\x5b\xf8\xc5\x20\xc2\xc3\xe3\x2c\xe9\xdd\xef\xe0\x6b\xb6\xaf\x08\x18\x17\x32\xa5\x39\x02\x13\x86\x49\xf4\x57\x6b\x6b\xf4\x0b\x16\x50\x5b\x44\x59\xca\x83\xf7\xaf\x21\x86\xde\xb7\x48\xba\x6d\xc3\x73\xbb\xa6\x33\x54\x93\x4e\xa8\xf1\xef\xb1\xfe\x8e\x90\xb2\x07\x2e\x68\x6b\xa6\xd7\x15\x45\x3e\xb3\x88\x4f\x14\x2f\xa6\x7f\xb9\x6b\x86\x68\x57\x25\x79\x78\x27\x9b\xb9\x46\xb7\x11\x5b\x72\xda\xcb\xc9\x9a\xe7\x7c\x18\xdb\xd5\x53\x1b\xdc\x8b\x92\x97\x79\x7b\xe3\xca\x12\x95\xf8\x6d\xc0\xab\xeb\xf6\x84\x76\x41\x70\xa7\xc3\x95\x21\xbe\x14\x2f\x13\xef\xb3\xd9\x3f\x01\x00\x00\xff\xff\x9a\xfd\x34\xd4\xf5\x10\x00\x00") func uiAppCssMainCssBytes() ([]byte, error) { return bindataRead( @@ -105,12 +105,12 @@ func uiAppCssMainCss() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "ui/app/css/main.css", size: 4341, mode: os.FileMode(420), modTime: time.Unix(1483467521, 0)} + info := bindataFileInfo{name: "ui/app/css/main.css", size: 4341, mode: os.FileMode(420), modTime: time.Unix(1491905519, 0)} a := &asset{bytes: bytes, info: info} return a, nil } -var _uiAppImgFaviconIco = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xcc\x5b\x09\x90\x54\xc5\x19\xee\x75\x51\x52\x49\x2a\x50\xb1\xd4\xc4\x4a\x0a\xa2\x52\xae\x8b\xe2\x62\x84\x12\x63\xc4\x44\x4a\xc5\x83\x63\xb9\x2f\x05\x05\x01\x21\x20\x82\xa0\x08\xb8\x01\xc1\x8b\xa0\xd1\x35\x8a\x28\x02\x1e\x1c\xde\x8b\x88\x68\x8c\x8b\x80\x1a\x4e\x2f\x64\x41\x81\x15\x99\x99\x9d\x6b\x67\x76\x76\xae\x9d\x99\x37\x5f\xea\xef\xe9\x1e\xde\xbc\x9d\xf7\x5e\xcf\xb0\x5a\xf9\xaa\xfe\x7a\xbb\x33\xaf\xbb\xff\xee\xfe\xef\xee\x61\xac\x84\x95\xb2\x8e\x1d\xe9\xd9\x99\x4d\x6a\xc7\x58\x4f\xc6\x58\xe7\xce\x99\xff\xd7\x75\x64\x6c\x65\x3b\xc6\x2a\x2a\xc4\xff\x5d\x18\xbb\xe6\x0c\xc6\xca\x18\x63\x1d\xe9\x3d\x96\xf9\x9c\xa3\x1d\xb3\x04\x80\xf6\x00\xfa\x02\x58\xa7\x69\x38\xee\x0b\x68\x49\x7f\x50\x4b\x6a\x1a\x8e\x01\x78\x09\x40\x1f\x00\xa7\x99\xb4\xfd\x2d\x80\x6a\x00\x81\x58\x4b\x1a\xcf\xbe\xd6\x8c\x01\xd3\x3d\x18\x38\xc3\x83\x55\x6f\x87\xd1\x92\x48\x03\x80\x1f\xc0\x3f\x00\x9c\x91\xa7\x6d\x0d\x04\xea\x8e\x26\x30\x66\xae\x0f\x95\x33\x3c\x9c\xc6\xce\xf7\xe1\xc8\xf1\xa4\xfc\x9a\x3a\xda\x20\xfb\x20\x7e\x00\x3c\x49\x5f\xa4\x34\x60\xe3\xd6\x28\x1e\x7f\x29\x84\x07\x9f\x6f\xca\x21\xfa\x6c\xf3\xf6\x28\xb4\x74\xb6\x8f\x87\x01\xb4\x03\x70\x3d\x80\x46\xfa\x30\x91\x4c\x63\xd1\xb3\x41\x0c\xbe\xcb\x8b\x61\x77\xe7\xd2\xa0\xbb\xbc\x78\xe4\x85\x26\x3e\x86\x80\x1b\xc0\x55\xb4\x56\xf2\x83\xe6\x48\x1a\x6b\x37\x87\xf1\xd4\xba\x10\x9e\xde\xd0\x9c\x43\xf4\xd9\xfa\x2d\x11\x44\xa2\x69\xe8\xb0\x02\xc0\x0f\xf2\x9f\xd5\x35\x61\x5c\x3a\xdc\x85\x8a\x21\x4e\x74\x1d\x98\x4b\x97\x0c\x73\xe1\x8f\xc3\x5d\x78\xe5\xdd\xb0\xbe\xfd\x41\x00\x49\xc9\xfb\xbb\xdb\xa2\x78\xf3\xc3\x08\xfa\x4d\xf3\xa0\x7c\xa0\x13\x17\x56\x66\xa8\x7c\x80\x13\x93\x16\xf9\xf9\xda\xd0\x3b\xc9\x54\xb6\x7d\x48\xb6\x97\xd8\xb5\xbf\x05\x3d\x46\xba\xd0\xb5\x32\xb7\xfd\x8d\x53\x3d\xf0\x34\xa6\x60\x00\xb5\x3f\xa6\xff\x60\xc7\xbe\x38\xba\x0f\x33\xb4\x1f\xe8\x44\x9f\xdb\xdd\x70\xb8\x5b\xb5\xaf\x03\xf0\x8a\xfe\x83\x1f\x1a\x52\xb8\x76\x92\x1b\x17\x0d\xca\xcc\xfb\xb2\xd1\x2e\x74\x1f\xea\xc2\xad\x0b\x7c\x88\xc6\xd2\xc6\xf6\xcb\x01\x5c\x0b\xc0\x27\x3f\xa0\xfd\x99\xfb\x44\x00\xe3\xab\xfc\x7c\xcd\x06\xcf\xf4\x72\xde\xdf\xf8\x30\x62\x6c\xeb\x02\x70\x25\x80\x53\x01\x3c\xa6\xff\x82\xd6\x88\x64\xe5\xea\x09\x6e\x3c\xb4\xb2\x09\x8f\xbd\x18\x82\xc3\x93\xc3\x3b\x31\xb2\x18\x40\xa9\x90\xc1\xb3\x00\xbc\x2e\x3e\x47\x24\x96\x86\xb7\x51\xc3\xcd\xf7\xf9\xb0\x7b\x7f\x0b\xbe\x77\x26\xf5\xbc\x93\x04\xbd\x0c\xe0\x74\x83\x0e\x9c\x09\x60\x99\xd0\x11\xbe\x47\xaf\xff\x3b\x02\x7f\x50\xd3\x8f\xeb\x01\xf0\xa0\xb1\xad\xae\x8f\xd3\x84\x8e\xae\x01\x70\xa4\x25\x91\x8e\xa6\x34\xd0\xc4\xbf\x03\xf0\xbc\x90\xd7\x53\xf5\x6d\xe2\x9d\x18\xab\x6f\xcf\x58\x6d\x29\x63\x55\x25\x19\x32\x83\xfc\x9e\xde\xa5\x36\xd4\xb6\x4c\xd8\x98\xab\xf4\x76\xa6\xa3\xb5\x9d\x31\x83\xd0\xc7\x72\x00\xd3\x00\xbc\x01\xe0\x90\x90\xb1\x94\xa0\x20\x80\x03\x42\xe7\x26\x02\x38\x4f\xee\xc1\xc9\x40\x8c\x7b\x19\x80\x67\x00\xd4\x8b\xb1\x38\xc8\x6e\x35\x36\x69\x08\x84\x34\x24\x93\x39\xf2\x97\x00\xf0\xad\x90\x9d\x0a\x00\xa7\x14\x39\xf6\xef\x84\x4d\xf4\xea\x3b\x8f\xc6\xd3\xa8\xa9\x8d\x62\xca\x12\x7f\xc6\x8e\xde\xe9\xc1\x8c\x47\x1a\xf1\xc1\xa7\x31\x69\x4b\xf5\x70\x00\xa8\x32\xda\x55\x85\xb1\x69\xce\x3b\xa4\xdc\x4a\x90\xfd\x26\xb9\x27\x3b\x54\xd6\x3f\xa3\xff\x44\xf4\x37\xd9\x27\xb2\x67\xc9\x56\xaa\xcc\xe5\xfa\x3d\x00\x17\x2a\x8e\xdd\x47\xac\x5f\x2b\xbc\xff\x49\x0c\xdd\x06\x67\xc6\xbb\xc0\x40\xe7\xf7\x73\xa0\xc7\x08\x17\x76\x7e\xd5\x92\xaf\x29\xe1\x73\x00\x3d\x15\xe6\x9d\x77\x6c\xc2\xab\xef\x47\x70\xcb\x3c\x1f\xb7\x39\xf9\x88\xfc\xd1\x96\x4f\x62\x66\xcd\x09\x7b\x01\x74\xb5\xd8\xef\xed\xc6\x06\xcd\xd1\x34\xdc\xfe\x14\xb7\xb1\x64\x6b\x8e\xb9\xac\xc9\xe9\xc9\xbc\xeb\xf1\xa7\xb8\xbd\xc9\x83\x8d\x00\x7e\x6d\x18\xbb\x14\xc0\xd2\x7c\x2f\x3f\xff\x66\x33\xb7\xbb\xd7\x4f\xf1\xe0\x06\x45\xa2\x77\xfb\x4e\x76\x73\x3b\x95\x07\x24\x0f\x73\x0c\xe3\x5f\x2e\x6c\x58\x2b\x90\x6f\x3d\xf7\x06\x07\xdf\xdf\x42\xa8\xcb\x8d\x0e\xce\xbb\x09\x8e\x92\x3d\xd1\xcd\x7d\xb9\xd9\x8b\x34\x87\xdb\x17\xfa\xb9\x9f\x2c\x84\x26\x2e\xf4\x73\x9d\xb4\xc0\x03\x62\xfc\xae\x82\x9f\xbc\x20\x7d\x27\x1b\x53\x0c\x91\xbe\x5a\xe0\x0b\x21\x73\xd3\x8c\xbe\x5e\xc2\xdf\xa4\x61\x5e\x75\x00\x23\xe6\x78\x31\xea\x9e\xc2\x88\xda\x2c\x5e\x11\x44\x28\xac\x99\x4e\x0d\xc0\x50\x61\xcf\x5b\x41\xd3\xc0\xfd\x2b\xf9\xfa\xac\x9e\x0f\x28\x80\xfa\x67\x62\x8c\xe5\xaf\x35\x23\x6d\xbe\x0c\xd5\x22\x56\x6a\x85\x9d\x5f\xb7\xf0\x18\x83\x64\x89\x78\xa0\x58\x83\x62\x8f\x0b\x2b\xad\xe9\xe2\x21\x4e\x5c\x3c\x38\xc3\x03\xb5\xed\x3d\xae\x01\xfb\x0f\x27\xcc\xc6\xdf\x26\xfc\x58\xee\xdc\xd3\xc0\xd2\x55\x4d\xa8\x9c\xe1\xc5\xbd\xff\x0c\xe0\xc5\x77\xc2\x98\x5f\x1d\xb0\x1d\x9f\xf8\xec\x33\xc1\x8d\x35\x1b\xc3\x78\xe2\x95\x10\xa6\x3e\xd8\x88\x9b\xfe\xe6\xc1\x33\x1b\x4c\xf5\xe0\x88\xd0\xc7\x56\x6b\x4f\xb6\x26\xd8\xac\xf1\xb5\xf3\x06\x34\x1e\xeb\x92\xad\xb7\x9b\x3f\xf1\xf8\xc2\x5b\x99\x58\x34\x99\x4a\xc3\x17\xd4\x78\x5f\x26\x7b\xe0\xd5\xfb\x54\x33\xbc\xb7\x23\xc6\xd7\xd4\x6e\x6c\x22\x5a\xf7\xd1\xf7\xfa\x78\xcc\xad\x00\x1a\xbf\xc9\xee\xa5\xea\xb5\x21\xde\xaf\xca\xf8\xb4\x07\x14\x1f\x92\x2d\x56\xc0\x61\x11\xb7\x58\x62\xd9\x9a\x50\x56\x9e\x55\xc6\xef\x7d\x6b\x83\x3e\x2f\xb2\x42\xad\xc8\x99\x2c\xf1\xf2\xa6\x30\xef\x57\x65\x7c\x92\x91\xeb\x26\xbb\xd1\xe0\x53\x9a\xff\xe3\x00\xee\x30\xb3\x3f\x12\x7b\xbe\x69\x41\xcf\x51\xae\xbc\x3c\x50\x3e\xd1\x6b\xb4\x8b\xc7\xf4\x7c\xff\xfb\x3b\x31\xe1\xef\x7e\xc4\xad\x6d\x1f\x81\x9c\x53\x25\x80\x32\x11\x07\x9b\xa2\x29\xac\x61\xe4\x3d\x5e\x2e\x03\xa4\xdf\xdd\x06\xe7\xe6\x30\x43\x67\x79\xb9\x9e\x4b\xfe\xd6\xd4\x84\x55\xe6\x4e\xb1\xc0\xd9\x14\x1f\xca\x3c\xd5\x0a\xff\x5a\x1f\x42\x59\x7f\x07\xcf\x5b\x28\x07\x96\xba\x48\xcf\x99\x4b\x33\x7a\x4e\x71\x11\xc5\x84\x4e\x8f\xd2\xda\x2f\xd0\xf9\xdf\x1e\x22\xef\x31\xc5\xbe\xba\x16\x1e\x5f\xcd\x5e\x16\xc0\xda\xcd\x11\x5c\xa4\x9b\x3f\xe5\xb0\x94\x57\x11\x2f\x64\x7b\x14\x40\x31\x56\x17\xdd\xf8\xa7\x88\xbc\xc9\x14\xe4\xcf\x28\xd6\x7d\xe1\xed\x30\xaf\x03\x5c\x7e\x73\x66\xbd\x29\xf7\xa5\xdc\x92\x7c\xcd\x5f\xc6\xbb\x79\x4e\x65\x03\x7a\xe1\xce\x3c\xf1\xd7\x6f\x00\x7c\x68\xd6\x88\xec\xc9\x7d\x4f\x06\x70\xf8\x87\x24\x7c\x01\x0d\x37\x4c\xf5\xa0\xac\x9f\x03\x43\x66\x79\xb9\x7c\x6c\xda\x16\xe5\x3e\xdf\xc6\xe7\x12\x5e\x05\xd0\xc1\x24\x06\xec\x0e\xe0\xeb\x7c\x8d\x48\x9e\xeb\x9d\x49\x1e\x90\x87\x22\x1a\x86\xde\xed\xe5\xfe\x85\x6c\x13\x81\xe2\x3d\xf2\x75\x36\x72\xff\x29\xe5\x46\x36\x31\xf0\x15\x66\x3c\x64\x79\x49\xa4\xf9\x7e\x93\x7f\xfc\xfa\xdb\x13\xbe\xcd\xe5\x4d\xe5\xcb\x41\x24\x3e\x03\x70\xb1\xd5\xd8\x3a\x1e\x28\x6f\xfa\x20\x9f\x6f\x92\x20\x9f\x46\x31\x46\x73\xd4\x76\xbd\x93\x22\xc6\xe8\xa2\x32\xb6\x8e\x87\x33\x45\xee\xe4\xc8\xd7\x29\xe9\x58\xf5\xba\x90\x9d\x9f\xa1\xb8\x6e\x26\x80\xa2\x32\x5f\xa1\x17\x15\x22\xff\xa7\x38\x25\x27\xb9\xa1\xf8\x3e\x4f\xbe\x15\x13\xfb\xb7\x58\xd8\x36\x8b\xcc\xbd\x20\x3e\xce\x01\x30\x16\xc0\x4a\x00\xbb\x85\xbd\x08\x09\xff\xe9\x10\xfb\x4b\x79\xf2\x08\x00\xbf\x57\x1d\x17\xc1\x0e\x40\x55\x09\xd2\x8c\xdd\x9f\x62\xac\x77\x9c\xb1\x4e\x41\xc6\x3a\xd4\x33\xd6\xbe\x36\x43\xa5\x55\x8c\x95\x48\xb2\xeb\x4f\xf7\x6e\x69\x6d\x86\xda\x53\x5f\xd4\x27\xf5\x4d\x63\xa4\x69\x4a\x55\x25\xa0\xb1\xcb\x18\x63\x15\x8c\xb1\xb1\xfa\x3a\x85\xa5\x86\x14\x07\x00\xbf\x02\xd0\x0b\xc0\x74\x51\xdb\xda\x43\x62\x24\xe2\x60\x59\xc7\x08\x8b\xba\xdf\x67\x62\x9d\x6f\x17\x36\xe1\xe7\x6d\xcf\x91\x12\xcf\x94\x1b\x5d\x00\x60\x16\x80\xff\xa8\xc6\x6b\x06\xdd\xa3\x39\xbe\x03\x60\x12\x80\xce\x6d\x21\x8f\x0a\x7c\x4b\xbd\x79\x42\xac\xa7\xa9\x92\x92\xbd\x24\xdf\x42\xb1\xae\x85\xed\x82\xb0\x45\x87\x00\x2c\x12\xf5\xa5\x1f\x65\x1e\xa2\xe6\xbd\xd0\xcc\xee\x40\xd4\x00\x3f\xaf\x6b\xc1\xb2\x35\x4d\xb8\xed\xfe\x4c\x3d\x7c\xd0\x5d\x5e\x9e\x77\x3e\xbd\xbe\x19\x07\xeb\x13\xb2\x9e\x9d\x0f\x69\x31\x8f\xe9\xc5\xda\x25\x13\xbe\x4b\x00\xf4\x16\x39\x8d\xa9\xdd\xa6\x75\xa6\x78\xf6\x4f\x37\x37\x64\xf3\x34\x59\x47\x92\x7f\x5f\x3d\xde\xcd\xcf\x06\x62\x71\xcb\xfd\x20\xd9\x7a\x1b\x40\xb7\x36\xe0\xfd\x54\x00\xb7\x59\xad\x39\x44\x2e\x5e\xf5\x74\x30\x1b\x67\x5b\xc5\xc0\x15\x43\x9c\xbc\x1e\x96\x32\x5d\x89\x2c\xea\x00\xdc\x58\xac\x3c\x89\xda\xee\xec\x7c\x79\xa4\x11\xef\x7c\x1c\xe5\x79\xac\x4a\x2c\x4f\xef\x50\x8c\xb5\x7b\xbf\x69\x3d\x4d\x8f\x06\x00\x63\x0a\xad\x75\x8a\x75\x9f\x2d\x62\x71\x4b\x90\xcc\x4f\x7b\xa8\x91\xd7\x75\x28\xce\x55\x21\x7a\xf7\xe1\x95\xb6\xe9\x9d\x84\x0f\xc0\xe8\x42\xf6\x01\xc0\xad\x2a\xeb\x4e\x20\x59\x7e\xec\xc5\x10\xa6\x3f\xdc\xc8\xeb\xb5\x2a\x44\xf3\xa5\x5c\x5a\xb3\x97\x21\x09\xb2\xb5\xd7\x29\xf2\x4e\xba\x7a\x5c\xb9\xe7\x9f\x0e\x5f\x91\xcf\xb1\xe1\x9d\x62\xf5\xad\x56\x9d\x50\xfe\xbb\xba\x26\xcc\xed\xc8\x6a\x49\x35\x45\x92\x68\x4f\x7d\x51\x2e\xec\xf6\xdb\xba\xc0\xb5\x00\x7e\x61\xc2\x7b\x89\x88\x2b\x2d\x8d\xdb\xbb\xdb\xa2\x59\x5b\x42\x39\x56\x9b\xd0\x00\x27\xcf\xe1\xf6\x1e\xb0\xd5\xe9\x38\x80\x71\x26\xfc\x77\x57\x91\x1b\xe2\xbf\x9b\x62\xcd\x46\x95\xc8\x26\xf5\x1c\xe5\xc2\x3e\x7b\xfe\x09\xfb\x28\x0e\x35\xf0\x7e\x8a\xa8\xf9\xd9\x62\xd3\xc7\x51\xbe\x66\xaa\xb6\x46\x8d\x1c\x3c\x5f\x55\x58\x7f\x08\xf9\x98\x65\xe0\xbf\x5c\x7f\x2e\x6c\x85\x2f\x0f\x25\xb0\xe0\xa9\x20\xe6\x57\xb7\x1d\xcd\xab\x0e\xf0\x73\x70\x85\x1c\x5b\x82\x62\xdc\xb3\x74\xfc\xdf\xad\xda\xf0\xff\x04\xb4\x51\x43\x04\xef\x1d\x44\x0c\xac\x84\x63\xae\x24\x6a\x77\xc5\x50\xbb\xbb\x0d\x69\x57\x0c\x5b\xf7\xc4\x55\xec\x8f\x1e\xab\x44\x1c\xdf\xcb\xec\x8c\xc5\x08\xca\xe3\xc7\xce\xf3\xf1\x9a\x2b\xc5\x0b\x6d\x45\x15\x43\x5d\xbc\x7e\x46\x3e\xb0\xb1\x49\xd9\xa9\x1d\x00\xd0\x09\xc0\x9d\x2a\xb9\x47\x3c\x91\x89\xd1\xca\x15\xeb\x95\x05\xdb\x20\xf1\xa4\xd8\x3b\xa5\xb6\x0d\x94\xd3\xdd\x24\xce\xf6\x6d\x41\x31\x1a\xd9\x08\xd5\x7a\x6b\xb1\x76\xb4\xd7\x68\x17\xb6\xef\x8d\xab\xb0\x44\x76\x68\x81\xd0\x65\x4b\xc8\x73\x02\x8a\xeb\xf9\xb9\x8d\xee\x1c\xa6\x58\x5f\x70\xd1\xa0\x4c\x5b\x7d\xae\x20\xcf\x84\x26\x2e\xf2\x23\x6c\x5f\xff\x81\xb8\x17\x60\x59\xdf\x24\x6c\xd8\x12\xc9\x9e\xf5\xfc\x75\xbc\x9b\x9f\xf5\x2e\x5e\x11\xe4\xb5\xa6\x6b\x26\xba\x8b\xda\x93\x4b\x86\xb9\x78\x1f\xd5\xeb\x42\x98\xba\xc4\xcf\xeb\xb4\x97\x8d\xce\x9c\x25\xd1\x38\x1f\xed\xb4\x3c\x23\x94\xf8\x44\xd4\x09\x4c\x41\x31\xe2\xfa\xf7\x22\x3c\xff\x23\x3b\x71\xd4\x91\xcc\x9e\xff\xae\x7c\xb3\x59\xf9\xfc\x24\x5f\x2e\x43\xeb\x1c\x0a\x6b\xfc\x3c\xc7\xd3\xa8\x71\xdf\x42\x72\x4a\x79\x1c\x3d\x15\x70\xd0\x2a\x27\xcc\xce\x21\xcf\x56\x92\x1d\xed\x7b\x87\x5b\xe9\xec\xc9\x8c\x28\x17\xdb\x64\xc2\xa7\x62\x6c\xfd\xbd\x0a\xff\xf9\xb0\x7e\x4b\xe4\xa4\xf5\x95\x64\x7d\xe6\xd2\x46\x55\x7b\x63\xc6\xbf\x6d\x8e\x65\x44\x3a\x0d\x7e\xfe\x58\xa6\x78\xf6\x64\x25\x43\xfd\xa6\x79\xb8\x7d\x28\x12\x75\x76\xb9\x79\x3e\xc4\x5a\xd2\x18\x37\xdf\xa7\x7c\x76\x66\x65\x2f\xaf\x1c\xd7\xc0\x6b\xff\x45\x62\x3b\x80\x9d\x85\x36\x22\xfd\x1d\x33\xd7\xa7\x7c\xf6\x68\xc5\xff\x15\xb7\x34\xf0\xba\x50\x91\x20\xdf\xb5\xba\xd0\x46\x89\x64\x1a\x93\x1f\xf0\xb7\xc9\xfa\x5f\x75\x5b\x03\xb7\x69\x45\x80\xac\xca\x5c\x00\x53\xec\xce\x19\xf3\x61\xc9\x73\x4d\x27\xcd\xff\x49\xca\x7f\x48\xdc\xbd\xbd\x54\xc5\x87\x19\x51\x53\x1b\x45\x37\x85\x7b\x0b\x92\xc8\x37\x55\x0c\x6d\x6d\x7f\xa6\x2c\xf1\xf3\xfd\x2c\x02\x5f\x89\x7b\x26\xbf\x14\xf7\xc0\x0a\x02\xed\xf9\xd5\x13\xd4\x7c\x2f\xbd\x33\x62\x8e\x17\x97\x8f\x69\xc8\x79\x9f\xfe\xa6\xdc\xbd\x48\x3c\x2b\xeb\x5a\xa2\x66\x5a\x10\xc8\x67\x92\xed\x96\x32\x44\x7e\x9f\xe2\x3b\xb3\x39\xcc\x79\x3c\xc0\x63\x0f\xc9\x7f\xb9\xb8\xd3\xf1\x5d\x71\xb6\x87\x82\x8b\xfe\xba\xfc\xab\x8b\xb8\xf3\x51\x10\x36\x6e\x8d\xf2\xf8\x81\x62\xdf\x4b\x87\xbb\x78\x1e\xd8\x63\x64\xeb\x39\xd0\xdc\xaa\xd7\x86\xd0\x7f\x9a\x27\xe7\x7c\xfa\xd1\x55\x4d\x56\x77\x70\xac\xf0\xa9\xfe\x4e\xab\xa8\x9d\x3c\x5a\x68\x27\x0e\x4f\x0a\xd7\xdf\xe1\xe6\x76\x94\xc7\xbd\xfb\xe2\x3c\xb6\x33\xda\x55\x8a\x13\x48\x5f\xc6\xce\xcf\x7c\x47\x6b\xdf\x77\xb2\x5b\xf5\x2e\x85\x11\xe4\xad\xa7\xe4\xa9\x9f\x94\x17\xba\x07\x9a\xb8\xbb\x7c\x7e\x3f\x07\xbf\x8b\xd7\xe0\x4b\xf1\x98\x54\x1f\x13\xc9\x3b\xd1\x9f\xd7\xb5\xf0\x73\x6a\xf2\xd9\xf4\x99\x3c\x1f\x2e\x02\x9f\xe9\x73\x77\xc3\x1c\x66\x17\x78\x0e\xc4\x63\x53\xd2\x01\xf2\x07\x14\xc7\xec\xd8\x17\xcf\xd1\x03\x9a\xcb\x80\xe9\x1e\x9e\x17\xae\x7c\xab\x99\xaf\xff\x9f\xc7\x36\xe0\x1b\xf3\xbb\x53\x56\xa0\x58\x67\xb8\x45\xfd\xf0\xf4\x42\x6d\xd1\xb6\xbd\x71\x1e\xaf\xbf\xbc\x29\x63\x47\xbe\x77\x26\x73\xf4\x94\xe6\xb6\x68\x79\x90\x7f\xf7\xdf\x2f\xe3\x3c\xee\x27\x19\x33\xb9\x83\x69\x87\xe7\x00\xfc\xcc\x8c\x7f\x76\xe2\xce\xc6\x61\xd5\x0e\x3f\xda\x15\xe3\x72\x2d\x6b\x07\xc1\x90\xc6\xcf\x8c\x78\x3e\x55\x99\xb1\x49\x5b\x77\x67\xf2\xc1\x80\xf8\x8e\xe4\xa8\x08\x90\xdc\xfc\xc1\x8a\x77\xdd\x1c\x86\xc8\x7b\xed\x76\x38\x70\x24\xc1\x49\x22\x1a\x4f\x67\x75\x98\x68\xe4\x3d\x5e\x7e\xb6\x24\xb1\xe2\xf5\x66\xee\xbb\x0b\x04\xe9\xe5\x15\x2a\xbc\xb3\x13\xf5\xc4\x49\x2a\x77\xc8\x8c\x20\x5f\x3a\x71\x61\x26\x36\x22\x19\x7a\xee\x8d\xdc\x3b\x7a\x2e\x5f\x8a\xff\xa6\xa3\x00\x9f\x4b\xf1\x71\x3f\x55\xde\x75\x73\x68\x27\xee\xcc\xfb\x0a\x9d\xc3\x82\xa7\x82\xd9\x3b\x8e\x75\x47\x5b\xeb\x29\xc9\x18\xf9\x3f\x05\x1c\xd5\xfb\xa9\x22\xe6\x40\xfb\x30\xc8\xee\x1e\x97\x11\x94\xbb\x92\xee\xf2\xdf\x90\x58\x9f\x35\x5a\x61\x37\x80\x2b\x8b\xe5\xdd\x30\x8f\x4b\xc4\x59\xb9\x92\xc3\x21\x5b\x39\xea\x5e\x1f\x66\x3c\xda\x58\xc8\x19\x91\x44\x54\xd4\x06\xcf\x6d\x0b\xde\x75\x73\xe8\x28\xee\x14\x1f\xb2\x3b\xe3\x80\xb8\xdb\x47\x7a\xaa\x78\x5f\x13\x22\x0f\xdf\x23\xce\xea\x7e\x94\x7b\x11\x22\xce\x38\x4f\x9c\xf5\x1f\xb4\xf3\x75\x64\x77\x14\xf4\x34\x21\x7e\x83\x30\x13\xc0\xd9\x3f\x06\xdf\x26\xf3\xe8\x04\x60\xbc\xb8\x03\x55\x2f\xce\x76\x54\x90\x16\x7e\xf4\x90\xf8\x8d\xdf\x08\xb3\x78\xe0\x27\x9a\x4b\x7b\x71\x17\x65\xa4\xf8\x5d\xcc\x66\x71\xcf\xe9\xb8\xb8\x97\xe2\x15\x67\x23\x5f\x88\x7b\x01\x4b\xc4\xfd\xce\x73\x8c\xbf\x6d\x2a\x6e\xfc\xfa\xf6\x00\x3d\x05\xc5\x19\xeb\x44\xcf\x7a\xc6\x3a\xd0\xb3\x96\xb1\x52\x7a\x56\x31\x56\x42\x4f\xde\x88\xb1\x34\x3d\xef\x67\x2c\x45\xcf\xde\x8c\xc5\xe9\xd9\x89\xb1\x20\x3d\x3b\x30\x56\xaf\x7f\xb6\x67\xac\x56\xff\x2c\x3d\xf1\xac\x62\xfc\x82\x52\xab\x27\xd3\x3f\x4f\x16\x79\xfa\x97\x4f\x23\x3f\x92\x4f\xc9\xb7\x9c\x8f\x7c\xca\x79\xca\x79\xcb\x75\x90\xeb\x92\x5d\x27\xb9\x6e\x41\xb1\x8e\x71\xc6\x7a\xeb\xd7\x59\xac\xfb\xff\x02\x00\x00\xff\xff\xeb\x12\x88\x54\xee\x3a\x00\x00") +var _uiAppImgFaviconIco = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\xcc\x5b\x09\x90\x54\xc5\x19\xee\x75\x51\x52\x49\x2a\x50\xb1\xd4\xc4\x4a\x0a\xa2\x52\xae\x8b\xe2\x62\x84\x12\x63\xc4\x44\x4a\xc5\x83\x63\xb9\x2f\x05\x05\x01\x21\x20\x82\xa0\x08\xb8\x01\xc1\x8b\xa0\xd1\x35\x8a\x28\x02\x1e\x1c\xde\x8b\x88\x68\x8c\x8b\x80\x1a\x4e\x2f\x64\x41\x81\x15\x99\x99\x9d\x6b\x67\x76\x76\xae\x9d\x99\x37\x5f\xea\xef\xe9\x1e\xde\xbc\x9d\xf7\x5e\xcf\xb0\x5a\xf9\xaa\xfe\x7a\xbb\x33\xaf\xbb\xff\xee\xfe\xef\xee\x61\xac\x84\x95\xb2\x8e\x1d\xe9\xd9\x99\x4d\x6a\xc7\x58\x4f\xc6\x58\xe7\xce\x99\xff\xd7\x75\x64\x6c\x65\x3b\xc6\x2a\x2a\xc4\xff\x5d\x18\xbb\xe6\x0c\xc6\xca\x18\x63\x1d\xe9\x3d\x96\xf9\x9c\xa3\x1d\xb3\x04\x80\xf6\x00\xfa\x02\x58\xa7\x69\x38\xee\x0b\x68\x49\x7f\x50\x4b\x6a\x1a\x8e\x01\x78\x09\x40\x1f\x00\xa7\x99\xb4\xfd\x2d\x80\x6a\x00\x81\x58\x4b\x1a\xcf\xbe\xd6\x8c\x01\xd3\x3d\x18\x38\xc3\x83\x55\x6f\x87\xd1\x92\x48\x03\x80\x1f\xc0\x3f\x00\x9c\x91\xa7\x6d\x0d\x04\xea\x8e\x26\x30\x66\xae\x0f\x95\x33\x3c\x9c\xc6\xce\xf7\xe1\xc8\xf1\xa4\xfc\x9a\x3a\xda\x20\xfb\x20\x7e\x00\x3c\x49\x5f\xa4\x34\x60\xe3\xd6\x28\x1e\x7f\x29\x84\x07\x9f\x6f\xca\x21\xfa\x6c\xf3\xf6\x28\xb4\x74\xb6\x8f\x87\x01\xb4\x03\x70\x3d\x80\x46\xfa\x30\x91\x4c\x63\xd1\xb3\x41\x0c\xbe\xcb\x8b\x61\x77\xe7\xd2\xa0\xbb\xbc\x78\xe4\x85\x26\x3e\x86\x80\x1b\xc0\x55\xb4\x56\xf2\x83\xe6\x48\x1a\x6b\x37\x87\xf1\xd4\xba\x10\x9e\xde\xd0\x9c\x43\xf4\xd9\xfa\x2d\x11\x44\xa2\x69\xe8\xb0\x02\xc0\x0f\xf2\x9f\xd5\x35\x61\x5c\x3a\xdc\x85\x8a\x21\x4e\x74\x1d\x98\x4b\x97\x0c\x73\xe1\x8f\xc3\x5d\x78\xe5\xdd\xb0\xbe\xfd\x41\x00\x49\xc9\xfb\xbb\xdb\xa2\x78\xf3\xc3\x08\xfa\x4d\xf3\xa0\x7c\xa0\x13\x17\x56\x66\xa8\x7c\x80\x13\x93\x16\xf9\xf9\xda\xd0\x3b\xc9\x54\xb6\x7d\x48\xb6\x97\xd8\xb5\xbf\x05\x3d\x46\xba\xd0\xb5\x32\xb7\xfd\x8d\x53\x3d\xf0\x34\xa6\x60\x00\xb5\x3f\xa6\xff\x60\xc7\xbe\x38\xba\x0f\x33\xb4\x1f\xe8\x44\x9f\xdb\xdd\x70\xb8\x5b\xb5\xaf\x03\xf0\x8a\xfe\x83\x1f\x1a\x52\xb8\x76\x92\x1b\x17\x0d\xca\xcc\xfb\xb2\xd1\x2e\x74\x1f\xea\xc2\xad\x0b\x7c\x88\xc6\xd2\xc6\xf6\xcb\x01\x5c\x0b\xc0\x27\x3f\xa0\xfd\x99\xfb\x44\x00\xe3\xab\xfc\x7c\xcd\x06\xcf\xf4\x72\xde\xdf\xf8\x30\x62\x6c\xeb\x02\x70\x25\x80\x53\x01\x3c\xa6\xff\x82\xd6\x88\x64\xe5\xea\x09\x6e\x3c\xb4\xb2\x09\x8f\xbd\x18\x82\xc3\x93\xc3\x3b\x31\xb2\x18\x40\xa9\x90\xc1\xb3\x00\xbc\x2e\x3e\x47\x24\x96\x86\xb7\x51\xc3\xcd\xf7\xf9\xb0\x7b\x7f\x0b\xbe\x77\x26\xf5\xbc\x93\x04\xbd\x0c\xe0\x74\x83\x0e\x9c\x09\x60\x99\xd0\x11\xbe\x47\xaf\xff\x3b\x02\x7f\x50\xd3\x8f\xeb\x01\xf0\xa0\xb1\xad\xae\x8f\xd3\x84\x8e\xae\x01\x70\xa4\x25\x91\x8e\xa6\x34\xd0\xc4\xbf\x03\xf0\xbc\x90\xd7\x53\xf5\x6d\xe2\x9d\x18\xab\x6f\xcf\x58\x6d\x29\x63\x55\x25\x19\x32\x83\xfc\x9e\xde\xa5\x36\xd4\xb6\x4c\xd8\x98\xab\xf4\x76\xa6\xa3\xb5\x9d\x31\x83\xd0\xc7\x72\x00\xd3\x00\xbc\x01\xe0\x90\x90\xb1\x94\xa0\x20\x80\x03\x42\xe7\x26\x02\x38\x4f\xee\xc1\xc9\x40\x8c\x7b\x19\x80\x67\x00\xd4\x8b\xb1\x38\xc8\x6e\x35\x36\x69\x08\x84\x34\x24\x93\x39\xf2\x97\x00\xf0\xad\x90\x9d\x0a\x00\xa7\x14\x39\xf6\xef\x84\x4d\xf4\xea\x3b\x8f\xc6\xd3\xa8\xa9\x8d\x62\xca\x12\x7f\xc6\x8e\xde\xe9\xc1\x8c\x47\x1a\xf1\xc1\xa7\x31\x69\x4b\xf5\x70\x00\xa8\x32\xda\x55\x85\xb1\x69\xce\x3b\xa4\xdc\x4a\x90\xfd\x26\xb9\x27\x3b\x54\xd6\x3f\xa3\xff\x44\xf4\x37\xd9\x27\xb2\x67\xc9\x56\xaa\xcc\xe5\xfa\x3d\x00\x17\x2a\x8e\xdd\x47\xac\x5f\x2b\xbc\xff\x49\x0c\xdd\x06\x67\xc6\xbb\xc0\x40\xe7\xf7\x73\xa0\xc7\x08\x17\x76\x7e\xd5\x92\xaf\x29\xe1\x73\x00\x3d\x15\xe6\x9d\x77\x6c\xc2\xab\xef\x47\x70\xcb\x3c\x1f\xb7\x39\xf9\x88\xfc\xd1\x96\x4f\x62\x66\xcd\x09\x7b\x01\x74\xb5\xd8\xef\xed\xc6\x06\xcd\xd1\x34\xdc\xfe\x14\xb7\xb1\x64\x6b\x8e\xb9\xac\xc9\xe9\xc9\xbc\xeb\xf1\xa7\xb8\xbd\xc9\x83\x8d\x00\x7e\x6d\x18\xbb\x14\xc0\xd2\x7c\x2f\x3f\xff\x66\x33\xb7\xbb\xd7\x4f\xf1\xe0\x06\x45\xa2\x77\xfb\x4e\x76\x73\x3b\x95\x07\x24\x0f\x73\x0c\xe3\x5f\x2e\x6c\x58\x2b\x90\x6f\x3d\xf7\x06\x07\xdf\xdf\x42\xa8\xcb\x8d\x0e\xce\xbb\x09\x8e\x92\x3d\xd1\xcd\x7d\xb9\xd9\x8b\x34\x87\xdb\x17\xfa\xb9\x9f\x2c\x84\x26\x2e\xf4\x73\x9d\xb4\xc0\x03\x62\xfc\xae\x82\x9f\xbc\x20\x7d\x27\x1b\x53\x0c\x91\xbe\x5a\xe0\x0b\x21\x73\xd3\x8c\xbe\x5e\xc2\xdf\xa4\x61\x5e\x75\x00\x23\xe6\x78\x31\xea\x9e\xc2\x88\xda\x2c\x5e\x11\x44\x28\xac\x99\x4e\x0d\xc0\x50\x61\xcf\x5b\x41\xd3\xc0\xfd\x2b\xf9\xfa\xac\x9e\x0f\x28\x80\xfa\x67\x62\x8c\xe5\xaf\x35\x23\x6d\xbe\x0c\xd5\x22\x56\x6a\x85\x9d\x5f\xb7\xf0\x18\x83\x64\x89\x78\xa0\x58\x83\x62\x8f\x0b\x2b\xad\xe9\xe2\x21\x4e\x5c\x3c\x38\xc3\x03\xb5\xed\x3d\xae\x01\xfb\x0f\x27\xcc\xc6\xdf\x26\xfc\x58\xee\xdc\xd3\xc0\xd2\x55\x4d\xa8\x9c\xe1\xc5\xbd\xff\x0c\xe0\xc5\x77\xc2\x98\x5f\x1d\xb0\x1d\x9f\xf8\xec\x33\xc1\x8d\x35\x1b\xc3\x78\xe2\x95\x10\xa6\x3e\xd8\x88\x9b\xfe\xe6\xc1\x33\x1b\x4c\xf5\xe0\x88\xd0\xc7\x56\x6b\x4f\xb6\x26\xd8\xac\xf1\xb5\xf3\x06\x34\x1e\xeb\x92\xad\xb7\x9b\x3f\xf1\xf8\xc2\x5b\x99\x58\x34\x99\x4a\xc3\x17\xd4\x78\x5f\x26\x7b\xe0\xd5\xfb\x54\x33\xbc\xb7\x23\xc6\xd7\xd4\x6e\x6c\x22\x5a\xf7\xd1\xf7\xfa\x78\xcc\xad\x00\x1a\xbf\xc9\xee\xa5\xea\xb5\x21\xde\xaf\xca\xf8\xb4\x07\x14\x1f\x92\x2d\x56\xc0\x61\x11\xb7\x58\x62\xd9\x9a\x50\x56\x9e\x55\xc6\xef\x7d\x6b\x83\x3e\x2f\xb2\x42\xad\xc8\x99\x2c\xf1\xf2\xa6\x30\xef\x57\x65\x7c\x92\x91\xeb\x26\xbb\xd1\xe0\x53\x9a\xff\xe3\x00\xee\x30\xb3\x3f\x12\x7b\xbe\x69\x41\xcf\x51\xae\xbc\x3c\x50\x3e\xd1\x6b\xb4\x8b\xc7\xf4\x7c\xff\xfb\x3b\x31\xe1\xef\x7e\xc4\xad\x6d\x1f\x81\x9c\x53\x25\x80\x32\x11\x07\x9b\xa2\x29\xac\x61\xe4\x3d\x5e\x2e\x03\xa4\xdf\xdd\x06\xe7\xe6\x30\x43\x67\x79\xb9\x9e\x4b\xfe\xd6\xd4\x84\x55\xe6\x4e\xb1\xc0\xd9\x14\x1f\xca\x3c\xd5\x0a\xff\x5a\x1f\x42\x59\x7f\x07\xcf\x5b\x28\x07\x96\xba\x48\xcf\x99\x4b\x33\x7a\x4e\x71\x11\xc5\x84\x4e\x8f\xd2\xda\x2f\xd0\xf9\xdf\x1e\x22\xef\x31\xc5\xbe\xba\x16\x1e\x5f\xcd\x5e\x16\xc0\xda\xcd\x11\x5c\xa4\x9b\x3f\xe5\xb0\x94\x57\x11\x2f\x64\x7b\x14\x40\x31\x56\x17\xdd\xf8\xa7\x88\xbc\xc9\x14\xe4\xcf\x28\xd6\x7d\xe1\xed\x30\xaf\x03\x5c\x7e\x73\x66\xbd\x29\xf7\xa5\xdc\x92\x7c\xcd\x5f\xc6\xbb\x79\x4e\x65\x03\x7a\xe1\xce\x3c\xf1\xd7\x6f\x00\x7c\x68\xd6\x88\xec\xc9\x7d\x4f\x06\x70\xf8\x87\x24\x7c\x01\x0d\x37\x4c\xf5\xa0\xac\x9f\x03\x43\x66\x79\xb9\x7c\x6c\xda\x16\xe5\x3e\xdf\xc6\xe7\x12\x5e\x05\xd0\xc1\x24\x06\xec\x0e\xe0\xeb\x7c\x8d\x48\x9e\xeb\x9d\x49\x1e\x90\x87\x22\x1a\x86\xde\xed\xe5\xfe\x85\x6c\x13\x81\xe2\x3d\xf2\x75\x36\x72\xff\x29\xe5\x46\x36\x31\xf0\x15\x66\x3c\x64\x79\x49\xa4\xf9\x7e\x93\x7f\xfc\xfa\xdb\x13\xbe\xcd\xe5\x4d\xe5\xcb\x41\x24\x3e\x03\x70\xb1\xd5\xd8\x3a\x1e\x28\x6f\xfa\x20\x9f\x6f\x92\x20\x9f\x46\x31\x46\x73\xd4\x76\xbd\x93\x22\xc6\xe8\xa2\x32\xb6\x8e\x87\x33\x45\xee\xe4\xc8\xd7\x29\xe9\x58\xf5\xba\x90\x9d\x9f\xa1\xb8\x6e\x26\x80\xa2\x32\x5f\xa1\x17\x15\x22\xff\xa7\x38\x25\x27\xb9\xa1\xf8\x3e\x4f\xbe\x15\x13\xfb\xb7\x58\xd8\x36\x8b\xcc\xbd\x20\x3e\xce\x01\x30\x16\xc0\x4a\x00\xbb\x85\xbd\x08\x09\xff\xe9\x10\xfb\x4b\x79\xf2\x08\x00\xbf\x57\x1d\x17\xc1\x0e\x40\x55\x09\xd2\x8c\xdd\x9f\x62\xac\x77\x9c\xb1\x4e\x41\xc6\x3a\xd4\x33\xd6\xbe\x36\x43\xa5\x55\x8c\x95\x48\xb2\xeb\x4f\xf7\x6e\x69\x6d\x86\xda\x53\x5f\xd4\x27\xf5\x4d\x63\xa4\x69\x4a\x55\x25\xa0\xb1\xcb\x18\x63\x15\x8c\xb1\xb1\xfa\x3a\x85\xa5\x86\x14\x07\x00\xbf\x02\xd0\x0b\xc0\x74\x51\xdb\xda\x43\x62\x24\xe2\x60\x59\xc7\x08\x8b\xba\xdf\x67\x62\x9d\x6f\x17\x36\xe1\xe7\x6d\xcf\x91\x12\xcf\x94\x1b\x5d\x00\x60\x16\x80\xff\xa8\xc6\x6b\x06\xdd\xa3\x39\xbe\x03\x60\x12\x80\xce\x6d\x21\x8f\x0a\x7c\x4b\xbd\x79\x42\xac\xa7\xa9\x92\x92\xbd\x24\xdf\x42\xb1\xae\x85\xed\x82\xb0\x45\x87\x00\x2c\x12\xf5\xa5\x1f\x65\x1e\xa2\xe6\xbd\xd0\xcc\xee\x40\xd4\x00\x3f\xaf\x6b\xc1\xb2\x35\x4d\xb8\xed\xfe\x4c\x3d\x7c\xd0\x5d\x5e\x9e\x77\x3e\xbd\xbe\x19\x07\xeb\x13\xb2\x9e\x9d\x0f\x69\x31\x8f\xe9\xc5\xda\x25\x13\xbe\x4b\x00\xf4\x16\x39\x8d\xa9\xdd\xa6\x75\xa6\x78\xf6\x4f\x37\x37\x64\xf3\x34\x59\x47\x92\x7f\x5f\x3d\xde\xcd\xcf\x06\x62\x71\xcb\xfd\x20\xd9\x7a\x1b\x40\xb7\x36\xe0\xfd\x54\x00\xb7\x59\xad\x39\x44\x2e\x5e\xf5\x74\x30\x1b\x67\x5b\xc5\xc0\x15\x43\x9c\xbc\x1e\x96\x32\x5d\x89\x2c\xea\x00\xdc\x58\xac\x3c\x89\xda\xee\xec\x7c\x79\xa4\x11\xef\x7c\x1c\xe5\x79\xac\x4a\x2c\x4f\xef\x50\x8c\xb5\x7b\xbf\x69\x3d\x4d\x8f\x06\x00\x63\x0a\xad\x75\x8a\x75\x9f\x2d\x62\x71\x4b\x90\xcc\x4f\x7b\xa8\x91\xd7\x75\x28\xce\x55\x21\x7a\xf7\xe1\x95\xb6\xe9\x9d\x84\x0f\xc0\xe8\x42\xf6\x01\xc0\xad\x2a\xeb\x4e\x20\x59\x7e\xec\xc5\x10\xa6\x3f\xdc\xc8\xeb\xb5\x2a\x44\xf3\xa5\x5c\x5a\xb3\x97\x21\x09\xb2\xb5\xd7\x29\xf2\x4e\xba\x7a\x5c\xb9\xe7\x9f\x0e\x5f\x91\xcf\xb1\xe1\x9d\x62\xf5\xad\x56\x9d\x50\xfe\xbb\xba\x26\xcc\xed\xc8\x6a\x49\x35\x45\x92\x68\x4f\x7d\x51\x2e\xec\xf6\xdb\xba\xc0\xb5\x00\x7e\x61\xc2\x7b\x89\x88\x2b\x2d\x8d\xdb\xbb\xdb\xa2\x59\x5b\x42\x39\x56\x9b\xd0\x00\x27\xcf\xe1\xf6\x1e\xb0\xd5\xe9\x38\x80\x71\x26\xfc\x77\x57\x91\x1b\xe2\xbf\x9b\x62\xcd\x46\x95\xc8\x26\xf5\x1c\xe5\xc2\x3e\x7b\xfe\x09\xfb\x28\x0e\x35\xf0\x7e\x8a\xa8\xf9\xd9\x62\xd3\xc7\x51\xbe\x66\xaa\xb6\x46\x8d\x1c\x3c\x5f\x55\x58\x7f\x08\xf9\x98\x65\xe0\xbf\x5c\x7f\x2e\x6c\x85\x2f\x0f\x25\xb0\xe0\xa9\x20\xe6\x57\xb7\x1d\xcd\xab\x0e\xf0\x73\x70\x85\x1c\x5b\x82\x62\xdc\xb3\x74\xfc\xdf\xad\xda\xf0\xff\x04\xb4\x51\x43\x04\xef\x1d\x44\x0c\xac\x84\x63\xae\x24\x6a\x77\xc5\x50\xbb\xbb\x0d\x69\x57\x0c\x5b\xf7\xc4\x55\xec\x8f\x1e\xab\x44\x1c\xdf\xcb\xec\x8c\xc5\x08\xca\xe3\xc7\xce\xf3\xf1\x9a\x2b\xc5\x0b\x6d\x45\x15\x43\x5d\xbc\x7e\x46\x3e\xb0\xb1\x49\xd9\xa9\x1d\x00\xd0\x09\xc0\x9d\x2a\xb9\x47\x3c\x91\x89\xd1\xca\x15\xeb\x95\x05\xdb\x20\xf1\xa4\xd8\x3b\xa5\xb6\x0d\x94\xd3\xdd\x24\xce\xf6\x6d\x41\x31\x1a\xd9\x08\xd5\x7a\x6b\xb1\x76\xb4\xd7\x68\x17\xb6\xef\x8d\xab\xb0\x44\x76\x68\x81\xd0\x65\x4b\xc8\x73\x02\x8a\xeb\xf9\xb9\x8d\xee\x1c\xa6\x58\x5f\x70\xd1\xa0\x4c\x5b\x7d\xae\x20\xcf\x84\x26\x2e\xf2\x23\x6c\x5f\xff\x81\xb8\x17\x60\x59\xdf\x24\x6c\xd8\x12\xc9\x9e\xf5\xfc\x75\xbc\x9b\x9f\xf5\x2e\x5e\x11\xe4\xb5\xa6\x6b\x26\xba\x8b\xda\x93\x4b\x86\xb9\x78\x1f\xd5\xeb\x42\x98\xba\xc4\xcf\xeb\xb4\x97\x8d\xce\x9c\x25\xd1\x38\x1f\xed\xb4\x3c\x23\x94\xf8\x44\xd4\x09\x4c\x41\x31\xe2\xfa\xf7\x22\x3c\xff\x23\x3b\x71\xd4\x91\xcc\x9e\xff\xae\x7c\xb3\x59\xf9\xfc\x24\x5f\x2e\x43\xeb\x1c\x0a\x6b\xfc\x3c\xc7\xd3\xa8\x71\xdf\x42\x72\x4a\x79\x1c\x3d\x15\x70\xd0\x2a\x27\xcc\xce\x21\xcf\x56\x92\x1d\xed\x7b\x87\x5b\xe9\xec\xc9\x8c\x28\x17\xdb\x64\xc2\xa7\x62\x6c\xfd\xbd\x0a\xff\xf9\xb0\x7e\x4b\xe4\xa4\xf5\x95\x64\x7d\xe6\xd2\x46\x55\x7b\x63\xc6\xbf\x6d\x8e\x65\x44\x3a\x0d\x7e\xfe\x58\xa6\x78\xf6\x64\x25\x43\xfd\xa6\x79\xb8\x7d\x28\x12\x75\x76\xb9\x79\x3e\xc4\x5a\xd2\x18\x37\xdf\xa7\x7c\x76\x66\x65\x2f\xaf\x1c\xd7\xc0\x6b\xff\x45\x62\x3b\x80\x9d\x85\x36\x22\xfd\x1d\x33\xd7\xa7\x7c\xf6\x68\xc5\xff\x15\xb7\x34\xf0\xba\x50\x91\x20\xdf\xb5\xba\xd0\x46\x89\x64\x1a\x93\x1f\xf0\xb7\xc9\xfa\x5f\x75\x5b\x03\xb7\x69\x45\x80\xac\xca\x5c\x00\x53\xec\xce\x19\xf3\x61\xc9\x73\x4d\x27\xcd\xff\x49\xca\x7f\x48\xdc\xbd\xbd\x54\xc5\x87\x19\x51\x53\x1b\x45\x37\x85\x7b\x0b\x92\xc8\x37\x55\x0c\x6d\x6d\x7f\xa6\x2c\xf1\xf3\xfd\x2c\x02\x5f\x89\x7b\x26\xbf\x14\xf7\xc0\x0a\x02\xed\xf9\xd5\x13\xd4\x7c\x2f\xbd\x33\x62\x8e\x17\x97\x8f\x69\xc8\x79\x9f\xfe\xa6\xdc\xbd\x48\x3c\x2b\xeb\x5a\xa2\x66\x5a\x10\xc8\x67\x92\xed\x96\x32\x44\x7e\x9f\xe2\x3b\xb3\x39\xcc\x79\x3c\xc0\x63\x0f\xc9\x7f\xb9\xb8\xd3\xf1\x5d\x71\xb6\x87\x82\x8b\xfe\xba\xfc\xab\x8b\xb8\xf3\x51\x10\x36\x6e\x8d\xf2\xf8\x81\x62\xdf\x4b\x87\xbb\x78\x1e\xd8\x63\x64\xeb\x39\xd0\xdc\xaa\xd7\x86\xd0\x7f\x9a\x27\xe7\x7c\xfa\xd1\x55\x4d\x56\x77\x70\xac\xf0\xa9\xfe\x4e\xab\xa8\x9d\x3c\x5a\x68\x27\x0e\x4f\x0a\xd7\xdf\xe1\xe6\x76\x94\xc7\xbd\xfb\xe2\x3c\xb6\x33\xda\x55\x8a\x13\x48\x5f\xc6\xce\xcf\x7c\x47\x6b\xdf\x77\xb2\x5b\xf5\x2e\x85\x11\xe4\xad\xa7\xe4\xa9\x9f\x94\x17\xba\x07\x9a\xb8\xbb\x7c\x7e\x3f\x07\xbf\x8b\xd7\xe0\x4b\xf1\x98\x54\x1f\x13\xc9\x3b\xd1\x9f\xd7\xb5\xf0\x73\x6a\xf2\xd9\xf4\x99\x3c\x1f\x2e\x02\x9f\xe9\x73\x77\xc3\x1c\x66\x17\x78\x0e\xc4\x63\x53\xd2\x01\xf2\x07\x14\xc7\xec\xd8\x17\xcf\xd1\x03\x9a\xcb\x80\xe9\x1e\x9e\x17\xae\x7c\xab\x99\xaf\xff\x9f\xc7\x36\xe0\x1b\xf3\xbb\x53\x56\xa0\x58\x67\xb8\x45\xfd\xf0\xf4\x42\x6d\xd1\xb6\xbd\x71\x1e\xaf\xbf\xbc\x29\x63\x47\xbe\x77\x26\x73\xf4\x94\xe6\xb6\x68\x79\x90\x7f\xf7\xdf\x2f\xe3\x3c\xee\x27\x19\x33\xb9\x83\x69\x87\xe7\x00\xfc\xcc\x8c\x7f\x76\xe2\xce\xc6\x61\xd5\x0e\x3f\xda\x15\xe3\x72\x2d\x6b\x07\xc1\x90\xc6\xcf\x8c\x78\x3e\x55\x99\xb1\x49\x5b\x77\x67\xf2\xc1\x80\xf8\x8e\xe4\xa8\x08\x90\xdc\xfc\xc1\x8a\x77\xdd\x1c\x86\xc8\x7b\xed\x76\x38\x70\x24\xc1\x49\x22\x1a\x4f\x67\x75\x98\x68\xe4\x3d\x5e\x7e\xb6\x24\xb1\xe2\xf5\x66\xee\xbb\x0b\x04\xe9\xe5\x15\x2a\xbc\xb3\x13\xf5\xc4\x49\x2a\x77\xc8\x8c\x20\x5f\x3a\x71\x61\x26\x36\x22\x19\x7a\xee\x8d\xdc\x3b\x7a\x2e\x5f\x8a\xff\xa6\xa3\x00\x9f\x4b\xf1\x71\x3f\x55\xde\x75\x73\x68\x27\xee\xcc\xfb\x0a\x9d\xc3\x82\xa7\x82\xd9\x3b\x8e\x75\x47\x5b\xeb\x29\xc9\x18\xf9\x3f\x05\x1c\xd5\xfb\xa9\x22\xe6\x40\xfb\x30\xc8\xee\x1e\x97\x11\x94\xbb\x92\xee\xf2\xdf\x90\x58\x9f\x35\x5a\x61\x37\x80\x2b\x8b\xe5\xdd\x30\x8f\x4b\xc4\x59\xb9\x92\xc3\x21\x5b\x39\xea\x5e\x1f\x66\x3c\xda\x58\xc8\x19\x91\x44\x54\xd4\x06\xcf\x6d\x0b\xde\x75\x73\xe8\x28\xee\x14\x1f\xb2\x3b\xe3\x80\xb8\xdb\x47\x7a\xaa\x78\x5f\x13\x22\x0f\xdf\x23\xce\xea\x7e\x94\x7b\x11\x22\xce\x38\x4f\x9c\xf5\x1f\xb4\xf3\x75\x64\x77\x14\xf4\x34\x21\x7e\x83\x30\x13\xc0\xd9\x3f\x06\xdf\x26\xf3\xe8\x04\x60\xbc\xb8\x03\x55\x2f\xce\x76\x54\x90\x16\x7e\xf4\x90\xf8\x8d\xdf\x08\xb3\x78\xe0\x27\x9a\x4b\x7b\x71\x17\x65\xa4\xf8\x5d\xcc\x66\x71\xcf\xe9\xb8\xb8\x97\xe2\x15\x67\x23\x5f\x88\x7b\x01\x4b\xc4\xfd\xce\x73\x8c\xbf\x6d\x2a\x6e\xfc\xfa\xf6\x00\x3d\x05\xc5\x19\xeb\x44\xcf\x7a\xc6\x3a\xd0\xb3\x96\xb1\x52\x7a\x56\x31\x56\x42\x4f\xde\x88\xb1\x34\x3d\xef\x67\x2c\x45\xcf\xde\x8c\xc5\xe9\xd9\x89\xb1\x20\x3d\x3b\x30\x56\xaf\x7f\xb6\x67\xac\x56\xff\x2c\x3d\xf1\xac\x62\xfc\x82\x52\xab\x27\xd3\x3f\x4f\x16\x79\xfa\x97\x4f\x23\x3f\x92\x4f\xc9\xb7\x9c\x8f\x7c\xca\x79\xca\x79\xcb\x75\x90\xeb\x92\x5d\x27\xb9\x6e\x41\xb1\x8e\x71\xc6\x7a\xeb\xd7\x59\xac\xfb\xff\x02\x00\x00\xff\xff\xeb\x12\x88\x54\xee\x3a\x00\x00") func uiAppImgFaviconIcoBytes() ([]byte, error) { return bindataRead( @@ -125,12 +125,12 @@ func uiAppImgFaviconIco() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "ui/app/img/favicon.ico", size: 15086, mode: os.FileMode(420), modTime: time.Unix(1483467697, 0)} + info := bindataFileInfo{name: "ui/app/img/favicon.ico", size: 15086, mode: os.FileMode(420), modTime: time.Unix(1491905519, 0)} a := &asset{bytes: bytes, info: info} return a, nil } -var _uiAppIndexHtml = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x94\x54\xcd\x8e\xd3\x30\x10\x3e\xb7\x4f\x61\xbc\x87\x85\x43\x6a\xad\xb8\x2d\x4e\x24\xb4\x70\x04\xf6\xc0\x85\xe3\xac\x33\x4d\xbc\xeb\x3f\xec\x71\x50\xa9\x2a\xf1\x0e\xbc\x21\x4f\x82\x6c\xb7\x08\x89\x4a\x6c\x95\xc3\x38\x99\xef\x9b\xf9\x3e\x8f\x63\xf9\xe2\xdd\xa7\xbb\xcf\x5f\xee\xdf\xb3\x99\xac\x19\xd6\xb2\x04\x66\xc0\x4d\x3d\x47\xc7\x99\x9b\x3a\x08\xa1\xe7\x60\x79\x49\x22\x8c\xc3\x7a\x25\x93\x8a\x3a\x10\x4b\x51\xf5\xdc\xe8\x07\xf1\xf8\x35\x63\xdc\x6d\xac\x76\x9b\xc7\xc4\x07\x29\x1a\xe0\x1c\xd4\x7a\x8b\x8e\xce\x40\xcf\x60\xc1\x4d\xd9\x40\x7c\x56\xdd\x23\xb6\x4b\xe0\x34\xe9\xef\x78\x11\x29\xfa\x4c\x17\x32\x30\xf9\x1c\xd5\x65\xa4\xe7\x7a\x87\x10\xc4\x63\x12\x10\xc2\xbf\x38\xa3\xdd\x13\x8b\x68\x7a\x9e\x68\x67\x30\xcd\x88\xc4\xd9\x1c\x71\xdb\x7a\x3d\xe5\x87\x26\x4a\xa5\xc4\x87\xff\x10\x4a\x23\x95\x92\xb0\x70\x9e\x30\xfb\x48\x2a\x13\xd3\xca\xbb\xbf\x39\xda\x4e\x62\x0b\x4b\xf9\xbc\xd1\xca\xf3\xaa\x8c\x34\x19\x1c\xde\x1a\x8c\xf4\x01\x1c\x4c\x18\xd9\xaf\x1f\x3f\xd9\x7d\xf4\x16\x69\xc6\x9c\xa4\x68\x90\xb5\x14\xed\x20\xc9\x07\x3f\xee\x4a\xcb\xf2\x8a\x91\x29\x03\x29\xf5\x7c\x8a\x3e\x87\x22\x65\x25\xe7\x1b\xa6\xc7\x9e\x1b\x3f\x79\x7e\x4a\xd3\xac\x1d\x9b\xf5\x88\xdd\xd6\xc7\x2e\x59\x30\xa6\x82\x57\x12\x8e\x12\xaf\x04\x6f\x3a\x64\x0a\xe0\x58\xf5\xdd\xf3\xad\x77\xd4\xd5\xf5\x2d\xd3\x04\x46\xab\x37\x4c\x79\xe3\xe3\x2d\xbb\x1a\x5f\x97\x87\x0f\xb6\x09\x97\xa2\x10\x07\x29\xa0\xaa\x10\xf3\x4d\x71\xb8\x92\x0e\x96\xaa\x87\x7c\xe8\x1c\x2c\xf5\xf7\x50\xde\x51\xf4\xc6\x60\xec\xf9\x47\x58\xee\x28\x9e\xe4\x64\x53\x63\xd9\xd1\x02\x8c\x18\x10\xa8\xe7\x9a\xd0\x32\xed\x58\x89\xa9\x95\x68\xc6\xf6\xd7\x09\x0d\x2a\xc2\xf1\xfa\x96\x9d\x96\x2f\x0b\xec\xd5\xa1\x95\xac\x1e\xdd\xd4\x1d\x6d\xee\xf7\xb5\xc8\x26\x47\xc3\x0e\x87\x3f\x1b\x94\x43\xc0\xc8\x87\x53\xd6\x81\x45\x76\x38\x1c\xcd\x14\x3b\x46\x37\x81\xa2\x29\x94\xc2\xc1\x52\xc6\x20\xda\x1c\xea\x34\xcb\x91\xa8\x5e\x8b\x3f\x74\xd4\xe6\x31\xea\xa5\xf4\x5f\x34\x7e\x1b\xa4\x18\x75\xa3\x15\xec\xb0\x5e\x4b\xd1\xe6\x29\x45\xbb\x4b\x7e\x07\x00\x00\xff\xff\xb8\xfb\xa8\x0b\x5c\x04\x00\x00") +var _uiAppIndexHtml = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\x94\x54\xcd\x8e\xd3\x30\x10\x3e\xb7\x4f\x61\xbc\x87\x85\x43\x6a\xad\xb8\x2d\x4e\x24\xb4\x70\x04\xf6\xc0\x85\xe3\xac\x33\x4d\xbc\xeb\x3f\xec\x71\x50\xa9\x2a\xf1\x0e\xbc\x21\x4f\x82\x6c\xb7\x08\x89\x4a\x6c\x95\xc3\x38\x99\xef\x9b\xf9\x3e\x8f\x63\xf9\xe2\xdd\xa7\xbb\xcf\x5f\xee\xdf\xb3\x99\xac\x19\xd6\xb2\x04\x66\xc0\x4d\x3d\x47\xc7\x99\x9b\x3a\x08\xa1\xe7\x60\x79\x49\x22\x8c\xc3\x7a\x25\x93\x8a\x3a\x10\x4b\x51\xf5\xdc\xe8\x07\xf1\xf8\x35\x63\xdc\x6d\xac\x76\x9b\xc7\xc4\x07\x29\x1a\xe0\x1c\xd4\x7a\x8b\x8e\xce\x40\xcf\x60\xc1\x4d\xd9\x40\x7c\x56\xdd\x23\xb6\x4b\xe0\x34\xe9\xef\x78\x11\x29\xfa\x4c\x17\x32\x30\xf9\x1c\xd5\x65\xa4\xe7\x7a\x87\x10\xc4\x63\x12\x10\xc2\xbf\x38\xa3\xdd\x13\x8b\x68\x7a\x9e\x68\x67\x30\xcd\x88\xc4\xd9\x1c\x71\xdb\x7a\x3d\xe5\x87\x26\x4a\xa5\xc4\x87\xff\x10\x4a\x23\x95\x92\xb0\x70\x9e\x30\xfb\x48\x2a\x13\xd3\xca\xbb\xbf\x39\xda\x4e\x62\x0b\x4b\xf9\xbc\xd1\xca\xf3\xaa\x8c\x34\x19\x1c\xde\x1a\x8c\xf4\x01\x1c\x4c\x18\xd9\xaf\x1f\x3f\xd9\x7d\xf4\x16\x69\xc6\x9c\xa4\x68\x90\xb5\x14\xed\x20\xc9\x07\x3f\xee\x4a\xcb\xf2\x8a\x91\x29\x03\x29\xf5\x7c\x8a\x3e\x87\x22\x65\x25\xe7\x1b\xa6\xc7\x9e\x1b\x3f\x79\x7e\x4a\xd3\xac\x1d\x9b\xf5\x88\xdd\xd6\xc7\x2e\x59\x30\xa6\x82\x57\x12\x8e\x12\xaf\x04\x6f\x3a\x64\x0a\xe0\x58\xf5\xdd\xf3\xad\x77\xd4\xd5\xf5\x2d\xd3\x04\x46\xab\x37\x4c\x79\xe3\xe3\x2d\xbb\x1a\x5f\x97\x87\x0f\xb6\x09\x97\xa2\x10\x07\x29\xa0\xaa\x10\xf3\x4d\x71\xb8\x92\x0e\x96\xaa\x87\x7c\xe8\x1c\x2c\xf5\xf7\x50\xde\x51\xf4\xc6\x60\xec\xf9\x47\x58\xee\x28\x9e\xe4\x64\x53\x63\xd9\xd1\x02\x8c\x18\x10\xa8\xe7\x9a\xd0\x32\xed\x58\x89\xa9\x95\x68\xc6\xf6\xd7\x09\x0d\x2a\xc2\xf1\xfa\x96\x9d\x96\x2f\x0b\xec\xd5\xa1\x95\xac\x1e\xdd\xd4\x1d\x6d\xee\xf7\xb5\xc8\x26\x47\xc3\x0e\x87\x3f\x1b\x94\x43\xc0\xc8\x87\x53\xd6\x81\x45\x76\x38\x1c\xcd\x14\x3b\x46\x37\x81\xa2\x29\x94\xc2\xc1\x52\xc6\x20\xda\x1c\xea\x34\xcb\x91\xa8\x5e\x8b\x3f\x74\xd4\xe6\x31\xea\xa5\xf4\x5f\x34\x7e\x1b\xa4\x18\x75\xa3\x15\xec\xb0\x5e\x4b\xd1\xe6\x29\x45\xbb\x4b\x7e\x07\x00\x00\xff\xff\xb8\xfb\xa8\x0b\x5c\x04\x00\x00") func uiAppIndexHtmlBytes() ([]byte, error) { return bindataRead( @@ -145,12 +145,12 @@ func uiAppIndexHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "ui/app/index.html", size: 1116, mode: os.FileMode(420), modTime: time.Unix(1483468870, 0)} + info := bindataFileInfo{name: "ui/app/index.html", size: 1116, mode: os.FileMode(420), modTime: time.Unix(1491905519, 0)} a := &asset{bytes: bytes, info: info} return a, nil } -var _uiAppJsAppJs = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xdc\x1a\x5d\x6f\xdb\x38\xf2\x39\xfe\x15\x6c\x51\x44\x12\xce\x95\xbb\xc0\x3d\xd9\x75\x71\xbd\x6d\xae\xbb\xc0\x75\xbb\x68\xba\x4f\x41\x1e\x58\x69\x2c\x11\xa5\x48\x97\xa4\xe2\xe6\x1a\xff\xf7\x03\x45\x51\xa4\x28\xc9\xb1\x93\x2c\xee\xb0\x7d\x68\x4c\x72\x66\x38\xdf\x33\x24\x15\xd5\x12\x90\x54\x82\x64\x2a\x5a\xcd\x66\x98\x15\x35\xc5\x22\xad\x78\x5e\x53\x88\x23\x5c\xa5\x39\x11\x90\x29\x72\x03\x32\x9a\xa3\xab\xeb\xe4\x5e\xa8\xc4\x0d\xe2\x48\xf0\x5a\x41\x34\x9f\x21\xb4\xa9\x59\xa6\x08\x67\xf1\x27\xc8\x6a\x21\x09\x67\xbf\x00\xdd\x82\x48\xd0\x8f\x19\x42\x08\x09\x50\xb5\x60\xed\x40\x0f\x0d\x57\x4b\x14\x5d\x34\xf8\xfa\x9f\xcc\xf8\x16\x96\x1d\x0c\x42\x0d\xf9\x25\x8a\xd6\x51\x3b\xb5\xb7\xa0\x0a\xaa\x2d\xc5\x0a\xfe\x10\x74\x89\x22\xbc\xdd\x2e\xb6\x58\x28\x82\xa9\x5c\x34\x48\x69\xa9\x2a\xda\x11\xce\x78\xb5\x25\x14\x96\x8e\x4b\xa0\x50\x01\x53\x89\xb7\xd9\x62\x81\xfe\x90\x80\x54\x09\x16\xbe\x03\x47\x1b\xc1\xab\x66\x25\x90\x6e\xee\x63\xbf\x65\xb9\x15\x53\x83\x52\xc2\xbe\x12\x56\xb8\x3d\x65\x82\x76\x25\xc9\x4a\x44\x54\x0b\x27\x9d\xa4\x06\x2f\x20\x9f\xb6\x8c\x74\xec\xae\xac\x1e\x9a\xbf\x7b\x3d\xdc\xcf\x4e\xb4\x19\xa6\x20\x54\xdf\x66\x8f\x32\x52\x43\xaf\x31\x92\xd3\x46\x21\x78\xbd\x3d\xd5\x70\x0d\x21\x63\xb8\x47\x88\x27\x09\x05\x96\xc1\x13\x0a\x28\x09\x3d\x55\x94\x96\x89\xa7\x12\xe6\x5f\x5c\x54\x4f\x2b\x90\xa6\xfa\x40\xa1\x5e\x6e\xb8\xa8\x8e\x96\x4c\x82\xb8\x21\x99\xc9\x2e\x11\x2b\x3e\x81\xe4\xb5\xc8\x20\x9a\xca\x34\x1d\x7c\x92\x6e\x70\xa6\xb8\xb8\x8d\xa3\xcb\x31\x93\xbe\x10\x2d\xa9\x40\x15\xdd\x7c\x1c\x45\xf3\x4e\x68\x92\x2f\x51\xf4\x0f\x92\xb7\x2c\xbb\x85\xe8\x5b\x0d\xe2\x36\xf2\xd5\x53\x81\x2a\xb9\x86\x7f\x7f\xf1\xd9\xf3\xe9\xba\xd5\x08\x59\xdc\xfc\x64\x75\x21\x07\xfa\x8b\x32\x01\x58\xc1\x38\xc1\xdf\x3f\x5e\x3e\x80\x62\x01\xea\xa1\xfc\x2d\x96\x56\x64\x9f\x60\x0e\x14\xa6\x58\x7c\x77\xf1\xef\x8b\xcf\x17\xa7\x90\x35\x1a\x4d\x8e\xf3\x02\xcf\xaa\x6f\x87\x79\xe8\x48\x9b\x3e\xde\x7c\x4d\xaa\x91\x4f\x23\xc2\x7b\x9d\xeb\xe4\xff\x54\x90\x45\x61\x78\xf8\x0b\x9b\x64\x44\x82\x8c\x33\x25\x38\xa5\x20\x0e\xf6\x2e\x3e\x58\xe2\x8d\xe2\xe8\x37\x7c\xf3\xb3\x12\x34\x10\xb8\x49\x97\x73\xf4\x82\xf2\x0c\xeb\x19\x2b\xb8\x59\x48\x89\x82\x4a\xa2\x35\xba\xb2\xe2\x31\x5c\xe9\x54\x7a\x69\xe3\xd7\xca\x67\xa4\xeb\x87\xb5\xa7\xa6\x16\xed\xad\x11\xbb\x8f\xe4\xeb\x62\x88\x72\xa9\xb0\xaa\x07\xfb\x98\x49\x83\x72\xbd\x9a\xf9\x2c\x4b\xa0\x90\x29\xc8\xd1\xda\x89\xa9\xc5\x48\xbc\xba\xd1\x18\x55\x4f\xa6\xb5\xa0\x68\xbd\x76\xf2\xa7\x5b\xac\xca\x38\x99\x59\xb3\x4c\x7a\xd4\xb4\xa2\x1b\x21\xa7\x54\x1d\xe8\x57\x96\x7c\xf7\x0e\x14\x26\x54\x6b\x79\x83\xa9\x84\xbe\x34\x8a\x17\x05\x05\x0f\x24\xac\x89\x13\xa4\x9e\x0d\x67\x5b\x99\xc2\xed\x2f\x5d\xd5\x3d\xc4\x42\x00\x76\x90\x8d\x3e\xec\xb3\xf1\x95\x31\x76\xcc\x2a\x5a\x77\x44\x2b\xac\xb2\x12\x84\x5c\xa2\xab\xeb\x99\x0b\x15\x6b\x8f\x0d\x17\x17\x38\x2b\x5b\xdd\xa6\xa6\xa7\xa2\xf8\x0b\x50\x39\x77\x3c\xde\x60\x5a\xc3\x1c\x7d\x85\x5b\xc7\xad\x2a\x89\x4c\xb7\xb5\x2c\x63\x17\xb8\xc6\xe3\xbe\xc2\xad\x0b\xda\x06\x75\x69\xfe\xb8\x59\x22\x3f\x41\x01\xdf\x97\x46\x5b\x36\x88\xdb\x7e\x75\x3f\x0f\xc4\x49\xad\x10\x49\x5f\xaf\x2f\x38\xeb\x7a\x9e\x97\xa6\x90\xe6\x91\xc7\x36\xdc\xa8\x81\x76\x07\xb6\x88\xed\xae\x87\xf3\xdf\x3d\xde\x2a\x8f\xc8\x0c\x73\xe4\x15\x80\xc0\x8d\x4d\x46\x46\x6b\xc4\x6a\x4a\x57\xfe\x0a\xa6\xf4\x13\x64\x40\x6e\x40\x34\x79\x24\x08\xd6\x17\x3b\xad\x9b\x38\x12\x16\xc6\x57\x80\x80\xec\x46\x3a\x15\x90\x0d\x32\x53\x68\xbd\x5e\xa3\x9a\xe5\xb0\x21\x0c\x72\x74\x77\xd7\xf9\x03\x7c\xab\x31\x95\x06\x6a\x3e\xc6\x42\xe2\x9f\x81\x4c\x1e\xe8\x9f\x32\xbc\x6d\x7c\x50\x97\x1f\x24\x60\xe1\x73\x1c\xcd\x91\x81\xee\xe8\x20\xa0\x12\x8e\xc5\xd5\x0a\x0b\x0f\x3a\x81\x9f\x30\xae\x2e\xaa\xad\xba\xf5\xc3\xae\x51\xb8\x63\xf0\x06\x0b\x2d\x8d\x8d\xdf\x59\x3b\x1d\x86\x49\x83\x95\x7e\xa1\x3c\xfb\xea\xc7\xc7\x17\xfa\xd5\x97\x55\x2b\xa0\x09\x0f\xc2\x72\xf8\xfe\x71\xa3\xd7\xd3\xe6\x9c\xf9\x71\xab\x64\x6a\x99\x4f\xd0\x9b\x35\x7a\xe5\x23\x1a\x3e\x6a\xd6\xfa\x74\x6e\x5c\x0b\xad\x91\x26\x60\xb2\x7c\xba\x21\x54\x81\x88\xbb\xb3\x66\x8c\x13\xf4\xc3\x66\xe4\x67\xd8\xc6\x4c\xbe\xea\xe2\xc9\x31\x65\x13\x49\x49\x72\x1b\x02\x39\x3a\x3f\xf7\xc9\x53\x60\x85\x2a\xd1\x1b\xf4\x4a\xbb\xc5\x04\x7c\xc8\xa1\x87\xd5\x17\x07\xb5\x4a\x55\xa2\x06\x6f\x7a\x3f\x0b\x7f\xb9\x98\xef\x1c\xd9\x1a\xb1\x2b\x37\x02\xd4\xca\x1e\x21\x7c\xf3\x0a\xd8\x08\x90\xe5\x78\x52\xf5\x42\x2e\x6d\x3a\x8d\xf8\xc7\xde\xe5\xa1\x0e\x21\xc7\x0a\xf7\x59\x0f\x03\x53\x43\xa4\xfa\xbf\x8e\xad\xc3\x41\xea\x60\x26\x72\xad\xa1\x3c\x9f\x74\xc9\xc7\x78\xe0\x89\x7e\xf8\x7a\x68\x37\xd4\x4b\xf1\x13\x88\xab\x00\x65\xdf\x1b\xef\xe7\x0d\x85\x1e\xd4\x7e\x3c\xa9\xf4\x74\xea\x7b\xaa\xf3\x86\x80\x3f\x13\xb0\x4d\x2e\xeb\x74\x94\xf1\xed\x6d\x3c\x4e\x3e\x54\xcb\x20\xa5\x24\x57\x2e\xa9\x5c\x0f\x95\x31\xbe\xd5\x61\x22\xa1\x76\x16\x0b\xf4\xb9\x04\xd4\xb5\x57\xa6\x35\xac\x6a\xa9\x10\xa6\x3b\x7c\x2b\xd1\x17\x40\x98\x21\x2c\x04\xbe\x45\x1b\x2e\x50\x55\x53\x45\x5e\xf2\x6d\x13\xe8\x06\x4f\xa6\x23\x46\x7e\x66\xd9\x22\xf2\xad\x46\x6e\xd3\xef\x98\x4d\xad\x20\x57\xcd\x8f\xeb\x7b\x2c\xd8\x1b\x85\x26\x41\x6b\x43\x6d\x35\x1e\xd9\xa7\x44\x19\x08\xc1\x45\x3f\xc8\x42\x8a\xc9\xa1\xd8\x8f\x1f\x5a\xbc\xdb\xac\x76\x54\xf5\x6e\x61\xb5\x00\x3e\x0b\x25\x29\x4a\x4a\x8a\x52\xe7\xb9\x31\x8f\x28\x69\x74\xdd\x74\xc8\x5d\x4f\x93\x92\x7c\x35\xe8\x22\x07\x4d\x2c\xfa\xbf\xea\x32\x07\x1b\x3d\x79\x47\xad\x23\x5a\x12\xfa\x33\xdf\xde\x4e\xc4\xb4\x24\x34\xa8\xec\xe6\x6a\xa2\x77\x50\xc9\x1d\x17\xad\x14\x2d\x54\xfc\x83\xe4\x4b\x44\xf2\x93\x1c\xf3\x05\x54\x44\xb9\x26\xd3\x50\xca\x23\x2f\xb6\x9f\xcc\xcf\x9d\x83\x3f\xc6\x93\x0f\x34\xa2\x9e\xff\xa2\xc1\x91\xc1\x2f\x5b\xed\x0a\x17\x39\x68\x66\x9f\x03\xcb\xe5\x5b\xf5\x7c\xe8\xb3\xf7\x39\xe3\x51\x5e\x38\xe2\x7e\x13\xa7\x9b\x83\x85\xde\x1a\xfb\x21\x45\xde\xd3\x41\x67\x19\xdd\xfe\x68\x85\x9c\x19\xcf\x64\x7c\xa7\xbb\x73\xd8\xa1\x77\x58\x41\xaf\x5e\x4d\xd4\x77\x4b\x34\x3c\x47\x0d\x2b\x19\xad\x21\x35\x3a\xf6\xb6\x88\xfd\xf9\xa0\x96\x98\x25\xa9\xb0\x50\xa3\x48\x76\x65\x14\xad\xde\xe6\xfa\xa0\x34\x86\xd7\x2d\x69\xef\x3b\xf3\x98\xa3\x78\x2b\x9b\x0b\x81\x1e\xb3\xaf\xb5\x56\x56\x3e\xe0\x16\x58\x4e\x58\xd1\x01\x76\x2c\xbe\x19\x80\xe2\xe6\xce\x7a\x08\xf9\x7a\xdd\xe8\xfa\xfc\xbc\xbf\x57\x4b\xc0\x09\xb3\xff\x33\x62\xf0\x60\xad\x79\xc8\x71\xb3\x57\x9f\x1c\xd3\x63\x14\x6d\x6e\x39\x9d\xe2\x9f\x51\x10\x1b\xf1\x4e\xcd\x25\x56\xb5\x83\x43\xac\xbb\x97\x08\x26\xee\xee\xd0\x0f\xab\x66\xbf\xef\x1b\x9c\xfc\x07\x99\x23\x00\x68\xae\xd8\xf6\x6d\x02\xf3\x2a\x0a\x17\xa4\xb8\xec\x76\x9f\xa8\x2a\x8d\x28\xa1\x1e\xa5\x39\x0e\x0e\x33\xcd\x30\x1d\xc4\x9d\x2f\xea\x35\x60\x79\xb0\xd6\x2e\x32\xbe\x4b\x25\xa8\x0f\x84\x52\x22\x21\xe3\x2c\x97\xf1\xab\x0e\x15\x58\x7e\x60\xb5\xc5\xbd\x9c\x42\xf3\x17\xfa\x2b\xbf\xf0\x5a\xc8\x58\x0f\x0a\x3b\x48\xd0\xdf\xd0\xdf\x93\xd9\xa8\x46\x43\x2d\x79\x0a\xec\xf6\x0c\x6c\xd0\xc6\xc2\x3f\x75\xdd\xd6\x0d\x10\xbd\x54\x5c\xe0\xa2\x5d\xe0\xa2\xe3\xa8\xb1\xb0\x47\xd0\x45\xfd\xdd\x9d\x6f\x29\x9b\x70\x7a\x17\x08\xfd\x3d\xfd\xe4\xe7\x12\xc3\x7e\x6a\xa3\x36\x8b\x9c\xbc\x4d\x97\x96\x81\xe5\x83\xd7\xd4\x81\xbf\xc4\x81\x13\xe1\x3c\xff\x60\xfc\xf3\x70\x15\x0c\x7c\xb9\xbd\x56\xdb\x8f\xa7\xa1\x1c\xe8\x08\x51\x72\x3f\x55\xb9\xa5\x24\x83\x98\xcc\xd1\x4f\xe3\x94\x8d\x1d\x8f\x75\x7a\xab\x8e\x31\x8b\x0f\x02\xdd\xf9\x88\x45\x5b\x2c\xd0\x7b\x8e\x54\x29\x78\x5d\x94\x48\x3b\x2f\xd1\x5b\x4a\xa4\x4a\xac\x50\xc1\x11\x2e\x30\x61\x52\x21\x52\x55\xb5\xc2\x5f\x08\x25\xea\x16\xf1\x0d\x2a\x89\x54\x5c\x90\xcc\xbe\x4b\x76\x27\x22\xcd\xa2\xd9\xe6\x37\xd0\x8c\x3e\x0b\x2e\xb5\x7c\xcb\x5b\xa5\x1c\xba\x6a\x34\x54\x33\xce\x24\xa7\x90\x52\x5e\xf8\x14\x42\x44\x07\xef\x71\xe0\x7e\xbb\xbb\x14\xd9\xf7\xbd\x7b\xd1\x82\x34\x65\xeb\xe6\xf9\x39\x8a\x47\x23\x69\x3d\x50\xfd\x64\x90\xb5\xbe\x3d\x40\x68\x7b\x8e\xa4\x17\xb7\x1d\x53\x07\xa2\x85\xe8\xc4\xd7\xdd\x2b\xba\x78\x09\x5a\x34\x43\x2a\x10\xec\x40\x09\x3f\x6b\xbc\xe5\xd7\x4d\xf3\x9d\x44\xc5\x73\xb2\x21\xe6\x94\x25\x91\x80\x6f\x35\x11\x60\x54\xa6\x3b\x0f\xdc\xf8\x67\x47\xd3\xa0\xee\x00\xc1\xf7\x2d\x11\xb0\x68\x0f\x0c\x9a\x10\xa7\x39\xe2\x0c\xd2\xe0\xe6\xc1\x29\xff\xfc\xbc\xa7\x2e\xd2\x5c\x7d\x85\x05\xca\x4b\x21\x67\x68\xe2\xcc\xd1\xa7\xb2\x9f\x1b\xc8\x31\x41\xcf\x16\x0b\xf4\x91\xd1\x5b\xa4\x04\x29\x0a\x10\x48\x00\xe5\x38\x47\x78\xa3\x40\xb4\xff\x6b\xbe\x6d\xae\xde\x61\x89\xda\xbe\x21\xbc\x17\x98\x3a\xc2\xd8\xc6\x25\x59\x59\x36\x0e\x31\x64\x69\xd9\x28\xd8\x61\xc1\xe2\xe7\xcd\x96\x5a\xdb\x96\x8f\x0d\x26\x14\xf2\xe7\xf3\xa6\xa9\x1a\x5c\x7c\x9c\xc0\x4a\xff\xb2\xc8\x5e\x04\x9f\x1d\x4b\xe3\xa9\xae\x1f\xcc\xcc\xa1\xc6\xf0\xc4\xa7\x52\xef\x11\xee\x31\x6f\xa5\x0f\x7a\xdb\xf7\x9e\xfa\x8e\x7c\xec\x3d\xd0\x1e\x36\xc4\x0e\xf4\x85\xcd\xba\x15\xc8\x8c\x74\xdf\xe1\x1d\xc8\x26\xcd\x61\xab\x10\x67\x1b\x52\xf4\xac\x61\xa6\x56\x21\xe4\x0d\x34\x1f\x3f\xfd\xca\x36\xbc\x07\xee\xcd\x0f\x70\xea\xad\x22\x15\xf4\xc0\xcd\x54\x97\xad\xee\xe5\xd3\xaf\x08\x1d\x15\xf7\x04\x91\x1c\xd0\x6c\x34\x47\x57\x33\x84\x22\x56\x7c\xea\x3e\x85\x8b\x58\x71\x89\x19\x51\xe4\x3f\xed\xb8\x45\xfb\xc0\x2b\x60\x2a\x9a\xcf\x9a\xb9\xe0\xfd\xba\x9d\x73\x9f\xcb\xb4\x13\xde\x97\x41\xb3\x89\x17\x6e\x63\xd1\x0d\x29\xe2\xbe\x33\x6a\x86\x7e\x17\xfc\x86\xe4\xee\x33\xbc\xfe\xac\x49\x31\xbb\x12\x58\x1c\xd9\x07\x78\xe7\x9c\xf7\x7d\xaa\x25\xc3\x8f\xec\xac\x38\xdd\xb3\x76\xe7\x56\x26\x18\x74\xe6\xfb\xc8\x2e\x9b\x8b\x34\xff\xa5\x70\x9f\xf4\x18\xe9\x9e\xcc\x8f\x62\xa5\x6b\x1a\xa6\x99\x19\xdc\xa4\x9c\xc6\x4e\x1b\xe9\x47\x31\x63\xe2\xe3\x00\x2b\x2e\xdc\x7a\x7b\x71\x55\x82\xd8\x11\x09\xb1\x7b\x92\x37\xa6\xff\xcc\x97\x28\xea\x7d\x1d\xe1\xc5\xfa\x7f\x03\x00\x00\xff\xff\x59\x59\x03\x0f\xe0\x29\x00\x00") +var _uiAppJsAppJs = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\xdc\x1a\x5d\x6f\xdb\x38\xf2\x39\xfe\x15\x6c\x51\x44\x12\xce\x95\xbb\xc0\x3d\xd9\x75\x71\xbd\x6d\xae\xbb\xc0\x75\xbb\x68\xba\x4f\x41\x1e\x58\x69\x2c\x11\xa5\x48\x97\xa4\xe2\xe6\x1a\xff\xf7\x03\x45\x51\xa4\x28\xc9\xb1\x93\x2c\xee\xb0\x7d\x68\x4c\x72\x66\x38\xdf\x33\x24\x15\xd5\x12\x90\x54\x82\x64\x2a\x5a\xcd\x66\x98\x15\x35\xc5\x22\xad\x78\x5e\x53\x88\x23\x5c\xa5\x39\x11\x90\x29\x72\x03\x32\x9a\xa3\xab\xeb\xe4\x5e\xa8\xc4\x0d\xe2\x48\xf0\x5a\x41\x34\x9f\x21\xb4\xa9\x59\xa6\x08\x67\xf1\x27\xc8\x6a\x21\x09\x67\xbf\x00\xdd\x82\x48\xd0\x8f\x19\x42\x08\x09\x50\xb5\x60\xed\x40\x0f\x0d\x57\x4b\x14\x5d\x34\xf8\xfa\x9f\xcc\xf8\x16\x96\x1d\x0c\x42\x0d\xf9\x25\x8a\xd6\x51\x3b\xb5\xb7\xa0\x0a\xaa\x2d\xc5\x0a\xfe\x10\x74\x89\x22\xbc\xdd\x2e\xb6\x58\x28\x82\xa9\x5c\x34\x48\x69\xa9\x2a\xda\x11\xce\x78\xb5\x25\x14\x96\x8e\x4b\xa0\x50\x01\x53\x89\xb7\xd9\x62\x81\xfe\x90\x80\x54\x09\x16\xbe\x03\x47\x1b\xc1\xab\x66\x25\x90\x6e\xee\x63\xbf\x65\xb9\x15\x53\x83\x52\xc2\xbe\x12\x56\xb8\x3d\x65\x82\x76\x25\xc9\x4a\x44\x54\x0b\x27\x9d\xa4\x06\x2f\x20\x9f\xb6\x8c\x74\xec\xae\xac\x1e\x9a\xbf\x7b\x3d\xdc\xcf\x4e\xb4\x19\xa6\x20\x54\xdf\x66\x8f\x32\x52\x43\xaf\x31\x92\xd3\x46\x21\x78\xbd\x3d\xd5\x70\x0d\x21\x63\xb8\x47\x88\x27\x09\x05\x96\xc1\x13\x0a\x28\x09\x3d\x55\x94\x96\x89\xa7\x12\xe6\x5f\x5c\x54\x4f\x2b\x90\xa6\xfa\x40\xa1\x5e\x6e\xb8\xa8\x8e\x96\x4c\x82\xb8\x21\x99\xc9\x2e\x11\x2b\x3e\x81\xe4\xb5\xc8\x20\x9a\xca\x34\x1d\x7c\x92\x6e\x70\xa6\xb8\xb8\x8d\xa3\xcb\x31\x93\xbe\x10\x2d\xa9\x40\x15\xdd\x7c\x1c\x45\xf3\x4e\x68\x92\x2f\x51\xf4\x0f\x92\xb7\x2c\xbb\x85\xe8\x5b\x0d\xe2\x36\xf2\xd5\x53\x81\x2a\xb9\x86\x7f\x7f\xf1\xd9\xf3\xe9\xba\xd5\x08\x59\xdc\xfc\x64\x75\x21\x07\xfa\x8b\x32\x01\x58\xc1\x38\xc1\xdf\x3f\x5e\x3e\x80\x62\x01\xea\xa1\xfc\x2d\x96\x56\x64\x9f\x60\x0e\x14\xa6\x58\x7c\x77\xf1\xef\x8b\xcf\x17\xa7\x90\x35\x1a\x4d\x8e\xf3\x02\xcf\xaa\x6f\x87\x79\xe8\x48\x9b\x3e\xde\x7c\x4d\xaa\x91\x4f\x23\xc2\x7b\x9d\xeb\xe4\xff\x54\x90\x45\x61\x78\xf8\x0b\x9b\x64\x44\x82\x8c\x33\x25\x38\xa5\x20\x0e\xf6\x2e\x3e\x58\xe2\x8d\xe2\xe8\x37\x7c\xf3\xb3\x12\x34\x10\xb8\x49\x97\x73\xf4\x82\xf2\x0c\xeb\x19\x2b\xb8\x59\x48\x89\x82\x4a\xa2\x35\xba\xb2\xe2\x31\x5c\xe9\x54\x7a\x69\xe3\xd7\xca\x67\xa4\xeb\x87\xb5\xa7\xa6\x16\xed\xad\x11\xbb\x8f\xe4\xeb\x62\x88\x72\xa9\xb0\xaa\x07\xfb\x98\x49\x83\x72\xbd\x9a\xf9\x2c\x4b\xa0\x90\x29\xc8\xd1\xda\x89\xa9\xc5\x48\xbc\xba\xd1\x18\x55\x4f\xa6\xb5\xa0\x68\xbd\x76\xf2\xa7\x5b\xac\xca\x38\x99\x59\xb3\x4c\x7a\xd4\xb4\xa2\x1b\x21\xa7\x54\x1d\xe8\x57\x96\x7c\xf7\x0e\x14\x26\x54\x6b\x79\x83\xa9\x84\xbe\x34\x8a\x17\x05\x05\x0f\x24\xac\x89\x13\xa4\x9e\x0d\x67\x5b\x99\xc2\xed\x2f\x5d\xd5\x3d\xc4\x42\x00\x76\x90\x8d\x3e\xec\xb3\xf1\x95\x31\x76\xcc\x2a\x5a\x77\x44\x2b\xac\xb2\x12\x84\x5c\xa2\xab\xeb\x99\x0b\x15\x6b\x8f\x0d\x17\x17\x38\x2b\x5b\xdd\xa6\xa6\xa7\xa2\xf8\x0b\x50\x39\x77\x3c\xde\x60\x5a\xc3\x1c\x7d\x85\x5b\xc7\xad\x2a\x89\x4c\xb7\xb5\x2c\x63\x17\xb8\xc6\xe3\xbe\xc2\xad\x0b\xda\x06\x75\x69\xfe\xb8\x59\x22\x3f\x41\x01\xdf\x97\x46\x5b\x36\x88\xdb\x7e\x75\x3f\x0f\xc4\x49\xad\x10\x49\x5f\xaf\x2f\x38\xeb\x7a\x9e\x97\xa6\x90\xe6\x91\xc7\x36\xdc\xa8\x81\x76\x07\xb6\x88\xed\xae\x87\xf3\xdf\x3d\xde\x2a\x8f\xc8\x0c\x73\xe4\x15\x80\xc0\x8d\x4d\x46\x46\x6b\xc4\x6a\x4a\x57\xfe\x0a\xa6\xf4\x13\x64\x40\x6e\x40\x34\x79\x24\x08\xd6\x17\x3b\xad\x9b\x38\x12\x16\xc6\x57\x80\x80\xec\x46\x3a\x15\x90\x0d\x32\x53\x68\xbd\x5e\xa3\x9a\xe5\xb0\x21\x0c\x72\x74\x77\xd7\xf9\x03\x7c\xab\x31\x95\x06\x6a\x3e\xc6\x42\xe2\x9f\x81\x4c\x1e\xe8\x9f\x32\xbc\x6d\x7c\x50\x97\x1f\x24\x60\xe1\x73\x1c\xcd\x91\x81\xee\xe8\x20\xa0\x12\x8e\xc5\xd5\x0a\x0b\x0f\x3a\x81\x9f\x30\xae\x2e\xaa\xad\xba\xf5\xc3\xae\x51\xb8\x63\xf0\x06\x0b\x2d\x8d\x8d\xdf\x59\x3b\x1d\x86\x49\x83\x95\x7e\xa1\x3c\xfb\xea\xc7\xc7\x17\xfa\xd5\x97\x55\x2b\xa0\x09\x0f\xc2\x72\xf8\xfe\x71\xa3\xd7\xd3\xe6\x9c\xf9\x71\xab\x64\x6a\x99\x4f\xd0\x9b\x35\x7a\xe5\x23\x1a\x3e\x6a\xd6\xfa\x74\x6e\x5c\x0b\xad\x91\x26\x60\xb2\x7c\xba\x21\x54\x81\x88\xbb\xb3\x66\x8c\x13\xf4\xc3\x66\xe4\x67\xd8\xc6\x4c\xbe\xea\xe2\xc9\x31\x65\x13\x49\x49\x72\x1b\x02\x39\x3a\x3f\xf7\xc9\x53\x60\x85\x2a\xd1\x1b\xf4\x4a\xbb\xc5\x04\x7c\xc8\xa1\x87\xd5\x17\x07\xb5\x4a\x55\xa2\x06\x6f\x7a\x3f\x0b\x7f\xb9\x98\xef\x1c\xd9\x1a\xb1\x2b\x37\x02\xd4\xca\x1e\x21\x7c\xf3\x0a\xd8\x08\x90\xe5\x78\x52\xf5\x42\x2e\x6d\x3a\x8d\xf8\xc7\xde\xe5\xa1\x0e\x21\xc7\x0a\xf7\x59\x0f\x03\x53\x43\xa4\xfa\xbf\x8e\xad\xc3\x41\xea\x60\x26\x72\xad\xa1\x3c\x9f\x74\xc9\xc7\x78\xe0\x89\x7e\xf8\x7a\x68\x37\xd4\x4b\xf1\x13\x88\xab\x00\x65\xdf\x1b\xef\xe7\x0d\x85\x1e\xd4\x7e\x3c\xa9\xf4\x74\xea\x7b\xaa\xf3\x86\x80\x3f\x13\xb0\x4d\x2e\xeb\x74\x94\xf1\xed\x6d\x3c\x4e\x3e\x54\xcb\x20\xa5\x24\x57\x2e\xa9\x5c\x0f\x95\x31\xbe\xd5\x61\x22\xa1\x76\x16\x0b\xf4\xb9\x04\xd4\xb5\x57\xa6\x35\xac\x6a\xa9\x10\xa6\x3b\x7c\x2b\xd1\x17\x40\x98\x21\x2c\x04\xbe\x45\x1b\x2e\x50\x55\x53\x45\x5e\xf2\x6d\x13\xe8\x06\x4f\xa6\x23\x46\x7e\x66\xd9\x22\xf2\xad\x46\x6e\xd3\xef\x98\x4d\xad\x20\x57\xcd\x8f\xeb\x7b\x2c\xd8\x1b\x85\x26\x41\x6b\x43\x6d\x35\x1e\xd9\xa7\x44\x19\x08\xc1\x45\x3f\xc8\x42\x8a\xc9\xa1\xd8\x8f\x1f\x5a\xbc\xdb\xac\x76\x54\xf5\x6e\x61\xb5\x00\x3e\x0b\x25\x29\x4a\x4a\x8a\x52\xe7\xb9\x31\x8f\x28\x69\x74\xdd\x74\xc8\x5d\x4f\x93\x92\x7c\x35\xe8\x22\x07\x4d\x2c\xfa\xbf\xea\x32\x07\x1b\x3d\x79\x47\xad\x23\x5a\x12\xfa\x33\xdf\xde\x4e\xc4\xb4\x24\x34\xa8\xec\xe6\x6a\xa2\x77\x50\xc9\x1d\x17\xad\x14\x2d\x54\xfc\x83\xe4\x4b\x44\xf2\x93\x1c\xf3\x05\x54\x44\xb9\x26\xd3\x50\xca\x23\x2f\xb6\x9f\xcc\xcf\x9d\x83\x3f\xc6\x93\x0f\x34\xa2\x9e\xff\xa2\xc1\x91\xc1\x2f\x5b\xed\x0a\x17\x39\x68\x66\x9f\x03\xcb\xe5\x5b\xf5\x7c\xe8\xb3\xf7\x39\xe3\x51\x5e\x38\xe2\x7e\x13\xa7\x9b\x83\x85\xde\x1a\xfb\x21\x45\xde\xd3\x41\x67\x19\xdd\xfe\x68\x85\x9c\x19\xcf\x64\x7c\xa7\xbb\x73\xd8\xa1\x77\x58\x41\xaf\x5e\x4d\xd4\x77\x4b\x34\x3c\x47\x0d\x2b\x19\xad\x21\x35\x3a\xf6\xb6\x88\xfd\xf9\xa0\x96\x98\x25\xa9\xb0\x50\xa3\x48\x76\x65\x14\xad\xde\xe6\xfa\xa0\x34\x86\xd7\x2d\x69\xef\x3b\xf3\x98\xa3\x78\x2b\x9b\x0b\x81\x1e\xb3\xaf\xb5\x56\x56\x3e\xe0\x16\x58\x4e\x58\xd1\x01\x76\x2c\xbe\x19\x80\xe2\xe6\xce\x7a\x08\xf9\x7a\xdd\xe8\xfa\xfc\xbc\xbf\x57\x4b\xc0\x09\xb3\xff\x33\x62\xf0\x60\xad\x79\xc8\x71\xb3\x57\x9f\x1c\xd3\x63\x14\x6d\x6e\x39\x9d\xe2\x9f\x51\x10\x1b\xf1\x4e\xcd\x25\x56\xb5\x83\x43\xac\xbb\x97\x08\x26\xee\xee\xd0\x0f\xab\x66\xbf\xef\x1b\x9c\xfc\x07\x99\x23\x00\x68\xae\xd8\xf6\x6d\x02\xf3\x2a\x0a\x17\xa4\xb8\xec\x76\x9f\xa8\x2a\x8d\x28\xa1\x1e\xa5\x39\x0e\x0e\x33\xcd\x30\x1d\xc4\x9d\x2f\xea\x35\x60\x79\xb0\xd6\x2e\x32\xbe\x4b\x25\xa8\x0f\x84\x52\x22\x21\xe3\x2c\x97\xf1\xab\x0e\x15\x58\x7e\x60\xb5\xc5\xbd\x9c\x42\xf3\x17\xfa\x2b\xbf\xf0\x5a\xc8\x58\x0f\x0a\x3b\x48\xd0\xdf\xd0\xdf\x93\xd9\xa8\x46\x43\x2d\x79\x0a\xec\xf6\x0c\x6c\xd0\xc6\xc2\x3f\x75\xdd\xd6\x0d\x10\xbd\x54\x5c\xe0\xa2\x5d\xe0\xa2\xe3\xa8\xb1\xb0\x47\xd0\x45\xfd\xdd\x9d\x6f\x29\x9b\x70\x7a\x17\x08\xfd\x3d\xfd\xe4\xe7\x12\xc3\x7e\x6a\xa3\x36\x8b\x9c\xbc\x4d\x97\x96\x81\xe5\x83\xd7\xd4\x81\xbf\xc4\x81\x13\xe1\x3c\xff\x60\xfc\xf3\x70\x15\x0c\x7c\xb9\xbd\x56\xdb\x8f\xa7\xa1\x1c\xe8\x08\x51\x72\x3f\x55\xb9\xa5\x24\x83\x98\xcc\xd1\x4f\xe3\x94\x8d\x1d\x8f\x75\x7a\xab\x8e\x31\x8b\x0f\x02\xdd\xf9\x88\x45\x5b\x2c\xd0\x7b\x8e\x54\x29\x78\x5d\x94\x48\x3b\x2f\xd1\x5b\x4a\xa4\x4a\xac\x50\xc1\x11\x2e\x30\x61\x52\x21\x52\x55\xb5\xc2\x5f\x08\x25\xea\x16\xf1\x0d\x2a\x89\x54\x5c\x90\xcc\xbe\x4b\x76\x27\x22\xcd\xa2\xd9\xe6\x37\xd0\x8c\x3e\x0b\x2e\xb5\x7c\xcb\x5b\xa5\x1c\xba\x6a\x34\x54\x33\xce\x24\xa7\x90\x52\x5e\xf8\x14\x42\x44\x07\xef\x71\xe0\x7e\xbb\xbb\x14\xd9\xf7\xbd\x7b\xd1\x82\x34\x65\xeb\xe6\xf9\x39\x8a\x47\x23\x69\x3d\x50\xfd\x64\x90\xb5\xbe\x3d\x40\x68\x7b\x8e\xa4\x17\xb7\x1d\x53\x07\xa2\x85\xe8\xc4\xd7\xdd\x2b\xba\x78\x09\x5a\x34\x43\x2a\x10\xec\x40\x09\x3f\x6b\xbc\xe5\xd7\x4d\xf3\x9d\x44\xc5\x73\xb2\x21\xe6\x94\x25\x91\x80\x6f\x35\x11\x60\x54\xa6\x3b\x0f\xdc\xf8\x67\x47\xd3\xa0\xee\x00\xc1\xf7\x2d\x11\xb0\x68\x0f\x0c\x9a\x10\xa7\x39\xe2\x0c\xd2\xe0\xe6\xc1\x29\xff\xfc\xbc\xa7\x2e\xd2\x5c\x7d\x85\x05\xca\x4b\x21\x67\x68\xe2\xcc\xd1\xa7\xb2\x9f\x1b\xc8\x31\x41\xcf\x16\x0b\xf4\x91\xd1\x5b\xa4\x04\x29\x0a\x10\x48\x00\xe5\x38\x47\x78\xa3\x40\xb4\xff\x6b\xbe\x6d\xae\xde\x61\x89\xda\xbe\x21\xbc\x17\x98\x3a\xc2\xd8\xc6\x25\x59\x59\x36\x0e\x31\x64\x69\xd9\x28\xd8\x61\xc1\xe2\xe7\xcd\x96\x5a\xdb\x96\x8f\x0d\x26\x14\xf2\xe7\xf3\xa6\xa9\x1a\x5c\x7c\x9c\xc0\x4a\xff\xb2\xc8\x5e\x04\x9f\x1d\x4b\xe3\xa9\xae\x1f\xcc\xcc\xa1\xc6\xf0\xc4\xa7\x52\xef\x11\xee\x31\x6f\xa5\x0f\x7a\xdb\xf7\x9e\xfa\x8e\x7c\xec\x3d\xd0\x1e\x36\xc4\x0e\xf4\x85\xcd\xba\x15\xc8\x8c\x74\xdf\xe1\x1d\xc8\x26\xcd\x61\xab\x10\x67\x1b\x52\xf4\xac\x61\xa6\x56\x21\xe4\x0d\x34\x1f\x3f\xfd\xca\x36\xbc\x07\xee\xcd\x0f\x70\xea\xad\x22\x15\xf4\xc0\xcd\x54\x97\xad\xee\xe5\xd3\xaf\x08\x1d\x15\xf7\x04\x91\x1c\xd0\x6c\x34\x47\x57\x33\x84\x22\x56\x7c\xea\x3e\x85\x8b\x58\x71\x89\x19\x51\xe4\x3f\xed\xb8\x45\xfb\xc0\x2b\x60\x2a\x9a\xcf\x9a\xb9\xe0\xfd\xba\x9d\x73\x9f\xcb\xb4\x13\xde\x97\x41\xb3\x89\x17\x6e\x63\xd1\x0d\x29\xe2\xbe\x33\x6a\x86\x7e\x17\xfc\x86\xe4\xee\x33\xbc\xfe\xac\x49\x31\xbb\x12\x58\x1c\xd9\x07\x78\xe7\x9c\xf7\x7d\xaa\x25\xc3\x8f\xec\xac\x38\xdd\xb3\x76\xe7\x56\x26\x18\x74\xe6\xfb\xc8\x2e\x9b\x8b\x34\xff\xa5\x70\x9f\xf4\x18\xe9\x9e\xcc\x8f\x62\xa5\x6b\x1a\xa6\x99\x19\xdc\xa4\x9c\xc6\x4e\x1b\xe9\x47\x31\x63\xe2\xe3\x00\x2b\x2e\xdc\x7a\x7b\x71\x55\x82\xd8\x11\x09\xb1\x7b\x92\x37\xa6\xff\xcc\x97\x28\xea\x7d\x1d\xe1\xc5\xfa\x7f\x03\x00\x00\xff\xff\x59\x59\x03\x0f\xe0\x29\x00\x00") func uiAppJsAppJsBytes() ([]byte, error) { return bindataRead( @@ -165,12 +165,12 @@ func uiAppJsAppJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "ui/app/js/app.js", size: 10720, mode: os.FileMode(420), modTime: time.Unix(1483467521, 0)} + info := bindataFileInfo{name: "ui/app/js/app.js", size: 10720, mode: os.FileMode(420), modTime: time.Unix(1491905519, 0)} a := &asset{bytes: bytes, info: info} return a, nil } -var _uiAppPartialsAlertHtml = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xa4\x54\xcd\x6e\xe3\x36\x10\x3e\x3b\x4f\x31\x60\x0f\x4e\xd0\xaa\xba\x1b\x92\x82\x34\x45\x4f\x3d\x35\xe8\xa9\x28\x16\x94\x39\x96\x08\x8f\x48\x81\x1a\x3b\x6b\x38\x06\xf6\x1d\xf6\x0d\xf7\x49\x16\xfc\xd1\x8f\x03\x67\x2f\x7b\xb1\x45\xce\xf0\xfb\x66\x3e\xce\xc7\x42\xe9\x23\x6c\x49\x0e\x43\x29\x24\xa1\xe3\x4c\x33\x76\x02\x4c\x93\x6d\xad\x61\x67\x89\xd0\x95\xe2\xc9\x87\x9e\xd9\x51\x8c\xc4\xfc\xf3\xa0\x09\xcd\x16\xd5\x06\xc2\xd1\xdf\xc7\xf5\x45\x54\x77\xab\x25\xb2\x3d\xa2\x3b\x6a\x7c\x85\xc6\xd9\x43\xef\xa3\x57\xe1\x9a\x4d\x16\x22\xa0\x90\xa5\xa6\x01\xf0\x73\x2f\x8d\x0a\x89\xab\xa2\x3e\x30\x5b\xe3\x89\x87\xd6\xbe\x96\xc2\xff\xfe\x19\x13\x53\x39\x7a\xbb\x2f\x05\xdb\xa6\x21\x4c\x81\xfb\x07\x01\x7c\xea\xb1\x14\xbd\xd3\x9d\x74\x27\x01\x43\x27\x89\xaa\x6f\x5f\xbe\x16\x79\x44\x7c\x8f\xde\x6a\x85\x3f\x89\xfe\xeb\x35\xb6\x1c\x3b\x84\x06\x4d\x46\xda\xec\x03\x64\xeb\x70\x57\x8a\xf3\x39\xc9\xd6\xa0\x41\x27\xd9\xba\x7f\xff\xf9\x1b\x2e\x17\x51\x8d\x35\xdd\xa4\x78\xb1\x07\xb7\xc5\x89\xa7\xc8\x65\x90\x33\x57\xfa\x58\xdd\xbd\x13\x96\x64\x8d\x34\x00\xe1\x8e\x93\x96\x43\x2f\x43\xaf\x0e\x7b\x94\x5c\x8a\x7b\x23\x3b\xfc\x0d\x8e\x92\x0e\xf8\x00\xda\xa4\x92\xd2\xc1\x37\xb0\x4e\xa1\xfb\xe3\xb4\xf1\x69\x11\x62\xc6\x88\x7a\x85\x8b\xfb\xcf\xc7\xff\x17\x13\x6f\x4d\x70\x3e\x83\xdf\x84\xb2\x84\x75\x00\xf5\xab\x35\x3c\xc2\x9a\x6a\xca\x5a\xdd\xb4\xa4\x9b\x96\xd7\xb0\x89\x3b\xf6\xc0\xa4\x0d\xae\x83\x02\x81\x68\x35\x42\x5c\x2e\x50\x82\xd7\x2b\x94\xe9\x13\x62\x21\xb9\xaf\x24\xf6\x35\x7d\xde\x16\xc2\x79\xaa\x24\x81\xdf\x9e\x66\x29\xb6\xab\x4d\xab\x6b\xcd\xa8\xe6\x0e\x70\xc7\xe0\xdb\xe8\x0e\x8c\x2a\xa3\x9a\x44\x35\x65\x25\x8e\x0f\xc0\x46\x17\xfc\x10\xab\x90\xf3\x20\xe4\xbf\xe4\xe9\xcc\xf0\xd8\x52\x39\xcd\xc5\x08\x14\x14\x19\x17\xfe\xbe\x67\xfe\xd5\x72\x84\xe3\xb8\xd4\x24\xb7\x7b\x01\x4a\x0f\xb2\x26\x54\xe3\xd4\x68\xb3\x45\x98\xa1\x59\x3a\x1e\x9e\x18\xde\x40\x76\xcf\x92\xd0\x28\xe9\xe0\x72\xb9\x69\x8d\xd4\x46\xaa\x20\x8b\xbb\xe2\x9a\xee\xbd\x51\x5e\x62\xf2\x5f\xd6\x75\xde\x2c\xa1\x08\x38\xf4\x3d\xba\x2a\x85\x96\x54\x63\x43\xd3\xe5\x2d\xef\x6e\xe4\x0d\x95\x8b\xeb\x67\x60\x41\x13\x5f\x95\x31\x79\x67\x5d\x07\x69\x31\x41\x88\xaa\xc8\x97\x09\x1f\x31\xc6\x57\x28\x3d\x56\xb7\xdf\x9d\x40\xc6\x5e\xe1\xf1\x50\x58\x64\xc6\xba\x4e\x12\x48\x63\x2c\x4b\xd6\xd6\x0c\x69\xea\xb8\xb6\xea\x94\x0c\xc4\xee\xb6\x05\x17\x06\x5c\x00\xdc\x76\xe1\xaa\x60\x55\x15\x03\x3b\x6b\x9a\x6a\x36\x4a\x91\xa7\xad\x22\x67\x75\x95\x99\x4c\x5b\x6b\xa3\xb2\x96\x3b\x2a\xc5\x51\x12\xbc\x81\x7f\x95\x4e\x9b\xf5\xa7\x9a\xa4\xd9\xaf\x83\x44\xde\x4a\xf3\xf9\x22\x67\x97\x4c\x36\x35\x51\xe4\xa1\xdd\x59\xc0\xf8\xf7\x3d\x00\x00\xff\xff\xc2\x84\xf6\xce\x4e\x06\x00\x00") +var _uiAppPartialsAlertHtml = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\xa4\x54\xcd\x6e\xe3\x36\x10\x3e\x3b\x4f\x31\x60\x0f\x4e\xd0\xaa\xba\x1b\x92\x82\x34\x45\x4f\x3d\x35\xe8\xa9\x28\x16\x94\x39\x96\x08\x8f\x48\x81\x1a\x3b\x6b\x38\x06\xf6\x1d\xf6\x0d\xf7\x49\x16\xfc\xd1\x8f\x03\x67\x2f\x7b\xb1\x45\xce\xf0\xfb\x66\x3e\xce\xc7\x42\xe9\x23\x6c\x49\x0e\x43\x29\x24\xa1\xe3\x4c\x33\x76\x02\x4c\x93\x6d\xad\x61\x67\x89\xd0\x95\xe2\xc9\x87\x9e\xd9\x51\x8c\xc4\xfc\xf3\xa0\x09\xcd\x16\xd5\x06\xc2\xd1\xdf\xc7\xf5\x45\x54\x77\xab\x25\xb2\x3d\xa2\x3b\x6a\x7c\x85\xc6\xd9\x43\xef\xa3\x57\xe1\x9a\x4d\x16\x22\xa0\x90\xa5\xa6\x01\xf0\x73\x2f\x8d\x0a\x89\xab\xa2\x3e\x30\x5b\xe3\x89\x87\xd6\xbe\x96\xc2\xff\xfe\x19\x13\x53\x39\x7a\xbb\x2f\x05\xdb\xa6\x21\x4c\x81\xfb\x07\x01\x7c\xea\xb1\x14\xbd\xd3\x9d\x74\x27\x01\x43\x27\x89\xaa\x6f\x5f\xbe\x16\x79\x44\x7c\x8f\xde\x6a\x85\x3f\x89\xfe\xeb\x35\xb6\x1c\x3b\x84\x06\x4d\x46\xda\xec\x03\x64\xeb\x70\x57\x8a\xf3\x39\xc9\xd6\xa0\x41\x27\xd9\xba\x7f\xff\xf9\x1b\x2e\x17\x51\x8d\x35\xdd\xa4\x78\xb1\x07\xb7\xc5\x89\xa7\xc8\x65\x90\x33\x57\xfa\x58\xdd\xbd\x13\x96\x64\x8d\x34\x00\xe1\x8e\x93\x96\x43\x2f\x43\xaf\x0e\x7b\x94\x5c\x8a\x7b\x23\x3b\xfc\x0d\x8e\x92\x0e\xf8\x00\xda\xa4\x92\xd2\xc1\x37\xb0\x4e\xa1\xfb\xe3\xb4\xf1\x69\x11\x62\xc6\x88\x7a\x85\x8b\xfb\xcf\xc7\xff\x17\x13\x6f\x4d\x70\x3e\x83\xdf\x84\xb2\x84\x75\x00\xf5\xab\x35\x3c\xc2\x9a\x6a\xca\x5a\xdd\xb4\xa4\x9b\x96\xd7\xb0\x89\x3b\xf6\xc0\xa4\x0d\xae\x83\x02\x81\x68\x35\x42\x5c\x2e\x50\x82\xd7\x2b\x94\xe9\x13\x62\x21\xb9\xaf\x24\xf6\x35\x7d\xde\x16\xc2\x79\xaa\x24\x81\xdf\x9e\x66\x29\xb6\xab\x4d\xab\x6b\xcd\xa8\xe6\x0e\x70\xc7\xe0\xdb\xe8\x0e\x8c\x2a\xa3\x9a\x44\x35\x65\x25\x8e\x0f\xc0\x46\x17\xfc\x10\xab\x90\xf3\x20\xe4\xbf\xe4\xe9\xcc\xf0\xd8\x52\x39\xcd\xc5\x08\x14\x14\x19\x17\xfe\xbe\x67\xfe\xd5\x72\x84\xe3\xb8\xd4\x24\xb7\x7b\x01\x4a\x0f\xb2\x26\x54\xe3\xd4\x68\xb3\x45\x98\xa1\x59\x3a\x1e\x9e\x18\xde\x40\x76\xcf\x92\xd0\x28\xe9\xe0\x72\xb9\x69\x8d\xd4\x46\xaa\x20\x8b\xbb\xe2\x9a\xee\xbd\x51\x5e\x62\xf2\x5f\xd6\x75\xde\x2c\xa1\x08\x38\xf4\x3d\xba\x2a\x85\x96\x54\x63\x43\xd3\xe5\x2d\xef\x6e\xe4\x0d\x95\x8b\xeb\x67\x60\x41\x13\x5f\x95\x31\x79\x67\x5d\x07\x69\x31\x41\x88\xaa\xc8\x97\x09\x1f\x31\xc6\x57\x28\x3d\x56\xb7\xdf\x9d\x40\xc6\x5e\xe1\xf1\x50\x58\x64\xc6\xba\x4e\x12\x48\x63\x2c\x4b\xd6\xd6\x0c\x69\xea\xb8\xb6\xea\x94\x0c\xc4\xee\xb6\x05\x17\x06\x5c\x00\xdc\x76\xe1\xaa\x60\x55\x15\x03\x3b\x6b\x9a\x6a\x36\x4a\x91\xa7\xad\x22\x67\x75\x95\x99\x4c\x5b\x6b\xa3\xb2\x96\x3b\x2a\xc5\x51\x12\xbc\x81\x7f\x95\x4e\x9b\xf5\xa7\x9a\xa4\xd9\xaf\x83\x44\xde\x4a\xf3\xf9\x22\x67\x97\x4c\x36\x35\x51\xe4\xa1\xdd\x59\xc0\xf8\xf7\x3d\x00\x00\xff\xff\xc2\x84\xf6\xce\x4e\x06\x00\x00") func uiAppPartialsAlertHtmlBytes() ([]byte, error) { return bindataRead( @@ -185,12 +185,12 @@ func uiAppPartialsAlertHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "ui/app/partials/alert.html", size: 1614, mode: os.FileMode(420), modTime: time.Unix(1483467521, 0)} + info := bindataFileInfo{name: "ui/app/partials/alert.html", size: 1614, mode: os.FileMode(420), modTime: time.Unix(1491905519, 0)} a := &asset{bytes: bytes, info: info} return a, nil } -var _uiAppPartialsAlertsHtml = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x53\xcb\x6e\xdc\x30\x0c\x3c\x7b\xbf\x82\xe0\xc5\x09\x50\xaf\x8b\x1e\x7a\x08\x24\xf7\xd4\xa2\xb7\x00\xed\x17\xf8\xc1\xb5\x85\xa5\x25\x43\xd2\x6e\x12\xa4\xfe\xf7\x42\x0f\x6f\xdc\x17\xd0\x93\x45\x89\x1c\x0e\x87\x63\x71\x32\x76\x06\x35\x48\x3c\x29\xf6\x64\xab\x96\xc9\x7a\x87\x30\x93\x9f\xcc\x20\x71\x31\xce\x23\xb4\xbd\x57\x46\x4b\x44\xe8\xb9\x75\x4e\x62\x28\x73\xd8\x1c\x0a\x71\x52\xc4\x83\x23\xdf\x1c\x8a\x42\x30\x8d\xa4\x87\xe6\x4b\xc4\x12\x75\x0e\x0f\xe1\xa9\x63\xd3\x9f\x1d\xf4\x86\x9d\xc4\x0f\xa1\xb4\x28\xc4\xa0\xae\xf1\x50\x08\x47\xb1\x45\x8a\x0a\xc1\x6d\x47\xdc\x7c\xa3\x9e\xd4\x95\xac\x13\x75\xba\xc8\xaf\x8e\x98\x7a\x0f\xba\x9d\x49\x62\x0a\xaa\xf9\xc2\x5e\xdd\xf8\x3d\xa9\xc1\x4f\xd5\x47\x04\x3d\x56\xb3\x19\x88\x25\xda\x0d\x0c\x21\xe6\x2e\x4c\x12\xb7\x13\x26\xe4\x42\x8f\x95\x59\x02\x11\x27\xd1\xc2\xc9\x58\xb0\xa0\x34\xb4\xcc\x37\x2e\xe0\x6d\xdb\x9f\xa1\x7b\x01\x8b\x1b\xa1\x3a\x91\xc8\xb3\xd4\xfb\x61\x44\x1d\x87\xfc\x8f\x71\x37\xee\xfd\x44\xfd\xb9\x33\xcf\xd8\x08\xa5\x97\x8b\x07\xff\xb2\xd0\xee\x7a\x37\xd3\xa4\x06\xfa\xae\x98\x74\x4f\x03\x36\xf0\x55\x0d\x04\x2e\xc7\xbf\x68\xf6\x57\x4e\xe1\x90\xd6\x12\x16\x59\xbf\x6d\x52\xd4\x61\xbf\xcd\xe1\x10\x18\x47\x77\x44\x5b\x54\xa3\x35\x97\xc5\x45\x02\x99\xeb\x6b\x19\x28\x54\x5b\xcf\xf2\x01\xf6\x94\xd6\xe8\x90\x80\x91\xd3\x77\x30\x11\xc5\xd2\x42\xad\x97\x18\x6f\x82\xd0\xa9\x03\xfc\x80\x64\xc7\x07\x6d\xfc\xe7\x79\xf1\x2f\x51\xe9\x7f\x20\x55\x13\xb5\x03\xd9\x54\x9b\x8d\xe5\x96\x56\xef\x1b\xdc\xb1\x7e\x07\x7c\xbd\xbf\xf5\x38\x46\x71\xdc\xcd\x30\xdc\x31\xbc\xbe\x02\x6b\x90\x12\xca\x88\x1e\xec\x55\xc2\x27\x28\xb9\xe3\x6a\x52\xe3\xc4\x6a\x9c\x7c\x09\x0f\x50\x96\xb0\xae\x79\xf9\xa9\x68\x5d\x41\x42\x19\xce\x57\x58\xd7\x32\x89\x1c\x48\x24\x95\x83\xdc\xc5\xa1\xd8\x66\xd8\x11\xeb\xf8\xfc\xc6\x29\x2d\xe3\xed\xdf\x08\x89\x6e\x32\x4f\x3b\xf3\x1e\x95\x1e\xe8\xf9\xf1\x74\xd7\xf1\xf9\x68\xcd\xc5\xd3\xe3\xe2\xdd\x71\x7b\xbf\x87\x46\xc2\x7b\xdc\x0a\x03\xfc\x31\xff\xd2\xd9\x08\xbf\xf5\x6f\x43\xf7\x3f\xb2\x0a\x11\xc3\x9b\x38\xca\xf9\x4a\x79\x9a\x11\xe2\xbd\xc4\x16\x13\xe5\xbc\xba\x4d\xcd\x46\xd4\x31\x61\x33\xdd\x66\xf8\x9d\xe1\xd2\x21\x7f\xd3\xe7\x67\x00\x00\x00\xff\xff\xbc\x1f\x5b\xd7\x85\x04\x00\x00") +var _uiAppPartialsAlertsHtml = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\x8c\x53\xcb\x6e\xdc\x30\x0c\x3c\x7b\xbf\x82\xe0\xc5\x09\x50\xaf\x8b\x1e\x7a\x08\x24\xf7\xd4\xa2\xb7\x00\xed\x17\xf8\xc1\xb5\x85\xa5\x25\x43\xd2\x6e\x12\xa4\xfe\xf7\x42\x0f\x6f\xdc\x17\xd0\x93\x45\x89\x1c\x0e\x87\x63\x71\x32\x76\x06\x35\x48\x3c\x29\xf6\x64\xab\x96\xc9\x7a\x87\x30\x93\x9f\xcc\x20\x71\x31\xce\x23\xb4\xbd\x57\x46\x4b\x44\xe8\xb9\x75\x4e\x62\x28\x73\xd8\x1c\x0a\x71\x52\xc4\x83\x23\xdf\x1c\x8a\x42\x30\x8d\xa4\x87\xe6\x4b\xc4\x12\x75\x0e\x0f\xe1\xa9\x63\xd3\x9f\x1d\xf4\x86\x9d\xc4\x0f\xa1\xb4\x28\xc4\xa0\xae\xf1\x50\x08\x47\xb1\x45\x8a\x0a\xc1\x6d\x47\xdc\x7c\xa3\x9e\xd4\x95\xac\x13\x75\xba\xc8\xaf\x8e\x98\x7a\x0f\xba\x9d\x49\x62\x0a\xaa\xf9\xc2\x5e\xdd\xf8\x3d\xa9\xc1\x4f\xd5\x47\x04\x3d\x56\xb3\x19\x88\x25\xda\x0d\x0c\x21\xe6\x2e\x4c\x12\xb7\x13\x26\xe4\x42\x8f\x95\x59\x02\x11\x27\xd1\xc2\xc9\x58\xb0\xa0\x34\xb4\xcc\x37\x2e\xe0\x6d\xdb\x9f\xa1\x7b\x01\x8b\x1b\xa1\x3a\x91\xc8\xb3\xd4\xfb\x61\x44\x1d\x87\xfc\x8f\x71\x37\xee\xfd\x44\xfd\xb9\x33\xcf\xd8\x08\xa5\x97\x8b\x07\xff\xb2\xd0\xee\x7a\x37\xd3\xa4\x06\xfa\xae\x98\x74\x4f\x03\x36\xf0\x55\x0d\x04\x2e\xc7\xbf\x68\xf6\x57\x4e\xe1\x90\xd6\x12\x16\x59\xbf\x6d\x52\xd4\x61\xbf\xcd\xe1\x10\x18\x47\x77\x44\x5b\x54\xa3\x35\x97\xc5\x45\x02\x99\xeb\x6b\x19\x28\x54\x5b\xcf\xf2\x01\xf6\x94\xd6\xe8\x90\x80\x91\xd3\x77\x30\x11\xc5\xd2\x42\xad\x97\x18\x6f\x82\xd0\xa9\x03\xfc\x80\x64\xc7\x07\x6d\xfc\xe7\x79\xf1\x2f\x51\xe9\x7f\x20\x55\x13\xb5\x03\xd9\x54\x9b\x8d\xe5\x96\x56\xef\x1b\xdc\xb1\x7e\x07\x7c\xbd\xbf\xf5\x38\x46\x71\xdc\xcd\x30\xdc\x31\xbc\xbe\x02\x6b\x90\x12\xca\x88\x1e\xec\x55\xc2\x27\x28\xb9\xe3\x6a\x52\xe3\xc4\x6a\x9c\x7c\x09\x0f\x50\x96\xb0\xae\x79\xf9\xa9\x68\x5d\x41\x42\x19\xce\x57\x58\xd7\x32\x89\x1c\x48\x24\x95\x83\xdc\xc5\xa1\xd8\x66\xd8\x11\xeb\xf8\xfc\xc6\x29\x2d\xe3\xed\xdf\x08\x89\x6e\x32\x4f\x3b\xf3\x1e\x95\x1e\xe8\xf9\xf1\x74\xd7\xf1\xf9\x68\xcd\xc5\xd3\xe3\xe2\xdd\x71\x7b\xbf\x87\x46\xc2\x7b\xdc\x0a\x03\xfc\x31\xff\xd2\xd9\x08\xbf\xf5\x6f\x43\xf7\x3f\xb2\x0a\x11\xc3\x9b\x38\xca\xf9\x4a\x79\x9a\x11\xe2\xbd\xc4\x16\x13\xe5\xbc\xba\x4d\xcd\x46\xd4\x31\x61\x33\xdd\x66\xf8\x9d\xe1\xd2\x21\x7f\xd3\xe7\x67\x00\x00\x00\xff\xff\xbc\x1f\x5b\xd7\x85\x04\x00\x00") func uiAppPartialsAlertsHtmlBytes() ([]byte, error) { return bindataRead( @@ -205,12 +205,12 @@ func uiAppPartialsAlertsHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "ui/app/partials/alerts.html", size: 1157, mode: os.FileMode(420), modTime: time.Unix(1483467521, 0)} + info := bindataFileInfo{name: "ui/app/partials/alerts.html", size: 1157, mode: os.FileMode(420), modTime: time.Unix(1491905519, 0)} a := &asset{bytes: bytes, info: info} return a, nil } -var _uiAppPartialsRouteHtml = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x84\x90\x4d\x6e\xeb\x30\x0c\x84\xd7\xce\x29\x08\x6d\xf2\x1e\x50\x3b\x17\xb0\x7c\x88\xde\x80\x49\xd8\x58\x00\x25\x1b\x92\xec\x16\x08\xd2\xb3\x17\xa2\xff\xd4\x3a\x45\x37\x96\x2c\x0e\x87\x9c\xaf\xbe\x9a\x11\x2e\x8c\x21\x68\xe5\xbb\x21\x92\x6a\x0e\xc5\xee\xb1\x6c\x09\xaf\xe4\xe1\xe6\xbb\xa1\x4f\x8a\x27\x12\x8b\xf1\xd2\x92\x0f\xc0\xf4\x16\x45\x53\xd4\xa1\x47\x07\xee\x56\x7a\xea\x09\xa3\x56\x16\x8c\x03\x91\x57\x8b\x5c\x2d\x2e\x7c\x66\xe0\x33\x97\xdd\x10\xd9\x38\x9a\x1c\x8a\xfb\x1d\x6c\xe5\xd0\x12\x3c\x1e\xa0\x57\xc3\xd0\x76\xef\x5a\xd9\xca\x84\x57\xba\xd1\x87\x6a\x3e\xeb\x53\xaa\x35\x70\x94\x8e\x11\x79\x48\x2d\x47\x59\x63\x2a\xa5\xad\x4f\x57\x33\xa6\x80\xcb\x99\xa5\x40\x26\x1f\x4b\x49\x18\x76\x11\xb3\xa2\xca\x03\xc9\xcb\x16\x2a\xeb\xfe\xad\x7d\x8f\xf2\x09\xa7\x7f\xec\x5e\x80\xc7\xff\xc9\x59\x84\x15\xe3\x99\xf8\x2f\x58\x89\x16\x3b\x21\x25\x1c\x78\x5c\x10\x64\x0c\xd6\xf0\xf3\x8a\xd9\x58\xdc\xe6\xc9\xc6\x73\x12\x28\x6a\xf9\x5d\x87\x9b\x10\x4b\x13\xc9\x2a\x40\xad\x50\x35\xf5\x49\xea\xdf\xdd\x7f\xb0\x3e\xec\xa6\xf9\x8d\x9b\x7c\x67\xea\x72\x9f\xde\xb5\xf2\xc9\x5c\xee\x9b\xd3\x74\x7c\x05\x00\x00\xff\xff\x32\xc6\xc7\x2a\xb9\x02\x00\x00") +var _uiAppPartialsRouteHtml = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\x84\x90\x4d\x6e\xeb\x30\x0c\x84\xd7\xce\x29\x08\x6d\xf2\x1e\x50\x3b\x17\xb0\x7c\x88\xde\x80\x49\xd8\x58\x00\x25\x1b\x92\xec\x16\x08\xd2\xb3\x17\xa2\xff\xd4\x3a\x45\x37\x96\x2c\x0e\x87\x9c\xaf\xbe\x9a\x11\x2e\x8c\x21\x68\xe5\xbb\x21\x92\x6a\x0e\xc5\xee\xb1\x6c\x09\xaf\xe4\xe1\xe6\xbb\xa1\x4f\x8a\x27\x12\x8b\xf1\xd2\x92\x0f\xc0\xf4\x16\x45\x53\xd4\xa1\x47\x07\xee\x56\x7a\xea\x09\xa3\x56\x16\x8c\x03\x91\x57\x8b\x5c\x2d\x2e\x7c\x66\xe0\x33\x97\xdd\x10\xd9\x38\x9a\x1c\x8a\xfb\x1d\x6c\xe5\xd0\x12\x3c\x1e\xa0\x57\xc3\xd0\x76\xef\x5a\xd9\xca\x84\x57\xba\xd1\x87\x6a\x3e\xeb\x53\xaa\x35\x70\x94\x8e\x11\x79\x48\x2d\x47\x59\x63\x2a\xa5\xad\x4f\x57\x33\xa6\x80\xcb\x99\xa5\x40\x26\x1f\x4b\x49\x18\x76\x11\xb3\xa2\xca\x03\xc9\xcb\x16\x2a\xeb\xfe\xad\x7d\x8f\xf2\x09\xa7\x7f\xec\x5e\x80\xc7\xff\xc9\x59\x84\x15\xe3\x99\xf8\x2f\x58\x89\x16\x3b\x21\x25\x1c\x78\x5c\x10\x64\x0c\xd6\xf0\xf3\x8a\xd9\x58\xdc\xe6\xc9\xc6\x73\x12\x28\x6a\xf9\x5d\x87\x9b\x10\x4b\x13\xc9\x2a\x40\xad\x50\x35\xf5\x49\xea\xdf\xdd\x7f\xb0\x3e\xec\xa6\xf9\x8d\x9b\x7c\x67\xea\x72\x9f\xde\xb5\xf2\xc9\x5c\xee\x9b\xd3\x74\x7c\x05\x00\x00\xff\xff\x32\xc6\xc7\x2a\xb9\x02\x00\x00") func uiAppPartialsRouteHtmlBytes() ([]byte, error) { return bindataRead( @@ -225,12 +225,12 @@ func uiAppPartialsRouteHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "ui/app/partials/route.html", size: 697, mode: os.FileMode(420), modTime: time.Unix(1483467521, 0)} + info := bindataFileInfo{name: "ui/app/partials/route.html", size: 697, mode: os.FileMode(420), modTime: time.Unix(1491905519, 0)} a := &asset{bytes: bytes, info: info} return a, nil } -var _uiAppPartialsSilenceFormHtml = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x55\x4d\x6f\xdb\x38\x10\x3d\xdb\xbf\x62\x96\xc8\x61\x17\x0b\x49\xbb\x45\x8f\x94\xd0\x34\xed\xb1\x97\xe4\x17\xd0\xe4\x58\x26\xc2\x0f\x95\xa4\x1c\x1b\x49\xfe\x7b\x41\x91\x54\x6c\xd7\x6e\x5c\xa0\x17\xc3\x24\x87\x6f\x1e\xdf\xbc\x19\xd1\xb5\x75\x1a\x8c\xdd\x32\x25\x05\x0b\x08\x86\x69\x6c\x49\xdc\x25\xc0\x15\xf3\x3e\x2d\x3c\x01\xd3\x57\xdc\x9a\xe0\xac\x52\xe8\x5a\xf2\x20\x15\x1a\x8e\x77\x0e\x59\xc0\xbb\xe0\x14\xe9\x96\x0b\xba\x96\xa8\x84\xc7\x00\x52\xb4\xc4\xa7\x90\x8a\x4f\x31\xf1\x7c\x41\x15\xf6\x68\x44\x97\xae\x01\xf5\x03\x33\x25\x8f\x40\xcf\x49\xf7\x05\xd7\xd2\x20\x30\x30\xf8\x04\x19\xa1\xa6\x4d\x0c\xec\x68\x93\xaf\x2f\x23\x94\xb3\x4f\x11\x72\x41\xb9\x55\xa3\x36\xd3\xff\x05\x55\x6c\x85\xaa\x7b\x08\xcc\x05\xda\xa4\x45\x3a\x90\x66\x18\x43\x7c\x85\xb6\x02\xd5\xcc\xae\xf6\x31\xd4\xdf\x06\x02\x61\x3f\x60\x4b\xa2\x0c\x41\x6a\xac\x94\xe5\x4c\x91\xac\xc8\x14\x55\xc5\x7d\x02\x0e\xbf\x8f\xd2\xa1\x48\xd9\x9b\x83\xf4\xe7\xa8\x7c\x35\xe2\x3a\x22\x68\xc4\xbb\x34\xd0\x88\xf7\x48\xd0\x66\x12\x66\x39\x13\xf8\xc6\x02\xdf\xa0\xf3\xe7\xd4\xbe\x55\xe8\x82\x07\xb6\x5e\x23\x0f\x28\x60\xb5\x87\xb0\x91\xfe\x8c\xf0\xe5\x01\x51\xf6\x82\x51\x0a\xac\x73\x86\xc9\x24\x0e\x07\x64\xa1\x25\x1a\xa4\x99\x71\xe6\x88\x43\x99\x80\x5b\xe5\x5b\xf2\x81\x1c\x09\x93\xb1\xa7\x45\xe5\x35\x53\xaa\x48\x12\x70\x17\x08\x0c\x8a\x71\xdc\x58\x25\xa2\x0b\xa3\x2a\xe4\x40\x4b\x5d\xa7\x9d\x77\x4b\xf4\x07\x72\x6f\x99\x1a\x4f\x92\xe7\xad\x0b\xd9\x7f\x76\x88\x90\xdb\x92\x73\x15\x4c\xd5\x3b\x3b\x0e\x99\xd1\x82\xae\xc6\x10\xac\xc9\xf9\x07\x27\x35\x73\x7b\x02\x13\xab\x2e\x95\xb6\xdc\xe5\x1b\xe4\x8f\x2b\xbb\x03\xe9\x2b\x87\x3d\xee\x48\x97\x1f\x94\x2e\x97\xf3\x63\xb2\xd2\xdf\xa7\x58\x98\xee\x94\x1a\xd3\x26\x25\x3e\x4b\xc3\x23\xb7\x46\x4c\x44\x4c\x5f\x6d\xa4\xc0\x37\xff\x96\x1a\xd7\x0a\x4d\x1f\x36\x40\x5b\xf8\x3f\x8d\x0d\x25\xf9\x63\x74\x9c\xca\x56\xfc\xfb\x46\x1a\x81\xbb\x7f\xca\x6b\xaa\xdf\xc8\x99\xc1\x98\x10\x05\x6c\x86\xf9\xf7\x18\x86\x36\x42\x6e\x7f\xd5\x1e\x27\x03\xe4\xd4\x12\x49\x8e\x69\x52\x59\x77\x5d\x0b\xa7\x49\x27\x3e\xef\x8b\x6d\x50\x33\x39\x37\x2f\x4f\x50\x27\x36\xd2\xf8\x89\x5b\x3d\x30\xb3\xaf\xb9\xd5\xd7\x5b\xf7\xe3\x09\x4f\xab\x35\x9a\x2b\x67\x1e\x4f\xc1\xc7\xe6\xce\x24\xcb\xd1\x11\x49\x87\xcc\x5b\x03\x6b\xeb\xe6\x96\xae\xeb\xeb\x86\x50\xf4\xb8\xe9\x2b\xbf\xb1\x4f\x2d\x41\xe7\xac\x83\xbf\x5a\x30\x63\xec\xad\xec\x5f\x16\xa7\x10\x4c\xbf\xd5\x14\x91\xc7\xc4\xe1\xbc\xca\xfb\xcf\xcf\x90\x30\x5e\x5f\xf3\x6c\x5a\xce\x95\x5e\x2e\x68\x53\x3e\x40\xd3\xea\x62\x7b\x5d\xe8\x2d\xd3\x57\x42\x7a\xb6\x52\x28\x2e\xdb\xba\x6d\xe1\x3f\x78\x79\x89\x5a\xe8\xfa\x46\x9a\xe9\xd3\x79\x68\xcd\x64\x82\x68\xcb\x71\x18\xd0\xe5\x6f\xdd\xa1\x37\xcf\xfa\xfb\xc8\xde\x0e\x3d\x86\x37\x88\xfb\xb8\x3c\x40\xc8\x0f\xa6\x4d\x24\xd1\x2d\x7f\x04\x00\x00\xff\xff\x3e\x69\xb6\x8b\xc6\x07\x00\x00") +var _uiAppPartialsSilenceFormHtml = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\xac\x55\x4d\x6f\xdb\x38\x10\x3d\xdb\xbf\x62\x96\xc8\x61\x17\x0b\x49\xbb\x45\x8f\x94\xd0\x34\xed\xb1\x97\xe4\x17\xd0\xe4\x58\x26\xc2\x0f\x95\xa4\x1c\x1b\x49\xfe\x7b\x41\x91\x54\x6c\xd7\x6e\x5c\xa0\x17\xc3\x24\x87\x6f\x1e\xdf\xbc\x19\xd1\xb5\x75\x1a\x8c\xdd\x32\x25\x05\x0b\x08\x86\x69\x6c\x49\xdc\x25\xc0\x15\xf3\x3e\x2d\x3c\x01\xd3\x57\xdc\x9a\xe0\xac\x52\xe8\x5a\xf2\x20\x15\x1a\x8e\x77\x0e\x59\xc0\xbb\xe0\x14\xe9\x96\x0b\xba\x96\xa8\x84\xc7\x00\x52\xb4\xc4\xa7\x90\x8a\x4f\x31\xf1\x7c\x41\x15\xf6\x68\x44\x97\xae\x01\xf5\x03\x33\x25\x8f\x40\xcf\x49\xf7\x05\xd7\xd2\x20\x30\x30\xf8\x04\x19\xa1\xa6\x4d\x0c\xec\x68\x93\xaf\x2f\x23\x94\xb3\x4f\x11\x72\x41\xb9\x55\xa3\x36\xd3\xff\x05\x55\x6c\x85\xaa\x7b\x08\xcc\x05\xda\xa4\x45\x3a\x90\x66\x18\x43\x7c\x85\xb6\x02\xd5\xcc\xae\xf6\x31\xd4\xdf\x06\x02\x61\x3f\x60\x4b\xa2\x0c\x41\x6a\xac\x94\xe5\x4c\x91\xac\xc8\x14\x55\xc5\x7d\x02\x0e\xbf\x8f\xd2\xa1\x48\xd9\x9b\x83\xf4\xe7\xa8\x7c\x35\xe2\x3a\x22\x68\xc4\xbb\x34\xd0\x88\xf7\x48\xd0\x66\x12\x66\x39\x13\xf8\xc6\x02\xdf\xa0\xf3\xe7\xd4\xbe\x55\xe8\x82\x07\xb6\x5e\x23\x0f\x28\x60\xb5\x87\xb0\x91\xfe\x8c\xf0\xe5\x01\x51\xf6\x82\x51\x0a\xac\x73\x86\xc9\x24\x0e\x07\x64\xa1\x25\x1a\xa4\x99\x71\xe6\x88\x43\x99\x80\x5b\xe5\x5b\xf2\x81\x1c\x09\x93\xb1\xa7\x45\xe5\x35\x53\xaa\x48\x12\x70\x17\x08\x0c\x8a\x71\xdc\x58\x25\xa2\x0b\xa3\x2a\xe4\x40\x4b\x5d\xa7\x9d\x77\x4b\xf4\x07\x72\x6f\x99\x1a\x4f\x92\xe7\xad\x0b\xd9\x7f\x76\x88\x90\xdb\x92\x73\x15\x4c\xd5\x3b\x3b\x0e\x99\xd1\x82\xae\xc6\x10\xac\xc9\xf9\x07\x27\x35\x73\x7b\x02\x13\xab\x2e\x95\xb6\xdc\xe5\x1b\xe4\x8f\x2b\xbb\x03\xe9\x2b\x87\x3d\xee\x48\x97\x1f\x94\x2e\x97\xf3\x63\xb2\xd2\xdf\xa7\x58\x98\xee\x94\x1a\xd3\x26\x25\x3e\x4b\xc3\x23\xb7\x46\x4c\x44\x4c\x5f\x6d\xa4\xc0\x37\xff\x96\x1a\xd7\x0a\x4d\x1f\x36\x40\x5b\xf8\x3f\x8d\x0d\x25\xf9\x63\x74\x9c\xca\x56\xfc\xfb\x46\x1a\x81\xbb\x7f\xca\x6b\xaa\xdf\xc8\x99\xc1\x98\x10\x05\x6c\x86\xf9\xf7\x18\x86\x36\x42\x6e\x7f\xd5\x1e\x27\x03\xe4\xd4\x12\x49\x8e\x69\x52\x59\x77\x5d\x0b\xa7\x49\x27\x3e\xef\x8b\x6d\x50\x33\x39\x37\x2f\x4f\x50\x27\x36\xd2\xf8\x89\x5b\x3d\x30\xb3\xaf\xb9\xd5\xd7\x5b\xf7\xe3\x09\x4f\xab\x35\x9a\x2b\x67\x1e\x4f\xc1\xc7\xe6\xce\x24\xcb\xd1\x11\x49\x87\xcc\x5b\x03\x6b\xeb\xe6\x96\xae\xeb\xeb\x86\x50\xf4\xb8\xe9\x2b\xbf\xb1\x4f\x2d\x41\xe7\xac\x83\xbf\x5a\x30\x63\xec\xad\xec\x5f\x16\xa7\x10\x4c\xbf\xd5\x14\x91\xc7\xc4\xe1\xbc\xca\xfb\xcf\xcf\x90\x30\x5e\x5f\xf3\x6c\x5a\xce\x95\x5e\x2e\x68\x53\x3e\x40\xd3\xea\x62\x7b\x5d\xe8\x2d\xd3\x57\x42\x7a\xb6\x52\x28\x2e\xdb\xba\x6d\xe1\x3f\x78\x79\x89\x5a\xe8\xfa\x46\x9a\xe9\xd3\x79\x68\xcd\x64\x82\x68\xcb\x71\x18\xd0\xe5\x6f\xdd\xa1\x37\xcf\xfa\xfb\xc8\xde\x0e\x3d\x86\x37\x88\xfb\xb8\x3c\x40\xc8\x0f\xa6\x4d\x24\xd1\x2d\x7f\x04\x00\x00\xff\xff\x3e\x69\xb6\x8b\xc6\x07\x00\x00") func uiAppPartialsSilenceFormHtmlBytes() ([]byte, error) { return bindataRead( @@ -245,12 +245,12 @@ func uiAppPartialsSilenceFormHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "ui/app/partials/silence-form.html", size: 1990, mode: os.FileMode(420), modTime: time.Unix(1483467521, 0)} + info := bindataFileInfo{name: "ui/app/partials/silence-form.html", size: 1990, mode: os.FileMode(420), modTime: time.Unix(1491905519, 0)} a := &asset{bytes: bytes, info: info} return a, nil } -var _uiAppPartialsSilenceHtml = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xb4\x94\x4b\x6e\xdb\x3c\x10\xc7\xd7\xce\x29\xe6\xe3\x46\xf9\x50\xd8\xda\x1b\x92\x8b\xe6\x51\x64\x93\x4d\x72\x02\x5a\x9c\xc8\x44\x48\x49\x20\xc7\x4e\x84\x44\x45\xee\x90\x1b\xe6\x24\x05\x1f\xb2\x64\xd7\x6e\x12\xb4\xdd\xd8\xa2\x86\x33\x3f\xcd\xeb\x9f\x09\xb9\x81\x42\x71\x6b\x73\x66\xa5\xc2\xaa\xc0\xa9\x24\xd4\xf0\xf4\x04\x2b\x59\xae\x94\x2c\x57\x04\x5f\x21\xd9\x1e\x12\x98\x43\x92\x74\x1d\x83\xaa\x9c\x16\x75\x45\xa6\x56\x0a\x4d\xce\x6e\x83\xfb\x39\x19\xc5\x16\x27\x93\x71\xe4\x7a\x83\x66\x23\xf1\x01\x4a\x53\xaf\x1b\x67\x9d\x64\xcb\x35\x51\x5d\x01\xb5\x0d\xe6\xac\x31\x52\x73\xd3\xb2\xde\x01\x1f\x1b\x5e\x09\x8f\xb0\xab\xfa\x21\x67\xee\xf7\x02\x89\x4b\x65\x03\x58\xc9\xe2\x3e\x67\x54\x97\xa5\xc2\x68\x38\xfd\x9f\x81\xd5\x5c\xa9\xc5\xdb\xcb\x6b\x96\x06\xc0\xa7\x58\x2b\x29\xf0\xb3\xac\x2f\x03\xc9\xa1\x46\x59\x2b\xbe\x44\x65\x41\xe1\x1d\xf9\x94\x27\x99\x6d\x78\xe5\x22\x1a\x6c\x90\x53\xce\x34\xc8\x0a\xac\x54\x33\xcd\xa9\x58\xa1\xb1\xf0\x0c\xb5\x11\x68\xce\xda\x79\xc5\x35\x06\xb7\xe8\xd7\x47\x5d\x2a\xd7\x1c\x3d\x73\x17\x20\xcf\x21\xe1\x0a\x0d\xb9\x53\xe2\x1a\xa5\x96\x6a\xba\xd7\x2c\xe8\xba\x18\x69\x32\x78\x76\x1d\xe4\xdb\x0f\x0a\x45\xd6\x33\x69\x6f\xb0\xc4\x47\xb6\xf8\x91\xa5\xce\xb6\x00\xe6\x3d\x36\x5c\xad\x9d\x0b\x0b\xdf\x13\x6c\x27\x3b\x8f\x59\x2a\xe4\xe6\x97\x1a\x18\xf7\x15\x31\xfb\xd8\x85\xa1\xa7\x52\xcd\x1a\xac\x84\xac\x4a\x16\x7b\xb3\x54\xbc\xb8\x67\x20\xa4\xe5\x4b\x85\x22\x96\xf8\x96\xb8\x21\xeb\xb2\x76\x2e\x58\x09\xfb\x8d\xe0\x19\xb8\x3e\xe7\x0a\x2b\xc1\x0d\x74\xdd\xb8\xdf\x87\x51\xbc\x20\xb9\xc1\xdf\x93\x2e\x2b\xf1\xc7\x9c\x6d\x4a\xb1\x04\x02\x15\x12\x4e\xc3\xd5\x3d\xfc\x30\x5d\xe1\xd6\xa9\x0b\x20\x45\x3f\x5c\xb0\x6e\x1a\x34\x8b\x0b\x6f\xfb\x78\x86\x7f\x0d\x7c\xf9\xd8\x48\xf3\x0e\xf8\x3f\x5f\x2b\xc5\x1b\x8b\x62\xd8\x29\x21\xe9\x3d\x70\xd8\xa7\xa8\x1a\xdf\x6b\xa3\x4f\xf7\xe9\x42\xd2\xfb\x49\xff\x13\xf4\x0d\x16\x06\xf9\x6e\xcd\xe3\x80\x0f\x83\x3e\x9e\x73\x4f\x8d\x02\xba\x27\x5b\x23\x4c\x50\xbe\x5e\x67\xef\x6a\xa3\x21\x1e\x7c\x2e\x6c\x91\xa5\x63\xe3\x31\x98\xf0\x1a\x14\xc5\xf4\xb0\x46\x7a\x10\xb9\xd1\xee\x9d\xfc\x61\x7a\xa7\x78\xbf\x8e\xb4\xac\x45\x1b\x05\x86\xcc\x6e\x51\x43\xf6\xe2\xac\xed\x75\x23\x23\xb1\xf0\x2f\x6b\x93\xa5\x24\x46\x6f\xe3\xb6\x6c\x3d\xfc\x8e\xf4\x37\xb2\x94\xcc\x31\x44\xad\x35\x56\xb4\x03\x08\xaf\x8e\x00\x82\xf1\x78\xf8\x91\x4b\x58\x84\xbd\x38\xe1\x29\x88\x69\x1f\xd4\x7a\x65\xf1\x5b\x2e\x38\xe1\x3c\x69\xdb\xb6\x9d\x5e\x5f\x4f\x85\x80\xab\xab\xb9\xd6\x89\xe7\x6d\xe5\x6e\x32\x99\xbc\xbd\xbc\xc2\xa1\x50\x5b\xb9\xf8\x60\xa0\x03\x59\x64\xe9\xb6\x27\x59\xea\xfb\x35\x4c\x40\xfc\xfb\x19\x00\x00\xff\xff\xb3\x0b\xed\xb9\xb0\x07\x00\x00") +var _uiAppPartialsSilenceHtml = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\xb4\x94\x4b\x6e\xdb\x3c\x10\xc7\xd7\xce\x29\xe6\xe3\x46\xf9\x50\xd8\xda\x1b\x92\x8b\xe6\x51\x64\x93\x4d\x72\x02\x5a\x9c\xc8\x44\x48\x49\x20\xc7\x4e\x84\x44\x45\xee\x90\x1b\xe6\x24\x05\x1f\xb2\x64\xd7\x6e\x12\xb4\xdd\xd8\xa2\x86\x33\x3f\xcd\xeb\x9f\x09\xb9\x81\x42\x71\x6b\x73\x66\xa5\xc2\xaa\xc0\xa9\x24\xd4\xf0\xf4\x04\x2b\x59\xae\x94\x2c\x57\x04\x5f\x21\xd9\x1e\x12\x98\x43\x92\x74\x1d\x83\xaa\x9c\x16\x75\x45\xa6\x56\x0a\x4d\xce\x6e\x83\xfb\x39\x19\xc5\x16\x27\x93\x71\xe4\x7a\x83\x66\x23\xf1\x01\x4a\x53\xaf\x1b\x67\x9d\x64\xcb\x35\x51\x5d\x01\xb5\x0d\xe6\xac\x31\x52\x73\xd3\xb2\xde\x01\x1f\x1b\x5e\x09\x8f\xb0\xab\xfa\x21\x67\xee\xf7\x02\x89\x4b\x65\x03\x58\xc9\xe2\x3e\x67\x54\x97\xa5\xc2\x68\x38\xfd\x9f\x81\xd5\x5c\xa9\xc5\xdb\xcb\x6b\x96\x06\xc0\xa7\x58\x2b\x29\xf0\xb3\xac\x2f\x03\xc9\xa1\x46\x59\x2b\xbe\x44\x65\x41\xe1\x1d\xf9\x94\x27\x99\x6d\x78\xe5\x22\x1a\x6c\x90\x53\xce\x34\xc8\x0a\xac\x54\x33\xcd\xa9\x58\xa1\xb1\xf0\x0c\xb5\x11\x68\xce\xda\x79\xc5\x35\x06\xb7\xe8\xd7\x47\x5d\x2a\xd7\x1c\x3d\x73\x17\x20\xcf\x21\xe1\x0a\x0d\xb9\x53\xe2\x1a\xa5\x96\x6a\xba\xd7\x2c\xe8\xba\x18\x69\x32\x78\x76\x1d\xe4\xdb\x0f\x0a\x45\xd6\x33\x69\x6f\xb0\xc4\x47\xb6\xf8\x91\xa5\xce\xb6\x00\xe6\x3d\x36\x5c\xad\x9d\x0b\x0b\xdf\x13\x6c\x27\x3b\x8f\x59\x2a\xe4\xe6\x97\x1a\x18\xf7\x15\x31\xfb\xd8\x85\xa1\xa7\x52\xcd\x1a\xac\x84\xac\x4a\x16\x7b\xb3\x54\xbc\xb8\x67\x20\xa4\xe5\x4b\x85\x22\x96\xf8\x96\xb8\x21\xeb\xb2\x76\x2e\x58\x09\xfb\x8d\xe0\x19\xb8\x3e\xe7\x0a\x2b\xc1\x0d\x74\xdd\xb8\xdf\x87\x51\xbc\x20\xb9\xc1\xdf\x93\x2e\x2b\xf1\xc7\x9c\x6d\x4a\xb1\x04\x02\x15\x12\x4e\xc3\xd5\x3d\xfc\x30\x5d\xe1\xd6\xa9\x0b\x20\x45\x3f\x5c\xb0\x6e\x1a\x34\x8b\x0b\x6f\xfb\x78\x86\x7f\x0d\x7c\xf9\xd8\x48\xf3\x0e\xf8\x3f\x5f\x2b\xc5\x1b\x8b\x62\xd8\x29\x21\xe9\x3d\x70\xd8\xa7\xa8\x1a\xdf\x6b\xa3\x4f\xf7\xe9\x42\xd2\xfb\x49\xff\x13\xf4\x0d\x16\x06\xf9\x6e\xcd\xe3\x80\x0f\x83\x3e\x9e\x73\x4f\x8d\x02\xba\x27\x5b\x23\x4c\x50\xbe\x5e\x67\xef\x6a\xa3\x21\x1e\x7c\x2e\x6c\x91\xa5\x63\xe3\x31\x98\xf0\x1a\x14\xc5\xf4\xb0\x46\x7a\x10\xb9\xd1\xee\x9d\xfc\x61\x7a\xa7\x78\xbf\x8e\xb4\xac\x45\x1b\x05\x86\xcc\x6e\x51\x43\xf6\xe2\xac\xed\x75\x23\x23\xb1\xf0\x2f\x6b\x93\xa5\x24\x46\x6f\xe3\xb6\x6c\x3d\xfc\x8e\xf4\x37\xb2\x94\xcc\x31\x44\xad\x35\x56\xb4\x03\x08\xaf\x8e\x00\x82\xf1\x78\xf8\x91\x4b\x58\x84\xbd\x38\xe1\x29\x88\x69\x1f\xd4\x7a\x65\xf1\x5b\x2e\x38\xe1\x3c\x69\xdb\xb6\x9d\x5e\x5f\x4f\x85\x80\xab\xab\xb9\xd6\x89\xe7\x6d\xe5\x6e\x32\x99\xbc\xbd\xbc\xc2\xa1\x50\x5b\xb9\xf8\x60\xa0\x03\x59\x64\xe9\xb6\x27\x59\xea\xfb\x35\x4c\x40\xfc\xfb\x19\x00\x00\xff\xff\xb3\x0b\xed\xb9\xb0\x07\x00\x00") func uiAppPartialsSilenceHtmlBytes() ([]byte, error) { return bindataRead( @@ -265,12 +265,12 @@ func uiAppPartialsSilenceHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "ui/app/partials/silence.html", size: 1968, mode: os.FileMode(420), modTime: time.Unix(1483467521, 0)} + info := bindataFileInfo{name: "ui/app/partials/silence.html", size: 1968, mode: os.FileMode(420), modTime: time.Unix(1491905519, 0)} a := &asset{bytes: bytes, info: info} return a, nil } -var _uiAppPartialsSilencesHtml = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xb4\x53\x4d\x6f\xd4\x30\x10\x3d\x6f\x7f\x85\xe5\x13\x1c\x42\x10\x2a\x97\x95\x13\xa9\x48\x20\x4e\x15\x12\xbf\xc0\xd8\xb3\xc9\x08\xc7\x0e\xf6\x64\x57\x2b\xca\x7f\x47\xfe\x48\x93\xb4\xd5\x22\xa1\xee\x29\xf1\xcc\xf3\x9b\xf7\x66\x3c\x42\xe3\x91\x29\x23\x43\x68\x78\xe7\xdd\x34\xf2\xf6\x66\xb7\x0e\x7a\xec\x7a\x8a\xc1\x9d\xf8\x31\x11\x39\xcb\x6c\x57\xf5\xa8\xa1\xe1\xa1\x77\xa7\x2f\xce\x0f\x9c\xd1\x79\x84\x86\x8f\x1e\x07\xe9\xcf\x3c\x22\x94\x41\xf5\xb3\xe1\xe4\xba\xce\x40\x04\xbd\x79\xcb\x59\x18\xa4\x31\xed\x3d\x9c\xd8\x77\x34\x60\x15\x88\x3a\x73\x3e\xa1\x8f\xc4\xff\x4d\xff\x15\x35\xb0\x18\x5a\x91\x8b\x5a\xe3\x71\x36\xf6\xbc\x40\x2a\x1f\xb2\xa4\xea\xe0\xfc\xc0\x02\x9a\x86\x97\x08\x6f\x45\xbd\x4e\x2e\x7c\xe5\x73\x93\x68\x51\x3f\xde\x08\xd5\xaf\x09\xa2\xd2\xd2\xc3\x78\x2b\xa4\xc6\x7a\x77\x4a\xc5\x94\x33\xd3\x60\x99\x72\x26\x34\xfc\x63\x12\xb0\x13\x68\xc7\x89\x8a\xd9\x00\xd2\xab\x9e\xb3\xd1\x48\x05\xbd\x33\x1a\xfc\x12\xb4\x5d\x35\x38\x0d\xa6\xe1\xb9\x4e\xa2\xac\x33\xe7\x73\xfa\x0f\x85\x3e\x80\x01\x45\xb3\xa6\x7c\x5a\x73\x39\xaf\xc1\x67\xec\x4e\xb8\x91\xd0\x59\x76\x94\x66\x8a\x6a\x48\x7a\x0a\x77\xc4\xdb\xf4\x27\xea\x9c\x7e\x11\x0b\x56\x27\x24\x58\x7d\x11\xa7\x3c\x48\x02\x1d\xa1\xe5\x77\x03\x17\x75\x56\xf8\xc4\x9b\xa8\x53\x0b\x37\x9d\x5f\x06\x5a\xda\xff\xce\x80\xed\xa8\x67\x4d\xc3\xde\xf3\xf6\xde\xb1\x39\xc1\x94\xb3\x07\xec\x26\x1f\x8b\x6d\x19\xca\x93\x7e\x89\x61\x3b\x5a\x83\x21\xee\xc3\x76\x4b\xa4\x22\x3c\x42\x35\x83\xf2\x44\xfa\xdb\x39\x4d\x3d\x5a\xde\xde\x25\x90\xa8\xfb\xdb\x94\x5e\x5d\x8f\x9c\x15\x12\x0c\x2c\xef\x60\x14\xe4\x61\x04\x49\xa9\x30\x43\xbb\x58\x78\x60\x07\x34\x04\x7e\x9f\x66\xbf\x1c\x7f\x67\x0d\x7b\xf2\x13\xfc\x61\x0f\x2c\x8d\xf3\xd3\x79\xbf\x1a\xeb\xfc\xc6\x1f\x9f\xf7\xea\x69\xe7\x3e\x97\x35\x29\xbd\xd9\x68\x1c\xc1\x6a\x8c\xad\xbe\xe8\xf1\x5b\x46\x5d\xcd\x64\x51\x71\x35\x97\x60\xe4\x18\x40\xff\xc3\xe5\xe7\x8c\xba\x9a\xcb\xa2\xe2\x15\x5d\x96\xcf\xdf\x00\x00\x00\xff\xff\xfa\x34\x5b\xc5\xef\x05\x00\x00") +var _uiAppPartialsSilencesHtml = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\xb4\x53\x4d\x6f\xd4\x30\x10\x3d\x6f\x7f\x85\xe5\x13\x1c\x42\x10\x2a\x97\x95\x13\xa9\x48\x20\x4e\x15\x12\xbf\xc0\xd8\xb3\xc9\x08\xc7\x0e\xf6\x64\x57\x2b\xca\x7f\x47\xfe\x48\x93\xb4\xd5\x22\xa1\xee\x29\xf1\xcc\xf3\x9b\xf7\x66\x3c\x42\xe3\x91\x29\x23\x43\x68\x78\xe7\xdd\x34\xf2\xf6\x66\xb7\x0e\x7a\xec\x7a\x8a\xc1\x9d\xf8\x31\x11\x39\xcb\x6c\x57\xf5\xa8\xa1\xe1\xa1\x77\xa7\x2f\xce\x0f\x9c\xd1\x79\x84\x86\x8f\x1e\x07\xe9\xcf\x3c\x22\x94\x41\xf5\xb3\xe1\xe4\xba\xce\x40\x04\xbd\x79\xcb\x59\x18\xa4\x31\xed\x3d\x9c\xd8\x77\x34\x60\x15\x88\x3a\x73\x3e\xa1\x8f\xc4\xff\x4d\xff\x15\x35\xb0\x18\x5a\x91\x8b\x5a\xe3\x71\x36\xf6\xbc\x40\x2a\x1f\xb2\xa4\xea\xe0\xfc\xc0\x02\x9a\x86\x97\x08\x6f\x45\xbd\x4e\x2e\x7c\xe5\x73\x93\x68\x51\x3f\xde\x08\xd5\xaf\x09\xa2\xd2\xd2\xc3\x78\x2b\xa4\xc6\x7a\x77\x4a\xc5\x94\x33\xd3\x60\x99\x72\x26\x34\xfc\x63\x12\xb0\x13\x68\xc7\x89\x8a\xd9\x00\xd2\xab\x9e\xb3\xd1\x48\x05\xbd\x33\x1a\xfc\x12\xb4\x5d\x35\x38\x0d\xa6\xe1\xb9\x4e\xa2\xac\x33\xe7\x73\xfa\x0f\x85\x3e\x80\x01\x45\xb3\xa6\x7c\x5a\x73\x39\xaf\xc1\x67\xec\x4e\xb8\x91\xd0\x59\x76\x94\x66\x8a\x6a\x48\x7a\x0a\x77\xc4\xdb\xf4\x27\xea\x9c\x7e\x11\x0b\x56\x27\x24\x58\x7d\x11\xa7\x3c\x48\x02\x1d\xa1\xe5\x77\x03\x17\x75\x56\xf8\xc4\x9b\xa8\x53\x0b\x37\x9d\x5f\x06\x5a\xda\xff\xce\x80\xed\xa8\x67\x4d\xc3\xde\xf3\xf6\xde\xb1\x39\xc1\x94\xb3\x07\xec\x26\x1f\x8b\x6d\x19\xca\x93\x7e\x89\x61\x3b\x5a\x83\x21\xee\xc3\x76\x4b\xa4\x22\x3c\x42\x35\x83\xf2\x44\xfa\xdb\x39\x4d\x3d\x5a\xde\xde\x25\x90\xa8\xfb\xdb\x94\x5e\x5d\x8f\x9c\x15\x12\x0c\x2c\xef\x60\x14\xe4\x61\x04\x49\xa9\x30\x43\xbb\x58\x78\x60\x07\x34\x04\x7e\x9f\x66\xbf\x1c\x7f\x67\x0d\x7b\xf2\x13\xfc\x61\x0f\x2c\x8d\xf3\xd3\x79\xbf\x1a\xeb\xfc\xc6\x1f\x9f\xf7\xea\x69\xe7\x3e\x97\x35\x29\xbd\xd9\x68\x1c\xc1\x6a\x8c\xad\xbe\xe8\xf1\x5b\x46\x5d\xcd\x64\x51\x71\x35\x97\x60\xe4\x18\x40\xff\xc3\xe5\xe7\x8c\xba\x9a\xcb\xa2\xe2\x15\x5d\x96\xcf\xdf\x00\x00\x00\xff\xff\xfa\x34\x5b\xc5\xef\x05\x00\x00") func uiAppPartialsSilencesHtmlBytes() ([]byte, error) { return bindataRead( @@ -285,12 +285,12 @@ func uiAppPartialsSilencesHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "ui/app/partials/silences.html", size: 1519, mode: os.FileMode(420), modTime: time.Unix(1483467521, 0)} + info := bindataFileInfo{name: "ui/app/partials/silences.html", size: 1519, mode: os.FileMode(420), modTime: time.Unix(1491905519, 0)} a := &asset{bytes: bytes, info: info} return a, nil } -var _uiAppPartialsStatusHtml = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x9c\x51\x31\x6f\xdb\x3c\x10\xdd\xbf\x5f\x71\xe0\xe2\xaf\x40\x68\x21\xc9\x66\x48\x1a\x9a\x25\x05\xea\xa5\x69\xb7\x2e\x14\x79\xb2\xcf\xa6\x49\x82\x3c\xa9\x15\x5c\xff\xf7\x82\x96\xac\xa8\x69\x81\x02\x9d\xf4\xee\xdd\xbb\xbb\xf7\xc4\xd2\x50\x0f\x6e\x27\xb5\x77\x1c\xbd\xb5\x18\x2b\xf1\xc2\x8a\xbb\xf4\xc4\xd1\x8a\xfa\x3f\x80\x72\x7f\x5f\x8f\x54\x59\xec\xef\xaf\x0c\xab\xc6\x62\x46\x19\x37\xde\x0c\x23\xce\x55\xbc\xc1\x5c\x98\xfa\x4b\x80\x44\x4e\x63\x59\xb0\xf9\xb5\x73\x3e\x43\x17\x98\x4e\x08\x3f\xc0\x28\xc6\xcd\x6a\x18\x86\x41\x6e\xb7\xd2\x18\x78\x7e\xde\x9c\x4e\x9b\x94\x56\x70\xb9\x2c\x47\xcb\xe2\x76\xa0\x2c\xe6\xc3\x65\x31\xf9\xb9\x9a\x7d\xa8\xdf\x77\x64\x0d\x90\x6b\x7d\x59\xec\x1f\xfe\x6a\x38\xc7\x8f\x18\x50\x71\x25\xfe\x3f\xe2\x70\x07\xbd\xb2\xef\x80\x1c\xf4\x18\x13\x79\xf7\xc1\xb5\x5e\xfc\x66\xfe\x88\xc3\x1b\x73\x73\xab\x57\xf6\x5f\x7c\x3f\x79\xd7\xd2\x6e\xf6\x1c\x22\xe6\x65\xfa\xca\x5e\xf7\x65\xe6\x26\xfe\xe4\x3b\x26\xb7\x83\xcf\x11\x71\x1e\xc9\x8f\xa9\xad\x4a\xa9\x12\x49\xb9\x24\x13\x46\x6a\xe1\x90\x64\x1c\xd5\x92\x23\xa2\xfc\x16\x55\x08\x18\xa7\x48\xcb\xa1\x43\x92\xa9\xdf\x01\x39\x4b\x0e\x65\x63\xbd\x3e\xce\xc1\xb3\x6e\x91\x94\x5c\xe8\xf8\x36\x67\x55\x83\x56\x5e\x29\x01\x3c\x04\xac\x04\xe3\x77\x16\x10\xac\xd2\xb8\xf7\xd6\x60\xac\x56\xe7\x84\xb1\x27\x8d\x95\x68\xbd\x97\x53\x21\xee\x20\x61\x8f\x91\x78\xa8\x84\x8e\xc4\xa4\x95\x15\x97\x15\x7c\x5d\x1c\x6b\x3a\x66\xef\xa6\xcd\x63\x21\x16\x9e\x5b\x72\x46\x9e\x14\xeb\xbd\xa8\xb7\xf9\x03\x1f\xb3\x21\x78\x41\x2e\x8b\x51\xfe\xfa\x10\x73\x8c\x19\xbe\x82\xa4\x23\x05\x86\x14\x75\x25\x2c\x35\x85\x79\x5c\xf7\x8f\xeb\x13\xb9\xf5\x21\x89\xba\x2c\xc6\xfe\x1f\xa5\xcb\x3f\xfc\x46\x3d\xed\xff\x19\x00\x00\xff\xff\xbb\xc2\x34\x25\x6b\x03\x00\x00") +var _uiAppPartialsStatusHtml = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\x9c\x51\x31\x6f\xdb\x3c\x10\xdd\xbf\x5f\x71\xe0\xe2\xaf\x40\x68\x21\xc9\x66\x48\x1a\x9a\x25\x05\xea\xa5\x69\xb7\x2e\x14\x79\xb2\xcf\xa6\x49\x82\x3c\xa9\x15\x5c\xff\xf7\x82\x96\xac\xa8\x69\x81\x02\x9d\xf4\xee\xdd\xbb\xbb\xf7\xc4\xd2\x50\x0f\x6e\x27\xb5\x77\x1c\xbd\xb5\x18\x2b\xf1\xc2\x8a\xbb\xf4\xc4\xd1\x8a\xfa\x3f\x80\x72\x7f\x5f\x8f\x54\x59\xec\xef\xaf\x0c\xab\xc6\x62\x46\x19\x37\xde\x0c\x23\xce\x55\xbc\xc1\x5c\x98\xfa\x4b\x80\x44\x4e\x63\x59\xb0\xf9\xb5\x73\x3e\x43\x17\x98\x4e\x08\x3f\xc0\x28\xc6\xcd\x6a\x18\x86\x41\x6e\xb7\xd2\x18\x78\x7e\xde\x9c\x4e\x9b\x94\x56\x70\xb9\x2c\x47\xcb\xe2\x76\xa0\x2c\xe6\xc3\x65\x31\xf9\xb9\x9a\x7d\xa8\xdf\x77\x64\x0d\x90\x6b\x7d\x59\xec\x1f\xfe\x6a\x38\xc7\x8f\x18\x50\x71\x25\xfe\x3f\xe2\x70\x07\xbd\xb2\xef\x80\x1c\xf4\x18\x13\x79\xf7\xc1\xb5\x5e\xfc\x66\xfe\x88\xc3\x1b\x73\x73\xab\x57\xf6\x5f\x7c\x3f\x79\xd7\xd2\x6e\xf6\x1c\x22\xe6\x65\xfa\xca\x5e\xf7\x65\xe6\x26\xfe\xe4\x3b\x26\xb7\x83\xcf\x11\x71\x1e\xc9\x8f\xa9\xad\x4a\xa9\x12\x49\xb9\x24\x13\x46\x6a\xe1\x90\x64\x1c\xd5\x92\x23\xa2\xfc\x16\x55\x08\x18\xa7\x48\xcb\xa1\x43\x92\xa9\xdf\x01\x39\x4b\x0e\x65\x63\xbd\x3e\xce\xc1\xb3\x6e\x91\x94\x5c\xe8\xf8\x36\x67\x55\x83\x56\x5e\x29\x01\x3c\x04\xac\x04\xe3\x77\x16\x10\xac\xd2\xb8\xf7\xd6\x60\xac\x56\xe7\x84\xb1\x27\x8d\x95\x68\xbd\x97\x53\x21\xee\x20\x61\x8f\x91\x78\xa8\x84\x8e\xc4\xa4\x95\x15\x97\x15\x7c\x5d\x1c\x6b\x3a\x66\xef\xa6\xcd\x63\x21\x16\x9e\x5b\x72\x46\x9e\x14\xeb\xbd\xa8\xb7\xf9\x03\x1f\xb3\x21\x78\x41\x2e\x8b\x51\xfe\xfa\x10\x73\x8c\x19\xbe\x82\xa4\x23\x05\x86\x14\x75\x25\x2c\x35\x85\x79\x5c\xf7\x8f\xeb\x13\xb9\xf5\x21\x89\xba\x2c\xc6\xfe\x1f\xa5\xcb\x3f\xfc\x46\x3d\xed\xff\x19\x00\x00\xff\xff\xbb\xc2\x34\x25\x6b\x03\x00\x00") func uiAppPartialsStatusHtmlBytes() ([]byte, error) { return bindataRead( @@ -305,12 +305,12 @@ func uiAppPartialsStatusHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "ui/app/partials/status.html", size: 875, mode: os.FileMode(420), modTime: time.Unix(1483467521, 0)} + info := bindataFileInfo{name: "ui/app/partials/status.html", size: 875, mode: os.FileMode(420), modTime: time.Unix(1491905519, 0)} a := &asset{bytes: bytes, info: info} return a, nil } -var _uiBindataGo = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xcc\xbd\xdd\x8f\x1c\xc9\x75\xf6\x79\x4d\xfe\x15\xfd\x0e\xf0\xbe\x20\x17\x23\x4e\x66\x46\xe4\xd7\x00\xba\xb0\x65\x1b\xab\x05\x6c\x2f\x6c\xed\xd5\xd6\xc2\x88\xc8\x8c\x18\xb7\xcc\x8f\x71\x37\x29\x97\x24\xe8\x7f\x5f\x3c\x27\x7e\xa7\xa3\x86\xc3\xd1\xc8\xd4\xd8\xaf\x2e\xc8\x26\xab\xab\xb2\x32\x23\x4e\x9c\xcf\xe7\x3c\xe7\xab\xaf\xee\x7e\xf1\xee\x2c\x77\xdf\x94\xb7\xe5\x21\xbd\x2f\xe7\x5d\xfe\xed\xdd\x37\xef\x7e\x96\xef\xdf\x9e\xe9\x7d\x7a\xf5\xfc\xab\xaf\xee\x1e\xdf\x7d\x78\x38\xca\xe3\xd7\xfa\xf7\x87\xfb\xaf\xd2\xb7\xdf\x7e\x75\x3c\x3e\x7e\xf5\x26\xdd\xbf\x7d\x75\x3c\x3e\xde\xbc\x7c\xff\xe6\x9b\xaf\x6a\xfa\xcd\xfd\xf1\xee\xed\xab\xfb\xe3\xdd\xed\x6f\xde\x9e\xe5\xfa\xea\x5f\xdf\xbf\x79\x7d\xf3\xe2\xaf\x1f\xf5\xe3\xd5\xaf\x6f\x2f\xf1\x6d\x7a\x78\x7f\x9f\x5e\x3f\x7e\x95\x5e\x97\x87\xf7\x1f\x7f\xe2\xbb\xbf\x7d\xfc\xc1\x5f\x3f\xbc\xfb\xf0\xbe\xfc\xe0\x6f\x1f\xef\x5f\x97\xb7\x47\xf9\x59\x7d\xf7\xf0\xe6\xc7\xde\xf4\x63\xbf\xff\xe1\x7b\x78\x7c\x9f\xde\x7f\xf8\xce\xaf\x7d\x51\xbf\xf1\x95\x79\x7d\x9f\xbf\x4a\x6f\xbf\xf9\xf0\x3a\x3d\xfc\xec\xcd\xbb\x37\xe5\xed\xfb\x57\x6f\xee\xdf\xf6\x05\xb9\xfd\xfd\x43\x69\xfb\xf0\x47\xde\x61\x0f\xfd\x83\xbf\x7e\x4c\x6f\xef\xdf\xdf\xff\xee\x87\xdf\xf1\xfd\x5f\x9c\xe1\xd5\x6f\xc2\xf7\x5f\xfe\xf5\xbf\x7f\x28\x0f\xbf\xfd\xfe\xeb\xff\xf6\x21\xb7\xab\x77\xa9\xd0\xcb\x3f\xf4\x64\xba\xdf\xfb\xb7\xdf\xfc\xec\xfd\x43\x29\xfd\x37\xff\x51\x32\x0b\xf4\x37\xff\x78\xf7\x0f\xff\xf8\xab\xbb\xbf\xfd\x9b\x5f\xfe\xea\x7f\x3c\x7f\xfe\x6d\x3a\xfe\x2d\x7d\x53\xee\x3e\xdc\x3f\x7f\x7e\xff\xe6\xdb\x77\x0f\xef\xef\x5e\x3c\x7f\xf6\x45\xfe\xed\xfb\xf2\xf8\xc5\xf3\x67\x5f\x1c\xef\xde\x7c\xfb\x50\x1e\x1f\xbf\xfa\xe6\x77\xf7\xdf\xea\x85\xfa\xe6\xbd\x7e\xdc\xbf\x6b\x7f\x7f\x75\xaf\xaf\x7b\xad\xff\xbc\xb3\x0f\x7c\x9b\xde\xff\xeb\x57\xf5\xfe\x75\xd1\x3f\xf4\xc2\xe3\xfb\x87\xfb\xb7\xdf\xd8\xef\xde\xdf\xbf\x29\x5f\x3c\x7f\xf9\xfc\x79\xfd\xf0\xf6\xb8\x63\xdf\xfe\xa9\xa4\xf3\x85\xfe\x71\xf7\xff\xfe\x7f\xfa\xda\x2f\xef\xde\xa6\x37\xe5\xae\x7d\xec\xe5\xdd\x0b\x7f\xb5\x3c\x3c\xbc\x7b\x78\x79\xf7\xfb\xe7\xcf\xbe\xf9\x9d\xfd\xef\xee\xeb\x9f\xdf\xe9\xae\x5e\xfd\x43\xf9\x0f\x5d\xa4\x3c\xbc\xb0\xdb\xd6\xff\xff\xfa\x43\xad\xe5\xc1\x2e\xfb\xf2\xe5\xf3\x67\xf7\xd5\x3e\xf0\x3f\x7e\x7e\xf7\xf6\xfe\xb5\x2e\xf1\xec\xa1\xbc\xff\xf0\xf0\x56\xff\xfd\xf2\xae\xbe\x79\xff\xea\x6f\x75\xf5\xfa\xe2\x0b\x5d\xe8\xee\x7f\xfe\xfb\xd7\x77\xff\xf3\x37\x5f\xb4\x3b\xb1\xef\x7a\xf9\xfc\xd9\x1f\x9e\x3f\x7f\xf6\x9b\xf4\x70\x97\x3f\xd4\xbb\xf6\x3d\xed\x4b\x9e\x3f\xfb\x97\x76\x3b\x3f\xbf\xbb\x7f\xf7\xea\x17\xef\xbe\xfd\xed\x8b\xff\x95\x3f\xd4\x2f\xef\xbe\xf9\xdd\xcb\xe7\xcf\x8e\xd7\x7f\xeb\x77\xfa\xea\x17\xaf\xdf\x3d\x96\x17\x2f\x9f\xff\x54\xf7\xa3\xcb\xb4\xeb\xff\xc0\x85\xca\xc3\x43\xbb\x6f\x5e\xcc\x1f\xea\xab\xbf\xd6\xad\xbf\x78\xf9\xa5\xde\xf1\xfc\x0f\xcf\x9f\xbf\xff\xed\xb7\xe5\x2e\x3d\x3e\x96\xf7\x5a\xf2\x0f\xc7\x7b\x5d\xc5\x9e\x8f\xfd\x78\xfe\xec\xfe\x6d\x7d\x77\x77\xf7\xee\xf1\xd5\xdf\xdd\xbf\x2e\xbf\x7c\x5b\xdf\x3d\x7d\x8e\x2d\xf4\xd7\x6f\xae\x60\x7b\x78\x77\xc7\x36\x3e\x7f\xf6\x78\xff\x3b\xfb\xff\xfd\xdb\xf7\x4b\x7c\xfe\xec\x8d\xb4\xe3\xdd\xd3\x45\xff\xfe\xdd\x59\xec\xc5\x5f\xdd\xbf\x29\x77\x12\x93\x57\xfa\x97\xbe\xc7\x44\xe5\x45\xbd\xff\xf8\xbb\x5e\xde\xfd\x43\x7a\x53\x5e\xbc\xe4\x1b\xf4\x9d\x3c\x65\xbd\x7f\xa5\x6f\x7f\xfe\x87\x3f\xf2\xd9\x7f\xbe\xff\x9d\x3e\x6b\x77\xf3\xdd\x8f\xea\x46\xff\xe8\x47\x75\xaf\x2f\x5e\xde\xde\xf9\x77\x2f\xa0\x47\xfb\xb1\x0b\xe8\xe1\x5e\xbc\xec\x0f\xfa\xbd\x2b\xf0\xf4\x3f\x7c\x91\x5f\x3e\xfe\xcd\xfd\xc3\x8b\x97\x77\xf9\xdd\xbb\xd7\xb7\x9f\x4e\xaf\x1f\x7f\xe4\xc9\x7f\xfb\xd8\x1e\xbc\x3c\xd4\x74\x94\xdf\xff\xe1\xe6\xd3\x88\x84\xa4\xfc\x5f\x3e\xdc\xff\xd5\xb7\xdf\xfe\xe2\xf1\xf1\xef\xd3\xfd\xdb\x5f\x3c\x3e\xde\xfd\x1c\x71\x78\xf1\xc5\xe5\x3a\xd6\xcb\x75\xcb\x97\xeb\xb0\x5d\xae\xc3\xf0\xe9\x3f\xb5\x5e\xae\x7b\xbc\x5c\xe7\xf5\x72\x3d\xf2\xe5\xba\x94\xcb\xb5\x84\xcb\x35\x2c\x97\xeb\xb8\x5e\xae\x73\xb9\x5c\x8f\xf5\x72\x8d\xf5\x72\x5d\xc7\xcb\xb5\x96\xcb\x75\xd8\x2f\xd7\x61\xb9\x5c\xeb\x7e\xb9\x8e\xe1\x72\xdd\xb7\xcb\x75\x4b\x97\x6b\x3a\x2e\xd7\x3c\x5e\xae\x65\xba\x5c\xb7\xa3\xfd\x99\x4a\xfb\x9d\xae\x9b\xd3\xe5\xba\xef\xfd\xb5\xc2\xcf\x79\xbf\x5c\xe7\xe1\x72\x2d\xb1\x7d\x3e\x9e\x97\xeb\x16\x2f\xd7\x69\xb9\x5c\xe7\xb9\xbd\x27\xea\xbe\x8e\xcb\x75\x28\x97\x6b\x9d\x2e\xd7\x31\x5d\xae\xeb\x79\xb9\xee\xeb\xe5\x9a\xf4\x5a\x6a\xd7\xb5\xd7\xf4\xfd\x53\x7b\xae\x49\xf7\xb6\x5f\xae\x79\xba\x5c\x17\xdd\x5f\x6c\xdf\xa5\xf7\xd6\xe5\x72\x9d\xc6\xcb\xf5\xa8\x97\x6b\x39\x2f\xd7\x90\xdb\x3a\xec\xf3\xe5\xba\xeb\x5e\xf5\xfa\x70\xb9\x9e\xb9\x7d\x77\x5c\x2e\xd7\x5c\x2f\xd7\x34\x5d\xae\xe7\x7e\xb9\xc6\xed\x72\xad\x67\x7b\x5d\xf7\x37\xcc\x97\xeb\x19\x2f\xd7\xe3\xb8\x5c\x97\xed\x72\x9d\xf6\xcb\xf5\x5c\x2f\xd7\xac\x35\xca\xed\xbe\x74\x1f\x76\xcf\xe7\xe5\x7a\x8e\x97\xeb\xa0\x75\x9f\x2f\xd7\x21\x5f\xae\x79\xbb\x5c\xcf\xb3\xdd\x5f\x5d\xdb\x7a\x2e\xeb\xe5\x5a\x6a\xbb\x86\xbe\x53\xcf\xaf\xeb\xc6\xb5\xed\xd3\xa9\xef\x49\x97\xeb\x91\x2e\xd7\xcc\x3a\xea\x7e\x07\xad\xd1\xd2\xae\xb9\xad\x97\xeb\x74\x5c\xae\xc7\xde\xf6\x70\x40\x2e\x96\x78\xb9\x8e\xfb\xe5\x1a\xb4\x0f\xf5\x72\x8d\x73\x7b\xdf\x1c\xda\xf7\x0f\x47\x7b\xed\xd4\x4f\x5d\x5f\xf7\x3c\xb7\x67\x1d\xf5\x3d\xe1\x72\x9d\xf5\x3d\xf9\x72\x4d\xeb\xe5\xba\xcc\xed\x3e\xb5\x9f\x5a\x53\xed\xb9\xe4\x48\xef\xd1\x35\xe7\x7c\xb9\x6e\xc3\xe5\x7a\xc4\xcb\x75\xd3\x73\x9e\xfd\x7d\xda\x0b\xad\x9d\xf6\x68\x9b\xdb\x33\x4d\x43\xfb\x77\x59\xdb\xbe\x05\xc9\xc1\x74\xb9\x0e\xa9\xc9\x65\xd4\xfe\xea\x5a\x63\x5b\x17\x3d\x8f\x64\x3d\xeb\x1e\xc3\xe5\x3a\x85\xcb\x75\x3c\x2e\xd7\x14\xda\x1a\xeb\xe7\x34\xb7\xd7\x24\x87\x81\xef\xd4\xf5\xb4\x1f\x76\xdd\xe1\x72\x9d\xf5\xff\xb1\xad\x6f\x9a\xdb\xba\x69\x2d\x47\xc9\xc5\xd8\xee\x41\x6b\x11\x87\xcb\x75\x95\x6c\xe9\x33\xcb\xe5\x9a\x72\xfb\xbd\xce\x47\x1d\x2e\xd7\x50\x9b\x3c\xa7\xda\xee\x5f\xff\x9e\x63\x5b\x9f\x05\x99\x4b\xac\xa9\xae\x3d\xeb\x7c\xe9\x39\xb5\xe6\xd3\xe5\xba\xb2\x66\xfb\x72\xb9\x96\xb9\xdd\xfb\xc4\x1a\x6b\x7f\x76\xc9\x82\xe4\x64\x6f\x9f\x9d\xa6\xf6\xbb\x63\xbb\x5c\x97\xc0\x59\xd6\xf7\xec\x4d\x8e\x75\x66\xa6\xf3\x72\x5d\x97\x26\xff\x5a\x2b\x9d\x5f\xc9\xbc\xce\x8f\xe4\x5f\xf2\xa8\xf7\x6f\xa5\x5d\x63\x8d\x97\x6b\xd2\x9f\xad\x7d\x56\xdf\xa5\xfb\x8e\x7a\x86\xa9\x3d\xa7\x9e\x6f\x08\xed\x8c\x48\x06\xe3\xd8\xe4\x59\xfb\xbe\x6d\x6d\xed\x75\x56\xca\xd8\xf6\x7e\x1d\xda\xfd\xda\x59\x9b\xda\x73\x68\x4f\x96\xa1\x7d\x46\x67\x56\xfb\x9a\x38\x4f\xba\xae\xfe\xad\xfd\x90\x4e\xd0\x79\x93\x9c\xac\x92\x8b\xa5\xc9\x94\xcb\xf7\x7c\x34\xb9\x19\x39\xcf\x92\x51\x9d\x8d\xc4\xd9\xd3\xf7\x4a\x9e\x75\x46\x82\x64\x25\xb7\xeb\x6a\xcf\x75\x8f\xda\x1f\xc9\xbd\xf6\x30\x84\xf6\x9a\x9e\xfb\x28\xed\xfe\x6d\xed\x42\x5b\x93\x88\x9c\x69\x6d\x24\x8b\xb6\xe6\xb9\xe9\xcb\x11\xb9\xdd\x43\x3b\x5b\xda\x57\xe9\x00\xed\x83\xae\x61\xfa\x76\x68\x7b\x26\x7d\x27\x59\x91\x7c\xdb\xf9\x9a\x9a\x1c\x69\xdf\x75\xcf\xf1\x68\xcf\x51\xa4\x33\xa5\xcb\xc7\xa6\x03\xeb\xd1\xd6\xb3\x8e\x4d\x4f\xae\x73\x7b\xff\x88\xdc\x6b\x8f\x24\x93\xd2\x7f\xba\x4f\xc9\xd4\xce\xb3\xe9\xfc\xd7\xdc\x9e\x43\xcf\xa3\xf3\xa3\xf3\xa8\x7d\xd3\xf5\xa5\xef\xa5\xe3\x75\x2f\x27\x67\xf2\x5c\xda\xb3\xd9\x79\xce\xed\xda\xa6\x27\xe6\xa6\xbb\x75\xa6\x53\x6a\xe7\x51\x6b\xab\xb5\xd3\x4f\xad\xad\xce\xb3\xce\xa7\xf4\xb3\xbe\x6b\xdd\x9a\x7d\xd0\xf9\xd7\x1a\x68\xdd\x56\x97\xdb\xe5\x72\x0d\x47\x3b\x53\x33\xcf\x17\xa4\xfb\x62\xfb\xce\x89\xbd\xb4\x73\xb5\x36\xfb\x10\x74\x0d\xbf\xef\xb9\xc9\xcf\xc1\x79\x2c\x4b\x3b\xeb\x83\xee\x6f\x69\xfb\x66\x3a\x68\x6d\xbf\x4f\x43\x7b\x4d\xdf\xad\x9f\xd2\xbb\xa6\x47\xb5\x96\x53\xd3\x6b\xe1\x6c\xef\xd7\xd9\x32\x9d\xba\xb4\xf3\x73\xd6\xb6\xa6\x67\x69\xb6\x74\x9d\xda\x7b\x75\xaf\x25\x37\x5d\xad\xd7\xb5\x0e\x92\x01\xe9\xeb\x2d\x34\x7d\xaa\x33\x27\xd9\xd7\x77\x2d\xd2\xe1\xa1\xd9\x84\x95\xf7\xe9\x8c\x6a\x3d\xb5\x3f\x3a\x07\x5a\x47\xe9\xa8\xb1\xb4\x7d\xd1\x4f\xdd\x9b\xce\x5b\x46\xb7\x6b\x3d\x57\x5d\x97\x33\x66\x3a\x1f\xfb\x63\x76\x2f\x74\xd9\x37\x9d\x1e\xdb\x3e\xc9\xde\xd9\xe7\x4e\x6c\x41\x45\x97\xe5\xf6\x7e\xd9\x42\xad\xdf\x71\x36\xfb\x51\xd1\x19\xba\x0f\xe9\x18\x9d\xb9\x98\x9b\xbc\x9b\x0d\xa9\xed\x3a\xba\x07\xd3\x33\x43\x7b\x4d\x72\x2c\x9b\x68\x7a\x7d\x6c\x76\x5a\x72\x25\x9d\xb0\x96\xb6\xfe\xba\xb6\x9d\x8b\xbd\xc9\x99\x3e\x2b\x7d\xad\x33\xa5\x3d\x97\x9c\xca\x06\xe9\x7c\x4b\xff\x4c\x99\x73\x8b\x3f\x31\xa1\x83\xa5\x2b\xa5\x5f\xb5\xb6\x92\x4f\xe9\x84\x65\x6f\xd7\xd6\x5e\xca\x66\x8d\xac\xb9\x6c\xab\xe4\x4c\x72\xaa\x6b\x4a\xc7\xe5\xa3\x9d\x31\xc9\xbb\xee\x49\xe7\x50\x67\x43\x67\x55\xcf\x2d\x9b\x25\xbd\xb2\x21\x6b\xb2\x19\x3a\x57\x13\x76\x49\xf7\x27\x9d\x7f\xa2\x2f\x67\xec\xb0\x7e\x2e\xc8\xb5\xce\xcc\x9a\xdb\x1a\xe8\xbe\x65\x4f\x74\xcd\x84\x3e\x0b\xd8\x15\xb3\x0f\xb5\xdd\xc3\xbc\xb5\xf7\xeb\x99\xa5\x0f\xa4\x2f\x6d\x9d\x32\xbe\xd7\xdc\x74\xff\x8a\xbd\xd3\x75\xdc\xbe\x9a\x7e\x38\xdb\x7e\x4b\x36\xed\x3e\x42\xf3\x05\xa5\x67\xb5\x0e\x76\xbf\x11\x5f\x26\x62\x3b\x96\xb6\x9f\xb9\xb4\x7d\x96\x7f\xb3\x70\x6d\x9d\x05\xf3\xe5\xe6\x76\x6e\x75\xaf\xb2\x89\xda\x67\xc9\xd8\x89\x3e\xd4\xfb\x47\x9d\x03\x7d\x6e\x69\xf7\xa0\xf5\x95\x3e\x34\x5b\x1a\xda\x6b\xe7\xd0\x64\xcf\xec\xcd\xda\xd6\x43\xbe\xe8\x18\x9b\x8c\x9e\xa9\xad\x53\x58\x9b\xcc\x9f\xf8\x59\xb2\x25\xd2\xd3\x1b\xaf\x4b\xa6\x74\x2d\x9d\x09\xf3\xb3\x74\x0e\x87\xb6\xe6\xb6\xb6\x5b\xfb\xf7\xc6\x9a\xe8\xdc\x6a\x8d\x0b\xfe\xa5\xf6\x59\xf7\xad\x33\x27\xd9\x5f\xb9\x27\x5d\x43\xba\x58\x67\xdc\xd6\x03\x7f\x4c\xf7\xae\xef\xd0\xb3\xc9\x36\x49\xb7\xea\x99\xe4\x8f\xcc\xf8\x18\x15\xfd\xaa\x7b\x94\x6d\xd4\x6b\x66\x97\xa6\xe6\xd3\x68\x0f\x75\x3d\x9d\x6d\x3d\xe7\xcc\x1a\xc9\x1e\xcb\xcf\x5d\xb0\x1d\xe6\xff\x20\xc3\x81\x3d\x97\x2f\x20\xbf\x42\xba\x5e\x7e\xaa\xf6\x5e\xfb\x2b\x9b\x22\x19\x97\x1e\x92\xfe\x93\x5e\x32\xfb\x3b\xb4\xfb\x97\xfe\xd3\xda\x69\x6d\xcd\x0e\xe0\xaf\x24\x6c\x8f\xf9\xc7\xf8\xaa\x7e\x9e\x26\xce\x92\xeb\x45\x3d\xbb\x74\x95\xed\x5f\x6c\xf2\x61\x3a\x76\x6e\xfb\xa6\xfb\x90\xbe\x97\x8d\xb2\xbd\xb8\xf1\xc3\xcd\x1e\xcc\x6d\x5d\x74\x3f\xd2\xa5\x0b\x7a\x45\x76\x2e\xa0\x4f\xa4\x83\xb4\x5f\xe6\x3b\xad\xcd\xc6\x15\x6c\x99\x7c\x07\xfd\x5f\xba\x7f\x3d\xf0\x87\x43\xff\x4e\xc9\x8f\xc9\xdd\x88\x9d\x5d\xdb\x7d\xcb\xee\x48\xf6\xa4\x87\x75\xcd\x13\xff\x4e\x7a\x5f\xe7\x53\x7a\x73\xe1\xfc\x56\xee\x41\xbe\x98\xc5\x3e\x07\x7e\x53\x6d\x6b\xa1\x35\x3c\xd1\x7b\x92\xad\x83\x78\x44\xb2\xa4\x33\xa3\xfb\x90\x8d\x92\x6e\x57\x6c\x26\x5d\x20\x7b\x21\x3b\x23\x5b\x2b\xfb\x63\x31\x0b\xb1\x80\x7c\x19\xdb\x37\xce\x8e\xfc\xd7\x13\xf9\x96\x4d\x36\x9f\x22\xb5\x7b\x91\x0f\x2f\x99\xde\xf1\x1d\xa5\x1f\xb4\x7e\xfa\x5e\xf9\x93\xd2\x19\xba\x4f\xd9\x6f\x7d\x97\xae\x65\xf7\x9d\x9b\x3f\xa5\x67\x93\x6e\x97\xae\x97\x6e\x9d\xf1\xc1\x32\x3a\xd5\x7c\xe4\xad\xf9\x46\x7a\x4e\x9d\x3d\xf3\x7d\x72\x7b\x1e\xe9\x65\xbd\xa6\xb5\x0a\xc4\x3e\x3a\x33\x27\xf1\xce\x80\xbf\xf2\xa4\x3b\xcf\x66\x97\xcd\xa7\xd9\x9b\xfe\x58\xf1\xf9\xa5\x37\x37\xbe\xe3\x64\x7d\xcc\x2f\x74\xff\x2d\xe1\x13\xee\xcd\xf6\xea\x3c\xea\x79\xf4\xbc\xb2\x15\xd2\x7d\x92\x09\xd3\xad\xb1\xad\x8f\xc5\x36\xb5\x7d\x4e\xeb\x24\x39\xd1\xe7\x74\x9f\x66\x63\x73\x5b\x3b\xc9\x9d\xe2\x54\xc9\x93\xbe\x5f\xbe\xba\xfc\xc3\x8d\x98\x40\x72\xbf\x63\xcf\xe4\xe7\xe8\x3c\x49\x37\x4a\x67\xe8\xbe\x14\x4f\x99\x9d\x88\xbc\xff\x68\x7b\x64\xba\x3f\xb5\xbd\xd3\xda\xea\x79\xcc\xfe\xe6\x26\x03\x3a\x2f\xf2\x77\xb4\x8f\x92\x11\x3d\x9b\xce\x8d\x3e\xaf\xb5\x89\xe8\x5e\xd9\xbe\x99\xd7\x2a\xfa\x43\xcf\x36\xbb\x5e\x08\xcd\xc6\xea\x99\x25\x9b\x92\x11\xd9\xd5\x9d\xfd\x95\xad\x4a\x9c\x73\x8b\xcd\xc6\x66\x3b\xb4\xb6\x67\xec\xeb\xa0\xf5\xd7\xbd\x99\x0d\x5f\x9a\xbc\x9e\xc8\xb4\xd6\x59\xfa\x47\x36\x23\x71\x4d\x5b\xaf\xa9\xc9\x97\x9d\xb9\xb3\x3d\xaf\xce\x59\x2d\xcd\x86\x58\x0c\x90\x9a\xae\xd5\x19\xd2\x3d\x28\x8e\x92\x4e\xb3\xb8\x64\x6e\x7e\xac\xd6\x71\x22\x4e\x90\x0f\xac\xfb\x5e\xf0\x71\xb4\xdf\x92\x3b\x5d\x53\x7a\xdf\xe2\x82\xda\xf4\xa0\x74\xab\xfc\x44\xe9\x5d\xdd\x9f\x74\xb0\xfe\xc8\xe7\x91\x5f\x63\x9f\xc3\x47\x31\xbb\xb7\x36\x79\x9b\xf1\x5d\x65\x87\xf4\x1c\x26\xb7\xf8\xcb\x5a\x77\xf9\x7c\xb3\xc7\x6b\x8a\x6d\xd1\x4d\x5a\x8f\x81\xfb\xd0\x39\xd3\xef\x6c\xbd\x6a\x7b\x46\x9d\x33\xf9\x1d\xe6\x37\xe5\xa6\x83\x16\x7c\x93\xc4\xfa\xe8\x5e\x65\x3f\x6d\xad\x96\xf6\x1d\x26\x9f\xe4\x67\x16\xf4\xb6\xfb\x84\x16\xaf\xd4\x76\x46\x14\x03\x59\x7e\x21\x35\x1d\x26\x3f\x4b\x7b\x37\x92\xbf\x39\xf0\xff\x2b\xe7\x57\xef\x93\x3f\xa2\x6b\x6e\xf8\x59\x2e\x7f\xd2\xbd\xb6\x5e\xb5\x7d\x9f\x74\x9f\xe9\xc3\xb3\xad\xa9\x74\x93\xec\x81\xfb\x5a\x7a\x8f\xce\x84\xc5\x10\xb5\x5d\xc7\xbe\x33\x37\xdd\x34\xf2\x3c\x76\x16\xd6\xee\xd7\x49\x37\xc8\x1e\x69\x4f\x23\x39\x03\xf9\x26\x92\x65\xf9\x5d\xfa\x63\xfa\x64\x6b\xba\x64\x24\x66\xb0\x3c\x0c\x36\x49\x36\x79\xc5\xcf\xd2\x39\x52\x9c\x36\xa1\x87\x57\x6c\x80\xe4\x55\xf7\x65\xb1\xd9\x8c\x7f\x7e\x36\x9b\x5b\xb9\x86\xd9\xb2\x81\xef\x28\x6d\x5f\x07\x74\xac\xee\xcf\xce\x6f\x68\xf9\x1c\x8b\xfd\x32\xb1\x1f\xb1\x8b\x9e\xd9\x7c\xa0\xcc\xf5\x63\xd3\x69\x91\x38\x2c\xb0\xf7\x0b\x76\x40\xeb\x6b\x7e\x2b\x76\xbe\x12\x4b\xe9\x79\x2d\xde\x3f\xdb\x19\x2e\xf8\x29\x92\x47\xd9\x03\xad\x89\xbe\x47\x7a\x52\xfa\x7a\xc4\x66\x4b\x56\xb4\x5f\xfa\x9c\xc5\x52\xe4\xa1\xcc\x26\x11\x37\x5b\x2e\x6f\x6a\x67\x4f\xbe\x90\xfc\x32\xf9\x76\x92\x27\xe9\x3e\xf9\x63\x66\x97\x52\x8b\xa3\x65\x6f\x2c\xb6\xcd\x4d\x86\x13\x3e\xbf\xdd\xdf\x48\xac\x75\x36\xd9\xd0\xfd\xeb\x5e\xcc\xae\xae\x6d\x9f\xb5\x8f\xd2\x99\xb6\xfe\xc4\x51\xd2\x2f\x95\x3c\x80\xce\x9b\xd6\x59\xb1\x4e\x21\x56\x28\xf8\x9c\x85\x7c\x9b\x9e\x51\x71\xbd\xe5\x15\xb6\x76\x8f\x23\x7e\x8e\xce\xbb\xc5\x82\xc4\xb9\x3a\x3b\x66\x9b\xc9\x61\xea\xb3\xfa\xa3\xff\x2b\x76\x91\x6e\xf6\x7b\x88\xe4\x5e\xe4\x1b\x6c\xe4\x50\xf4\x1d\xf2\xbb\x75\x1d\xed\xa1\xe2\x49\xad\x95\xd9\x80\xb3\xdd\xa7\xf9\x70\xb9\xe9\x7a\xc9\x9a\xe4\x5f\x3a\x44\x6b\x2d\x59\xb0\xb3\x42\xae\x47\x7a\x49\xbe\x9a\xe2\x2f\xc9\x80\xd6\x44\x3e\x8e\xf9\xcb\x5c\xc3\xfd\x61\xc9\x89\x64\xc1\xfc\x94\xad\xe9\x1a\xd3\xf9\xf8\x69\xda\xdb\xcc\x9e\xeb\xfe\xcc\x46\xac\xcd\xaf\x93\xff\xab\x78\x59\x3e\x9f\x7c\x14\xcb\xbb\x2c\xed\xfe\x47\x74\xfa\x8a\x4d\x92\x7c\x9a\x6f\x90\xda\xbe\xe9\x8c\x68\x4d\x65\xeb\x75\x16\x65\x33\x46\xce\xed\x46\x9e\x52\x36\xdb\xbe\x83\xfc\x88\xd6\x4c\x3e\x91\xf4\x4b\xe5\x6c\x1e\x43\xd3\x2f\xf2\x27\x75\x86\x65\x07\xcc\x97\xc7\xf7\x96\x4e\xd6\xfa\xe9\x33\x13\xbe\x9d\x3f\xdf\x18\xbe\x9b\xd7\xd4\xd9\x95\x0e\xba\xcd\x4b\x9b\xbf\x95\xda\xb9\x0d\xc4\x23\x92\xb5\xf1\x29\x7f\xfd\x85\x17\xa9\x3e\x4a\x83\x53\x3d\xf9\x54\x55\xca\x6b\x2c\x37\x55\xad\xe7\xcf\x9e\x7d\x9c\x47\xff\xf2\xf9\xb3\x67\x5f\x7c\xa2\xdc\xfb\xc5\x97\xcf\x9f\xbd\x7c\xaa\x77\x7c\xf4\x21\x7d\xe1\xff\x61\x35\x9a\xdb\x2f\xb4\x22\xcd\x53\x25\xec\xd3\x37\xfa\x63\xa5\xa6\xa7\x0a\x91\xd5\x78\xbe\xfe\xf9\xc7\xf5\x82\xdf\xbf\x4d\x6f\xca\xd7\x77\x9f\xbe\xe3\xbb\xc7\xfb\xdf\x95\xaf\xef\x62\x88\xe3\x97\x77\x6f\xde\x9d\xe5\xeb\xdb\xaa\xc8\x8b\x38\x0d\x2f\xed\xf5\x5f\xdd\xeb\x1a\x56\xec\xf8\x7f\xde\xde\x5f\x5f\x8c\x71\x0b\x71\x59\xe7\x69\xfc\xf2\x6e\x78\xf9\x87\xe7\xcf\x92\xbe\xf9\x7f\xd9\x03\xfe\xde\x9e\xea\xeb\x3b\x1e\x4e\xb7\xf5\xb5\xfd\xfd\x87\xa7\x15\x4e\x5f\x7e\xbf\x50\xf1\xcb\x37\xdf\xfc\x5d\xab\x90\xff\xf2\x78\xf7\x59\xb5\x0a\xe9\x62\xc9\xb6\x6c\xe8\x8e\xed\x96\x5e\x19\xdd\x87\x24\x8f\x3a\x93\x3f\x98\xc8\xe9\x5a\x1c\x4e\x3c\x1b\xdd\x9f\xc5\xaf\x4c\xf8\x8b\xf2\xe1\x16\xe2\x79\xcb\xfb\x04\xde\xcf\x67\xf4\x3d\xd2\x1b\x7a\x5d\xe7\x6d\x22\xd7\x34\x10\xbb\x48\xc6\x2d\x67\x3d\x35\xfd\x3c\x90\x2b\xd2\xef\x0e\x72\x03\x09\x1d\x1b\xa8\x6b\x28\x76\x1f\xc8\xe5\x8c\xe4\x91\xcc\x77\xdd\xda\x79\xdf\x38\x93\x1b\xf9\x5b\xe9\x1c\x7d\xaf\xfc\x17\x9d\x33\xf9\xa0\x96\x97\xde\xf9\x73\xa2\x03\xd7\x76\x16\xf5\x47\xcf\xa7\xd7\x77\x62\x66\xf3\x65\x52\xcf\x0d\x8f\xc4\x5c\xf9\x68\xef\xab\x5e\xf7\xa9\xe4\xb6\x89\x31\xe4\x37\x56\xfc\x74\xb3\xf7\xa1\xdb\x7e\xed\x8d\xf9\xa4\x9e\x73\x76\x3f\xf6\x68\xeb\xb9\x63\x13\xa5\x1b\xcd\xff\xdb\xdb\xb9\xd7\x3d\x45\x62\xca\x03\xdf\x38\x12\x43\xeb\xdf\xd2\x57\xf2\x39\x77\xe2\x2f\xe9\xce\x95\xb8\x56\xfe\x8f\xe5\xe6\x72\x7b\xff\x44\x9e\xf1\xc0\x3f\x91\xaf\x3c\xba\xcf\xb4\xb4\xd8\x45\xef\x33\x5d\x46\xae\xd1\xef\x45\x36\x6d\xa7\xa6\xb5\x53\x33\xd0\xef\xa4\x9f\xe4\xcb\x6b\xfd\xa5\xe3\x4c\x0e\x53\xdb\x33\xdd\x9f\xd5\x3d\xc8\x25\xe8\x99\x07\x72\x23\x92\x3d\xe9\xef\x99\xbc\x98\x9e\x4f\xfb\xa7\xe7\x37\x5f\x6b\x6b\x32\x2c\xbf\x4d\xb2\x3f\xa0\x2f\xf5\x9c\x8a\xbd\xa5\xf3\xe4\x13\x6f\xe4\x06\x07\xe2\x0d\x5b\x9f\xdc\xae\x75\x10\x13\xc8\xcf\xda\xc8\x4d\xc9\x6f\x0d\x3c\xb7\xc5\xa0\xa1\xc9\xac\xfc\x6a\xc5\xcd\x1b\x31\xee\x8e\x4f\x20\x7f\x67\xe3\x1e\x0e\x6a\x16\xfa\x2e\xad\x81\xe5\x46\x89\xe9\x06\xcf\x69\xf2\x0c\xd3\xd2\x7c\x94\x05\xf9\x1a\x6a\xdb\x63\xc9\x84\xe2\xf5\xdd\xd7\xba\x34\x79\xb2\xdc\x3f\xb6\x52\xfe\x45\x25\x2e\x0a\xe4\x73\x74\x6e\xe4\x4b\x4e\xe4\x01\x75\x0f\x81\x1c\xb6\xe4\x55\x9f\x09\xc4\x19\x56\xf7\x5a\xda\xd9\x91\xec\x6a\x9d\xe5\xcb\x48\xce\x64\x6f\x15\xeb\xe8\x59\x0f\x72\x81\xda\x2f\xc9\x4a\x0d\xd4\xfc\xb6\xb6\xc6\xf2\x81\x32\x79\x2d\xad\x8b\xe5\x1f\x62\x5b\x13\xd9\xaf\xc0\xfa\x5b\x7c\x9c\xda\xf3\x5a\xfd\xe7\x68\xb2\xa3\x75\x94\x7c\x58\xbd\xe3\x68\x7b\x21\x5b\x6b\xf9\x08\xfc\xe9\x42\x0c\xab\x73\x2f\x39\xd4\x19\xd3\xde\x17\x72\x23\x13\x31\xdf\x46\x1d\x43\x76\x58\xfb\xa0\xfd\xb2\x5a\xe5\xd2\xfc\x55\xed\xa1\xf9\x96\x5b\xdb\x7b\x9d\xf1\x40\x0e\xa3\xa2\xdb\xe4\xb3\x8c\xe4\x32\x74\x9e\xcf\xe1\x26\x5e\x8a\xe4\x38\xc9\xdd\xc8\x47\x88\xf8\xd3\x92\xdf\xb2\xb5\xb3\x2e\xb9\xd6\xf7\x0f\xe4\x5e\xb4\x96\xf2\x11\x02\xb9\x0b\xc5\x9e\xb6\x67\xd4\x04\x3c\xdf\x2a\xbd\xb4\x92\x63\xdd\x91\xd1\x9d\x1a\xa2\xfc\x27\xcb\xf5\xd6\x26\x8f\x3a\x97\xb6\x06\x73\xf3\xfb\x32\x79\x28\xab\xa5\xe2\x03\x68\xdf\x2d\x6f\x99\xdb\xba\xc9\x57\xd1\xbd\xea\x73\xda\x47\x5d\x47\xfa\xd5\x72\xd0\x67\x7b\x4d\x6b\x2c\xdf\x46\x3f\xad\x06\xb2\xb6\xf5\x33\x19\xdd\xda\xef\x36\x7e\x27\xff\x6d\xe4\xbc\xeb\xcf\x49\xde\x31\xe0\x2b\xcd\xc8\x86\x7c\x6b\xf3\x07\x97\xf6\x3c\x27\xf5\xc5\x8c\xee\x0f\xd4\x7f\x33\x9f\xd7\xef\xe4\xa7\xca\x0f\xb3\x78\xe3\x6c\xfe\x95\xde\x67\x35\xc1\xd8\x7c\xbb\x05\x9b\x66\xef\xc7\xdf\x93\xce\xd2\xeb\xd2\x83\x5a\x8f\x80\x1f\xaa\xbd\xd0\xb9\x92\x3c\xe8\x9c\x16\xea\x4d\xb6\x37\xb9\xad\xa1\xe4\x35\x93\x07\xce\x73\xaf\xc9\xe9\x3b\x37\xf4\xb6\x64\x48\x9f\x97\xfc\xc8\xee\xe9\xfd\x16\x63\x50\xc3\xd5\x7a\x59\xac\x9a\x9a\x9d\xb5\xb5\x9f\x9a\x9c\x4f\xbe\xbf\xd8\x0e\xf9\xf0\x89\x7a\x91\xad\xeb\xd6\xce\xbb\x64\x5d\x3f\x2b\xb1\xe0\x80\xcc\x0c\xc8\xb5\xfc\x55\x7b\xde\xa1\xad\xcf\xce\x1e\xeb\x79\x06\xce\xb6\xc5\xac\x07\x79\x3c\xe2\xe8\x83\x1a\x9a\xf9\xb4\xa5\xe5\xd9\xe4\x87\x9a\x0e\xa2\xb6\x5f\xa8\x7b\x6b\x2d\xe4\x23\x6b\xaf\xb5\xf6\x96\xb3\x3f\xfa\x1a\x7b\xcd\xc1\x6c\x6c\x6c\x72\x68\xf9\xdc\x9d\x9a\x35\x38\x01\xf3\xdf\x89\xe9\x33\x3a\x75\x23\x76\xd9\x91\x41\xc9\x4b\x18\xc9\xab\x6f\x4d\x9f\x27\x7c\x93\x03\xfd\x60\xfb\x0c\x16\x22\x90\xb7\x55\xec\x2a\x7b\xb3\xe1\xb3\x5b\xad\x26\xb4\xe7\xb5\xda\x0a\x75\x65\xf9\xdf\xd2\x6f\x86\x0f\x20\xa7\x21\x9d\x21\x3f\xd8\xec\x35\xf6\x49\xf7\xa7\xb3\x66\xf5\xc5\xd8\xf6\x7a\x28\xbd\xde\xb7\x50\x43\x91\x8c\x8e\xf8\xe2\x91\xf8\xa7\x92\x4f\xb0\xb5\xc3\x66\x9d\xd4\x2d\x0b\x7b\x68\x75\x5e\xfc\x28\xed\x7b\x02\x33\x60\xef\x8b\x3d\x3f\x3d\xb8\xef\x1f\xdb\x1e\x48\x5f\xda\xef\x16\x7c\x78\xea\xff\xf9\x46\x3e\xed\x39\xa8\x17\x18\xf6\x60\x6e\x36\x47\xfe\xd8\xce\xba\x4b\x26\x4c\xa7\xd7\x66\x03\xf5\xfb\x89\xbc\xc4\x4c\x5d\xdc\xb0\x0c\xe8\x4a\xb3\x2f\xe8\x41\x8b\x19\xbd\xfe\x41\x4e\x42\xe7\x78\xe7\xba\x95\xb8\x25\x91\x17\xd5\xf9\xd1\xf7\x6a\x5f\x75\xad\x93\x33\x69\x79\x12\xd6\xc6\xf7\x54\xcf\xab\x35\xdf\xf9\xa3\xf5\x51\xcc\xae\xb5\x32\x5f\x70\x68\xcf\x69\x75\x32\xf6\x4e\xeb\x1c\xf0\x73\xe4\x33\x1c\xd4\xe9\x24\x3b\x96\x3b\xcb\xed\x59\xcc\xf6\xaf\x7c\x67\x6c\x76\x25\x53\x5b\xb5\x1a\x7f\x69\x7a\x59\xcf\x26\x1d\x2e\x7d\xb8\x61\x27\x27\x62\x54\xc5\xca\xd5\x73\xb0\xe4\x57\xb4\x7f\x76\xbf\x60\x1e\xdc\xf7\x50\x6c\x16\xa8\x15\xc9\x87\xd3\xb5\x4c\xb7\x62\xf7\x03\xf9\x40\x3b\xe7\xe4\x41\x2c\xe7\x75\xb6\x33\xe8\x31\xe2\xca\x7b\x36\xd6\x5f\xfe\x95\xf9\xbf\x47\x93\x39\xe9\x9f\x8a\x4f\x6c\xf5\x8b\xb1\xdd\xbf\x6c\x86\xf6\x7e\x45\x37\xea\xfa\x81\x18\xd6\x70\x40\x33\xf9\xab\xbd\xf9\x15\x81\xfa\xb5\xe3\x53\x76\x74\x8a\xd6\xd8\xfc\xf3\x15\x4c\x4f\x6c\xe7\xdd\xf4\x4e\x68\xf2\x2e\x7d\x63\x58\x8b\xb5\xd9\x45\xbd\xd7\x30\x42\x2b\xfa\x7f\x69\xfe\xae\xe5\x7e\x66\xec\xff\xd9\xee\x6b\xf4\x5c\x6e\xa1\x56\x06\x56\x47\x7e\xca\x84\x8d\xb7\xef\xd8\xdb\x99\x3c\xd1\x61\x76\xed\xa5\xd9\x33\xe9\x42\xed\xb7\xe7\x51\x56\xec\x97\xe5\x51\xc8\x77\x98\xff\x5e\x9a\xfd\xdd\xa9\x77\x4b\xe6\x2d\x17\x85\x0c\x9a\xaf\x37\x37\xdf\x60\x27\xc7\x24\x5d\x68\xfa\x99\x5c\xa1\xee\x4f\x6b\x2a\x7d\x6c\xf5\x39\xea\xe6\x01\xdb\x67\x39\x31\x6a\x0d\xd2\x49\x92\x4b\xd3\xa9\xe4\x5e\x07\xf2\x00\x03\xb5\x69\x9d\x0f\x9d\x9f\x42\x4e\x54\xcf\x34\xf0\x5e\x8b\x6d\xd8\x93\x4a\xbc\xaf\xef\xb2\x7d\x8b\xe4\x32\x4a\xdb\x1f\xaf\x71\x16\x6c\x7d\x46\x87\x57\xe4\x42\xf6\x29\x93\x0f\xd5\x39\xdc\x58\x7f\xad\xc9\x72\xe3\xdb\xeb\x3b\x0e\xea\xf5\xb2\x19\x8a\x8f\x02\x7a\x6d\x21\x67\x93\xc9\x75\x9e\x60\xd9\x2a\xe7\x76\x20\x5f\x67\xbe\x05\x39\x64\xf3\x65\x96\xb6\xc6\x81\x7c\xf8\x80\xce\x96\x2d\xb6\xb5\x27\xb7\x66\x7b\x5e\xda\x9a\x5b\xcd\x24\x37\x39\x94\xae\x0a\xe8\x72\x7d\x87\x3e\x2f\x9b\x75\x52\xff\x90\x6c\x1f\xd4\x28\xa4\xa7\x25\xcf\x99\xb8\xd6\xf2\x47\xe0\x08\xb4\x9e\x5a\x57\xf9\x21\x99\x98\x49\x7a\x20\x80\x5f\x38\xb1\xdb\x15\xfc\xd7\x4e\x5d\xc9\xf1\x73\x13\x79\xc9\x95\x1c\x78\x66\xad\xa4\x93\x16\x6a\x32\xa6\xcb\xf1\xf5\x32\xf8\x19\xcb\xdf\xaf\xcd\x2f\x98\x79\xde\x1d\xbb\xa1\x78\xd0\xd6\x2e\x53\xb3\xa6\xe6\xb0\xe1\x03\xcf\xe4\x52\x4f\xfc\x76\xf3\x1b\xbd\xc6\x07\x06\x41\xf2\x2a\x5f\x4e\x67\xbf\x80\x83\x38\xc0\x0b\x59\x3c\x70\x50\x0f\xc5\x4f\x95\xcf\x9e\xc0\x6d\x19\xd6\x8e\xfc\xd3\x4c\x8e\xdc\xec\x42\x6e\xfe\xa3\x61\x7e\x5c\x17\xe4\x5e\x0b\x49\xd8\x04\xed\xa1\xe1\x02\x89\xe5\x74\x2e\x17\x30\x8b\x05\xdf\x49\x7a\x55\xf7\x29\x39\xd3\x33\xd9\x39\x9e\xa9\x41\x2d\xe4\x4b\xb1\x13\x33\xe7\x49\xba\x75\x04\xdf\x61\xf5\x4e\x72\x74\x3a\xd7\xb3\xbf\x3e\x35\x1d\x6a\x6b\x97\x9b\x2e\xb6\xfa\xd7\xd4\xfd\x68\xf3\xb1\x8f\x1e\xbf\x0d\xd8\xa4\x42\x8d\xda\xed\xac\xd5\x92\x6b\xdb\xa7\x83\x78\x4b\x6b\x6e\xfe\x01\xf2\x28\xfb\x72\x1e\x7d\x4d\xac\x96\x36\x37\xbd\x2e\x19\xdc\xc9\x6d\x1f\x73\x3b\x6b\x3a\x33\xee\x47\xe8\x35\x9d\x09\xed\xcb\xbe\xf5\xba\x46\x06\x5f\xb5\xe3\x83\x95\xa3\x9d\xb1\x03\x3c\x83\xd6\xce\xe2\x98\x80\x9f\x4f\xde\x50\xb1\x49\x22\xde\x31\x1c\xcc\xd6\x72\x97\x96\x33\x58\xa8\xcd\x92\x8b\x94\x8d\x96\x2d\xd0\x7d\x6c\x5b\xb7\xc1\xb6\xf6\x99\x7a\xd8\xd2\x9e\xf5\x44\x36\x74\xa6\xb5\x4e\x86\x67\xc0\xdf\x50\x7c\x58\xc8\x69\x5a\xad\x9d\x7c\x69\x40\x07\x58\x5e\x1a\x3c\x93\x64\xcb\xea\xa4\x11\x39\x03\x93\xa3\xf3\x25\xfb\xbb\xb2\x06\xfa\xce\x15\x2c\x97\x64\xa2\x62\x63\x4c\xcf\x1c\xed\x3b\xac\x6e\x40\xae\xd7\xea\xe1\xe8\x08\x93\x9f\xd4\xf4\x82\xd5\x76\x39\xbb\xba\xb6\xf6\x30\xb9\x8d\x49\xcd\x47\x3a\xc8\x6b\x25\x7c\xd4\x4c\x2e\xd5\xfc\x1a\x62\xdc\x4a\x3c\x3b\x60\xc3\xa5\xdf\xf5\xbc\x8a\xf3\xb4\x5e\x07\x67\xc4\xfc\x3e\x72\x2c\x0b\x18\xd6\xdd\x31\x8f\x0b\x58\x24\xb0\x19\x85\xba\x82\xe9\xeb\xd0\xf6\x4c\x7a\xd5\xf0\x68\xac\xa5\x7c\x10\xc3\xf3\xb2\xf6\xf2\x33\x12\x79\x01\xab\x11\x52\xdf\x59\xa9\x19\x1b\x16\x2b\x63\x9f\x73\x7b\xfe\x82\x8f\x6e\x79\xde\xda\x74\xaa\xc5\x01\xa5\x5d\x27\x53\xa7\x36\xbf\x02\x1f\x78\x01\x63\x78\x80\x2f\x4a\xe4\xae\x02\xf5\x06\x93\xaf\x91\x3a\x02\x7e\x93\x64\xc7\xf4\x20\xb6\xd9\x6a\x85\xf8\xee\x85\xfc\xbd\xd5\x80\x22\x75\xa1\x93\x9c\xe4\xd8\xce\xc8\x1c\x7a\x4c\x21\x9f\x64\x04\x0f\xb1\x13\x97\x4e\xd8\x33\xad\xb3\x62\x7b\xc3\x92\x14\xf0\x0d\xe0\x05\x4d\xff\x7b\x5d\x70\x05\x97\x36\xb4\xf8\x7c\x21\xdf\x6e\x3a\x1c\x8c\x4d\x25\xb7\x63\xbe\x5f\x6c\x7b\x53\xa8\xf1\xc8\x9e\xda\x79\xde\xfb\x9e\x4b\x16\x02\x7a\x6a\x60\x3d\x25\x6b\x23\x36\x67\x26\x27\xe5\x58\x18\xab\xfb\x6e\x3c\x07\x31\xac\x62\x5d\xfd\x6e\xc7\x1f\x93\x4c\xaf\xe4\x1d\x57\x64\xc8\xf2\xa0\xb1\xbd\x66\x31\x00\x3e\x9a\xe4\x43\xe7\xd4\xe2\xe9\xda\xce\xde\x44\xad\x34\xb8\x8e\x01\x07\x6e\x78\x5a\xb0\x26\x07\x6b\x35\x22\xab\x56\xb3\x20\x47\x21\x5d\x98\x62\x3f\xb3\x05\x6c\x91\x63\xd6\xf5\x1e\xcf\x87\xae\xf8\x02\xf2\xab\xf4\x7d\x33\x18\x76\xad\x79\x25\x57\x27\x5d\x92\xf1\x3b\xf4\x5e\xed\xd5\x81\x3d\x38\x89\xf7\x4d\x1e\xc0\xf9\x78\x1c\xad\xfb\x58\xc1\x54\xc9\xa7\xc8\xc4\x1f\x56\x43\x02\x23\xbd\x4f\x3d\x66\x9d\x6b\xf7\xf5\x56\x6c\x96\xce\xc2\xc0\x7a\x9a\xce\x25\xd6\xb4\xfc\x0d\xd8\x9d\x81\x1c\xc6\xb2\xf5\x18\xd5\x31\x0b\x96\x8b\x00\x97\x29\x7f\xae\x3a\xb6\x1b\xb9\xb6\xfa\xc9\x09\x36\x03\xfd\x29\xdb\x63\x76\x8f\xe7\x88\xdc\xbf\xcb\x9a\x7d\xd7\x01\x76\x01\x9c\x71\x20\xbe\x3e\x90\xd3\x11\x6c\x92\xe1\xdb\x89\x6b\xcd\x17\x5a\x3a\x26\x5f\xe7\xb8\x78\x2e\x80\x9c\xc9\xee\xba\xf7\xec\x98\x26\xf9\x46\x1b\xf8\x3e\xcb\x87\x52\x77\x2b\x60\x02\x2a\x38\x32\xdd\x93\xd5\xf7\xe8\x27\x30\x5f\x6a\x6a\x3e\x84\xe2\x1d\xc5\x62\xd5\xfd\xe1\xb9\xe5\x60\xf4\x7a\x20\x56\x35\xbc\x19\x38\x52\x93\x8d\x1d\x3c\x2c\x78\x10\xc3\x44\x04\xea\xdd\xe0\x78\xcc\x97\x0a\xe4\xf1\xb8\x9f\xc8\xcf\x03\xdf\xc2\x70\x7d\xa5\xe7\x08\xad\xae\x80\x3f\x1c\xc0\x66\x4a\x96\xb4\x97\x95\xbc\xa6\xe7\x23\x4d\x27\xf3\xff\xc8\xbd\x46\xfc\xcc\x93\x18\x54\x72\x65\x18\x4a\xf2\x28\x65\x6b\xfa\xc5\x72\x4a\xc4\x54\x5a\xbf\x00\x56\x55\x7a\xd2\x64\x78\x6b\x32\x34\xe1\x4f\xcf\xe0\xec\x72\xea\xb1\x9e\xbe\x37\x8d\xcd\xaf\x5e\xc8\xe1\x4a\x9f\xf9\xf5\x67\x7e\x3f\x52\x9f\x9c\x58\xe3\x44\xdd\x7e\x02\x63\x66\xbe\x3b\xb6\x33\xdc\x60\x53\x46\xb0\x07\x96\x37\xc2\xce\xd8\xba\x2c\xe8\xe0\x83\x73\x83\x8e\x3e\xf0\x63\xc2\xd0\xcf\x7e\x24\x1e\x35\xec\x09\x3e\xc9\x40\xae\xbc\x7a\xbd\x82\x5c\x71\xe4\x6c\x49\x2e\xbc\x6e\x94\xb1\x3b\xf2\x4f\xf4\x1c\x07\xbd\x01\x91\x9c\xaa\xae\x73\xe2\xeb\x9d\xac\xc9\x02\xde\x52\xbe\xce\x4e\x0f\x8b\xce\xab\xd9\x98\x85\x7c\x27\xf6\x5d\x67\x32\x83\x9d\x89\xf4\x07\x58\x6c\x7a\x34\x1f\xc7\x72\x85\x53\x93\xfb\x08\x4e\x76\xc1\x66\xc9\xa6\x98\xbc\x27\xfa\x21\x2a\x98\x1b\xb0\x69\x56\x07\xc1\x56\x2c\xf8\x1f\x9e\xdb\xf0\xdc\x8b\xe1\x48\xbc\x76\xc1\xf7\xea\xf5\x4c\x9e\x3b\xe0\x97\xea\xbe\xf4\x5d\x23\x7e\x81\xaf\xcd\x30\xb5\x33\xec\xf9\x38\xc5\x73\x86\xa9\xca\xed\xbe\x22\x3e\xaa\xe4\xdc\xea\x61\x03\x35\x73\xe2\x52\xcb\x41\xa4\xa6\x1f\xdc\x6f\xde\xc1\xe4\x59\x8d\x7e\x41\x7f\x52\x37\x38\xc0\x11\x4b\x87\x1c\xf4\x1a\x59\x4c\x81\x9f\xb3\x38\xb6\x94\xfa\x5e\x22\x8f\x28\xdb\x2d\xfd\xa2\x3d\x4a\xe4\x31\x32\xe7\xce\x3e\x33\xd1\x4b\x42\x2c\x38\x91\x5f\x96\xdd\x93\x0e\x92\x6c\x48\x76\xec\xdc\xb3\xbf\x89\x5e\x09\xf3\x45\xe8\xe1\x98\x62\x8f\xc9\x32\xbe\xc4\x86\xaf\x6d\x18\x28\xb0\xe1\x1b\x6b\x28\x5f\xc7\xb0\x81\xac\xb1\x6c\xab\xe1\x5a\x4b\x3b\x47\x85\x33\x6c\x7a\xd2\xb1\x5b\xe4\x6f\x06\xea\x2b\x09\xdc\xdd\x41\xde\x30\xb0\xf7\x3a\x97\xfa\x5e\xe9\x40\xe9\x6f\xe9\x3c\x3d\x8b\xae\x35\x63\x23\x77\x72\x80\x01\xec\x94\x9d\xbb\x9d\xbe\x0d\xd7\x5f\xf4\x54\xec\x60\xb5\xad\x3e\xc5\xfa\x58\xac\xed\x18\xab\xb9\xeb\x3b\xad\x97\xe5\x87\x62\xdb\x8f\x40\x5e\x27\x81\xcd\x30\x3c\xc2\xcc\xcf\xad\xe5\x88\x22\x98\xbf\xb0\x76\x1c\x71\x00\x63\x11\xc1\xe3\xae\xe0\xa1\x2c\x96\x45\xaf\x1e\xd8\xb0\x05\x4c\x89\x64\xba\xa2\x17\xe4\xcf\xc8\x3e\x8e\xe0\x32\xb3\xcb\x14\xf1\xdc\xcc\x3a\x66\xb0\x79\x09\x7c\x92\xc5\x88\xc4\x9e\x96\x43\x8a\xe8\x15\x6a\xa1\xf2\x75\xf4\xdc\x07\xb6\x41\x72\x6e\x67\xfd\xc0\x2e\x2d\xe8\xc0\xb3\xc5\x6d\x86\x4b\x41\x17\x9d\xc4\x52\x09\x1f\x73\xa3\x5e\x50\xe8\x49\xd3\x1e\xad\xd8\x96\xd1\x7d\xc9\x03\x7c\x2a\x58\x8d\x44\x8e\x4a\xd7\xb5\xbc\x1f\x79\x56\x3b\xbf\xe0\x99\x72\xed\x98\xda\x08\x0e\x7f\xa0\xe6\xa8\xf3\xee\x7d\x4a\x2b\x75\x17\xfd\xb4\x78\xff\xec\x6b\x19\xc9\x3f\x1c\x7c\x8f\xae\x6b\x71\xde\xd8\x6b\xa7\x13\x38\xbe\x99\x58\x62\x4d\xbd\x46\x67\x75\xda\xa5\xc9\xc9\x0e\xb6\x6f\xa0\x36\x68\x75\x07\x70\xef\x03\xfe\xa7\xe3\xd8\x0a\x79\x93\x09\x7d\xb1\xb2\x36\xc7\x6d\xdc\x57\xdb\x5a\xca\x56\x15\xea\x14\xfa\x6c\x44\x76\x4c\x97\x1e\xcd\x67\xb5\x9e\xb9\xb5\x63\xf9\x25\xd3\x96\x77\xc2\xc6\x49\xe7\x47\x7c\x49\xdd\xff\x4c\xef\x51\xa1\xfe\xe7\x38\xe6\x9d\x38\x21\xe3\xe7\xef\xac\x55\x05\xff\x35\x93\x37\xb3\x9e\x3b\x72\x30\xba\xa6\x6c\xa3\x9d\x5f\xe2\x1c\xc5\xfb\xf2\x1f\x02\xb8\x9d\x1d\xcc\x66\x24\x4e\x9a\xa9\x91\xe8\x99\x0d\x6b\xcf\x75\x0e\x6a\x3c\x4f\x79\xab\xb1\xc5\x9b\x2b\x7d\x39\x1b\x39\xa3\x89\x5a\xd1\xf9\x51\xbd\x6b\xa6\x07\x42\xeb\x1e\xc8\x4b\xca\x17\x3e\xc9\x91\x4e\x6b\xc7\x67\x57\x7c\xea\x4c\x5c\x5a\x1c\xe3\x3e\x80\x5d\x27\x2f\x20\xfd\x31\xd3\xfb\xe2\x3d\x03\x92\x3d\xc3\x3a\x4f\x60\xf3\x96\x26\x0b\x7a\x76\xaf\x37\xb8\x3c\xeb\xfe\xa5\x7f\xd6\xdc\xfb\x41\xab\xc7\x12\xe4\xa4\x2b\xcf\xbb\x81\x1b\xae\xe4\xae\x2c\xee\x0c\xc4\xf2\xe4\x93\x16\x72\xad\x99\xde\x2e\xad\xc3\x78\x74\xdc\xf7\x0c\x7e\x79\x05\x0f\x66\x35\x7a\xfa\x0f\x8a\xdb\xfc\x83\x3a\x70\xb9\xe9\x21\xac\xe4\x47\x88\x19\x0a\xb5\x19\xc9\x68\x01\x2f\x9b\xf1\x15\x0c\xef\x97\xe9\x2f\xa5\x17\x61\xa5\xff\x70\x04\x73\xb2\x81\x0f\x91\x0c\x67\x7a\xe3\x2c\x6f\x5a\xe9\xe3\xa3\x77\xc4\x72\x28\x91\xfa\xed\xd8\x74\x8d\xd5\xce\xc9\x9f\x44\x7a\xcc\x1c\x1b\x61\x36\xbf\x34\x5b\x24\x39\x5b\xe9\x09\x9d\xbd\x66\x9c\xc1\x11\xd2\x43\x32\x70\x3f\xd5\x71\xf4\x73\x93\xbb\x8d\x98\x2b\x51\x4f\x1b\xb9\xb7\x83\xfe\xd5\x8d\xf3\xa8\x35\x54\xac\x58\xd8\x07\xab\xd1\x07\xf0\xee\x60\xa1\xbd\x27\x75\x01\x5f\xec\x3a\x73\xa6\x2f\xc6\x7a\x75\xc8\xe5\x64\x7c\x93\xc8\x1e\x1b\x76\x19\xfb\x6e\x72\xba\xb7\x73\xb0\xa3\x2b\x32\xf6\x21\x90\x53\x34\x7d\x3a\x52\x3f\x98\x89\x19\xc0\xd5\x9c\x60\x02\x1c\x37\x60\xfe\x64\x6e\xba\x22\xd3\xd3\x25\x9f\xc2\xf0\xba\xd8\xf3\x83\x7e\xd2\x85\x7a\xb2\x6c\x9f\xe1\x51\xa9\x91\xe8\x6c\xac\xd4\xd0\x33\x3d\x7d\xda\x2b\x8b\xc1\xc8\xbd\x67\xaf\x81\x20\x17\x4f\xb8\x49\x70\x78\x8a\x4b\x4e\x70\x99\xd2\xb9\x3a\x27\x96\x17\x9e\xe8\x6d\x26\xef\x98\xb1\xa3\x05\x7c\x4f\x02\xd7\x22\xb9\x5e\x1d\x6f\x39\xd0\xd7\x93\x9b\x2e\x49\xe8\xd1\xa3\x7e\x94\xc7\x9d\xc8\x49\x72\x2e\x2a\xf9\x89\xcc\x3d\xbb\xaf\x66\x39\x40\xf0\x31\xd6\x6b\x30\x81\xff\xc3\x36\x56\x7a\x22\xac\xee\x46\x6f\x97\x5e\x77\xfb\x39\x92\xc3\xc8\xd8\xfb\xc5\x73\x36\xa9\xf9\x7f\x92\x73\xc3\x3f\x82\x4b\xcc\xe4\x39\x47\xb0\x02\x05\x7d\xb5\x53\xbf\x3e\x88\xb1\x0b\xf9\x18\xe9\xf5\x8d\x9e\x4a\xd9\xe0\x89\xfe\x94\xc0\x35\x0a\x79\x6a\xc9\xc7\x44\x4f\x44\xdd\x7a\x4f\xd2\x00\xc6\xde\xf7\x56\xfa\xab\xa6\xde\x37\x16\xc8\xf1\x4c\xe4\xef\x57\xf0\x11\x66\x0b\xc8\x01\x9b\xaf\x59\x9a\x9d\xf6\x9e\x65\xcb\x13\x1f\xe0\x8a\xd1\x25\x92\x79\xf3\xab\x8e\x66\x7f\x17\x6a\xd3\xfa\x0e\x9d\x1d\xaf\x83\xd9\x77\xe0\x47\xae\x60\xfb\x57\x7a\x44\xbc\x46\xe3\xfd\x48\x86\x53\xf2\x9c\x6d\xe9\x3d\xe8\xb3\xd7\xe2\x4f\xb0\xbd\x99\x7e\x81\x4c\x8e\x98\x3c\x80\xf5\xd5\xb3\xe7\x27\x7d\xdc\x56\xef\x59\x7b\x2d\x5c\xbe\x52\x3e\x7b\x1e\xe8\xa9\x9e\x8c\xaf\x57\xe8\xeb\xd5\xbe\xef\x73\xef\xcd\x2c\xd4\xf0\x23\xbd\xf7\xba\x87\x85\x5c\xa6\xf9\x27\x27\xbd\xc1\x73\xdb\x8f\xe0\xbd\x51\x60\xbf\xcc\x4f\xba\xf1\x11\x17\xea\xc0\x86\x41\x71\x3f\x72\x07\x7b\x70\xf2\x1c\xc4\xf5\xab\xcb\x92\xf7\xb3\xd0\xf3\x78\x52\x5b\x0f\xd4\x50\x12\x18\xd6\x15\x6c\xc7\x82\xae\x97\x5f\x3d\x82\x89\x3f\xc0\x11\x57\xfa\xda\xb5\x2e\x01\x1c\x9d\xf9\x35\xe4\x11\x26\x7a\x51\xac\xff\x8b\xde\x44\xbf\x7e\xe5\xac\x4b\x17\x56\x7a\xc1\xcc\x1f\x05\x93\x9d\xc9\x9d\xee\xe0\xfe\x74\x6f\x79\xee\x58\x10\xb3\x65\xf4\xd8\x8d\x9c\x19\xc9\x77\xc5\x7f\x3d\xa8\x4b\x98\x2e\x98\xc1\x35\x52\xab\x5a\xe8\x59\xd9\xc8\xdf\x1c\xf8\x38\x03\xf9\xd2\x82\xec\xc8\xf7\x97\xee\x5e\x6e\x7a\x3d\x23\xb5\x9b\xe3\xec\x75\x48\x7d\x5e\xf6\xd1\x70\xe0\xc4\xe1\xf9\xec\xf8\x49\xc9\xd9\x48\x1f\xb9\xe3\x81\x0d\x9f\x4c\xaf\xa6\xd5\xff\xc8\xa3\x1f\xec\x85\xc5\xd3\x47\x93\x89\x05\x2c\xba\xf6\xf7\x29\x1f\xcc\x9e\xeb\xff\x03\xf9\x85\x8d\x5a\xe2\x84\x3c\x8d\xf4\x61\x58\x4d\x0a\x5c\x9d\xc5\x40\x3b\x7d\xf1\x9e\x1b\xa1\xae\x97\xd9\xa7\xc5\xb1\x84\x2b\xfa\x04\xdf\xd9\xf4\x30\x75\xb0\x0a\xee\xc0\x9f\xd7\xfa\x91\x8f\x66\xdf\xac\x07\x0e\x0c\xa8\xf5\xd4\x81\x9d\x32\x5f\x8f\xd8\xa5\x9c\x3d\x2e\x88\x37\x7d\x34\x05\x59\xca\xc4\xa5\x07\xfe\xbf\xe9\x04\xf7\xd5\xc9\xdd\x3b\x86\xdb\xb8\x1d\xb0\xb1\x33\xbd\x84\x96\xcf\x59\x9b\x5f\xb1\xe1\x4b\x65\xfa\xfd\x12\x38\xb2\x0c\xde\x49\xfb\xa2\xfb\xb3\x5a\x7f\x69\xfa\xd3\x7a\xc0\xb1\x45\x0b\xf5\xb6\x88\xce\xc8\xf4\x53\x8f\xd4\x5a\x16\x6a\x52\x85\x1e\x99\x93\xb8\x26\x79\x2f\xdc\xd2\x5e\x5b\xc1\x5c\x4f\x6b\xc7\x8a\x5b\x6e\x6c\xec\x75\xa3\x99\xfe\xc6\x15\xd9\xac\xf8\x55\x16\xb7\xe2\x7f\x58\xcc\x71\xe2\xc3\x25\xf8\x30\x56\x72\x31\xc4\xe9\x27\xe7\xb9\xd0\xa3\xed\xfd\x0e\x86\x7f\xa2\x57\xb2\xa0\xcf\x33\x75\xdc\x27\x2c\x40\x6a\xb2\x11\xb7\x9e\x6b\x3d\xc0\xac\xae\xe0\x0c\x74\xfe\x75\xfd\x95\xda\xfe\x9c\xbb\x9d\x33\xbf\x0e\x3b\x97\xe8\x33\xb5\x7f\x23\x3b\x96\xa7\xa0\xb7\x66\xa0\xbf\x31\x53\x6f\x5e\xf1\x7f\x02\xb9\xf4\x0c\x76\x59\xcf\x53\xc0\x7b\x9a\x2f\x05\x9f\xc0\x08\xde\xdd\x7a\x4e\xa9\x7b\xec\x60\x59\xf3\xdc\xfd\x4d\xf9\x7e\x95\xba\x4c\xa5\x06\xe5\xf5\x7a\xab\x23\x50\xa3\x2d\x9c\xf3\x15\x7c\xbd\x71\x27\x90\xeb\x5e\xf1\xc1\x0f\xfc\xca\x99\x3e\x26\xe7\x0c\xf0\x1a\x91\xd6\xb8\xb8\x7f\x40\x0c\x61\x7c\x24\xd4\x62\x0e\x74\xa5\xe3\x83\x77\xce\x9a\xdb\xcc\x44\xbd\xcc\xf1\x43\x3b\xbd\x85\x1e\xab\x5b\x7f\x0b\x7d\x13\x96\xeb\x5a\x7a\x1d\x74\xa1\xb6\x6f\x3d\x41\xe0\xe2\xf4\xbc\xb2\x9d\x0b\x35\xef\x4c\x1e\xc5\x6a\x0e\xd4\xba\xb2\xd7\xa7\xc1\xfd\xc4\xf5\xbb\x98\xa8\x15\x9c\xe3\x4e\x1f\x4e\x46\x7f\xaf\xe0\xb1\x56\xf2\x71\xe6\x1f\x51\x6b\x0a\xe4\x68\x26\xf4\x5f\x00\xdb\x6d\xb5\xda\xbd\x9d\xa5\xe2\xd8\x99\xa3\x9d\xf5\x8d\x58\x63\xa5\xef\xcf\xe4\x6e\xa1\xb7\x93\xbe\x36\x8b\x75\xdd\x9f\x0d\xcd\x27\x98\xa8\xa7\x0d\xe4\x25\x2d\x4e\x07\xdb\xb6\x81\x0b\x0d\xc4\xe5\x86\x03\x1e\x7b\x0f\xbc\xe1\x3a\xd6\xb6\x87\x56\x67\xf5\xfc\x3f\xf9\x5f\xeb\xcd\xdc\xc0\x51\xd1\xb7\x7e\xd0\xaf\xb3\x52\x03\x91\x9c\xe8\x9c\x9b\x8e\xcc\xf8\x18\x4b\xf3\xbb\x0c\x33\x17\xdb\x67\xe2\xde\xf3\xf3\x91\x3c\x9f\xe5\x1a\xc0\xa4\xdf\xd6\xb7\x74\x0e\xac\x0e\x1b\x3b\xf7\x4f\x25\xf7\x5e\x1c\xd3\x90\x89\x7f\xc8\xd5\x8f\xc4\xfd\x19\xdf\x6b\x04\xf3\x65\x58\x7b\x30\xfb\x2b\x5c\x0b\x1b\x78\x84\x19\x7e\x8c\x95\xfe\xb5\x69\xe9\xf6\x7b\x24\x67\x54\xd0\x8b\x7a\x7e\xf3\xfb\xe0\x04\x9a\xbd\x57\xad\x76\x8c\xd7\xe0\x79\x78\xce\xea\x4a\x5f\xff\x4c\xaf\x98\xf9\x23\xa1\xeb\x2d\xc3\x69\x81\x89\x1c\xe0\x49\x30\x6c\x35\x7e\xd7\xc6\xb9\x0d\xe0\x5b\xf4\xf9\xe8\xbe\x1b\x3c\x10\x07\xfd\x56\xd5\xfb\x5d\x88\x2d\xbd\x86\x9c\x58\xf7\x42\x3f\xbc\xd5\x28\xb1\x49\x16\x3f\x94\x66\xeb\x46\x30\x66\x19\x7b\x5c\x88\x0d\x8c\x8b\x82\x33\xb6\x83\x61\x30\xdd\x3b\x62\xc7\xe1\x4a\xb0\x5e\x07\xb0\xb7\xd6\x0f\xcf\x3a\x1c\xe4\xee\x32\x39\x52\x3d\xdf\x44\x2f\x91\x6c\x46\x81\x77\x67\xac\xbd\xb6\x62\xfa\x18\x3c\x9a\xf6\x61\x07\xaf\x31\xbb\xaf\x8e\x7c\x2f\x60\x45\x6f\xd7\xd6\xb9\x0b\x4a\xe9\x35\xcc\x8c\x6d\x2d\xe0\xd2\x33\x7d\x4a\x86\x61\xa2\xc7\xdc\xeb\xf0\x23\x75\x92\x01\x5c\x8d\xd5\xdc\x4b\xbb\x4f\xb3\xd5\x5e\x13\x84\x1b\xe7\x28\x1d\x77\xb7\x53\x1f\x1b\xe9\x75\x97\xae\xf2\xbe\x82\x15\x1d\x59\x1d\x4b\x37\x92\xcb\x08\xe4\x14\x43\xaf\xbd\x06\x72\x74\x4f\xb8\x0b\x9e\x6b\x00\xab\x6e\x32\x0e\xce\x7e\xc6\x4f\x3d\xc0\x17\x59\x1f\x19\xf9\xef\x15\x9c\xce\xee\xe7\xfa\x6c\xd7\xb4\x1e\x12\xc7\x51\x90\xef\xd9\xbd\x9f\x9c\xd8\x66\xa4\xce\x9e\x88\x93\x8c\x57\x09\x9b\xe0\x9c\x20\x05\x1f\x44\x7f\x24\x43\x85\x1e\xc8\x05\xac\x82\x9d\x91\xad\xe3\xbc\x5c\x1e\x2a\x71\xda\xea\xf8\x1e\xf6\x72\x82\xd3\xcb\x6b\x67\xde\x1b\x61\x18\xb9\xf9\xa6\x27\x87\x5c\x84\xf3\x92\x3c\xd5\x53\xa8\xed\x5b\xdd\x99\x7e\x1d\xcb\xe3\x2d\xbd\x76\x1b\xe9\xbf\xb5\x9e\x98\x0d\xec\x23\xba\xa7\xa0\x97\x26\x38\xaa\x0e\x7f\x1f\x39\x0e\xef\x2f\xd9\xd0\xa3\x13\xf7\x16\x38\x53\x33\xfd\x85\x2b\x38\x92\xc5\x31\x7c\x60\x84\x27\xe2\xb6\x4a\x0f\x8b\x63\xa5\x36\xef\x19\xca\x6d\x2f\x4e\xf0\x09\xd6\xbb\x47\x6c\x63\xbc\x2e\xe0\xcc\x26\x7e\xbf\x7b\x2f\xf1\x0e\x06\x85\x7c\x8d\x73\x15\xac\xfb\xcd\x4f\xb8\x02\xf6\xa1\x63\x57\xe6\xb3\xd7\xde\x16\x6a\x53\x19\x6c\xed\x4a\x9d\x6a\x25\xef\x70\x7a\x6e\x1c\x7d\x55\xa9\xfb\x7c\xdc\x5b\x67\x71\x2d\x98\x2b\xe3\x12\x29\xc4\x73\x9f\xe8\xad\xfb\x4e\xe7\xd6\x67\xb6\xd7\x7d\xe7\x1a\xb7\x1d\x76\x1f\x31\xa7\x7e\xa2\xc9\xee\x3b\x1f\xfd\x93\xfb\xec\x3e\x75\xd3\x3f\x71\xab\xdd\xf7\x6e\x9d\x6e\xbb\x71\x1e\xb6\xe5\x73\xda\xed\x96\x7d\xfd\xe9\xda\xed\xde\x9e\xe5\xfa\x7f\xbe\x7f\xf3\xfa\xf3\x69\x01\x23\xb4\x01\x05\x51\x1f\x08\x43\xbc\x55\xb6\xd2\x9a\x7f\x10\xca\x10\xea\x2f\x94\x2a\x32\xf4\x59\x91\xf4\x66\xa6\xad\x5f\xea\xb1\x52\xf2\xdd\x70\x91\x12\x30\xb2\x78\x76\x28\x68\x80\xb2\x61\x85\xae\x24\xe1\x1e\x54\xca\xba\xe6\x0e\x42\xfb\xb4\x39\xc5\x9f\x97\x2a\x29\xa1\x2e\x94\x66\x0d\xae\x0f\x64\xa9\x90\xee\xae\x37\xf4\x77\x0b\xb4\x09\x46\xe5\x40\x48\x60\x50\x5d\x4a\x58\x05\x58\x84\xa9\x2d\x8e\x97\x54\xdc\x09\x4d\x97\xa9\x7c\x2f\x63\x03\xd5\x93\xd9\x3a\x68\xeb\x32\x08\x4b\x6a\xf7\x96\xbc\x44\x3a\x74\x68\xc2\x44\x59\xfa\x00\x22\x62\xf0\x79\xa8\x27\x02\xe1\x69\x84\xba\xa5\x02\x39\x29\xc0\x77\x1c\xca\x16\xa0\xb1\x3a\x09\xcb\x13\x69\x92\x1d\x08\xd4\x41\x39\xd8\x5a\xbf\x81\x71\x9a\x0b\x02\xb5\xce\x86\xfb\x72\x50\xb6\x3c\xbc\x25\x05\x5a\xc6\x13\x98\xfa\x8a\xaa\xb4\x94\x6b\x20\x75\x0f\x24\x2e\xb8\xab\x57\x09\x41\x47\x4a\x36\xa9\xa5\xed\xbc\x95\x3b\x0c\x9d\x46\xe5\x9c\xbb\x09\x2b\x98\x7a\x4b\x49\x0c\x3d\x94\x91\xaa\x1a\x69\x1f\xcf\x50\xac\x24\xd2\xbe\x06\x15\xa1\xf5\x6e\x05\x4e\xba\x10\x6a\x98\x0b\x45\xeb\xff\x41\x1b\xd4\x88\x4c\x9d\xb8\x89\x01\x98\xc7\x46\x28\x21\xb9\x49\x37\x34\x61\x15\x6a\x91\x08\x1d\xd7\x4e\x09\xc8\x52\x6a\xb4\x5c\x05\x87\x25\x40\xc9\x38\x86\x4e\x3f\x97\x29\xef\x05\x4a\x87\x11\x8a\x9b\x01\x18\x43\x05\xfe\xec\x69\x70\x2b\x87\xa5\x26\x0f\x01\x9a\x46\x6f\x0f\x1d\x79\xdd\x5a\xdc\x47\xa8\xde\xbc\xa5\x9b\x90\x6c\x04\x02\x7d\x02\x1b\xf2\xb2\xae\xa5\x48\x16\x5a\x1c\xa1\xe9\xd9\x29\x51\x19\x1c\x8a\x32\xec\x41\x49\x39\x20\xf7\x91\x90\xb0\x92\xde\xde\xd9\x53\xb9\x35\xb6\xb7\xc0\xfc\x4c\x56\x4b\x87\xf8\x2c\xc0\x17\x0a\x50\xe2\x04\x85\xdc\x0e\x05\x82\x51\x36\x50\x2e\x34\xaa\x28\xf4\x80\xc1\x4b\x09\xd7\x37\x68\x31\x9d\x7e\xce\x5c\xfa\x1d\x78\xd6\x82\x49\x06\xa6\x64\x29\x21\xa0\xf2\x76\x1e\x09\x1b\x16\x68\x1e\xcb\xd0\xa1\x31\xa7\xb7\x8d\x01\x9b\x3f\xa1\x4a\xb2\x14\x01\x14\x20\xba\x46\x84\x82\xcb\x61\x55\x2b\x94\x30\x46\x5f\x70\x02\x41\x27\x8d\xb7\xd3\x92\x37\xe0\x56\x58\x9b\xb2\x53\x58\x0d\xfd\xec\x19\x2c\x8b\x33\x5d\xd1\x79\x2b\xa9\x7c\xc9\xd5\x40\x49\x3a\x71\x0e\x56\xce\xba\xf6\x7a\xc2\x75\xb5\x36\xdd\xa1\xc9\x84\x53\x47\x1e\xb4\x96\x59\x19\x92\x32\x8b\xc3\x80\x27\x87\x64\x41\xc7\x34\xd3\xca\x7c\x52\x7e\x19\xd0\x3f\x23\xf4\x36\x89\xf6\x5b\xa7\xe4\x0a\xa4\xc4\x66\x74\x6b\x82\x6e\x68\xd9\x7a\xcb\x97\x5c\x8f\x01\xea\x9f\x89\x36\xb1\x0a\x34\x65\xa7\xd4\xaa\x9f\x13\x10\xe8\xc2\xd9\x4f\x94\x9e\x13\xe5\x78\xdb\x6f\xa7\x6c\xa3\x7c\x52\x49\x97\x78\x49\x32\x92\xfe\x18\x1c\x12\x55\x9b\x4c\xc9\x6e\x45\x5c\xf4\x03\x88\xdc\x0c\x74\x67\x1b\x9b\xbb\xe8\x61\xef\x08\x5c\x6f\x84\xae\xcd\x4a\x5a\x2b\xd4\x3e\xc0\x3a\x77\xd2\xeb\x07\x6e\xaa\xb5\x1a\x03\x53\x1c\x81\x09\x84\x1b\xba\x41\xad\xdb\x4c\x1b\x77\x70\xea\x16\x52\x12\x0e\x77\x97\x6e\xa9\x94\x19\x02\xa9\xc5\x91\x76\x16\xa7\xe4\x48\x40\x7c\x8c\x56\x73\x80\xf2\xcb\x61\xb3\x0b\x34\xb0\x73\x93\x3f\x0b\x07\x4a\x87\xfa\xdc\xba\x79\x96\x42\x24\x25\x67\xb4\x9c\xd0\x13\x7d\xd2\xcd\x73\x8f\xe1\x73\x5d\x3c\xff\xfc\x77\xdc\xbb\x27\xfa\xfb\x4f\x79\x76\xfe\x89\x3f\xdd\xab\xfb\xe8\x1e\x7f\x6a\x8f\xee\xe6\x6e\xdd\x99\x1b\xc7\xcf\xf1\xe5\xb6\x6d\x1d\x7e\x32\x5f\xee\xff\x7a\xb4\xbf\x3e\xcb\x93\x73\x42\x9e\x19\xa0\x96\x13\x40\x56\x40\x05\x15\xf0\x9e\x15\x16\x09\xe0\x47\x02\xe6\x7d\xee\x0d\x4b\x01\x0f\xc0\x02\xf8\x11\xf2\x26\x0a\x96\xfe\x9e\x95\xf7\x2f\x14\xff\xe4\x99\x45\x92\x78\x96\xfc\x03\x5c\x23\xaf\x20\x01\x98\xdb\x21\xcb\x2b\x24\x3f\x46\x2f\x5a\xad\x80\x56\x21\x75\x48\x34\x82\x1c\x04\x75\x4e\x36\x59\x28\x42\x1b\x60\x7d\x43\x4b\x93\xd8\x0f\x90\x74\x1a\x49\x50\x6c\xcf\x69\x85\x85\xa9\x13\x48\x98\xe7\x18\x21\x8b\x00\x7c\xac\xcf\x1a\xd1\x17\xcd\xcf\x07\x80\xc8\x44\xf3\xb2\x4e\xe3\x0c\x71\xcb\x04\x40\xd8\xc9\x69\x46\x92\x7b\x3a\xa1\x2b\xa4\x42\xd2\x9e\x46\x92\x17\x3a\x69\x4a\x81\xa8\x2a\xe1\x99\x0c\x34\x3d\x46\xc8\x90\x8c\x94\x96\xa0\x77\x87\xa8\x26\x93\xa4\xb6\x00\x0f\x12\xd2\x05\x0f\x70\x5a\x3b\x58\xc5\x81\x33\x0b\x09\x6a\x2b\xc6\x03\x6a\x73\x32\x20\x03\x0c\x00\x90\x73\x90\xe5\x8c\x37\xb0\x40\x30\x14\x69\x06\x1f\x20\x27\x8a\x80\xac\x67\x48\x59\x2a\x4d\xd8\x3b\xe4\x1c\xfa\xbf\x3c\x0d\x69\xf9\x91\xa6\x54\xbb\x3e\x45\x9d\x89\xe4\xfd\x09\xf9\x58\x00\x08\x24\xaf\x3d\x51\x04\x4a\x34\xa9\x1f\x0e\x64\x87\x70\x7a\xa5\xa9\xc6\x08\x60\x01\x70\x4e\x24\x20\x67\x92\x49\x96\x90\x83\x08\x38\x40\x6e\xba\xec\x3d\x72\x30\xad\x0d\xf8\x7a\xa5\x99\x7b\xc2\xfb\xd9\x01\xd8\x46\x88\x3a\xb4\x16\x03\x05\xb1\x8d\xc0\xdd\x41\x2c\x1b\x64\x3f\x3b\x4d\x9e\x33\x85\xe9\x71\xe9\x40\xc5\x88\xd7\x63\x8d\x8e\x19\xa2\x33\x02\x7b\x23\x67\x86\x64\x39\x03\x22\xcc\x90\x9c\xce\x4e\xda\x30\xe1\xed\xe2\xd5\xcc\x10\x7a\xeb\x1c\x2e\x90\xb4\xad\x4b\x27\xf9\x8c\xa9\x27\xdf\x06\x12\x14\xb2\xb8\x89\x44\xdc\x54\x3b\x00\x39\x43\x1a\xb1\x3a\xc1\x72\xe9\xd6\x77\xa7\xf9\x64\xcd\x9c\x79\x48\x20\x0d\x70\x85\x37\x9a\x96\x4e\x9e\x76\x92\x10\x34\xe2\x43\x12\x24\x11\x72\x90\x00\xd9\x84\xbc\xa9\xe8\x24\xa7\x34\xf6\x05\xc8\xaf\x57\x48\xd7\xf4\x3b\x5b\x8f\xad\xad\xdd\xe6\x45\x23\x08\xfb\x76\x9a\x84\x46\xc0\x70\x13\x32\x6b\xc9\xe8\xb9\x59\xea\x9d\xa2\x6b\xc2\x23\x34\xa0\x0f\x00\x21\xdd\x6b\xac\xbd\x49\x2f\x41\xec\x60\x4d\xdb\x34\xa9\x19\x51\x3d\x04\x64\x1b\x5e\x58\x24\xf1\x63\xd1\xec\xd8\xa2\xb9\x03\x22\x7b\x8b\x6e\x32\x5e\xef\x0d\x70\xc2\xbc\x94\x81\x62\x0a\x1e\xc2\x78\xf6\x66\x18\x23\x05\xe3\x1e\x3c\x31\xb7\x01\x76\x3d\x68\x4c\xd9\x01\x67\x4a\xf6\x9d\x7c\x3b\x02\x60\x3c\xcf\x0e\x32\x8c\x34\x3d\x45\xa2\x1e\x03\x9a\xd7\xee\x15\x0e\x24\xa0\x32\x09\x33\x07\x57\x17\x08\x03\x5c\xef\x04\xc8\x26\x9c\x14\x6a\x1b\x3b\x60\x67\x83\x90\x6a\xa5\x71\xea\xa4\xf0\x6c\x89\x45\x88\xab\x07\xc8\xbf\xbc\x00\x61\xc9\x54\x40\x86\x03\x8d\x4e\xe6\x15\x51\x90\xb2\xc4\xb1\x37\x34\x03\xa0\x08\x90\x0b\xda\x7a\xd2\xdc\x3f\xb8\xd7\x34\x02\xd0\xc0\x8b\x9c\x01\x18\xec\x44\xa9\x03\x89\x64\x07\xd9\xac\x80\xdd\x9c\xa0\x6b\x23\x9a\x1f\x29\xf2\x4b\x06\xac\x59\x0d\x12\x89\x0d\x20\xd4\x00\x58\x59\x7a\xc8\x49\x53\x56\x48\x32\x22\x4d\x6b\x81\xe6\x66\x2b\x36\x42\x7c\xbd\x8f\x3d\xe9\xe7\x20\x3f\x9d\x3f\xd7\xf5\xd6\x90\x43\x92\x37\x42\xa8\x61\x40\x09\x3c\xb3\x1d\x30\x47\xc4\x26\x6d\x64\x44\x74\xbe\x2d\xda\x85\x40\x6d\xf0\xe1\x05\xac\xd3\x4c\x93\xdd\xc6\x3e\x16\x0a\xf4\x2b\xa4\x27\x99\xe8\xd9\x64\x90\xa4\x7a\x24\x32\xf1\xa2\x99\xbe\xcf\x0a\x84\x64\x5e\x74\xc6\x9f\x88\x48\x19\x76\x60\x80\x45\xc0\x2d\x09\xe0\xb2\x91\x0a\x4e\xc8\x0f\x0d\x3b\x05\x02\x0d\x03\x59\x11\x2d\x19\x28\x83\x66\xcb\x44\x21\x7a\xc3\xa3\x37\x60\xb6\x13\x69\x42\x3a\x67\xcd\x6a\x34\x9c\x17\xde\xbf\x90\xac\x5c\xd1\xf1\x99\x28\x6a\xa0\x71\x77\xe7\xb9\x36\x0a\x6e\xf9\xec\x04\xa9\xd3\xd1\xf5\xba\xdb\x66\x6b\x9a\x80\x50\xd4\x23\x1a\x27\xab\xb7\xc4\x3d\x85\x6f\x79\xe4\x56\xfc\xa6\x80\x94\x01\xe4\x2f\xe8\xb1\x95\x73\x93\x28\xf8\x38\x60\xc3\xb3\x4d\x56\x54\x09\xf8\x25\x34\x13\x38\xc1\xee\x48\x13\xad\x7d\x16\x1d\x51\x20\x7a\x93\x8c\xdb\x1e\xae\x5d\xb6\x27\x0a\x07\x0b\xcd\x0f\x7a\xd6\x04\xf9\x8d\x35\x26\x44\x8a\xe3\xeb\x0d\x39\x15\x80\xb0\x04\x78\x79\xa4\xc9\x60\xa7\x91\xd6\x01\xd2\xbb\x93\x5b\x9e\xe8\x0f\xf4\xb3\xf4\xeb\x41\x81\x76\x70\x62\x42\x88\x94\x03\xa0\xd7\xec\x00\xc2\xb9\xc9\xc1\x0a\x80\xd6\x7d\x2a\x23\x3f\x84\x60\xd4\x06\x85\x40\xb2\x6b\x8d\x6d\x07\xa4\xd7\xf8\x45\xba\x8f\x01\xd2\xeb\x05\x19\x18\x68\xe8\x18\xbd\x19\x25\xb7\x7b\x76\x70\xba\xfd\x21\xd2\xf6\xf3\x64\xcd\x80\x3b\x80\x79\xb2\x27\x0b\x7e\x95\x17\xce\x57\xc0\x40\x33\x19\x32\x07\x34\x6f\x80\xcc\x32\x32\x3a\x41\xfa\x33\x52\xbc\xb6\xe6\x1c\x6f\x16\xba\x21\x43\x91\x2c\x0d\x80\xe5\x17\x7c\x6b\x3f\x43\x06\x4e\xc3\x1f\x1e\xd0\x77\x56\x28\x58\x28\xb2\xd1\xf0\x75\x12\xcd\xad\x90\xc3\x18\x98\x84\xe2\xa8\x9d\x8d\xe1\x86\x18\x89\x62\x76\x00\x54\xed\xd9\xaf\x9d\x33\xb5\x03\x76\x35\xf0\x1b\x05\x7a\x03\x7e\x00\x1c\x59\x69\x4e\xcf\xde\x6c\xe6\xe4\x1e\x6b\xd3\x1d\xe7\x0d\x78\xdf\xd6\x05\x42\xd4\x27\x62\x1f\x7c\x6a\x6b\xc6\x40\x26\xa2\x0f\x45\x01\x3c\x78\x00\x6c\x8d\x10\xe1\x1a\x68\x38\x61\x7f\x63\x93\xc7\x85\xc6\xbd\x85\xcc\x63\xa0\x69\x6b\x62\xa8\xc7\x09\xc0\x21\xd0\x34\xbd\x13\xc3\x8c\x0c\x3a\x39\x00\xf4\x6e\xf8\x63\x3e\xb0\x25\x50\x84\xdf\xf1\x31\x02\xc3\x48\xfc\xec\x9a\xff\x0d\xe8\xc1\x9b\x0b\x27\x08\x9d\xa4\x43\x56\x0a\x82\x27\xa4\x2c\xd6\xf8\x05\x00\x22\x20\xef\x03\x0d\xe1\x01\x20\x40\x44\x1f\xee\x00\x34\x23\x7e\x55\xf1\xc2\x2c\xfe\xeb\x82\x0d\x37\x10\xd9\x0a\xd0\xc3\x49\xae\x68\xac\xf7\x0c\xc5\x0e\xd9\x5b\xe1\x3a\x13\x84\x2c\x9e\xf5\x3a\xe6\xde\xf8\x39\xd0\x18\x1e\x18\xc6\xb0\x43\x28\x9a\x4a\x1f\x2a\x60\xd9\xf9\x44\xe1\x1d\x00\xf2\xec\xcd\x61\x10\xb3\x58\xf3\xc1\x0d\x38\xdd\x8b\x92\x33\x85\xee\xf1\xec\x04\x9c\x1b\x59\x51\xc9\x6d\x82\x70\xc7\x00\x3c\x10\xbb\x1d\x6b\x27\x2a\x30\x42\x0b\x00\x64\x13\x3a\xd9\x7c\xbc\x8a\xdd\xe4\x0c\x57\x8a\x5b\x09\xfb\x71\x42\x1c\xb0\x93\xdd\x5a\xdd\xaf\x46\xbe\xac\x69\x95\x26\xd4\x1d\xe2\xeb\x95\x7d\xb5\x61\x30\xec\xd1\x42\xfc\x61\x8d\xd7\x34\x67\x3b\x49\x51\x62\xad\x27\x32\x69\x99\xa6\xce\x4c\x4c\x35\x33\x70\x66\x03\x0c\x94\x69\xa8\xdc\x68\x58\xb4\x2c\x1c\xaf\x59\xa6\x0d\xd2\xa8\x03\x3f\x32\x53\xa0\x2e\x80\x72\x8d\xfc\x04\xa0\x5b\xa4\x12\xb0\x62\x17\x06\xe2\xf3\x00\xb9\x6d\x75\x72\x12\x9a\xa0\x7c\x50\xce\x09\x90\xbf\xc6\x4e\x2a\x6d\xb1\x13\xc0\xb9\x83\x8a\x83\x11\x46\x40\x86\x3e\xa0\xd7\xbc\xc9\x2c\x39\x09\x39\x85\xda\x40\x86\xce\x01\x6c\x3b\x84\x1f\x23\x43\x02\x46\xc8\x84\x27\x32\xa3\x03\x04\xd2\x87\x37\x41\x8e\xdd\xff\x30\xb0\xd7\x0d\x40\xc5\x9a\x62\x20\xc1\xae\x0c\x3c\x99\x68\xe4\x32\x99\xa5\x61\xd7\x00\xb6\x05\x52\x06\x2a\x3e\x13\x7a\x6c\x00\xf0\x3b\x23\x37\x03\x60\xa7\x88\x6d\xab\xc4\x30\x46\x3e\x04\x58\x23\xe2\x47\x6a\xed\x26\x9a\x48\xd3\xd9\xe5\x75\x27\x5b\x77\xd0\xf0\xe6\x45\xf7\x8d\x0c\x75\xa5\xba\xb0\x38\x18\x35\x76\x00\xc9\x48\x2e\x20\xd1\x48\xa5\x3d\x3d\xc9\x48\x16\x08\xeb\x07\x6c\x8d\x65\x38\xc9\xfa\x05\x88\xcc\x2b\x84\x74\x06\x5e\xc8\x90\x2d\x86\x4e\x0c\x17\x00\x3c\x64\xaa\x4b\x13\xcd\xb5\x2b\x80\xa7\x4a\xd3\xf2\x02\xe8\xce\x89\x86\x67\x32\x93\xa6\x2f\x18\x8c\x32\x93\x45\xf7\x38\xf9\x89\xbc\xcf\x09\xf8\xf1\x4d\x2d\xdf\x81\x8d\x18\xd1\x05\xba\xcf\xcc\x30\x96\x93\x58\x67\xc6\xd6\x04\x32\xb8\x56\xfd\xdb\x6f\x1a\x7f\x00\xcd\x4d\x64\x2f\x25\x7f\x46\xba\x4f\x3c\x35\x1d\x37\xc3\x14\x20\x8f\x98\x18\x8c\x32\x13\x8b\x58\x0e\x08\xa0\xcb\x42\xc5\xc7\xaa\x5f\x4b\xf7\xcb\x26\x62\xcc\x95\xa6\x92\x13\x9b\x5b\xd9\xe7\x08\x78\xf2\x84\x7c\xd6\xfc\x45\xfc\x4d\x8b\x65\x01\xcd\x3a\xf1\x95\x01\x55\x1d\x24\x97\x3b\x61\x5f\x84\x5c\x20\x42\x10\x12\x7c\x4f\x89\x3b\x23\x31\xf2\x40\x5c\x13\xb1\xe3\x07\x0d\x54\xf2\xcf\x0e\x9a\x68\x8d\x08\x83\x8a\xcd\x0c\x28\xea\xcc\xbd\x72\x37\x03\xd2\x5e\x68\x1e\xf2\x66\xa2\x00\xd9\xa4\x35\xe5\x7a\xec\x9f\x18\xa8\x06\xd9\x54\xbe\x69\xfc\x9b\xc8\x83\x58\x36\x1a\x62\xfc\x03\xb0\x88\x01\x62\x42\x6f\x60\x0f\xc4\x86\x13\x80\xc1\x08\x88\xd7\xcf\x54\x61\xe0\xce\x40\x7e\x23\x78\xa3\xa5\xfb\x4f\x0c\x54\x1a\x01\xe6\x07\xfc\x88\x13\x80\xe8\x81\xff\x3b\x01\xb0\x49\x34\xb9\x17\xec\xa8\x93\xf1\xcc\x54\xa2\xbc\x99\x37\x91\xa9\x9f\x00\x2e\x1b\x20\x03\x1f\x24\x02\x34\x31\xb2\x2b\xec\xa6\xe9\x9e\x99\xb8\x1f\xb9\x9d\x20\xaf\xb2\x6b\x53\xcd\x9b\xc8\x87\x78\x0e\xcb\x1a\x55\x4f\x00\x3f\x80\x4b\x77\x40\xbd\x01\xbf\xfd\xa9\x89\x80\xca\xc0\x0e\xa1\xd5\x04\xb1\x42\x01\x7c\x3f\x42\xb4\x64\xd5\xc8\xa5\x37\xe2\x1f\x80\xb0\x1c\x94\xea\x15\x1e\x1f\xee\x15\x88\x9b\x66\xf2\x12\x81\x18\xcf\x2a\x05\x81\xf8\x15\x72\x8e\x6d\xee\x95\xc1\x4a\x3c\xe1\xa4\xe7\x27\x7a\x6f\x01\xe0\x78\xd2\x60\x6a\x4d\x2c\x73\xb3\xa5\xa3\x0f\x6c\xc3\x5e\x78\xe5\x7b\x65\xc0\x5c\x82\xcc\xd2\xc8\x47\x19\x68\x66\xd5\x08\xaa\x34\x2b\x79\xc1\x40\xd3\x46\x44\xd7\x4d\xc4\x91\x89\xdc\x8e\x91\x95\x01\x16\x72\x7f\xb3\x92\x17\x4c\x90\xfd\xef\x34\x9a\x7b\x7c\x37\x33\xdc\x21\x42\x56\xb8\x90\xab\x4b\xf8\xa4\x05\x3b\x9e\xf0\x19\x37\xaa\x50\x3e\xa0\xc4\xc9\xf2\x2b\x83\x0a\x13\x60\xaa\x89\x78\x5b\x67\x68\x23\x3f\x9d\x9d\xd0\xd6\x07\x2a\xd0\xe0\xe4\x03\x70\xec\xf9\x89\xb7\x4f\x7c\xf8\x15\xc0\xbb\x37\xe2\x9a\xef\x49\xde\xe9\x80\x2c\xd7\x9b\xd6\x2c\xf6\x23\xbe\xab\x00\xbd\xf3\xd1\x9b\xd6\x23\x39\xf4\x81\x78\xb1\xd6\x0e\x76\xaf\x34\x4b\x27\xce\xda\x41\xd3\x49\x66\x80\xdb\xee\xb6\x99\xaa\x9e\x0d\x5d\x81\x7c\x3e\xd0\xcc\xe9\x3e\xa9\x83\xc9\x47\x6c\x57\xa4\x31\x77\xe2\xb9\x33\x44\xc7\x91\x6a\x6c\x76\x32\x4f\x2a\x6f\x85\xdc\xe5\x49\x6e\xd8\x73\x9b\x99\xc6\x56\xab\xc2\x91\x03\x1a\x40\x3f\x4c\x80\x2e\x25\x77\x09\x50\xba\x37\x69\xd9\x70\x10\x48\xfc\xfd\xcc\xc8\x86\x67\xf4\xc2\xca\xb9\x49\x54\xd6\x37\x1a\x47\x92\x83\x83\x9d\x14\x9e\x61\x32\x01\x22\xc5\x00\x51\x91\xf4\xcd\x4e\x4c\x6b\xba\x6b\xee\xc8\x0b\x6b\x96\xf4\x5c\xca\xd4\x9b\xa1\x4d\x06\x37\x86\x25\xc6\x3e\x80\x64\x1a\x3b\x71\xfd\x4e\x6e\xc9\x1b\x07\x47\x6f\x54\x24\xce\xcc\x73\x27\x56\xda\xc9\x83\xd7\xd0\xfd\xe0\x09\x54\x80\xe7\xfa\x4d\x1f\xf3\x9d\x03\x84\x7b\x9e\xab\x3f\x6b\xff\xb9\x53\xb5\xb5\xe1\x06\x10\x11\x4c\xc8\xc5\x90\x7a\x13\xea\xe0\xe4\x1e\x0e\x34\x26\xfe\x5c\xe7\x5e\x51\x1f\x88\x27\xbd\x19\x64\x86\xfc\x29\x01\x3a\xf3\x7f\x17\x1a\x9d\x8c\x6c\x60\x68\x67\xfc\x1c\x3a\x88\xdb\xc8\x14\xa8\x2f\x4d\xa0\x5d\x6c\xa8\x97\xe7\x22\x38\xeb\x06\xaa\x3b\xc9\xe9\x90\xa3\x35\xc4\x0b\x7e\x79\x0a\x9d\x30\xc2\x1b\xb4\x23\x83\x3e\x77\x2a\xb8\x05\xf9\x74\x72\x25\x6b\x82\x23\x46\xde\xf0\xc5\xca\xd8\x1b\xc1\x16\xc0\xdb\x95\xa6\xce\x91\xc6\x95\x95\xa6\xe1\x4c\x53\xc3\x49\xae\xc1\xf2\x08\x20\x2b\x0a\x7e\xab\xce\xcc\x3a\x75\x90\x70\xde\xbb\x3f\xb5\xa1\x5b\x0e\x10\x1c\x11\x70\xf9\xce\x60\x91\x11\x9f\x62\x25\x1e\x49\xa0\x6c\x02\xa4\xe0\x83\x13\x33\x9c\x9d\x90\x2f\x62\x1b\x26\xf6\x6f\xe5\x33\x33\x83\x1b\x56\x6c\xf7\x4e\x8d\x43\xb2\x32\x01\xe2\xb7\x86\x61\x86\x8b\xc4\xd4\x07\x31\x1c\x10\xf8\x4c\xa0\x55\x16\x2a\xda\x13\x3f\xed\xb9\x68\xf0\x9d\x01\x9f\x4e\x10\x4f\x19\x59\xee\xd8\x2b\xfb\xdb\xde\xe5\xc5\x1b\xce\xfd\xec\x98\x4e\x04\x01\x62\x8d\xb5\x80\xa3\x0b\xd5\xf5\x93\xc6\xf7\x27\x1f\xa6\xd0\x04\x7f\x34\xbb\x38\xd3\xe0\x39\x12\x77\x2d\xe4\xcf\x9d\x64\xeb\x00\x4d\xe6\x39\x5c\x1f\x9e\x65\xb5\x27\xf2\x54\x11\xa4\x53\x61\x70\x6d\xa1\xf9\xcd\x1b\x6a\x47\x27\x44\xa6\xd9\x64\xc5\x37\xdd\xc8\x93\x2e\x34\x32\x16\x48\x82\x8d\x10\x21\x41\xde\x1a\x7a\xa3\xfe\x0c\x31\xc1\x12\x3b\x92\xc6\xf2\x70\xd4\xce\x96\xad\xef\x5d\xf2\xa6\x12\x9a\x8e\x8d\x58\x8f\x9c\x95\xe7\xe3\x0f\x1a\x51\x4f\xec\x67\x4e\x9d\x2c\x7c\x66\x1d\x22\xba\x72\xf4\x3c\x07\x36\xc3\x07\x3a\x65\x1a\xb5\xcf\xb5\x93\x23\xef\x34\x1e\x1f\x80\xaf\xb3\xeb\x32\x9a\x6e\x9e\xc8\x5a\x9d\xbc\x90\x06\x99\x85\x1a\x8f\xfb\xf1\x03\xf5\xe4\x4a\xdd\x31\x7a\x13\x24\xa4\x5d\x03\x72\x56\xd7\x4e\x34\x9d\x59\x87\x01\x72\xb9\x9d\x7b\x4f\xee\xe7\x90\x77\x3e\x27\x88\x84\xa8\xf3\xf8\xf0\x44\xb7\x93\x89\xb8\xc5\x48\xec\x6e\x72\x77\x06\x38\x06\x14\x3d\xe1\xeb\x2c\xf8\x4b\x7e\x26\x13\x4d\x40\x3b\xf6\xe9\x80\x7c\xd0\x89\xc4\x6e\xe3\x1b\x23\x4b\xe0\x1c\x59\xed\x8c\x33\x37\x38\x0a\x8f\x7a\x7b\x21\x2f\x1f\x89\x15\xcd\x4f\x19\x00\x94\xfb\x5e\x94\x5e\x23\x3f\xf1\xe1\x9d\x40\x22\x13\xcf\x66\x50\x71\x3b\x24\x42\xc7\xd4\x73\x06\x66\x93\xc9\x21\xdb\x10\x4b\xf4\xc6\x02\x49\x8c\xc5\x38\x10\xed\x2c\xf8\xa0\x05\xff\xff\xf0\x3a\x09\xe4\x46\xfb\xd2\x73\xa9\x13\xe4\x30\x95\xf7\x1a\x12\x6a\x21\x6e\xa3\xd9\x70\x75\x22\x77\x90\x6f\x15\x80\xfe\x41\xfd\x7b\xa0\xf6\x62\x4d\xed\x80\xf6\xf5\xf9\x44\x93\xc0\x41\xc3\x4c\x02\xa0\x5c\x41\xf3\x25\x06\xdf\x98\xaf\x40\x4e\xcb\x9e\xa9\xb6\x73\x3f\x90\x83\x38\x73\x1f\x74\x5b\x21\x5c\x35\x3f\x19\x70\xb6\x91\x19\x43\xc6\x73\x30\x00\xb2\x42\xac\x7e\x90\xdf\x1a\xe7\xde\x48\xb2\xc6\xde\x70\x36\x9e\x1d\x49\xe4\x03\xa6\x12\xc3\x26\x17\x27\xbe\x9c\xda\xf5\x9c\xd8\x2d\xe1\x13\x4e\x63\x1f\xec\x14\x62\x47\xdb\x55\xc8\xb3\x75\x3f\x19\xdf\xa7\x94\x3e\x34\x73\x65\x70\xa0\xf9\xc3\x00\xf0\x2b\x84\x9c\x07\xf6\xd7\x87\x43\x17\xf2\x1e\x67\xb8\x19\x84\x43\x23\xb1\xd5\x03\x90\xd3\x11\xfb\xb0\x78\xbd\x1b\x72\x87\x00\x31\xb3\x13\x56\xae\x8e\x54\xa2\xf9\x4d\x76\x67\xc6\x87\xb4\x9a\x00\xcd\x9f\xd6\xdc\xe3\x4d\xd8\xde\xa4\xe5\xe4\xdd\x0c\xda\x9b\x52\x1f\x76\xb8\x53\x1f\x74\x82\x96\x4c\x73\x8c\x11\x8e\x42\x3e\x90\xc9\xf1\x9e\xe4\xa5\x23\x7e\xab\x7d\xaf\x13\x24\x41\xa8\x3f\x40\xac\x56\xf0\xc5\x02\x68\xe2\x8d\xb8\xde\x7c\x27\x1a\x99\x8a\x83\xd6\x21\x5e\xac\xd4\xb0\x23\x71\x6f\x06\xe0\x3e\x6f\x3d\x6f\x35\x78\x5e\x07\x10\xbe\x91\xef\x52\xbf\x9b\xc8\x85\x6e\xa0\x8e\x13\x24\x9c\x27\x83\x20\x56\x08\xd1\x66\x88\x27\x0d\xa9\x05\xb2\xab\xa2\x53\xa4\x9f\xf6\xdc\x49\x5a\x2b\x32\xbd\x52\x77\xaf\x20\xbc\x0a\x0d\xf9\x07\x8d\x00\x0b\xc3\x8d\x16\xd0\x84\x96\xbb\x67\x5f\x4e\x27\xc1\xbb\x19\xf2\x34\xd2\x14\x1e\x9d\x40\x39\x70\xee\xf1\xb3\x27\xec\xea\x49\xcd\xc9\x9b\x45\x66\x70\x03\x27\xc8\xdc\x01\x2c\xcd\x9a\xfb\x60\x3f\x27\x4a\x3f\xf0\x71\x27\x06\xb7\xad\xf8\x32\x4e\x18\x5a\x69\x2a\x1e\xc2\xf7\x51\x67\xae\xb3\x06\xe2\xe6\x42\xcd\xed\x53\xa8\x33\xb0\x4d\x9f\x89\x39\xe3\xd3\xb7\x88\xb3\x5f\x3f\xea\xc7\xab\x5f\x7f\x6a\x5e\x0f\x6f\xff\x93\xe1\x66\xdf\xbd\xb9\x9f\x18\x6c\x76\x73\xa3\x8e\x35\x1b\xd6\x69\xf8\xdf\x3d\xa7\xe7\xff\x4e\x0f\xef\xef\xd3\xeb\xc7\xbf\x7a\x5d\x1e\xde\x7f\x76\x03\x41\xba\x69\x20\x30\xb8\x0b\xae\xbd\x37\x10\x04\x38\xd2\x02\x6e\xc6\x00\xc4\xe4\xa4\xac\x9b\xe1\x81\xf2\x79\xfe\xc1\x67\x6e\x53\x92\xf2\x34\x55\xc2\x04\x8e\xb8\x32\x16\xee\x02\x8d\xda\xe8\x79\xdf\xe0\x00\x09\xcc\x07\x0b\xa4\x0e\x2b\x30\xa5\x4a\x28\x64\x73\x7e\x81\xf1\x38\x27\xf6\x86\x88\x5b\xbf\x11\xb0\x98\x4c\x8a\xe5\x80\x2f\xa6\x12\x02\x3b\xaf\xdd\xb1\x52\x06\xda\x3b\x67\x47\x24\x44\x8d\x80\xa6\xa7\xd8\xe7\xcc\x47\x4a\xfd\x2b\xfc\xf0\x11\x6e\xff\x85\xf4\xe4\x82\x5b\xb3\xd1\xbb\xbd\xcf\xbd\x84\xb0\x61\x22\x4f\x54\xf8\xe6\x73\xc1\x8f\x3e\x17\xc3\x38\x58\xce\xf6\x5c\x27\x25\xab\x83\xd9\x0e\x27\xbd\xbb\x15\x6e\xa3\x99\x94\x4e\x22\x0c\xce\xf0\x2f\x26\x7a\xf3\x16\x38\xd6\x36\xb8\x62\x4f\xe6\x8b\x17\xf8\xd5\x67\xe7\x92\x02\x56\x31\xd2\xa7\xe9\xa5\xf7\x04\xaf\x88\xcf\x15\x58\x49\xc1\x6d\xa4\xcc\x36\xe6\x16\x26\x78\x86\x02\xf3\xdb\x0a\x26\xc3\xca\x18\xc0\xac\x76\x9e\xa3\xd2\xef\x3f\x52\xde\x9e\xe9\xcd\xf7\x59\x45\x3e\xab\xe9\x04\x84\x3e\x51\x96\xdb\x9c\x47\x99\xf9\x2f\x6e\x26\xb5\xbf\x23\x73\x15\x4e\xdc\xe7\x15\xae\xbe\x01\x4e\x9f\x89\xfd\x70\x98\xc8\xec\x3c\x88\xf4\x81\x45\xd2\x69\x1b\xa9\x4f\xe7\x8c\x0e\xf0\x20\x54\x52\xf8\x01\x2e\x9b\x91\xbe\xd5\x0d\xb8\x96\x97\x51\x7d\xde\xe9\x70\xd3\xc3\xbf\x92\xae\xde\x28\x13\x04\x20\x49\x27\x7d\xd6\x11\x38\xe0\x09\x3c\xe7\x69\xae\xe3\xde\xd3\xeb\x23\x1c\x4c\xce\xd9\x7c\x02\x15\x5b\x09\xf3\x07\x42\x15\xe3\x87\x20\xb5\x7d\xc0\xbb\x64\xd0\x19\xf6\xba\xd2\x03\x7a\xc2\x29\x31\xd2\xd7\xb7\x10\xfe\x06\x9f\xed\x41\xbf\xda\xce\xef\x23\xfb\xee\x50\xb1\x01\x4e\xa9\x9d\xb0\x72\x4b\x7d\xe6\x62\x80\x77\x65\x38\x3b\x3f\xfa\x40\xc8\x37\x00\xc6\x36\x13\xc9\xbc\xd8\x83\x9e\x57\x4b\x55\x50\x92\xac\xc8\x50\xa6\x5c\xb2\x00\xd5\x5c\x00\x75\x6f\x94\x77\xdc\x3d\xaa\xc0\x85\x0e\x6f\x00\x61\x5e\xb8\xcd\x58\x66\xe6\x4a\xa0\x2f\xf4\x24\x4d\x94\x81\x34\x38\xd7\xb9\xf1\x8c\xb1\xc7\x01\x5e\xfe\x9d\x90\xf6\x00\x1a\x71\xc2\x77\xe3\x3c\xb7\x3b\x29\xcc\x4c\xe9\x29\xe4\xde\x2c\x95\x70\x3b\x13\xdf\x3b\x00\x45\x5c\x68\xfe\x89\x84\x46\x5e\x3e\x31\x53\xbf\x92\xee\xa4\x31\x67\x74\x8e\x47\x66\xaa\x26\xca\xce\x95\x12\xce\x4a\x6a\x75\xe4\x6c\xad\x3e\x23\x97\xf4\x8a\xa5\xa0\x28\xb1\x48\x8f\x65\x1a\x24\x22\x5c\x49\x56\xf2\x87\x5f\xbc\x10\xb2\xac\xf0\x77\x1b\x67\x76\x26\xad\x42\xbf\xe6\x94\x7a\x09\xde\x38\x65\xe6\xde\x38\xb2\x95\xce\x3f\x17\x97\xee\xfe\x8d\xcc\x1e\xdc\x69\xa0\x30\x4e\x2f\xe6\x8a\x14\x9e\xf3\x38\xfa\x3c\xd1\x99\x52\xea\x71\x76\x0e\x2c\xeb\x39\xf6\xe6\x1a\x60\x09\x16\xae\xf1\x6f\x83\x26\xb2\x9f\x05\x58\xe2\x49\xd9\x42\xe7\xe2\xa9\x57\x96\x19\x3d\x16\x52\xfb\x5c\xf6\xd0\xe7\x60\x67\xca\x57\x3b\x29\xcb\x79\xef\x5c\xb1\xd6\x08\xb3\x51\x1a\x01\x5a\x73\x00\xd7\x33\xae\x20\x5c\x45\x4b\x5f\x4c\xf4\x7f\xc2\x29\x75\x7a\x73\x0a\x3c\xb3\x1b\xa9\x8d\x82\x8c\x15\x38\x22\xbd\x84\xb0\x50\x0a\x33\xde\x51\x20\x2a\x06\xeb\x20\x44\x1b\x98\x19\x56\xe9\xb1\xcd\xcc\x53\xdb\x80\x5e\xce\x34\x62\x45\x1a\x9b\x0a\x8d\x32\xd6\x8b\x5b\x7a\x48\xb4\x73\x7e\x0a\xdc\x8b\x0b\xfa\x68\xa4\xcf\xf8\x09\x22\x04\x3c\xd9\xb8\x40\xd7\xce\x53\x19\x29\xaf\x27\x52\xa2\x3b\x10\xd0\xd1\x79\xa4\x81\x7a\x4c\x40\x61\x67\x66\xe8\x9c\x94\x6d\x22\xe9\x4e\x3d\xb3\xf1\xe2\xd1\x3c\x38\x33\xef\xe7\x70\xae\x6b\x60\xb5\x11\xc8\x83\x43\xc4\x8c\x73\xdb\xd3\xa7\xf4\xbd\x67\x66\x40\xd9\xac\x02\xf8\xdb\x0e\xc2\x0f\x6b\xf4\xf1\xb2\xfa\xd2\x79\x7a\x4e\x52\xd7\xba\x87\x44\xd9\x79\x86\xff\x60\x08\xdd\x17\x71\x7d\x10\x68\x3c\xf3\xb9\x6b\x1e\x26\x3e\xf1\x2f\xc0\x0b\xe1\x5c\x61\x36\x4f\xd4\xf9\x3e\x49\xcf\x4c\xcc\x29\x9c\xe1\x5c\xcd\xd8\xb8\x95\x75\x8f\xa5\x37\x56\x25\x9f\xdb\x1e\x7b\xe3\x98\xa5\xfd\x23\xf2\x88\x6d\xa9\x7b\xbf\x8f\x9d\x26\xa8\x80\xae\xf0\x90\xd1\x4a\x99\x27\x5c\xb1\xf4\xb0\x5b\x19\xeb\xfc\x7e\x68\x70\x70\xa6\x2a\x25\x12\x9b\xe7\xb0\x7c\x3a\x34\xf8\x9e\x27\xfa\x99\x41\xc2\xf7\xae\x73\x1b\x2e\x7c\xcb\x2f\xbf\x4a\xfa\xed\x0f\x75\xaa\x7c\xef\x12\x7f\x72\x08\xf1\x43\x0f\xf1\x13\x07\x13\x9f\x7c\x0c\x0f\x2b\x96\x31\xfe\x45\x45\x15\x8f\x9f\x1d\x56\x6c\xd0\xf1\x1f\x99\x6a\x3e\x23\xe0\x07\x68\xd9\x9c\x4a\x75\x9b\xfa\x18\x0b\xef\x6c\x48\x7c\xc7\x78\x53\x99\x9b\xa0\xa0\xf2\xf1\xd2\x99\x1e\xaa\x42\xd5\xb9\x52\xc5\xcf\x73\xa7\x56\x76\x4a\xb3\x13\x24\xb7\xf5\x1c\xc6\x66\x36\x2a\xae\xff\x00\xed\xf7\x49\x76\xcf\xdc\x76\x4c\xc1\x46\x3f\xa7\xf7\xae\x49\xfd\x18\x05\x09\x88\xfe\x81\xe3\xf5\x44\x59\xb5\x77\x3a\xb5\x84\x8b\x70\xec\xbd\x4f\x36\x70\x6d\xaf\x60\x4f\x50\x7e\x06\x3a\x1d\x26\xdc\x9e\xec\x5d\x1c\x4b\xaf\x98\x5b\xd5\x99\xae\x1e\xef\x4b\x9d\xb6\x5e\xfd\x75\xea\xbb\xd5\xfb\xdf\xa8\x78\x4c\xb8\x3d\x23\xae\x5a\xa4\xa7\x77\xc3\x8d\xdc\x18\x71\xe0\x54\x12\x4e\xf3\x36\x60\xd2\x0b\x63\xee\x17\xcc\x89\x67\x12\x2b\x55\xdc\x9d\xca\xdd\xe0\xb4\xe5\xde\xfd\xc3\x78\x2d\xb9\x40\xae\xda\x07\xb2\xb0\x1e\x96\x6d\x54\x12\xb5\x6f\x0b\x7d\xd8\x27\x19\x4d\x73\x35\x40\xe0\x3c\xf5\x1c\x42\xff\x91\x31\x39\x09\xe4\xd0\x8e\x4b\x68\xe6\x3d\x75\x2a\x7b\x43\xa5\xd3\xa9\x52\x41\xcd\xce\xa5\x8f\x1a\x08\x3e\x2a\x9e\x6a\xd0\x09\x1d\xcc\x10\x6f\x4c\x56\xa0\x62\x4c\x95\xe5\x84\x4a\x6f\x38\x7a\x66\x7e\x82\x0a\x7a\x44\x2e\x8d\xf2\x84\xcc\x57\x64\x94\xcc\x4e\x86\x78\x60\x2c\xc5\xc4\x68\x91\x83\xf0\x70\x66\xb4\xa3\x57\xc8\x6d\x04\xd0\xd1\xdc\xe3\x89\xea\xf6\x02\xf5\xac\x53\xc4\xbb\x6b\x63\x67\x25\x83\x90\xc2\x34\x1d\xb8\x34\x36\x8e\x99\x51\x97\x11\xe4\xf2\xe6\xd9\x39\xaa\x2e\x81\x0c\x68\xa5\xfa\x50\x19\x63\x64\x55\x9c\xda\x51\x61\x09\x44\xe0\x46\x28\xe6\x99\xe6\x93\xaa\x82\x21\xd2\xbc\xd2\x40\x78\x64\x55\x7f\xdf\x23\x3a\x3b\x06\x52\x0c\xd5\xe9\xde\x19\x5b\x3a\x11\x92\x5b\xa7\x0d\x95\xe7\x99\x71\xec\x85\x6e\x2d\x43\x98\x82\x26\x35\xc4\x36\x54\x27\x33\xc8\xb6\xc5\xab\x8c\x64\xc0\x46\xc6\xfd\x58\xf6\x1f\xd4\xcf\xcc\x28\x18\xab\x62\xf2\x4c\x07\x61\xb5\xd1\x77\x41\x89\xb2\x38\xc2\x1e\xea\x8d\x99\x50\xa3\x3a\x55\x17\xa9\x8c\x93\x11\x00\xde\x65\xb4\x33\xde\x68\xe5\xcc\xfb\x38\x8e\xf3\x66\x2c\x8b\x21\x49\x19\x41\xb0\xb1\x86\x89\x4c\x5c\x65\x04\xe6\x12\xfb\xc8\x76\x3d\xa3\x5e\x2f\x74\x39\xd4\xb1\x77\x8f\x14\x28\xec\x26\x77\x5d\x18\x45\x34\x50\x81\x9e\x09\x59\x36\xfa\xe7\xbd\x2b\xc3\x51\x00\x27\xf4\xf4\xde\x9b\xba\x3a\xf5\x20\x94\xa3\x81\x0a\xb6\xf5\xe2\x1f\xbd\x6a\x6f\x3a\x9d\xca\x48\x86\xfa\x6c\xc1\xdd\x1f\x19\x35\xb7\x41\x6f\xa7\xd0\x78\xa6\x6a\x39\xe1\x16\x66\xd0\x33\x8b\xa3\xa1\x42\x47\x21\xef\xe8\x01\x47\x9c\xce\x20\x4f\x32\x3a\x65\x85\x0a\x34\x81\xda\x99\xa1\x91\x8d\x50\x4d\x19\x75\xb6\x8f\x37\x80\xcb\xc0\xf5\x79\xc4\x9e\xec\x5e\xa1\x86\x8e\xc6\x91\x5e\xcb\xd2\x33\xaf\x85\xb1\xf8\x95\xac\xae\xa5\x84\x4e\x7a\xcb\x6f\xe8\x7f\x36\x1f\x4b\x09\x85\x8c\xa3\x59\x46\xba\x33\x1d\x59\x5c\xd9\xbb\x95\x0a\xa2\xf5\x5d\xf3\x0c\x1e\xf6\x9c\xf4\xad\x3b\xc7\xc5\x3a\xde\xd8\x4b\xec\x82\x77\xae\x9c\xe8\x7d\x97\x1b\x1b\xad\xe1\xe3\x5e\x40\xb7\xf9\x3e\x2e\x84\xf1\x95\x3e\xec\x8c\x7e\x1c\x19\x6b\xe9\x68\xed\x03\x7d\xe9\xf4\xa8\x3b\xef\x29\x74\x6b\x1c\xf0\x14\x8c\x84\x17\xde\x85\x11\xcf\x4e\x4b\x6d\xa3\x18\xa0\x01\x0b\xf0\x3f\x68\x5d\x2b\x94\x83\x3a\x9b\x27\xe1\xed\xca\x88\xca\xb2\xf6\x51\x8a\xdf\xeb\x8f\x86\x62\x6f\x86\x3a\x67\x9b\x7f\xb8\x3f\xfa\xfb\x2e\xcc\x4f\xe1\x8f\x3e\xfe\x71\x87\xf4\xf1\x4f\xf2\x48\x1f\x3f\xdf\x25\x7d\xfc\xef\xf2\x49\x1f\x3f\xee\xab\x9e\xd7\xbf\x14\xa7\xf4\x9f\xde\x7d\x78\x5f\x3e\xdf\x27\xf5\xae\x2e\x4f\x75\xe7\xee\x93\x6e\x9c\x47\xf3\xc3\x38\x37\x0b\xf4\x9d\x23\x69\x9a\xc0\x18\xbf\x3c\xf4\x71\xba\x27\x1d\x70\x46\xab\xed\xc8\x20\x46\xdb\x7a\x5a\x5c\xba\x6f\x24\xd5\x2d\x99\xcf\xa0\x8b\x12\x29\xd1\x13\x8a\x5e\xa7\x72\xdd\x41\xab\xb9\xdf\x69\x3c\x20\xa4\x2d\xfd\x2c\x4e\x9e\x96\x21\xad\x54\xe8\xe8\x9e\xe8\xe4\xb4\x71\xe4\x74\x1c\x14\x46\x51\x2d\xe8\xd3\xe4\xe9\x17\xfc\x97\x8c\xef\x10\xa1\xe0\x9b\x9c\xa7\x03\xe4\xd9\xc9\x28\x0e\x4f\xf1\x38\x4f\x49\x04\xf5\x7b\x12\x5a\xc6\xb5\x57\x53\x67\xa7\xba\x62\x64\x6f\x82\x5e\x72\xf4\x31\xe8\xa1\xd9\xc9\x19\x7f\x62\xa6\x63\x70\xa2\x7a\xbc\x40\x51\x19\x18\x31\x70\x82\x80\x3a\xa1\xcb\xdf\x53\xf7\x69\x2b\x5d\x0e\x8b\x23\x2a\xb0\x3f\x81\x8e\x8e\xe4\xa8\x61\xc6\xc4\xae\xd8\xbe\x19\xba\x71\xb3\x53\x20\xae\xbd\x9b\xcc\xfc\x7d\x2a\xb1\x05\x7a\xcc\x04\x2a\x6d\x65\xb4\xd5\x46\x67\xe9\x4a\xe7\xdd\x84\x0f\x3b\xe3\x2f\x4f\x70\x48\x24\xd0\xbb\x5e\xf1\x4d\xa0\xc5\x0f\xa7\xe7\x9c\x5b\x3a\xc4\xaa\x95\xd0\xfc\x45\x68\x08\x0d\xd5\x4d\x25\x36\x61\x53\x07\x68\x4a\x6d\xcc\xcc\xd2\x47\x3b\x54\x50\xf4\x2b\x48\xa6\xca\x68\x64\xa3\x4a\xa6\x5a\x3a\x23\xaf\x9e\x2e\x3d\xa8\x00\x6e\xb1\xd3\x60\xda\xb8\xe7\x0d\xff\x02\xdb\x36\x7a\xea\x62\x44\xb6\xa1\xc2\x9c\x49\xf3\x2d\xa4\x5b\x4e\xfc\xba\x0a\x27\xd2\x89\x6f\x7b\x82\x1c\x3e\xe0\xb6\x59\xe9\x76\x9c\xe8\x84\x97\xbd\x99\xf1\x4d\xf7\xdc\x79\x94\x9c\x92\x75\xf2\x0e\x60\xd0\x3c\x01\x0e\x98\x48\xea\xc7\xc7\xb6\x59\x27\xc4\xd0\x3b\xde\x12\xc8\xa0\x8d\x6e\x24\x93\xad\x95\x4a\xa9\x8f\x4e\x07\xd9\x54\xdd\x17\x87\xad\xc0\x46\x38\x30\x42\xc0\x7c\x91\xf9\xfb\x76\x29\x90\x96\x3e\xd6\xde\x85\xdb\x69\xdc\x3e\x6d\x97\x9e\xb4\xd8\x9f\x69\x96\x9e\xae\xf3\x49\xab\xf4\xa0\xdf\xfe\x98\x51\x7a\xba\xc4\x7f\xda\x26\x7d\xfc\x10\xff\x55\x26\xe9\xf6\x31\xb0\x48\xc6\xbe\xf6\x97\x61\x90\xfe\xf9\xfe\x75\x79\x7b\x94\xbf\x7b\xf7\xf0\xe6\xf3\x2b\xb0\x47\x67\x6d\xbe\x25\xfe\x18\x9d\xcc\xc3\xa7\xce\x90\x41\x3c\x00\x11\x59\x26\x13\x55\x91\x61\x02\xdf\xa0\x84\x3b\x9d\xe2\xeb\x84\x84\x03\xe6\x64\x4f\x71\x18\xa9\x85\x03\x6b\xa6\xde\x5c\x92\x98\x48\x31\x72\xdd\x4a\xb5\x27\x02\x9e\x9f\x7d\x62\xc1\xda\x1b\xb2\x12\xd3\x96\x0f\xc8\x3b\x36\xa6\xe4\x8d\x4e\xc5\xe6\x14\x6c\xa4\x67\xd6\xb9\xd3\x63\x9d\x34\xfb\x4d\xde\x04\xcb\x7a\x6d\xd0\x60\x79\x45\xf6\x64\x02\x81\x4f\x06\xaa\x3e\xed\x92\x46\x9a\x81\x90\x6b\x26\x85\xb0\x43\x23\x65\x6b\x4b\xb3\xf5\x0c\x73\xf3\xc4\x35\x46\x07\x2b\xd1\xb8\xeb\x59\xd1\x0c\x45\xda\x48\x85\x62\x07\x74\x96\xa1\x47\x4a\x4c\xf0\x3e\x70\x55\x6d\x4a\x7f\xec\xa0\xa9\x9d\x69\xfe\x5e\x35\xaf\x54\x2c\x2d\xbb\x3e\x77\xc6\xfa\xe8\x40\x22\x9f\x14\xeb\x19\x67\x9f\x62\x59\x3b\xbd\x5b\x04\x04\x39\x00\x18\x3c\x79\x8e\xc0\x9f\x0a\x9b\xe9\x48\xc3\x4a\xa2\x32\x39\x00\xc4\x32\xc2\x81\xd0\x1b\x51\x7d\x62\x83\x55\x3d\x00\x78\xd9\x44\x04\xaa\x4d\xf3\xdc\x41\xbe\x27\x20\xf7\x81\x29\x6a\x3e\xb9\x25\x51\xf9\x1b\x00\xd5\x0e\x73\xaf\xf0\x45\x9a\x08\x8c\x44\x03\x10\x4e\x0c\xbd\x22\x9d\xa9\xa0\x9f\x33\xe0\x33\x9a\xe5\x03\x53\x20\x4e\x9f\xaa\x34\x11\x42\x00\x10\x8e\x54\x9c\x07\xd6\x73\xf1\x89\xc1\x91\x49\x80\x4c\x2b\x49\x34\xd4\x8d\x4c\x5e\x39\xa8\x98\x0d\x54\x24\x2d\x94\x22\x4c\x32\xd7\x05\x5a\x36\x6f\xd6\xa8\x00\x9f\xd3\x76\xd3\x6c\x33\xb5\x67\x9a\x98\x2a\x74\xc0\xee\xeb\x13\xf3\x37\xb2\xe9\x0e\x06\x5f\x48\x55\x2c\x4c\xea\xb2\xc6\x43\x00\x83\x83\x4f\x5e\xc6\x54\x16\x52\x9b\x19\x66\xe9\x02\x49\x8a\x37\xfd\xce\xa4\x07\x7d\x2a\xb2\x03\xd7\x37\xdc\xd1\x1d\xa2\x93\x8d\x6a\x9a\xd6\xc2\xc8\x1b\x48\x53\x18\xfd\xda\x48\x3a\x8c\xa6\xe0\x0d\x73\x3c\x01\xca\x1b\x98\x10\x96\xdc\xc4\x7b\xb5\x96\x26\xce\x42\xf5\x35\xe2\x22\x6c\x5e\xf1\xf7\x06\x19\xaa\x9c\x23\x6e\xa6\x11\x63\x50\x25\xb1\x29\x88\x90\xf4\xb8\x2b\x15\x7d\xaa\xc4\xd0\xc1\xe7\x83\x57\x94\xc7\x3e\xd1\x6b\xf2\xc6\x47\x2a\x29\xe6\xee\xd0\x88\x1c\x99\x52\x97\xd6\x3e\x59\x3d\x02\x10\xb5\x54\xc6\xc4\x54\xc7\xbd\x33\x65\xef\x80\x29\x9f\x9a\xc1\xf7\xce\x14\xbe\x39\x3b\x37\xae\xfb\x0a\xbd\x57\x84\x02\x2d\x30\x91\xd6\xa8\xdf\xf6\x0e\x46\x4e\x34\x15\x8f\x43\x9f\x98\x5e\x01\xb2\xd9\x84\x7b\x00\xbd\x2b\x0d\xa3\x23\x04\x43\x53\xe9\xd3\xbc\x4e\xdc\xd7\x11\x22\x8a\xcd\x27\xd5\x33\x71\xa2\x40\xf6\xb0\x51\xb1\x31\xca\xbf\xad\x37\x25\xef\xa4\xd0\x76\x80\xa2\x0b\x55\xa7\x73\xea\x13\x39\x8c\x75\x1a\xaa\xb9\x9d\x89\x17\x27\xe9\xca\x89\xa9\xa2\x91\xa9\xd0\x13\x53\x2e\x22\x4d\xb1\xd2\x57\x91\xa9\x36\x0b\xe9\x63\x23\x9c\xc2\x95\xdc\x21\x85\x3a\x69\xfc\x8c\x4c\xe7\x0d\x30\x65\xcf\xa4\x52\x82\xa3\x48\x68\x66\xa9\xb8\xcb\xab\x83\xe7\x60\x18\xae\x34\x27\x47\xae\xbb\x01\x16\x5c\x99\xa2\xbb\xd0\x80\x79\xd6\x3e\xe5\xf8\x80\xd1\xdf\x68\xfc\x5c\x57\xe1\x02\x56\x52\x6e\x1b\xac\xe4\xd1\x09\x5e\x48\xfd\x8e\x30\xcc\x0f\x34\xab\x9d\xa4\xc3\x23\xd3\xde\x6d\xb2\x93\x4f\xe8\xf5\x8a\x68\x46\xbe\x77\xf6\xb9\x74\x12\x93\xc5\x5d\x55\x90\x1f\x01\x64\x52\x24\x9d\x35\x79\xa3\xbf\x4f\x88\x80\x45\x3e\x9c\x7d\xaa\x72\xa2\xb1\xf7\x44\xef\xfb\x44\x29\x03\x10\xd2\x48\xed\xc8\x05\x9f\x0a\x65\xc0\x58\x26\x38\x1c\x34\xe2\x7a\xa3\xd3\x44\xa3\xe9\x49\x93\x41\x04\xa9\x73\x1c\x7d\xb2\xc9\x92\x3b\xa8\xde\xec\x1d\x21\x50\x61\x92\xd0\x4c\x08\x98\xb7\x2e\x93\x99\xe9\x6d\x91\x49\x77\x11\xea\xd4\x44\xf3\x5f\x26\xdc\x0a\x4c\xde\x28\x4c\xd1\x2e\xc8\xd3\x08\x31\xc4\xc8\x94\xa5\xec\x7b\x12\x3b\x29\xc2\x41\xc8\x9a\x91\x91\x27\xe4\x07\x8c\xea\x01\xfa\x3d\x9b\xba\xe4\x13\x98\x52\x27\x48\xf3\x49\xcf\x96\x2e\xc4\x7f\xb0\xa9\x8f\x81\x86\x63\x52\x6a\x33\xcd\x5f\x4e\x2f\x39\x53\x2a\x5a\x99\x7e\x36\x13\xb6\x18\x70\x13\xbf\x60\x21\xa5\x15\xa0\x53\x5d\x61\xb5\xb6\x29\xfc\x34\x92\xd9\xb4\xb6\x04\xeb\x75\xa0\xb2\x4e\xda\x6f\x71\x82\xb3\x0d\x66\x69\x08\x4d\x4e\x74\xf9\x42\x78\x93\x48\xd7\x1f\x4c\xae\x75\x40\xeb\xe9\x4d\x55\x34\xfb\x07\x88\x99\x2a\xe4\x30\x81\x06\x84\x03\x80\xbf\xfb\x07\x36\x59\x73\xa4\x31\xa9\xde\xa6\xd4\x6e\x42\x1c\x64\x3f\xfb\x84\xd8\xe5\x96\xc2\xf0\xd3\x21\xce\x47\x7e\xf1\x9f\x19\xe8\x7c\x74\xb5\x4f\x86\x3b\x8f\xed\x3d\x3f\xab\xef\x1e\xde\xfc\x58\xd4\xf3\xd1\xf5\xfe\xd3\xb1\xcf\xa7\x9f\xee\xbf\x2a\x02\xfa\xc4\x93\x79\x6a\x6e\xdf\xff\x62\x50\xa8\xac\xc9\x67\x47\x41\x99\x16\xf9\xe8\x05\xe3\x4c\x02\x87\x64\xc5\x6d\x72\xae\x40\xeb\x12\xd1\xec\x33\xf8\xa1\xf3\x16\x8b\x8a\x06\x9b\x69\xc3\xd8\x9d\xc0\x75\x62\xce\x11\x45\x86\x03\x4f\x3c\x42\x4b\x34\xf1\x7d\x36\x37\x9d\x96\x64\x9f\xe1\xbc\xd3\x8e\x59\x98\xa5\x31\xcc\x7d\x1e\xc2\x12\x7b\x54\x34\x12\x11\x58\xfb\x1e\xb3\xa1\x37\x66\xe3\x04\x2f\x4e\x51\xc8\x1b\x7c\xfe\x1c\xc5\x8b\x95\xb6\x75\x9f\x61\x9e\x28\x9a\x24\xe6\x54\x26\x3c\xb6\x33\xf6\x99\x2c\x03\x94\x3d\x33\x6d\x1d\xe6\x09\x1c\xcc\x21\xf4\x39\x69\xd0\x81\x8d\xdc\xdf\xee\x9e\x1c\xf4\x29\x23\xad\xd4\x89\x75\x19\xc1\x1e\xc5\xb9\xb7\x54\xb8\x55\x3f\xa0\x60\xdb\x98\x23\x1d\x80\xc0\xdb\x3c\x01\xda\xca\x76\x8a\xe5\xc5\x49\xab\x79\x9e\x09\x0a\x22\xc7\x64\xcd\x58\x39\x9f\x01\xbb\xa3\x0d\x8f\xdc\xb1\x2b\x66\x69\xbd\xad\x9e\xf9\x67\x89\x62\xc7\x8c\x97\x76\xba\xb7\x43\x34\x35\x72\xcd\x99\xd9\x97\x1b\x89\x21\x59\xcb\x9a\x7a\x0b\x92\x93\xd6\x0e\x14\x88\x4c\xfe\x88\xc4\x66\x68\x2c\x0b\x18\xd7\x65\xbd\x69\xff\x60\x5f\x16\xc7\x63\x9d\x9d\x4a\xe6\x64\x46\xaa\x53\x55\x49\x96\x0f\xc7\x11\x01\x1c\x38\x86\xee\x91\x4d\xcc\x1e\xa9\x6e\xf5\x99\xa3\xe5\x89\xbe\xc4\x0c\xf2\xd9\xad\x6d\x69\x72\x69\xf3\xdd\xc6\xde\x2a\x53\x21\xc2\x9d\x68\xe7\x5d\xa0\xc1\x2c\x73\x9f\x15\xb3\xd0\x0a\x38\xd3\xa2\x17\xa0\x18\xf0\xc8\xe0\xa9\x7d\x8f\xe2\xf8\x0c\x1e\x2e\x83\x03\x1e\x98\x85\x3b\x92\x78\xd6\x35\x4e\x9f\x89\x80\x87\x3f\x80\xf5\x2a\x14\xdf\x22\xde\xd2\x84\x77\xe8\xf3\xf6\x56\x12\xe1\x3e\x47\x71\xe2\x59\x06\x8a\xec\x19\x1a\x95\xc2\xbd\x27\x8a\x97\x0b\xb8\xf3\x13\xaa\xbc\x02\x8d\xe9\x08\x7d\x82\x01\x34\x3c\x79\x4a\x1b\xeb\x99\x7b\xcb\xae\xb5\xdd\x73\x1e\x2d\xcb\x80\x6c\x1c\xb4\xe6\x64\x2f\x54\x41\x7f\x7a\x38\x7e\x8c\xb6\x37\xf3\xd0\xc0\x90\x25\x5a\x6a\x07\xda\xd4\x4f\x28\x40\xb4\xce\x13\x54\x48\x1b\xad\x16\x1e\xb9\x98\x67\xb5\xb6\x67\x1a\x89\x1a\x47\xf0\x76\x3a\x4f\x27\x6d\xff\x69\xec\x6d\x58\x86\x0b\x4f\x7d\x1e\xa9\xcf\x2a\xb6\x73\x0a\xc5\x8d\xf6\xce\x67\x99\x2c\xac\x6b\xf2\xc8\xd8\xa9\x31\xc8\x22\xd9\xf3\x2d\x9d\x2e\xd1\xe6\x3e\x3a\x55\x25\xed\xf3\x3e\x33\x76\xa3\xc5\x78\x64\x3e\x89\x79\xb9\x78\xf9\x13\xd4\x99\xc3\xd9\x69\x2b\x32\x74\xae\x9b\xcf\x8f\x05\xec\x92\xf7\x4e\x21\x68\xb4\xb0\xa5\x7d\xbe\xe2\xe1\xed\xd0\x2d\x45\xb0\xdd\xe6\x8d\xd0\x82\x35\x32\x4b\xd8\x92\xf8\xd0\x9d\x55\x40\x45\xb3\x17\x14\x69\x8d\x1b\xa0\x52\x71\x4a\x8f\x19\x72\xe6\x05\xfa\x05\xa3\x20\x60\xbf\xb4\xf7\x95\x39\x6c\x4e\x9f\x38\x40\xf9\x54\x29\xea\x44\xe6\xbb\x39\x96\x39\x80\x23\xf7\x19\xac\x23\xad\x44\x0b\x2d\x3b\x56\x24\xa6\x30\x1f\xc0\x20\x9b\x1d\x20\xa3\x30\xfa\x6c\x76\x22\x5a\x9f\x41\x5f\xa0\x79\xb5\x88\xc0\x33\x70\xb5\x53\x16\x0d\xe0\xf4\x07\xec\xde\x42\xdb\x9a\xcf\xe1\x19\xc0\x06\x06\x9f\x41\xce\xb5\x37\x32\x1f\x99\xe2\xce\x0c\x5e\x3b\xd2\x72\x9c\x99\x29\xba\xd0\x8a\xeb\x2d\xde\x13\xad\xfb\xeb\xd1\x67\xf6\xfa\x99\x58\x28\x52\x07\x22\x2e\xe9\x06\x93\x67\xda\x57\x2d\x42\x00\x0f\xbc\xd2\x92\x99\x89\x98\x0b\x73\xcf\x2b\x2d\x7b\xd6\x6e\x4d\xcb\x97\xd3\x01\x65\x97\x71\xd6\x77\x60\x56\xbe\xcd\xcc\x29\x7d\x66\x6f\x65\xbe\x57\x62\x0e\xf4\x0a\x8d\xd4\x14\xba\xce\x9a\x58\xeb\x3d\xf4\x76\xf0\x08\x8d\x52\x61\x30\xc2\x72\x74\x99\xda\x68\x51\x0c\xde\x8e\xea\x60\x1c\x40\x34\x09\x2c\xfe\xcc\x4c\x5a\x6b\x9f\xba\x01\x24\x0d\x60\xba\xeb\x0d\x75\xe4\xce\xbc\x9e\x99\xec\xa1\x51\xab\x6e\x4d\x6e\x27\x00\x46\x0b\xf8\x59\x1f\xf4\x20\xfd\x5e\x69\x71\x9d\x4a\x7f\x7f\x00\xf3\x6a\xd1\x87\xcf\xc6\x26\xf2\xb1\xfd\xf6\x99\x94\x99\xb9\xb8\xf4\x1c\x6c\x7b\x9f\xf9\x5f\xe6\x0e\x58\xd8\x19\x6c\x90\x19\xea\x71\x90\x15\x9b\x89\xda\x33\x05\xa1\x05\x80\xd2\xc0\x2c\xd6\x85\x0c\x69\xc6\xe6\xcf\x14\x63\x2a\xb6\x3b\x12\x75\x78\x24\x3f\xee\x9f\x28\xec\x07\x48\xe6\xd1\xf7\x79\xf8\x93\xa3\x8b\x9f\x2e\xb2\xf8\xb1\xa8\xe2\x4f\x0c\x28\xfe\x9c\x60\xe2\xbf\x2f\x90\xf8\x38\x86\x58\xb6\xbf\xb0\x18\xe2\xf3\x51\xa7\x99\x89\x09\x4f\xa5\x94\x78\x33\x0d\x87\xd7\x56\x0e\x48\x01\x29\x35\xc2\xf9\x31\x7a\xcf\xec\x0a\x62\x87\x3e\xe9\x08\x8f\x5f\x2c\xdd\x10\x65\x2a\xe1\x27\x28\xbb\xc3\x79\xa4\xd6\xce\xfb\xba\x38\x87\x57\xbe\x19\xec\x4a\xd3\x42\x24\x1d\x9f\x99\x66\xe1\x1c\x5e\x85\x00\xa7\x32\x04\xb9\x82\xca\x91\x71\xf0\x61\x6e\x11\xa4\x94\x4f\xf7\x98\x00\xfb\x1b\x87\x01\x3d\xb3\xa7\xf3\x7e\x4f\xdc\x0b\x0e\xd9\x00\x4a\xaf\xd0\x6f\xba\x81\xbe\xdc\x1d\x11\x49\x5a\x28\x50\x5d\x5e\x08\x22\x2a\x3c\x2b\x09\x07\xcd\xb9\x86\xd2\xda\x87\xa5\x0d\x0c\x6c\x3b\xa9\x88\x6f\x20\x44\x7d\xe0\xf9\x80\x81\x93\xa3\x67\x68\x59\x14\x6b\xa4\xf4\x91\xe1\x03\xb1\x06\x91\xd4\xa7\xdb\x0c\x28\x4b\x1f\xba\x35\x53\x19\x4f\x20\x8c\x0a\x7c\x25\x3b\x1c\x60\x2b\xc3\x7f\x17\xca\x3c\x1b\xfd\xfa\x2b\x86\x31\xd1\x2c\x78\xd0\xf7\x1b\xcf\x3e\x38\x38\xc0\x2d\x39\x52\x2e\xda\x41\x57\xce\x0c\x62\x37\xb4\x24\x0d\x89\x19\xe5\x66\x1c\x0f\x04\x81\x09\x6e\xb8\xe2\x83\x28\x07\x10\x85\xf4\x46\x3b\x3f\xcf\xc2\xc0\xe3\xec\x53\x97\xbc\x67\x9e\x34\xf1\xce\x7e\xce\xa4\x94\x2c\xa8\x61\x28\x7a\x22\x68\x4c\x9e\xda\x75\x6e\x16\x02\x89\x14\xfb\xa0\x31\x4b\x87\xd3\x6c\xb0\xe3\xd8\x9f\xf0\x12\xee\x70\x18\xda\x90\x46\x1a\x11\x7d\x82\x4f\x66\x80\xde\x82\x4c\x6f\x7b\xaf\xe6\x5b\xd3\x04\x3c\xb0\x3b\x7c\x4c\x27\x25\x94\x61\xee\xc3\x7f\x47\xb8\x93\x3c\x18\x9e\x31\x9a\xd6\xd4\x09\x1f\x6c\xa1\xdc\x64\xcd\x5f\x53\x9f\x2e\x55\x9c\xf3\x18\x54\xef\x36\x77\xae\xe9\x01\xf4\x70\x06\x49\xb1\x92\xe6\x5b\x49\xb3\x26\xd2\x9e\x0b\xc3\x53\x23\xdc\xae\x3b\xc3\xe0\x2d\x7d\x0b\x72\xd3\x38\x21\x69\xec\x88\x8e\x22\xf6\xc1\x96\x04\x0d\x95\x80\xaa\x38\x2a\x11\xd4\x87\x71\xd7\x3a\x87\x0a\xe5\xd4\x15\x2e\x8d\x04\x97\xad\xad\x09\xc3\xc2\x13\x9c\x38\x2b\x29\xe6\x91\x86\x91\x19\x67\xfc\x00\xa5\x99\x48\x4f\x0e\x70\x36\x9a\x71\xa7\x1c\x36\xc3\x8d\x5f\x39\x73\x1b\x08\xf8\xe4\x3c\x1f\x70\x28\x9e\x70\x64\xdb\xb4\x17\xd0\x3f\xc1\xd3\xe3\x94\xfd\x06\xd6\xc7\x51\x27\x9e\xb2\x1e\x41\xc4\xec\xf0\xfd\x18\xb2\x91\x19\x00\x33\x81\xfc\x84\xae\x3a\x68\x86\x8d\xc8\x9d\x0f\x76\x8f\xf0\x4e\x5b\x82\x00\x9e\x97\x0a\x57\x84\xee\xc3\x27\x6f\xd9\xf3\xc0\xb9\xe1\x9c\xfb\x89\xb4\xe5\xe9\x4d\x86\x05\x64\x08\xfa\xc5\x75\xf0\xc0\x94\x9d\x42\x69\xd0\xca\xb5\x20\x80\x07\xe7\xe1\x65\x02\x51\xf4\x21\xb7\xe8\xc8\x05\x27\x23\x90\x3c\xf1\xa1\xd1\xce\x8f\x35\x32\x3c\x76\x81\x23\x6d\xa5\xbc\x35\x86\xee\xb4\x0e\x0c\x20\xdc\xe0\x6e\xf1\x94\xae\x7d\xde\x11\x39\xa0\x46\x47\x86\xef\x56\xe4\x68\xc1\x11\x0b\x94\x6b\x02\xfc\x80\x99\xd9\x1d\x8b\x4f\xbd\xa1\xc4\xb9\x11\x68\x66\x47\x91\x3a\x7f\xd0\xc2\x20\x49\x92\x26\xb3\x0f\x49\x05\xd5\xbc\x50\xea\xb7\xf2\x2b\x36\xf2\x00\xb5\xa9\xef\xdf\x40\x6e\xfa\x30\xe1\x34\xf5\xa1\x93\x33\xbc\x24\x07\x83\x3b\x3f\x85\xca\xac\xce\xf9\x43\x20\x54\xea\x2d\x4a\xe6\x8f\x3a\x6f\x3f\x05\x2e\xf3\xf6\x52\x7f\xcc\x7d\xfb\x51\x6c\xe6\xed\x85\x3e\xd7\x81\xfb\xef\xc0\x67\x7e\xf4\x3c\x4f\x63\x0c\xc7\xfd\x2f\xc6\x85\x7b\x9f\xde\x7f\xf8\x7c\x07\x6e\x67\xb8\x8d\x13\xcd\xdc\x66\x81\x4f\x20\xe9\xf3\x0d\x59\x54\x61\x8c\x98\x93\x38\x4d\x4c\xd8\xd7\x41\x8e\x44\xda\x7b\xea\xf8\x12\x1f\xeb\xb4\x30\x28\x64\x82\xb0\xdd\x0e\xae\x0f\x14\x70\xb2\xe4\xa9\x13\xbf\x8e\x64\xf4\x7c\xe0\xcd\x46\x16\x25\x41\xd2\xbd\x90\xc1\x35\x63\x4f\x7b\x4c\xa1\xd5\xc4\xc9\xac\xaa\x1b\x95\x89\x76\x18\x3a\x32\x27\x48\x7e\x57\x32\x63\x16\x85\xcd\xed\xd0\x3e\x65\x47\x20\x24\xcd\x18\xa4\x83\xba\x8d\xc1\x1f\x21\x02\xde\xe8\x3e\x5d\x59\xa3\x8d\x41\x06\x16\x95\xa1\x28\x13\xe4\x4e\x89\x3a\xce\x32\x51\x5f\xa5\x3e\x69\x8e\xc6\xd1\xa7\xf4\xce\xc0\xbb\x0f\x86\x06\xec\x5e\xcb\x62\xf2\xb8\x65\xc7\x21\x86\x99\x89\xde\x6c\x4c\xde\xdc\x1d\xae\x18\x3a\x71\x52\xc4\x91\x09\x38\xd0\x13\x78\x08\x53\x60\xa9\xd7\x67\x0d\xdb\xc1\xf8\x4a\xad\xd7\x88\xe2\x5e\x31\x16\xfb\xd1\xbb\x24\xcd\x48\x2c\x2d\xcb\x92\x7d\x88\xc0\x0a\x79\x27\x19\x2d\x45\xad\x93\x43\x10\x43\x8b\xac\x03\xd0\xfb\x0c\xc4\x7d\xc5\x90\xfa\x34\xfa\xc5\x3b\x65\x07\x32\xf2\x67\x5f\xcb\x11\x26\x83\x85\x01\x02\xe6\x24\x55\x1c\x47\xda\xba\xac\xb6\xcd\x94\xf1\x02\xce\x61\x80\xc8\x2c\x43\xac\xb4\x31\xda\xd1\x09\x67\x46\x8c\x48\x5d\x7b\x3b\xdb\xcc\x04\x5f\x83\xcf\x33\x65\xd7\x88\xf1\xa9\x12\xac\x60\x09\xcc\x51\x67\x90\x8a\x61\x56\x18\xdb\xe7\x78\xa1\x85\xc0\x64\x3c\xfa\x04\xeb\x05\x82\x98\x83\xa9\xd1\x95\x29\xc5\x05\xf2\x9c\x4a\xc7\xb0\x41\x3f\x09\x22\x36\xda\x82\xc6\xb1\x4f\x7e\x3f\xc8\xb0\x27\x88\x44\xa3\x93\x0b\x53\x3f\xcf\x54\x2d\x46\xaa\x36\x5a\x37\x6f\xe9\x59\x62\x1f\x2f\x69\x43\x51\x80\xba\x56\xaa\x10\xb3\x77\x82\x93\x41\x8b\xd4\x48\xd3\xd8\x2b\x18\xfa\x2e\x33\x52\x38\x3a\x11\x8c\xc6\x42\xa6\x2a\x9f\x37\xac\x1f\xc0\x69\xb5\x1e\xfb\xd8\x99\x0c\x0a\x99\x9a\xc0\xa4\xe1\x19\x07\x66\x76\xfc\xcd\xce\xf5\x21\x42\x4e\xfc\x2c\xb4\xfa\x8c\x37\xf8\x8f\x93\x41\x34\x15\x16\x8c\x65\xe8\x93\x8b\xcd\xf0\x32\x89\xdd\xd8\x29\xce\x3e\xa2\x2f\xd3\x1a\x34\xdf\x38\x59\x13\x24\x80\xe6\x00\x91\x51\x72\x0c\xda\x06\x51\x6f\xa2\x9d\x65\xc4\xf0\x8f\x10\xf5\xcd\x4c\x94\x5f\x18\x6b\xba\x00\x7d\x4e\x7e\xe6\x3c\xcb\xb7\x34\x67\xde\xa6\xd8\xa3\x13\x76\x74\xa3\x65\x86\x39\x1b\xf9\x86\x60\x7f\x24\x7b\xe3\xc3\x82\xa2\xc3\xd2\x7d\xfc\x29\x84\x60\xe3\xd0\x27\x53\x5b\x06\xb9\x80\x99\x89\x60\x9a\xc8\xec\x8d\x3e\x88\x86\x41\x0e\x81\x56\xce\x15\x48\x6e\x5d\x3b\xe9\xb3\xb5\x38\x31\xd2\x72\x82\x1c\xcb\xb2\x9b\x38\x5c\x15\x72\x33\xcb\xde\x33\xe2\xaf\xfa\xb0\x81\xb3\x39\xcd\xb5\xfe\x40\x46\x2a\x43\xc2\x09\xe1\xde\x92\x6f\xc9\x93\x7e\xc0\xa9\x79\x32\x7b\x7f\xae\x4b\xf3\x74\xa1\x4f\x3b\x34\xf6\xeb\x1f\x75\x67\x9e\x2e\xf2\x9f\x77\x66\x3e\x7e\x90\xff\x32\x57\xe6\xf6\x49\x70\x64\xb6\x75\xfe\xbe\x1f\xf3\xff\x07\x00\x00\xff\xff\xdc\x55\xc9\xf2\x00\xd0\x00\x00") +var _uiBindataGo = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\xcc\x9d\xdb\xaf\x1d\xc7\x75\xe6\x9f\xc9\xbf\xe2\x44\x40\x02\x72\x20\x53\xdd\x5d\xd5\x37\x01\x7e\x48\x9c\x04\xe3\x01\x92\x0c\x12\xcf\xd3\xec\x41\x50\xd5\x5d\xa5\x1c\x87\x17\x85\x87\x74\xb6\x6d\xf8\x7f\x1f\x7c\xab\x7e\xeb\xd4\x16\x49\x59\x0e\xad\x24\x7e\xa0\x48\xed\x4b\xef\xee\xaa\x55\xeb\xfa\xad\x6f\x7d\xf5\xd5\xdd\xcf\xde\x9c\xe5\xee\x9b\xf2\xba\xbc\x4d\xef\xca\x79\x97\x7f\x7d\xf7\xcd\x9b\x9f\xe4\xfb\xd7\x67\x7a\x97\x5e\x3c\xfd\xea\xab\xbb\x87\x37\xef\xdf\x1e\xe5\xe1\x6b\xfd\xfb\xfd\xfd\x57\xe9\xdb\x6f\xbf\x3a\x1e\x1e\xbe\x7a\x95\xee\x5f\xbf\x38\x1e\x1e\x6e\x5e\xbe\x7f\xf5\xcd\x57\x35\xfd\xea\xfe\x78\xf3\xfa\xc5\xfd\xf1\xe6\xf6\x9d\xd7\x67\xb9\xbe\xf8\x97\x77\xaf\x5e\xde\xbc\xf8\xcb\x07\xfd\xf5\xe2\x97\xb7\x97\xf8\x36\xbd\x7d\x77\x9f\x5e\x3e\x7c\x95\x5e\x96\xb7\xef\x3e\xfc\xc6\x77\xdf\x7d\xf8\xde\xb7\xdf\xbe\x79\xff\xae\x7c\xef\xbb\x0f\xf7\x2f\xcb\xeb\xa3\xfc\xa4\xbe\x79\xfb\xea\x87\x3e\xf4\x43\xef\x7f\xff\x3d\x3c\xbc\x4b\xef\xde\x7f\xe7\x6d\x5f\xd4\x6f\x7c\x65\x5e\xde\xe7\xaf\xd2\xeb\x6f\xde\xbf\x4c\x6f\x7f\xf2\xea\xcd\xab\xf2\xfa\xdd\x8b\x57\xf7\xaf\xfb\x82\xdc\xbe\xff\xb6\xb4\x7d\xf8\x3d\x9f\xb0\x87\xfe\xde\xb7\x1f\xd2\xeb\xfb\x77\xf7\xbf\xf9\xfe\x4f\x7c\xfc\xc6\x19\x5e\xfc\x2a\x7c\xfc\xf2\x2f\xff\xed\x7d\x79\xfb\xeb\x8f\x5f\xff\xd7\xf7\xb9\x5d\xbd\x4b\x85\x5e\xfe\xbe\x27\xd3\xfd\xde\xbf\xfe\xe6\x27\xef\xde\x96\xd2\xdf\xf9\xf7\x92\x59\xa0\xbf\xfe\x87\xbb\xbf\xff\x87\x5f\xdc\xfd\xcd\x5f\xff\xfc\x17\x7f\xf6\xf4\xe9\xb7\xe9\xf8\xd7\xf4\x4d\xb9\x7b\x7f\xff\xf4\xe9\xfd\xab\x6f\xdf\xbc\x7d\x77\xf7\xec\xe9\x93\x2f\xf2\xaf\xdf\x95\x87\x2f\x9e\x3e\xf9\xe2\x78\xf3\xea\xdb\xb7\xe5\xe1\xe1\xab\x6f\x7e\x73\xff\xad\x5e\xa8\xaf\xde\xe9\xaf\xfb\x37\xed\xbf\x5f\xdd\xeb\xe7\x5e\xea\x7f\xde\xd8\x17\xbe\x4d\xef\xfe\xe5\xab\x7a\xff\xb2\xe8\x1f\x7a\xe1\xe1\xdd\xdb\xfb\xd7\xdf\xd8\x7b\xef\xee\x5f\x95\x2f\x9e\x3e\x7f\xfa\xb4\xbe\x7f\x7d\xdc\xb1\x6f\xff\x58\xd2\xf9\x4c\xff\xb8\xfb\xbf\xff\x4f\x3f\xfb\xe5\xdd\xeb\xf4\xaa\xdc\xb5\xaf\x3d\xbf\x7b\xe6\xaf\x96\xb7\x6f\xdf\xbc\x7d\x7e\xf7\xdb\xa7\x4f\xbe\xf9\x8d\xfd\xdf\xdd\xd7\x3f\xbd\xd3\x5d\xbd\xf8\xfb\xf2\xef\xba\x48\x79\xfb\xcc\x6e\x5b\xff\xff\x57\xef\x6b\x2d\x6f\xed\xb2\xcf\x9f\x3f\x7d\x72\x5f\xed\x0b\x7f\xf6\xd3\xbb\xd7\xf7\x2f\x75\x89\x27\x6f\xcb\xbb\xf7\x6f\x5f\xeb\x7f\xbf\xbc\xab\xaf\xde\xbd\xf8\x1b\x5d\xbd\x3e\xfb\x42\x17\xba\xfb\xf3\x7f\xfb\xfa\xee\xcf\x7f\xf5\x45\xbb\x13\xfb\xad\xe7\x4f\x9f\xfc\xee\xe9\xd3\x27\xbf\x4a\x6f\xef\xf2\xfb\x7a\xd7\x7e\xa7\xfd\xc8\xd3\x27\xff\xdc\x6e\xe7\xa7\x77\xf7\x6f\x5e\xfc\xec\xcd\xb7\xbf\x7e\xf6\x17\xf9\x7d\xfd\xf2\xee\x9b\xdf\x3c\x7f\xfa\xe4\x78\xf9\x37\x7e\xa7\x2f\x7e\xf6\xf2\xcd\x43\x79\xf6\xfc\xe9\x8f\x75\x3f\xba\x4c\xbb\xfe\xf7\x5c\xa8\xbc\x7d\xdb\xee\x9b\x17\xf3\xfb\xfa\xe2\xaf\x74\xeb\xcf\x9e\x7f\xa9\x4f\x3c\xfd\xdd\xd3\xa7\xef\x7e\xfd\x6d\xb9\x4b\x0f\x0f\xe5\x9d\x96\xfc\xfd\xf1\x4e\x57\xb1\xe7\x63\x3f\x9e\x3e\xb9\x7f\x5d\xdf\xdc\xdd\xbd\x79\x78\xf1\xb7\xf7\x2f\xcb\xcf\x5f\xd7\x37\x8f\xdf\x63\x0b\xfd\xf5\x9b\x2b\xd8\x1e\xde\xdd\xb1\x8d\x4f\x9f\x3c\xdc\xff\xc6\xfe\xff\xfe\xf5\xbb\x25\x3e\x7d\xf2\x4a\xda\xf1\xee\xf1\xa2\x7f\xf7\xe6\x2c\xf6\xe2\x2f\xee\x5f\x95\x3b\x89\xc9\x0b\xfd\x4b\xbf\x63\xa2\xf2\xac\xde\x7f\xf8\x5b\xcf\xef\xfe\x3e\xbd\x2a\xcf\x9e\xf3\x0b\xfa\x4d\x9e\xb2\xde\xbf\xd0\xaf\x3f\xfd\xdd\xef\xf9\xee\x3f\xdd\xff\x46\xdf\xb5\xbb\xf9\xee\x57\x75\xa3\xbf\xf7\xab\xba\xd7\x67\xcf\x6f\xef\xfc\xbb\x17\xd0\xa3\xfd\xd0\x05\xf4\x70\xcf\x9e\xf7\x07\xfd\xe8\x0a\x3c\xfd\xf7\x5f\xe4\xe7\x0f\x7f\x7d\xff\xf6\xd9\xf3\xbb\xfc\xe6\xcd\xcb\xdb\x6f\xa7\x97\x0f\x3f\xf0\xe4\xbf\x7e\x68\x0f\x5e\xde\xd6\x74\x94\xdf\xfe\xee\xe6\xdb\x88\x84\xa4\xfc\x9f\xdf\xdf\xff\xe5\xb7\xdf\xfe\xec\xe1\xe1\xef\xd2\xfd\xeb\x9f\x3d\x3c\xdc\xfd\x14\x71\x78\xf6\xc5\xe5\x3a\xd6\xcb\x75\xcb\x97\xeb\xb0\x5d\xae\xc3\xc0\x9f\xfd\x72\x5d\xca\xe5\xba\xf1\x5a\xad\x97\xeb\x1e\x2f\xd7\x79\xbd\x5c\x8f\xdc\xde\x2b\xe1\x72\x0d\xcb\xe5\x3a\xae\x97\xeb\x5c\x2e\xd7\x63\xbd\x5c\x63\xbd\x5c\xd7\xf1\x72\xad\xa5\x5d\x63\x58\x2e\xd7\xba\x5f\xae\x63\xb8\x5c\xf7\xed\x72\xdd\xd2\xe5\x9a\x8e\xcb\x35\x8f\x97\x6b\x99\x2e\xd7\xed\x68\x7f\xa6\xd2\xde\xd3\x75\x73\xba\x5c\xf7\xbd\xbf\x56\xf8\x7b\xde\x2f\xd7\x79\xb8\x5c\x4b\x6c\xdf\x8f\xe7\xe5\xba\xc5\xcb\x75\x5a\x2e\xd7\x79\x6e\x9f\x89\xba\xaf\xe3\x72\x1d\xca\xe5\x5a\xa7\xcb\x75\x4c\x97\xeb\x7a\x5e\xae\xfb\x7a\xb9\x26\xbd\x96\xda\x75\xed\x35\xfd\xfe\xd4\x9e\x6b\xd2\xbd\xed\x97\x6b\x9e\x2e\xd7\x45\xf7\x17\xdb\x6f\xe9\xb3\x75\xb9\x5c\xa7\xf1\x72\x3d\xea\xe5\x5a\xce\xcb\x35\xe4\xb6\x0e\xfb\x7c\xb9\xee\xba\x57\xbd\x3e\x5c\xae\x67\x6e\xbf\x1d\x97\xcb\x35\xd7\xcb\x35\x4d\x97\xeb\xb9\x5f\xae\x71\xbb\x5c\xeb\xd9\x5e\xd7\xfd\x0d\xf3\xe5\x7a\xc6\xcb\xf5\x38\x2e\xd7\x65\xbb\x5c\xa7\xfd\x72\x3d\xd7\xcb\x35\x6b\x8d\x72\xbb\x2f\xdd\x87\xdd\xf3\x79\xb9\x9e\xe3\xe5\x3a\x68\xdd\xe7\xcb\x75\xc8\x97\x6b\xde\x2e\xd7\xf3\x6c\xf7\x57\xd7\xb6\x9e\xcb\x7a\xb9\x96\xda\xae\xa1\xdf\xd4\xf3\xeb\xba\x71\x6d\xfb\x74\xea\x77\xd2\xe5\x7a\xa4\xcb\x35\xb3\x8e\xba\xdf\x41\x6b\xb4\xb4\x6b\x6e\xeb\xe5\x3a\x1d\x97\xeb\xb1\xb7\x3d\x1c\x90\x8b\x25\x5e\xae\xe3\x7e\xb9\x06\xed\x43\xbd\x5c\xe3\xdc\x3e\x37\x87\xf6\xfb\xc3\xd1\x5e\x3b\xf5\xb7\xae\xaf\x7b\x9e\xdb\xb3\x8e\xfa\x9d\x70\xb9\xce\xfa\x9d\x7c\xb9\xa6\xf5\x72\x5d\xe6\x76\x9f\xda\x4f\xad\xa9\xf6\x5c\x72\xa4\xcf\xe8\x9a\x73\xbe\x5c\xb7\xe1\x72\x3d\xe2\xe5\xba\xe9\x39\xcf\xfe\x39\xed\x85\xd6\x4e\x7b\xb4\xcd\xed\x99\xa6\xa1\xfd\xbb\xac\x6d\xdf\x82\xe4\x60\xba\x5c\x87\xd4\xe4\x32\x6a\x7f\x75\xad\xb1\xad\x8b\x9e\x47\xb2\x9e\x75\x8f\xe1\x72\x9d\xc2\xe5\x3a\x1e\x97\x6b\x0a\x6d\x8d\xf5\xf7\x34\xb7\xd7\x24\x87\x81\xdf\xd4\xf5\xb4\x1f\x76\xdd\xe1\x72\x9d\xf5\xff\x63\x5b\xdf\x34\xb7\x75\xd3\x5a\x8e\x92\x8b\xb1\xdd\x83\xd6\x22\x0e\x97\xeb\x2a\xd9\xd2\x77\x96\xcb\x35\xe5\xf6\xbe\xce\x47\x1d\x2e\xd7\x50\x9b\x3c\xa7\xda\xee\x5f\xff\x9e\x63\x5b\x9f\x05\x99\x4b\xac\xa9\xae\x3d\xeb\x7c\xe9\x39\xb5\xe6\xd3\xe5\xba\xb2\x66\xfb\x72\xb9\x96\xb9\xdd\xfb\xc4\x1a\x6b\x7f\x76\xc9\x82\xe4\x64\x6f\xdf\x9d\xa6\xf6\xde\xb1\x5d\xae\x4b\xe0\x2c\xeb\x77\xf6\x26\xc7\x3a\x33\xd3\x79\xb9\xae\x4b\x93\x7f\xad\x95\xce\xaf\x64\x5e\xe7\x47\xf2\x2f\x79\xd4\xe7\xb7\xd2\xae\xb1\xc6\xcb\x35\xe9\xcf\xd6\xbe\xab\xdf\xd2\x7d\x47\x3d\xc3\xd4\x9e\x53\xcf\x37\x84\x76\x46\x24\x83\x71\x6c\xf2\xac\x7d\x97\x9e\xd1\xda\xeb\xac\x94\xb1\xed\xfd\x3a\xb4\xfb\xb5\xb3\x36\xb5\xe7\xd0\x9e\x2c\x43\xfb\x8e\xce\xac\xf6\x35\x71\x9e\x74\x5d\xfd\x5b\xfb\x21\x9d\xa0\xf3\x26\x39\x59\x25\x17\x4b\x93\x29\x97\xef\xf9\x68\x72\x33\x72\x9e\x25\xa3\x3a\x1b\x89\xb3\xa7\xdf\x95\x3c\xeb\x8c\x04\xc9\x4a\x6e\xd7\xd5\x9e\xeb\x1e\xb5\x3f\x92\x7b\xed\x61\x08\xed\x35\x3d\xf7\x51\xda\xfd\xdb\xda\x85\xb6\x26\x11\x39\xd3\xda\x48\x16\x6d\xcd\x73\xd3\x97\x23\x72\xbb\x87\x76\xb6\xb4\xaf\xd2\x01\xda\x07\x5d\xc3\xf4\xed\xd0\xf6\x4c\xfa\x4e\xb2\x22\xf9\xb6\xf3\x35\x35\x39\xd2\xbe\xeb\x9e\xe3\xd1\x9e\xa3\x48\x67\x4a\x6f\x8f\x4d\x07\xd6\xa3\xad\x67\x1d\x9b\x9e\x5c\xe7\xf6\xf9\x11\xb9\xd7\x1e\x49\x26\xa5\xff\x74\x9f\x92\xa9\x9d\x67\xd3\xf9\xaf\xb9\x3d\x87\x9e\x47\xe7\x47\xe7\x51\xfb\xa6\xeb\x4b\xdf\x4b\xc7\xeb\x5e\x4e\xce\xe4\xb9\xb4\x67\xb3\xf3\x9c\xdb\xb5\x4d\x4f\xcc\x4d\x77\xeb\x4c\xa7\xd4\xce\xa3\xd6\x56\x6b\xa7\xbf\xb5\xb6\x3a\xcf\x3a\x9f\xd2\xcf\xfa\xad\x75\x6b\xf6\x41\xe7\x5f\x6b\xa0\x75\x5b\x5d\x6e\x97\xcb\x35\x1c\xed\x4c\xcd\x3c\x5f\x90\xee\x8b\xed\x37\x27\xf6\xd2\xce\xd5\xda\xec\x43\xd0\x35\xfc\xbe\xe7\x26\x3f\x07\xe7\xb1\x2c\xed\xac\x0f\xba\xbf\xa5\xed\x9b\xe9\xa0\xb5\xbd\x9f\x86\xf6\x9a\x7e\x5b\x7f\x4b\xef\x9a\x1e\xd5\x5a\x4e\x4d\xaf\x85\xb3\x7d\x5e\x67\xcb\x74\xea\xd2\xce\xcf\x59\xdb\x9a\x9e\xa5\xd9\xd2\x75\x6a\x9f\xd5\xbd\x96\xdc\x74\xb5\x5e\xd7\x3a\x48\x06\xa4\xaf\xb7\xd0\xf4\xa9\xce\x9c\x64\x5f\xbf\xb5\x48\x87\x87\x66\x13\x56\x3e\xa7\x33\xaa\xf5\xd4\xfe\xe8\x1c\x68\x1d\xa5\xa3\xc6\xd2\xf6\x45\x7f\xeb\xde\x74\xde\x32\xba\x5d\xeb\xb9\xea\xba\x9c\x31\xd3\xf9\xd8\x1f\xb3\x7b\xa1\xcb\xbe\xe9\xf4\xd8\xf6\x49\xf6\xce\xbe\x77\x62\x0b\x2a\xba\x2c\xb7\xcf\xcb\x16\x6a\xfd\x8e\xb3\xd9\x8f\x8a\xce\xd0\x7d\x48\xc7\xe8\xcc\xc5\xdc\xe4\xdd\x6c\x48\x6d\xd7\xd1\x3d\x98\x9e\x19\xda\x6b\x92\x63\xd9\x44\xd3\xeb\x63\xb3\xd3\x92\x2b\xe9\x84\xb5\xb4\xf5\xd7\xb5\xed\x5c\xec\x4d\xce\xf4\x5d\xe9\x6b\x9d\x29\xed\xb9\xe4\x54\x36\x48\xe7\x5b\xfa\x67\xca\x9c\x5b\xfc\x89\x09\x1d\x2c\x5d\x29\xfd\xaa\xb5\x95\x7c\x4a\x27\x2c\x7b\xbb\xb6\xf6\x52\x36\x6b\x64\xcd\x65\x5b\x25\x67\x92\x53\x5d\x53\x3a\x2e\x1f\xed\x8c\x49\xde\x75\x4f\x3a\x87\x3a\x1b\x3a\xab\x7a\x6e\xd9\x2c\xe9\x95\x0d\x59\x93\xcd\xd0\xb9\x9a\xb0\x4b\xba\x3f\xe9\xfc\x13\x7d\x39\x63\x87\xf5\xf7\x82\x5c\xeb\xcc\xac\xb9\xad\x81\xee\x5b\xf6\x44\xd7\x4c\xe8\xb3\x80\x5d\x31\xfb\x50\xdb\x3d\xcc\x5b\xfb\xbc\x9e\x59\xfa\x40\xfa\xd2\xd6\x29\xe3\x7b\xcd\x4d\xf7\xaf\xd8\x3b\x5d\xc7\xed\xab\xe9\x87\xb3\xed\xb7\x64\xd3\xee\x23\x34\x5f\x50\x7a\x56\xeb\x60\xf7\x1b\xf1\x65\x22\xb6\x63\x69\xfb\x99\x4b\xdb\x67\xf9\x37\x0b\xd7\xd6\x59\x30\x5f\x6e\x6e\xe7\x56\xf7\x2a\x9b\xa8\x7d\x96\x8c\x9d\xe8\x43\x7d\x7e\xd4\x39\xd0\xf7\x96\x76\x0f\x5a\x5f\xe9\x43\xb3\xa5\xa1\xbd\x76\x0e\x4d\xf6\xcc\xde\xac\x6d\x3d\xe4\x8b\x8e\xb1\xc9\xe8\x99\xda\x3a\x85\xb5\xc9\xfc\x89\x9f\x25\x5b\x22\x3d\xbd\xf1\xba\x64\x4a\xd7\xd2\x99\x30\x3f\x4b\xe7\x70\x68\x6b\x6e\x6b\xbb\xb5\x7f\x6f\xac\x89\xce\xad\xd6\xb8\xe0\x5f\x6a\x9f\x75\xdf\x3a\x73\x92\xfd\x95\x7b\xd2\x35\xa4\x8b\x75\xc6\x6d\x3d\xf0\xc7\x74\xef\xfa\x0d\x3d\x9b\x6c\x93\x74\xab\x9e\x49\xfe\xc8\x8c\x8f\x51\xd1\xaf\xba\x47\xd9\x46\xbd\x66\x76\x69\x6a\x3e\x8d\xf6\x50\xd7\xd3\xd9\xd6\x73\xce\xac\x91\xec\xb1\xfc\xdc\x05\xdb\x61\xfe\x0f\x32\x1c\xd8\x73\xf9\x02\xf2\x2b\xa4\xeb\xe5\xa7\x6a\xef\xb5\xbf\xb2\x29\x92\x71\xe9\x21\xe9\x3f\xe9\x25\xb3\xbf\x43\xbb\x7f\xe9\x3f\xad\x9d\xd6\xd6\xec\x00\xfe\x4a\xc2\xf6\x98\x7f\x8c\xaf\xea\xe7\x69\xe2\x2c\xb9\x5e\xd4\xb3\x4b\x57\xd9\xfe\xc5\x26\x1f\xa6\x63\xe7\xb6\x6f\xba\x0f\xe9\x7b\xd9\x28\xdb\x8b\x1b\x3f\xdc\xec\xc1\xdc\xd6\x45\xf7\x23\x5d\xba\xa0\x57\x64\xe7\x02\xfa\x44\x3a\x48\xfb\x65\xbe\xd3\xda\x6c\x5c\xc1\x96\xc9\x77\xd0\xff\x4b\xf7\xaf\x07\xfe\x70\xe8\xbf\x29\xf9\x31\xb9\x1b\xb1\xb3\x6b\xbb\x6f\xd9\x1d\xc9\x9e\xf4\xb0\xae\x79\xe2\xdf\x49\xef\xeb\x7c\x4a\x6f\x2e\x9c\xdf\xca\x3d\xc8\x17\xb3\xd8\xe7\xc0\x6f\xaa\x6d\x2d\xb4\x86\x27\x7a\x4f\xb2\x75\x10\x8f\x48\x96\x74\x66\x74\x1f\xb2\x51\xd2\xed\x8a\xcd\xa4\x0b\x64\x2f\x64\x67\x64\x6b\x65\x7f\x2c\x66\x21\x16\x90\x2f\x63\xfb\xc6\xd9\x91\xff\x7a\x22\xdf\xb2\xc9\xe6\x53\xa4\x76\x2f\xf2\xe1\x25\xd3\x3b\xbe\xa3\xf4\x83\xd6\x4f\xbf\x2b\x7f\x52\x3a\x43\xf7\x29\xfb\xad\xdf\xd2\xb5\xec\xbe\x73\xf3\xa7\xf4\x6c\xd2\xed\xd2\xf5\xd2\xad\x33\x3e\x58\x46\xa7\x9a\x8f\xbc\x35\xdf\x48\xcf\xa9\xb3\x67\xbe\x4f\x6e\xcf\x23\xbd\xac\xd7\xb4\x56\x81\xd8\x47\x67\xe6\x24\xde\x19\xf0\x57\x1e\x75\xe7\xd9\xec\xb2\xf9\x34\x7b\xd3\x1f\x2b\x3e\xbf\xf4\xe6\xc6\x6f\x9c\xac\x8f\xf9\x85\xee\xbf\x25\x7c\xc2\xbd\xd9\x5e\x9d\x47\x3d\x8f\x9e\x57\xb6\xc2\xe2\xdb\x8c\x6e\x8d\x6d\x7d\x2c\xb6\xa9\xed\x7b\x5a\x27\xc9\x89\xbe\xa7\xfb\x34\x1b\x9b\xdb\xda\x49\xee\x14\xa7\x4a\x9e\xf4\xfb\xf2\xd5\xe5\x1f\x6e\xc4\x04\x92\xfb\x1d\x7b\x26\x3f\x47\xe7\x49\xba\x51\x3a\x43\xf7\xa5\x78\xca\xec\x44\xe4\xf3\x47\xdb\x23\xd3\xfd\xa9\xed\x9d\xd6\x56\xcf\x63\xf6\x37\x37\x19\xd0\x79\x91\xbf\xa3\x7d\x94\x8c\xe8\xd9\x74\x6e\xf4\x7d\xad\x4d\x44\xf7\xca\xf6\xcd\xbc\x56\xd1\x1f\x7a\xb6\xd9\xf5\x42\x68\x36\x56\xcf\x2c\xd9\x94\x8c\xc8\xae\xee\xec\xaf\x6c\x55\xe2\x9c\x5b\x6c\x36\x36\xdb\xa1\xb5\x3d\x63\x5f\x07\xad\xbf\xee\xcd\x6c\xf8\xd2\xe4\xf5\x44\xa6\xb5\xce\xd2\x3f\xb2\x19\x89\x6b\xda\x7a\x4d\x4d\xbe\xec\xcc\x9d\xed\x79\x75\xce\x6a\x69\x36\xc4\x62\x80\xd4\x74\xad\xce\x90\xee\x41\x71\x94\x74\x9a\xc5\x25\x73\xf3\x63\xb5\x8e\x13\x71\x82\x7c\x60\xdd\xf7\x82\x8f\xa3\xfd\x96\xdc\xe9\x9a\xd2\xfb\x16\x17\xd4\xa6\x07\xa5\x5b\xe5\x27\x4a\xef\xea\xfe\xa4\x83\xf5\x47\x3e\x8f\xfc\x1a\xfb\x1e\x3e\x8a\xd9\xbd\xb5\xc9\xdb\x8c\xef\x2a\x3b\xa4\xe7\x30\xb9\xc5\x5f\xd6\xba\xcb\xe7\x9b\x3d\x5e\x53\x6c\x8b\x6e\xd2\x7a\x0c\xdc\x87\xce\x99\xde\xb3\xf5\xaa\xed\x19\x75\xce\xe4\x77\x98\xdf\x94\x9b\x0e\x5a\xf0\x4d\x12\xeb\xa3\x7b\x95\xfd\xb4\xb5\x5a\xda\x6f\x98\x7c\x92\xaf\x59\xd0\xdb\xee\x13\x5a\xbc\x52\xdb\x19\x51\x0c\x64\xf9\x85\xd4\x74\x98\xfc\x2c\xed\xdd\x48\xfe\xe6\xc0\xff\xaf\x9c\x5f\x7d\x4e\xfe\x88\xae\xb9\xe1\x67\xb9\xfc\x49\xf7\xda\x7a\xd5\xf6\x7b\xd2\x7d\xa6\x0f\xcf\xb6\xa6\xd2\x4d\xb2\x07\xee\x6b\xe9\x33\x3a\x13\x16\x43\xd4\x76\x1d\xfb\xcd\xdc\x74\xd3\xc8\xf3\xd8\x59\x58\xbb\x5f\x27\xdd\x20\x7b\xa4\x3d\x8d\xe4\x0c\xe4\x9b\x48\x96\xe5\x77\xe9\x8f\xe9\x93\xad\xe9\x92\x91\x98\xc1\xf2\x30\xd8\x24\xd9\xe4\x15\x3f\x4b\xe7\x48\x71\xda\x84\x1e\x5e\xb1\x01\x92\x57\xdd\x97\xc5\x66\x33\xfe\xf9\xd9\x6c\x6e\xe5\x1a\x66\xcb\x06\x7e\xa3\xb4\x7d\x1d\xd0\xb1\xba\x3f\x3b\xbf\xa1\xe5\x73\x2c\xf6\xcb\xc4\x7e\xc4\x2e\x7a\x66\xf3\x81\x32\xd7\x8f\x4d\xa7\x45\xe2\xb0\xc0\xde\x2f\xd8\x01\xad\xaf\xf9\xad\xd8\xf9\x4a\x2c\xa5\xe7\xb5\x78\xff\x6c\x67\xb8\xe0\xa7\x48\x1e\x65\x0f\xb4\x26\xfa\x1d\xe9\x49\xe9\xeb\x11\x9b\x2d\x59\xd1\x7e\xe9\x7b\x16\x4b\x91\x87\x32\x9b\x44\xdc\x6c\xb9\xbc\xa9\x9d\x3d\xf9\x42\xf2\xcb\xe4\xdb\x49\x9e\xa4\xfb\xe4\x8f\x99\x5d\x4a\x2d\x8e\x96\xbd\xb1\xd8\x36\x37\x19\x4e\xf8\xfc\x76\x7f\x23\xb1\xd6\xd9\x64\x43\xf7\xaf\x7b\x31\xbb\xba\xb6\x7d\xd6\x3e\x4a\x67\xda\xfa\x13\x47\x49\xbf\x54\xf2\x00\x3a\x6f\x5a\x67\xc5\x3a\x85\x58\xa1\xe0\x73\x16\xf2\x6d\x7a\x46\xc5\xf5\x96\x57\xd8\xda\x3d\x8e\xf8\x39\x3a\xef\x16\x0b\x12\xe7\xea\xec\x98\x6d\x26\x87\xa9\xef\xea\x8f\xfe\x5f\xb1\x8b\x74\xb3\xdf\x43\x24\xf7\x22\xdf\x60\x23\x87\xa2\xdf\x90\xdf\xad\xeb\x68\x0f\x15\x4f\x6a\xad\xcc\x06\x9c\xed\x3e\xcd\x87\xcb\x4d\xd7\x4b\xd6\x24\xff\xd2\x21\x5a\x6b\xc9\x82\x9d\x15\x72\x3d\xd2\x4b\xf2\xd5\x14\x7f\x49\x06\xb4\x26\xf2\x71\xcc\x5f\xe6\x1a\xee\x0f\x4b\x4e\x24\x0b\xe6\xa7\x6c\x4d\xd7\x98\xce\xc7\x4f\xd3\xde\x66\xf6\x5c\xf7\x67\x36\x62\x6d\x7e\x9d\xfc\x5f\xc5\xcb\xf2\xf9\xe4\xa3\x58\xde\x65\x69\xf7\x3f\xa2\xd3\x57\x6c\x92\xe4\xd3\x7c\x83\xd4\xf6\x4d\x67\x44\x6b\x2a\x5b\xaf\xb3\x28\x9b\x31\x72\x6e\x37\xf2\x94\xb2\xd9\xf6\x1b\xe4\x47\xb4\x66\xf2\x89\xa4\x5f\x2a\x67\xf3\x18\x9a\x7e\x91\x3f\xa9\x33\x2c\x3b\x60\xbe\x3c\xbe\xb7\x74\xb2\xd6\x4f\xdf\x99\xf0\xed\xfc\xf9\xc6\xf0\xdd\xbc\xa6\xce\xae\x74\x90\xeb\xbd\x8a\x1e\x32\xff\xe6\x6c\xf2\xac\xf3\x2f\x59\x1b\x3d\x97\x3d\x7c\xe1\x45\xaa\x0f\xd2\xe0\x54\x4f\x3e\x55\x95\xf2\x1a\xcb\x4d\x55\xeb\xe9\x93\x27\x1f\xe6\xd1\xbf\x7c\xfa\xe4\xc9\x17\x9f\x28\xf7\x7e\xf1\xe5\xd3\x27\xcf\x1f\xeb\x1d\x1f\x7c\x49\x3f\xf8\x3f\xac\x46\x73\xfb\x83\x56\xa4\x79\xac\x84\x7d\xfa\x46\x7f\xa8\xd4\xf4\x58\x21\xb2\x1a\xcf\xd7\x3f\xfd\xb0\x5e\xf0\xdb\xd7\xe9\x55\xf9\xfa\xee\xd3\x77\x7c\xf7\x70\xff\x9b\xf2\xf5\x5d\x0c\x71\xfc\xf2\xee\xd5\x9b\xb3\x7c\x7d\x5b\x15\x79\x16\xa7\xe1\xb9\xbd\xfe\x8b\x7b\x5d\xc3\x8a\x1d\xff\xe7\xf5\xfd\xf5\xd9\x18\xf7\x71\x1f\xe6\x79\xdc\xbf\xbc\x1b\x9e\xff\xee\xe9\x93\xa4\x5f\xfe\x0b\x7b\xc0\xdf\xda\x53\x7d\x7d\xc7\xc3\xe9\xb6\xbe\xb6\xff\xfe\xee\x71\x85\xd3\x97\x1f\x17\x2a\x7e\xfe\xea\x9b\xbf\x6d\x15\xf2\x9f\x1f\x6f\x3e\xab\x56\x21\x5d\x2c\xd9\xd6\x7b\x3b\xb6\x5b\x7a\x65\x74\x1f\x92\x3c\xea\x4c\xfe\x60\x22\xa7\x6b\x71\x38\xf1\x6c\x74\x7f\x16\xbf\x32\xe1\x2f\xca\x87\x5b\x88\xe7\x2d\xef\x13\xf8\x3c\xdf\xd1\xef\x48\x6f\xe8\x75\x9d\xb7\x89\x5c\xd3\x40\xec\x22\x19\xb7\x9c\xf5\xd4\xf4\xf3\x40\xae\x48\xef\x1d\xe4\x06\x12\x3a\x36\x50\xd7\x50\xec\x3e\x90\xcb\x19\xc9\x23\x99\xef\xba\xb5\xf3\xbe\x71\x26\x37\xf2\xb7\xd2\x39\xfa\x5d\xf9\x2f\x3a\x67\xf2\x41\x2d\x2f\xbd\xf3\xe7\x44\x07\xae\xed\x2c\xea\x8f\x9e\x4f\xaf\xef\xc4\xcc\xe6\xcb\xa4\x9e\x1b\x1e\x89\xb9\xf2\xd1\x3e\x57\xbd\xee\x53\xc9\x6d\x13\x63\xc8\x6f\xac\xf8\xe9\x66\xef\x43\xb7\xfd\xda\x1b\xf3\x49\x3d\xe7\xec\x7e\xec\xd1\xd6\x73\xc7\x26\x4a\x37\x9a\xff\xb7\xb7\x73\xaf\x7b\x8a\xc4\x94\x07\xbe\x71\x24\x86\xd6\xbf\xa5\xaf\xe4\x73\xee\xc4\x5f\xd2\x9d\x2b\x71\xad\xfc\x1f\xcb\xcd\xe5\xf6\xf9\x89\x3c\xe3\x81\x7f\x22\x5f\x79\x74\x9f\x69\x69\xb1\x8b\x3e\x67\xba\x8c\x5c\xa3\xdf\x8b\x6c\xda\x4e\x4d\x6b\xa7\x66\xa0\xf7\xa4\x9f\xe4\xcb\x6b\xfd\xa5\xe3\x4c\x0e\x53\xdb\x33\xdd\x9f\xd5\x3d\xc8\x25\xe8\x99\x07\x72\x23\x92\x3d\xe9\xef\x99\xbc\x98\x9e\x4f\xfb\xa7\xe7\x37\x5f\x6b\x6b\x32\x2c\xbf\x4d\xb2\x3f\xa0\x2f\xf5\x9c\x8a\xbd\xa5\xf3\xe4\x13\x6f\xe4\x06\x07\xe2\x0d\x5b\x9f\xdc\xae\x75\x10\x13\xc8\xcf\xda\xc8\x4d\xc9\x6f\x0d\x3c\xb7\xc5\xa0\xa1\xc9\xac\xfc\x6a\xc5\xcd\x1b\x31\xee\x8e\x4f\x20\x7f\x67\xe3\x1e\x0e\x6a\x16\xfa\x2d\xad\x81\xe5\x46\x89\xe9\x06\xcf\x69\xf2\x0c\xd3\xd2\x7c\x94\x05\xf9\x1a\x6a\xdb\x63\xc9\x84\xe2\xf5\xdd\xd7\xba\x34\x79\xb2\xdc\x3f\xb6\x52\xfe\x45\x25\x2e\x0a\xe4\x73\x74\x6e\xe4\x4b\x4e\xe4\x01\x75\x0f\x81\x1c\xb6\xe4\x55\xdf\x09\xc4\x19\x56\xf7\x5a\xda\xd9\x91\xec\x6a\x9d\xe5\xcb\x48\xce\x64\x6f\x15\xeb\xe8\x59\x0f\x72\x81\xda\x2f\xc9\x4a\x0d\xd4\xfc\xb6\xb6\xc6\xf2\x81\x32\x79\x2d\xad\x8b\xe5\x1f\x62\x5b\x13\xd9\xaf\xc0\xfa\x5b\x7c\x9c\xda\xf3\x5a\xfd\xe7\x68\xb2\xa3\x75\x94\x7c\x58\xbd\xe3\x68\x7b\x21\x5b\x6b\xf9\x08\xfc\xe9\x42\x0c\xab\x73\x2f\x39\xd4\x19\xd3\xde\x17\x72\x23\x13\x31\xdf\x46\x1d\x43\x76\x58\xfb\xa0\xfd\xb2\x5a\xe5\xd2\xfc\x55\xed\xa1\xf9\x96\x5b\xdb\x7b\x9d\xf1\x40\x0e\xa3\xa2\xdb\xe4\xb3\x8c\xe4\x32\x74\x9e\xcf\xe1\x26\x5e\x8a\xe4\x38\xc9\xdd\xc8\x47\x88\xf8\xd3\x92\xdf\xb2\xb5\xb3\x2e\xb9\xd6\xef\x0f\xe4\x5e\xb4\x96\xf2\x11\x02\xb9\x0b\xc5\x9e\xb6\x67\xd4\x04\x3c\xdf\x2a\xbd\xb4\x92\x63\xdd\x91\xd1\x9d\x1a\xa2\xfc\x27\xcb\xf5\xd6\x26\x8f\x3a\x97\xb6\x06\x73\xf3\xfb\x32\x79\x28\xab\xa5\xe2\x03\x68\xdf\x2d\x6f\x99\xdb\xba\xc9\x57\xd1\xbd\xea\x7b\xda\x47\x5d\x47\xfa\xd5\x72\xd0\x67\x7b\x4d\x6b\x2c\xdf\x46\x7f\x5b\x0d\x64\x6d\xeb\x67\x32\xba\xb5\xf7\x36\xde\x93\xff\x36\x72\xde\xf5\xe7\x24\xef\x18\xf0\x95\x66\x64\x43\xbe\xb5\xf9\x83\x4b\x7b\x9e\x93\xfa\x62\x46\xf7\x07\xea\xbf\x99\xef\xeb\x3d\xf9\xa9\xf2\xc3\x2c\xde\x38\x9b\x7f\xa5\xcf\x59\x4d\x30\x36\xdf\x6e\xc1\xc6\xd9\xe7\xf1\xf7\xa4\xb3\xf4\xba\xf4\xa0\xd6\x23\xe0\x87\x6a\x2f\x74\xae\x24\x0f\x3a\xa7\x85\x7a\x93\xed\x4d\x6e\x6b\x28\x79\xcd\xe4\x81\xf3\xdc\x6b\x72\xfa\xcd\x0d\xbd\x2d\x19\xd2\xf7\x25\x3f\xb2\x7b\xfa\xbc\xc5\x18\xd4\x70\xb5\x5e\x16\xab\xa6\x66\x67\x6d\xed\xa7\x26\xe7\x93\xef\x2f\xb6\x43\x3e\x7c\xa2\x5e\x64\xeb\xba\xb5\xf3\x2e\x59\xd7\xdf\x95\x58\x70\x40\x66\x06\xe4\x5a\xfe\xaa\x3d\xef\xd0\xd6\x67\x67\x8f\xf5\x3c\x03\x67\xdb\x62\xd6\x83\x3c\x1e\x71\xf4\x41\x0d\xcd\x7c\xda\xd2\xf2\x6c\xf2\x43\x4d\x07\x51\xdb\x2f\xd4\xbd\xb5\x16\xf2\x91\xb5\xd7\x5a\x7b\xcb\xd9\x1f\x7d\x8d\xbd\xe6\x60\x36\x36\x36\x39\xb4\x7c\x2e\xfe\x46\x00\x27\x60\xfe\x3b\x31\x7d\x46\xa7\x6e\xc4\x2e\x3b\x32\x28\x79\x09\x23\x79\xf5\xad\xe9\xf3\x84\x6f\x72\xa0\x1f\x6c\x9f\xc1\x42\x04\xf2\xb6\x8a\x5d\x65\x6f\x36\x7c\x76\xab\xd5\x84\xf6\xbc\x56\x5b\xa1\xae\x2c\xff\x5b\xfa\xcd\xf0\x01\xe4\x34\xa4\x33\xe4\x07\x9b\xbd\xc6\x3e\xe9\xfe\x74\xd6\xac\xbe\x18\xdb\x5e\x0f\xa5\xd7\xfb\x16\x6a\x28\x92\xd1\x11\x5f\x3c\x12\xff\x54\xf2\x09\xb6\x76\xd8\xac\x93\xba\x65\x61\x0f\xad\xce\x8b\x1f\xa5\x7d\x4f\x60\x06\xec\x73\xb1\xe7\xa7\x07\xf7\xfd\x63\xdb\x03\xe9\x4b\x7b\x6f\xc1\x87\xa7\xfe\x9f\x6f\xe4\xd3\x9e\x83\x7a\x81\x61\x0f\xe6\x66\x73\xe4\x8f\xed\xac\xbb\x64\xc2\x74\x7a\x6d\x36\x50\xef\x4f\xe4\x25\x66\xea\xe2\x86\x65\x40\x57\x9a\x7d\x41\x0f\x5a\xcc\xe8\xf5\x0f\x72\x12\x3a\xc7\x3b\xd7\xad\xc4\x2d\x89\xbc\xa8\xce\x8f\x7e\x57\xfb\xaa\x6b\x9d\x9c\x49\xcb\x93\xb0\x36\xbe\xa7\x7a\x5e\xad\xf9\xce\x1f\xad\x8f\x62\x76\xad\x95\xf9\x82\x43\x7b\x4e\xab\x93\xb1\x77\x5a\xe7\x80\x9f\x23\x9f\xe1\xa0\x4e\x27\xd9\xb1\xdc\x59\x6e\xcf\x62\xb6\x7f\xe5\x37\x63\xb3\x2b\x99\xda\xaa\xd5\xf8\x4b\xd3\xcb\x7a\x36\xe9\x70\xe9\xc3\x0d\x3b\x39\x11\xa3\x2a\x56\xae\x9e\x83\x25\xbf\xa2\xfd\xb3\xfb\x05\xf3\xe0\xbe\x87\x62\xb3\x40\xad\x48\x3e\x9c\xae\x65\xba\x15\xbb\x1f\xc8\x07\xda\x39\x27\x0f\x62\x39\xaf\xb3\x9d\x41\x8f\x11\x57\x3e\xb3\xb1\xfe\xf2\xaf\xcc\xff\x3d\x9a\xcc\x49\xff\x54\x7c\x62\xab\x5f\x8c\xed\xfe\x65\x33\xb4\xf7\x2b\xba\x51\xd7\x0f\xc4\xb0\x86\x03\x9a\xc9\x5f\xed\xcd\xaf\x08\xd4\xaf\x1d\x9f\xb2\xa3\x53\xb4\xc6\xe6\x9f\xaf\x60\x7a\x62\x3b\xef\xa6\x77\x42\x93\x77\xe9\x1b\xc3\x5a\xac\xcd\x2e\xea\xb3\x86\x11\x5a\xd1\xff\x4b\xf3\x77\x2d\xf7\x33\x63\xff\xcf\x76\x5f\xa3\xe7\x72\x0b\xb5\x32\xb0\x3a\xf2\x53\x26\x6c\xbc\xfd\xc6\xde\xce\xe4\x89\x0e\xb3\x6b\x2f\xcd\x9e\x49\x17\x6a\xbf\x3d\x8f\xb2\x62\xbf\x2c\x8f\x42\xbe\xc3\xfc\xf7\xd2\xec\xef\x4e\xbd\x5b\x32\x6f\xb9\x28\x64\xd0\x7c\xbd\xb9\xf9\x06\x3b\x39\x26\xe9\x42\xd3\xcf\xe4\x0a\x75\x7f\x5a\x53\xe9\x63\xab\xcf\x51\x37\x0f\xd8\x3e\xcb\x89\x51\x6b\x90\x4e\x92\x5c\x9a\x4e\x25\xf7\x3a\x90\x07\x18\xa8\x4d\xeb\x7c\xe8\xfc\x14\x72\xa2\x7a\xa6\x81\xcf\x5a\x6c\xc3\x9e\x54\xe2\x7d\xfd\x96\xed\x5b\x24\x97\x51\xda\xfe\x78\x8d\xb3\x60\xeb\x33\x3a\xbc\x22\x17\xb2\x4f\x99\x7c\xa8\xce\xe1\xc6\xfa\x6b\x4d\x96\x1b\xdf\x5e\xbf\x71\x50\xaf\x97\xcd\x50\x7c\x14\xd0\x6b\x0b\x39\x9b\x4c\xae\xf3\x04\xcb\x56\x39\xb7\x03\xf9\x3a\xf3\x2d\xc8\x21\x9b\x2f\xb3\xb4\x35\x0e\xe4\xc3\x07\x74\xb6\x6c\xb1\xad\x3d\xb9\x35\xdb\xf3\xd2\xd6\xdc\x6a\x26\xb9\xc9\xa1\x74\x55\x40\x97\xeb\x37\xf4\x7d\xd9\xac\x93\xfa\x87\x64\xfb\xa0\x46\x21\x3d\x2d\x79\xce\xc4\xb5\x96\x3f\x02\x47\xa0\xf5\xd4\xba\xca\x0f\xc9\xc4\x4c\xd2\x03\x01\xfc\xc2\x89\xdd\xae\xe0\xbf\x76\xea\x4a\x8e\x9f\x9b\xc8\x4b\xae\xe4\xc0\x33\x6b\x25\x9d\xb4\x50\x93\x31\x5d\x8e\xaf\x97\xc1\xcf\x58\xfe\x7e\x6d\x7e\xc1\xcc\xf3\xee\xd8\x0d\xc5\x83\xb6\x76\x99\x9a\x35\x35\x87\x0d\x1f\x78\x26\x97\x7a\xe2\xb7\x9b\xdf\xe8\x35\x3e\x30\x08\x92\x57\xf9\x72\x3a\xfb\x05\x1c\xc4\x01\x5e\xc8\xe2\x81\x83\x7a\x28\x7e\xaa\x7c\xf6\x04\x6e\xcb\xb0\x76\xe4\x9f\x66\x72\xe4\x66\x17\x72\xf3\x1f\x0d\xf3\xe3\xba\x20\xf7\x5a\x48\xc2\x26\x68\x0f\x0d\x17\x48\x2c\xa7\x73\xb9\x80\x59\x2c\xf8\x4e\xd2\xab\xba\x4f\xc9\x99\x9e\xc9\xce\xf1\x4c\x0d\x6a\x21\x5f\x8a\x9d\x98\x39\x4f\xd2\xad\x23\xf8\x0e\xab\x77\x92\xa3\xd3\xb9\x9e\xfd\xf5\xa9\xe9\x50\x5b\xbb\xdc\x74\xb1\xd5\xbf\xa6\xee\x47\x9b\x8f\x7d\xf4\xf8\x6d\xc0\x26\x15\x6a\xd4\x6e\x67\xad\x96\x5c\xdb\x3e\x1d\xc4\x5b\x5a\x73\xf3\x0f\x90\x47\xd9\x97\xf3\xe8\x6b\x62\xb5\xb4\xb9\xe9\x75\xc9\xe0\x4e\x6e\xfb\x98\xdb\x59\xd3\x99\x71\x3f\x42\xaf\xe9\x4c\x68\x5f\xf6\xad\xd7\x35\x32\xf8\xaa\x1d\x1f\xac\x1c\xed\x8c\x1d\xe0\x19\xb4\x76\x16\xc7\x04\xfc\x7c\xf2\x86\x8a\x4d\x12\xf1\x8e\xe1\x60\xb6\x96\xbb\xb4\x9c\xc1\x42\x6d\x96\x5c\xa4\x6c\xb4\x6c\x81\xee\x63\xdb\xba\x0d\xb6\xb5\xcf\xd4\xc3\x96\xf6\xac\x27\xb2\xa1\x33\xad\x75\x32\x3c\x03\xfe\x86\xe2\xc3\x42\x4e\xd3\x6a\xed\xe4\x4b\x03\x3a\xc0\xf2\xd2\xe0\x99\x24\x5b\x56\x27\x8d\xc8\x19\x98\x1c\x9d\x2f\xd9\xdf\x95\x35\xd0\x6f\xae\x60\xb9\x24\x13\x15\x1b\x63\x7a\xe6\x68\xbf\x61\x75\x03\x72\xbd\x56\x0f\x47\x47\x98\xfc\xa4\xa6\x17\xac\xb6\xcb\xd9\xd5\xb5\xb5\x87\xc9\x6d\x4c\x6a\x3e\xd2\x41\x5e\x2b\xe1\xa3\x66\x72\xa9\xe6\xd7\x10\xe3\x56\xe2\xd9\x01\x1b\x2e\xfd\xae\xe7\x55\x9c\xa7\xf5\x3a\x38\x23\xe6\xf7\x91\x63\x59\xc0\xb0\xee\x8e\x79\x5c\xc0\x22\x81\xcd\x28\xd4\x15\x4c\x5f\x87\xb6\x67\xd2\xab\x86\x47\x63\x2d\xe5\x83\x18\x9e\x97\xb5\x97\x9f\x91\xc8\x0b\x58\x8d\x90\xfa\xce\x4a\xcd\xd8\xb0\x58\x19\xfb\x9c\xdb\xf3\x17\x7c\x74\xcb\xf3\xd6\xa6\x53\x2d\x0e\x28\xed\x3a\x99\x3a\xb5\xf9\x15\xf8\xc0\x0b\x18\xc3\x03\x7c\x51\x22\x77\x15\xa8\x37\x98\x7c\x8d\xd4\x11\xf0\x9b\x24\x3b\xa6\x07\xb1\xcd\x56\x2b\xc4\x77\x2f\xe4\xef\xad\x06\x14\xa9\x0b\x9d\xe4\x24\xc7\x76\x46\xe6\xd0\x63\x0a\xf9\x24\x23\x78\x88\x9d\xb8\x74\xc2\x9e\x69\x9d\x15\xdb\x1b\x96\xa4\x80\x6f\x00\x2f\x68\xfa\xdf\xeb\x82\x2b\xb8\xb4\xa1\xc5\xe7\x0b\xf9\x76\xd3\xe1\x60\x6c\x2a\xb9\x1d\xf3\xfd\x62\xdb\x9b\x42\x8d\x47\xf6\xd4\xce\xf3\xde\xf7\x5c\xb2\x10\xd0\x53\x03\xeb\x29\x59\x1b\xb1\x39\x33\x39\x29\xc7\xc2\x58\xdd\x77\xe3\x39\x88\x61\x15\xeb\xea\xbd\x1d\x7f\x4c\x32\xbd\x92\x77\x5c\x91\x21\xcb\x83\xc6\xf6\x9a\xc5\x00\xf8\x68\x92\x0f\x9d\x53\x8b\xa7\x6b\x3b\x7b\x13\xb5\xd2\xe0\x3a\x06\x1c\xb8\xe1\x69\xc1\x9a\x1c\xac\xd5\x88\xac\x5a\xcd\x82\x1c\x85\x74\x61\x8a\xfd\xcc\x16\xb0\x45\x8e\x59\xd7\x67\x3c\x1f\xba\xe2\x0b\xc8\xaf\xd2\xef\xcd\x60\xd8\xb5\xe6\x95\x5c\x9d\x74\x49\xc6\xef\xd0\x67\xb5\x57\x07\xf6\xe0\x24\xde\x37\x79\x00\xe7\xe3\x71\xb4\xee\x63\x05\x53\x25\x9f\x22\x13\x7f\x58\x0d\x09\x8c\xf4\x3e\xf5\x98\x75\xae\xdd\xd7\x5b\xb1\x59\x3a\x0b\x03\xeb\x69\x3a\x97\x58\xd3\xf2\x37\x60\x77\x06\x72\x18\xcb\xd6\x63\x54\xc7\x2c\x58\x2e\x02\x5c\xa6\xfc\xb9\xea\xd8\x6e\xe4\xda\xea\x27\x27\xd8\x0c\xf4\xa7\x6c\x8f\xd9\x3d\x9e\x23\x72\xff\x2e\x6b\xf6\x5b\x07\xd8\x05\x70\xc6\x81\xf8\xfa\x40\x4e\x47\xb0\x49\x86\x6f\x27\xae\x35\x5f\x68\xe9\x98\x7c\x9d\xe3\xe2\xb9\x00\x72\x26\xbb\xeb\xde\xb3\x63\x9a\xe4\x1b\x6d\xe0\xfb\x2c\x1f\x4a\xdd\xad\x80\x09\xa8\xe0\xc8\x74\x4f\x56\xdf\xa3\x9f\xc0\x7c\xa9\xa9\xf9\x10\x8a\x77\x14\x8b\x55\xf7\x87\xe7\x96\x83\xd1\xeb\x81\x58\xd5\xf0\x66\xe0\x48\x4d\x36\x76\xf0\xb0\xe0\x41\x0c\x13\x11\xa8\x77\x83\xe3\x31\x5f\x2a\x90\xc7\xe3\x7e\x22\x7f\x1f\xf8\x16\x86\xeb\x2b\x3d\x47\x68\x75\x05\xfc\xe1\x00\x36\x53\xb2\xa4\xbd\xac\xe4\x35\x3d\x1f\x69\x3a\x99\xff\x8f\xdc\x6b\xc4\xcf\x3c\x89\x41\x25\x57\x86\xa1\x24\x8f\x52\xb6\xa6\x5f\x2c\xa7\x44\x4c\xa5\xf5\x0b\x60\x55\xa5\x27\x4d\x86\xb7\x26\x43\x13\xfe\xf4\x0c\xce\x2e\xa7\x1e\xeb\xe9\x77\xd3\xd8\xfc\xea\x85\x1c\xae\xf4\x99\x5f\x7f\xe6\xfd\x91\xfa\xe4\xc4\x1a\x27\xea\xf6\x13\x18\x33\xf3\xdd\xb1\x9d\xe1\x06\x9b\x32\x82\x3d\xb0\xbc\x11\x76\xc6\xd6\x65\x41\x07\x1f\x9c\x1b\x74\xf4\x81\x1f\x13\x86\x7e\xf6\x23\xf1\xa8\x61\x4f\xf0\x49\x06\x72\xe5\xd5\xeb\x15\xe4\x8a\x23\x67\x4b\x72\xe1\x75\xa3\x8c\xdd\x91\x7f\xa2\xe7\x38\xe8\x0d\x88\xe4\x54\x75\x9d\x13\x5f\xef\x64\x4d\x16\xf0\x96\xf2\x75\x76\x7a\x58\x74\x5e\xcd\xc6\x2c\xe4\x3b\xb1\xef\x3a\x93\x19\xec\x4c\xa4\x3f\xc0\x62\xd3\xa3\xf9\x38\x96\x2b\x9c\x9a\xdc\x47\x70\xb2\x0b\x36\x4b\x36\xc5\xe4\x3d\xd1\x0f\x51\xc1\xdc\x80\x4d\xb3\x3a\x08\xb6\x62\xc1\xff\xf0\xdc\x86\xe7\x5e\x0c\x47\xe2\xb5\x0b\x7e\x57\xaf\x67\xf2\xdc\x01\xbf\x54\xf7\xa5\xdf\x1a\xf1\x0b\x7c\x6d\x86\xa9\x9d\x61\xcf\xc7\x29\x9e\x33\x4c\x55\x6e\xf7\x15\xf1\x51\x25\xe7\x56\x0f\x1b\xa8\x99\x13\x97\x5a\x0e\x22\x35\xfd\xe0\x7e\xf3\x0e\x26\xcf\x6a\xf4\x0b\xfa\x93\xba\xc1\x01\x8e\x58\x3a\xe4\xa0\xd7\xc8\x62\x0a\xfc\x9c\xc5\xb1\xa5\xd4\xf7\x12\x79\x44\xd9\x6e\xe9\x17\xed\x51\x22\x8f\x91\x39\x77\xf6\x9d\x89\x5e\x12\x62\xc1\x89\xfc\xb2\xec\x9e\x74\x90\x64\x43\xb2\x63\xe7\x9e\xfd\x4d\xf4\x4a\x98\x2f\x42\x0f\xc7\x14\x7b\x4c\x96\xf1\x25\x36\x7c\x6d\xc3\x40\x81\x0d\xdf\x58\x43\xf9\x3a\x86\x0d\x64\x8d\x65\x5b\x0d\xd7\x5a\xda\x39\x2a\x9c\x61\xd3\x93\x8e\xdd\x22\x7f\x33\x50\x5f\x49\xe0\xee\x0e\xf2\x86\x81\xbd\xd7\xb9\xd4\xef\x4a\x07\x4a\x7f\x4b\xe7\xe9\x59\x74\xad\x19\x1b\xb9\x93\x03\x0c\x60\xa7\xec\xdc\xed\xf4\x6d\xb8\xfe\xa2\xa7\x62\x07\xab\x6d\xf5\x29\xd6\xc7\x62\x6d\xc7\x58\xcd\x5d\xdf\x69\xbd\x2c\x3f\x14\xdb\x7e\x04\xf2\x3a\x09\x6c\x86\xe1\x11\x66\xfe\xde\x5a\x8e\x28\x82\xf9\x0b\x6b\xc7\x11\x07\x30\x16\x11\x3c\xee\x0a\x1e\xca\x62\x59\xf4\xea\x81\x0d\x5b\xc0\x94\x48\xa6\x2b\x7a\x41\xfe\x8c\xec\xe3\x08\x2e\x33\xbb\x4c\x11\xcf\xcd\xac\x63\x06\x9b\x97\xc0\x27\x59\x8c\x48\xec\x69\x39\xa4\x88\x5e\xa1\x16\x2a\x5f\x47\xcf\x7d\x60\x1b\x24\xe7\x76\xd6\x0f\xec\xd2\x82\x0e\x3c\x5b\xdc\x66\xb8\x14\x74\xd1\x49\x2c\x95\xf0\x31\x37\xea\x05\x85\x9e\x34\xed\xd1\x8a\x6d\x19\xdd\x97\x3c\xc0\xa7\x82\xd5\x48\xe4\xa8\x74\x5d\xcb\xfb\x91\x67\xb5\xf3\x0b\x9e\x29\xd7\x8e\xa9\x8d\xe0\xf0\x07\x6a\x8e\x3a\xef\xde\xa7\xb4\x52\x77\xd1\xdf\x16\xef\x9f\x7d\x2d\x23\xf9\x87\x83\xdf\xd1\x75\x2d\xce\x1b\x7b\xed\x74\x02\xc7\x37\x13\x4b\xac\xa9\xd7\xe8\xac\x4e\xbb\x34\x39\xd9\xc1\xf6\x0d\xd4\x06\xad\xee\x00\xee\x7d\xc0\xff\x74\x1c\x5b\x21\x6f\x32\xa1\x2f\x56\xd6\xe6\xb8\x8d\xfb\x6a\x5b\x4b\xd9\xaa\x42\x9d\x42\xdf\x8d\xc8\x8e\xe9\xd2\xa3\xf9\xac\xd6\x33\xb7\x76\x2c\xbf\x64\xda\xf2\x4e\xd8\x38\xe9\xfc\x88\x2f\xa9\xfb\x9f\xe9\x3d\x2a\xd4\xff\x1c\xc7\xbc\x13\x27\x64\xfc\xfc\x9d\xb5\xaa\xe0\xbf\x66\xf2\x66\xd6\x73\x47\x0e\x46\xd7\x94\x6d\xb4\xf3\x4b\x9c\xa3\x78\x5f\xfe\x43\x00\xb7\xb3\x83\xd9\x8c\xc4\x49\x33\x35\x12\x3d\xb3\x61\xed\xb9\xce\x41\x8d\xe7\x31\x6f\x35\xb6\x78\x73\xa5\x2f\x67\x23\x67\x34\x51\x2b\x3a\x3f\xa8\x77\xcd\xf4\x40\x68\xdd\x03\x79\x49\xf9\xc2\x27\x39\xd2\x69\xed\xf8\xec\x8a\x4f\x9d\x89\x4b\x8b\x63\xdc\x07\xb0\xeb\xe4\x05\xa4\x3f\x66\x7a\x5f\xbc\x67\x40\xb2\x67\x58\xe7\x09\x6c\xde\xd2\x64\x41\xcf\xee\xf5\x06\x97\x67\xdd\xbf\xf4\xcf\x9a\x7b\x3f\x68\xf5\x58\x82\x9c\x74\xe5\x79\x37\x70\xc3\x95\xdc\x95\xc5\x9d\x81\x58\x9e\x7c\xd2\x42\xae\x35\xd3\xdb\xa5\x75\x18\x8f\x8e\xfb\x9e\xc1\x2f\xaf\xe0\xc1\xac\x46\x4f\xff\x41\x71\x9b\x7f\x50\x07\x2e\x37\x3d\x84\x95\xfc\x08\x31\x43\xa1\x36\x23\x19\x2d\xe0\x65\x33\xbe\x82\xe1\xfd\x32\xfd\xa5\xf4\x22\xac\xf4\x1f\x8e\x60\x4e\x36\xf0\x21\x92\xe1\x4c\x6f\x9c\xe5\x4d\x2b\x7d\x7c\xf4\x8e\x58\x0e\x25\x52\xbf\x1d\x9b\xae\xb1\xda\x39\xf9\x93\x48\x8f\x99\x63\x23\xcc\xe6\x97\x66\x8b\x24\x67\x2b\x3d\xa1\xb3\xd7\x8c\x33\x38\x42\x7a\x48\x06\xee\xa7\x3a\x8e\x7e\x6e\x72\xb7\x11\x73\x25\xea\x69\x23\xf7\x76\xd0\xbf\xba\x71\x1e\xb5\x86\x8a\x15\x0b\xfb\x60\x35\xfa\x00\xde\x1d\x2c\xb4\xf7\xa4\x2e\xe0\x8b\x5d\x67\xce\xf4\xc5\x58\xaf\x0e\xb9\x9c\x8c\x6f\x12\xd9\x63\xc3\x2e\x63\xdf\x4f\x70\x3c\x07\x3e\xe8\x44\x9e\x52\xf6\x21\x90\x53\x34\x7d\x3a\x52\x3f\x98\x89\x19\xc0\xd5\x9c\x60\x02\x1c\x37\x60\xfe\x64\x6e\xba\x22\xd3\xd3\x25\x9f\xc2\xf0\xba\xd8\xf3\x83\x7e\xd2\x85\x7a\xb2\x6c\x9f\xe1\x51\xa9\x91\xe8\x6c\xac\xd4\xd0\x33\x3d\x7d\xda\x2b\x8b\xc1\xc8\xbd\x67\xaf\x81\x20\x17\x8f\xb8\x49\x70\x78\x8a\x4b\x4e\x70\x99\xd2\xb9\x3a\x27\x96\x17\x9e\xe8\x6d\x26\xef\x98\xb1\xa3\x05\x7c\x4f\x02\xd7\x22\xb9\x5e\x1d\x6f\x39\xd0\xd7\x93\x9b\x2e\x49\xe8\xd1\xa3\x7e\x90\xc7\x9d\xc8\x49\x72\x2e\x2a\xf9\x89\xcc\x3d\xbb\xaf\x66\x39\x40\xf0\x31\xd6\x6b\x30\x81\xff\xc3\x36\x56\x7a\x22\xac\xee\x46\x6f\x97\x5e\x77\xfb\x39\x92\xc3\xc8\xd8\xfb\xc5\x73\x36\xa9\xf9\x7f\x92\x73\xc3\x3f\x82\x4b\xcc\xe4\x39\x47\xb0\x02\x05\x7d\xb5\x53\xbf\x3e\x88\xb1\x0b\xf9\x18\xe9\xf5\x8d\x9e\x4a\xd9\xe0\x89\xfe\x94\xc0\x35\x0a\x79\x6a\xc9\xc7\x44\x4f\x44\xdd\x7a\x4f\xd2\x00\xc6\xde\xf7\x56\xfa\xab\xa6\xde\x37\x16\xc8\xf1\x4c\xe4\xef\x57\xf0\x11\x66\x0b\xc8\x01\x9b\xaf\x59\x9a\x9d\xf6\x9e\x65\xcb\x13\x1f\xe0\x8a\xd1\x25\x92\x79\xf3\xab\x8e\x66\x7f\x17\x6a\xd3\xfa\x0d\x9d\x1d\xaf\x83\xd9\x6f\xe0\x47\xae\x60\xfb\x57\x7a\x44\xbc\x46\xe3\xfd\x48\x86\x53\xf2\x9c\x6d\xe9\x3d\xe8\xb3\xd7\xe2\x4f\xb0\xbd\x99\x7e\x81\x4c\x8e\x98\x3c\x80\xf5\xd5\xb3\xe7\x27\x7d\xdc\x56\xef\x59\x7b\x2d\x5c\xbe\x52\x3e\x7b\x1e\xe8\xb1\x9e\x8c\xaf\x57\xe8\xeb\xd5\xbe\xef\x73\xef\xcd\x2c\xd4\xf0\x23\xbd\xf7\xba\x87\x85\x5c\xa6\xf9\x27\x27\xbd\xc1\x73\xdb\x8f\xe0\xbd\x51\x60\xbf\xcc\x4f\xba\xf1\x11\x17\xea\xc0\x86\x41\x71\x3f\x72\x07\x7b\x70\xf2\x1c\xc4\xf5\xab\xcb\x92\xf7\xb3\xd0\xf3\x78\x52\x5b\x0f\xd4\x50\x12\x18\xd6\x15\x6c\xc7\x82\xae\x97\x5f\x3d\x82\x89\x3f\xc0\x11\x57\xfa\xda\xb5\x2e\x01\x1c\x9d\xf9\x35\xe4\x11\x26\x7a\x51\xac\xff\x8b\xde\x44\xbf\x7e\xe5\xac\x4b\x17\x56\x7a\xc1\xcc\x1f\x05\x93\x9d\xc9\x9d\xee\xe0\xfe\x74\x6f\x79\xee\x58\x10\xb3\x65\xf4\xd8\x8d\x9c\x19\xc9\x77\xc5\x7f\x3d\xa8\x4b\x98\x2e\x98\xc1\x35\x52\xab\x5a\xe8\x59\xd9\xc8\xdf\x1c\xf8\x38\x03\xf9\xd2\x82\xec\xc8\xf7\x97\xee\x5e\x6e\x7a\x3d\x23\xb5\x9b\xe3\xec\x75\x48\x7d\x5f\xf6\xd1\x70\xe0\xc4\xe1\xf9\xec\xf8\x49\xc9\xd9\x48\x1f\xb9\xe3\x81\x0d\x9f\x4c\xaf\xa6\xd5\xff\xc8\xa3\x1f\xec\x85\xc5\xd3\x47\x93\x89\x05\x2c\xba\xf6\xf7\x31\x1f\xcc\x9e\xeb\xff\x07\xf2\x0b\x1b\xb5\xc4\x09\x79\x1a\xe9\xc3\xb0\x9a\x14\xb8\x3a\x8b\x81\x76\xfa\xe2\x3d\x37\x42\x5d\x2f\xb3\x4f\x8b\x63\x09\x57\xf4\x09\xbe\xb3\xe9\x61\xea\x60\x15\xdc\x81\x3f\xaf\xf5\x23\x1f\xcd\xbe\x59\x0f\x1c\x18\x50\xeb\xa9\x03\x3b\x65\xbe\x1e\xb1\x4b\x39\x7b\x5c\x10\x6f\xfa\x68\x0a\xb2\x94\x89\x4b\x0f\xfc\x7f\xd3\x09\xee\xab\x93\xbb\x77\x0c\xb7\x71\x3b\x60\x63\x67\x7a\x09\x2d\x9f\xb3\x36\xbf\x62\xc3\x97\xca\xf4\xfb\x25\x70\x64\x19\xbc\x93\xf6\x45\xf7\x67\xb5\xfe\xd2\xf4\xa7\xf5\x80\x63\x8b\x16\xea\x6d\x11\x9d\x91\xe9\xa7\x1e\xa9\xb5\x2c\xd4\xa4\x0a\x3d\x32\x27\x71\x4d\xf2\x5e\xb8\xa5\xbd\xb6\x82\xb9\x9e\xd6\x8e\x15\xb7\xdc\xd8\xd8\xeb\x46\x33\xfd\x8d\x2b\xb2\x59\xf1\xab\x2c\x6e\xc5\xff\xb0\x98\xe3\xc4\x87\x4b\xf0\x61\xac\xe4\x62\x88\xd3\x4f\xce\x73\xa1\x47\xdb\xfb\x1d\x0c\xff\x44\xaf\x64\x41\x9f\x67\xea\xb8\x8f\x58\x80\xd4\x64\x23\x6e\x3d\xd7\x7a\x80\x59\x5d\xc1\x19\xe8\xfc\xeb\xfa\x2b\xb5\xfd\x39\x77\x3b\x67\x7e\x1d\x76\x2e\xd1\x67\x6a\xff\x46\x76\x2c\x4f\x41\x6f\xcd\x40\x7f\x63\xa6\xde\xbc\xe2\xff\x04\x72\xe9\x19\xec\xb2\x9e\xa7\x80\xf7\x34\x5f\x0a\x3e\x81\x11\xbc\xbb\xf5\x9c\x52\xf7\xd8\xc1\xb2\xe6\xb9\xfb\x9b\xf2\xfd\x2a\x75\x99\x4a\x0d\xca\xeb\xf5\x56\x47\xa0\x46\x5b\x38\xe7\x2b\xf8\x7a\xe3\x4e\x20\xd7\xbd\xe2\x83\x1f\xf8\x95\x33\x7d\x4c\xce\x19\xe0\x35\x22\xad\x71\x71\xff\x80\x18\xc2\xf8\x48\xa8\xc5\x1c\xe8\x4a\xc7\x07\xef\x9c\x35\xb7\x99\x89\x7a\x99\xe3\x87\x76\x7a\x0b\x3d\x56\xb7\xfe\x16\xfa\x26\x2c\xd7\xb5\xf4\x3a\xe8\x42\x6d\xdf\x7a\x82\xc0\xc5\xe9\x79\x65\x3b\x17\x6a\xde\x99\x3c\x8a\xd5\x1c\xa8\x75\x65\xaf\x4f\x83\xfb\x89\xeb\x77\x31\x51\x2b\x38\xc7\x9d\x3e\x9c\x8c\xfe\x5e\xc1\x63\xad\xe4\xe3\xcc\x3f\xa2\xd6\x14\xc8\xd1\x4c\xe8\xbf\x00\xb6\xdb\x6a\xb5\x7b\x3b\x4b\xc5\xb1\x33\x47\x3b\xeb\x1b\xb1\xc6\x4a\xdf\x9f\xc9\xdd\x42\x6f\x27\x7d\x6d\x16\xeb\xba\x3f\x1b\x9a\x4f\x30\x51\x4f\x1b\xc8\x4b\x5a\x9c\x0e\xb6\x6d\x03\x17\x1a\x88\xcb\x0d\x07\x3c\xf6\x1e\x78\xc3\x75\xac\x6d\x0f\xad\xce\xea\xf9\x7f\xf2\xbf\xd6\x9b\xb9\x81\xa3\xa2\x6f\xfd\xa0\x5f\x67\xa5\x06\x22\x39\xd1\x39\x37\x1d\x99\xf1\x31\x96\xe6\x77\x19\x66\x2e\xb6\xef\xc4\xbd\xe7\xe7\x23\x79\x3e\xcb\x35\x80\x49\xbf\xad\x6f\xe9\x1c\x58\x1d\x36\x76\xee\x9f\x4a\xee\xbd\x38\xa6\x21\x13\xff\x90\xab\x1f\x89\xfb\x33\xbe\xd7\x08\xe6\xcb\xb0\xf6\x60\xf6\x57\xb8\x16\x36\xf0\x08\x33\xfc\x18\x2b\xfd\x6b\xd3\xd2\xed\xf7\x48\xce\xa8\xa0\x17\xf5\xfc\xe6\xf7\xc1\x09\x34\x7b\xaf\x5a\xed\x18\xaf\xc1\xf3\xf0\x9c\xd5\x95\xbe\xfe\x99\x5e\x31\xf3\x47\x42\xd7\x5b\x86\xd3\x02\x13\x39\xc0\x93\x60\xd8\x6a\xfc\xae\x8d\x73\x1b\xc0\xb7\xe8\xfb\xd1\x7d\x37\x78\x20\x0e\xfa\xad\xaa\xf7\xbb\x10\x5b\x7a\x0d\x39\xb1\xee\x85\x7e\x78\xab\x51\x62\x93\x2c\x7e\x28\xcd\xd6\x8d\x60\xcc\x32\xf6\xb8\x10\x1b\x18\x17\x05\x67\x6c\x07\xc3\x60\xba\x77\xc4\x8e\xc3\x95\x60\xbd\x0e\x60\x6f\xad\x1f\x9e\x75\x38\xc8\xdd\x65\x72\xa4\x7a\xbe\x89\x5e\x22\xd9\x8c\x02\xef\xce\x58\x7b\x6d\xc5\xf4\x31\x78\x34\xed\xc3\x0e\x5e\x63\x76\x5f\x1d\xf9\x5e\xc0\x8a\xde\xae\xad\x73\x17\x94\xd2\x6b\x98\x19\xdb\x5a\xc0\xa5\x67\xfa\x94\x0c\xc3\x44\x8f\xb9\xd7\xe1\x47\xea\x24\x03\xb8\x1a\xab\xb9\x97\x76\x9f\x66\xab\xbd\x26\x08\x37\xce\x51\x3a\xee\x6e\xa7\x3e\x36\xd2\xeb\x2e\x5d\xe5\x7d\x05\x2b\x3a\xb2\x3a\x96\x6e\x24\x97\x11\xc8\x29\x86\x5e\x7b\x0d\xe4\xe8\x1e\x71\x17\x3c\xd7\x00\x56\xdd\x64\x1c\x9c\xfd\x8c\x9f\x7a\x80\x2f\xb2\x3e\x32\xf2\xdf\x2b\x38\x9d\xdd\xcf\xf5\xd9\xae\x69\x3d\x24\x8e\xa3\x20\xdf\xb3\x7b\x3f\x39\xb1\xcd\x48\x9d\x3d\x11\x27\x19\xaf\x12\x36\xc1\x39\x41\x0a\x3e\x88\xfe\x48\x86\x0a\x3d\x90\x0b\x58\x05\x3b\x23\x5b\xc7\x79\xb9\x3c\x54\xe2\xb4\xd5\xf1\x3d\xec\xe5\x04\xa7\x97\xd7\xce\xbc\x37\xc2\x30\x72\xf3\x4d\x4f\x0e\xb9\x08\xe7\x25\x79\xac\xa7\x50\xdb\xb7\xba\x33\xfd\x3a\x96\xc7\x5b\x7a\xed\x36\xd2\x7f\x7b\xd2\x03\x94\xc1\x96\x05\x7a\x05\x17\xf8\x34\x8c\xcf\xc5\x3f\x47\x8e\xc3\xfb\x4b\x36\xf4\xe8\xc4\xbd\x05\xce\xd4\x4c\x7f\xe1\x0a\x8e\x64\x71\x0c\x1f\x18\xe1\x89\xb8\xad\xd2\xc3\xe2\x58\xa9\xcd\x7b\x86\x72\xdb\x8b\x13\x7c\x82\xf5\xee\x11\xdb\x18\xaf\x0b\x38\xb3\x89\xf7\x77\xef\x25\xde\xc1\xa0\x90\xaf\x71\xae\x82\x75\xbf\xf9\x1b\xae\x80\x7d\xe8\xd8\x95\xf9\xec\xb5\xb7\x85\xda\x54\x06\x5b\xbb\x52\xa7\x5a\xc9\x3b\x9c\x9e\x1b\x47\x5f\x55\xea\x3e\x1f\xf6\xd6\x59\x5c\x0b\xe6\xca\xb8\x44\x0a\xf1\xdc\x27\x7a\xeb\xbe\xd3\xb9\xf5\x99\xed\x75\xdf\xb9\xc6\x6d\x87\xdd\x07\xcc\xa9\x9f\x68\xb2\xfb\xce\x57\xff\xe0\x3e\xbb\x4f\xdd\xf4\x8f\xdc\x6a\xf7\xd1\xad\xd3\x6d\x37\xce\xc3\xb6\xfc\xb7\xb7\xdb\xbd\x3e\xcb\xf5\x7f\xbe\x7b\xf5\xf2\xf3\x69\x01\x23\xb4\x01\x05\x51\x1f\x08\x43\xbc\x55\xb6\xd2\x9a\x7f\x10\xca\x10\xea\x2f\x94\x2a\x32\xf4\x59\x91\xf4\x66\xa6\xad\x5f\xea\xb1\x52\xf2\xdd\x70\x91\x12\x30\xb2\x78\x76\x28\x68\x80\xb2\x61\x85\xae\x24\xe1\x1e\x54\xca\xba\xe6\x0e\x42\xfb\xb4\x39\xc5\x9f\x97\x2a\x29\xa1\x2e\x94\x66\x0d\xae\x0f\x64\xa9\x90\xee\xae\x37\xf4\x77\x0b\xb4\x09\x46\xe5\x40\x48\x60\x50\x5d\x4a\x58\x05\x58\x84\xa9\x2d\x8e\x97\x54\xdc\x09\x4d\x97\xa9\x7c\x2f\x63\x03\xd5\x93\xd9\x3a\x68\xeb\x32\x08\x4b\x6a\xf7\x96\xbc\x44\x3a\x74\x68\xc2\x44\x59\xfa\x00\x22\x62\xf0\x79\xa8\x27\x02\xe1\x69\x84\xba\xa5\x02\x39\x29\xc0\x77\x1c\xca\x16\xa0\xb1\x3a\x09\xcb\x13\x69\x92\x1d\x08\xd4\x41\x39\xd8\x5a\xbf\x81\x71\x9a\x0b\x02\xb5\xce\x86\xfb\x72\x50\xb6\x3c\xbc\x25\x05\x5a\xc6\x13\x98\xfa\x8a\xaa\xb4\x94\x6b\x20\x75\x0f\x24\x2e\xb8\xab\x57\x09\x41\x47\x4a\x36\xa9\xa5\xed\xbc\x95\x3b\x0c\x9d\x46\xe5\x9c\xbb\x09\x2b\x98\x7a\x4b\x49\x0c\x3d\x94\x91\xaa\x1a\x69\x1f\xcf\x50\xac\x24\xd2\xbe\x06\x15\xa1\xf5\x6e\x05\x4e\xba\x10\x6a\x98\x0b\x45\xeb\xff\x41\x1b\xd4\x88\x4c\x9d\xb8\x89\x01\x98\xc7\x46\x28\x21\xb9\x49\x37\x34\x61\x15\x6a\x91\x08\x1d\xd7\x4e\x09\xc8\x52\x6a\xb4\x5c\x05\x87\x25\x40\xc9\x38\x86\x4e\x3f\x97\x29\xef\x05\x4a\x87\x11\x8a\x9b\x01\x18\x43\x05\xfe\xec\x69\x70\x2b\x87\xa5\x26\x0f\x01\x9a\x46\x6f\x0f\x1d\x79\xdd\x5a\xdc\x47\xa8\xde\xbc\xa5\x9b\x90\x6c\x04\x02\x7d\x02\x1b\xf2\xb2\xae\xa5\x48\x16\x5a\x1c\xa1\xe9\xd9\x29\x51\x19\x1c\x8a\x32\xec\x41\x49\x39\x20\xf7\x91\x90\xb0\x92\xde\xde\xd9\x53\xb9\x35\xb6\xb7\xc0\xfc\x4c\x56\x4b\x87\xf8\x2c\xc0\x17\x0a\x50\xe2\x04\x85\xdc\x0e\x05\x82\x51\x36\x50\x2e\x34\xaa\x28\xf4\x80\xc1\x4b\x09\xd7\x37\x68\x31\x9d\x7e\xce\x5c\xfa\x1d\x78\xd6\x82\x49\x06\xa6\x64\x29\x21\xa0\xf2\x76\x1e\x09\x1b\x16\x68\x1e\xcb\xd0\xa1\x31\xa7\xb7\x8d\x01\x9b\x3f\xa1\x4a\xb2\x14\x01\x14\x20\xba\x46\x84\x82\xcb\x61\x55\x2b\x94\x30\x46\x5f\x70\x02\x41\x27\x8d\xb7\xd3\x92\x37\xe0\x56\x58\x9b\xb2\x53\x58\x0d\xfd\xec\x19\x2c\x8b\x33\x5d\xd1\x79\x2b\xa9\x7c\xc9\xd5\x40\x49\x3a\x71\x0e\x56\xce\xba\xf6\x7a\xc2\x75\xb5\x36\xdd\xa1\xc9\x84\x53\x47\x1e\xb4\x96\x59\x19\x92\x32\x8b\xc3\x80\x27\x87\x64\x41\xc7\x34\xd3\xca\x7c\x52\x7e\x19\xd0\x3f\x23\xf4\x36\x89\xf6\x5b\xa7\xe4\x0a\xa4\xc4\x66\x74\x6b\x82\x6e\x68\xd9\x7a\xcb\x97\x5c\x8f\x01\xea\x9f\x89\x36\xb1\x0a\x34\x65\xa7\xd4\xaa\xbf\x27\x20\xd0\x85\xb3\x9f\x28\x3d\x27\xca\xf1\xb6\xdf\x4e\xd9\x46\xf9\xa4\x92\x2e\xf1\x92\x64\x24\xfd\x31\x38\x24\xaa\x36\x99\x92\xdd\x8a\xb8\xe8\x07\x10\xb9\x19\xe8\xce\x36\x36\x77\xd1\xc3\xde\x11\xb8\xde\x08\x5d\x9b\x95\xb4\x56\xa8\x7d\x80\x75\xee\xa4\xd7\x0f\xdc\x54\x6b\x35\x06\xa6\x38\x02\x13\x08\x37\x74\x83\x5a\xb7\x99\x36\xee\xe0\xd4\x2d\xa4\x24\x1c\xee\x2e\xdd\x52\x29\x33\x04\x52\x8b\x23\xed\x2c\x4e\xc9\x91\x80\xf8\x18\xad\xe6\x00\xe5\x97\xc3\x66\x17\x68\x60\xe7\x26\x7f\x16\x0e\x94\x0e\xf5\xb9\x75\xf3\x2c\x85\x48\x4a\xce\x68\x39\xa1\x27\xfa\xa4\x9b\xe7\x1e\xc3\xe7\xba\x78\xfe\xfd\xef\xb8\x77\x8f\xf4\xf7\x9f\xf2\xec\xfc\x1b\x7f\xb8\x57\xf7\xc1\x3d\xfe\xd8\x1e\xdd\xcd\xdd\xba\x33\x37\x8e\xff\xed\xbe\xdc\xff\x7a\xb0\xff\x7c\x96\x27\xe7\x84\x3c\x33\x40\x2d\x27\x80\xac\x80\x0a\x2a\xe0\x3d\x2b\x2c\x12\xc0\x8f\x04\xcc\xfb\xdc\x1b\x96\x02\x1e\x80\x05\xf0\x23\xe4\x4d\x14\x2c\xfd\x33\x2b\x9f\x5f\x28\xfe\xc9\x33\x8b\x24\xf1\x2c\xf9\x07\xb8\x46\x5e\x41\x02\x30\xb7\x43\x96\x57\x48\x7e\x8c\x5e\xb4\x5a\x01\xad\x42\xea\x90\x68\x04\x39\x08\xea\x9c\x6c\xb2\x50\x84\x36\xc0\xfa\x86\x96\x26\xb1\x1f\x20\xe9\x34\x92\xa0\xd8\x9e\xd3\x0a\x0b\x53\x27\x90\x30\xcf\x31\x42\x16\x01\xf8\x58\xdf\x35\xa2\x2f\x9a\x9f\x0f\x00\x91\x89\xe6\x65\x9d\xc6\x19\xe2\x96\x09\x80\xb0\x93\xd3\x8c\x24\xf7\x74\x42\x57\x48\x85\xa4\x3d\x8d\x24\x2f\x74\xd2\x94\x02\x51\x55\xc2\x33\x19\x68\x7a\x8c\x90\x21\x19\x29\x2d\x41\xef\x0e\x51\x4d\x26\x49\x6d\x01\x1e\x24\xa4\x0b\x1e\xe0\xb4\x76\xb0\x8a\x03\x67\x16\x12\xd4\x56\x8c\x07\xd4\xe6\x64\x40\x06\x18\x00\x20\xe7\x20\xcb\x19\x6f\x60\x81\x60\x28\xd2\x0c\x3e\x40\x4e\x14\x01\x59\xcf\x90\xb2\x54\x9a\xb0\x77\xc8\x39\xf4\xff\xf2\x34\xa4\xe5\x47\x9a\x52\xed\xfa\x14\x75\x26\x92\xf7\x27\xe4\x63\x01\x20\x90\xbc\xf6\x44\x11\x28\xd1\xa4\x7e\x38\x90\x1d\xc2\xe9\x95\xa6\x1a\x23\x80\x05\xc0\x39\x91\x80\x9c\x49\x26\x59\x42\x0e\x22\xe0\x00\xb9\xe9\xb2\xf7\xc8\xc1\xb4\x36\xe0\xeb\x95\x66\xee\x09\xef\x67\x07\x60\x1b\x21\xea\xd0\x5a\x0c\x14\xc4\x36\x02\x77\x07\xb1\x6c\x90\xfd\xec\x34\x79\xce\x14\xa6\xc7\xa5\x03\x15\x23\x5e\x8f\x35\x3a\x66\x88\xce\x08\xec\x8d\x9c\x19\x92\xe5\x0c\x88\x30\x43\x72\x3a\x3b\x69\xc3\x84\xb7\x8b\x57\x33\x43\xe8\xad\x73\xb8\x40\xd2\xb6\x2e\x9d\xe4\x33\xa6\x9e\x7c\x1b\x48\x50\xc8\xe2\x26\x12\x71\x53\xed\x00\xe4\x0c\x69\xc4\xea\x04\xcb\xa5\x5b\xdf\x9d\xe6\x93\x35\x73\xe6\x21\x81\x34\xc0\x15\xde\x68\x5a\x3a\x79\xda\x49\x42\xd0\x88\x0f\x49\x90\x44\xc8\x41\x02\x64\x13\xf2\xa6\xa2\x93\x9c\xd2\xd8\x17\x20\xbf\x5e\x21\x5d\xd3\x7b\xb6\x1e\x5b\x5b\xbb\xcd\x8b\x46\x10\xf6\xed\x34\x09\x8d\x80\xe1\x26\x64\xd6\x92\xd1\x73\xb3\xd4\x3b\x45\xd7\x84\x47\x68\x40\x1f\x00\x42\xba\xd7\x58\x7b\x93\x5e\x82\xd8\xc1\x9a\xb6\x69\x52\x33\xa2\x7a\x08\xc8\x36\xbc\xb0\x48\xe2\xc7\xa2\xd9\xb1\x45\x73\x07\x44\xf6\x16\xdd\x64\xbc\xde\x1b\xe0\x84\x79\x29\x03\xc5\x14\x3c\x84\xf1\xec\xcd\x30\x46\x0a\xc6\x3d\x78\x62\x6e\x03\xec\x7a\xd0\x98\xb2\x03\xce\x94\xec\x3b\xf9\x76\x04\xc0\x78\x9e\x1d\x64\x18\x69\x7a\x8a\x44\x3d\x06\x34\xaf\xdd\x2b\x1c\x48\x40\x65\x12\x66\x0e\xae\x2e\x10\x06\xb8\xde\x09\x90\x4d\x38\x29\xd4\x36\x76\xc0\xce\x06\x21\xd5\x4a\xe3\xd4\x49\xe1\xd9\x12\x8b\x10\x57\x0f\x90\x7f\x79\x01\xc2\x92\xa9\x80\x0c\x07\x1a\x9d\xcc\x2b\xa2\x20\x65\x89\x63\x6f\x68\x06\x40\x11\x20\x17\xb4\xf5\xa4\xb9\x7f\x70\xaf\x69\x04\xa0\x81\x17\x39\x03\x30\xd8\x89\x52\x07\x12\xc9\x0e\xb2\x59\x01\xbb\x39\x41\xd7\x46\x34\x3f\x52\xe4\x97\x0c\x58\xb3\x1a\x24\x12\x1b\x40\xa8\x01\xb0\xb2\xf4\x90\x93\xa6\xac\x90\x64\x44\x9a\xd6\x02\xcd\xcd\x56\x6c\x84\xf8\x7a\x1f\x7b\xd2\xcf\x41\x7e\x3a\x7f\xae\xeb\xad\x21\x87\x24\x6f\x84\x50\xc3\x80\x12\x78\x66\x3b\x60\x8e\x88\x4d\xda\xc8\x88\xe8\x7c\x5b\xb4\x0b\x81\xda\xe0\xc3\x0b\x58\xa7\x99\x26\xbb\x8d\x7d\x2c\x14\xe8\x57\x48\x4f\x32\xd1\xb3\xc9\x20\x49\xf5\x48\x64\xe2\x45\x33\xfd\x9e\x15\x08\xc9\xbc\xe8\x8c\x3f\x12\x91\x32\xec\xc0\x00\x8b\x80\x5b\x12\xc0\x65\x23\x15\x9c\x90\x1f\x1a\x76\x0a\x04\x1a\x06\xb2\x22\x5a\x32\x50\x06\xcd\x96\x89\x42\xf4\x86\x47\x6f\xc0\x6c\x27\xd2\x84\x74\xce\x9a\xd5\x68\x38\x2f\x7c\x7e\x21\x59\xb9\xa2\xe3\x33\x51\xd4\x40\xe3\xee\xce\x73\x6d\x14\xdc\xf2\xd9\x09\x52\xa7\xa3\xeb\x75\xb7\xcd\xd6\x34\x01\xa1\xa8\x47\x34\x4e\x56\x6f\x89\x7b\x0a\xdf\xf2\xc8\xad\xf8\x4d\x01\x29\x03\xc8\x5f\xd0\x63\x2b\xe7\x26\x51\xf0\x71\xc0\x86\x67\x9b\xac\xa8\x12\xf0\x4b\x68\x26\x70\x82\xdd\x91\x26\x5a\xfb\x2e\x3a\xa2\x40\xf4\x26\x19\xb7\x3d\x5c\xbb\x6c\x4f\x14\x0e\x16\x9a\x1f\xf4\xac\x09\xf2\x1b\x6b\x4c\x88\x14\xc7\xd7\x1b\x72\x2a\x00\x61\x09\xf0\xf2\x48\x93\xc1\x4e\x23\xad\x03\xa4\x77\x27\xb7\x3c\xd1\x1f\xe8\x67\xe9\xd7\x83\x02\xed\xe0\xc4\x84\x10\x29\x07\x40\xaf\xd9\x01\x84\x73\x93\x83\x15\x00\xad\xfb\x54\x46\x7e\x08\xc1\xa8\x0d\x0a\x81\x64\xd7\x1a\xdb\x0e\x48\xaf\xf1\x8b\x74\x1f\x03\xa4\xd7\x0b\x32\x30\xd0\xd0\x31\x7a\x33\x4a\x6e\xf7\xec\xe0\x74\xfb\x43\xa4\xed\xe7\xc9\x9a\x01\x77\x00\xf3\x64\x4f\x16\xfc\x2a\x2f\x9c\xaf\x80\x81\x66\x32\x64\x0e\x68\xde\x00\x99\x65\x64\x74\x82\xf4\x67\xa4\x78\x6d\xcd\x39\xde\x2c\x74\x43\x86\x22\x59\x1a\x00\xcb\x2f\xf8\xd6\x7e\x86\x0c\x9c\x86\x3f\x3c\xa0\xef\xac\x50\xb0\x50\x64\xa3\xe1\xeb\x24\x9a\x5b\x21\x87\x31\x30\x09\xc5\x51\x3b\x1b\xc3\x0d\x31\x12\xc5\xec\x00\xa8\xda\xb3\x5f\x3b\x67\x6a\x07\xec\x6a\xe0\x37\x0a\xf4\x06\xfc\x00\x38\xb2\xd2\x9c\x9e\xbd\xd9\xcc\xc9\x3d\xd6\xa6\x3b\xce\x1b\xf0\xbe\xad\x0b\x84\xa8\x8f\xc4\x3e\xf8\xd4\xd6\x8c\x81\x4c\x44\x1f\x8a\x02\x78\xf0\x00\xd8\x1a\x21\xc2\x35\xd0\x70\xc2\xfe\xc6\x26\x8f\x0b\x8d\x7b\x0b\x99\xc7\x40\xd3\xd6\xc4\x50\x8f\x13\x80\x43\xa0\x69\x7a\x27\x86\x19\x19\x74\x72\x00\xe8\xdd\xf0\xc7\x7c\x60\x4b\xa0\x08\xbf\xe3\x63\x04\x86\x91\xf8\xd9\x35\xff\x1b\xd0\x83\x37\x17\x4e\x10\x3a\x49\x87\xac\x14\x04\x4f\x48\x59\xac\xf1\x0b\x00\x44\x40\xde\x07\x1a\xc2\x03\x40\x80\x88\x3e\xdc\x01\x68\x46\xfc\xaa\xe2\x85\x59\xfc\xd7\x05\x1b\x6e\x20\xb2\x15\xa0\x87\x93\x5c\xd1\x58\xef\x19\x8a\x1d\xb2\xb7\xc2\x75\x26\x08\x59\x3c\xeb\x75\xcc\xbd\xf1\x73\xa0\x31\x3c\x30\x8c\x61\x87\x50\x34\x95\x3e\x54\xc0\xb2\xf3\x89\xc2\x3b\x00\xe4\xd9\x9b\xc3\x20\x66\xb1\xe6\x83\x1b\x70\xba\x17\x25\x67\x0a\xdd\xe3\xd9\x09\x38\x37\xb2\xa2\x92\xdb\x04\xe1\x8e\x01\x78\x20\x76\x3b\xd6\x4e\x54\x60\x84\x16\x00\xc8\x26\x74\xb2\xf9\x78\x15\xbb\xc9\x19\xae\x14\xb7\x12\xf6\xe3\x84\x38\x60\x27\xbb\xb5\xba\x5f\x8d\x7c\x59\xd3\x2a\x4d\xa8\x3b\xc4\xd7\x2b\xfb\x6a\xc3\x60\xd8\xa3\x85\xf8\xc3\x1a\xaf\x69\xce\x76\x92\xa2\xc4\x5a\x4f\x64\xd2\x32\x4d\x9d\x99\x98\x6a\x66\xe0\xcc\x06\x18\x28\xd3\x50\xb9\xd1\xb0\x68\x59\x38\x5e\xb3\x4c\x1b\xa4\x51\x07\x7e\x64\xa6\x40\x5d\x00\xe5\x1a\xf9\x09\x40\xb7\x48\x25\x60\xc5\x2e\x0c\xc4\xe7\x01\x72\xdb\xea\xe4\x24\x34\x41\xf9\xa0\x9c\x13\x20\x7f\x8d\x9d\x54\xda\x62\x27\x80\x73\x07\x15\x07\x23\x8c\x80\x0c\x7d\x40\xaf\x79\x93\x59\x72\x12\x72\x0a\xb5\x81\x0c\x9d\x03\xd8\x76\x08\x3f\x46\x86\x04\x8c\x90\x09\x4f\x64\x46\x07\x08\xa4\x0f\x6f\x82\x1c\xbb\xff\x61\x60\xaf\x1b\x80\x8a\x35\xc5\x40\x82\x5d\x19\x78\x32\xd1\xc8\x65\x32\x4b\xc3\xae\x01\x6c\x0b\xa4\x0c\x54\x7c\x26\xf4\xd8\x00\xe0\x77\x46\x6e\x06\xc0\x4e\x11\xdb\x56\x89\x61\x8c\x7c\x08\xb0\x46\xc4\x8f\xd4\xda\x4d\x34\x91\xa6\xb3\xcb\xeb\x4e\xb6\xee\xa0\xe1\xcd\x8b\xee\x1b\x19\xea\x4a\x75\x61\x71\x30\x6a\xec\x00\x92\x91\x5c\x40\xa2\x91\x4a\x7b\x7a\x92\x91\x2c\x10\xd6\x0f\xd8\x1a\xcb\x70\x92\xf5\x0b\x10\x99\x57\x08\xe9\x0c\xbc\x90\x21\x5b\x0c\x9d\x18\x2e\x00\x78\xc8\x54\x97\x26\x9a\x6b\x57\x00\x4f\x95\xa6\xe5\x05\xd0\x9d\x13\x0d\xcf\x64\x26\x4d\x5f\x30\x18\x65\x26\x8b\xee\x71\xf2\x23\x79\x9f\x13\xf0\xe3\x9b\x5a\xbe\x03\x1b\x31\xa2\x0b\x74\x9f\x99\x61\x2c\x27\xb1\xce\x8c\xad\x09\x64\x70\xad\xfa\xb7\xdf\x34\xfe\x00\x9a\x9b\xc8\x5e\x4a\xfe\x8c\x74\x9f\x78\x6a\x3a\x6e\x86\x29\x40\x1e\x31\x31\x18\x65\x26\x16\xb1\x1c\x10\x40\x97\x85\x8a\x8f\x55\xbf\x96\xee\x97\x4d\xc4\x98\x2b\x4d\x25\x27\x36\xb7\xb2\xcf\x11\xf0\xe4\x09\xf9\xac\xf9\x8b\xf8\x9b\x16\xcb\x02\x9a\x75\xe2\x2b\x03\xaa\x3a\x48\x2e\x77\xc2\xbe\x08\xb9\x40\x84\x20\x24\xf8\x9e\x12\x77\x46\x62\xe4\x81\xb8\x26\x62\xc7\x0f\x1a\xa8\xe4\x9f\x1d\x34\xd1\x1a\x11\x06\x15\x9b\x19\x50\xd4\x99\x7b\xe5\x6e\x06\xa4\xbd\xd0\x3c\xe4\xcd\x44\x01\xb2\x49\x6b\xca\xf5\xd8\x3f\x31\x50\x0d\xb2\xa9\x7c\xd3\xf8\x37\x91\x07\xb1\x6c\x34\xc4\xf8\x07\x60\x11\x03\xc4\x84\xde\xc0\x1e\x88\x0d\x27\x00\x83\x11\x10\xaf\x9f\xa9\xc2\xc0\x9d\x81\xfc\x46\xf0\x46\x4b\xf7\x9f\x18\xa8\x34\x02\xcc\x0f\xf8\x11\x27\x00\xd1\x03\xff\x77\x02\x60\x93\x68\x72\x2f\xd8\x51\x27\xe3\x99\xa9\x44\x79\x33\x6f\x22\x53\x3f\x01\x5c\x36\x40\x06\x3e\x48\x04\x68\x62\x64\x57\xd8\x4d\xd3\x3d\x33\x71\x3f\x72\x3b\x41\x5e\x65\xd7\xa6\x9a\x37\x91\x0f\xf1\x1c\x96\x35\xaa\x9e\x00\x7e\x00\x97\xee\x80\x7a\x03\x7e\xfb\x63\x13\x01\x95\x81\x1d\x42\xab\x09\x62\x85\x02\xf8\x7e\x84\x68\xc9\xaa\x91\x4b\x6f\xc4\x3f\x00\x61\x39\x28\xd5\x2b\x3c\x3e\xdc\x2b\x10\x37\xcd\xe4\x25\x02\x31\x9e\x55\x0a\x02\xf1\x2b\xe4\x1c\xdb\xdc\x2b\x83\x95\x78\xc2\x49\xcf\x4f\xf4\xde\x02\xc0\xf1\xa4\xc1\xd4\x9a\x58\xe6\x66\x4b\x47\x1f\xd8\x86\xbd\xf0\xca\xf7\xca\x80\xb9\x04\x99\xa5\x91\x8f\x32\xd0\xcc\xaa\x11\x54\x69\x56\xf2\x82\x81\xa6\x8d\x88\xae\x9b\x88\x23\x13\xb9\x1d\x23\x2b\x03\x2c\xe4\xfe\x66\x25\x2f\x98\x20\xfb\xdf\x69\x34\xf7\xf8\x6e\x66\xb8\x43\x84\xac\x70\x21\x57\x97\xf0\x49\x0b\x76\x3c\xe1\x33\x6e\x54\xa1\x7c\x40\x89\x93\xe5\x57\x06\x15\x26\xc0\x54\x13\xf1\xb6\xce\xd0\x46\x7e\x3a\x3b\xa1\xad\x0f\x54\xa0\xc1\xc9\x07\xe0\xd8\xf3\x13\x6f\x9f\xf8\xf0\x2b\x80\x77\x6f\xc4\x35\xdf\x93\xbc\xd3\x01\x59\xae\x37\xad\x59\xec\x47\x7c\x57\x01\x7a\xe7\xa3\x37\xad\x47\x72\xe8\x03\xf1\x62\xad\x1d\xec\x5e\x69\x96\x4e\x9c\xb5\x83\xa6\x93\xcc\x00\xb7\xdd\x6d\x33\x55\x3d\x1b\xba\x02\xf9\x7c\xa0\x99\xd3\x7d\x52\x07\x93\x8f\xd8\xae\x48\x63\xee\xc4\x73\x67\x88\x8e\x23\xd5\xd8\xec\x64\x9e\x54\xde\x0a\xb9\xcb\x93\xdc\xb0\xe7\x36\x33\x8d\xad\x56\x85\x23\x07\x34\x80\x7e\x98\x00\x5d\x4a\xee\x12\xa0\x74\x6f\xd2\xb2\xe1\x20\x90\xf8\xfb\x99\x91\x0d\xcf\xe8\x85\x95\x73\x93\xa8\xac\x6f\x34\x8e\x24\x07\x07\x3b\x29\x3c\xc3\x64\x02\x44\x8a\x01\xa2\x22\xe9\x9b\x9d\x98\xd6\x74\xd7\xdc\x91\x17\xd6\x2c\xe9\xb9\x94\xa9\x37\x43\x9b\x0c\x6e\x0c\x4b\x8c\x7d\x00\xc9\x34\x76\xe2\xfa\x9d\xdc\x92\x37\x0e\x8e\xde\xa8\x48\x9c\x99\xe7\x4e\xac\xb4\x93\x07\xaf\xa1\xfb\xc1\x13\xa8\x00\xcf\xf5\x9b\x3e\xe6\x37\x07\x08\xf7\x3c\x57\x7f\xd6\xfe\xf7\x4e\xd5\xd6\x86\x1b\x40\x44\x30\x21\x17\x43\xea\x4d\xa8\x83\x93\x7b\x38\xd0\x98\xf8\x73\x9d\x7b\x45\x7d\x20\x9e\xf4\x66\x90\x19\xf2\xa7\x04\xe8\xcc\xff\x5d\x68\x74\x32\xb2\x81\xa1\x9d\xf1\x73\xe8\x20\x6e\x23\x53\xa0\xbe\x34\x81\x76\xb1\xa1\x5e\x9e\x8b\xe0\xac\x1b\xa8\xee\x24\xa7\x43\x8e\xd6\x10\x2f\xf8\xe5\x29\x74\xc2\x08\x6f\xd0\x8e\x0c\xfa\xdc\xa9\xe0\x16\xe4\xd3\xc9\x95\xac\x09\x8e\x18\x79\xc3\x17\x2b\x63\x6f\x04\x5b\x00\x6f\x57\x9a\x3a\x47\x1a\x57\x56\x9a\x86\x33\x4d\x0d\x27\xb9\x06\xcb\x23\x80\xac\x28\xf8\xad\x3a\x33\xeb\xd4\x41\xc2\x79\xef\xfe\xd4\x86\x6e\x39\x40\x70\x44\xc0\xe5\x3b\x83\x45\x46\x7c\x8a\x95\x78\x24\x81\xb2\x09\x90\x82\x0f\x4e\xcc\x70\x76\x42\xbe\x88\x6d\x98\xd8\xbf\x95\xef\xcc\x0c\x6e\x58\xb1\xdd\x3b\x35\x0e\xc9\xca\x04\x88\xdf\x1a\x86\x19\x2e\x12\x53\x1f\xc4\x70\x40\xe0\x33\x81\x56\x59\xa8\x68\x4f\xfc\x6d\xcf\x45\x83\xef\x0c\xf8\x74\x82\x78\xca\xc8\x72\xc7\x5e\xd9\xdf\xf6\x2e\x2f\xde\x70\xee\x67\xc7\x74\x22\x08\x10\x6b\xac\x05\x1c\x5d\xa8\xae\x9f\x34\xbe\x3f\xfa\x30\x85\x26\xf8\xa3\xd9\xc5\x99\x06\xcf\x91\xb8\x6b\x21\x7f\xee\x24\x5b\x07\x68\x32\xcf\xe1\xfa\xf0\x2c\xab\x3d\x91\xa7\x8a\x20\x9d\x0a\x83\x6b\x0b\xcd\x6f\xde\x50\x3b\x3a\x21\x32\xcd\x26\x2b\xbe\xe9\x46\x9e\x74\xa1\x91\xb1\x40\x12\x6c\x84\x08\x09\xf2\xd6\xd0\x1b\xf5\x67\x88\x09\x96\xd8\x91\x34\x96\x87\xa3\x76\xb6\x6c\x7d\xef\x92\x37\x95\xd0\x74\x6c\xc4\x7a\xe4\xac\x3c\x1f\x7f\xd0\x88\x7a\x62\x3f\x73\xea\x64\xe1\x33\xeb\x10\xd1\x95\xa3\xe7\x39\xb0\x19\x3e\xd0\x29\xd3\xa8\x7d\xae\x9d\x1c\x79\xa7\xf1\xf8\x00\x7c\x9d\x5d\x97\xd1\x74\xf3\x48\xd6\xea\xe4\x85\x34\xc8\x2c\xd4\x78\xdc\x8f\x1f\xa8\x27\x57\xea\x8e\xd1\x9b\x20\x21\xed\x1a\x90\xb3\xba\x76\xa2\xe9\xcc\x3a\x0c\x90\xcb\xed\xdc\x7b\x72\x3f\x87\xbc\xf3\x39\x41\x24\x44\x9d\xc7\x87\x27\xba\x9d\x4c\xc4\x2d\x46\x62\x77\x93\xbb\x33\xc0\x31\xa0\xe8\x09\x5f\x67\xc1\x5f\xf2\x33\x99\x68\x02\xda\xb1\x4f\x07\xe4\x83\x4e\x24\x76\x1b\xdf\x18\x59\x02\xe7\xc8\x6a\x67\x9c\xb9\xc1\x51\x78\xd4\xd6\x0b\x79\xf9\x48\xac\x68\x7e\xca\x00\xa0\xdc\xf7\xa2\xf4\x1a\xf9\x89\x0f\xef\x04\x12\x99\x78\x36\x83\x8a\xdb\x21\x11\x3a\xa6\x9e\x33\x30\x9b\x4c\x0e\xd9\x86\x58\xa2\x37\x16\x48\x62\x2c\xc6\x81\x68\x67\xc1\x07\x2d\xf8\xff\x87\xd7\x49\x20\x37\xda\x97\x9e\x4b\x9d\x20\x87\xa9\x7c\xd6\x90\x50\x0b\x71\x1b\xcd\x86\xab\x13\xb9\x83\x7c\xab\x00\xf4\x0f\xea\xdf\x03\xb5\x17\x6b\x6a\x07\xb4\xaf\xef\x27\x9a\x04\x0e\x1a\x66\x12\x00\xe5\x0a\x9a\x2f\x31\xf8\xc6\x7c\x05\x72\x5a\xf6\x4c\xb5\x9d\xfb\x81\x1c\xc4\x99\xfb\xa0\xdb\x0a\xe1\xaa\xf9\xc9\x80\xb3\x8d\xcc\x18\x32\x9e\x83\x01\x90\x15\x62\xf5\x83\xfc\xd6\x38\xf7\x46\x92\x35\xf6\x86\xb3\xf1\xec\x48\x22\x1f\x30\x95\x18\x36\xb9\x38\xf1\xe5\xd4\xae\xe7\xc4\x6e\x09\x9f\x70\x1a\xfb\x60\xa7\x10\x3b\xda\xae\x42\x9e\xad\xfb\xc9\xf8\x3e\xa5\xf4\xa1\x99\x2b\x83\x03\xcd\x1f\x06\x80\x5f\x21\xe4\x3c\xb0\xbf\x3e\x1c\xba\x90\xf7\x38\xc3\xcd\x20\x1c\x1a\x89\xad\x1e\x80\x9c\x8e\xd8\x87\xc5\xeb\xdd\x90\x3b\x04\x88\x99\x9d\xb0\x72\x75\xa4\x12\xcd\x6f\xb2\x3b\x33\x3e\xa4\xd5\x04\x68\xfe\xb4\xe6\x1e\x6f\xc2\xf6\x26\x2d\x27\xef\x66\xd0\xde\x94\xfa\xb0\xc3\x9d\xfa\xa0\x13\xb4\x64\x9a\x63\x8c\x70\x14\xf2\x81\x4c\x8e\xf7\x24\x2f\x1d\xf1\x5b\xed\x77\x9d\x20\x09\x42\xfd\x01\x62\xb5\x82\x2f\x16\x40\x13\x6f\xc4\xf5\xe6\x3b\xd1\xc8\x54\x1c\xb4\x0e\xf1\x62\xa5\x86\x1d\x89\x7b\x33\x00\xf7\x79\xeb\x79\xab\xc1\xf3\x3a\x80\xf0\x8d\x7c\x97\xfa\xdd\x44\x2e\x74\x03\x75\x9c\x20\xe1\x3c\x19\x04\xb1\x42\x88\x36\x43\x3c\x69\x48\x2d\x90\x5d\x15\x9d\x22\xfd\xb4\xe7\x4e\xd2\x5a\x91\xe9\x95\xba\x7b\x05\xe1\x55\x68\xc8\x3f\x68\x04\x58\x18\x6e\xb4\x80\x26\xb4\xdc\x3d\xfb\x72\x3a\x09\xde\xcd\x90\xa7\x91\xa6\xf0\xe8\x04\xca\x81\x73\x8f\x9f\x3d\x61\x57\x4f\x6a\x4e\xde\x2c\x32\x83\x1b\x38\x41\xe6\x0e\x60\x69\xd6\xdc\x07\xfb\x39\x51\xfa\x81\x8f\x3b\x31\xb8\x6d\xc5\x97\x71\xc2\xd0\x4a\x53\xf1\x10\x3e\x46\x9d\xb9\xce\x1a\x88\x9b\x0b\x35\xb7\x4f\xa1\xce\xc0\x36\x7d\x26\xe6\x8c\x6f\xdf\x22\xce\x7e\xf9\xa0\xbf\x5e\xfc\xf2\x53\xf3\x7a\xf8\xf8\x1f\x0c\x37\xfb\xee\xcd\xfd\xc8\x60\xb3\x9b\x1b\x75\xac\xd9\xb0\x4e\xc3\x7f\x37\xd8\xec\x7f\xa7\xb7\xef\xee\xd3\xcb\x87\xbf\x7c\x59\xde\xbe\xfb\xec\x06\x82\x74\xd3\x40\x60\x70\x17\x5c\x7b\x6f\x20\x08\x70\xa4\x05\xdc\x8c\x01\x88\xc9\x49\x59\x37\xc3\x03\xe5\xf3\xfc\x83\xcf\xdc\xa6\x24\xe5\x69\xaa\x84\x09\x1c\x71\x65\x2c\xdc\x05\x1a\xb5\xd1\xf3\xbe\xc1\x01\x12\x98\x0f\x16\x48\x1d\x56\x60\x4a\x95\x50\xc8\xe6\xfc\x02\xe3\x71\x4e\xec\x0d\x11\xb7\x7e\x23\x60\x31\x99\x14\xcb\x01\x5f\x4c\x25\x04\x76\x5e\xbb\x63\xa5\x0c\xb4\x77\xce\x8e\x48\x88\x1a\x01\x4d\x4f\xb1\xcf\x99\x8f\x94\xfa\x57\xf8\xe1\x23\xdc\xfe\x0b\xe9\xc9\x05\xb7\x66\xa3\x77\x7b\x9f\x7b\x09\x61\xc3\x44\x9e\xa8\xf0\xcd\xe7\x82\x1f\x7d\x2e\x86\x71\xb0\x9c\xed\xb9\x4e\x4a\x56\x07\xb3\x1d\x4e\x7a\x77\x2b\xdc\x46\x33\x29\x9d\x44\x18\x9c\xe1\x5f\x4c\xf4\xe6\x2d\x70\xac\x6d\x70\xc5\x9e\xcc\x17\x2f\xf0\xab\xcf\xce\x25\x05\xac\x62\xa4\x4f\xd3\x4b\xef\x09\x5e\x11\x9f\x2b\xb0\x92\x82\xdb\x48\x99\x6d\xcc\x2d\x4c\xf0\x0c\x05\xe6\xb7\x15\x4c\x86\x95\x31\x80\x59\xed\x3c\x47\xa5\xdf\x7f\xa4\xbc\x3d\xd3\x9b\xef\xb3\x8a\x7c\x56\xd3\x09\x08\x7d\xa2\x2c\xb7\x39\x8f\x32\xf3\x5f\xdc\x4c\x6a\x7f\x47\xe6\x2a\x9c\xb8\xcf\x2b\x5c\x7d\x03\x9c\x3e\x13\xfb\xe1\x30\x91\xd9\x79\x10\xe9\x03\x8b\xa4\xd3\x36\x52\x9f\xce\x19\x1d\xe0\x41\xa8\xa4\xf0\x03\x5c\x36\x23\x7d\xab\x1b\x70\x2d\x2f\xa3\xfa\xbc\xd3\xe1\xa6\x87\x7f\x25\x5d\xbd\x51\x26\x08\x40\x92\x4e\xfa\xac\x23\x70\xc0\x13\x78\xce\xe3\x5c\xc7\xbd\xa7\xd7\x47\x38\x98\x9c\xb3\xf9\x04\x2a\xb6\x12\xe6\x0f\x84\x2a\xc6\x0f\x41\x6a\xfb\x80\x77\xc9\xa0\x33\xec\x75\xa5\x07\xf4\x84\x53\x62\xa4\xaf\x6f\x21\xfc\x0d\x3e\xdb\x83\x7e\xb5\x9d\xf7\x23\xfb\xee\x50\xb1\x01\x4e\xa9\x9d\xb0\x72\x4b\x7d\xe6\x62\x80\x77\x65\x38\x3b\x3f\xfa\x40\xc8\x37\x00\xc6\x36\x13\xc9\xbc\xd8\x83\x9e\x57\x4b\x55\x50\x92\xac\xc8\x50\xa6\x5c\xb2\x00\xd5\x5c\x00\x75\x6f\x94\x77\xdc\x3d\xaa\xc0\x85\x0e\x6f\x00\x61\x5e\xb8\xcd\x58\x66\xe6\x4a\xa0\x2f\xf4\x24\x4d\x94\x81\x34\x38\xd7\xb9\xf1\x8c\xb1\xc7\x01\x5e\xfe\x9d\x90\xf6\x00\x1a\x71\xc2\x77\xe3\x3c\xb7\x3b\x29\xcc\x4c\xe9\x29\xe4\xde\x2c\x95\x70\x3b\x13\xbf\x3b\x00\x45\x5c\x68\xfe\x89\x84\x46\x5e\x3e\x31\x53\xbf\x92\xee\xa4\x31\x67\x74\x8e\x47\x66\xaa\x26\xca\xce\x95\x12\xce\x4a\x6a\x75\xe4\x6c\xad\x3e\x23\x97\xf4\x8a\xa5\xa0\x28\xb1\x48\x8f\x65\x1a\x24\x22\x5c\x49\x56\xf2\x87\x5f\xbc\x10\xb2\xac\xf0\x77\x1b\x67\x76\x26\xad\x42\xbf\xe6\x94\x7a\x09\xde\x38\x65\xe6\xde\x38\xb2\x95\xce\x3f\x17\x97\xee\xfe\x8d\xcc\x1e\xdc\x69\xa0\x30\x4e\x2f\xe6\x8a\x14\x9e\xf3\x38\xfa\x3c\xd1\x99\x52\xea\x71\x76\x0e\x2c\xeb\x39\xf6\xe6\x1a\x60\x09\x16\xae\xf1\x6f\x83\x26\xb2\x9f\x05\x58\xe2\x49\xd9\x42\xe7\xe2\xb1\x57\x96\x19\x3d\x16\x52\xfb\x5c\xf6\xd0\xe7\x60\x67\xca\x57\x3b\x29\xcb\x79\xef\x5c\xb1\xd6\x08\xb3\x51\x1a\x01\x5a\x73\x00\xd7\x33\xae\x20\x5c\x45\x4b\x5f\x4c\xf4\x7f\xc2\x29\x75\x7a\x73\x0a\x3c\xb3\x1b\xa9\x8d\x82\x8c\x15\x38\x22\xbd\x84\xb0\x50\x0a\x33\xde\x51\x20\x2a\x06\xeb\x20\x44\x1b\x98\x19\x56\xe9\xb1\xcd\xcc\x53\xdb\x80\x5e\xce\x34\x62\x45\x1a\x9b\x0a\x8d\x32\xd6\x8b\x5b\x7a\x48\xb4\x73\x7e\x0a\xdc\x8b\x0b\xfa\x68\xa4\xcf\xf8\x11\x22\x04\x3c\xd9\xb8\x40\xd7\xce\x53\x19\x29\xaf\x27\x52\xa2\x3b\x10\xd0\xd1\x79\xa4\x81\x7a\x4c\x40\x61\x67\x66\xe8\x9c\x94\x6d\x22\xe9\x4e\x3d\xb3\xf1\xe2\xd1\x3c\x38\x33\xef\xe7\x70\xae\x6b\x60\xb5\x11\xc8\x83\x43\xc4\x8c\x73\xdb\xd3\xa7\xf4\xbd\x67\x66\x40\xd9\xac\x02\xf8\xdb\x0e\xc2\x0f\x6b\xf4\xf1\xb2\xfa\xd2\x79\x7a\x4e\x52\xd7\xba\x87\x44\xd9\x79\x86\xff\x60\x08\xdd\x17\x71\x7d\x10\x68\x3c\xf3\xb9\x6b\x1e\x26\x3e\xf2\x2f\xc0\x0b\xe1\x5c\x61\x36\x4f\xd4\xf9\x3e\x49\xcf\x4c\xcc\x29\x9c\xe1\x5c\xcd\xd8\xb8\x95\x75\x8f\xa5\x37\x56\x25\x9f\xdb\x1e\x7b\xe3\x98\xa5\xfd\x23\xf2\x88\x6d\xa9\x7b\xbf\x8f\x9d\x26\xa8\x80\xae\xf0\x90\xd1\x4a\x99\x27\x5c\xb1\xf4\xb0\x5b\x19\xeb\xfc\x38\x34\x38\x38\x53\x95\x12\x89\xcd\x73\x58\x3e\x1d\x1a\x7c\xe4\x89\x7e\x66\x90\xf0\xd1\x75\x6e\xc3\x85\x6f\x79\xf3\xab\xa4\x77\xbf\xaf\x53\xe5\xa3\x4b\xfc\xc1\x21\xc4\xf7\x3d\xc4\x8f\x1c\x4c\x7c\xf2\x31\x3c\xac\x58\xc6\xf8\x27\x15\x55\x3c\x7c\x76\x58\xb1\x41\xc7\x7f\x64\xaa\xf9\x8c\x80\x1f\xa0\x65\x73\x2a\xd5\x6d\xea\x63\x2c\xbc\xb3\x21\xf1\x1b\xe3\x4d\x65\x6e\x82\x82\xca\xc7\x4b\x67\x7a\xa8\x0a\x55\xe7\x4a\x15\x3f\xcf\x9d\x5a\xd9\x29\xcd\x4e\x90\xdc\xd6\x73\x18\x9b\xd9\xa8\xb8\xfe\x03\xb4\xdf\x27\xd9\x3d\x73\xdb\x31\x05\x1b\xfd\x9c\xde\xbb\x26\xf5\x63\x14\x24\x20\xfa\x07\x8e\xd7\x23\x65\xd5\xde\xe9\xd4\x12\x2e\xc2\xb1\xf7\x3e\xd9\xc0\xb5\xbd\x82\x3d\x41\xf9\x19\xe8\x74\x98\x70\x7b\xb2\x77\x71\x2c\xbd\x62\x6e\x55\x67\xba\x7a\xbc\x2f\x75\xda\x7a\xf5\xd7\xa9\xef\x56\xef\x7f\xa3\xe2\x31\xe1\xf6\x8c\xb8\x6a\x91\x9e\xde\x0d\x37\x72\x63\xc4\x81\x53\x49\x38\xcd\xdb\x80\x49\x2f\x8c\xb9\x5f\x30\x27\x9e\x49\xac\x54\x71\x77\x2a\x77\x83\xd3\x96\x7b\xf7\x0f\xe3\xb5\xe4\x02\xb9\x6a\x1f\xc8\xc2\x7a\x58\xb6\x51\x49\xd4\xbe\x2d\xf4\x61\x9f\x64\x34\xcd\xd5\x00\x81\xf3\xd8\x73\x08\xfd\x47\xc6\xe4\x24\x90\x43\x3b\x2e\xa1\x99\xf7\xd4\xa9\xec\x0d\x95\x4e\xa7\x4a\x05\x35\x3b\x97\x3e\x6a\x20\xf8\xa8\x78\xaa\x41\x27\x74\x30\x43\xbc\x31\x59\x81\x8a\x31\x55\x96\x13\x2a\xbd\xe1\xe8\x99\xf9\x09\x2a\xe8\x11\xb9\x34\xca\x13\x32\x5f\x91\x51\x32\x3b\x19\xe2\x81\xb1\x14\x13\xa3\x45\x0e\xc2\xc3\x99\xd1\x8e\x5e\x21\xb7\x11\x40\x47\x73\x8f\x27\xaa\xdb\x0b\xd4\xb3\x4e\x11\xef\xae\x8d\x9d\x95\x0c\x42\x0a\xd3\x74\xe0\xd2\xd8\x38\x66\x46\x5d\x46\x90\xcb\x9b\x67\xe7\xa8\xba\x04\x32\xa0\x95\xea\x43\x65\x8c\x91\x55\x71\x6a\x47\x85\x25\x10\x81\x1b\xa1\x98\x67\x9a\x4f\xaa\x0a\x86\x48\xf3\x4a\x03\xe1\x91\x55\xfd\x7d\x8f\xe8\xec\x18\x48\x31\x54\xa7\x7b\x67\x6c\xe9\x44\x48\x6e\x9d\x36\x54\x9e\x67\xc6\xb1\x17\xba\xb5\x0c\x61\x0a\x9a\xd4\x10\xdb\x50\x9d\xcc\x20\xdb\x16\xaf\x32\x92\x01\x1b\x19\xf7\x63\xd9\x7f\x50\x3f\x33\xa3\x60\xac\x8a\xc9\x33\x1d\x84\xd5\x46\xdf\x05\x25\xca\xe2\x08\x7b\xa8\x37\x66\x42\x8d\xea\x54\x5d\xa4\x32\x4e\x46\x00\x78\x97\xd1\xce\x78\xa3\x95\x33\xef\xe3\x38\xce\x9b\xb1\x2c\x86\x24\x65\x04\xc1\xc6\x1a\x26\x32\x71\x95\x11\x98\x4b\xec\x23\xdb\xf5\x8c\x7a\xbd\xd0\xe5\x50\xc7\xde\x3d\x52\xa0\xb0\x9b\xdc\x75\x61\x14\xd1\x40\x05\x7a\x26\x64\xd9\xe8\x9f\xf7\xae\x0c\x47\x01\x9c\xd0\xd3\x7b\x6f\xea\xea\xd4\x83\x50\x8e\x06\x2a\xd8\xd6\x8b\x7f\xf4\xaa\xbd\xe9\x74\x2a\x23\x19\xea\xb3\x05\x77\x7f\x64\xd4\xdc\x06\xbd\x9d\x42\xe3\x99\xaa\xe5\x84\x5b\x98\x41\xcf\x2c\x8e\x86\x0a\x1d\x85\xbc\xa3\x07\x1c\x71\x3a\x83\x3c\xc9\xe8\x94\x15\x2a\xd0\x04\x6a\x67\x86\x46\x36\x42\x35\x65\xd4\xd9\x3e\xde\x00\x2e\x03\xd7\xe7\x11\x7b\xb2\x7b\x85\x1a\x3a\x1a\x47\x7a\x2d\x4b\xcf\xbc\x16\xc6\xe2\x57\xb2\xba\x96\x12\x3a\xe9\x2d\xbf\xa1\xff\xd9\x7c\x2c\x25\x14\x32\x8e\x66\x19\xe9\xce\x74\x64\x71\x65\xef\x56\x2a\x88\xd6\x77\xcd\x33\x78\xd8\x73\xd2\xb7\xee\x1c\x17\xeb\x78\x63\x2f\xb1\x0b\xde\xb9\x72\xa2\xf7\x5d\x6e\x6c\xb4\x86\x8f\x7b\x01\xdd\xe6\xfb\xb8\x10\xc6\x57\xfa\xb0\x33\xfa\x71\x64\xac\xa5\xa3\xb5\x0f\xf4\xa5\xd3\xa3\xee\x7c\xa6\xd0\xad\x71\xc0\x53\x30\x12\x5e\x78\x17\x46\x3c\x3b\x2d\xb5\x8d\x62\x80\x06\x2c\xc0\xff\xa0\x75\xad\x50\x0e\xea\x6c\x9e\x84\xb7\x2b\x23\x2a\xcb\xda\x47\x29\x7e\xd4\x1f\x0d\xc5\xde\x0c\x75\xce\x36\x7f\x7f\x7f\xf4\xc7\x2e\xcc\x8f\xe1\x8f\x3e\xfc\x7e\x87\xf4\xe1\x0f\xf2\x48\x1f\x3e\xdf\x25\x7d\xf8\xaf\xf2\x49\x1f\x3e\xec\xab\x9e\xd7\x3f\x15\xa7\xf4\x1f\xdf\xbc\x7f\x57\x3e\xdf\x27\xf5\xae\x2e\x4f\x75\xe7\xee\x93\x6e\x9c\x47\xf3\xc3\x38\x37\x0b\xf4\x9d\x23\x69\x9a\xc0\x18\xbf\x3c\xf4\x71\xba\x27\x1d\x70\x46\xab\xed\xc8\x20\x46\xdb\x7a\x5a\x5c\xba\x6f\x24\xd5\x2d\x99\xcf\xa0\x8b\x12\x29\xd1\x13\x8a\x5e\xa7\x72\xdd\x41\xab\xb9\xdf\x69\x3c\x20\xa4\x2d\xfd\x2c\x4e\x9e\x96\x21\xad\x54\xe8\xe8\x9e\xe8\xe4\xb4\x71\xe4\x74\x1c\x14\x46\x51\x2d\xe8\xd3\xe4\xe9\x17\xfc\x97\x8c\xef\x10\xa1\xe0\x9b\x9c\xa7\x03\xe4\xd9\xc9\x28\x0e\x4f\xf1\x38\x4f\x49\x04\xf5\x7b\x12\x5a\xc6\xb5\x57\x53\x67\xa7\xba\x62\x64\x6f\x82\x5e\x72\xf4\x31\xe8\xa1\xd9\xc9\x19\x7f\x62\xa6\x63\x70\xa2\x7a\xbc\x40\x51\x19\x18\x31\x70\x82\x80\x3a\xa1\xcb\xdf\x53\xf7\x69\x2b\x5d\x0e\x8b\x23\x2a\xb0\x3f\x81\x8e\x8e\xe4\xa8\x61\xc6\xc4\xae\xd8\xbe\x19\xba\x71\xb3\x53\x20\xae\xbd\x9b\xcc\xfc\x7d\x2a\xb1\x05\x7a\xcc\x04\x2a\x6d\x65\xb4\xd5\x46\x67\xe9\x4a\xe7\xdd\x84\x0f\x3b\xe3\x2f\x4f\x70\x48\x24\xd0\xbb\x5e\xf1\x4d\xa0\xc5\x0f\xa7\xe7\x9c\x5b\x3a\xc4\xaa\x95\xd0\xfc\x45\x68\x08\x0d\xd5\x4d\x25\x36\x61\x53\x07\x68\x4a\x6d\xcc\xcc\xd2\x47\x3b\x54\x50\xf4\x2b\x48\xa6\xca\x68\x64\xa3\x4a\xa6\x5a\x3a\x23\xaf\x9e\x2e\x3d\xa8\x00\x6e\xb1\xd3\x60\xda\xb8\xe7\x0d\xff\x02\xdb\x36\x7a\xea\x62\x44\xb6\xa1\xc2\x9c\x49\xf3\x2d\xa4\x5b\x4e\xfc\xba\x0a\x27\xd2\x89\x6f\x7b\x82\x1c\x3e\xe0\xb6\x59\xe9\x76\x9c\xe8\x84\x97\xbd\x99\xf1\x4d\xf7\xdc\x79\x94\x9c\x92\x75\xf2\x0e\x60\xd0\x3c\x01\x0e\x98\x48\xea\xc7\xc7\xb6\x59\x27\xc4\xd0\x3b\xde\x12\xc8\xa0\x8d\x6e\x24\x93\xad\x95\x4a\xa9\x8f\x4e\x07\xd9\x54\xdd\x17\x87\xad\xc0\x46\x38\x30\x42\xc0\x7c\x91\xf9\x63\xbb\x14\x48\x4b\x1f\x6b\xef\xc2\xed\x34\x6e\x9f\xb6\x4b\x8f\x5a\xec\x8f\x34\x4b\x8f\xd7\xf9\xa4\x55\x7a\xab\x77\x7f\xc8\x28\x3d\x5e\xe2\x3f\x6c\x93\x3e\x7c\x88\xff\x2c\x93\x74\xfb\x18\x58\xa4\x65\xff\x93\x31\x48\xff\x74\xff\xb2\xbc\x3e\xca\xdf\xbe\x79\xfb\xea\xf3\x2b\xb0\x47\x67\x6d\xbe\x25\xfe\x18\x9d\xcc\xc3\xa7\xce\x90\x41\x3c\x00\x11\x59\x26\x13\x55\x91\x61\x02\xdf\xa0\x84\x3b\x9d\xe2\xeb\x84\x84\x03\xe6\x64\x4f\x71\x18\xa9\x85\x03\x6b\xa6\xde\x5c\x92\x98\x48\x31\x72\xdd\x4a\xb5\x27\x02\x9e\x9f\x7d\x62\xc1\xda\x1b\xb2\x12\xd3\x96\x0f\xc8\x3b\x36\xa6\xe4\x8d\x4e\xc5\xe6\x14\x6c\xa4\x67\xd6\xb9\xd3\x63\x9d\x34\xfb\x4d\xde\x04\xcb\x7a\x6d\xd0\x60\x79\x45\xf6\x64\x02\x81\x4f\x06\xaa\x3e\xed\x92\x46\x9a\x81\x90\x6b\x26\x85\xb0\x43\x23\x65\x6b\x4b\xb3\xf5\x0c\x73\xf3\xc4\x35\x46\x07\x2b\xd1\xb8\xeb\x59\xd1\x0c\x45\xda\x48\x85\x62\x07\x74\x96\xa1\x47\x4a\x4c\xf0\x3e\x70\x55\x6d\x4a\x7f\xec\xa0\xa9\x9d\x69\xfe\x5e\x35\xaf\x54\x2c\x2d\xbb\x3e\x77\xc6\xfa\xe8\x40\x22\x9f\x14\xeb\x19\x67\x9f\x62\x59\x3b\xbd\x5b\x04\x04\x39\x00\x18\x3c\x79\x8e\xc0\x9f\x0a\x9b\xe9\x48\xc3\x4a\xa2\x32\x39\x00\xc4\x32\xc2\x81\xd0\x1b\x51\x7d\x62\x83\x55\x3d\x00\x78\xd9\x44\x04\xaa\x4d\xf3\xdc\x41\xbe\x27\x20\xf7\x81\x29\x6a\x3e\xb9\x25\x51\xf9\x1b\x00\xd5\x0e\x73\xaf\xf0\x45\x9a\x08\x8c\x44\x03\x10\x4e\x0c\xbd\x22\x9d\xa9\xa0\x9f\x33\xe0\x33\x9a\xe5\x03\x53\x20\x4e\x9f\xaa\x34\x11\x42\x00\x10\x8e\x54\x9c\x07\xd6\x73\xf1\x89\xc1\x91\x49\x80\x4c\x2b\x49\x34\xd4\x8d\x4c\x5e\x39\xa8\x98\x0d\x54\x24\x2d\x94\x22\x4c\x32\xd7\x05\x5a\x36\x6f\xd6\xa8\x00\x9f\xd3\x76\xd3\x6c\x33\xb5\x67\x9a\x98\x2a\x74\xc0\xee\xeb\x13\xf3\x37\xb2\xe9\x0e\x06\x5f\x48\x55\x2c\x4c\xea\xb2\xc6\x43\x00\x83\x83\x4f\x5e\xc6\x54\x16\x52\x9b\x19\x66\xe9\x02\x49\x8a\x37\xfd\xce\xa4\x07\x7d\x2a\xb2\x03\xd7\x37\xdc\xd1\x1d\xa2\x93\x8d\x6a\x9a\xd6\xc2\xc8\x1b\x48\x53\x18\xfd\xda\x48\x3a\x8c\xa6\xe0\x0d\x73\x3c\x01\xca\x1b\x98\x10\x96\xdc\xc4\x7b\xb5\x96\x26\xce\x42\xf5\x35\xe2\x22\x6c\x5e\xf1\xf7\x06\x19\xaa\x9c\x23\x6e\xa6\x11\x63\x50\x25\xb1\x29\x88\x90\xf4\xb8\x2b\x15\x7d\xaa\xc4\xd0\xc1\xe7\x83\x57\x94\xc7\x3e\xd1\x6b\xf2\xc6\x47\x2a\x29\xe6\xee\xd0\x88\x1c\x99\x52\x97\xd6\x3e\x59\x3d\x02\x10\xb5\x54\xc6\xc4\x54\xc7\xbd\x33\x65\xef\x80\x29\x1f\x9b\xc1\xf7\xce\x14\xbe\x39\x3b\x37\xae\xfb\x0a\xbd\x57\x84\x02\x2d\x30\x91\xd6\xa8\xdf\xf6\x0e\x46\x4e\x34\x15\x8f\x43\x9f\x98\x5e\x01\xb2\xd9\x84\x7b\x00\xbd\x2b\x0d\xa3\x23\x04\x43\x53\xe9\xd3\xbc\x4e\xdc\xd7\x11\x22\x8a\xcd\x27\xd5\x33\x71\xa2\x40\xf6\xb0\x51\xb1\x31\xca\xbf\xad\x37\x25\xef\xa4\xd0\x76\x80\xa2\x0b\x55\xa7\x73\xea\x13\x39\x8c\x75\x1a\xaa\xb9\x9d\x89\x17\x27\xe9\xca\x89\xa9\xa2\x91\xa9\xd0\x13\x53\x2e\x22\x4d\xb1\xd2\x57\x91\xa9\x36\x0b\xe9\x63\x23\x9c\xc2\x95\xdc\x21\x85\x3a\x69\xfc\x8c\x4c\xe7\x0d\x30\x65\xcf\xa4\x52\x82\xa3\x48\x68\x66\xa9\xb8\xcb\xab\x83\xe7\x60\x18\xae\x34\x27\x47\xae\xbb\x01\x16\x5c\x99\xa2\xbb\xd0\x80\x79\xd6\x3e\xe5\xf8\x80\xd1\xdf\x68\xfc\x5c\x57\xe1\x02\x56\x52\x6e\x1b\xac\xe4\xd1\x09\x5e\x48\xfd\x8e\x30\xcc\x0f\x34\xab\x9d\xa4\xc3\x23\xd3\xde\x6d\xb2\x93\x4f\xe8\xf5\x8a\x68\x46\xbe\x77\xf6\xb9\x74\x12\x93\xc5\x5d\x55\x90\x1f\x01\x64\x52\x24\x9d\x35\x79\xa3\xbf\x4f\x88\x80\x45\x3e\x9c\x7d\xaa\x72\xa2\xb1\xf7\x44\xef\xfb\x44\x29\x03\x10\xd2\x48\xed\xc8\x05\x9f\x0a\x65\xc0\x58\x26\x38\x1c\x34\xe2\x7a\xa3\xd3\x44\xa3\xe9\x49\x93\x41\x04\xa9\x73\x1c\x7d\xb2\xc9\x92\x3b\xa8\xde\xec\x1d\x21\x50\x61\x92\xd0\x4c\x08\x98\xb7\x2e\x93\x99\xe9\x6d\x91\x49\x77\x11\xea\xd4\x44\xf3\x5f\x26\xdc\x0a\x4c\xde\x28\x4c\xd1\x2e\xc8\xd3\x08\x31\xc4\xc8\x94\xa5\xec\x7b\x12\x3b\x29\xc2\x41\xc8\x9a\x91\x91\x47\xe4\x07\x8c\xea\x01\xfa\x3d\x9b\xba\xe4\x13\x98\x52\x27\x48\xf3\x49\xcf\x96\x2e\xc4\x7f\xb0\xa9\x8f\x81\x86\x63\x52\x6a\x33\xcd\x5f\x4e\x2f\x39\x53\x2a\x5a\x99\x7e\x36\x13\xb6\x18\x70\x13\xbf\x60\x21\xa5\x15\xa0\x53\x5d\x61\xb5\xb6\x29\xfc\x34\x92\xd9\xb4\xb6\x04\xeb\x75\xa0\xb2\x4e\xda\x6f\x71\x82\xb3\x0d\x66\x69\x08\x4d\x4e\x74\xf9\x42\x78\x93\x48\xd7\x1f\x4c\xae\x75\x40\xeb\xe9\x4d\x55\x34\xfb\x07\x88\x99\x2a\xe4\x30\x81\x06\x84\x03\x80\xbf\xfb\x07\x36\x59\x73\xa4\x31\xa9\xde\xa6\xd4\x6e\x42\x1c\x64\x3f\xfb\x84\xd8\xe5\x96\xc2\xf0\xd3\x21\xce\x07\x7e\xf1\x1f\x19\xe8\x7c\x70\xb5\x4f\x86\x3b\x0f\xed\x33\x3f\xa9\x6f\xde\xbe\xfa\xa1\xa8\xe7\x83\xeb\xfd\x87\x63\x9f\x4f\x3f\xdd\x7f\x56\x04\xf4\x89\x27\xf3\xd4\xdc\xbe\xff\xc9\xa0\x50\x59\x93\xcf\x8e\x82\x32\x2d\xf2\xd1\x0b\xc6\x99\x04\x0e\xc9\x8a\xdb\xe4\x5c\x81\xd6\x25\xa2\xd9\x67\xf0\x43\xe7\x2d\x16\x15\x0d\x36\xd3\x86\xb1\x3b\x81\xeb\xc4\x9c\x23\x8a\x0c\x07\x9e\x78\x84\x96\x68\xe2\xf7\x6c\x6e\x3a\x2d\xc9\x3e\xc3\x79\xa7\x1d\xb3\x30\x4b\x63\x98\xfb\x3c\x84\x25\xf6\xa8\x68\x24\x22\xb0\xf6\x3d\x66\x43\x6f\xcc\xc6\x09\x5e\x9c\xa2\x90\x37\xf8\xfc\x39\x8a\x17\x2b\x6d\xeb\x3e\xc3\x3c\x51\x34\x49\xcc\xa9\x4c\x78\x6c\x67\xec\x33\x59\x06\x28\x7b\x66\xda\x3a\xcc\x13\x38\x98\x43\xe8\x73\xd2\xa0\x03\x1b\xb9\xbf\xdd\x3d\x39\xe8\x53\x46\x5a\xa9\x13\xeb\x32\x82\x3d\x8a\x73\x6f\xa9\x70\xab\x7e\x40\xc1\xb6\x31\x47\x3a\x00\x81\xb7\x79\x02\xb4\x95\xed\x14\xcb\x8b\x93\x56\xf3\x3c\x13\x14\x44\x8e\xc9\x9a\xb1\x72\x3e\x03\x76\x47\x1b\x1e\xb9\x63\x57\xcc\xd2\x7a\x5b\x3d\xf3\xcf\x12\xc5\x8e\x19\x2f\xed\x74\x6f\x87\x68\x6a\xe4\x9a\x33\xb3\x2f\x37\x12\x43\xb2\x96\x35\xf5\x16\x24\x27\xad\x1d\x28\x10\x99\xfc\x11\x89\xcd\xd0\x58\x16\x30\xae\xcb\x7a\xd3\xfe\xc1\xbe\x2c\x8e\xc7\x3a\x3b\x95\xcc\xc9\x8c\x54\xa7\xaa\x92\x2c\x1f\x8e\x23\x02\x38\x70\x0c\xdd\x23\x9b\x98\x3d\x52\xdd\xea\x33\x47\xcb\x13\x7d\x89\x19\xe4\xb3\x5b\xdb\xd2\xe4\xd2\xe6\xbb\x8d\xbd\x55\xa6\x42\x84\x3b\xd1\xce\xbb\x40\x83\x59\xe6\x3e\x2b\x66\xa1\x15\x70\xa6\x45\x2f\x40\x31\xe0\x91\xc1\x63\xfb\x1e\xc5\xf1\x19\x3c\x5c\x06\x07\x3c\x30\x0b\x77\x24\xf1\xac\x6b\x9c\x3e\x13\x01\x0f\x7f\x00\xeb\x55\x28\xbe\x45\xbc\xa5\x09\xef\xd0\xe7\xed\xad\x24\xc2\x7d\x8e\xe2\xc4\xb3\x0c\x14\xd9\x33\x34\x2a\x85\x7b\x4f\x14\x2f\x17\x70\xe7\x27\x54\x79\x05\x1a\xd3\x11\xfa\x04\x03\x68\x78\xf2\x94\x36\xd6\x33\xf7\x96\x5d\x6b\xbb\xe7\x3c\x5a\x96\x01\xd9\x38\x68\xcd\xc9\x5e\xa8\x82\xfe\xf4\x70\xfc\x18\x6d\x6f\xe6\xa1\x81\x21\x4b\xb4\xd4\x0e\xb4\xa9\x9f\x50\x80\x68\x9d\x27\xa8\x90\x36\x5a\x2d\x3c\x72\x31\xcf\x6a\x6d\xcf\x34\x12\x35\x8e\xe0\xed\x74\x9e\x4e\xda\xfe\xd3\xd8\xdb\xb0\x0c\x17\x9e\xfa\x3c\x52\x9f\x55\x6c\xe7\x14\x8a\x1b\xed\x9d\xcf\x32\x59\x58\xd7\xe4\x91\xb1\x53\x63\x90\x45\xb2\xe7\x5b\x3a\x5d\xa2\xcd\x7d\x74\xaa\x4a\xda\xe7\x7d\x66\xec\x46\x8b\xf1\xc8\x7c\x12\xf3\x72\xf1\xf2\x27\xa8\x33\x87\xb3\xd3\x56\x64\xe8\x5c\x37\x9f\x1f\x0b\xd8\x25\xef\x9d\x42\xd0\x68\x61\x4b\xfb\x7e\xc5\xc3\xdb\xa1\x5b\x8a\x60\xbb\xcd\x1b\xa1\x05\x6b\x64\x96\xb0\x25\xf1\xa1\x3b\xab\x80\x8a\x66\x2f\x28\xd2\x1a\x37\x40\xa5\xe2\x94\x1e\x33\xe4\xcc\x0b\xf4\x0b\x46\x41\xc0\x7e\x69\xef\x2b\x73\xd8\x9c\x3e\x71\x80\xf2\xa9\x52\xd4\x89\xcc\x77\x73\x2c\x73\x00\x47\xee\x33\x58\x47\x5a\x89\x16\x5a\x76\xac\x48\x4c\x61\x3e\x80\x41\x36\x3b\x40\x46\x61\xf4\xd9\xec\x44\xb4\x3e\x83\xbe\x40\xf3\x6a\x11\x81\x67\xe0\x6a\xa7\x2c\x1a\xc0\xe9\x0f\xd8\xbd\x85\xb6\x35\x9f\xc3\x33\x80\x0d\x0c\x3e\x83\x9c\x6b\x6f\x64\x3e\x32\xc5\x9d\x19\xbc\x76\xa4\xe5\x38\x33\x53\x74\xa1\x15\xd7\x5b\xbc\x27\x5a\xf7\xd7\xa3\xcf\xec\xf5\x33\xb1\x50\xa4\x0e\x44\x5c\xd2\x0d\x26\xcf\xb4\xaf\x5a\x84\x00\x1e\x78\xa5\x25\x33\x13\x31\x17\xe6\x9e\x57\x5a\xf6\xac\xdd\x9a\x96\x2f\xa7\x03\xca\x2e\xe3\xac\xef\xc0\xac\x7c\x9b\x99\x53\xfa\xcc\xde\xca\x7c\xaf\xc4\x1c\xe8\x15\x1a\xa9\x29\x74\x9d\x35\xb1\xd6\x7b\xe8\xed\xe0\x11\x1a\xa5\xc2\x60\x84\xe5\xe8\x32\xb5\xd1\xa2\x18\xbc\x1d\xd5\xc1\x38\x80\x68\x12\x58\xfc\x99\x99\xb4\xd6\x3e\x75\x03\x48\x1a\xc0\x74\xd7\x1b\xea\xc8\x9d\x79\x3d\x33\xd9\x43\xa3\x56\xdd\x9a\xdc\x4e\x00\x8c\x16\xf0\xb3\x3e\xe8\x41\xfa\xbd\xd2\xe2\x3a\x95\xfe\xf9\x00\xe6\xd5\xa2\x0f\x9f\x8d\x4d\xe4\x63\xfb\xed\x33\x29\x33\x73\x71\xe9\x39\xd8\xf6\x3e\xf3\xbf\xcc\x1d\xb0\xb0\x33\xd8\x20\x33\xd4\xe3\x20\x2b\x36\x13\xb5\x67\x0a\x42\x0b\x00\xa5\x81\x59\xac\x0b\x19\xd2\x8c\xcd\x9f\x29\xc6\x54\x6c\x77\x24\xea\xf0\x48\x7e\xdc\x3f\x51\xd8\x0f\x90\xcc\xa3\xef\xf3\xf0\x07\x47\x17\x3f\x5e\x64\xf1\x43\x51\xc5\x1f\x18\x50\xfc\x31\xc1\xc4\x7f\x5d\x20\xf1\x61\x0c\xb1\x6c\x7f\x62\x31\xc4\xe7\xa3\x4e\x33\x13\x13\x1e\x4b\x29\xf1\x66\x1a\x0e\xaf\xad\x1c\x90\x02\x52\x6a\x84\xf3\x63\xf4\x9e\xd9\x15\xc4\x0e\x7d\xd2\x11\x1e\xbf\x58\xba\x21\xca\x54\xc2\x4f\x50\x76\x87\xf3\x48\xad\x9d\xf7\x75\x71\x0e\xaf\x7c\x33\xd8\x95\xa6\x85\x48\x3a\x3e\x33\xcd\xc2\x39\xbc\x0a\x01\x4e\x65\x08\x72\x05\x95\x23\xe3\xe0\xc3\xdc\x22\x48\x29\x9f\xee\x31\x01\xf6\x37\x0e\x03\x7a\x66\x4f\xe7\xfd\x9e\xb8\x17\x1c\xb2\x01\x94\x5e\xa1\xdf\x74\x03\x7d\xb9\x3b\x22\x92\xb4\x50\xa0\xba\xbc\x10\x44\x54\x78\x56\x12\x0e\x9a\x73\x0d\xa5\xb5\x0f\x4b\x1b\x18\xd8\x76\x52\x11\xdf\x40\x88\xfa\xc0\xf3\x01\x03\x27\x47\xcf\xd0\xb2\x28\xd6\x48\xe9\x23\xc3\x07\x62\x0d\x22\xa9\x4f\xb7\x19\x50\x96\x3e\x74\x6b\xa6\x32\x9e\x40\x18\x15\xf8\x4a\x76\x38\xc0\x56\x86\xff\x2e\x94\x79\x36\xfa\xf5\x57\x0c\x63\xa2\x59\xf0\xa0\xef\x37\x9e\x7d\x70\x70\x80\x5b\x72\xa4\x5c\xb4\x83\xae\x9c\x19\xc4\x6e\x68\x49\x1a\x12\x33\xca\xcd\x38\x1e\x08\x02\x13\xdc\x70\xc5\x07\x51\x0e\x20\x0a\xe9\x8d\x76\x7e\x9e\x85\x81\xc7\xd9\xa7\x2e\x79\xcf\x3c\x69\xe2\x9d\xfd\x9c\x49\x29\x59\x50\xc3\x50\xf4\x44\xd0\x98\x3c\xb5\xeb\xdc\x2c\x04\x12\x29\xf6\x41\x63\x96\x0e\xa7\xd9\x60\xc7\xb1\x3f\xe1\x25\xdc\xe1\x30\xb4\x21\x8d\x34\x22\xfa\x04\x9f\xcc\x00\xbd\x05\x99\xde\xf6\x5e\xcd\xb7\xa6\x09\x78\x60\x77\xf8\x98\x4e\x4a\x28\xc3\xdc\x87\xff\x8e\x70\x27\x79\x30\x3c\x63\x34\xad\xa9\x13\x3e\xd8\x42\xb9\xc9\x9a\xbf\xa6\x3e\x5d\xaa\x38\xe7\x31\xa8\xde\x6d\xee\x5c\xd3\x03\xe8\xe1\x0c\x92\x62\x25\xcd\xb7\x92\x66\x4d\xa4\x3d\x17\x86\xa7\x46\xb8\x5d\x77\x86\xc1\x5b\xfa\x16\xe4\xa6\x71\x42\xd2\xd8\x11\x1d\x45\xec\x83\x2d\x09\x1a\x2a\x01\x55\x71\x54\x22\xa8\x0f\xe3\xae\x75\x0e\x15\xca\xa9\x2b\x5c\x1a\x09\x2e\x5b\x5b\x13\x86\x85\x27\x38\x71\x56\x52\xcc\x23\x0d\x23\x33\xce\xf8\x01\x4a\x33\x91\x9e\x1c\xe0\x6c\x34\xe3\x4e\x39\x6c\x86\x1b\xbf\x72\xe6\x36\x10\xf0\xc9\x79\x3e\xe0\x50\x3c\xe1\xc8\xb6\x69\x2f\xa0\x7f\x82\xa7\xc7\x29\xfb\x0d\xac\x8f\xa3\x4e\x3c\x65\x3d\x82\x88\xd9\xe1\xfb\x31\x64\x23\x33\x00\x66\x02\xf9\x09\x5d\x75\xd0\x0c\x1b\x91\x3b\x1f\xec\x1e\xe1\x9d\xb6\x04\x01\x3c\x2f\x15\xae\x08\xdd\x87\x4f\xde\xb2\xe7\x81\x73\xc3\x39\xf7\x13\x69\xcb\xd3\x9b\x0c\x0b\xc8\x10\xf4\x8b\xeb\xe0\x81\x29\x3b\x85\xd2\xa0\x95\x6b\x41\x00\x0f\xce\xc3\xcb\x04\xa2\xe8\x43\x6e\xd1\x91\x0b\x4e\x46\x20\x79\xe2\x43\xa3\x9d\x1f\x6b\x64\x78\xec\x02\x47\xda\x4a\x79\x6b\x0c\xdd\x69\x1d\x18\x40\xb8\xc1\xdd\xe2\x29\x5d\xfb\xbe\x23\x72\x40\x8d\x8e\x0c\xdf\xad\xc8\xd1\x82\x23\x16\x28\xd7\x04\xf8\x01\x33\xb3\x3b\x16\x9f\x7a\x43\x89\x73\x23\xd0\xcc\x8e\x22\x75\xfe\xa0\x85\x41\x92\x24\x4d\x66\x1f\x92\x0a\xaa\x79\xa1\xd4\x6f\xe5\x57\x6c\xe4\x01\x6a\x53\xbf\xbf\x81\xdc\xf4\x61\xc2\x69\xea\x43\x27\x67\x78\x49\x0e\x06\x77\x7e\x0a\x95\x59\x9d\xf3\x87\x40\xa8\xd4\x5b\x94\xcc\xef\x75\xde\x7e\x0c\x5c\xe6\xed\xa5\x7e\x9f\xfb\xf6\x83\xd8\xcc\xdb\x0b\x7d\xae\x03\xf7\x5f\x81\xcf\xfc\xe0\x79\x1e\xc7\x18\xca\x17\xfb\x13\x71\xe1\xde\xa5\x77\xef\x3f\xdf\x81\xdb\x19\x6e\xe3\x44\x33\xb7\x59\xe0\x13\x48\xfa\x7c\x43\x16\x55\x18\x23\xe6\x24\x4e\x13\x13\xf6\x75\x90\x23\x91\xf6\x9e\x3a\xbe\xc4\xc7\x3a\x2d\x0c\x0a\x99\x20\x6c\xb7\x83\xeb\x03\x05\x9c\x2c\x79\xea\xc4\xaf\x23\x19\x3d\x1f\x78\xb3\x91\x45\x49\x90\x74\x2f\x64\x70\xcd\xd8\xd3\x1e\x53\x68\x35\x71\x32\xab\xea\x46\x65\xa2\x1d\x86\x8e\xcc\x09\x92\xdf\x95\xcc\x98\x45\x61\x73\x3b\xb4\x8f\xd9\x11\x08\x49\x33\x06\xe9\xa0\x6e\x63\xf0\x47\x88\x80\x37\xba\x4f\x57\xd6\x68\x63\x90\x81\x45\x65\x28\xca\x04\xb9\x53\xa2\x8e\xb3\x4c\xd4\x57\xa9\x4f\x9a\xa3\x71\xf4\x29\xbd\x33\xf0\xee\x83\xa1\x01\xbb\xd7\xb2\x98\x3c\x6e\xd9\x71\x88\x61\x66\xa2\x37\x1b\x93\x37\x77\x87\x2b\x86\x4e\x9c\x14\x71\x64\x02\x0e\xf4\x04\x1e\xc2\x14\x58\xea\xf5\x59\xc3\x76\x30\xbe\x52\xeb\x35\xa2\xb8\x57\x8c\xc5\x7e\xf4\x2e\x49\x33\x12\x4b\xcb\xb2\x64\x1f\x22\xb0\x42\xde\x49\x46\x4b\x51\xeb\xe4\x10\xc4\xd0\x22\xeb\x00\xf4\x3e\x03\x71\x5f\x31\xa4\x3e\x8d\x7e\xf1\x4e\xd9\x81\x8c\xfc\xd9\xd7\x72\x84\xc9\x60\x61\x80\x80\x39\x49\x15\xc7\x91\xb6\x2e\xab\x6d\x33\x65\xbc\x80\x73\x18\x20\x32\xcb\x10\x2b\x6d\x8c\x76\x74\xc2\x99\x11\x23\x52\xd7\xde\xce\x36\x33\xc1\xd7\xe0\xf3\x9c\x17\x23\xc6\xa7\x4a\xb0\x82\x25\x30\x47\x9d\x41\x2a\x86\x59\x61\x6c\x9f\xe3\x85\x16\x02\x93\xf1\xe8\x13\xac\x17\x08\x62\x0e\xa6\x46\x57\xa6\x14\x17\xc8\x73\x2a\x1d\xc3\x06\xfd\x24\x88\xd8\x68\x0b\x1a\xc7\x3e\xf9\xfd\x20\xc3\x9e\x20\x12\x8d\x4e\x2e\x4c\xfd\x3c\x53\xb5\x18\xa9\xda\x68\xdd\xbc\xa5\x67\x89\x7d\xbc\xa4\x0d\x45\x01\xea\x5a\xa9\x42\xcc\xde\x09\x4e\x06\x2d\x52\x23\x4d\x63\xaf\x60\xe8\xb7\xcc\x48\xe1\xe8\x44\x30\x1a\x0b\x99\xaa\x7c\xde\xb0\x7e\x00\xa7\xd5\x7a\xec\x63\x67\x32\x28\x64\x6a\x02\x93\x86\x67\x1c\x98\xd9\xf1\x37\x3b\xd7\x87\x08\x39\xf1\x77\xa1\xd5\x67\xbc\xc1\x7f\x9c\x0c\xa2\xa9\xb0\x60\x2c\x43\x9f\x5c\x6c\x86\x97\x49\xec\xc6\x4e\x71\xf6\x11\x7d\x99\xd6\xa0\xf9\xc6\xc9\x9a\x20\x01\x34\x07\x88\x8c\x92\x63\xd0\x36\x88\x7a\x13\xed\x2c\x23\x86\x7f\x84\xa8\x6f\x66\xa2\xfc\xc2\x58\xd3\x05\xe8\x73\xf2\x33\xe7\x59\xbe\xa5\x39\xf3\x36\xc5\x1e\x9d\xb0\xa3\x1b\x2d\x33\xcc\xd9\xc8\x37\x04\xfb\x23\xd9\x1b\x1f\x16\x14\x1d\x96\xee\xe3\x4f\x21\x04\x1b\x87\x3e\x99\xda\x32\xc8\x05\xcc\x4c\x04\xd3\x44\x66\x6f\xf4\x41\x34\x0c\x72\x08\xb4\x72\xae\x40\x72\xeb\xda\x49\x9f\xad\xc5\x89\x91\x96\x13\xe4\x58\x96\xdd\xc4\xe1\xaa\x90\x9b\x59\xf6\x9e\x11\x7f\xd5\x87\x0d\x9c\xcd\x69\xae\xf5\x7b\x32\x52\x19\x12\x4e\x08\xf7\x96\x7c\x4b\x9e\xf4\x3d\x4e\xcd\xa3\xd9\xfb\x63\x5d\x9a\xc7\x0b\x7d\xda\xa1\xb1\xb7\x7f\xd0\x9d\x79\xbc\xc8\x7f\xdc\x99\xf9\xf0\x41\xfe\xd3\x5c\x99\xdb\x27\xc1\x91\xd9\xd6\xf9\x63\x3f\xe6\xff\x07\x00\x00\xff\xff\xf1\xd6\xd5\xd3\x00\xd0\x00\x00") func uiBindataGoBytes() ([]byte, error) { return bindataRead( @@ -325,12 +325,12 @@ func uiBindataGo() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "ui/bindata.go", size: 122880, mode: os.FileMode(420), modTime: time.Unix(1483468915, 0)} + info := bindataFileInfo{name: "ui/bindata.go", size: 122880, mode: os.FileMode(420), modTime: time.Unix(1492526395, 0)} a := &asset{bytes: bytes, info: info} return a, nil } -var _uiLibAngularMomentMinJs = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xb4\x58\xdb\x6e\xdc\x38\xd2\xbe\xff\x9f\x42\xcd\xdf\x10\x58\xbb\x0c\xa7\x8d\x00\x83\x85\x1a\x4c\x63\x10\xaf\x81\x00\xe3\xcc\x62\x1d\xef\x5e\x18\xb9\xa0\xc4\x62\x37\x1d\x49\xec\x50\x94\xdb\x8e\xd3\xef\xbe\xa0\xce\x6a\xb7\x67\x16\xde\xcc\x8d\x0e\x64\xb1\xea\xab\x73\x49\x44\x5b\x57\x48\x1f\xc9\x42\x91\xd5\x42\xd7\x65\xe6\x8d\x2d\x29\x3c\x91\xba\xc2\xa8\xf2\xce\x64\x9e\xac\xfa\xf5\x48\x52\x09\x4f\x0e\x7d\xed\xca\x48\x96\x9b\x3a\x97\x8e\x9b\xea\xa6\x54\xa8\x4d\x89\x8a\x4a\xf8\xfe\xbd\xac\xf3\x5c\x08\x21\x0f\xc3\xa9\x94\xa6\x2c\x1b\xce\xa5\xbc\xb0\xaa\xce\x91\x92\x8e\xc3\x95\x2d\xb0\xf4\x84\xdd\x7e\x06\x9e\xd9\xb2\xf2\xb2\xf4\x47\x9b\xef\x6d\xa9\xcd\x86\xb0\xa7\x9d\xc3\x9d\xb3\x19\x56\x55\x12\xe4\x30\x6f\x0a\xfc\x66\x4b\x6c\xdf\x5a\x65\xda\xe7\xca\x4b\x8f\xba\xce\x2f\x4d\xee\xd1\x55\xc9\x62\x79\x98\xb2\x2f\x3a\xa1\xd9\x4c\x66\xf1\xc9\x14\xf8\xcb\xc6\x0e\xf2\xf6\xc6\x6f\x6d\xed\xaf\x6b\xad\xcd\x43\xb2\x38\x67\x15\xba\x7b\x74\x81\xac\x07\xe0\x73\xbc\x9c\xc8\xd5\x75\x9e\x5f\x48\x8f\x9f\xb6\x0e\xab\xad\xcd\xd5\x7c\x79\x42\x7a\x00\xae\x8c\xc3\xcc\x9b\x7b\x9c\xc8\x26\xec\x96\x9c\xed\x4d\xa9\xec\x9e\xb0\x01\x27\x91\xc5\xd5\xf8\x78\x04\x73\xf0\x5b\xc6\x14\x43\xa6\x07\x5b\x0f\x1b\x1b\xb6\x65\x06\x9e\x06\x97\xdc\x51\x78\xba\x97\x2e\x92\x2b\xa3\xe9\x0e\xa4\xd8\xad\x30\xaf\x30\x32\x9a\x6a\x3e\xea\xd8\x12\xa5\x82\x96\xb8\x8f\x02\x7c\xe0\x1b\xf4\x61\x87\x02\xcb\x44\xfa\xe6\xfe\xaf\x53\xf2\x95\x14\x8a\x66\x70\x68\x58\x85\x67\x58\xf5\xc1\x32\x46\xc3\x17\x0a\x4f\x5f\xe3\x98\x66\x3c\xcb\x51\x36\xe7\x6c\xed\xe9\x57\x60\x5f\x45\x30\x0b\x8c\xa4\x79\x08\xb7\x16\xc1\x1d\x0d\xd6\xd2\x9a\x4a\x46\x94\x7c\x24\xc0\x94\xf0\x71\x9c\xbe\x13\x3e\xa8\xb0\xe5\x1e\x1f\x3c\x55\x6b\xc9\xdb\x20\xa0\x35\x24\x92\x6b\x67\x0b\x7a\x47\x81\x39\x00\x56\xc5\xf1\x62\xcb\xa5\xf7\x8e\x92\xc6\x6d\x04\xe2\x78\xbe\xc0\x24\xcf\x6d\x26\x73\x0a\x3d\x9b\x0a\x80\x2d\x54\x8b\x02\xc5\x95\xf4\x5b\x2e\xd3\x8a\x4e\xe1\x14\xa6\xac\x3d\x12\x00\xa6\xc5\xdb\x9f\x97\xcb\xd5\xf9\x3b\x5c\x6b\x71\x9e\xfc\xbc\x6c\x1e\xde\x2e\x93\xf3\xbf\x2d\xdf\x61\x1c\xd3\xf0\xb2\x0c\x8a\x66\xbc\x6a\xed\x18\x54\x9f\xa4\x5d\xd0\xf8\xc0\xce\xf1\xed\x5f\x34\x1c\x46\x43\x14\xc1\x10\x0f\x23\x5a\x25\x3d\x86\xd0\x27\x4c\x4e\xcc\x15\x18\x18\x4d\xbf\x50\x60\xb6\x73\xaf\x40\x3e\xa6\x4c\x70\x20\xb5\xb0\x0a\x42\x58\x41\x25\xf7\xf6\xc3\xf5\x6f\xd7\xde\x99\x72\x43\x01\x0e\x87\x70\xc4\xb2\x5d\xe7\x08\xe6\x84\xe6\xb3\x04\x60\x95\xd0\x7c\x12\xf1\xcc\x0b\xcd\x9f\x05\x3c\xab\x27\xab\x1d\xe1\xfd\xe9\x10\xda\x0b\xc3\x87\x68\x66\x0f\x82\x7c\xfa\x70\xf5\x77\x22\x84\xd8\xde\x2e\x3f\xf3\xd2\x2a\xfc\x28\x0b\xe4\xde\xde\xec\x76\xe8\xde\xcb\x0a\x29\xac\x36\xfc\x6c\x2f\x7d\xb6\xa5\xfb\x31\xf0\xd3\xb1\x2c\xd1\x14\xbe\x7f\x27\x81\x49\xba\x6e\x6c\x71\x6f\x8d\xa2\x36\x8e\xfb\x20\x21\x24\x68\x1f\xae\xb6\x0d\x38\x80\x84\x5a\x91\x36\x84\xc1\x88\x70\x00\x96\x72\x53\x5d\x74\x55\x2d\x60\xbc\x74\xb6\x80\x38\x1e\x64\xf7\x6b\x33\x08\x3b\x31\x93\x1e\x98\x27\x8a\xa6\xc0\x4a\x7a\x8a\xe7\xbf\xa7\xb6\x3d\x66\x3e\xdb\x1c\xa5\x48\x78\x22\xa9\xb5\x39\xca\x92\x08\xe1\x1f\x77\x68\x75\x24\xd7\xd4\x09\x19\xa4\x40\xf2\xcc\x69\x07\x60\x86\x9f\xd9\xb4\x49\xd3\x50\x67\x2e\x8f\x1d\x46\x66\xec\x7d\xcb\xe9\xc5\x63\xad\x47\xe7\x67\xea\xe1\xcc\x86\x9f\xd9\x92\x92\x33\x85\x95\x77\xf6\x71\x42\x06\x4f\x5f\xa6\x14\x7d\x3d\x4b\x9a\x84\xc3\xf7\x5b\x59\x6e\x50\xcd\xe8\x1b\x8e\x87\xc3\x67\x68\x4a\x8c\xc9\x90\x4e\xaa\xe0\xed\x58\x1a\xcf\x9c\xb5\xfe\x3a\xb3\x3b\x0c\x2f\xb9\xdd\x84\x1a\x79\xaa\x7d\x8c\x90\x59\x53\x29\xdb\x24\xd1\x4d\x14\xac\xfc\xd6\x54\x3c\x6b\x60\xfc\xda\x40\x12\x03\xf9\x84\xb4\x2b\x10\xd8\xac\xad\x86\x96\x36\x3a\x56\x41\x1c\x67\xfc\x2c\x75\x56\xaa\x4c\x56\xfe\x45\x4d\x81\xe9\x03\x9b\x08\xfd\xd4\xb5\x32\x31\x8d\x28\xc9\xfd\xb7\x38\x0e\xd7\x50\x30\x2e\x50\xcb\x3a\xf7\x6b\x7a\xb4\x10\x42\xec\x05\x99\x7d\x83\x1c\xa4\x42\xa2\xf8\x5e\xba\x72\xe8\xb0\x6f\x5a\x3b\x26\xd1\x1c\x06\x85\x68\x6f\xdd\x97\x2a\xb2\x65\xfe\x18\x85\x88\x8a\x5a\xc2\x37\x3d\x4b\x7e\x57\x45\xf7\x4b\xfe\x96\x2f\x23\xeb\xa2\x8d\x43\xe9\xd1\x71\x02\x0c\x79\x4f\x22\x52\xa6\x45\xda\xa9\x39\x2f\x44\xe2\x44\xee\xea\x85\x10\xe3\xe1\x38\x3e\x61\x1d\x3a\xee\x07\x41\x23\xcf\xf5\xf4\x85\xa6\x90\x48\xba\x30\xd5\x47\xf9\x91\xee\xa4\xab\xf0\x32\xb7\x32\xd8\x09\xe2\xd8\x54\x97\xa6\x34\x1e\x69\x0a\xeb\x66\xef\x43\xe9\x69\xca\xce\x97\x90\xa4\x6d\xb8\xe9\x66\x66\x08\x56\xfc\x47\xd8\x9f\x06\xdb\x34\xea\x8f\x9b\xec\x74\xca\x91\xcd\xdb\x11\xb7\x50\x30\x6e\x4a\xf3\xf0\x5f\x33\x1c\xd9\xf1\xba\x34\x0f\xf4\x19\xbe\x1b\x9f\xbd\x8a\x99\xcf\x4e\xf2\xfa\x4d\xeb\x0a\x9b\xe4\x1a\x13\x6d\xca\xf3\x85\x91\x4e\x1e\x37\x99\x14\x82\x88\x96\x5b\x18\x08\xfa\x3c\x99\x0b\x6c\xd2\xec\x35\xf0\x4d\xd5\x82\x0b\x1e\x4c\xfb\x8e\xdd\xce\x54\x73\x09\x7d\xd4\xcc\x35\x3a\x5d\x1c\xba\xca\x31\xa9\x11\x8d\x8a\x83\xca\x8a\xa6\x6c\x18\x04\x4e\x68\xdc\x17\x03\xb5\x46\xee\xbf\x35\x17\xaa\x20\xa1\xd9\x0b\xe9\x56\xca\x02\x55\xd4\x07\x73\x54\xed\x30\x33\xda\xa0\x8a\xd2\xda\x77\xa9\x16\x58\x40\x64\xaa\xa8\xee\x27\x6c\x1e\x5d\x18\x15\x3d\xda\x3a\xd2\xd6\x6d\xd0\x47\xde\x46\xa6\xcc\xf2\x5a\xe1\xa9\xf4\x5c\x87\x6c\x84\x04\x7b\x07\xa8\xb9\x79\xde\xcb\x1c\x4b\x25\xdd\xac\x9a\xfe\x91\x9d\xa6\xe1\x1e\x0c\x32\x18\x28\x18\x21\xcc\x1f\xa1\x07\x42\x2b\x90\x90\x55\xb0\x97\x12\xd9\xef\xd8\x8b\x9b\xea\x5f\x32\x37\x8a\xc2\x5a\xf1\xac\x83\x44\x21\x21\xa4\x87\x8d\xfc\xac\x1f\xe7\x85\xe2\x47\x93\x3d\xc3\xb9\x52\x17\x46\x6b\x74\x58\x66\xf8\xa3\xd4\x6a\x66\x6a\xb6\xe9\x94\x53\x47\xca\x6d\x9f\x2b\xa7\x80\x19\x21\x29\xc2\x3a\xa5\x90\x3c\xdb\x1e\x1b\xc7\x76\xd4\x3d\x8e\xcd\xc4\x10\xdb\x76\xba\x34\x8d\xdc\x57\x5b\x62\xd2\xad\x7f\x90\x83\xc3\xfb\x49\x17\xe3\xef\xb9\x18\x27\x9a\x61\x3f\x59\xab\xd7\xeb\x55\x3b\x19\x00\x9d\xd2\xed\x8f\x14\x9a\x25\x74\x37\x04\x0c\x25\x3b\x83\x35\x21\x49\xca\x55\x27\x20\x10\x00\xdf\xd6\x85\x2c\xcd\xb7\xe0\xb7\x21\x8f\x26\x70\xb3\x67\x70\xd5\xf3\x22\xd4\x7d\xd7\xfd\xb0\x68\x6c\xeb\xd0\x86\x6d\x87\x0f\x2c\xaa\x1a\xf0\xf4\x44\xae\x29\x60\x1b\x91\x36\xb7\x89\x23\xe8\x56\xa4\x54\x03\x5b\x48\xaa\x9b\x0f\xa1\x71\x6b\xd3\x7e\x38\x6d\x43\xed\x68\x9f\x3f\xda\x3d\x45\x08\x1e\x83\x57\xb9\xec\xba\x4e\xbd\x93\xd9\x9f\xe0\x2c\x9a\x01\xaf\x3a\xee\x74\x68\xe7\x2a\xb4\x73\xf6\x4a\x87\xfd\xa2\xd4\x9f\x83\x53\x2a\xf5\xbf\x40\x3c\x90\x5e\xcc\x38\xfa\xb7\x7d\x21\x8e\xdb\x3b\x97\x85\x5a\xb7\x8f\xf4\xb6\xc7\x3d\xfe\x45\xf8\xcc\x52\x48\xc8\xd0\x4c\xc8\xa2\xe7\xd2\xfe\x91\x89\xe3\xf9\x9d\xe3\xc3\xce\x3a\x5f\xad\x69\x4a\x1d\x7e\xad\x8d\x1b\x7f\xda\x10\x60\xc3\x52\xc7\x1d\x80\xcd\xcf\x89\xa3\x3f\x3c\x90\xa4\xb4\x5b\x61\xf4\x14\x8c\x4d\x6e\x53\x99\xaf\xdb\x5b\xd2\xfe\x03\x01\xde\xb2\x87\x03\x85\xd5\xff\xfd\xf4\xd3\xff\x47\x95\xad\x5d\x86\x57\x72\xb7\x33\xe5\xe6\xe6\x9f\xbf\x8a\x79\x67\xe5\x85\x29\xf9\x5d\xc5\x0b\xb9\xfb\x4f\x00\x00\x00\xff\xff\x88\xf7\xad\x76\xde\x12\x00\x00") +var _uiLibAngularMomentMinJs = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\xb4\x58\xdb\x6e\xdc\x38\xd2\xbe\xff\x9f\x42\xcd\xdf\x10\x58\xbb\x0c\xa7\x8d\x00\x83\x85\x1a\x4c\x63\x10\xaf\x81\x00\xe3\xcc\x62\x1d\xef\x5e\x18\xb9\xa0\xc4\x62\x37\x1d\x49\xec\x50\x94\xdb\x8e\xd3\xef\xbe\xa0\xce\x6a\xb7\x67\x16\xde\xcc\x8d\x0e\x64\xb1\xea\xab\x73\x49\x44\x5b\x57\x48\x1f\xc9\x42\x91\xd5\x42\xd7\x65\xe6\x8d\x2d\x29\x3c\x91\xba\xc2\xa8\xf2\xce\x64\x9e\xac\xfa\xf5\x48\x52\x09\x4f\x0e\x7d\xed\xca\x48\x96\x9b\x3a\x97\x8e\x9b\xea\xa6\x54\xa8\x4d\x89\x8a\x4a\xf8\xfe\xbd\xac\xf3\x5c\x08\x21\x0f\xc3\xa9\x94\xa6\x2c\x1b\xce\xa5\xbc\xb0\xaa\xce\x91\x92\x8e\xc3\x95\x2d\xb0\xf4\x84\xdd\x7e\x06\x9e\xd9\xb2\xf2\xb2\xf4\x47\x9b\xef\x6d\xa9\xcd\x86\xb0\xa7\x9d\xc3\x9d\xb3\x19\x56\x55\x12\xe4\x30\x6f\x0a\xfc\x66\x4b\x6c\xdf\x5a\x65\xda\xe7\xca\x4b\x8f\xba\xce\x2f\x4d\xee\xd1\x55\xc9\x62\x79\x98\xb2\x2f\x3a\xa1\xd9\x4c\x66\xf1\xc9\x14\xf8\xcb\xc6\x0e\xf2\xf6\xc6\x6f\x6d\xed\xaf\x6b\xad\xcd\x43\xb2\x38\x67\x15\xba\x7b\x74\x81\xac\x07\xe0\x73\xbc\x9c\xc8\xd5\x75\x9e\x5f\x48\x8f\x9f\xb6\x0e\xab\xad\xcd\xd5\x7c\x79\x42\x7a\x00\xae\x8c\xc3\xcc\x9b\x7b\x9c\xc8\x26\xec\x96\x9c\xed\x4d\xa9\xec\x9e\xb0\x01\x27\x91\xc5\xd5\xf8\x78\x04\x73\xf0\x5b\xc6\x14\x43\xa6\x07\x5b\x0f\x1b\x1b\xb6\x65\x06\x9e\x06\x97\xdc\x51\x78\xba\x97\x2e\x92\x2b\xa3\xe9\x0e\xa4\xd8\xad\x30\xaf\x30\x32\x9a\x6a\x3e\xea\xd8\x12\xa5\x82\x96\xb8\x8f\x02\x7c\xe0\x1b\xf4\x61\x87\x02\xcb\x44\xfa\xe6\xfe\xaf\x53\xf2\x95\x14\x8a\x66\x70\x68\x58\x85\x67\x58\xf5\xc1\x32\x46\xc3\x17\x0a\x4f\x5f\xe3\x98\x66\x3c\xcb\x51\x36\xe7\x6c\xed\xe9\x57\x60\x5f\x45\x30\x0b\x8c\xa4\x79\x08\xb7\x16\xc1\x1d\x0d\xd6\xd2\x9a\x4a\x46\x94\x7c\x24\xc0\x94\xf0\x71\x9c\xbe\x13\x3e\xa8\xb0\xe5\x1e\x1f\x3c\x55\x6b\xc9\xdb\x20\xa0\x35\x24\x92\x6b\x67\x0b\x7a\x47\x81\x39\x00\x56\xc5\xf1\x62\xcb\xa5\xf7\x8e\x92\xc6\x6d\x04\xe2\x78\xbe\xc0\x24\xcf\x6d\x26\x73\x0a\x3d\x9b\x0a\x80\x2d\x54\x8b\x02\xc5\x95\xf4\x5b\x2e\xd3\x8a\x4e\xe1\x14\xa6\xac\x3d\x12\x00\xa6\xc5\xdb\x9f\x97\xcb\xd5\xf9\x3b\x5c\x6b\x71\x9e\xfc\xbc\x6c\x1e\xde\x2e\x93\xf3\xbf\x2d\xdf\x61\x1c\xd3\xf0\xb2\x0c\x8a\x66\xbc\x6a\xed\x18\x54\x9f\xa4\x5d\xd0\xf8\xc0\xce\xf1\xed\x5f\x34\x1c\x46\x43\x14\xc1\x10\x0f\x23\x5a\x25\x3d\x86\xd0\x27\x4c\x4e\xcc\x15\x18\x18\x4d\xbf\x50\x60\xb6\x73\xaf\x40\x3e\xa6\x4c\x70\x20\xb5\xb0\x0a\x42\x58\x41\x25\xf7\xf6\xc3\xf5\x6f\xd7\xde\x99\x72\x43\x01\x0e\x87\x70\xc4\xb2\x5d\xe7\x08\xe6\x84\xe6\xb3\x04\x60\x95\xd0\x7c\x12\xf1\xcc\x0b\xcd\x9f\x05\x3c\xab\x27\xab\x1d\xe1\xfd\xe9\x10\xda\x0b\xc3\x87\x68\x66\x0f\x82\x7c\xfa\x70\xf5\x77\x22\x84\xd8\xde\x2e\x3f\xf3\xd2\x2a\xfc\x28\x0b\xe4\xde\xde\xec\x76\xe8\xde\xcb\x0a\x29\xac\x36\xfc\x6c\x2f\x7d\xb6\xa5\xfb\x31\xf0\xd3\xb1\x2c\xd1\x14\xbe\x7f\x27\x81\x49\xba\x6e\x6c\x71\x6f\x8d\xa2\x36\x8e\xfb\x20\x21\x24\x68\x1f\xae\xb6\x0d\x38\x80\x84\x5a\x91\x36\x84\xc1\x88\x70\x00\x96\x72\x53\x5d\x74\x55\x2d\x60\xbc\x74\xb6\x80\x38\x1e\x64\xf7\x6b\x33\x08\x3b\x31\x93\x1e\x98\x27\x8a\xa6\xc0\x4a\x7a\x8a\xe7\xbf\xa7\xb6\x3d\x66\x3e\xdb\x1c\xa5\x48\x78\x22\xa9\xb5\x39\xca\x92\x08\xe1\x1f\x77\x68\x75\x24\xd7\xd4\x09\x19\xa4\x40\xf2\xcc\x69\x07\x60\x86\x9f\xd9\xb4\x49\xd3\x50\x67\x2e\x8f\x1d\x46\x66\xec\x7d\xcb\xe9\xc5\x63\xad\x47\xe7\x67\xea\xe1\xcc\x86\x9f\xd9\x92\x92\x33\x85\x95\x77\xf6\x71\x42\x06\x4f\x5f\xa6\x14\x7d\x3d\x4b\x9a\x84\xc3\xf7\x5b\x59\x6e\x50\xcd\xe8\x1b\x8e\x87\xc3\x67\x68\x4a\x8c\xc9\x90\x4e\xaa\xe0\xed\x58\x1a\xcf\x9c\xb5\xfe\x3a\xb3\x3b\x0c\x2f\xb9\xdd\x84\x1a\x79\xaa\x7d\x8c\x90\x59\x53\x29\xdb\x24\xd1\x4d\x14\xac\xfc\xd6\x54\x3c\x6b\x60\xfc\xda\x40\x12\x03\xf9\x84\xb4\x2b\x10\xd8\xac\xad\x86\x96\x36\x3a\x56\x41\x1c\x67\xfc\x2c\x75\x56\xaa\x4c\x56\xfe\x45\x4d\x81\xe9\x03\x9b\x08\xfd\xd4\xb5\x32\x31\x8d\x28\xc9\xfd\xb7\x38\x0e\xd7\x50\x30\x2e\x50\xcb\x3a\xf7\x6b\x7a\xb4\x10\x42\xec\x05\x99\x7d\x83\x1c\xa4\x42\xa2\xf8\x5e\xba\x72\xe8\xb0\x6f\x5a\x3b\x26\xd1\x1c\x06\x85\x68\x6f\xdd\x97\x2a\xb2\x65\xfe\x18\x85\x88\x8a\x5a\xc2\x37\x3d\x4b\x7e\x57\x45\xf7\x4b\xfe\x96\x2f\x23\xeb\xa2\x8d\x43\xe9\xd1\x71\x02\x0c\x79\x4f\x22\x52\xa6\x45\xda\xa9\x39\x2f\x44\xe2\x44\xee\xea\x85\x10\xe3\xe1\x38\x3e\x61\x1d\x3a\xee\x07\x41\x23\xcf\xf5\xf4\x85\xa6\x90\x48\xba\x30\xd5\x47\xf9\x91\xee\xa4\xab\xf0\x32\xb7\x32\xd8\x09\xe2\xd8\x54\x97\xa6\x34\x1e\x69\x0a\xeb\x66\xef\x43\xe9\x69\xca\xce\x97\x90\xa4\x6d\xb8\xe9\x66\x66\x08\x56\xfc\x47\xd8\x9f\x06\xdb\x34\xea\x8f\x9b\xec\x74\xca\x91\xcd\xdb\x11\xb7\x50\x30\x6e\x4a\xf3\xf0\x5f\x33\x1c\xd9\xf1\xba\x34\x0f\xf4\x19\xbe\x1b\x9f\xbd\x8a\x99\xcf\x4e\xf2\xfa\x4d\xeb\x0a\x9b\xe4\x1a\x13\x6d\xca\xf3\x85\x91\x4e\x1e\x37\x99\x14\x82\x88\x96\x5b\x18\x08\xfa\x3c\x99\x0b\x6c\xd2\xec\x35\xf0\x4d\xd5\x82\x0b\x1e\x4c\xfb\x8e\xdd\xce\x54\x73\x09\x7d\xd4\xcc\x35\x3a\x5d\x1c\xba\xca\x31\xa9\x11\x8d\x8a\x83\xca\x8a\xa6\x6c\x18\x04\x4e\x68\xdc\x17\x03\xb5\x46\xee\xbf\x35\x17\xaa\x20\xa1\xd9\x0b\xe9\x56\xca\x02\x55\xd4\x07\x73\x54\xed\x30\x33\xda\xa0\x8a\xd2\xda\x77\xa9\x16\x58\x40\x64\xaa\xa8\xee\x27\x6c\x1e\x5d\x18\x15\x3d\xda\x3a\xd2\xd6\x6d\xd0\x47\xde\x46\xa6\xcc\xf2\x5a\xe1\xa9\xf4\x5c\x87\x6c\x84\x04\x7b\x07\xa8\xb9\x79\xde\xcb\x1c\x4b\x25\xdd\xac\x9a\xfe\x91\x9d\xa6\xe1\x1e\x0c\x32\x18\x28\x18\x21\xcc\x1f\xa1\x07\x42\x2b\x90\x90\x55\xb0\x97\x12\xd9\xef\xd8\x8b\x9b\xea\x5f\x32\x37\x8a\xc2\x5a\xf1\xac\x83\x44\x21\x21\xa4\x87\x8d\xfc\xac\x1f\xe7\x85\xe2\x47\x93\x3d\xc3\xb9\x52\x17\x46\x6b\x74\x58\x66\xf8\xa3\xd4\x6a\x66\x6a\xb6\xe9\x94\x53\x47\xca\x6d\x9f\x2b\xa7\x80\x19\x21\x29\xc2\x3a\xa5\x90\x3c\xdb\x1e\x1b\xc7\x76\xd4\x3d\x8e\xcd\xc4\x10\xdb\x76\xba\x34\x8d\xdc\x57\x5b\x62\xd2\xad\x7f\x90\x83\xc3\xfb\x49\x17\xe3\xef\xb9\x18\x27\x9a\x61\x3f\x59\xab\xd7\xeb\x55\x3b\x19\x00\x9d\xd2\xed\x8f\x14\x9a\x25\x74\x37\x04\x0c\x25\x3b\x83\x35\x21\x49\xca\x55\x27\x20\x10\x00\xdf\xd6\x85\x2c\xcd\xb7\xe0\xb7\x21\x8f\x26\x70\xb3\x67\x70\xd5\xf3\x22\xd4\x7d\xd7\xfd\xb0\x68\x6c\xeb\xd0\x86\x6d\x87\x0f\x2c\xaa\x1a\xf0\xf4\x44\xae\x29\x60\x1b\x91\x36\xb7\x89\x23\xe8\x56\xa4\x54\x03\x5b\x48\xaa\x9b\x0f\xa1\x71\x6b\xd3\x7e\x38\x6d\x43\xed\x68\x9f\x3f\xda\x3d\x45\x08\x1e\x83\x57\xb9\xec\xba\x4e\xbd\x93\xd9\x9f\xe0\x2c\x9a\x01\xaf\x3a\xee\x74\x68\xe7\x2a\xb4\x73\xf6\x4a\x87\xfd\xa2\xd4\x9f\x83\x53\x2a\xf5\xbf\x40\x3c\x90\x5e\xcc\x38\xfa\xb7\x7d\x21\x8e\xdb\x3b\x97\x85\x5a\xb7\x8f\xf4\xb6\xc7\x3d\xfe\x45\xf8\xcc\x52\x48\xc8\xd0\x4c\xc8\xa2\xe7\xd2\xfe\x91\x89\xe3\xf9\x9d\xe3\xc3\xce\x3a\x5f\xad\x69\x4a\x1d\x7e\xad\x8d\x1b\x7f\xda\x10\x60\xc3\x52\xc7\x1d\x80\xcd\xcf\x89\xa3\x3f\x3c\x90\xa4\xb4\x5b\x61\xf4\x14\x8c\x4d\x6e\x53\x99\xaf\xdb\x5b\xd2\xfe\x03\x01\xde\xb2\x87\x03\x85\xd5\xff\xfd\xf4\xd3\xff\x47\x95\xad\x5d\x86\x57\x72\xb7\x33\xe5\xe6\xe6\x9f\xbf\x8a\x79\x67\xe5\x85\x29\xf9\x5d\xc5\x0b\xb9\xfb\x4f\x00\x00\x00\xff\xff\x88\xf7\xad\x76\xde\x12\x00\x00") func uiLibAngularMomentMinJsBytes() ([]byte, error) { return bindataRead( @@ -345,12 +345,12 @@ func uiLibAngularMomentMinJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "ui/lib/angular-moment.min.js", size: 4830, mode: os.FileMode(420), modTime: time.Unix(1483467521, 0)} + info := bindataFileInfo{name: "ui/lib/angular-moment.min.js", size: 4830, mode: os.FileMode(420), modTime: time.Unix(1491905519, 0)} a := &asset{bytes: bytes, info: info} return a, nil } -var _uiLibAngularResourceMinJs = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x57\x6f\x73\xdb\xb8\xd1\x7f\xaf\x4f\x41\xe1\xd1\xe9\x80\x08\x01\xe5\x5c\x9e\x76\x4a\x76\x47\xa7\xd8\xbe\x24\x37\xb9\x26\x93\x38\x73\x33\x95\xe4\x0e\x48\x82\x7f\x22\x12\xa4\x41\x48\x8a\x43\xf2\xbb\x77\x40\x51\x22\xe5\xa4\xd3\xbe\x31\x8d\xc5\xee\x62\xb1\xfb\xdb\xdf\x42\xf6\xb3\x91\xb5\x94\xd1\x2e\xe5\xea\xf7\x4f\xd6\xfe\x8a\xbd\x64\x7f\x1d\x59\xd8\x27\xd6\x8b\xf9\xd5\xfc\xf9\x8b\xf9\xd5\xff\x5b\xaf\xf3\x3c\x4a\x05\xb5\xde\x4a\x9f\x59\xb1\xd6\x85\x63\xdb\xfc\x68\xf3\xa5\x64\xb9\x8a\x46\xd6\xbb\xc4\x17\xb2\x14\x8e\xf5\xc7\xdb\xbb\xd1\x33\x7b\x84\xc3\x9d\xf4\x75\x92\x4b\xfc\x96\x86\xf4\x9a\x54\x3f\xef\x4a\x61\x95\x5a\x25\xbe\xfe\xd9\x3d\x6d\x5a\x37\x58\x53\x41\x2a\x01\xa2\xae\xab\xc6\x0d\x59\x98\xab\x5b\xee\xc7\x58\xd0\xb3\x83\x90\x6e\x49\x15\x88\x54\x68\x61\x89\xd5\x76\xd3\x10\x37\xcc\x15\xde\x73\x65\x6d\xad\x44\x5a\x9a\x8c\x35\x8b\x79\xf9\xfe\x20\x3f\xa8\xbc\x10\x4a\x3f\xe2\x2d\xa9\x6b\x34\x41\x00\xb0\x65\x7e\xcc\xd5\x52\xe3\x39\x99\x4e\x9f\x88\xae\x48\x5d\x63\xe3\x12\xf4\x6a\xbb\x21\xae\x12\x7a\xa7\xa4\x25\x1a\xe3\xfb\x11\x42\x36\x99\x64\x89\xbc\x55\x0a\xa3\x89\x12\x65\xbe\x53\xbe\x40\x84\xbe\x02\xfb\x1e\xaf\xd9\x8a\x3f\xff\xb6\x7c\xfe\xcf\x7f\x4d\x7e\xdd\xac\xe6\xcf\xff\xd6\xaf\x9e\x91\xd9\xc4\x76\x43\x96\xe5\xc1\x2e\x15\x18\xc9\xe8\xe3\xc9\x98\xae\x90\x8c\xd0\x86\xb0\x42\xe5\xfb\x24\x10\x17\x9e\xfb\x2b\x93\xca\x44\xa0\xc1\xbe\x37\xd9\x2e\x17\xce\xda\x5e\xdb\xab\xfb\xb5\xbd\x79\x66\x53\x01\x3a\x4e\x4a\xd7\xfc\x61\x81\x08\xf9\x2e\xd5\x25\x54\x26\xb5\xc5\x9d\xe2\x49\x9a\xc8\xe8\x53\xca\xcb\x58\x94\xce\x78\x4e\x79\xeb\xb1\x74\xaa\x48\x68\xa7\xca\x84\x8e\xf3\xc0\x41\xaf\x6f\xef\x50\x43\x4b\xbe\x17\xbd\xec\xc3\xfb\x4f\x46\xf8\xb0\x13\xea\xf1\x52\x93\x26\xe5\x52\x29\xfe\xe8\x8c\xe7\x0d\x55\x22\xcb\x87\x66\x37\xb7\xef\x6e\xef\x6e\x51\x43\xd1\xb1\x46\xe8\xfb\xad\xa6\x71\x47\x6d\xb8\x93\x48\x68\x58\xa1\x89\xb9\x15\xa2\x68\xf2\x30\xb8\xf3\x96\xfe\x46\xaa\x33\x30\x0e\x38\xa4\x11\xa9\x5a\x2b\x2d\xb2\x22\xe5\x5a\x40\xf8\xe4\xd2\x0a\x57\x0d\x15\xe7\x35\x8d\xc8\x51\x61\xa7\xd2\x0f\x5c\xf1\xac\x84\xaa\x69\xce\x2e\xbf\xe1\x94\x46\xb4\xa4\xf1\xe0\x18\x1f\x7b\xf4\xe1\x98\x6d\x1f\xaa\xc6\x7d\x38\xfa\x8c\xe8\x03\x71\x77\xf8\xa1\x8f\x8e\x1b\xb5\xaf\x98\x93\xe9\x14\x73\xe0\x98\x10\xd7\x18\x65\x6e\x12\x62\x3e\x9d\xf2\x0e\x52\xd3\x29\xfa\x15\x01\xf0\x1e\x74\xa4\xca\xc0\x6b\x75\x03\xe0\xac\xdc\x79\xa5\x56\xf8\x8a\x18\x3b\xb9\x4b\x53\x80\xa0\xae\x91\x41\xa5\xf9\x5e\xa2\xb8\x93\x8e\x5f\x31\x2d\x4a\x8d\x11\x43\xb3\x80\x10\x1d\xab\xfc\x60\x3d\x62\xe4\xf1\x20\x13\x99\x27\x14\xa2\x41\xdf\x12\x01\x04\xac\x2c\xd2\xa4\xd5\x27\x54\xc2\x9c\x46\x10\xb0\x54\xc8\x48\xc7\xae\xfc\x7b\x34\x9d\x86\x2c\x29\x6f\x44\x98\x48\x11\xe0\x8c\xb8\x72\x36\x3b\x66\x40\x40\xb0\x92\x1b\x37\x03\x13\xd8\x18\x20\x5b\x64\x2b\xb1\x71\xae\x9b\x46\xa4\xa5\xb0\x32\xe0\xae\xbf\x7a\xd8\x40\xd6\x9c\x5b\xc5\xef\xd3\xfb\x1a\x7b\xa4\xea\xc4\x1e\x3b\x81\xba\x19\x9d\x15\x02\xa3\x70\x83\x3d\xd3\xe9\xd4\xd4\x89\x34\x47\x94\x4b\x71\xb0\x0e\x38\xa5\x31\x71\xbf\xab\x29\xeb\xf0\x4b\x4b\xe2\x06\xa6\x6b\x74\xae\x1f\x0b\xc1\x74\xfe\xfb\xa7\xf7\xff\x80\x27\x1d\xe3\x1d\xcd\x5b\xe7\x6e\x47\x19\x1e\x9b\x14\x2a\xcf\x92\x52\x0c\x24\x26\xbc\x74\x2f\x82\xd3\x3d\xbc\xc6\xdd\xe1\xb2\x2f\xf7\x19\x15\x91\xe9\x75\xd3\x19\xf5\x87\xcf\x77\xf5\x87\xe5\xdd\xf5\x1b\x32\xb1\x93\x63\x45\x3c\x76\x44\x3a\x71\x03\x93\x97\x01\x58\x96\x34\x33\xbc\x66\x3c\x48\xa8\x1a\x1a\xd3\x94\x96\x6e\x79\x48\xb4\x1f\x63\xae\xa2\x5d\x26\xa4\x2e\xbb\xaa\x90\xca\xe7\xa5\xb0\x5e\x3a\x25\x08\x9a\x42\xe6\xb6\xcb\x5f\x9c\xf6\xf3\xc2\x49\x42\xfc\x15\x2f\x09\xa9\xda\x7f\x38\x21\x55\x0a\xdc\x2d\x61\xe9\x7a\x4a\xf0\x6d\x93\xc2\xd2\x2d\x21\x6b\x8b\x54\x49\xe0\x6e\x0c\x4b\xd7\xb8\x39\x6e\xb7\x5e\xae\x1c\x63\xb9\x48\x81\x3b\xd1\x22\x06\xee\x18\xbd\x76\xff\x78\xd8\xdc\x39\x2e\xba\xb4\x3b\x43\x90\x71\x15\x95\x88\x7e\x17\xb4\xdb\x56\xef\xd0\x92\x91\x95\xc8\x52\x73\xe9\x8b\x3c\xb4\x02\x5a\xc0\x61\x31\x8a\x1d\x8f\x75\xb4\xb1\x58\x6d\x1c\x53\xe3\x00\xc7\x84\xee\x4d\x3a\xbe\x81\xc7\x12\xa9\x85\xf2\x45\xa1\x73\x35\x9d\x5e\x2c\x0d\x78\x8a\x5c\x96\xa2\xae\x5f\xd3\x57\xff\x9b\xea\xad\x52\xb9\xaa\xeb\x6b\x77\x87\xbd\x61\x19\x39\xa9\x50\xd1\x72\x01\x1a\x03\x9f\x4e\x51\x17\xd3\x69\xd5\xbb\x3a\x4a\xf0\x7e\xc5\x37\xf0\x06\x7b\x84\x34\xc4\x8d\x8c\x80\x05\x5c\x73\x88\x89\xab\x59\x29\xf4\xe7\x13\xb7\xe0\x3d\x6d\xc1\xe6\xe3\x98\x7a\xec\x78\x86\x81\x36\xa1\x92\x50\xcf\x70\x10\x71\x25\x6c\xf1\x9e\x30\x1d\x0b\xd9\x0f\x44\x7e\xe2\x1b\xde\x7a\xa6\x19\x14\x3d\x44\x93\x10\xfb\x6d\xa5\xc3\x53\xf6\xb0\x4f\xc6\x00\xe3\xf1\x39\x9d\x17\x0c\xe0\x87\x11\xa2\x0f\xb4\xcf\x35\xe2\xed\xf5\x1c\x94\x7b\x5f\x84\xaf\x11\x1d\x3a\xfa\x7e\x77\xdf\x41\x98\xee\x8f\x11\xf7\x8e\x70\xd1\x55\x1a\xe6\x74\x87\x7d\x3a\x8c\xff\x64\x0e\x00\xa6\x1b\xf3\xd0\xe2\x8b\x82\x15\xbb\x32\xc6\xc7\x42\x73\x42\x9c\x51\x27\xe1\xa4\x21\xc4\xc1\x37\xd8\xa7\x05\xa1\xfd\x5d\x21\x23\x4d\xd1\xb7\x22\x8c\xe7\x2e\x3f\xf3\x06\x14\xa7\xd6\xe4\xcd\xc5\xd1\x4f\x2c\x70\x59\xd7\xb7\x04\xf3\x33\x23\xfd\xc6\x94\x30\xb1\xb5\xc7\xba\x12\xe4\x8f\xb3\xef\xc1\x37\x63\x84\xd3\xd6\xdc\xa3\x9c\xc5\x82\x07\x42\x95\xa4\xa7\x04\xfa\xea\xbc\x38\x2c\xa4\x83\x07\xa1\x4b\x7a\x11\xc7\x15\x2d\x48\x33\xe4\xa7\x15\x9a\xa0\xd9\x25\x25\x78\xd4\x3f\x4f\x10\x1f\x3c\xea\x01\xa7\x1c\xaa\x86\xb8\x1c\x0c\x7d\x30\x9f\xa7\x29\x36\xdd\x44\x79\xcb\x60\xad\xc5\x39\x0b\xe7\xb3\xeb\x9a\x37\x8d\x21\x43\x2f\x91\x41\x7f\x40\x4f\xbe\x66\xce\x75\x53\xcc\x23\xb4\x24\xcd\xc9\x47\xd0\x76\xec\x2d\x84\x4c\xe6\x79\x41\x77\x70\x7e\x6e\x51\x05\x21\x13\x5f\xb5\x90\x01\x7d\x03\x21\xf3\xf3\xe2\x91\x7e\x05\x03\x9d\xdf\xba\x03\xdc\x43\x7f\x3b\xa8\x86\x8d\xe0\x9c\x63\x30\xf3\x75\xd4\xd1\x5e\xdc\x12\x03\xf5\xcd\xcb\x2e\x3e\x8f\x70\xba\xa5\x01\x55\x80\x10\xf5\x20\xbe\x98\xd3\xee\x0e\xfb\xdd\xe0\xb2\xd7\x7f\xda\xa4\x2f\x7a\xd0\xf6\xc3\x8f\x66\xe3\x45\x27\x48\x9e\x09\x44\xdc\xb1\x7d\xbf\x0e\x66\x13\xfb\xc8\xd0\x01\x99\x4e\x83\xe9\xb4\x45\xe5\x47\x11\xdd\x7e\x2d\x30\xc2\xf7\xf5\xea\x7e\xbd\x5e\xaf\x37\xc4\x41\xb3\x60\x86\xf0\x7a\xfd\x67\x3d\x21\x88\x90\xa3\x91\x6f\x4a\xe4\xad\x82\x0d\x8c\xe7\x06\x44\x3e\xf8\x4c\x89\x22\xe5\xbe\xc0\xf6\x7a\xed\xd8\x11\x45\x0e\xba\x94\x6b\x7a\x51\x09\xf0\xba\xa4\x23\x64\x68\x04\xa2\xf6\x79\xbb\xc3\x83\x3b\x0f\x59\x4a\x90\x6a\x0b\xd1\xd3\x47\xac\x20\x8b\xc8\x0c\xe0\xf8\x3c\x0d\x57\x62\xe3\x0e\xa7\xf7\x96\x4c\xa7\xdd\xb0\xde\x2e\x70\x00\x42\xfa\x79\x20\x3e\x7f\x7c\x7b\x9d\x67\x45\x2e\x85\xd4\x78\x4b\xfa\xd8\x7f\x7a\x39\xb7\xa3\x84\xa2\x5f\xd1\x50\xf8\xcb\xb2\x15\x3a\x17\xc2\x17\x2f\xcd\x2d\x27\x97\xb2\xeb\x56\x91\x5e\x0a\xe7\x46\xf1\xa7\x17\xf3\x4b\xe9\x5f\x8c\xea\x08\x4d\x2f\x4f\xba\x69\x1d\xc0\xa5\xea\xab\x56\x38\x43\x84\x0e\x13\x3a\xac\x98\x83\x66\xa2\x2f\x13\x45\x11\x22\xc3\x97\x59\x0f\xfd\x60\xe6\x19\xae\xf9\x4f\x7e\xb0\xbd\x20\xff\xcd\x97\xe9\xd2\xae\x74\x36\x02\xf0\xfb\x97\xdc\xc2\x77\xbc\x99\xdf\x18\x44\xf4\x15\x61\x3f\x7a\x77\xb7\x1d\x3e\xc4\x8c\x3d\x9b\xd8\x14\x21\xf3\xa3\xc4\x46\x4f\x01\x65\xaf\x19\x5e\xc0\xfa\x30\xc3\x93\x7a\xbd\x20\xc4\xa6\xe6\xe5\xe6\xa6\x06\x2a\xa0\x66\x97\xaa\xeb\x35\xb3\x29\xb2\x8d\xc2\x0e\x47\x43\x0c\xf9\xa4\x1a\xa0\x6b\xe5\x6f\xea\x1a\xa7\xdd\x5c\x82\x74\x30\xa0\xe8\x69\xb1\xf2\x37\xe0\x91\x86\x34\x67\x86\xf8\xd6\x6c\xcc\xfd\xf0\x21\x91\x41\x7e\xa0\xc7\x0f\xeb\x7e\xea\x11\x77\x64\xdb\xff\x67\x1d\xf9\xf9\x0f\x5e\x14\x89\x8c\x3e\x7f\x7c\x07\xdd\xf6\xf3\x13\x75\xb3\x2c\x91\xec\x4b\xc9\x32\x5e\x8c\xfe\x1d\x00\x00\xff\xff\xcd\x01\x04\x97\x5e\x0e\x00\x00") +var _uiLibAngularResourceMinJs = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\x8c\x57\x6f\x73\xdb\xb8\xd1\x7f\xaf\x4f\x41\xe1\xd1\xe9\x80\x08\x01\xe5\x5c\x9e\x76\x4a\x76\x47\xa7\xd8\xbe\x24\x37\xb9\x26\x93\x38\x73\x33\x95\xe4\x0e\x48\x82\x7f\x22\x12\xa4\x41\x48\x8a\x43\xf2\xbb\x77\x40\x51\x22\xe5\xa4\xd3\xbe\x31\x8d\xc5\xee\x62\xb1\xfb\xdb\xdf\x42\xf6\xb3\x91\xb5\x94\xd1\x2e\xe5\xea\xf7\x4f\xd6\xfe\x8a\xbd\x64\x7f\x1d\x59\xd8\x27\xd6\x8b\xf9\xd5\xfc\xf9\x8b\xf9\xd5\xff\x5b\xaf\xf3\x3c\x4a\x05\xb5\xde\x4a\x9f\x59\xb1\xd6\x85\x63\xdb\xfc\x68\xf3\xa5\x64\xb9\x8a\x46\xd6\xbb\xc4\x17\xb2\x14\x8e\xf5\xc7\xdb\xbb\xd1\x33\x7b\x84\xc3\x9d\xf4\x75\x92\x4b\xfc\x96\x86\xf4\x9a\x54\x3f\xef\x4a\x61\x95\x5a\x25\xbe\xfe\xd9\x3d\x6d\x5a\x37\x58\x53\x41\x2a\x01\xa2\xae\xab\xc6\x0d\x59\x98\xab\x5b\xee\xc7\x58\xd0\xb3\x83\x90\x6e\x49\x15\x88\x54\x68\x61\x89\xd5\x76\xd3\x10\x37\xcc\x15\xde\x73\x65\x6d\xad\x44\x5a\x9a\x8c\x35\x8b\x79\xf9\xfe\x20\x3f\xa8\xbc\x10\x4a\x3f\xe2\x2d\xa9\x6b\x34\x41\x00\xb0\x65\x7e\xcc\xd5\x52\xe3\x39\x99\x4e\x9f\x88\xae\x48\x5d\x63\xe3\x12\xf4\x6a\xbb\x21\xae\x12\x7a\xa7\xa4\x25\x1a\xe3\xfb\x11\x42\x36\x99\x64\x89\xbc\x55\x0a\xa3\x89\x12\x65\xbe\x53\xbe\x40\x84\xbe\x02\xfb\x1e\xaf\xd9\x8a\x3f\xff\xb6\x7c\xfe\xcf\x7f\x4d\x7e\xdd\xac\xe6\xcf\xff\xd6\xaf\x9e\x91\xd9\xc4\x76\x43\x96\xe5\xc1\x2e\x15\x18\xc9\xe8\xe3\xc9\x98\xae\x90\x8c\xd0\x86\xb0\x42\xe5\xfb\x24\x10\x17\x9e\xfb\x2b\x93\xca\x44\xa0\xc1\xbe\x37\xd9\x2e\x17\xce\xda\x5e\xdb\xab\xfb\xb5\xbd\x79\x66\x53\x01\x3a\x4e\x4a\xd7\xfc\x61\x81\x08\xf9\x2e\xd5\x25\x54\x26\xb5\xc5\x9d\xe2\x49\x9a\xc8\xe8\x53\xca\xcb\x58\x94\xce\x78\x4e\x79\xeb\xb1\x74\xaa\x48\x68\xa7\xca\x84\x8e\xf3\xc0\x41\xaf\x6f\xef\x50\x43\x4b\xbe\x17\xbd\xec\xc3\xfb\x4f\x46\xf8\xb0\x13\xea\xf1\x52\x93\x26\xe5\x52\x29\xfe\xe8\x8c\xe7\x0d\x55\x22\xcb\x87\x66\x37\xb7\xef\x6e\xef\x6e\x51\x43\xd1\xb1\x46\xe8\xfb\xad\xa6\x71\x47\x6d\xb8\x93\x48\x68\x58\xa1\x89\xb9\x15\xa2\x68\xf2\x30\xb8\xf3\x96\xfe\x46\xaa\x33\x30\x0e\x38\xa4\x11\xa9\x5a\x2b\x2d\xb2\x22\xe5\x5a\x40\xf8\xe4\xd2\x0a\x57\x0d\x15\xe7\x35\x8d\xc8\x51\x61\xa7\xd2\x0f\x5c\xf1\xac\x84\xaa\x69\xce\x2e\xbf\xe1\x94\x46\xb4\xa4\xf1\xe0\x18\x1f\x7b\xf4\xe1\x98\x6d\x1f\xaa\xc6\x7d\x38\xfa\x8c\xe8\x03\x71\x77\xf8\xa1\x8f\x8e\x1b\xb5\xaf\x98\x93\xe9\x14\x73\xe0\x98\x10\xd7\x18\x65\x6e\x12\x62\x3e\x9d\xf2\x0e\x52\xd3\x29\xfa\x15\x01\xf0\x1e\x74\xa4\xca\xc0\x6b\x75\x03\xe0\xac\xdc\x79\xa5\x56\xf8\x8a\x18\x3b\xb9\x4b\x53\x80\xa0\xae\x91\x41\xa5\xf9\x5e\xa2\xb8\x93\x8e\x5f\x31\x2d\x4a\x8d\x11\x43\xb3\x80\x10\x1d\xab\xfc\x60\x3d\x62\xe4\xf1\x20\x13\x99\x27\x14\xa2\x41\xdf\x12\x01\x04\xac\x2c\xd2\xa4\xd5\x27\x54\xc2\x9c\x46\x10\xb0\x54\xc8\x48\xc7\xae\xfc\x7b\x34\x9d\x86\x2c\x29\x6f\x44\x98\x48\x11\xe0\x8c\xb8\x72\x36\x3b\x66\x40\x40\xb0\x92\x1b\x37\x03\x13\xd8\x18\x20\x5b\x64\x2b\xb1\x71\xae\x9b\x46\xa4\xa5\xb0\x32\xe0\xae\xbf\x7a\xd8\x40\xd6\x9c\x5b\xc5\xef\xd3\xfb\x1a\x7b\xa4\xea\xc4\x1e\x3b\x81\xba\x19\x9d\x15\x02\xa3\x70\x83\x3d\xd3\xe9\xd4\xd4\x89\x34\x47\x94\x4b\x71\xb0\x0e\x38\xa5\x31\x71\xbf\xab\x29\xeb\xf0\x4b\x4b\xe2\x06\xa6\x6b\x74\xae\x1f\x0b\xc1\x74\xfe\xfb\xa7\xf7\xff\x80\x27\x1d\xe3\x1d\xcd\x5b\xe7\x6e\x47\x19\x1e\x9b\x14\x2a\xcf\x92\x52\x0c\x24\x26\xbc\x74\x2f\x82\xd3\x3d\xbc\xc6\xdd\xe1\xb2\x2f\xf7\x19\x15\x91\xe9\x75\xd3\x19\xf5\x87\xcf\x77\xf5\x87\xe5\xdd\xf5\x1b\x32\xb1\x93\x63\x45\x3c\x76\x44\x3a\x71\x03\x93\x97\x01\x58\x96\x34\x33\xbc\x66\x3c\x48\xa8\x1a\x1a\xd3\x94\x96\x6e\x79\x48\xb4\x1f\x63\xae\xa2\x5d\x26\xa4\x2e\xbb\xaa\x90\xca\xe7\xa5\xb0\x5e\x3a\x25\x08\x9a\x42\xe6\xb6\xcb\x5f\x9c\xf6\xf3\xc2\x49\x42\xfc\x15\x2f\x09\xa9\xda\x7f\x38\x21\x55\x0a\xdc\x2d\x61\xe9\x7a\x4a\xf0\x6d\x93\xc2\xd2\x2d\x21\x6b\x8b\x54\x49\xe0\x6e\x0c\x4b\xd7\xb8\x39\x6e\xb7\x5e\xae\x1c\x63\xb9\x48\x81\x3b\xd1\x22\x06\xee\x18\xbd\x76\xff\x78\xd8\xdc\x39\x2e\xba\xb4\x3b\x43\x90\x71\x15\x95\x88\x7e\x17\xb4\xdb\x56\xef\xd0\x92\x91\x95\xc8\x52\x73\xe9\x8b\x3c\xb4\x02\x5a\xc0\x61\x31\x8a\x1d\x8f\x75\xb4\xb1\x58\x6d\x1c\x53\xe3\x00\xc7\x84\xee\x4d\x3a\xbe\x81\xc7\x12\xa9\x85\xf2\x45\xa1\x73\x35\x9d\x5e\x2c\x0d\x78\x8a\x5c\x96\xa2\xae\x5f\xd3\x57\xff\x9b\xea\xad\x52\xb9\xaa\xeb\x6b\x77\x87\xbd\x61\x19\x39\xa9\x50\xd1\x72\x01\x1a\x03\x9f\x4e\x51\x17\xd3\x69\xd5\xbb\x3a\x4a\xf0\x7e\xc5\x37\xf0\x06\x7b\x84\x34\xc4\x8d\x8c\x80\x05\x5c\x73\x88\x89\xab\x59\x29\xf4\xe7\x13\xb7\xe0\x3d\x6d\xc1\xe6\xe3\x98\x7a\xec\x78\x86\x81\x36\xa1\x92\x50\xcf\x70\x10\x71\x25\x6c\xf1\x9e\x30\x1d\x0b\xd9\x0f\x44\x7e\xe2\x1b\xde\x7a\xa6\x19\x14\x3d\x44\x93\x10\xfb\x6d\xa5\xc3\x53\xf6\xb0\x4f\xc6\x00\xe3\xf1\x39\x9d\x17\x0c\xe0\x87\x11\xa2\x0f\xb4\xcf\x35\xe2\xed\xf5\x1c\x94\x7b\x5f\x84\xaf\x11\x1d\x3a\xfa\x7e\x77\xdf\x41\x98\xee\x8f\x11\xf7\x8e\x70\xd1\x55\x1a\xe6\x74\x87\x7d\x3a\x8c\xff\x64\x0e\x00\xa6\x1b\xf3\xd0\xe2\x8b\x82\x15\xbb\x32\xc6\xc7\x42\x73\x42\x9c\x51\x27\xe1\xa4\x21\xc4\xc1\x37\xd8\xa7\x05\xa1\xfd\x5d\x21\x23\x4d\xd1\xb7\x22\x8c\xe7\x2e\x3f\xf3\x06\x14\xa7\xd6\xe4\xcd\xc5\xd1\x4f\x2c\x70\x59\xd7\xb7\x04\xf3\x33\x23\xfd\xc6\x94\x30\xb1\xb5\xc7\xba\x12\xe4\x8f\xb3\xef\xc1\x37\x63\x84\xd3\xd6\xdc\xa3\x9c\xc5\x82\x07\x42\x95\xa4\xa7\x04\xfa\xea\xbc\x38\x2c\xa4\x83\x07\xa1\x4b\x7a\x11\xc7\x15\x2d\x48\x33\xe4\xa7\x15\x9a\xa0\xd9\x25\x25\x78\xd4\x3f\x4f\x10\x1f\x3c\xea\x01\xa7\x1c\xaa\x86\xb8\x1c\x0c\x7d\x30\x9f\xa7\x29\x36\xdd\x44\x79\xcb\x60\xad\xc5\x39\x0b\xe7\xb3\xeb\x9a\x37\x8d\x21\x43\x2f\x91\x41\x7f\x40\x4f\xbe\x66\xce\x75\x53\xcc\x23\xb4\x24\xcd\xc9\x47\xd0\x76\xec\x2d\x84\x4c\xe6\x79\x41\x77\x70\x7e\x6e\x51\x05\x21\x13\x5f\xb5\x90\x01\x7d\x03\x21\xf3\xf3\xe2\x91\x7e\x05\x03\x9d\xdf\xba\x03\xdc\x43\x7f\x3b\xa8\x86\x8d\xe0\x9c\x63\x30\xf3\x75\xd4\xd1\x5e\xdc\x12\x03\xf5\xcd\xcb\x2e\x3e\x8f\x70\xba\xa5\x01\x55\x80\x10\xf5\x20\xbe\x98\xd3\xee\x0e\xfb\xdd\xe0\xb2\xd7\x7f\xda\xa4\x2f\x7a\xd0\xf6\xc3\x8f\x66\xe3\x45\x27\x48\x9e\x09\x44\xdc\xb1\x7d\xbf\x0e\x66\x13\xfb\xc8\xd0\x01\x99\x4e\x83\xe9\xb4\x45\xe5\x47\x11\xdd\x7e\x2d\x30\xc2\xf7\xf5\xea\x7e\xbd\x5e\xaf\x37\xc4\x41\xb3\x60\x86\xf0\x7a\xfd\x67\x3d\x21\x88\x90\xa3\x91\x6f\x4a\xe4\xad\x82\x0d\x8c\xe7\x06\x44\x3e\xf8\x4c\x89\x22\xe5\xbe\xc0\xf6\x7a\xed\xd8\x11\x45\x0e\xba\x94\x6b\x7a\x51\x09\xf0\xba\xa4\x23\x64\x68\x04\xa2\xf6\x79\xbb\xc3\x83\x3b\x0f\x59\x4a\x90\x6a\x0b\xd1\xd3\x47\xac\x20\x8b\xc8\x0c\xe0\xf8\x3c\x0d\x57\x62\xe3\x0e\xa7\xf7\x96\x4c\xa7\xdd\xb0\xde\x2e\x70\x00\x42\xfa\x79\x20\x3e\x7f\x7c\x7b\x9d\x67\x45\x2e\x85\xd4\x78\x4b\xfa\xd8\x7f\x7a\x39\xb7\xa3\x84\xa2\x5f\xd1\x50\xf8\xcb\xb2\x15\x3a\x17\xc2\x17\x2f\xcd\x2d\x27\x97\xb2\xeb\x56\x91\x5e\x0a\xe7\x46\xf1\xa7\x17\xf3\x4b\xe9\x5f\x8c\xea\x08\x4d\x2f\x4f\xba\x69\x1d\xc0\xa5\xea\xab\x56\x38\x43\x84\x0e\x13\x3a\xac\x98\x83\x66\xa2\x2f\x13\x45\x11\x22\xc3\x97\x59\x0f\xfd\x60\xe6\x19\xae\xf9\x4f\x7e\xb0\xbd\x20\xff\xcd\x97\xe9\xd2\xae\x74\x36\x02\xf0\xfb\x97\xdc\xc2\x77\xbc\x99\xdf\x18\x44\xf4\x15\x61\x3f\x7a\x77\xb7\x1d\x3e\xc4\x8c\x3d\x9b\xd8\x14\x21\xf3\xa3\xc4\x46\x4f\x01\x65\xaf\x19\x5e\xc0\xfa\x30\xc3\x93\x7a\xbd\x20\xc4\xa6\xe6\xe5\xe6\xa6\x06\x2a\xa0\x66\x97\xaa\xeb\x35\xb3\x29\xb2\x8d\xc2\x0e\x47\x43\x0c\xf9\xa4\x1a\xa0\x6b\xe5\x6f\xea\x1a\xa7\xdd\x5c\x82\x74\x30\xa0\xe8\x69\xb1\xf2\x37\xe0\x91\x86\x34\x67\x86\xf8\xd6\x6c\xcc\xfd\xf0\x21\x91\x41\x7e\xa0\xc7\x0f\xeb\x7e\xea\x11\x77\x64\xdb\xff\x67\x1d\xf9\xf9\x0f\x5e\x14\x89\x8c\x3e\x7f\x7c\x07\xdd\xf6\xf3\x13\x75\xb3\x2c\x91\xec\x4b\xc9\x32\x5e\x8c\xfe\x1d\x00\x00\xff\xff\xcd\x01\x04\x97\x5e\x0e\x00\x00") func uiLibAngularResourceMinJsBytes() ([]byte, error) { return bindataRead( @@ -365,12 +365,12 @@ func uiLibAngularResourceMinJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "ui/lib/angular-resource.min.js", size: 3678, mode: os.FileMode(420), modTime: time.Unix(1483467521, 0)} + info := bindataFileInfo{name: "ui/lib/angular-resource.min.js", size: 3678, mode: os.FileMode(420), modTime: time.Unix(1491905519, 0)} a := &asset{bytes: bytes, info: info} return a, nil } -var _uiLibAngularRouteMinJs = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x84\x58\xd9\x8e\xe3\x36\xd6\xbe\xf7\x53\xb8\xf8\x1b\x0a\x4f\x9b\x4d\x57\x05\xf9\x31\x80\x34\x84\x51\xe9\xf4\x0c\x32\x48\x90\xa0\x97\xb9\x71\x39\x00\x45\x1d\x2d\x6d\x89\x92\x29\xca\xae\x8a\xad\x77\x1f\x50\x8b\x2d\x77\x57\x66\x6e\x5c\x5c\x74\x16\x7e\x3c\xcb\xc7\x5a\xbd\x99\xcd\x1f\x75\xd2\xe4\xd2\xfc\xeb\xe3\xfc\xf0\xc0\x7f\xe0\x7f\x9b\xcd\xa9\x82\xf9\xf7\xf7\x0f\xf7\x6f\xbf\xbf\x7f\xf8\xff\xf9\x3f\xcb\x32\xc9\x91\xcd\x7f\xd6\x8a\xcf\x53\x6b\x2b\x7f\xb5\x92\xbd\xcc\x97\x9a\x97\x26\x99\xcd\x7f\xc9\x14\xea\x1a\xfd\xf9\xaf\x3f\x7f\x9a\xbd\x59\xcd\x68\xdc\x68\x65\xb3\x52\xd3\x8a\x29\xf6\x0e\x4e\xdf\x35\x35\xce\x6b\x6b\x32\x65\xbf\x0b\xc6\xcd\xf9\x81\x1a\x96\xb2\x04\x4e\x06\x6d\x63\xf4\xc9\x60\xff\x89\x4f\xde\xbf\x7b\x24\xcc\xa2\x29\x32\x2d\x73\xff\xee\x9e\x55\x26\x2b\x4d\x66\x5f\xfc\x1f\xee\xef\x99\x35\x52\xd7\x2a\x6f\x22\xf4\x09\xe6\x58\xa0\xb6\x84\xe5\x99\xde\xf9\x17\xbb\x92\xc5\x2c\x64\x11\x7b\x81\xd3\xc5\xdc\x9f\x14\x4e\x3b\xcf\xa3\x09\x57\x52\x2b\xcc\xe9\x0e\xd8\x4e\xe8\x26\xcf\x21\xc8\x3d\x8f\xe6\x7c\x11\x39\x0f\xca\x17\x0a\x2c\x1f\x36\x0a\xcf\xa3\x3b\x91\xf0\x1c\xe5\x01\x69\x01\x6c\xc7\x6d\x8a\xfa\x7a\x42\x38\xf5\x3a\x5a\x60\x45\x2f\xd3\x5e\x2c\x3e\x53\x38\x1d\xa4\x99\x87\xc2\x70\xd5\x18\x83\xda\x7a\xde\x65\xc8\xf3\x52\xc9\xbc\x0e\xb2\x98\x2a\x9e\xd5\x3f\x61\x9c\x69\x8c\x68\xe8\x79\x21\x5f\x58\x2c\xaa\x5c\x5a\x84\x51\x83\xe4\x0b\x8d\x47\x0a\x2c\xba\x2a\x0b\x0a\xf1\x42\x43\x76\xf1\x25\x84\x53\xc2\x51\x5b\x34\x34\x64\xce\x17\x56\x9c\xcf\x31\x7c\xe3\xf1\xdd\xd4\x9e\x85\xf3\xd9\x7a\xde\x9d\xe4\x0b\x3c\xc8\xbc\x9b\xa7\x14\x5a\x08\xfe\xec\x7e\x73\x11\xf1\x5a\x95\x15\x8a\x30\xc8\xf9\x02\x8b\xcc\x52\xb2\x38\x64\x78\x7c\x57\x6a\x8b\xda\xfe\x52\xca\x08\x23\x02\xc1\x2c\x1f\x54\x1c\xa1\xc5\xbc\x46\x87\x78\xeb\xbc\xcf\x59\xc1\x76\xcc\x8a\x90\xcb\xc6\x96\xb5\x32\x65\x9e\xb3\xa3\x08\x79\xa9\xf3\x52\x46\xe7\x33\x21\x81\xe4\x8b\x52\x53\xb2\x30\x65\x63\xf1\x5d\x2a\x75\x82\x1f\x1b\xa5\xb0\xae\x09\x7b\x86\xe0\x99\x42\xdb\x5e\x91\x7d\xa4\xea\xbf\x85\xce\x25\x5c\xde\xba\x78\xf9\x26\x34\x46\x4c\x93\x11\x48\x16\x89\x70\xbc\x8e\x98\xa7\xb6\xc8\x69\x34\xb9\x83\xc0\x7d\xfe\x22\x14\x8d\xb9\xea\xcf\x5c\x53\x80\x20\xec\x66\xee\x30\x68\x3c\xcf\x49\xf4\x38\x49\x16\x89\x94\x4e\x77\x59\x04\x6c\x3a\x7f\xac\x3d\x8f\xca\xcd\xed\xd2\x56\x44\xc0\x62\x1e\x49\x2b\x29\x59\xe8\xe4\xdd\x65\xef\x3a\x22\xac\xfb\x46\xa5\x59\x1e\x19\xd4\x14\xfe\xf7\xe7\x10\xbc\x50\xe9\xc0\xab\x84\xe2\x45\x19\x35\x39\x52\xa2\x93\x0f\x0e\x67\xc2\x36\x44\x27\x64\x0b\xbc\x32\xe5\x21\x8b\xd0\x8c\x37\x40\xd8\x24\x5e\x2e\xb0\x9b\x1e\xbd\x1e\xf4\xb9\xe2\xf8\x6c\x51\x47\xf4\xb7\xf0\x0b\x2a\xcb\x95\x41\x69\x91\x4a\x60\xb3\x78\x92\x05\x29\x95\x4c\x8d\x90\x2b\xae\x64\x8d\x3f\xeb\x1a\x75\x9d\xd9\xec\x80\xbf\x4a\xab\x52\x16\x89\x53\x69\xb2\xc4\xa5\xfb\xef\xd2\xa6\xbe\x64\x06\x13\x7c\xae\x7c\xd9\xb2\x44\x44\x7c\x87\x2f\xb5\xd8\x6c\x03\x29\x24\x37\x58\xe5\x52\x21\x5d\xd1\x0d\x05\xbe\x85\x55\xc2\xc8\xd3\xd3\xe2\x81\xc0\x64\xeb\x69\x05\x6b\x9f\x3e\x1d\x97\x40\x37\x4f\xeb\xa7\x37\x5b\x58\xaf\x12\x36\x09\x02\xe5\xea\x03\x9c\xa4\x20\x6b\x22\x84\x88\xd6\x91\xef\x32\x26\x88\x04\x79\x73\xb3\x90\xf0\xaa\xa9\x53\x7a\xd2\xb2\x40\x3f\x64\x65\xe5\x14\xb8\xaa\x74\x27\x5b\x08\x94\x50\x5d\xf8\xf6\x90\x10\xb2\xa4\x72\x4d\x88\xaf\x60\x49\xe8\xda\xef\xa6\xca\x27\x04\x96\x34\xf2\x3c\x42\xf9\x72\x0d\xe4\x7c\x26\x74\xf3\xc7\x6a\xbb\x04\xb7\x2e\x9d\x3c\x2c\x09\x90\x71\xdc\x4e\x0f\xb2\x79\x5a\x2d\x9c\xfb\xd7\x53\x06\x11\xef\xc1\x11\x1a\x8f\xf3\x0f\x98\xbc\x7f\xae\x28\xf9\x83\x2c\xe5\x92\x2c\x08\x0b\xd7\x24\x23\xce\xe4\xe0\xd3\x3c\xea\x72\x30\x11\xa7\x36\xb0\x69\x56\xf3\x63\x8a\x5a\xbc\x96\x0e\x8a\xab\xb2\x7a\xa1\x31\x04\xae\x3e\x7c\xd6\xd1\x58\x91\xb8\x41\x97\xa7\xbf\xe9\x8f\x28\x8d\x4a\xc1\xf3\xbe\x59\x13\x77\xf7\x10\xcc\xbe\x96\x7b\xed\xae\x7b\xe9\xd7\x76\x44\xe7\xde\xab\x32\x41\xb2\x91\x5b\x71\x09\xb8\x90\x49\xcf\x73\x71\x15\x02\xb8\xfa\x29\xfb\x23\x44\x82\xac\x88\x10\x72\x23\x79\x8e\x3a\xb1\xe9\xdb\x87\xed\x5a\xf2\xba\x09\x6b\x6b\xe8\x3d\xbb\x2e\x83\x2f\x97\x64\x45\x82\x64\x13\x4d\xd4\x9e\x0c\x46\x99\x41\x65\x3f\x95\x2e\xf0\x52\x1a\x39\x03\xed\x80\xa3\xf3\x6e\x80\xf0\x55\xef\xef\x1e\xfa\xcd\xd2\xa6\x68\x8e\x59\x8d\x13\x90\xe1\x44\x5c\x81\xd2\x89\x0b\x2d\xfb\x52\x61\x19\xcf\xa5\xab\x01\xe2\xd6\x26\x5c\xaf\x88\x76\x05\x5c\x5e\xae\x71\x62\x7e\x91\xa0\x15\x1b\x97\xa9\xa5\xfd\xe8\x4a\x0e\x61\x64\xe1\xca\x97\x33\xe6\xc6\x5d\x0a\xff\x2e\x8d\x2c\x6a\x37\xdd\xbb\x9f\x4c\xbb\x24\x2d\x8d\x1b\x8f\x95\xed\x03\xee\x1b\xac\xad\x5b\xaa\xd5\x34\xe7\xc7\xfe\x99\xb2\x8a\x3d\x4f\x0a\x40\xee\x7a\x8c\x83\x1a\x45\x7d\xe9\x42\x33\x7a\x10\x54\x8b\x1d\x05\xf0\x3c\xf4\x3c\xcd\x17\xbd\x07\x42\x08\x1c\xc7\x9e\xa7\x38\xee\x1b\x99\xd7\x54\xf3\x4a\xda\xb4\x77\x8f\xe1\x64\x02\x9e\x77\xa7\xbf\x0a\x2c\xcf\xbb\x3b\xc2\xf9\x7c\x87\x6e\xef\x7c\x96\x7c\x11\x9a\x52\x46\x4a\xd6\xf6\xab\x6e\x61\xa5\xb1\x84\x69\x86\xc0\x23\x8c\x65\x93\xdb\xdf\x0d\x1e\x5c\x3b\x8c\x3c\xaf\xeb\xaa\x55\x3f\xff\xa9\xdf\xa5\x93\x1a\x55\x0c\x9d\xba\xb9\x1e\x8b\xa1\xd0\x2e\xb6\x0e\xd0\xf0\xaa\x73\x4f\xe0\x30\x60\x43\xa6\x8c\x1b\x2c\x04\xf6\x9a\x63\x9f\xab\x48\xba\x52\xda\x40\xd0\xf5\xc3\x2c\xa6\x78\x3e\x37\x70\x14\x77\x0f\x8c\x5e\x2c\x09\x74\xb8\xf1\x6b\x20\x78\x5e\xc7\x08\x3e\x76\x11\x43\xa7\x3b\xb0\x8e\x3b\xbc\xa8\xbd\x59\x66\xa3\x67\x00\xbc\xee\x60\xa3\x97\x95\x4b\x2d\x01\x3f\xe6\x8d\xc9\x6f\x04\xe9\x14\x7e\x36\xe8\x76\x1d\x66\xd0\x02\x30\x91\x07\x16\xf5\x91\x89\xdf\x52\x0a\x77\xb4\x1e\x42\x29\x66\xd7\x84\x6a\x99\xb3\x56\x97\xf9\x01\x81\x85\x2c\x0e\x14\x8f\x4b\xf3\x5e\x2a\x97\xbc\x57\xde\xc2\x10\x4e\x72\x83\x2e\x15\x2f\xc7\x0e\x61\x9d\xf2\x04\x2d\x0d\xc1\x4f\x79\xa6\x0f\xe5\x0e\x47\x5a\xd3\xfd\xa0\x63\x27\x37\xcc\x49\x20\xbf\xf4\xec\xb5\xdb\xf9\xc7\x95\x19\xb9\xaa\x23\xc2\x2b\x2c\xe0\x4f\x45\xe3\x89\xe8\x67\x93\xc3\x70\x03\x17\xf9\xd8\xad\xc4\x22\x9e\xc8\xb3\x1b\x79\xb7\x8f\x3c\xef\xa8\xd0\xa7\xab\x22\xf1\xcc\x0f\x32\x6f\xf0\xb7\x98\xc6\xc0\x42\x51\xd1\x18\xe0\x2b\xaf\x9d\xa8\xbc\xb2\x0d\x11\x5e\x2b\x37\x97\x79\xde\x35\xef\xaf\x01\x8f\xe1\x84\xe2\x1a\xab\xce\xf8\xe0\x80\xe3\x30\x22\x1e\x23\x14\xaf\x11\xfa\x7a\x88\x7e\xc5\xb4\x90\x35\x00\xed\x0d\xa3\xbc\xb5\xf3\xd7\x3a\xde\x1b\xe3\x8a\xcb\x0c\x59\xc3\x42\x68\x27\xc9\xb5\x1b\x92\x4b\xb2\x70\x72\xff\x93\x6e\x1c\x39\x26\xe7\xbe\xd8\xbb\x84\xdb\x8b\xbb\xa1\xc8\xa4\x62\x8c\xc8\x60\x3f\x90\x80\x8e\x8a\xe5\xae\x97\x65\x31\x1d\x1b\x21\x64\x31\x4d\xc5\x38\xe3\xf8\x8c\x8a\xa6\x00\xa7\xb8\x34\xd4\x7d\xbf\x13\x0f\xac\x10\xe9\x50\xfd\x83\xdd\xdf\x8b\x60\xb9\xdc\xf5\x36\xb4\xd8\x6f\x76\x6f\x1f\xb6\xac\x12\xe9\x66\xb7\x0d\xb4\xe7\x55\xee\x31\xb0\xd1\xdc\x75\xfc\xad\xa8\xa0\xdd\x8b\xbc\x27\xb4\xfb\x8e\xe1\x07\xd3\xf1\x5e\x48\xb1\x6f\xf7\x5d\x78\x19\x1a\xb1\x53\x0f\xb8\x3f\xcd\x81\x6b\x3a\x31\x09\xec\x9a\x70\xae\xe0\xb3\xf0\x52\x2d\x23\x17\xd0\xc3\xd5\x87\xe7\x73\xb2\x71\x06\xb6\x9e\x67\xe8\x30\xbc\x28\x3f\xb5\x53\x2d\xa7\x76\x8a\xb6\xed\xda\xe2\xd0\x0f\x37\xdb\x09\xe2\x03\xbd\xe0\x75\x95\x3b\x0e\xef\x13\xb8\x21\x44\x5d\x12\xdf\x0b\x21\x14\x44\x3d\xe7\x91\x7d\xdd\xea\x74\xc5\x42\xf2\xc2\xf5\x39\x47\xae\x1c\xad\x5a\xfb\x9b\xb5\xa3\x55\x94\xbf\x81\x15\xb0\x59\x22\xe2\xcd\xc3\x36\x18\x44\xc3\x4d\xb2\x85\x71\x12\x6f\xbe\xdf\x76\xa6\x83\x08\x73\xb4\x38\x77\xbb\x6d\x3b\x89\xf3\x2f\x65\xa6\xa9\xa3\x3e\xce\x54\x57\x1e\x35\x3b\xb0\x5a\x9c\x3a\x64\x6a\x3f\x61\x7d\x57\xf0\x27\x25\xe7\x28\xee\xee\x83\xe1\xd5\xf2\x58\xbf\x68\x35\xad\x47\x39\x85\xa0\x70\xef\x97\x96\x35\x5d\x15\x1e\xb0\x9a\xb6\xe4\x2c\xa6\x7d\x37\x1f\x83\x7b\x3a\x1b\x6f\x05\xa4\x98\x5e\xe5\xcd\x27\x43\x6e\x49\x60\x97\xaa\xfc\x9a\x0a\x3e\xa5\xb6\x4c\xc2\xa4\xbe\x0e\x08\xcf\x6d\x6a\xca\xe3\xfc\x47\x4a\x74\xe9\x44\x08\x04\x6d\x7b\x79\x12\x8d\x9d\xfd\xa6\xcf\xe5\xf0\x57\xfb\x63\x2e\x17\x17\x7c\xeb\x76\xdb\xf6\x8f\x98\x1f\x85\xe2\x8b\x45\x91\xe9\xf7\xc6\x5c\x5f\x01\x10\x54\xdf\x3c\x00\x46\xf6\x30\xc1\xf4\xca\x3d\x26\x8b\xc3\x03\xac\x75\xd7\x39\xab\x78\xdf\x58\xb2\x43\xf7\xc6\xf8\x77\x86\x47\xc2\x0e\x4e\xfd\x2b\xeb\x8f\x10\x1c\xf8\x40\x4b\x7a\x36\xd3\xbd\x3b\xc8\x42\x6a\x95\x96\xe6\x63\xf7\x4c\xec\xe7\x59\xe1\xfa\xe8\x36\x78\x9c\x7e\xaf\xca\xa2\xca\xf2\x4e\x42\x4d\x5e\x3c\xa3\xa2\x6d\x0b\xf4\x98\xe9\xa8\x3c\xb2\xfe\x0f\x1f\xfe\x6b\x01\xc1\x6c\xb5\xfa\xbf\x79\x5d\x36\x46\xe1\xaf\xb2\xaa\x32\x9d\x7c\xfe\xf0\x8b\x18\xb6\xdf\xf6\x77\x56\x64\x9a\x7f\xa9\x79\x21\xab\xd9\x7f\x02\x00\x00\xff\xff\x0f\x6e\x6b\xeb\x26\x11\x00\x00") +var _uiLibAngularRouteMinJs = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\x84\x58\xd9\x8e\xe3\x36\xd6\xbe\xf7\x53\xb8\xf8\x1b\x0a\x4f\x9b\x4d\x57\x05\xf9\x31\x80\x34\x84\x51\xe9\xf4\x0c\x32\x48\x90\xa0\x97\xb9\x71\x39\x00\x45\x1d\x2d\x6d\x89\x92\x29\xca\xae\x8a\xad\x77\x1f\x50\x8b\x2d\x77\x57\x66\x6e\x5c\x5c\x74\x16\x7e\x3c\xcb\xc7\x5a\xbd\x99\xcd\x1f\x75\xd2\xe4\xd2\xfc\xeb\xe3\xfc\xf0\xc0\x7f\xe0\x7f\x9b\xcd\xa9\x82\xf9\xf7\xf7\x0f\xf7\x6f\xbf\xbf\x7f\xf8\xff\xf9\x3f\xcb\x32\xc9\x91\xcd\x7f\xd6\x8a\xcf\x53\x6b\x2b\x7f\xb5\x92\xbd\xcc\x97\x9a\x97\x26\x99\xcd\x7f\xc9\x14\xea\x1a\xfd\xf9\xaf\x3f\x7f\x9a\xbd\x59\xcd\x68\xdc\x68\x65\xb3\x52\xd3\x8a\x29\xf6\x0e\x4e\xdf\x35\x35\xce\x6b\x6b\x32\x65\xbf\x0b\xc6\xcd\xf9\x81\x1a\x96\xb2\x04\x4e\x06\x6d\x63\xf4\xc9\x60\xff\x89\x4f\xde\xbf\x7b\x24\xcc\xa2\x29\x32\x2d\x73\xff\xee\x9e\x55\x26\x2b\x4d\x66\x5f\xfc\x1f\xee\xef\x99\x35\x52\xd7\x2a\x6f\x22\xf4\x09\xe6\x58\xa0\xb6\x84\xe5\x99\xde\xf9\x17\xbb\x92\xc5\x2c\x64\x11\x7b\x81\xd3\xc5\xdc\x9f\x14\x4e\x3b\xcf\xa3\x09\x57\x52\x2b\xcc\xe9\x0e\xd8\x4e\xe8\x26\xcf\x21\xc8\x3d\x8f\xe6\x7c\x11\x39\x0f\xca\x17\x0a\x2c\x1f\x36\x0a\xcf\xa3\x3b\x91\xf0\x1c\xe5\x01\x69\x01\x6c\xc7\x6d\x8a\xfa\x7a\x42\x38\xf5\x3a\x5a\x60\x45\x2f\xd3\x5e\x2c\x3e\x53\x38\x1d\xa4\x99\x87\xc2\x70\xd5\x18\x83\xda\x7a\xde\x65\xc8\xf3\x52\xc9\xbc\x0e\xb2\x98\x2a\x9e\xd5\x3f\x61\x9c\x69\x8c\x68\xe8\x79\x21\x5f\x58\x2c\xaa\x5c\x5a\x84\x51\x83\xe4\x0b\x8d\x47\x0a\x2c\xba\x2a\x0b\x0a\xf1\x42\x43\x76\xf1\x25\x84\x53\xc2\x51\x5b\x34\x34\x64\xce\x17\x56\x9c\xcf\x31\x7c\xe3\xf1\xdd\xd4\x9e\x85\xf3\xd9\x7a\xde\x9d\xe4\x0b\x3c\xc8\xbc\x9b\xa7\x14\x5a\x08\xfe\xec\x7e\x73\x11\xf1\x5a\x95\x15\x8a\x30\xc8\xf9\x02\x8b\xcc\x52\xb2\x38\x64\x78\x7c\x57\x6a\x8b\xda\xfe\x52\xca\x08\x23\x02\xc1\x2c\x1f\x54\x1c\xa1\xc5\xbc\x46\x87\x78\xeb\xbc\xcf\x59\xc1\x76\xcc\x8a\x90\xcb\xc6\x96\xb5\x32\x65\x9e\xb3\xa3\x08\x79\xa9\xf3\x52\x46\xe7\x33\x21\x81\xe4\x8b\x52\x53\xb2\x30\x65\x63\xf1\x5d\x2a\x75\x82\x1f\x1b\xa5\xb0\xae\x09\x7b\x86\xe0\x99\x42\xdb\x5e\x91\x7d\xa4\xea\xbf\x85\xce\x25\x5c\xde\xba\x78\xf9\x26\x34\x46\x4c\x93\x11\x48\x16\x89\x70\xbc\x8e\x98\xa7\xb6\xc8\x69\x34\xb9\x83\xc0\x7d\xfe\x22\x14\x8d\xb9\xea\xcf\x5c\x53\x80\x20\xec\x66\xee\x30\x68\x3c\xcf\x49\xf4\x38\x49\x16\x89\x94\x4e\x77\x59\x04\x6c\x3a\x7f\xac\x3d\x8f\xca\xcd\xed\xd2\x56\x44\xc0\x62\x1e\x49\x2b\x29\x59\xe8\xe4\xdd\x65\xef\x3a\x22\xac\xfb\x46\xa5\x59\x1e\x19\xd4\x14\xfe\xf7\xe7\x10\xbc\x50\xe9\xc0\xab\x84\xe2\x45\x19\x35\x39\x52\xa2\x93\x0f\x0e\x67\xc2\x36\x44\x27\x64\x0b\xbc\x32\xe5\x21\x8b\xd0\x8c\x37\x40\xd8\x24\x5e\x2e\xb0\x9b\x1e\xbd\x1e\xf4\xb9\xe2\xf8\x6c\x51\x47\xf4\xb7\xf0\x0b\x2a\xcb\x95\x41\x69\x91\x4a\x60\xb3\x78\x92\x05\x29\x95\x4c\x8d\x90\x2b\xae\x64\x8d\x3f\xeb\x1a\x75\x9d\xd9\xec\x80\xbf\x4a\xab\x52\x16\x89\x53\x69\xb2\xc4\xa5\xfb\xef\xd2\xa6\xbe\x64\x06\x13\x7c\xae\x7c\xd9\xb2\x44\x44\x7c\x87\x2f\xb5\xd8\x6c\x03\x29\x24\x37\x58\xe5\x52\x21\x5d\xd1\x0d\x05\xbe\x85\x55\xc2\xc8\xd3\xd3\xe2\x81\xc0\x64\xeb\x69\x05\x6b\x9f\x3e\x1d\x97\x40\x37\x4f\xeb\xa7\x37\x5b\x58\xaf\x12\x36\x09\x02\xe5\xea\x03\x9c\xa4\x20\x6b\x22\x84\x88\xd6\x91\xef\x32\x26\x88\x04\x79\x73\xb3\x90\xf0\xaa\xa9\x53\x7a\xd2\xb2\x40\x3f\x64\x65\xe5\x14\xb8\xaa\x74\x27\x5b\x08\x94\x50\x5d\xf8\xf6\x90\x10\xb2\xa4\x72\x4d\x88\xaf\x60\x49\xe8\xda\xef\xa6\xca\x27\x04\x96\x34\xf2\x3c\x42\xf9\x72\x0d\xe4\x7c\x26\x74\xf3\xc7\x6a\xbb\x04\xb7\x2e\x9d\x3c\x2c\x09\x90\x71\xdc\x4e\x0f\xb2\x79\x5a\x2d\x9c\xfb\xd7\x53\x06\x11\xef\xc1\x11\x1a\x8f\xf3\x0f\x98\xbc\x7f\xae\x28\xf9\x83\x2c\xe5\x92\x2c\x08\x0b\xd7\x24\x23\xce\xe4\xe0\xd3\x3c\xea\x72\x30\x11\xa7\x36\xb0\x69\x56\xf3\x63\x8a\x5a\xbc\x96\x0e\x8a\xab\xb2\x7a\xa1\x31\x04\xae\x3e\x7c\xd6\xd1\x58\x91\xb8\x41\x97\xa7\xbf\xe9\x8f\x28\x8d\x4a\xc1\xf3\xbe\x59\x13\x77\xf7\x10\xcc\xbe\x96\x7b\xed\xae\x7b\xe9\xd7\x76\x44\xe7\xde\xab\x32\x41\xb2\x91\x5b\x71\x09\xb8\x90\x49\xcf\x73\x71\x15\x02\xb8\xfa\x29\xfb\x23\x44\x82\xac\x88\x10\x72\x23\x79\x8e\x3a\xb1\xe9\xdb\x87\xed\x5a\xf2\xba\x09\x6b\x6b\xe8\x3d\xbb\x2e\x83\x2f\x97\x64\x45\x82\x64\x13\x4d\xd4\x9e\x0c\x46\x99\x41\x65\x3f\x95\x2e\xf0\x52\x1a\x39\x03\xed\x80\xa3\xf3\x6e\x80\xf0\x55\xef\xef\x1e\xfa\xcd\xd2\xa6\x68\x8e\x59\x8d\x13\x90\xe1\x44\x5c\x81\xd2\x89\x0b\x2d\xfb\x52\x61\x19\xcf\xa5\xab\x01\xe2\xd6\x26\x5c\xaf\x88\x76\x05\x5c\x5e\xae\x71\x62\x7e\x91\xa0\x15\x1b\x97\xa9\xa5\xfd\xe8\x4a\x0e\x61\x64\xe1\xca\x97\x33\xe6\xc6\x5d\x0a\xff\x2e\x8d\x2c\x6a\x37\xdd\xbb\x9f\x4c\xbb\x24\x2d\x8d\x1b\x8f\x95\xed\x03\xee\x1b\xac\xad\x5b\xaa\xd5\x34\xe7\xc7\xfe\x99\xb2\x8a\x3d\x4f\x0a\x40\xee\x7a\x8c\x83\x1a\x45\x7d\xe9\x42\x33\x7a\x10\x54\x8b\x1d\x05\xf0\x3c\xf4\x3c\xcd\x17\xbd\x07\x42\x08\x1c\xc7\x9e\xa7\x38\xee\x1b\x99\xd7\x54\xf3\x4a\xda\xb4\x77\x8f\xe1\x64\x02\x9e\x77\xa7\xbf\x0a\x2c\xcf\xbb\x3b\xc2\xf9\x7c\x87\x6e\xef\x7c\x96\x7c\x11\x9a\x52\x46\x4a\xd6\xf6\xab\x6e\x61\xa5\xb1\x84\x69\x86\xc0\x23\x8c\x65\x93\xdb\xdf\x0d\x1e\x5c\x3b\x8c\x3c\xaf\xeb\xaa\x55\x3f\xff\xa9\xdf\xa5\x93\x1a\x55\x0c\x9d\xba\xb9\x1e\x8b\xa1\xd0\x2e\xb6\x0e\xd0\xf0\xaa\x73\x4f\xe0\x30\x60\x43\xa6\x8c\x1b\x2c\x04\xf6\x9a\x63\x9f\xab\x48\xba\x52\xda\x40\xd0\xf5\xc3\x2c\xa6\x78\x3e\x37\x70\x14\x77\x0f\x8c\x5e\x2c\x09\x74\xb8\xf1\x6b\x20\x78\x5e\xc7\x08\x3e\x76\x11\x43\xa7\x3b\xb0\x8e\x3b\xbc\xa8\xbd\x59\x66\xa3\x67\x00\xbc\xee\x60\xa3\x97\x95\x4b\x2d\x01\x3f\xe6\x8d\xc9\x6f\x04\xe9\x14\x7e\x36\xe8\x76\x1d\x66\xd0\x02\x30\x91\x07\x16\xf5\x91\x89\xdf\x52\x0a\x77\xb4\x1e\x42\x29\x66\xd7\x84\x6a\x99\xb3\x56\x97\xf9\x01\x81\x85\x2c\x0e\x14\x8f\x4b\xf3\x5e\x2a\x97\xbc\x57\xde\xc2\x10\x4e\x72\x83\x2e\x15\x2f\xc7\x0e\x61\x9d\xf2\x04\x2d\x0d\xc1\x4f\x79\xa6\x0f\xe5\x0e\x47\x5a\xd3\xfd\xa0\x63\x27\x37\xcc\x49\x20\xbf\xf4\xec\xb5\xdb\xf9\xc7\x95\x19\xb9\xaa\x23\xc2\x2b\x2c\xe0\x4f\x45\xe3\x89\xe8\x67\x93\xc3\x70\x03\x17\xf9\xd8\xad\xc4\x22\x9e\xc8\xb3\x1b\x79\xb7\x8f\x3c\xef\xa8\xd0\xa7\xab\x22\xf1\xcc\x0f\x32\x6f\xf0\xb7\x98\xc6\xc0\x42\x51\xd1\x18\xe0\x2b\xaf\x9d\xa8\xbc\xb2\x0d\x11\x5e\x2b\x37\x97\x79\xde\x35\xef\xaf\x01\x8f\xe1\x84\xe2\x1a\xab\xce\xf8\xe0\x80\xe3\x30\x22\x1e\x23\x14\xaf\x11\xfa\x7a\x88\x7e\xc5\xb4\x90\x35\x00\xed\x0d\xa3\xbc\xb5\xf3\xd7\x3a\xde\x1b\xe3\x8a\xcb\x0c\x59\xc3\x42\x68\x27\xc9\xb5\x1b\x92\x4b\xb2\x70\x72\xff\x93\x6e\x1c\x39\x26\xe7\xbe\xd8\xbb\x84\xdb\x8b\xbb\xa1\xc8\xa4\x62\x8c\xc8\x60\x3f\x90\x80\x8e\x8a\xe5\xae\x97\x65\x31\x1d\x1b\x21\x64\x31\x4d\xc5\x38\xe3\xf8\x8c\x8a\xa6\x00\xa7\xb8\x34\xd4\x7d\xbf\x13\x0f\xac\x10\xe9\x50\xfd\x83\xdd\xdf\x8b\x60\xb9\xdc\xf5\x36\xb4\xd8\x6f\x76\x6f\x1f\xb6\xac\x12\xe9\x66\xb7\x0d\xb4\xe7\x55\xee\x31\xb0\xd1\xdc\x75\xfc\xad\xa8\xa0\xdd\x8b\xbc\x27\xb4\xfb\x8e\xe1\x07\xd3\xf1\x5e\x48\xb1\x6f\xf7\x5d\x78\x19\x1a\xb1\x53\x0f\xb8\x3f\xcd\x81\x6b\x3a\x31\x09\xec\x9a\x70\xae\xe0\xb3\xf0\x52\x2d\x23\x17\xd0\xc3\xd5\x87\xe7\x73\xb2\x71\x06\xb6\x9e\x67\xe8\x30\xbc\x28\x3f\xb5\x53\x2d\xa7\x76\x8a\xb6\xed\xda\xe2\xd0\x0f\x37\xdb\x09\xe2\x03\xbd\xe0\x75\x95\x3b\x0e\xef\x13\xb8\x21\x44\x5d\x12\xdf\x0b\x21\x14\x44\x3d\xe7\x91\x7d\xdd\xea\x74\xc5\x42\xf2\xc2\xf5\x39\x47\xae\x1c\xad\x5a\xfb\x9b\xb5\xa3\x55\x94\xbf\x81\x15\xb0\x59\x22\xe2\xcd\xc3\x36\x18\x44\xc3\x4d\xb2\x85\x71\x12\x6f\xbe\xdf\x76\xa6\x83\x08\x73\xb4\x38\x77\xbb\x6d\x3b\x89\xf3\x2f\x65\xa6\xa9\xa3\x3e\xce\x54\x57\x1e\x35\x3b\xb0\x5a\x9c\x3a\x64\x6a\x3f\x61\x7d\x57\xf0\x27\x25\xe7\x28\xee\xee\x83\xe1\xd5\xf2\x58\xbf\x68\x35\xad\x47\x39\x85\xa0\x70\xef\x97\x96\x35\x5d\x15\x1e\xb0\x9a\xb6\xe4\x2c\xa6\x7d\x37\x1f\x83\x7b\x3a\x1b\x6f\x05\xa4\x98\x5e\xe5\xcd\x27\x43\x6e\x49\x60\x97\xaa\xfc\x9a\x0a\x3e\xa5\xb6\x4c\xc2\xa4\xbe\x0e\x08\xcf\x6d\x6a\xca\xe3\xfc\x47\x4a\x74\xe9\x44\x08\x04\x6d\x7b\x79\x12\x8d\x9d\xfd\xa6\xcf\xe5\xf0\x57\xfb\x63\x2e\x17\x17\x7c\xeb\x76\xdb\xf6\x8f\x98\x1f\x85\xe2\x8b\x45\x91\xe9\xf7\xc6\x5c\x5f\x01\x10\x54\xdf\x3c\x00\x46\xf6\x30\xc1\xf4\xca\x3d\x26\x8b\xc3\x03\xac\x75\xd7\x39\xab\x78\xdf\x58\xb2\x43\xf7\xc6\xf8\x77\x86\x47\xc2\x0e\x4e\xfd\x2b\xeb\x8f\x10\x1c\xf8\x40\x4b\x7a\x36\xd3\xbd\x3b\xc8\x42\x6a\x95\x96\xe6\x63\xf7\x4c\xec\xe7\x59\xe1\xfa\xe8\x36\x78\x9c\x7e\xaf\xca\xa2\xca\xf2\x4e\x42\x4d\x5e\x3c\xa3\xa2\x6d\x0b\xf4\x98\xe9\xa8\x3c\xb2\xfe\x0f\x1f\xfe\x6b\x01\xc1\x6c\xb5\xfa\xbf\x79\x5d\x36\x46\xe1\xaf\xb2\xaa\x32\x9d\x7c\xfe\xf0\x8b\x18\xb6\xdf\xf6\x77\x56\x64\x9a\x7f\xa9\x79\x21\xab\xd9\x7f\x02\x00\x00\xff\xff\x0f\x6e\x6b\xeb\x26\x11\x00\x00") func uiLibAngularRouteMinJsBytes() ([]byte, error) { return bindataRead( @@ -385,12 +385,12 @@ func uiLibAngularRouteMinJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "ui/lib/angular-route.min.js", size: 4390, mode: os.FileMode(420), modTime: time.Unix(1483467521, 0)} + info := bindataFileInfo{name: "ui/lib/angular-route.min.js", size: 4390, mode: os.FileMode(420), modTime: time.Unix(1491905519, 0)} a := &asset{bytes: bytes, info: info} return a, nil } -var _uiLibAngularSanitizeMinJs = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x38\x69\x77\xe4\x28\x92\xdf\xfd\x2b\xd2\x74\x6d\x1a\xec\x50\x66\xda\x55\xd5\xbb\x9d\xb2\xec\x75\xd7\xd1\xc7\x54\x4d\xf7\xeb\xe3\xcd\xce\x28\xe5\x7d\x08\x21\x89\x4e\x04\x2a\x40\x79\x94\x33\xf7\xb7\xef\x03\xe5\xe5\x9a\x9e\xf7\xe6\x0b\x8a\x08\x88\x20\x6e\x04\xe3\xcb\xb3\xc1\x83\xaa\x3a\x49\xcd\x8f\xbf\x0e\x16\xd7\xa3\x57\xa3\xff\x3c\x1b\x60\x46\x06\x37\x93\xeb\x49\x74\x33\xb9\x7e\x3d\xf8\x4e\xeb\x4a\x72\x18\xfc\xa0\xd8\x68\x50\x3b\xd7\x4e\xc7\x63\xda\xf3\xfc\x61\x47\xda\x54\x67\x83\x0f\x82\x71\x65\xf9\x74\xf0\xf1\x87\xdf\xce\x2e\xc7\x67\xb8\xec\x14\x73\x42\x2b\xac\xa0\x86\x96\x3c\x5d\x74\x96\x0f\xac\x33\x82\xb9\x8b\x78\x3f\x39\x78\x87\x29\x79\x5a\x50\x33\x28\x93\x34\x8b\x0d\x2e\xa1\x1e\x29\xad\x5b\x32\x62\x35\x35\x16\x53\x12\x1b\xee\x3a\xa3\x06\xe5\xe8\x0f\x2d\x14\x46\x88\x6c\x0f\xdc\x15\xa6\x50\xf6\xfc\x45\xf2\xb4\x05\x96\xd0\x91\x6d\xa5\x70\x18\x01\x22\x90\xc7\xa5\x36\x38\x4f\x26\x71\x7e\xcb\x46\x92\xab\xca\xd5\x71\x7e\x75\x45\x8a\xb4\xbc\xaf\x47\x52\x2f\xb9\x61\xd4\x72\xcc\xd2\x3c\x23\x53\x3f\x66\xc9\xf9\x64\xbf\x63\x71\xdc\xe8\x7d\xbf\xd1\x01\x2f\x30\x85\x1c\x0a\x90\xe4\x29\x4f\x4e\x25\xe5\x24\x16\x25\xb6\x5e\x9e\xdf\x3b\xe6\x23\x49\xad\xc3\x64\x38\x74\xe9\x1e\xce\x62\xc2\x30\x42\xb0\xc7\x49\xdc\xa5\x79\x36\x1c\xee\xf1\x24\xc9\x87\xc3\xb0\x22\x27\x31\x96\xc9\x22\xcd\xb3\xcd\xe6\xfc\x5c\x92\xcd\x86\x8f\xda\xce\xd6\x7e\x1b\x6f\x74\x93\x3c\x6d\xe3\x62\x64\x78\x2b\x29\xe3\xf8\x3b\x38\x38\x3d\x07\x0a\x25\x30\x28\xc8\x53\x93\xd2\x2c\xf9\x84\xcb\xcd\x86\x6d\x36\xc5\x66\xe3\x3d\x48\xe2\x72\x64\x1d\x35\x6e\x38\xdc\x01\x38\x87\x06\xe4\x89\x6f\x99\x97\xd1\xfb\x96\x25\x13\x28\xbc\x5d\xf4\x99\xad\x94\x04\x1b\x59\xc2\x77\xbe\x8d\xce\xae\xe3\xc9\x6d\xc2\x86\x43\x9e\xb2\xec\x3c\xa1\x31\x8b\xa2\xe0\x10\x4f\x25\x4f\x7e\x75\x71\x5c\x7d\x1d\x17\x77\x09\x8b\x8b\x28\x22\xe5\x88\xab\xc2\xeb\xc2\x55\x81\x79\x5a\x64\x24\xde\x2f\x4b\xd8\x76\x8b\x7c\xde\xa8\x0a\x9d\x27\x89\x5b\xb7\x5c\x97\x03\x3a\x1c\x62\x9a\xa8\x4e\xca\x24\x49\xe8\x66\x83\x3a\x55\xf0\x52\x28\x5e\xa0\xe4\xb8\xe8\x1e\xa1\x29\x42\x57\xb4\xf7\x56\x0e\x73\xe0\x49\x9a\x41\x93\x50\x90\x21\x37\x7a\x97\x27\x07\xb7\x91\xa7\x5d\xec\x79\x7a\x54\x33\xdb\xc6\x34\x26\x4f\x32\x41\x28\x9e\xfb\xfc\x10\x25\x3e\xc6\x75\x79\x8c\x2b\xa1\x09\x3d\x04\x43\xf1\xe5\xe0\x17\x5e\xbd\x5b\xb5\x18\xe1\x74\x36\xfb\xdb\x6c\xb6\xcc\x2e\xc9\xed\x6c\x66\x2f\x67\xb3\xb1\xff\xa0\xab\x3d\xeb\x15\x4a\x1f\xef\xb2\xcb\x3b\x04\x48\x20\x72\x0c\x23\x85\xdc\x67\x58\x7e\x90\xfa\x3d\xa0\x17\xd7\x88\x1c\xf0\x1f\x7a\x3c\x2e\xfb\x7a\xf1\x2e\xec\x0b\xe7\x13\xce\xc9\xbe\x76\x10\xda\x12\xf8\x22\xe5\xb8\xb4\xfc\xc9\x47\xc6\xfb\x6f\x24\x54\xc1\x57\x3f\x95\x18\xcd\x56\x2f\xd9\x79\x14\x21\x42\xf2\x53\x72\x14\x21\x78\x45\x60\x72\xeb\x53\x93\x06\x21\x3f\x1c\xe7\x66\xab\x97\x1c\xc1\x59\x4e\x92\x90\xba\xb8\x1c\x31\xdd\x34\x5c\x85\xec\xda\x81\x98\x8e\x6c\x97\xf7\x71\xc4\xaf\x20\x27\x04\xbc\xb7\x8e\xb4\xfc\xea\x25\x81\x79\x72\x7e\xdd\xeb\x36\x10\x25\x5e\x8d\x1c\xb7\xce\xe7\x99\xd7\xd4\x2b\xd4\x50\xc7\x6a\xbc\x22\xcf\x3c\x9d\xa7\x93\x0c\x10\xea\xb9\xb7\x7b\xe6\x1f\xff\x05\xf3\xba\x67\x3e\xd9\x38\x9d\x64\xbb\x58\x13\x08\xc8\x5e\xf0\x1a\xd8\xa9\xd0\xbf\xec\x25\x0e\x87\xf8\x44\xe0\x67\x42\xee\x71\x9e\xbe\xca\x42\x4a\xfe\x7b\x92\x3f\x43\x41\x76\xd6\x4e\xb1\xbc\x4a\xd0\x2d\xfa\xc2\x1d\xd7\x84\x90\x78\x3e\x1c\xe2\x67\x71\xb8\x45\x04\xe4\x55\x32\xb9\xcb\xef\xe9\xf4\x74\xf9\x04\x72\xef\x50\x3f\x81\xd0\xb3\x99\x9c\xc0\x9f\x24\x87\x24\x84\x6c\x43\x45\x27\x0d\x71\xb5\xd1\xcb\xc1\x07\x8c\x72\x5a\xb4\xd4\x58\x8e\x80\x92\xb8\x49\xe8\x96\xe1\x93\x8e\xf0\xc9\xf7\x6a\x51\xe2\x73\x4a\xf6\x79\x15\x3f\x8c\x84\x52\xdc\x7c\xff\xdb\xc7\x0f\xc9\xd9\x31\x24\xe3\xdb\x71\x05\x68\x28\x5d\x8c\x0e\x0d\xfc\x61\xe4\xf8\xca\xbd\xd1\xca\x71\xe5\x8e\x52\xbf\xf5\x52\x77\x4b\x4e\x04\x0c\x83\x00\xda\xb4\xf1\x49\xb6\x7f\x3c\xa9\x8c\x7d\xdb\xa7\xc1\xa6\x37\xba\xe0\x0f\x0e\x4f\x48\x4c\x9f\x53\xae\x0f\x45\x30\xfc\x0a\x5d\xe1\xeb\xc9\xcd\xab\x4b\x5c\x44\xaf\x5f\xdf\x7c\xf3\x35\xb9\xc2\x34\x7a\xfd\xf5\xcb\x9b\x09\xb9\xfa\xfa\xf5\xeb\x97\x5f\x93\x2b\x14\xa3\xed\x71\xbf\xbf\x3e\xdb\xef\x44\xce\x17\x9b\x7e\xc1\x76\x6a\xfd\x91\x78\x17\x88\x95\x27\x1e\xad\x37\xa7\x27\xd8\xf9\x35\xb0\xa4\x1e\xe5\x42\xf9\xf3\x85\x86\x56\xbf\x57\xff\x29\x74\xe9\xe9\x49\x67\x98\x03\x27\x4f\x5f\x76\xe4\xf8\xbc\xf0\x2d\x89\xfa\x64\x2c\x12\x4a\xe2\x62\xb3\x39\x9f\x9c\x27\xc9\x9b\x94\x66\x9b\x0d\x66\x7d\x0e\x31\x4c\x09\xd4\xa3\x52\x9b\x77\x94\xd5\x78\x7e\xb4\xb3\xf0\x52\xbd\x3a\xf3\x67\x92\x39\x81\x2a\x41\xa2\xa9\x7c\x7b\xa5\xc3\x21\xb2\x86\x79\x70\xbe\xd9\x9c\xa1\x9c\xb2\x79\x65\x74\xa7\x42\xf3\x9d\xc7\x61\xc3\x9f\xd2\xb9\x3f\xb5\x7c\x7f\x79\x9b\xce\xb3\xe1\xf0\xbc\xc4\x05\x54\xa4\x57\x62\x10\x94\xe0\x7e\xb8\x48\xd0\x85\xff\x7e\x8b\x7d\x4d\x30\x7c\x81\x2e\x08\x09\x0d\x8b\xdf\xa3\xf1\x1d\x9a\xa2\x3b\x44\xc8\x16\xb8\x2a\xa6\xa7\xe1\xf8\x27\xd3\xff\xc4\xd4\xf1\xde\x56\x86\x83\x94\x98\x26\x49\x11\x5c\x73\x7e\x4d\xb6\x10\xaa\xe1\x99\xd0\x62\xb3\xf1\x9a\x50\x42\xb6\xdb\xad\x77\xc3\x87\xa4\x1e\xbd\x78\xd1\x08\xf5\xce\x18\x8c\x5e\x58\xaa\x84\x13\x9f\x39\x22\xf0\x39\x19\x3f\xde\x62\x7c\x3f\x4d\x69\xf4\xf9\x21\xfa\x47\x46\xd2\xd9\x72\x1a\x65\x97\xc4\x13\x67\xf6\xaa\x47\xaf\x02\x72\x99\xcc\xec\x25\xbe\x9f\xe2\xfb\x29\x4a\x1f\x51\x76\x89\xc8\x06\xdf\x4f\x2f\xd2\xc7\x8b\xec\xf2\x82\x6c\xd2\xc7\xbb\x99\xcd\xae\x08\xb9\x27\x97\xc4\x2f\x9d\x8d\xef\xc3\xf7\xee\x9e\x8c\x61\xed\xb7\x9a\x8d\x3d\xbe\x13\x4a\xfa\xf3\x62\x0c\xdf\x25\xe3\x03\xed\x9f\x76\x0a\xda\x3d\xa2\x8c\x5c\x92\xdd\x7e\x3d\xe5\xc2\x53\x2e\xc8\x06\x1f\xb6\x25\xf7\xe3\x0a\xfe\xe2\xb7\x19\xc3\x8f\xfd\x6e\x63\xf8\x3e\x19\xef\xce\x03\x3c\xba\xbc\x27\x7d\xa3\x1f\x57\xb0\x4a\xc6\xb7\xe7\x6f\x7f\x7a\xf3\xdb\xdf\x7f\x7e\x87\x83\x22\xf7\xe4\x6e\x2c\xe0\xec\x07\x3f\x31\x4b\xdf\xbc\x7d\xf8\xed\x61\x96\x06\xa6\x2c\xdb\x31\x7d\x4c\xc6\xe9\xac\x7b\xfb\x5f\x93\x49\x34\xeb\xde\x7e\xfb\xfe\x7d\xe6\xd1\x37\x3d\xfa\xfe\xfd\xfb\x6c\x5c\xc1\x5f\xbd\x31\x8f\xb3\xaf\xa2\xff\xdb\x0c\x36\xe7\x19\x19\x57\xb0\x48\x2a\x8c\xa8\xe1\x14\x72\x03\x4c\x4b\xa8\x0d\x88\xa6\x82\x65\x6e\x10\x89\x95\x9f\x65\x5a\xfa\xec\x6b\xa1\x28\xa0\x70\x20\x05\xb4\xe0\x72\x5d\xac\xc1\x15\xe0\x4a\xad\x1d\xb8\x1a\x5c\xcd\x69\x01\xce\x73\xb5\x9e\xcb\xb4\x60\x1c\xea\xff\x0c\xba\xa4\x1e\xf1\x95\xf3\x3f\x1f\x4f\x5b\x68\x41\x11\xb0\xcf\x48\x0a\xbc\x16\x45\x61\xb8\xb5\x40\x8d\x13\x4c\x72\xa0\x56\x14\x1c\x72\xa9\xd9\xfc\x53\xa7\x1d\x07\x46\x5b\x9f\x47\xc0\xb8\x72\xdc\x40\xc1\x25\x14\xc2\x40\x21\x16\x50\x48\x28\x45\xd5\x19\xee\x3f\xfb\x75\x5e\x35\x6e\xa0\xbe\x86\xfa\x06\xea\x97\x50\xbf\x82\xfa\x35\xd4\x5f\x83\x57\xd5\x4f\xf4\x66\x79\x8b\x95\x85\x86\xb6\xd0\x70\xd5\x81\xa2\x0b\xd0\x12\x5a\xc3\xc1\x32\x23\x5a\x07\x96\x87\x04\x06\x47\x73\xc9\xa1\x93\x88\x10\x70\x5f\xd8\xe4\x0d\x00\x9a\xe7\x06\x28\x33\x5a\xad\x1b\xc8\x21\x2f\x04\xe4\x85\x86\x5c\x54\xc1\xbd\xc2\x1b\xa1\x0b\xde\xab\x5e\x2a\xe0\x0d\x94\x5a\x39\x10\xc1\xe7\x5e\x8b\x79\x5e\x80\xa4\x39\x97\xbd\x3e\xd4\xcc\xe1\x13\x98\x2e\x5f\x43\x70\x28\x58\xb0\xb4\x69\xc1\x36\x54\x4a\xb0\x2d\x55\xe0\xcf\xa1\x39\xf7\x1f\xad\x2a\xb0\x5d\x0e\xb6\x6b\xc1\x89\x86\x83\x73\xd0\xc1\x82\x1a\x5f\x99\x67\x7d\x2c\x85\xf1\xae\x2d\x78\x69\xa1\xe0\x96\x01\x97\x52\xb4\x96\x07\x35\xa2\x92\xb2\x13\x28\x52\xb4\x39\x45\xad\x61\x50\x41\x25\xd7\x6d\x0d\xf5\x9c\x1b\x05\xa2\xa1\x15\x07\x29\x14\xa7\xe6\x3b\x43\x0b\xc1\x95\x0b\x68\x50\x9c\x1b\x68\xb8\xa3\x05\x75\x14\x1a\x61\xad\x50\x55\xd4\x73\x37\x2d\x75\x35\xf4\x83\x96\xeb\x4a\xab\xf0\x0d\x9c\x5e\x0c\x95\x07\x69\x86\x33\x07\xd6\xe9\x16\xec\xa2\x02\xbb\x14\x8e\xd5\xe0\x0f\x3a\x70\xc2\x49\x0e\x2e\xf8\xa0\xb3\x7c\x97\x6a\x4b\x6f\xe5\x3e\x6c\x6e\x2d\x7d\x27\x79\xf3\x2c\x54\x0b\xb0\xe0\xfd\xa2\x08\xbc\xf5\x8b\x8f\xdd\xb5\x0f\x50\x6d\x78\x09\x52\xab\x2a\xf8\xc7\x1b\xdd\x59\xee\x83\xb1\x92\x42\xcd\xa7\x7e\x7a\x5f\x19\x7d\xb8\xa5\xa8\x14\x50\xe9\x80\xae\x84\x85\xbc\x62\x5a\x6a\x03\xb9\x36\x3e\xc7\x18\x97\xb2\xa5\x45\x21\x54\x15\x60\xdb\x52\x16\x60\x49\xad\x05\x26\x39\x0d\x65\xa7\xc3\x68\xc3\xe0\x0d\x62\xba\x69\x29\x73\xc0\xb4\x36\x85\x0d\x69\x1e\x82\xd3\x67\xae\x85\x9a\x8b\xaa\x76\x41\x57\x49\x55\x05\xb5\x97\xcb\x41\x58\xaf\x68\xa0\xf8\xa1\xf3\xe1\x51\x3a\x58\xa4\xf4\xd2\xd0\x16\x0c\x97\x60\xf8\x02\x8c\x5e\xda\x30\xf8\xdd\x4c\x27\xb9\x05\xcb\x74\x1b\x52\x5e\x4b\xe9\x55\xb4\x35\xf5\xb8\xf8\xcc\xf7\x89\x46\x7d\x02\x76\x4d\x43\xcd\xda\xd7\x42\xf8\x6d\x02\x47\x4d\xc5\x0f\xe1\x58\xb7\x1c\x16\xbd\x4b\x16\x54\x76\x1c\x16\xbd\x66\x4b\x51\xb8\x1a\x91\xf8\x2c\x34\x07\xca\x7c\x0d\x47\x3b\x2b\x28\x63\x5d\xd3\x49\xea\x38\x78\x4f\x39\xb1\xe0\x40\x65\x5b\xd3\x9c\x3b\xc1\x80\x1a\x9a\x0b\x16\x95\xda\x34\x40\xad\x67\x84\x9c\x5a\xfe\xb3\xd1\xa5\x90\x1c\xf2\x5c\xaf\x20\xe7\x95\x50\x90\xaf\x81\x51\xc9\x3e\xfa\x12\x63\xb4\xdd\xcb\xdf\xf9\x7a\xef\x65\x6d\x22\xc3\x55\xc1\x4d\x88\x43\xff\xbf\x04\x6c\x05\x6c\x0d\x05\x14\x2b\x28\xd6\xa1\x34\x3c\xb5\x10\xb6\x95\x74\x0d\x45\x67\xfc\xf9\x08\xa5\x90\x32\x0c\x91\x77\xd9\xbe\x36\x1a\x21\xd7\x3d\x1c\x9c\xd5\x43\xce\x70\x9f\xaa\x3b\x64\xbd\x5f\xbd\xa0\x46\x50\xe5\x7a\x64\xd9\xeb\x57\x1a\xdd\x40\xb9\x82\x72\x0d\xd5\x35\x54\x37\x7d\x8d\xf5\xe5\x57\xed\x0a\xe1\x77\x25\x9c\x85\x9a\xaa\xca\x6b\xbd\x0f\xbf\x36\xe2\x73\x44\x8b\x45\xb4\xda\xc1\xda\x88\x4a\xa8\x68\x05\xa2\xe0\xba\x32\xb4\xad\x05\x83\x39\xcc\xf9\xfa\x67\x2d\x94\xb3\x1e\xfa\xb5\xf5\x85\x16\xc0\xdf\x44\xc3\x6d\x9f\x2f\x7d\xc5\x46\xde\xca\x1d\xd8\x88\x03\xd8\x87\xbe\x47\xbe\xef\xf7\xee\x91\x5e\xad\x1e\xfe\x9b\x0f\x31\x34\xd4\xd5\xbc\xa1\x4e\x30\xea\x7b\xd8\x0a\x1a\xa1\x40\x97\xa5\xe5\x0e\xb4\x4f\x7e\xb7\x06\x6d\x42\x6d\xf7\xca\x82\x5e\x70\xe3\x35\x8a\x5a\x6d\x45\xe8\xb3\x07\x8a\xab\x05\x9b\x2b\x7f\x28\xb4\x54\x69\xcb\xa3\x6b\x38\xb4\x8e\x0f\xe1\xc7\x1f\xda\xde\xae\xd6\x70\xcb\xcd\x82\x3f\xd8\x96\x33\xf7\x0b\x75\x42\x83\x01\xc3\xcb\xff\xf1\xc3\xdf\xc1\xf0\x96\x53\xf7\x46\x77\xa1\xa7\x78\xf8\x6d\xe7\xe7\x3f\x75\xc2\xf0\xe2\x9d\xef\x0e\x56\x68\x65\x0f\xa4\xf7\x9c\xba\xce\x70\x4f\xe8\xad\x37\xda\xf9\x0c\x35\x2b\x30\x6b\xb0\x32\xd4\x8a\xe3\x4d\x1d\xc6\x45\xe8\x51\x51\x9f\x63\x01\xdc\xdb\xda\xb7\x67\x7f\x05\xe8\xaa\xfa\x68\xe2\x73\xf2\xd1\x4e\xdf\xc6\x77\xdd\x7c\xce\xa3\x82\xda\x9a\x1a\x43\xd7\xa7\x84\x9d\x33\x77\x14\xef\x27\x46\xdb\x53\xf4\x0f\x2d\xd4\x1e\x6f\x84\xf3\xbe\x6c\xc4\x81\xe1\x44\x31\x8f\x86\xc2\x04\xbb\xf6\x56\x7c\xd8\xf7\x8c\x7d\x4d\xf3\x95\x8b\xa8\x62\xb5\x36\xe0\x34\x38\x43\x95\x0d\x65\x18\xca\xbc\xbb\x86\xee\x06\x3a\x5f\x49\xcf\xc3\x77\x24\x1d\xed\xea\x94\x08\x27\xdf\xee\x1b\x19\xaa\xaa\x80\x39\x1b\xb5\x3e\xef\x9a\xbe\x5f\x58\x58\x70\xe3\x23\x01\x0b\xc1\x97\xdf\xea\x15\x2c\x84\x15\xb9\x90\x5e\xe5\x5e\xd7\x30\x5a\x58\xc1\x6a\x5f\xe0\xab\x6b\x58\xdd\xec\xfa\x33\x65\xae\xf3\x71\xda\x61\xc6\xb7\xb3\x3d\x76\x02\xda\x5a\x2f\x77\x60\xdf\xb9\x76\xb0\x37\x6c\xd5\xc8\xa9\xef\x30\x01\x08\xc5\xe1\x81\xbe\x8f\xad\x1a\xa9\x6c\x3f\x4e\x03\x0b\xac\x61\x7d\x0d\xeb\x1b\xf8\xac\x75\xf3\xa0\x8a\x9f\xa9\x42\x70\x76\x3e\xe9\x8f\xa3\x9f\x9e\x1d\x3d\x6f\xfb\x7f\x9f\x87\xa4\xd0\xac\xf3\xb7\xf6\x11\x33\x9c\x3a\xfe\x4e\xf2\x70\x87\x47\xad\xf1\xe7\x58\x3d\x6a\x74\xd1\x49\x8e\x91\xaa\x7e\xdd\xff\x10\x43\x9a\x91\x51\x6b\xf4\x42\x14\xfc\xd9\x9f\x32\x9c\xbc\xae\xb8\x5a\xd8\xd1\x8b\x8a\xbb\x24\x45\x2f\x0e\x4b\x7e\x37\x02\xfd\xc9\x4d\x6b\x70\x20\x1d\x6e\x48\x69\x16\xbf\xc7\x25\x18\x5c\x1c\xd7\x33\xc8\xf7\x1c\xe7\xe3\xc7\x4e\x59\x5a\xf2\xf1\xee\xaa\x1e\x26\xc9\xf6\xf0\x12\x32\x28\x8e\xaf\x88\xdb\x6c\xfb\x2f\x4c\x21\xa3\x52\x48\xe7\xad\xf0\x0e\x5c\x23\x48\xff\xd4\x9c\xc3\xcb\xe5\x18\xe3\xd2\xb5\x9b\xda\xb9\xd6\xde\x93\xe9\x6c\x3c\x1b\x6f\xf0\x72\xb9\x9c\x8d\xc8\x06\x37\x54\x48\xa7\xa7\xe4\x3e\x7d\x88\xfe\x41\xa3\xcf\x93\xe8\x9b\xd1\xff\xfe\xc7\x55\x94\x5d\xfd\x37\x99\xfd\x7a\x99\x3e\xce\xec\x28\x06\x4c\x9e\xb6\xb7\x77\x68\xd6\xdd\x4c\xae\x8b\x30\x7e\x93\x8d\x05\x14\xc9\xf8\x71\x27\x60\x2c\xe2\x2f\xdd\x12\x2c\x3f\x5c\x25\xe7\xe1\x52\x34\x1c\x56\xfd\x13\xe1\xbb\x70\x89\x39\xcc\x72\x4c\xe1\x8c\x91\xa7\xdd\x2c\xba\xa5\x83\x10\x49\x61\xdf\xf6\xef\x66\x38\x27\x07\xde\x8b\xbe\xbe\x12\x74\x01\x39\x5c\xa0\xc1\x05\x89\xf7\x33\xfe\xac\xf6\xf4\x93\xab\x3a\x0a\x17\x5b\xff\x0b\x1c\x23\x02\x17\xe8\xee\x82\xc4\x73\xcc\x0e\x3c\xe8\x76\x4c\xef\x50\x78\x6e\x38\x67\xbb\xa7\x83\x01\x0b\xef\x6f\xe1\x11\x13\x64\xc2\xa0\x4a\xd2\x0c\x14\xb4\x71\x93\xc8\xdd\xc3\x4a\x49\x62\xa2\x92\x26\x9d\x64\xd0\xa4\x37\xd9\x66\xd3\xa4\xaf\xfc\xc5\x4e\x25\xb8\x49\x5f\x66\xf7\x68\xf7\x12\x8d\xa6\x68\xe7\x23\x44\xae\x14\x81\x36\x69\xfa\x17\x13\x98\x63\xb9\x7b\x09\xc1\x13\x68\x09\x01\x8e\x15\x34\xa7\x0f\x31\x05\x20\xff\xb3\x2c\x13\x79\xf2\x64\xd2\x5e\x35\x27\x2f\x37\xf1\x1c\xcb\x43\xfe\x50\x5c\x1d\x32\xc8\xa7\x10\xd9\x12\xbc\x14\xaa\xd0\x4b\xe8\x3f\xa3\xdd\xbb\x38\x89\xcf\xc6\xe3\xaf\x06\x56\x77\x86\xf1\x8f\xb4\x6d\x85\xaa\x7e\xff\xe5\x43\xb2\x9b\x8e\xf6\xf9\x34\x6a\x84\x1a\xfd\x61\x47\x0d\x6d\xff\x3f\x00\x00\xff\xff\xa7\x37\x4a\x49\x8a\x17\x00\x00") +var _uiLibAngularSanitizeMinJs = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\x8c\x38\x69\x77\xe4\x28\x92\xdf\xfd\x2b\xd2\x74\x6d\x1a\xec\x50\x66\xda\x55\xd5\xbb\x9d\xb2\xec\x75\xd7\xd1\xc7\x54\x4d\xf7\xeb\xe3\xcd\xce\x28\xe5\x7d\x08\x21\x89\x4e\x04\x2a\x40\x79\x94\x33\xf7\xb7\xef\x03\xe5\xe5\x9a\x9e\xf7\xe6\x0b\x8a\x08\x88\x20\x6e\x04\xe3\xcb\xb3\xc1\x83\xaa\x3a\x49\xcd\x8f\xbf\x0e\x16\xd7\xa3\x57\xa3\xff\x3c\x1b\x60\x46\x06\x37\x93\xeb\x49\x74\x33\xb9\x7e\x3d\xf8\x4e\xeb\x4a\x72\x18\xfc\xa0\xd8\x68\x50\x3b\xd7\x4e\xc7\x63\xda\xf3\xfc\x61\x47\xda\x54\x67\x83\x0f\x82\x71\x65\xf9\x74\xf0\xf1\x87\xdf\xce\x2e\xc7\x67\xb8\xec\x14\x73\x42\x2b\xac\xa0\x86\x96\x3c\x5d\x74\x96\x0f\xac\x33\x82\xb9\x8b\x78\x3f\x39\x78\x87\x29\x79\x5a\x50\x33\x28\x93\x34\x8b\x0d\x2e\xa1\x1e\x29\xad\x5b\x32\x62\x35\x35\x16\x53\x12\x1b\xee\x3a\xa3\x06\xe5\xe8\x0f\x2d\x14\x46\x88\x6c\x0f\xdc\x15\xa6\x50\xf6\xfc\x45\xf2\xb4\x05\x96\xd0\x91\x6d\xa5\x70\x18\x01\x22\x90\xc7\xa5\x36\x38\x4f\x26\x71\x7e\xcb\x46\x92\xab\xca\xd5\x71\x7e\x75\x45\x8a\xb4\xbc\xaf\x47\x52\x2f\xb9\x61\xd4\x72\xcc\xd2\x3c\x23\x53\x3f\x66\xc9\xf9\x64\xbf\x63\x71\xdc\xe8\x7d\xbf\xd1\x01\x2f\x30\x85\x1c\x0a\x90\xe4\x29\x4f\x4e\x25\xe5\x24\x16\x25\xb6\x5e\x9e\xdf\x3b\xe6\x23\x49\xad\xc3\x64\x38\x74\xe9\x1e\xce\x62\xc2\x30\x42\xb0\xc7\x49\xdc\xa5\x79\x36\x1c\xee\xf1\x24\xc9\x87\xc3\xb0\x22\x27\x31\x96\xc9\x22\xcd\xb3\xcd\xe6\xfc\x5c\x92\xcd\x86\x8f\xda\xce\xd6\x7e\x1b\x6f\x74\x93\x3c\x6d\xe3\x62\x64\x78\x2b\x29\xe3\xf8\x3b\x38\x38\x3d\x07\x0a\x25\x30\x28\xc8\x53\x93\xd2\x2c\xf9\x84\xcb\xcd\x86\x6d\x36\xc5\x66\xe3\x3d\x48\xe2\x72\x64\x1d\x35\x6e\x38\xdc\x01\x38\x87\x06\xe4\x89\x6f\x99\x97\xd1\xfb\x96\x25\x13\x28\xbc\x5d\xf4\x99\xad\x94\x04\x1b\x59\xc2\x77\xbe\x8d\xce\xae\xe3\xc9\x6d\xc2\x86\x43\x9e\xb2\xec\x3c\xa1\x31\x8b\xa2\xe0\x10\x4f\x25\x4f\x7e\x75\x71\x5c\x7d\x1d\x17\x77\x09\x8b\x8b\x28\x22\xe5\x88\xab\xc2\xeb\xc2\x55\x81\x79\x5a\x64\x24\xde\x2f\x4b\xd8\x76\x8b\x7c\xde\xa8\x0a\x9d\x27\x89\x5b\xb7\x5c\x97\x03\x3a\x1c\x62\x9a\xa8\x4e\xca\x24\x49\xe8\x66\x83\x3a\x55\xf0\x52\x28\x5e\xa0\xe4\xb8\xe8\x1e\xa1\x29\x42\x57\xb4\xf7\x56\x0e\x73\xe0\x49\x9a\x41\x93\x50\x90\x21\x37\x7a\x97\x27\x07\xb7\x91\xa7\x5d\xec\x79\x7a\x54\x33\xdb\xc6\x34\x26\x4f\x32\x41\x28\x9e\xfb\xfc\x10\x25\x3e\xc6\x75\x79\x8c\x2b\xa1\x09\x3d\x04\x43\xf1\xe5\xe0\x17\x5e\xbd\x5b\xb5\x18\xe1\x74\x36\xfb\xdb\x6c\xb6\xcc\x2e\xc9\xed\x6c\x66\x2f\x67\xb3\xb1\xff\xa0\xab\x3d\xeb\x15\x4a\x1f\xef\xb2\xcb\x3b\x04\x48\x20\x72\x0c\x23\x85\xdc\x67\x58\x7e\x90\xfa\x3d\xa0\x17\xd7\x88\x1c\xf0\x1f\x7a\x3c\x2e\xfb\x7a\xf1\x2e\xec\x0b\xe7\x13\xce\xc9\xbe\x76\x10\xda\x12\xf8\x22\xe5\xb8\xb4\xfc\xc9\x47\xc6\xfb\x6f\x24\x54\xc1\x57\x3f\x95\x18\xcd\x56\x2f\xd9\x79\x14\x21\x42\xf2\x53\x72\x14\x21\x78\x45\x60\x72\xeb\x53\x93\x06\x21\x3f\x1c\xe7\x66\xab\x97\x1c\xc1\x59\x4e\x92\x90\xba\xb8\x1c\x31\xdd\x34\x5c\x85\xec\xda\x81\x98\x8e\x6c\x97\xf7\x71\xc4\xaf\x20\x27\x04\xbc\xb7\x8e\xb4\xfc\xea\x25\x81\x79\x72\x7e\xdd\xeb\x36\x10\x25\x5e\x8d\x1c\xb7\xce\xe7\x99\xd7\xd4\x2b\xd4\x50\xc7\x6a\xbc\x22\xcf\x3c\x9d\xa7\x93\x0c\x10\xea\xb9\xb7\x7b\xe6\x1f\xff\x05\xf3\xba\x67\x3e\xd9\x38\x9d\x64\xbb\x58\x13\x08\xc8\x5e\xf0\x1a\xd8\xa9\xd0\xbf\xec\x25\x0e\x87\xf8\x44\xe0\x67\x42\xee\x71\x9e\xbe\xca\x42\x4a\xfe\x7b\x92\x3f\x43\x41\x76\xd6\x4e\xb1\xbc\x4a\xd0\x2d\xfa\xc2\x1d\xd7\x84\x90\x78\x3e\x1c\xe2\x67\x71\xb8\x45\x04\xe4\x55\x32\xb9\xcb\xef\xe9\xf4\x74\xf9\x04\x72\xef\x50\x3f\x81\xd0\xb3\x99\x9c\xc0\x9f\x24\x87\x24\x84\x6c\x43\x45\x27\x0d\x71\xb5\xd1\xcb\xc1\x07\x8c\x72\x5a\xb4\xd4\x58\x8e\x80\x92\xb8\x49\xe8\x96\xe1\x93\x8e\xf0\xc9\xf7\x6a\x51\xe2\x73\x4a\xf6\x79\x15\x3f\x8c\x84\x52\xdc\x7c\xff\xdb\xc7\x0f\xc9\xd9\x31\x24\xe3\xdb\x71\x05\x68\x28\x5d\x8c\x0e\x0d\xfc\x61\xe4\xf8\xca\xbd\xd1\xca\x71\xe5\x8e\x52\xbf\xf5\x52\x77\x4b\x4e\x04\x0c\x83\x00\xda\xb4\xf1\x49\xb6\x7f\x3c\xa9\x8c\x7d\xdb\xa7\xc1\xa6\x37\xba\xe0\x0f\x0e\x4f\x48\x4c\x9f\x53\xae\x0f\x45\x30\xfc\x0a\x5d\xe1\xeb\xc9\xcd\xab\x4b\x5c\x44\xaf\x5f\xdf\x7c\xf3\x35\xb9\xc2\x34\x7a\xfd\xf5\xcb\x9b\x09\xb9\xfa\xfa\xf5\xeb\x97\x5f\x93\x2b\x14\xa3\xed\x71\xbf\xbf\x3e\xdb\xef\x44\xce\x17\x9b\x7e\xc1\x76\x6a\xfd\x91\x78\x17\x88\x95\x27\x1e\xad\x37\xa7\x27\xd8\xf9\x35\xb0\xa4\x1e\xe5\x42\xf9\xf3\x85\x86\x56\xbf\x57\xff\x29\x74\xe9\xe9\x49\x67\x98\x03\x27\x4f\x5f\x76\xe4\xf8\xbc\xf0\x2d\x89\xfa\x64\x2c\x12\x4a\xe2\x62\xb3\x39\x9f\x9c\x27\xc9\x9b\x94\x66\x9b\x0d\x66\x7d\x0e\x31\x4c\x09\xd4\xa3\x52\x9b\x77\x94\xd5\x78\x7e\xb4\xb3\xf0\x52\xbd\x3a\xf3\x67\x92\x39\x81\x2a\x41\xa2\xa9\x7c\x7b\xa5\xc3\x21\xb2\x86\x79\x70\xbe\xd9\x9c\xa1\x9c\xb2\x79\x65\x74\xa7\x42\xf3\x9d\xc7\x61\xc3\x9f\xd2\xb9\x3f\xb5\x7c\x7f\x79\x9b\xce\xb3\xe1\xf0\xbc\xc4\x05\x54\xa4\x57\x62\x10\x94\xe0\x7e\xb8\x48\xd0\x85\xff\x7e\x8b\x7d\x4d\x30\x7c\x81\x2e\x08\x09\x0d\x8b\xdf\xa3\xf1\x1d\x9a\xa2\x3b\x44\xc8\x16\xb8\x2a\xa6\xa7\xe1\xf8\x27\xd3\xff\xc4\xd4\xf1\xde\x56\x86\x83\x94\x98\x26\x49\x11\x5c\x73\x7e\x4d\xb6\x10\xaa\xe1\x99\xd0\x62\xb3\xf1\x9a\x50\x42\xb6\xdb\xad\x77\xc3\x87\xa4\x1e\xbd\x78\xd1\x08\xf5\xce\x18\x8c\x5e\x58\xaa\x84\x13\x9f\x39\x22\xf0\x39\x19\x3f\xde\x62\x7c\x3f\x4d\x69\xf4\xf9\x21\xfa\x47\x46\xd2\xd9\x72\x1a\x65\x97\xc4\x13\x67\xf6\xaa\x47\xaf\x02\x72\x99\xcc\xec\x25\xbe\x9f\xe2\xfb\x29\x4a\x1f\x51\x76\x89\xc8\x06\xdf\x4f\x2f\xd2\xc7\x8b\xec\xf2\x82\x6c\xd2\xc7\xbb\x99\xcd\xae\x08\xb9\x27\x97\xc4\x2f\x9d\x8d\xef\xc3\xf7\xee\x9e\x8c\x61\xed\xb7\x9a\x8d\x3d\xbe\x13\x4a\xfa\xf3\x62\x0c\xdf\x25\xe3\x03\xed\x9f\x76\x0a\xda\x3d\xa2\x8c\x5c\x92\xdd\x7e\x3d\xe5\xc2\x53\x2e\xc8\x06\x1f\xb6\x25\xf7\xe3\x0a\xfe\xe2\xb7\x19\xc3\x8f\xfd\x6e\x63\xf8\x3e\x19\xef\xce\x03\x3c\xba\xbc\x27\x7d\xa3\x1f\x57\xb0\x4a\xc6\xb7\xe7\x6f\x7f\x7a\xf3\xdb\xdf\x7f\x7e\x87\x83\x22\xf7\xe4\x6e\x2c\xe0\xec\x07\x3f\x31\x4b\xdf\xbc\x7d\xf8\xed\x61\x96\x06\xa6\x2c\xdb\x31\x7d\x4c\xc6\xe9\xac\x7b\xfb\x5f\x93\x49\x34\xeb\xde\x7e\xfb\xfe\x7d\xe6\xd1\x37\x3d\xfa\xfe\xfd\xfb\x6c\x5c\xc1\x5f\xbd\x31\x8f\xb3\xaf\xa2\xff\xdb\x0c\x36\xe7\x19\x19\x57\xb0\x48\x2a\x8c\xa8\xe1\x14\x72\x03\x4c\x4b\xa8\x0d\x88\xa6\x82\x65\x6e\x10\x89\x95\x9f\x65\x5a\xfa\xec\x6b\xa1\x28\xa0\x70\x20\x05\xb4\xe0\x72\x5d\xac\xc1\x15\xe0\x4a\xad\x1d\xb8\x1a\x5c\xcd\x69\x01\xce\x73\xb5\x9e\xcb\xb4\x60\x1c\xea\xff\x0c\xba\xa4\x1e\xf1\x95\xf3\x3f\x1f\x4f\x5b\x68\x41\x11\xb0\xcf\x48\x0a\xbc\x16\x45\x61\xb8\xb5\x40\x8d\x13\x4c\x72\xa0\x56\x14\x1c\x72\xa9\xd9\xfc\x53\xa7\x1d\x07\x46\x5b\x9f\x47\xc0\xb8\x72\xdc\x40\xc1\x25\x14\xc2\x40\x21\x16\x50\x48\x28\x45\xd5\x19\xee\x3f\xfb\x75\x5e\x35\x6e\xa0\xbe\x86\xfa\x06\xea\x97\x50\xbf\x82\xfa\x35\xd4\x5f\x83\x57\xd5\x4f\xf4\x66\x79\x8b\x95\x85\x86\xb6\xd0\x70\xd5\x81\xa2\x0b\xd0\x12\x5a\xc3\xc1\x32\x23\x5a\x07\x96\x87\x04\x06\x47\x73\xc9\xa1\x93\x88\x10\x70\x5f\xd8\xe4\x0d\x00\x9a\xe7\x06\x28\x33\x5a\xad\x1b\xc8\x21\x2f\x04\xe4\x85\x86\x5c\x54\xc1\xbd\xc2\x1b\xa1\x0b\xde\xab\x5e\x2a\xe0\x0d\x94\x5a\x39\x10\xc1\xe7\x5e\x8b\x79\x5e\x80\xa4\x39\x97\xbd\x3e\xd4\xcc\xe1\x13\x98\x2e\x5f\x43\x70\x28\x58\xb0\xb4\x69\xc1\x36\x54\x4a\xb0\x2d\x55\xe0\xcf\xa1\x39\xf7\x1f\xad\x2a\xb0\x5d\x0e\xb6\x6b\xc1\x89\x86\x83\x73\xd0\xc1\x82\x1a\x5f\x99\x67\x7d\x2c\x85\xf1\xae\x2d\x78\x69\xa1\xe0\x96\x01\x97\x52\xb4\x96\x07\x35\xa2\x92\xb2\x13\x28\x52\xb4\x39\x45\xad\x61\x50\x41\x25\xd7\x6d\x0d\xf5\x9c\x1b\x05\xa2\xa1\x15\x07\x29\x14\xa7\xe6\x3b\x43\x0b\xc1\x95\x0b\x68\x50\x9c\x1b\x68\xb8\xa3\x05\x75\x14\x1a\x61\xad\x50\x55\xd4\x73\x37\x2d\x75\x35\xf4\x83\x96\xeb\x4a\xab\xf0\x0d\x9c\x5e\x0c\x95\x07\x69\x86\x33\x07\xd6\xe9\x16\xec\xa2\x02\xbb\x14\x8e\xd5\xe0\x0f\x3a\x70\xc2\x49\x0e\x2e\xf8\xa0\xb3\x7c\x97\x6a\x4b\x6f\xe5\x3e\x6c\x6e\x2d\x7d\x27\x79\xf3\x2c\x54\x0b\xb0\xe0\xfd\xa2\x08\xbc\xf5\x8b\x8f\xdd\xb5\x0f\x50\x6d\x78\x09\x52\xab\x2a\xf8\xc7\x1b\xdd\x59\xee\x83\xb1\x92\x42\xcd\xa7\x7e\x7a\x5f\x19\x7d\xb8\xa5\xa8\x14\x50\xe9\x80\xae\x84\x85\xbc\x62\x5a\x6a\x03\xb9\x36\x3e\xc7\x18\x97\xb2\xa5\x45\x21\x54\x15\x60\xdb\x52\x16\x60\x49\xad\x05\x26\x39\x0d\x65\xa7\xc3\x68\xc3\xe0\x0d\x62\xba\x69\x29\x73\xc0\xb4\x36\x85\x0d\x69\x1e\x82\xd3\x67\xae\x85\x9a\x8b\xaa\x76\x41\x57\x49\x55\x05\xb5\x97\xcb\x41\x58\xaf\x68\xa0\xf8\xa1\xf3\xe1\x51\x3a\x58\xa4\xf4\xd2\xd0\x16\x0c\x97\x60\xf8\x02\x8c\x5e\xda\x30\xf8\xdd\x4c\x27\xb9\x05\xcb\x74\x1b\x52\x5e\x4b\xe9\x55\xb4\x35\xf5\xb8\xf8\xcc\xf7\x89\x46\x7d\x02\x76\x4d\x43\xcd\xda\xd7\x42\xf8\x6d\x02\x47\x4d\xc5\x0f\xe1\x58\xb7\x1c\x16\xbd\x4b\x16\x54\x76\x1c\x16\xbd\x66\x4b\x51\xb8\x1a\x91\xf8\x2c\x34\x07\xca\x7c\x0d\x47\x3b\x2b\x28\x63\x5d\xd3\x49\xea\x38\x78\x4f\x39\xb1\xe0\x40\x65\x5b\xd3\x9c\x3b\xc1\x80\x1a\x9a\x0b\x16\x95\xda\x34\x40\xad\x67\x84\x9c\x5a\xfe\xb3\xd1\xa5\x90\x1c\xf2\x5c\xaf\x20\xe7\x95\x50\x90\xaf\x81\x51\xc9\x3e\xfa\x12\x63\xb4\xdd\xcb\xdf\xf9\x7a\xef\x65\x6d\x22\xc3\x55\xc1\x4d\x88\x43\xff\xbf\x04\x6c\x05\x6c\x0d\x05\x14\x2b\x28\xd6\xa1\x34\x3c\xb5\x10\xb6\x95\x74\x0d\x45\x67\xfc\xf9\x08\xa5\x90\x32\x0c\x91\x77\xd9\xbe\x36\x1a\x21\xd7\x3d\x1c\x9c\xd5\x43\xce\x70\x9f\xaa\x3b\x64\xbd\x5f\xbd\xa0\x46\x50\xe5\x7a\x64\xd9\xeb\x57\x1a\xdd\x40\xb9\x82\x72\x0d\xd5\x35\x54\x37\x7d\x8d\xf5\xe5\x57\xed\x0a\xe1\x77\x25\x9c\x85\x9a\xaa\xca\x6b\xbd\x0f\xbf\x36\xe2\x73\x44\x8b\x45\xb4\xda\xc1\xda\x88\x4a\xa8\x68\x05\xa2\xe0\xba\x32\xb4\xad\x05\x83\x39\xcc\xf9\xfa\x67\x2d\x94\xb3\x1e\xfa\xb5\xf5\x85\x16\xc0\xdf\x44\xc3\x6d\x9f\x2f\x7d\xc5\x46\xde\xca\x1d\xd8\x88\x03\xd8\x87\xbe\x47\xbe\xef\xf7\xee\x91\x5e\xad\x1e\xfe\x9b\x0f\x31\x34\xd4\xd5\xbc\xa1\x4e\x30\xea\x7b\xd8\x0a\x1a\xa1\x40\x97\xa5\xe5\x0e\xb4\x4f\x7e\xb7\x06\x6d\x42\x6d\xf7\xca\x82\x5e\x70\xe3\x35\x8a\x5a\x6d\x45\xe8\xb3\x07\x8a\xab\x05\x9b\x2b\x7f\x28\xb4\x54\x69\xcb\xa3\x6b\x38\xb4\x8e\x0f\xe1\xc7\x1f\xda\xde\xae\xd6\x70\xcb\xcd\x82\x3f\xd8\x96\x33\xf7\x0b\x75\x42\x83\x01\xc3\xcb\xff\xf1\xc3\xdf\xc1\xf0\x96\x53\xf7\x46\x77\xa1\xa7\x78\xf8\x6d\xe7\xe7\x3f\x75\xc2\xf0\xe2\x9d\xef\x0e\x56\x68\x65\x0f\xa4\xf7\x9c\xba\xce\x70\x4f\xe8\xad\x37\xda\xf9\x0c\x35\x2b\x30\x6b\xb0\x32\xd4\x8a\xe3\x4d\x1d\xc6\x45\xe8\x51\x51\x9f\x63\x01\xdc\xdb\xda\xb7\x67\x7f\x05\xe8\xaa\xfa\x68\xe2\x73\xf2\xd1\x4e\xdf\xc6\x77\xdd\x7c\xce\xa3\x82\xda\x9a\x1a\x43\xd7\xa7\x84\x9d\x33\x77\x14\xef\x27\x46\xdb\x53\xf4\x0f\x2d\xd4\x1e\x6f\x84\xf3\xbe\x6c\xc4\x81\xe1\x44\x31\x8f\x86\xc2\x04\xbb\xf6\x56\x7c\xd8\xf7\x8c\x7d\x4d\xf3\x95\x8b\xa8\x62\xb5\x36\xe0\x34\x38\x43\x95\x0d\x65\x18\xca\xbc\xbb\x86\xee\x06\x3a\x5f\x49\xcf\xc3\x77\x24\x1d\xed\xea\x94\x08\x27\xdf\xee\x1b\x19\xaa\xaa\x80\x39\x1b\xb5\x3e\xef\x9a\xbe\x5f\x58\x58\x70\xe3\x23\x01\x0b\xc1\x97\xdf\xea\x15\x2c\x84\x15\xb9\x90\x5e\xe5\x5e\xd7\x30\x5a\x58\xc1\x6a\x5f\xe0\xab\x6b\x58\xdd\xec\xfa\x33\x65\xae\xf3\x71\xda\x61\xc6\xb7\xb3\x3d\x76\x02\xda\x5a\x2f\x77\x60\xdf\xb9\x76\xb0\x37\x6c\xd5\xc8\xa9\xef\x30\x01\x08\xc5\xe1\x81\xbe\x8f\xad\x1a\xa9\x6c\x3f\x4e\x03\x0b\xac\x61\x7d\x0d\xeb\x1b\xf8\xac\x75\xf3\xa0\x8a\x9f\xa9\x42\x70\x76\x3e\xe9\x8f\xa3\x9f\x9e\x1d\x3d\x6f\xfb\x7f\x9f\x87\xa4\xd0\xac\xf3\xb7\xf6\x11\x33\x9c\x3a\xfe\x4e\xf2\x70\x87\x47\xad\xf1\xe7\x58\x3d\x6a\x74\xd1\x49\x8e\x91\xaa\x7e\xdd\xff\x10\x43\x9a\x91\x51\x6b\xf4\x42\x14\xfc\xd9\x9f\x32\x9c\xbc\xae\xb8\x5a\xd8\xd1\x8b\x8a\xbb\x24\x45\x2f\x0e\x4b\x7e\x37\x02\xfd\xc9\x4d\x6b\x70\x20\x1d\x6e\x48\x69\x16\xbf\xc7\x25\x18\x5c\x1c\xd7\x33\xc8\xf7\x1c\xe7\xe3\xc7\x4e\x59\x5a\xf2\xf1\xee\xaa\x1e\x26\xc9\xf6\xf0\x12\x32\x28\x8e\xaf\x88\xdb\x6c\xfb\x2f\x4c\x21\xa3\x52\x48\xe7\xad\xf0\x0e\x5c\x23\x48\xff\xd4\x9c\xc3\xcb\xe5\x18\xe3\xd2\xb5\x9b\xda\xb9\xd6\xde\x93\xe9\x6c\x3c\x1b\x6f\xf0\x72\xb9\x9c\x8d\xc8\x06\x37\x54\x48\xa7\xa7\xe4\x3e\x7d\x88\xfe\x41\xa3\xcf\x93\xe8\x9b\xd1\xff\xfe\xc7\x55\x94\x5d\xfd\x37\x99\xfd\x7a\x99\x3e\xce\xec\x28\x06\x4c\x9e\xb6\xb7\x77\x68\xd6\xdd\x4c\xae\x8b\x30\x7e\x93\x8d\x05\x14\xc9\xf8\x71\x27\x60\x2c\xe2\x2f\xdd\x12\x2c\x3f\x5c\x25\xe7\xe1\x52\x34\x1c\x56\xfd\x13\xe1\xbb\x70\x89\x39\xcc\x72\x4c\xe1\x8c\x91\xa7\xdd\x2c\xba\xa5\x83\x10\x49\x61\xdf\xf6\xef\x66\x38\x27\x07\xde\x8b\xbe\xbe\x12\x74\x01\x39\x5c\xa0\xc1\x05\x89\xf7\x33\xfe\xac\xf6\xf4\x93\xab\x3a\x0a\x17\x5b\xff\x0b\x1c\x23\x02\x17\xe8\xee\x82\xc4\x73\xcc\x0e\x3c\xe8\x76\x4c\xef\x50\x78\x6e\x38\x67\xbb\xa7\x83\x01\x0b\xef\x6f\xe1\x11\x13\x64\xc2\xa0\x4a\xd2\x0c\x14\xb4\x71\x93\xc8\xdd\xc3\x4a\x49\x62\xa2\x92\x26\x9d\x64\xd0\xa4\x37\xd9\x66\xd3\xa4\xaf\xfc\xc5\x4e\x25\xb8\x49\x5f\x66\xf7\x68\xf7\x12\x8d\xa6\x68\xe7\x23\x44\xae\x14\x81\x36\x69\xfa\x17\x13\x98\x63\xb9\x7b\x09\xc1\x13\x68\x09\x01\x8e\x15\x34\xa7\x0f\x31\x05\x20\xff\xb3\x2c\x13\x79\xf2\x64\xd2\x5e\x35\x27\x2f\x37\xf1\x1c\xcb\x43\xfe\x50\x5c\x1d\x32\xc8\xa7\x10\xd9\x12\xbc\x14\xaa\xd0\x4b\xe8\x3f\xa3\xdd\xbb\x38\x89\xcf\xc6\xe3\xaf\x06\x56\x77\x86\xf1\x8f\xb4\x6d\x85\xaa\x7e\xff\xe5\x43\xb2\x9b\x8e\xf6\xf9\x34\x6a\x84\x1a\xfd\x61\x47\x0d\x6d\xff\x3f\x00\x00\xff\xff\xa7\x37\x4a\x49\x8a\x17\x00\x00") func uiLibAngularSanitizeMinJsBytes() ([]byte, error) { return bindataRead( @@ -405,12 +405,12 @@ func uiLibAngularSanitizeMinJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "ui/lib/angular-sanitize.min.js", size: 6026, mode: os.FileMode(420), modTime: time.Unix(1483467521, 0)} + info := bindataFileInfo{name: "ui/lib/angular-sanitize.min.js", size: 6026, mode: os.FileMode(420), modTime: time.Unix(1491905519, 0)} a := &asset{bytes: bytes, info: info} return a, nil } -var _uiLibAngularMinJs = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xcc\xbd\x79\x77\xdb\xb6\xb6\x38\xfa\xbf\x3f\x85\x85\xa3\x1f\x2f\x50\xc1\xb2\x9c\xf6\x4e\xa4\x51\x5d\x4f\x99\xec\xd8\x49\x9c\xa1\xa7\x8c\xda\x05\x82\xa0\xc4\x8a\xa2\x64\x92\xf2\x24\xea\xbb\xbf\x85\x0d\x90\x04\x25\x25\xe7\x9c\xdf\x7d\x6f\xad\xd7\xd5\x58\x24\x88\x79\xd8\x13\xf6\x70\xf8\xd3\xde\xfe\x49\x3a\x5e\x26\x3c\x7b\x7b\xbb\x7f\x7f\xd4\xff\xa5\xff\x9f\x7b\xfb\x58\x90\xfd\x17\x83\xa3\xc1\xc1\x8b\xc1\xd1\xbf\xef\xbf\x9a\xcf\xc7\x89\xa4\xfb\x6f\x52\xd1\xdf\x9f\x14\xc5\xc2\x3d\x3c\xe4\xba\xcc\x5f\x79\x7f\x9e\x8d\xf7\xf6\xaf\x62\x21\xd3\x5c\xba\xfb\xef\xde\x7c\xda\xfb\xe9\x70\x0f\x47\xcb\x54\x14\xf1\x3c\xc5\x1f\xe8\x6f\xf4\x81\xac\xfe\x6d\x99\xcb\xfd\xbc\xc8\x62\x51\xfc\x9b\x57\x7d\xdc\x7f\x83\x03\xb2\xca\x64\xb1\xcc\xd2\xfd\xba\x04\x59\xdd\xf3\x6c\x9f\x33\x9e\x8d\x97\x33\x99\x16\xb9\x3f\x18\x51\xe1\x09\x86\x7c\xd4\xc3\xc1\x30\xe8\x21\x17\xb9\x08\x91\x1e\xef\xa1\x51\xd5\x21\x99\x65\xf3\x2c\xef\xb7\xfa\x75\x08\xc3\x39\xac\x4a\x1d\x9a\x52\x5e\x34\xcf\x30\x67\x47\x1e\x3f\xae\xdb\xe8\x27\x32\x1d\x17\x13\x8f\xf7\x7a\x64\x25\x98\xe8\xe1\x23\xc6\xf8\x10\x0d\x91\x8b\x1c\x44\x7a\x68\x81\x7a\x98\x1f\x1c\x91\x1e\x62\xc8\x53\x1d\x0c\x99\x4c\xc5\x3c\x94\x9f\x3f\xbe\x39\x9b\xcf\x16\xf3\x54\xa6\x05\x95\x9e\xb4\xfa\xcd\x47\x9e\x64\xa8\x1a\x18\x62\xac\x78\x5a\xc8\x79\xb4\x2f\x87\xb2\x5f\xcc\x6f\x8b\x2c\x4e\xc7\x98\xf4\x33\xb9\x48\xb8\x90\xf8\x70\xff\xdb\xca\xff\x96\x7f\xbb\x1d\xfd\xd4\x3d\xa4\x08\x11\x17\x2d\xd3\x50\x46\x71\x2a\x43\xbb\xb0\x95\xea\xa2\x1c\x6a\x41\x9d\xe6\xf3\xdb\xdb\x9b\xeb\xbe\x4e\x8e\xa3\x27\x2c\x89\x2b\x3d\xd1\x63\x21\x96\x64\x6d\xe6\xfa\x42\x4d\x16\x16\x64\xbd\xae\x97\xe2\x9c\xab\xb5\x88\x23\x9c\x2e\x93\x84\xb1\xa0\x2c\x7f\x57\x29\x44\x97\xe8\x1c\x79\x7a\x51\x90\x9e\x27\x14\xa7\xfb\x37\xc1\x5f\x52\x14\x38\x20\x8e\x13\x54\xd3\xb7\x67\x1a\x08\xfa\xe9\x3c\x94\x9f\x9e\x16\x92\x31\xb6\xe0\x8e\xc3\x87\x9d\x81\xfb\x0a\x07\xa4\x2c\xdf\xc2\xdf\x01\x63\x8c\x97\x25\x4a\x97\xb3\x40\x66\x88\xd5\xe3\xe3\x8e\x33\x38\x56\x25\x0e\x8e\xf6\xe3\x74\x3f\x68\xba\x38\xc3\x01\xe5\x54\xe8\xfd\x11\x52\xe9\xc5\x11\x0e\x48\x1c\xe1\x47\xd5\x51\xb5\xa8\x21\x94\x20\x68\x91\xcd\x8b\xb9\xaa\x0f\x31\x16\x96\x65\xd5\x69\xfd\x92\xf2\x99\x49\x0f\xfa\x13\x9e\xdf\x3c\xa4\xef\xb3\xf9\x42\x66\xc5\x93\xe3\x74\x36\x93\x70\x48\xca\x92\xf7\x05\x4f\x12\x2c\x68\xe0\x87\x23\x1a\xd2\x80\x78\x32\xc9\xe5\x7e\x1c\x61\x3d\x18\x98\x3c\xdd\xaf\x88\xa1\x39\x4c\x0c\xea\xd4\x43\x0a\xbc\x90\x0d\x60\xd7\x49\x56\x4f\x55\x78\x2c\xbd\xb0\xd7\x23\x38\x2a\x4b\xd3\x6f\xc7\xd9\x6e\x69\x5d\xb5\x14\xf4\xa3\x79\x76\xc1\xc5\x44\x4d\xb7\x79\xec\x30\x36\x23\xf5\x1b\xe6\x54\xd8\x7d\x9b\x89\x8d\x79\xf9\xc1\x38\xec\x5d\x5a\x77\x7b\x63\x2e\xec\xaa\x76\xcc\x93\xe3\xec\x7d\xaf\x01\xab\x60\x61\xf2\x04\x34\xdc\x39\x5e\xaf\xda\x41\xcd\xba\xa7\xa2\x5a\x78\x55\x8f\x3e\x7b\x7a\xf3\xf5\xa7\xf2\x29\xc7\x01\xe9\xe7\xf3\xac\xc0\x84\x4a\x36\xf0\xe4\x71\x58\x4d\xb1\xec\xf5\x5a\x63\xf6\xe5\x68\x44\xd5\xdf\xba\x95\xb0\x69\x65\x2e\x76\x01\x23\x68\x36\xc0\x82\x72\xfb\xb0\x7c\x0e\x71\x95\xb5\xd7\x4b\xad\xae\x2e\xa0\xab\x64\xc5\x87\x41\xbf\xdb\x9d\xf0\x7c\x72\x29\x9f\x18\x77\x43\x99\xc8\x42\xee\x5b\x89\x4d\x99\x77\xc1\xf6\xf0\xac\x8c\x6a\x50\x34\x62\xbc\x1e\xd4\x71\xe4\xf5\x7a\x52\xef\xb6\x09\xe3\xbe\x1c\xa9\x83\x70\x86\x27\xa4\x2c\x1f\xf1\x44\xaf\xb8\xfa\x38\x6e\xcd\xd2\x84\xd0\x84\x0d\xe8\x94\x8d\xab\x9a\x92\xe3\xa9\x97\x28\x78\xa7\x32\xa7\x6c\xec\x27\x23\xba\x60\x13\x3f\x1d\x79\xc2\x71\xce\xf0\x82\x0c\x25\x57\x7f\x03\x3f\x1d\xb1\x54\x3e\xec\x9f\xf3\x42\xe2\x45\xff\x9e\x27\x4b\x79\x13\x61\x42\xdc\x1b\xc8\xb0\x57\xe7\xf8\x28\xc7\x17\x8f\x0b\xbc\x20\x2e\x3e\xc3\x2a\x95\x94\x25\xfc\xb2\xb7\x2a\xa3\x3f\x72\x57\x6b\x42\xd5\x90\xfd\x74\x44\xfd\xc5\x88\x76\x06\x84\xb8\x90\x63\xb1\x5e\xc3\xfc\x85\xbb\x36\xc1\x7b\x6b\x75\x60\xc6\x96\x66\x65\x6b\x70\x4b\x8f\x08\xed\x1c\x91\xa6\xc8\x97\xf0\x9f\x2b\x33\xb0\xca\xfc\xdd\x2a\xb2\xe0\x59\x2e\xdf\xa4\x05\x0e\xe8\x91\x9d\xe7\x3a\xd0\x8b\x6c\xb2\xbd\xc7\x66\x9a\x45\x26\xd5\xfc\x04\x44\x6d\x96\x3a\xf7\x13\x26\xab\xe6\xad\xcb\xad\x06\xac\xe1\xdd\xf1\xdd\xa8\xb0\xce\x69\x65\xb5\x37\xea\x23\x0e\x6a\x54\x02\x80\xb8\x7a\xe9\xb0\x6a\xf5\x6b\x60\x58\x7f\x6b\xea\xba\x6f\xaa\x6a\xe1\x9a\x1a\x04\x34\x59\x4f\x76\x66\xed\x30\xb6\xb7\x9d\xf7\xcc\xea\xa1\xc2\x27\x1d\xc6\x02\xc7\xa9\x00\xe3\xce\xea\x67\xe2\x9f\x2d\xe3\x38\x9d\x4c\x65\x6e\xca\xbe\xb2\xba\x66\xf0\xe1\xce\x36\xbe\x58\xf9\xb6\xf0\x8e\x95\x4f\x5a\x8b\x81\x7c\xdd\x03\xd8\xfb\x23\x95\xff\xbe\x82\x60\x56\x0f\x1e\xad\x02\xbb\x20\x69\x93\xf3\x66\x57\xdd\xfa\xd4\x7c\xb7\xf6\xdf\x5b\x9b\x46\xad\xf2\x43\x9c\x86\xf3\x07\xc6\x98\x55\x33\x0f\x36\x73\x75\xe5\x3d\x4f\x4e\xf2\xa7\x54\xc0\xdb\x03\x2f\xc4\xa4\xc9\x1f\x58\xf9\x51\x30\x9f\x27\x92\x7f\xa7\xcf\xb9\xb5\x36\x1d\xdc\x09\xca\xb2\x83\x35\x86\xbf\xe6\x33\x59\x96\x7b\x81\xda\x64\x0b\xd5\x08\x2f\x8a\x0c\x10\x54\x9c\x86\xc4\x1a\xc2\x57\x38\x8b\x9a\x86\x58\xad\xbd\x80\x05\xfd\x7c\x91\xc4\x05\x46\x14\x11\xa0\x2d\x04\x20\x48\xc1\x06\x9e\x38\xae\x91\xa4\x50\x10\xdc\x0f\x7c\x31\x1a\xb1\xce\xa0\x02\x0b\xbc\xa9\xf7\xc1\x9e\x9a\x97\xad\x5e\x05\xfe\x60\xe4\x38\xea\x6f\x9d\x68\x75\x48\x98\x43\x0c\x4d\xb3\xa0\x1f\xa7\xa1\x7c\xbc\x89\x30\x27\xde\xe0\x98\xc1\x84\xa9\x0e\x0a\x89\x05\x3d\xaa\x01\x92\x68\x2a\x98\x70\x0d\xb6\x69\x08\x64\x13\xac\x51\x59\xc2\x22\x90\x62\x92\xcd\x1f\xf6\x2f\x38\x46\x62\xf1\x90\x23\xa2\x00\x74\x21\xfa\x85\xcc\x0b\x5c\x2d\x30\x27\xed\x7c\x05\xd7\xf9\x38\x54\x17\x28\xf2\xa8\xf5\x3d\x46\xc4\x13\x4c\x94\xa5\x3f\xf2\x42\x45\xbd\xf8\x23\xef\x0c\xa8\x2f\x2c\xfa\x8b\x65\x3e\x51\x80\x27\xd4\x4f\x9c\xe8\x39\x05\x12\xe9\x6d\x45\x05\xc8\x1a\x89\x00\x9a\x0c\xda\x68\x12\x0a\xaa\x41\xf9\x72\x44\xd5\x01\x84\xa1\x69\x04\x6e\x28\x1b\xde\x60\x25\xef\x2d\xe6\x64\xb8\xd7\x54\xe8\xce\x30\xa7\x35\xe0\x0a\x14\x3a\x33\x48\x8f\xfb\x62\xb4\x86\xa1\x35\x04\x89\x34\x04\x89\x2f\x47\x6c\xab\xcd\x9a\x28\x51\xe7\xff\x9f\xa5\x4b\xe4\x77\xe8\x12\xa9\x26\x68\x77\x3b\x16\x71\x22\x37\x89\x93\x1f\x16\x5b\x08\x35\x56\xb2\xae\x69\x33\xce\x02\x7a\x06\x24\x60\x1c\x61\xe1\x38\x07\x47\x1d\xc6\x70\xc4\x44\xbd\xad\x02\x52\x91\xd2\xfb\xa1\x1f\x8d\xea\x75\x31\x69\xb0\x99\xfc\x91\x1e\xfe\x8e\xcd\xa2\x8a\x73\x40\xb0\x41\x5f\xcc\xd3\xbc\xc8\x96\xa2\x98\x67\xd8\xa2\xe0\x00\x68\x99\x4c\x80\xa7\x83\xfe\x58\x16\x9f\xe2\x99\xc4\xa4\xc9\x75\x63\xe5\x32\xb8\x3a\xe8\xe7\xf3\x65\x26\x24\x0d\x6c\xa6\x64\xa6\x80\x05\x3e\xf4\xff\xf8\x76\xa8\xd8\x11\xe2\x0f\x46\x84\xf2\x7e\xc2\xf3\xe2\x8d\x1a\x13\xdb\x0b\x9a\x97\xba\x7a\x85\x8e\x44\x32\x4f\xe5\xf5\x3c\x94\xaa\x1d\xeb\x15\x77\x06\xa6\x1f\x66\xd0\x92\xb5\x11\x27\x40\x75\x42\x61\x2e\xa4\x9e\x8a\xf0\x3b\xbb\x7b\xbd\x0d\x09\xfe\xe2\xfa\x40\x57\x33\xbb\xe2\x8a\xbf\xf0\x47\x5e\x45\x0e\x09\x36\xa0\x61\x43\x7f\x8b\xe3\xd0\x80\x17\x31\x62\x0a\xc2\xd4\xab\x79\x56\xed\x52\xa1\x76\x05\x54\xb3\x5a\x53\xe0\x34\x50\x57\x61\x3c\xd1\x17\x13\x9e\x9d\x14\x78\x40\xca\x72\x23\xe9\x88\x34\x35\xd6\xf0\xaa\x2c\x2d\x68\x3a\x6d\x3a\xaa\x4f\xb9\x01\xac\x03\xaf\xe6\xbe\x14\xfb\x65\x9e\x78\xc3\x81\xa9\x02\x1a\x2b\xf2\x4e\xab\x9c\x1e\x5d\x75\x3a\x68\xa8\x72\x0a\x9b\xa1\x6a\xb0\xa8\x20\xf5\xfc\xc4\x11\xee\xa8\x53\xdc\x6a\x00\x8b\x7a\x86\x08\xab\xe1\x85\x26\x4d\x15\x13\x13\x1e\xef\x09\x60\x5b\x54\x69\x35\x12\x45\xb7\x73\x3f\x1c\x59\xd5\x54\xfd\xd2\xe7\x63\x55\xef\xcd\x6a\xd9\xb9\x02\x1d\xaa\x6c\xb3\x41\x29\xb7\x36\xab\xab\xbb\x72\x63\x17\xba\x81\x42\xf6\x0e\x55\xbd\x6b\xde\x4c\x19\x00\xbf\x00\x85\x39\x31\x1c\x2c\xfc\x70\xe0\x3b\xd5\x5f\xa9\x5f\xa0\xbe\xa6\xcb\x82\x45\x1c\x13\xcf\xe2\x53\xea\xc5\x0e\x9b\xc5\x76\x9c\xce\x23\x8c\xd8\xcc\xde\x77\xc6\x2f\xfc\x50\x61\xab\x75\x5d\x1b\x87\xd9\xd2\xcf\x82\x38\xce\x8e\x8a\x4f\x30\x54\x02\x2d\x7c\x6f\x3a\xab\x94\x66\x2b\x85\x35\xeb\x50\xf3\xdd\x62\x9e\x0a\x5e\xe0\x9a\xd2\xa5\xc2\x46\xc3\x4b\x61\x63\xbd\x17\x5b\xf2\x8f\xe1\x36\x85\xfc\x82\xb8\xfe\xa8\x62\xec\x55\xef\xd4\xfc\xee\xc7\x69\x5e\xf0\x54\xa8\xfd\xa5\xc1\xc8\x90\xbb\xa2\xaa\x64\x9b\x7e\xdd\x6a\x87\xf7\xf9\x62\x91\x3c\x29\x6a\x1f\xb8\xab\xba\x39\xc5\x0d\x34\x1f\x05\x59\xbb\xff\x52\x6d\xf5\x27\x55\x4b\x45\x48\x35\xe3\xff\x2d\xb4\xc7\xcf\xbd\x1d\xe4\x22\x2c\x8f\x3a\x82\xf6\xf2\x6c\x24\x1d\x91\xa1\x60\x0f\x2e\x6c\xac\xa1\x60\xa8\xfb\xf5\xcd\xf5\xf9\xcd\x57\xe4\x72\xc7\xf9\x4d\x1d\x5a\x48\x3c\xbf\x39\xfb\xfc\xee\xe2\xfa\x13\x72\x61\x3f\x2a\x50\xc6\x50\xf7\xf6\xec\xe6\xfd\x05\xda\x45\x51\xc8\xa0\x06\x0c\xbb\x89\xf1\xea\x30\x3c\x78\x5f\x60\x19\x30\x67\x7c\xf8\xc2\x55\x90\xa2\xae\x6f\x43\xfa\x13\xd0\xdf\xc2\x16\x3b\x72\x6f\xd3\xd9\x8a\x70\xd6\xf2\x22\xe0\x75\x70\x40\x5c\x0b\x50\x3d\xa8\xcd\xb2\x57\xcf\x96\x42\x2a\x26\x1f\x7a\xcb\xd3\xfd\xc1\x11\xdd\x3f\xfa\xef\xff\x1c\xec\x0f\x06\x2e\xfc\xbf\x8f\x7a\x01\x39\xfc\x8f\x8b\x5f\xaa\xbe\xc4\xf9\x35\xbf\xc6\x82\xa8\xbd\x61\x51\xc0\xf5\xa6\x15\x4c\x0c\x0f\x8e\xdc\x23\x23\x4f\x7b\x50\x68\xb5\x06\x0a\xcf\xf3\x54\xde\x44\x51\x2e\x0b\x85\xbf\x38\x0b\xbc\x80\x89\x9f\x70\x78\xf0\xdd\x1c\x35\xe6\xb3\x81\x89\xc7\xfb\xb9\x2c\xde\xc5\xe9\xb2\x90\xb9\xfe\x52\xbd\x90\x5e\x23\x6e\xb0\x10\xc9\x23\x90\x94\x01\x3b\xc5\x01\xd1\xd8\x0b\x13\xaf\xc8\x9e\x56\x41\x5f\xce\x16\xc5\x13\x26\x6b\x01\xc8\x91\x93\xd5\x5a\x4f\xcd\x29\x46\xc7\x61\x7c\xff\x2b\x22\x6a\x23\xca\x54\x11\xbb\xfd\x49\x31\x4b\x4c\xc9\xea\x74\x56\xb4\xa8\x11\x8c\xbd\xe7\xc3\x97\x58\x10\x57\x54\xd8\xf6\x0f\x7c\xec\xff\xf1\xeb\xa8\xf7\x2b\x39\x24\xfe\xd1\xa8\x91\x0c\xfe\x71\x8c\xfd\x6f\x0f\xdf\x0e\x46\x3d\x72\x48\x2d\xe1\x44\x43\xc0\x1f\xa3\xde\x4b\xb5\xd7\xab\xce\x85\x16\x55\xdc\x12\xf4\x3d\xc2\x06\xb0\x7a\x15\xca\x4d\x31\xa6\xaa\xa7\x19\xe2\x7a\xaf\xe1\x65\x45\x8b\x8a\x9f\x61\x1c\x94\x25\x42\xa4\xa2\xe5\x1d\x44\x2c\x1a\xb0\x16\xd4\xd1\xc8\x0b\x1c\x07\x4b\xa6\xc8\xfe\x7a\x4c\xdf\x7a\x87\x63\x8a\xfe\xcf\x8b\x01\x22\x80\x97\x2b\x52\x09\x31\x44\x28\x50\x50\xa1\x2e\xd4\xcf\x97\x81\xde\xd1\x78\x40\x43\x42\xa3\x56\x52\xd8\x3b\x22\x84\x4a\xf6\x28\xb0\x24\xf4\x44\x13\x7c\x11\x3b\xc1\x11\x19\x3e\x0a\x1c\x11\xb7\x33\xa0\x45\x0d\x0e\x25\x19\xbe\x05\xc2\x8e\x0c\xd5\x5f\x4d\x51\x44\xc4\x05\x5a\xcf\x57\x7f\x69\x34\xd2\x6f\x11\x21\xeb\x5d\x1b\xe4\x7d\xd0\xcc\x82\x3f\xf2\x66\x38\xb0\x09\xdf\x90\xac\x14\x7e\x1d\xb6\x93\xc9\xca\x50\xd8\x09\xc7\x21\xed\x0c\x48\x0f\x77\x06\x0a\xa4\x0c\x11\x72\x11\x43\xbd\x44\x51\x05\x9d\x01\x51\x6d\xba\xff\x42\xde\xba\x7f\x0d\x2c\xfc\x6b\x1e\xa7\xb0\x16\x2e\x42\x96\x7c\xcb\x66\x0f\xab\x1a\x9a\xd5\xf8\x3f\x2f\xfe\xe3\x70\x1c\x53\x55\xcc\x4a\xfc\xf9\x5c\x25\xee\xa9\x25\xb1\xb3\x9e\x42\xd6\x1e\xb2\xe0\x4a\xc2\x5b\x42\x91\x6d\xd9\xb8\x3a\x12\x4d\x15\xbf\x0c\xa0\x8a\xff\x69\xb7\x76\x02\x89\x6e\xbb\xb1\x5f\xd4\x36\xe9\xb6\xd3\xce\x20\x23\x6d\x97\xd6\xbd\xf2\xda\x39\x07\x87\x63\xca\x87\xb0\xcd\xdc\x76\x8f\xff\x6e\xe3\x02\x1a\x52\xc9\x3e\xd4\x42\xb6\x86\xdc\x91\x5e\xaf\x17\x12\x20\xa8\x3e\x28\xc4\xdc\xe3\xf4\x15\x10\x49\x63\x59\x9c\x14\x45\x16\x07\xcb\x42\x62\xd1\x90\xf7\xc2\xb3\x84\x18\x16\x0f\xbf\xd5\x1a\x1c\xa0\x0f\x16\xd3\xc4\xc9\x8a\xf7\x18\xe2\x8b\x05\xf2\x3a\xc0\x81\x4e\x78\x5e\xb7\xb1\xf9\x5e\x61\x94\x00\x0e\x4f\xab\x37\x1c\x36\xc6\xf7\x2b\xd7\xac\xa1\x6a\x02\x8e\xd7\xdd\x52\x66\x4f\xb7\x32\x91\xc0\x52\x20\x1f\xf5\x78\x3d\x83\xc8\x45\x74\x0f\x7d\xfb\xe6\x22\xd2\x43\x23\x44\x74\x9b\x92\x86\x4c\xee\x6a\x13\xaa\xec\xeb\x7b\x9e\xf3\x98\x19\x39\xce\xdf\x43\x2c\x28\xd2\xa9\x07\x61\x8c\x08\xe5\x58\xd0\x70\xe8\x87\x23\xd7\x1f\x51\x69\x53\x28\xcf\xb5\xb0\xf7\x0c\x0b\x85\xe3\x04\x5b\xa9\x8a\xd9\x7b\xbc\xaa\xea\x75\x3b\x47\x6b\x2a\x88\x41\x1b\x16\x7d\xa0\x81\x36\x10\xca\xfd\x38\xfd\x4b\x0f\xc8\x08\xe6\x43\xa6\xc0\x2f\x63\xec\xb7\x21\x0a\xe7\x02\xa8\x04\xe4\x02\xb0\xf7\x1a\x3e\x3b\x28\xf2\x22\x5b\x84\x88\x86\xcd\x26\x3a\x3e\xa4\xc8\x49\x8a\xd6\xc6\xfa\x55\xa5\x8d\x55\x1a\xf1\xd6\x15\xa7\xc1\xfb\xcb\x34\x9f\xc4\x51\x81\x7d\xd4\x5d\x64\xf3\xfb\x38\x94\xa8\xbd\x04\x5a\x76\x8a\x51\x37\x9b\xcf\x8b\x8b\x44\x42\x2f\x68\x40\xd6\x23\xe2\x89\x7e\x28\x83\xe5\xf8\x4d\x1a\xcd\x2f\x52\x1e\x24\x32\x74\x1c\x03\x09\x7c\xd4\x15\xf3\xd9\x22\x4e\xe4\x7b\x5d\x6d\xb6\x59\xef\x66\x51\xc5\x6d\xa9\x4a\x9b\x3e\xa1\x74\x8c\x88\x17\xb2\x28\x50\x54\x61\xbd\x48\xc4\x0b\xfb\x71\x7a\x3f\x9f\x4a\xd5\x8a\xea\xd6\xad\x98\x2f\xa4\x5a\xf6\x76\x27\xeb\x2e\xa8\xc7\x6a\x76\x51\x0b\x1b\x69\x69\x08\xef\x77\x35\x39\x66\xaf\x4c\x3f\xe4\x05\xc7\x76\xc1\x90\x78\x0a\x9d\x60\xae\x90\x96\x2d\x92\xa7\x92\x1d\xfe\x71\xfd\xea\xcf\x8b\xeb\x93\xd3\xab\x8b\x3f\xcf\x2f\x4e\x3f\xbf\xfa\xf3\xcd\xf5\xcb\x9b\xce\x21\x8d\xf4\xa7\xf3\x8b\x97\x17\x1f\xff\x3c\xbd\xb9\xf9\x74\xfb\xe9\xe3\xc9\xfb\xce\xa1\xf7\xc1\x71\xa4\xe6\x99\x3f\xf4\x53\x3e\x93\x5a\x2e\xb2\x39\x2b\xac\x33\xa0\xfa\x3b\xd3\x3f\xf5\x8a\x4a\x8a\xd4\x5a\xc6\x11\xfe\xe0\x38\x9d\xa8\x55\x55\xcd\xb9\x63\xe2\xed\x2e\x1d\xa9\xd2\x5e\xa8\xce\x4d\xbe\x9c\xc9\xd3\xf9\x5c\xed\x23\xbe\x60\x36\x06\xf8\x0e\x46\x08\x2c\x28\x1e\x62\xb2\xf6\x1e\x71\x5d\xd1\xb9\x8c\x64\x96\xc9\xb0\xae\x90\x38\xce\xf7\x3f\x62\xeb\x1c\x75\x43\x4c\x56\xa6\xb3\x68\xe7\x64\xa2\x9e\xfe\xec\x7d\xe8\x27\x73\xc1\x55\xa9\x7e\x26\x93\x39\x57\x9d\x68\x70\x3e\x97\x9a\x1c\x0a\x79\x5f\xea\xad\xa0\x20\x79\x73\xba\xd4\x94\x75\x02\x4b\x54\xa5\x66\xae\xa1\x6f\x01\x34\x61\xd4\xed\xaa\x64\x1e\xc4\x49\x5c\x3c\xd9\x50\xf8\xa4\xba\x31\x81\xdb\xc0\x3f\x51\x53\xae\x9a\xdb\x40\x6e\xa0\x57\x9d\x03\x87\x43\x0e\xf7\xb9\x8a\x29\xbc\x9a\x3f\xc8\xec\x8c\xe7\x12\xab\xcd\xd4\x08\xf9\xa4\xb9\x4d\x0e\xa0\x97\xa7\xa2\x42\xdb\x8b\x00\x13\x0f\x67\x9c\xdd\x2b\x0a\xfe\x43\xff\xaf\x0f\x0a\x06\xba\x7c\xf8\xc1\xe7\x23\xf7\x81\x38\x4e\xc6\xfb\x51\xda\x9f\xa7\x43\x7c\xca\x32\x4e\xdf\x63\x48\xa0\xab\x5c\x1d\x0e\xf7\x23\xef\xc3\x03\x8d\xf3\x79\xc2\x0b\x79\x5b\xa5\xda\xef\x54\xcc\xd3\x22\x9b\x27\x89\xcc\xd4\xa7\xe6\x8d\x56\xb3\x07\x25\xcc\x33\x8d\xd3\x89\xcc\xe2\x42\x86\xe7\xbc\xe0\xfa\x8b\x95\xb0\x26\x34\x60\x19\xef\x8b\x44\xf2\x54\x25\x50\xfb\x85\xd9\xc0\x00\xa0\x1d\xec\xe4\x80\x7c\x08\x58\xe7\xa8\x91\x73\x01\xe4\x67\x03\x1a\x79\x1a\x34\xe3\x08\x2e\x90\x08\xc8\x00\x71\xc8\xf6\x32\xde\xff\x13\x4e\x6a\x44\x91\xbc\x57\x8c\x14\xc0\xfc\xb0\xdf\x0d\x65\x5e\x64\xf3\x27\x35\x33\x38\x22\xfd\x22\x8b\xc7\x63\x99\xbd\xe6\x69\x98\xc8\x0c\xa3\xea\x3b\x22\x5e\x00\x47\xda\x3d\x65\x1f\xbd\x66\xd3\xb0\x53\xef\x54\x28\xae\xd8\xba\xc8\xa8\x19\x81\xcd\x2d\xc4\x33\x79\x87\xa8\xda\x10\x43\x44\x45\x59\xa2\x4c\xde\x2d\xe3\x4c\x86\x68\xd7\xd5\xd0\x2d\xaf\x19\x0a\xc7\x79\xab\x45\xa2\x01\x0b\xfc\x4a\x90\x71\x70\x34\x22\xde\x5d\x00\xd7\xc4\x94\x53\x94\xce\x8b\x7d\x5e\x5f\xb2\xd0\xfd\xf1\xbc\xd8\x47\x3d\xbc\xfb\xb6\x61\xd8\x12\xb8\xc1\x81\x29\x4b\xa4\x05\x57\xc8\xad\x39\xb3\x5d\xfd\xfa\xd4\x08\x7a\x50\x5b\x2a\x09\xcc\xa4\x35\xde\x80\x87\x70\x2b\x4d\x39\xf1\xac\x5b\x14\x61\xcf\x4f\x25\xef\xd9\x0f\x3c\xce\x78\x45\x71\xf7\x11\xa9\x05\x5c\x8a\xa8\x08\xac\xab\x42\x3a\x61\x03\x6f\x72\x1c\x79\x93\x5e\x8f\x84\x8c\xfb\x93\x11\x0d\x60\x6e\x14\xda\x27\x7e\x58\x03\x5d\x45\x0a\xec\xa9\xe9\x19\x2e\x05\x96\xb4\xcd\x06\x66\x40\x38\x56\x8d\x70\x40\xa3\x54\xb4\xe7\x17\x08\x9a\x23\x8f\x77\x18\x53\x24\x80\xea\x60\x2a\x1f\x8b\xdb\x38\x48\xe2\x74\xac\xb7\x57\x1c\xe1\xb0\x2c\x03\x5f\x8e\x40\x7a\x15\x96\x25\x0e\xd9\x69\x2d\xa9\x08\xe8\x40\x51\x02\x96\x94\xaf\x06\x8a\x2d\xf1\x59\xc4\x1b\x41\x40\x5b\x7e\x08\x7c\xb0\x25\x1c\x01\xc0\xd5\xc0\x31\x8d\xa0\x1a\x21\x82\x1f\x8c\x14\x0b\xed\x07\x23\x26\x30\x21\x86\x95\x7b\x63\xe3\x28\xc5\x98\xbc\x31\x88\x33\x60\x6a\x39\x91\x51\x30\x41\x54\xb7\x4d\xbc\xa0\xdf\xed\xce\xe2\xf4\x22\xcb\x58\xf3\x58\x96\x6f\x6a\xc2\x5c\x95\x9a\xcd\xc3\x65\x62\xd3\x02\x06\x2c\x29\x22\x70\xf3\xd2\x2f\xa2\x13\x3a\xfe\xde\xae\x89\xcc\xae\x09\xad\x4d\x53\xd5\x4e\xbc\x89\x21\x12\x6d\x01\x78\x04\xc7\xc1\x8f\x46\xac\x25\x27\x50\xdd\x8a\xec\xfe\x58\x13\x15\xd0\x3d\xa1\xb8\x36\xb2\x8a\xca\x12\x47\xac\xb9\x90\xb5\xf3\xfb\xea\x20\xa8\xa5\x42\x23\xec\x2b\xd4\x5f\xcb\x5e\x1a\x64\x7e\x61\x1d\xf7\x00\xdb\x92\x2a\x0b\xa4\x4b\xb2\x92\x8e\xf3\xa8\x39\x37\xa9\xe6\x10\xc6\x73\xad\x50\x57\xa4\xc8\x13\x4d\x02\xf1\xef\x36\xa1\x8e\xc7\xc4\x4c\x8c\xc0\x28\x9d\xcf\xe6\x21\xa2\x51\x45\x20\x2a\x12\x53\xfd\xc9\xd4\x9f\x82\xb5\xa9\x10\xa4\x69\x1f\x44\xf5\x50\xa8\x24\xf4\x82\xad\xfe\xd4\xa9\x1f\x96\x72\x29\xdd\x90\xfe\x29\xe6\x69\x14\x8f\x4f\x93\xb9\x98\xe6\xae\xa4\x7f\x66\xcb\xd4\xbc\x64\xd4\xc0\xa6\xdc\x9d\x50\xb5\x1e\x6e\x44\x0d\xe9\x97\xb9\x01\xb6\xe8\x40\x54\x25\x2b\x26\x99\xab\xd6\x9f\x36\x32\x98\x54\x44\x68\x2e\xb3\xfb\x58\xc8\x8d\xef\x26\x15\x11\x0a\x54\xa4\xcb\x5b\x5f\x21\x0d\x11\x0a\xe0\x8a\xa7\xc5\xc6\xe7\x2a\x19\x51\x64\x28\x42\xb5\xbd\xa5\x98\x67\x5c\x61\xa2\x56\x4b\x7b\xa8\xfe\xa0\x88\xf5\x34\x9e\x01\x79\x00\x99\xf4\x9b\x45\x87\xa2\x4c\x8e\xe3\xbc\xd0\xe3\x8a\x93\xc2\x8c\x5b\x3f\xee\xce\x66\x21\x46\x95\xb5\x79\xdd\x9d\x3d\x8c\x33\x29\x8a\xf8\x5e\x9a\xdc\x1b\x84\x30\xaa\xbf\xeb\xaa\xa3\x78\xec\x16\x34\x5b\xa6\xae\x8d\x15\xb3\x4d\xb0\x52\x4c\xe2\x7c\xbd\xf6\xc6\x8e\x53\xe0\xb1\xb5\x9d\xc8\xda\x26\x21\x24\x40\x91\xf7\x38\xa0\xab\xa0\xa2\xb3\xdc\x67\x41\xc5\x7c\xf1\xe4\x4e\x38\x95\x8f\x85\x4c\x43\xf7\x3d\x9d\xc9\x6c\x2c\xdd\x2f\x21\x95\x77\x4b\x9e\xe4\xee\x94\x53\x83\xfa\xdc\x53\x6a\x34\x74\xdc\x59\x83\xfa\xa3\x80\xa6\xf3\xf9\xc2\x7d\xa2\x41\x9c\x86\xee\x52\xd0\x62\xfe\x36\x9f\xa7\xae\x0c\x68\x94\xcd\x67\xf0\x7c\x2f\x68\x1c\xca\xb4\x88\x8b\x27\xb7\xcb\x69\x9c\x7f\xae\xe4\x82\xee\x3d\x8d\xf3\x73\xf3\x7c\x42\xe3\x5c\x4b\xc2\xdd\x57\x34\xce\x5f\x9a\xce\xbb\x8f\x34\xce\x35\x9c\x72\xcf\x68\x9c\x5f\xc3\x9d\xb7\xfb\x85\xc6\xb9\xa1\xea\xdd\x5c\xd0\x38\x3f\xc9\x32\xfe\xe4\xbe\xa5\x7b\xf7\x32\xcb\x55\xb9\x48\x11\x36\xe7\xbc\x90\xae\xe4\x34\x51\xb4\x95\xe0\xb9\x74\x5f\xd2\xe5\x62\x61\x9e\xf3\x80\x2a\xb0\x1d\x70\x75\x08\x56\x62\xbe\x4c\xd5\xc2\x0f\xd6\x74\x2c\x8b\x4f\x0d\xa9\xe7\x72\x49\x2b\xa0\xe8\xbe\xa1\xdd\xae\xc8\x17\xee\x4b\x4e\x35\xa1\xf9\x35\x2e\x26\xe7\x15\x89\xee\x76\xc3\x35\xf1\x3e\x06\x2c\x94\xf8\x83\x7a\x00\xc0\x4b\x7d\x94\x8e\xaf\xe6\x82\x27\x12\x8d\xe8\xf7\xf9\xaa\xea\x70\xe1\x55\xb7\x9b\xf3\x34\x2e\xe2\x67\xf9\x39\x8b\xdd\xb1\x5c\x2b\x26\xa8\xfe\x6c\x71\x31\xe7\x82\xf4\xeb\xad\x83\x57\xdc\x9d\x48\x1a\xa7\x8b\x65\xe1\x5e\x08\x5a\xc8\xc7\x82\x67\x92\xab\xe7\x68\x9e\xcd\xdc\x58\xd2\x5c\x64\xf1\xa2\x70\xff\x92\x34\x07\x6e\xd9\x9d\x4a\x9a\x17\x4f\x89\x74\x13\x49\xe7\x0b\x98\xf2\x99\xa4\xe9\xf8\x54\xad\x68\x5a\x3d\xbd\x2e\x66\x89\x3b\xaf\xde\x3e\xc9\xd9\x42\x91\x88\xee\x42\xa5\x9c\x25\x3c\xcf\xdd\xbb\xfa\xf1\xe2\x5e\xa6\x6e\x56\xbf\xde\x84\xa1\x9b\xeb\xb7\x39\x9f\xba\x05\x3c\x36\x87\x67\xa9\xde\x5f\xaa\xde\xdd\xab\xa7\xd7\x71\x28\xdd\x07\xf5\xf4\x26\x72\x1f\xe1\x37\x15\xc9\x32\x94\xee\x93\x7e\x89\x0b\xf7\x59\x3d\x5d\xcf\x53\xd5\x15\xc5\x12\xb9\x27\x92\xee\xa5\xe3\xf7\xc9\x32\xe3\x49\xfc\x2c\xdd\x53\x95\xe1\xa3\x5c\x48\x5e\xb8\x67\xea\xf9\x76\x32\x7f\x70\xcf\xe1\x09\xc6\x7a\x01\x8f\x0f\x71\x21\x26\xee\xcb\xe6\xf9\xeb\x44\xa6\xee\xab\xe6\xfd\x5c\x46\x7c\x99\x14\xee\x6b\x95\x74\x03\x93\x93\xbb\x6f\xd4\xcb\xa7\x8c\xa7\xb9\xee\xd7\x5b\xf5\xfe\x6e\x1e\xca\xc4\xbd\x54\x8f\x57\x71\x5e\xb8\x57\x30\xca\x09\x4f\xc7\xd2\x7d\x27\xe9\x82\x17\x85\xcc\x52\xf7\xa5\xa0\xe9\xf8\x7d\xf3\x52\xd1\x84\xee\x2b\x01\x3d\x6e\xde\x66\x71\xaa\x29\x13\xf7\xb5\xfa\xf4\xce\x7e\x9d\xf1\x47\xf3\xf2\x06\xbe\xb5\x5f\xbf\x00\x5c\xbd\xae\x7b\x55\xf5\xfb\x46\xae\x5b\x7b\xa5\x99\xd9\xf7\xed\x2f\x45\x60\xbf\xbd\x15\xad\xbd\xb7\xea\xf2\x54\x4c\xe6\xd9\xad\x50\xeb\xe7\x7e\x90\xb4\x82\xa6\xee\xc7\xe6\xf9\x2c\xcf\xdd\x5b\x75\x6a\xcc\xbb\x46\x42\x9f\x54\xca\x89\x4e\xf9\xb8\x4c\x53\x99\xb9\x9f\x25\xed\x06\xd9\xfc\x21\x57\x67\x5a\xd2\xae\xe0\x62\x22\x5f\x1a\xcc\xf2\x55\x25\x34\x3b\xe5\x37\x49\xbb\x95\xd4\xc3\xfd\xbb\xa4\x5d\xf9\x28\x24\x0c\xce\x50\xf0\xee\xef\x92\xee\x19\xa0\xed\x5e\x0a\xda\xed\x46\xf3\x4c\xc8\x8f\x32\x4a\xe6\x0f\x6e\x57\xd2\x6e\xac\x4e\xf8\x02\xd8\x1b\x97\x47\xe6\xfd\x9e\x27\x6e\x10\xd1\x2e\x68\xe1\x0a\xf3\xf0\x9e\x67\x7c\x76\x2b\xb3\x18\x76\x54\xe6\x86\xbb\xd3\xdf\x7e\xb8\x8a\xa7\xd2\x95\xe6\xeb\x29\x17\x53\x05\x4a\xa3\x88\x76\x1f\x27\x59\x35\x90\x71\x44\xbb\x15\x7f\xea\x4e\xe0\x65\xec\xfe\x15\xd1\x2e\x5c\x45\xb8\xd3\x88\x36\x42\x0b\x37\x89\x68\xf7\xce\x9d\x45\xb4\xdb\xbd\x73\xd3\x88\x76\x73\x21\xdd\xb9\xfe\x3d\x97\x89\x1c\xc3\xc1\x53\xef\x69\x1c\x45\x32\x73\xef\x22\xda\x2d\xcc\x89\x3c\x53\xf3\xe7\x66\x56\x8a\xda\x54\x32\x2f\xdc\x5c\x55\x68\x31\xb0\x6e\xa1\x32\xc5\x33\x39\x5f\x16\xee\x32\xa2\x5d\xad\x8f\xe3\xde\xab\x7c\xd9\xc9\x4b\xf7\x41\x3d\xfc\x75\x77\x15\x17\xd2\x7d\x54\xcf\xaf\x79\x3e\x79\xc7\x17\xee\x93\x7a\x11\xf3\xf9\x34\x96\x1f\x25\x57\x34\xc2\x73\x04\xe2\x8f\x06\xe3\x8c\x5b\x7a\x3c\x35\x1b\x7c\x12\xb5\x45\x2d\xa1\xa2\x9b\x2a\x69\xeb\x30\xec\x17\xf3\xcf\x0a\x38\x6b\x26\xd8\x0d\xd7\x8d\xb0\xea\x34\xa2\xe8\xdd\xfc\xb9\x7b\x64\xf3\xdd\x57\x42\xb3\xf5\x8d\xa6\x6e\xa3\xbc\x0b\x3a\xbb\x65\xd9\x09\xca\xf2\xbf\xdb\x3a\x46\xef\xc4\xa6\x14\x93\x1b\xea\xfb\xdc\x6c\xae\x97\x19\x1f\x83\x90\x80\xd0\x88\xf9\xa0\xe8\x70\x1b\x68\x69\x4a\x40\xe0\xca\xa7\x2c\xa5\xb9\x25\x39\x9b\xc4\x49\x88\xab\x1a\x0c\x4a\xc2\x28\x8c\xef\x11\x21\x5e\xc8\xf0\x59\xd4\x97\x8f\x52\xc0\x2d\xae\x8f\x10\x45\x68\x04\xf7\x22\x2d\x86\xdf\x0b\xd9\x8c\xfb\xe1\xa8\x2c\x67\x8a\x79\xd5\x60\xc7\x13\xfd\x58\x1d\x92\xd7\x9f\xde\x5d\xb1\xd0\x3f\x1a\xf5\x9a\x99\x3c\x8f\x28\x3a\xee\x1e\xfd\x7a\x7c\xd8\x7d\xf1\x2b\x22\xbd\xd0\x7f\x31\x32\x12\xdf\xd0\x1f\x8c\xbc\xf0\xe0\xc0\x23\x82\x09\xd0\x6f\x80\x3e\x7a\x11\x0b\x03\x1c\x51\xd1\x17\xea\xf5\x7a\x1e\xca\x9c\x78\x82\xc9\x7e\x14\x67\x55\x1e\xd1\x57\x38\x43\x41\x67\xc5\xee\x22\xa4\xf5\x09\x22\x43\x76\x98\x41\x7e\x92\x8f\x05\x28\x43\x28\x96\x51\x6e\x94\xf0\xa4\xd5\x69\x84\xbc\x19\x8e\x5a\x58\x6e\x63\xde\x2c\xb9\x91\x6c\x96\xe8\xa3\xd1\xe3\x0e\x5a\x77\xb4\x0d\xf3\x08\x4c\x9c\xf7\xaa\x62\x93\x3f\x29\xa6\x78\x8f\xb3\xce\x40\x4b\x72\xb0\x22\x8b\xda\x45\xa1\x3a\xee\x38\xe8\x18\x75\xec\x6b\x51\x43\x71\x7f\x52\x88\x7a\x9e\xcb\xa4\x61\xce\x41\xbb\x04\x07\x64\xad\xf5\x99\x38\xfb\xcd\xa8\x78\x05\x0c\x0b\x76\x51\xaf\x2a\x19\xfa\x9b\xab\x2f\xfc\xa3\x11\x19\xb9\x58\x30\xb3\xd7\xc8\xd0\x9e\x75\xd7\x1f\xad\xaf\x05\x74\x92\xda\x2a\x72\x9f\xdb\x87\xa6\xa5\x74\x62\x5d\x7f\x9b\x1b\x56\x5e\x96\xf7\x41\x2d\x29\x6e\xc9\xbf\x4f\x92\x84\x34\x1a\x23\xdb\x1f\x31\xfa\x09\xd8\xc2\x01\x95\x4c\x6c\xea\x72\xdf\x07\x58\x28\xb6\xda\xba\xec\x14\x2d\x2d\xb1\x13\x1c\xda\xd3\x36\x8f\x22\x9e\x8d\x73\xa3\x01\x27\x19\x0e\xd9\x03\x28\x90\x39\x4e\xd8\xd7\xe2\x17\x1a\xb1\x50\xbd\x4d\x00\x4c\xab\x0e\x47\x04\x66\x75\x86\x6b\x21\xc0\xbe\x7d\xed\xc6\x4d\x43\xa2\x96\x7b\x4b\x9f\x8f\x3c\x11\x60\xd0\x19\xa3\x02\x46\x1d\x3a\xce\xe0\x78\xaf\xd2\x94\x36\xbb\x63\xad\xce\xc8\x6c\x7e\x2f\x15\x15\x52\x28\x5c\x2c\x53\x99\x61\x4e\x23\xda\x39\x22\x9e\xd1\xe7\x52\xd5\xad\x2d\xdd\x29\xbe\x1f\xa7\xfb\x92\x34\x12\x20\xc5\xde\x2b\x46\xf4\x07\x75\x51\xbb\xae\xe6\x6e\x7a\x43\x27\x2f\x1d\xff\xfc\xf3\x7f\xd3\x90\x09\xc7\x99\x80\x3e\x4d\xe8\x38\x98\x0f\x4d\xd9\x10\x44\xca\x3e\x1f\xb9\xb8\x9a\x1e\xc7\xc1\xd5\xbc\x59\x02\xab\xea\x2b\x5e\xad\xa9\x25\xa7\xa2\x37\x5a\xdf\xc8\x54\x07\x2d\x50\xd3\x28\x7b\xb0\xef\x24\x1e\x76\xf6\x4b\x34\xfd\xe2\x8e\x03\xb7\x29\x55\x69\xc1\x7a\xbd\x97\x11\x15\x0c\x3e\xb3\x95\xee\x92\xbb\x5a\x53\xd5\x65\xf5\xab\x7b\xe4\x3e\xac\x77\x29\x02\x7c\xb1\x05\x63\x00\xa8\xab\xa5\x54\xcb\x4a\x25\xeb\x84\x8e\xa3\xda\x3c\xc3\x5c\x81\xd9\x0e\x57\x07\x2b\x80\xbd\x43\x3b\x92\x80\x22\xb0\x6a\x09\x56\x9a\x04\x3e\x1f\x31\xe1\x55\xca\x38\x51\x03\x0b\xf6\xe2\x08\x4b\x62\xa9\x8c\xaa\x9d\xf2\x1e\x06\xbb\xb6\xaf\x8c\xdb\x0a\xcf\xed\xdb\xa6\xe1\xc1\xd1\xb1\xda\x82\x3d\xbc\x71\x0b\x85\x84\xa2\x60\x11\x81\x1b\xe2\x9e\xda\xa4\xcd\xf5\x89\xff\x2d\xfd\x56\x8c\x0e\xc7\x14\x92\xeb\x9b\xdf\x7d\xd4\xe3\x90\xd3\xb5\xb5\x5c\x9e\xaa\x53\x0b\x4a\x99\x56\x13\x8e\xf3\x83\x43\xd0\xce\x5a\xf5\x86\x7e\xc2\xff\xcb\xce\xd6\x37\x63\xfb\xa8\xf7\x09\x73\xc8\x0c\x5f\x48\x4b\xf4\xfc\xdc\x28\x73\x6c\xf5\xbb\xda\x49\xff\xbb\x9e\x78\x3f\x18\x3c\x67\xaa\x6b\xde\xc1\x11\x63\x96\x12\x62\x33\xbf\x8e\xb3\x87\x45\x8f\xe9\x97\x35\xf1\xbe\x3b\x59\x82\xd8\xba\x03\xd7\xa2\x19\x14\x40\xa1\x9a\x78\x20\x8d\x38\xb0\xd7\x1b\x31\xde\xa8\x8d\x8a\xc6\x74\x21\x8e\xf0\xb6\xde\xb5\x70\x1c\x6e\xf4\x99\x41\x2e\x08\x2a\x94\xa4\x31\x85\x18\x78\xe1\xb1\x56\x39\xdb\x68\xc2\x0f\x8d\xca\xde\x46\xba\xd5\xdf\xf7\xa2\xb5\x71\x4f\xd4\x9a\xa0\x2e\xea\x61\xb0\x3c\xb2\x38\x29\x35\xd3\xf6\x9b\x75\x3f\x51\x9f\xc5\xff\x66\x16\xb1\xa4\x45\xcc\xfd\x8a\xa4\x36\xd8\x8b\x18\xd3\x32\x50\x8e\xe5\xae\x3a\x4d\x81\x67\xdb\x75\x0c\x68\xa3\x84\x5b\x63\x0d\x0d\xae\xd9\xa9\xbe\x22\x0b\x8c\x3a\x59\x73\x9f\xac\x1a\x5a\xf0\x4c\xa6\x40\x39\x94\xe5\xd1\x11\x6b\x77\x25\xe8\x4f\xe6\x79\x61\x8d\xfb\x83\xa8\x44\xb6\x80\xf1\x14\x6e\x0f\x6c\x52\x85\x54\xc0\x59\x53\x12\xf6\x37\xfb\xea\xe7\x6b\x83\x2e\x97\x80\x2e\x2b\x00\xd8\xf4\xc6\x13\x8e\x23\xda\x95\xd9\x8a\xf9\x91\x75\xb9\xf3\x01\xd6\x5f\x71\xdf\x0a\xde\xaa\x1d\xc0\xeb\xf9\xeb\x67\x92\x87\x4f\xb7\x05\x2f\x24\x01\x85\x9d\x4f\x9a\xb8\xae\x15\x5c\x4f\x31\x27\xfd\x79\x8a\x51\x32\xe7\x21\x6a\xa1\xfe\x8f\x2d\x9d\xb6\xd3\xc0\xe7\x6d\xfa\xb0\x56\xc3\x14\x8e\x73\x2b\x7c\xd0\x18\x1f\x39\x8e\x05\x6f\x5f\x47\x76\x0d\xf5\x39\x12\x8a\xc2\x16\x7d\x10\xb3\x28\x9a\xf2\x7d\x06\x70\x5c\xb6\xae\x9c\xab\xba\xfb\xe1\x46\xa6\xb5\x67\x94\xa6\x7d\x59\x96\xa2\xaf\x76\xfb\x88\x4e\x58\x34\x8c\xcc\xfa\xbb\xa0\xf0\x39\x81\x0d\x7f\x8f\x45\x3f\x9e\xcd\x64\x18\x6b\xd1\xda\x82\x8f\x81\xe1\xb9\x2d\xe6\x8b\x85\x0c\x0d\xfc\x1f\x33\xd1\xcf\x8b\xf9\xe2\xcd\x8e\x9c\xde\xf7\x3f\xd9\xdd\xfd\x61\x33\x6c\xaf\x33\x30\xf5\x58\x1f\xd5\x02\x6f\x24\x61\xe2\x8d\x1d\x67\x6c\x4c\xab\xc8\x7a\xad\x66\x69\x57\xd3\x55\xc5\x5b\x13\x06\x0a\x2d\x3f\xec\xcc\xda\x3b\x3a\x9e\x80\x2a\xcf\x5f\x1c\x47\xa4\xb9\xe6\x48\xd8\xc0\x4b\x8e\x27\x60\xba\xf4\x0f\xda\xc5\xa4\x2c\x23\x3f\x19\x55\x37\x0c\xaa\xab\x9e\x80\x2b\x29\x16\xec\x40\xbc\x8f\x11\x26\x2b\x45\x5b\xf6\xbb\x63\x59\xec\x58\xe6\xf7\xf8\x23\x5d\x4d\x78\xae\xc5\x36\x96\x0c\x1b\x10\x8e\x36\x7e\x80\xbb\xa7\x41\x23\xa0\x36\xd8\x73\x4d\x79\x18\xfe\x2b\xe5\x9e\xab\x72\xe6\x74\xfd\x0b\x45\x0d\xc6\x5c\xaf\x6d\xe0\xfd\x8a\xb7\xa8\x18\x30\x09\xa9\xd5\xf9\xf7\x00\xea\x7e\xdf\x82\x45\x68\x5d\x93\xa6\x04\x26\x04\x8c\x72\x6b\x13\xc7\x6a\x36\x5b\x06\xaf\xa2\x2c\x2d\xdd\x63\xc7\xa9\x0c\x7b\x5a\xe6\x71\xa2\x87\x5c\x0d\x93\x3f\x87\x04\x13\x57\xbf\x5b\x5c\xe7\x67\x6e\xa1\x1d\xd3\xff\x81\x07\xeb\x94\xca\xc7\xe2\x73\xbc\x63\x83\xf5\x7a\x62\xbd\x9e\xe1\x80\x42\xb6\xc5\xb2\x80\x07\x0b\x6c\xbc\x89\x1a\x8e\x01\x60\xf9\x0e\x8b\xdc\x4f\x82\x22\x54\xe9\xc2\x7f\x16\x84\x0c\xeb\xc1\x61\x85\xb9\xfd\xa3\x91\xd6\x7f\xb3\x30\x74\xfe\x2d\xfb\x96\x8e\x7a\x87\x80\xa3\x7b\x88\x20\x17\x45\xa9\xa5\x87\x15\x19\xa0\xda\x5c\x52\x63\xbe\xeb\x56\x44\x53\x7f\xa0\x8b\xae\x86\x31\x17\x60\xd5\x61\xeb\xcf\x73\xb3\xa3\x9b\x1b\x2f\xad\x11\xf8\x89\x63\x6e\x5d\x16\x78\xc6\x42\x56\x5b\xde\x92\x80\x65\x7d\xcd\xde\x15\xb1\x36\x57\x83\xc5\xef\x04\xb0\xe7\x0d\x73\xf2\x9a\x63\xb4\x18\xcb\x02\x6e\x24\x2b\x73\x38\x9f\xf7\x50\x2d\x75\x1f\xd9\x62\x01\x69\xab\x22\x6e\x5a\x72\x0b\x76\x51\x29\x98\xe8\xd5\x80\x1e\xdd\x2b\xd2\xa2\x69\x0c\xf4\x5d\xed\xd6\x84\x35\xae\x68\xe3\xea\x4e\x8d\x73\xa5\x7a\xeb\x76\x8e\x3a\x8c\x89\xa1\x6e\xdf\x0d\x6c\x02\x0c\x94\x17\xef\x02\x7c\x5f\x2b\x7f\x57\x17\x65\xf9\xa7\xf9\x15\x60\x11\x7d\x13\x9c\xee\xf3\x2c\xe3\x4f\x86\x09\x0b\x98\xe2\x91\xbc\x96\x35\x8b\xbd\x5a\x61\xb5\x05\x03\xaa\x30\xf3\xc0\x58\x2d\xd5\x48\x3d\x38\x16\x5e\x50\x19\x55\x4a\xc6\xfd\x60\x44\x23\x96\x81\x16\x84\x84\x33\x1a\xf9\xd2\x3f\x1a\x8d\x8c\xca\x72\x44\xa5\xff\x62\x44\xf4\x25\x56\x0a\xd9\x38\x21\xab\x54\x6d\x59\xcc\x01\x75\x17\xd9\xd3\xea\x95\xa2\x28\xb0\x60\x1f\x03\x35\x10\xb5\x5d\x8d\xa2\xf7\x04\x2b\xf4\xab\x6f\xa0\x08\xa9\x52\x45\xbf\xb9\xa2\x22\x34\x54\xef\xd6\x8d\x96\x49\xb1\x2f\xb5\x08\x71\xf7\x1e\xb5\x8a\x3d\xc8\x2b\xb2\x6a\xc9\x38\x21\xee\xdb\xef\x7d\xb8\x85\x9d\x56\x5d\x3f\x1a\x9d\x51\xa9\x40\xa8\x5a\xd7\xb7\x5a\x45\x8d\x33\xee\x73\xeb\x2a\x9e\xca\xfe\x4c\xe6\x39\x1f\x4b\xc7\x91\xfd\xbc\xe0\x62\xea\x38\x8a\x52\x35\x2f\x35\xb9\x5a\xe7\x83\x7b\x41\x56\xbf\xf6\xd0\xb7\x14\xf5\x4c\x6e\x42\xd5\xf6\xd1\x5d\xc8\x32\x44\x39\x35\x1f\xca\xb2\x2e\x50\x96\x92\x78\xeb\xf5\x7a\xd7\x25\xfd\x58\x1f\xb5\xd6\x19\x92\x5a\x80\xb2\x79\x93\xca\xb5\x24\x04\xd8\x29\xc6\x12\x6b\xf7\x8a\x50\x2e\x10\x55\xd4\xf4\xf1\xc1\x3e\xea\x4d\x8d\x0a\x26\xbc\x59\xaa\x01\x8a\xd9\xb5\x14\x6f\xa7\xb5\x6a\x96\x5a\x52\x55\x6b\xa2\x7f\x04\xf4\xc1\x4c\x67\x54\x4d\x67\xd5\xae\xe3\x54\xd6\xc4\x3e\x1f\xd1\xc8\x5b\x47\x71\xca\x93\xe4\x69\x35\xed\xeb\xda\x6c\x90\xa0\xce\x9c\xa0\x11\x1d\x93\xd5\xb6\xae\x7b\xe4\x38\x78\xcc\xf6\x22\x1a\x99\xbb\x61\x6d\x52\xec\x8f\xe8\x94\x45\x0a\x42\xf3\x34\x9d\x17\x00\x24\x28\xa7\x63\x42\x13\x9a\xd1\x85\x97\x99\x5d\x9f\xb0\x69\xb5\xeb\xb3\xe3\xc4\xcb\xd4\xae\x5f\xb0\xa9\x9f\x81\xd4\xaf\xf1\x4c\x50\x35\xb7\xb0\x66\x2c\x2e\xa6\x29\xa2\x0b\xe2\x4d\x8c\x06\xae\xe3\x44\x9b\xf3\xbd\x20\xc3\xc8\x5f\x8c\xdc\x10\x2f\xe8\x98\x90\xb5\xa5\xda\x91\x8c\x2c\x05\x23\x7d\x90\x04\x9d\x54\x66\x41\x2b\xbd\x45\x5d\x49\x2d\x40\xe7\xb6\x15\xd5\x2a\x8e\xba\xad\x42\x80\x35\xe5\x6e\xef\x57\x97\x93\xc6\x84\x56\x9b\xe5\x10\x8f\x33\x05\x72\x42\xa8\xa8\xea\xc8\x19\x00\x9a\x47\x4d\xfa\x87\x70\x11\xe6\x86\xb4\x9a\x42\xb7\x35\xa1\x74\xc2\xf3\xf6\xed\xa4\x81\xb1\x5b\x7b\xce\x02\xb9\x64\xdb\x63\x01\x06\x46\x9d\x33\x20\xa7\xb8\xa7\xc9\xa3\xd5\x9a\x4e\xd5\x22\xa6\xa0\x11\xff\x99\x63\x1f\xac\xac\xe9\x82\xad\xaa\xdb\x33\x77\x55\xdf\x51\x0b\x1c\x12\xba\x57\x5d\x48\x0b\x1c\x35\xb7\xcf\x02\xef\x52\x35\x07\x70\xec\xef\x56\x01\x6c\xb4\x2b\x36\x70\xcc\x7a\x44\xd6\xd5\xb5\xf5\x0f\xaa\x05\x33\x68\xb0\xe2\xb6\xee\xb1\x37\xf3\x6b\xfc\x56\xdf\x67\x13\x6f\xa1\x4e\x46\xe0\x15\xf0\xb3\xb6\x6f\xb5\xdb\x05\x35\x36\xd2\xb0\xb8\x35\xb1\x34\x64\x02\xd0\x9f\x27\xb6\x28\x3f\xad\xf4\x52\xa3\xb0\xd0\x5a\x71\x0b\xaf\x81\x75\xe0\xaa\x1b\x56\x77\x0c\x5c\x91\x5e\xeb\x35\xcd\xd8\xa2\x5f\xcf\x14\x1b\xe3\xc5\x86\xf6\x7e\xc8\xfb\xd5\xd5\x2d\xec\xee\x69\xa5\x13\xe8\xd9\xb8\x71\x91\x21\xba\x09\x54\xd6\x84\x16\x6a\xa9\x2f\x58\xd1\x6a\xa1\xa0\xff\xdc\xa0\xa9\x42\xfc\x9b\x03\xd1\xc3\xa7\x82\x3e\x50\xae\x75\x88\xc1\xf0\xae\x25\x5a\x70\x9c\x8b\x06\x07\xac\xad\x8b\xf3\x86\xfd\xac\xd5\xee\x58\xc7\xd0\x69\x61\x9c\xf3\x20\x91\x27\xcb\x62\xae\x6f\xbf\xe2\x74\xdc\xd6\xdc\xed\x1c\xad\xbd\x86\xf4\xf6\x91\xb9\x53\x41\x14\xd5\xd7\x3f\xea\xd9\x52\x50\xb5\xc6\x09\xf2\x55\x9b\x1c\xa9\xda\x57\xeb\xe2\xc1\xfd\xb6\x65\x07\x9f\xcf\x67\xb2\xb2\x07\xd8\x90\x9b\x22\xae\xe0\xe3\x83\x65\x1d\xb6\x1f\x30\x85\x86\x77\x22\x8f\xa8\x92\xb5\x83\xb8\x09\xc6\xf5\x26\x2d\xe6\x5f\x62\xf9\x80\x2b\xab\x66\xc1\x26\xfd\x27\x6d\xa6\xe2\x3d\x62\x41\x86\x82\x09\x4c\xdc\x5c\xa8\x67\x2c\x98\xd0\xea\x54\x28\x8a\x1f\xb5\x3d\x3d\xd8\xa8\x9c\xcd\x67\x8b\x65\x21\x43\xb8\x72\xc5\x82\xf4\x17\xf3\x3c\x56\x6d\x0e\x07\xae\x50\x19\x4e\xe7\xcb\x34\x8c\xd3\xf1\x59\x12\xcb\xb4\xf8\x28\x45\x81\x49\x3f\x98\x17\xc5\x7c\x46\xdc\x2f\x95\xea\xf4\x40\xab\x64\x07\x5a\x43\x7c\x67\x99\x62\xbe\xa0\x7b\xdc\xf4\xfe\xf4\x09\x0f\x68\x70\x20\x88\xf1\x3b\x52\xa5\x7f\x9a\xe3\x01\x1d\x6c\x52\x57\x9c\xbd\xd2\xd0\x4e\x28\xb0\x34\x31\x43\x0e\x3c\x3e\xc4\x01\x1b\xab\x16\x8d\x5c\xe4\xf4\xe9\x8d\xa2\x9b\xc8\x50\x4d\x95\x8b\x03\x26\xb1\xfd\x39\x3f\x7d\xba\xe6\x33\x20\x29\x4c\x16\x54\xcc\x17\x20\x21\x70\x1c\x6d\x13\x49\x5c\xf3\xbb\xd6\x8c\x70\x23\x3a\xf0\x02\x50\x4f\x7c\xd0\xc8\x72\x07\x63\xae\xbb\xb6\xde\x38\x16\x9c\x69\xff\x02\x48\xfb\xa1\x79\x15\xd9\x65\x43\xcb\x74\x1e\x4f\xc8\xda\xda\xe6\x93\xb5\x25\xb0\x8e\x1b\x21\x5f\x27\x70\x9c\x5a\x47\x0f\x21\xa3\x15\x5b\x41\x43\x6f\x43\x83\xaf\x41\x65\xd5\xa9\x56\x47\xba\x21\x98\xec\xd4\xaa\x50\x0f\xc4\x77\x4d\xe3\x6f\x61\xdf\xbd\x6a\x6a\x6a\x64\x81\xc4\x78\xeb\x01\xa3\xc6\x4d\xb5\xe3\x4a\x58\xe6\x38\x7b\x5a\xfb\xad\x33\xd8\x6d\xe7\xf2\xc6\xb6\xad\x57\x8c\xc8\x30\x70\x57\x16\x6d\x71\x19\x35\x77\x1b\xed\xb3\xa7\x88\x9c\xca\x26\x0f\x20\xe3\x2e\xc7\x1b\xa4\x26\x5c\xe2\x08\x5f\x1c\x1c\x50\x85\xc3\x2e\x40\xf2\xe7\x5d\x56\x84\x05\x51\x55\x5d\xf6\x17\xf3\x05\x26\xb5\xe1\x55\x40\x56\xa2\x0f\x0e\x9f\xc0\xba\xcf\x3e\x8f\x64\x15\x73\x7d\xe8\xd5\x76\x1c\xe3\xd6\x96\x25\x2b\xee\x42\xdf\x96\x2c\x55\x44\x62\x21\xbd\x20\x93\x7c\xba\xcf\x2d\x73\xa7\x25\xbb\x9f\xc7\xe1\xfe\x40\x3d\xe0\x25\x19\xaa\xca\xdc\xa5\x37\xe5\x78\x49\xaf\xd4\x54\x2f\xd9\x15\xf1\xae\xd8\xd2\xa6\x21\x61\x0b\x3c\x77\x18\x4b\xfa\xcb\x2c\xc1\xa4\x2c\xef\x3a\x8c\x2d\xc9\x73\x95\x40\xef\xd8\x92\xce\xf0\x4d\x1b\x94\xe2\xea\xeb\x52\xed\x31\x8d\xbd\xe1\x6a\x6b\xca\x82\x5a\x29\x9b\xa6\x2c\xe8\x4f\xe2\x5c\xe1\x67\xba\x60\x81\x25\x1e\xa3\x19\x18\x58\x4b\x9e\x55\x09\x0a\x25\x78\x49\x3f\xce\xdf\xcd\xc5\x94\x19\xb7\x4d\x17\x6c\x40\x2f\x99\x3f\xf2\x92\x7e\xb7\x5b\x09\xe0\x6e\x96\x85\xc2\x9f\x0a\x1e\x98\x6b\x6e\xb6\x27\x21\x47\x9c\x8a\xed\x8f\x67\xf3\x65\xda\xc2\x8b\x17\xbd\x9e\x6a\x29\x9d\x17\x71\xf4\xf4\x75\x22\xd3\xeb\xf9\x76\xa9\xbc\xa5\x98\x0c\x0b\x3c\xe4\x98\xb8\x97\x95\x32\x96\x96\x92\x2d\xe9\x1d\x7d\x66\xd3\xfe\x24\x93\x11\xbd\x66\x1c\xdc\x47\x60\x14\xf0\x5c\x22\x42\xed\x15\xbd\x63\x4b\x0f\x26\x8d\xb5\xa0\xbf\x24\xab\x7b\xa3\x3f\x68\x48\xd9\x69\x87\x59\x73\xe8\x38\xd8\x9e\x52\xe2\xa5\xf0\xd9\xcc\xaa\xe3\x60\x6b\x8e\x2b\x2f\x0c\x5a\x7c\x77\xc7\x18\x83\x6b\xb7\x67\x0d\x8e\x70\x27\xac\x32\x96\x65\x54\x23\x89\xc4\xd3\x70\xe9\xd9\x71\xde\x72\xfc\x4c\x18\x63\x6f\x15\x12\xf1\x9e\x19\xf7\xee\x74\x0d\x76\xc9\xb1\xe3\x44\x1a\x6e\x8c\xcb\x32\xe6\x24\xe6\x8c\x7b\x62\x38\xad\x25\x09\x9c\xb8\x63\x85\x1e\xa6\x20\x31\xae\x25\xf8\x7f\x43\x84\x4a\x06\x72\x7d\x39\x44\xc8\xe5\xc6\x12\x0e\x4b\x42\x35\xa8\x63\x92\xb8\x7a\x26\x19\xf7\xf4\x83\xbe\x90\xc3\xaa\x0d\x03\xd7\x53\x5f\x0c\x91\x69\x0a\xa4\xae\xc8\xdd\x03\x05\x48\xfd\x32\x02\x73\x08\xca\x09\x9d\xe8\xad\x5b\x41\x87\xa4\x32\xbc\x8f\x79\x59\xea\xca\x6d\x63\xab\xff\x3c\x1c\x53\xf4\x6f\x88\xa8\x8d\x01\xe7\x6b\x87\x08\x6d\xa9\x97\xfc\x46\x51\xa8\xaf\x59\xe7\x88\x5e\xe9\xd5\x4d\xfa\xf3\xf4\x73\x96\x68\xbd\x1f\xb6\x81\x96\x3b\xaf\xe1\xa7\x9e\x40\x02\xc6\x99\xf3\x14\xa3\xc5\x7c\x01\x2d\x81\xbe\x67\x9d\xaa\x26\x42\x40\x4d\x90\xfe\x9a\x75\x06\xeb\x9b\x4d\x05\x40\xbe\x86\xed\xae\xc0\x54\xac\xf7\xc5\xb9\xbe\x1b\x6c\x0b\x2c\x75\xa5\x51\x64\xd7\xba\x6f\x37\xab\xab\x11\x13\x29\xa6\xcd\x00\xc6\x5e\xd2\x57\xfb\xf7\xb5\x5a\x88\x2d\x72\xf2\x1a\x04\x77\x18\xa9\x09\x6c\xae\xcd\xf9\x90\x5b\x26\x9f\x78\x52\x14\x8b\x7c\xf8\xcd\x25\xc3\x6f\x87\xdf\x8c\x27\x06\xe3\x17\x0e\xa9\x36\x43\x19\xc9\x8c\xed\xa0\xf6\xbc\x8b\x5e\xcf\x13\x6c\xd1\x42\x69\x9a\x67\x2c\x7c\x31\xf2\x80\x70\xa3\x41\x59\x0e\x88\xb7\xa7\x52\x2c\xdf\x2a\xa2\xae\xb9\x2f\x78\x2a\x64\xc2\x76\x50\xf7\x8a\xd2\x1e\xe2\xba\x4a\x3e\xa2\x99\xe2\x61\x25\x7e\x02\x77\x4a\x6e\xe7\xc8\x02\xca\x5f\x64\x4b\xa8\xba\x41\xd9\x8d\xd5\x8f\xd1\xc6\x51\x8f\xb5\x69\x96\x6d\xf4\x61\x90\x8c\xa5\x5d\x00\xb8\x27\x84\x8b\x19\x1b\x21\x7f\x95\xdf\x13\xe0\x5a\x6a\xc8\xc1\x36\xc2\xe2\x1d\xb6\x70\x1c\x9c\x0d\x33\x7d\x54\x32\xc6\xfb\x29\x71\x33\xc6\x29\xdc\x72\x51\xde\x5f\x10\xf5\x48\x17\x8a\x8f\xe2\x74\xd1\x4f\xd9\x86\xbe\x79\x64\x08\x8b\x8e\xa2\x2b\xb0\xaa\x85\xf7\x17\x2c\x20\x5a\xe7\xbe\x9f\x32\x4e\x40\x21\x22\xd0\x2e\x01\x34\x7d\xff\x06\xa3\x96\xde\x16\x22\x18\xc5\x31\xdc\x70\x18\x6e\x7c\x40\xc7\xec\x3d\x5e\xad\x69\x48\x57\x71\xe8\x2a\xfe\xc6\xb0\x78\xa0\x17\x20\xf8\x82\x8b\xb8\x78\x2a\x4b\xad\xdd\xd9\x7f\x77\xf2\xdb\x9f\x5f\x4e\xae\x3e\x5f\xd0\x54\x65\x5b\x40\x37\x69\xa6\x0f\x99\xa5\xfb\xce\xf6\x56\x8b\x65\xb1\xc1\x21\xa9\xa3\x76\x5f\x79\x87\x98\x1e\x6f\x56\x59\x71\x13\xa9\xcf\x47\x65\x89\xd5\x0f\x5b\x4d\xe5\x93\x62\x77\x3c\x45\xa6\xae\x41\x19\x20\x29\xcb\x49\xaf\xe7\x25\x9a\x2d\x9b\xfc\x3a\x75\x1c\x58\x13\x2d\xc8\xc6\x59\x7f\x2a\x9f\x2c\x72\x5a\xb3\xca\x1b\x27\xfe\x7b\x8d\x07\xd0\x78\x8b\xbc\xf2\x80\xc1\xac\x20\x94\xcf\x47\x95\xc8\xfc\x7f\x53\x67\xc0\x60\x47\x28\x7c\xbb\x20\xea\x2d\x83\x6d\x11\xf4\x53\xe2\x45\x6a\x39\x29\x7c\x30\x67\x40\x95\x5f\x9b\x67\xd5\x03\x6f\x72\x70\x50\xf5\xe2\x24\x49\x6c\x1f\x06\x6a\xf1\xbc\x09\x1b\x78\x6a\x79\xbc\x05\xd3\x2b\xb3\xa6\x46\x2f\xc1\xce\x9a\xb2\x31\x4b\xf4\xc2\xd5\xbe\x74\x82\xd1\x9a\xc6\x69\x34\xdf\xe1\x16\x01\x76\xc9\x98\xae\xf2\xf8\x59\xba\x13\x60\x40\x1b\x87\x4b\x7d\x55\x68\x13\x10\x05\x6c\x0f\xac\x50\x6d\x36\x48\xe1\xd2\xc0\x97\x23\xc0\x3a\xd1\x1c\x13\x9b\xf3\xf1\x80\x8f\x68\x59\xb5\x59\x5b\x6a\x6d\xad\x69\x63\x3e\x12\x6d\x1e\xff\xd6\x7e\xa7\x3b\xea\x0a\x30\xaa\x34\xf0\x72\xd4\x3a\xdf\xe7\x62\x5b\x78\x6e\x4b\x73\x0e\xff\xf8\x96\xff\x84\xfd\xff\x71\x46\x25\xc3\xdf\x7e\x1a\x12\x82\xbf\x0d\x87\x44\x25\x7e\x7b\xf8\x49\xfd\x76\x0f\x2b\xd3\xdb\xd6\xa0\xa3\xea\x86\x8d\x1b\x69\xbf\xf6\xc3\xd3\x19\x9b\x73\x3a\xe6\x18\xc5\xb9\x58\x20\x1a\xd0\x48\x81\x9d\x21\x6a\xb4\x2b\xf7\x83\x18\x88\x9e\x7c\x1f\x94\xb3\x81\x4f\x43\x2e\x32\xb6\x60\xfb\x60\x29\x66\x7f\x22\x9e\xf4\xa3\x11\x5b\xcd\xe6\xa1\x74\xc7\xfe\xd1\x08\x58\x40\x55\x95\x56\xdb\x46\x3f\x29\xae\x64\xec\xbf\x18\x19\xad\x62\x9e\xb8\x68\xa8\xd3\x7e\x1e\x51\x85\x3a\x14\xbf\xe4\x8e\xfd\x5f\x46\x65\x19\xad\x77\xea\x81\x35\x82\x6a\xc6\x1b\x9d\x2d\xbd\xc9\xcb\x72\x2f\xe8\x30\xf6\xb2\xf1\x55\x35\xd6\x56\x48\x61\x9c\x81\x10\x5e\x51\x40\xc0\x8a\x16\x59\x3c\xc3\xdf\xc9\xb4\xd6\x22\xee\xd5\x1a\xac\x32\xbf\xe5\x3f\xd5\x8a\xaf\xdf\x5c\x58\x06\xe3\xb1\xe0\x5b\xde\xc3\xfd\x9f\x48\xf7\x90\x4e\xd8\x21\xae\x93\xf1\xd0\xfd\xe6\x62\xff\x0f\x6f\xd4\x23\x64\xe8\x0d\xc9\x21\x1d\xb3\xaf\x21\x46\xe9\xf8\x36\x13\x14\xfe\xe6\xb2\xa0\x79\x26\xd4\xbf\x5c\x16\x48\x81\xbe\xc3\x3f\xf0\xd0\xc5\xdf\xfe\xf8\xf6\xc7\x90\x0c\xf1\x37\xf8\xa3\x5f\xc8\xf0\x90\x4e\xd5\xf7\x79\xea\xf3\x83\xe7\x51\xaf\x8c\xe6\xd9\x8c\xc3\x74\x90\xee\x61\x25\x88\x30\x7d\x64\xcd\x0e\xd5\xeb\xaf\xc5\x4a\x96\x2d\x81\xa7\x85\xee\x6a\x22\xe9\x5d\x80\x23\xeb\x63\x0d\xad\xa9\xdc\x96\xc8\x95\x25\x96\x0a\xf4\xf9\x23\x1a\xf4\x8d\x60\x0d\xf3\x1e\x3a\xaf\xab\x6e\x8b\xcf\xd0\x96\x32\x2e\xda\xb0\x78\xd4\xa4\x28\xf8\x1a\x90\x20\xf4\xad\xbe\x4a\x3a\xd6\xdc\x96\xc6\x15\x41\x25\x98\x91\xc4\x7b\xc4\x13\x32\x9c\xb0\x95\x51\x77\x77\xef\xb8\xe2\x64\xdd\xbd\xce\xa4\x6f\x92\x1c\x67\xd2\x4f\xe2\x74\xea\x38\xb8\x4e\x63\x2a\x1b\xa4\x12\x90\xcd\x66\xf1\x3c\x8b\x8b\x27\xd6\x3c\x96\xe5\xc0\x9b\x68\x82\x94\x8d\xbd\x89\xb6\x30\x9d\x18\xc3\x38\xee\x4d\xaa\xdb\x08\x56\x3f\x95\xe5\xc4\x32\x7e\x54\xad\x82\xd9\xa9\xfa\xae\x8d\x90\x59\xf3\x58\x96\xe8\xe2\x44\x5b\xa8\x4f\xd9\x84\x26\x6c\x42\x33\x53\xbb\xc2\x67\x2d\x73\x4b\x40\x6c\xea\xe8\x7d\x9a\x5b\x3a\xf1\x00\x4d\xbd\x33\x9c\x68\x0b\x4d\xc5\x13\x80\x74\x34\xe9\x6f\x66\x1d\xe2\x74\x2b\x8d\x89\xaa\x20\xcd\x40\x68\x9a\xb6\x4c\x3a\xd9\x6a\x4d\xdc\x8d\xa4\x56\x89\x23\x42\xa0\xed\xcd\x7a\x55\x37\xbe\xd3\xda\x66\xa2\x6e\x98\x68\xa7\x9e\xdb\x65\x8c\x2e\xc0\x2d\x4b\x6c\x8b\xd2\x8b\xd6\xeb\x49\x0e\xe7\xfc\xd6\x3a\xb7\xe9\x5c\x14\x59\x82\xe8\x5e\x66\x04\x53\xdc\xe3\xae\x62\xbc\x1d\xe7\x15\xbe\x20\x44\x70\x76\x51\xab\x88\xbd\xc2\xb7\xa6\x99\x19\xfb\x22\xb4\xb6\xe6\xad\x76\xe1\x46\x56\x82\xb3\x99\xff\xf3\xa8\x66\x9d\xd7\x82\x57\x2c\xb3\x6a\x54\xf0\x56\xab\x60\xbe\x82\x68\x66\xc0\x45\xce\xa6\xfd\x6e\xb7\x82\x97\x2c\xf5\xce\x70\xde\x9a\x4e\x02\xbb\xb1\xdb\x35\x69\xa7\x55\xce\x8d\x5c\xde\xa4\x6d\x27\xd6\x36\x1b\xf3\x8c\xd6\xed\xa4\x92\x18\x3c\x90\x55\x88\x1f\x88\x05\x29\xa3\xf5\x88\x10\xaa\x4e\x53\xe5\x02\x84\x80\x0b\xbb\xb9\xc0\x19\x69\xdb\x08\x69\xc0\xc1\x15\x25\x7f\xab\x2d\x4b\x80\x59\xf8\x3a\x89\x0b\x99\xc4\xf9\x4e\x74\x78\x82\x03\x32\xc4\xfc\x07\xa5\x70\x40\xf4\x6d\xa8\xfb\xc3\x5c\xc4\x34\x1f\xcf\x14\x3c\xfc\x97\xdb\xff\x41\x31\x50\xfc\xad\x7a\xf0\xa3\x7c\x86\x49\x4f\x1b\x61\xee\xa6\x55\xfd\x0e\x16\xe1\x04\x60\x67\xca\xb8\x19\x64\xba\x21\xdd\xb5\xc1\x9f\x65\x59\xb0\x1b\x1a\xa2\x4d\x8d\x7c\x95\x04\xfa\xff\xda\x2d\x41\xad\xb8\xd5\x16\x10\xdb\xdc\x04\xea\xe6\x02\x92\x8c\x55\x85\x7a\xb4\x0d\x85\xb6\x1d\x19\x50\x90\x4a\xd0\x6b\x1a\x73\x7a\x43\x5f\x5b\x44\xc7\x95\x26\x96\x8d\x94\xcb\x68\x75\x34\x4e\x73\x04\xb1\xa5\x64\x5f\xeb\xfa\x24\x59\xb5\x1c\x67\x9d\x82\x07\xa7\x53\xb8\xd7\xdf\xf6\x9e\x68\xbb\xd0\x7e\x0f\x2a\x84\xea\x1d\x0c\x54\x2a\x77\x41\xdf\x6e\x7b\x87\xda\x4f\xa1\x18\x69\x77\x45\x0f\x19\x5f\x60\x74\x9c\x2f\x78\xfa\xeb\xf1\x21\xfc\x20\x62\xd4\xb5\x30\xf8\xf0\x5b\x13\xa3\x97\xb4\x77\x0b\x1d\xe3\xa6\x6b\xde\x57\xc5\x0a\x87\x21\x4c\x9d\x1e\x10\x27\x46\xa8\x61\xb3\x0e\x76\x27\x15\x6a\x02\x23\x6e\x04\xf0\x0f\xbc\x4b\x84\x65\xb9\x5a\x1b\x75\xe6\xd0\xb4\x0c\x72\xe7\xc6\xea\xe7\x65\x4a\x27\x2c\xec\x17\x75\x42\x03\xdc\x72\x55\x43\x3f\x5a\x16\xcb\x4c\xbe\x87\xb2\x46\x44\xec\xc1\x65\x71\xb7\x1b\xb4\xab\x32\x17\xc3\x5b\xe9\xc4\x1b\x97\x25\x1e\x33\x1c\x02\x97\xa4\x06\x3e\x44\xd1\x3c\x93\xf1\x38\x6d\xdc\x73\x3f\x70\x70\x5b\x1d\xee\xf0\x7b\x78\xfb\xe5\xd5\x21\x19\xa2\xfc\x7e\x8c\x5c\x34\x29\x66\x49\xf5\xa3\xc6\xa8\x9f\x3a\x8c\x8d\x87\xa7\xf8\xb7\x00\x8f\xe9\xb6\x03\x28\x5e\x39\x80\x22\xc4\x15\xc3\x8f\x5c\xab\xa4\x57\xae\x3f\x5d\xae\x75\xbf\x2a\x9d\xa6\xa9\x62\x9b\x26\x24\xac\xbc\x64\xa0\xde\xb4\xa5\x90\x48\x27\xfe\x74\xd4\xaf\xf6\x4e\x7b\xb1\xd4\x41\xc4\xe0\x3a\x5b\x38\x8e\xd0\x4f\x91\xe3\x68\x06\x19\x96\xb6\xf6\xac\x61\xd9\xcc\x63\x4e\xf7\xcc\xb6\x04\x43\xdf\x46\x96\x59\xed\x08\x4d\x75\xd0\x29\xdc\xfa\xa6\xb4\xa0\x37\xaa\xcf\x77\xd0\xe7\x1b\x06\x77\x2a\xb8\xd2\x80\x27\x34\x63\x03\x2f\x3b\x9e\xd4\x17\xc2\x3d\xf6\x33\x89\xd8\xc4\xcf\x46\xf4\x46\x11\xbb\xc2\x8f\x46\x5a\x7b\xe5\x86\x89\xfa\x0a\x39\x65\x4d\x89\xe3\xd4\x23\x8a\x49\x63\x37\xfe\xc4\xcf\x7a\xbd\xd1\x88\x0a\xa6\x9f\x68\x54\x3d\x68\xad\x18\x61\x70\xbb\x7a\x4e\x18\xef\x77\x53\xf9\x80\x09\xdd\x9a\x95\x53\x3c\x25\x34\x21\xb4\x60\xa2\xdf\xad\x34\xbf\x2b\x94\x42\x76\xa4\x69\x66\x39\xe9\x77\xe7\x69\xe3\xd2\x40\x86\x88\x16\x46\x70\x96\x30\xee\xa9\xda\x9a\xcd\x7b\x93\x7e\x9a\xd4\xf6\x94\xc3\x80\x83\x73\x95\xe6\x33\x95\xc4\xed\x88\x7e\x05\xbf\x5a\xb9\x1d\x47\x0e\xa5\xdb\x91\x8e\x13\xe8\x82\x01\x01\xf2\xc5\x13\x38\xa2\x09\x9d\xd2\x90\x16\x54\x98\x96\x61\x49\x39\x9d\x5a\xc6\x10\xf4\x81\x4a\xb2\xae\xf6\x90\xbe\xb8\x37\xab\x75\x47\x0b\x36\xf0\x8a\xe3\x5a\x2f\xa5\xe8\xf5\xc8\x6a\x0a\x37\xc2\xbf\x7b\x7b\x09\x13\x1c\x73\xbf\x18\x51\x28\xa3\xe8\xa3\x62\x18\xba\xaa\x3e\x0f\x47\x2c\xa9\x9c\x49\x9d\xe3\x84\x42\xb6\x29\xc0\x30\x98\x1d\x1f\x0a\x45\xba\xab\xc4\x71\x22\xbd\x18\x8e\xb3\x0d\x41\x14\xae\x97\x95\x6a\xec\x94\xc1\x25\x7f\x21\xb3\x59\x9c\xf2\xa4\x2c\x3b\x38\x63\xaa\x72\xdb\xa8\xa6\x2c\x3b\x59\xd5\x38\x48\xde\x6f\x71\x46\xa3\x21\x8e\xbe\x37\xe3\x65\x09\xce\x5a\x76\xcc\x2e\x74\xad\x29\xe5\x6a\x73\x8f\xa8\x2c\xa7\xc4\x28\x1d\x14\x34\xa2\x53\x42\x15\x62\xa3\x77\xec\xae\x2c\x23\x4f\x6b\x42\x54\xc2\x84\x74\x38\x76\xdb\x6e\x9c\x82\x4d\x37\x02\x35\x3c\x84\x83\x44\xc7\x74\x42\x56\xda\xb5\x81\xd9\x96\x9d\x23\x3a\x21\x34\xec\x77\xbb\x4d\x5f\x42\x30\xb7\xa9\xb9\x5d\x55\x74\xf5\x1d\x50\xe9\x0a\xba\x13\x50\xba\x11\xdd\x01\x26\xdd\x71\x4b\xe5\x4f\x70\x1b\xf9\x68\x60\xbe\x27\xfa\x5d\xc5\x41\xd2\xa9\x97\x83\xa1\xa6\xad\xc5\xbd\x12\x3c\x97\xfb\x0b\xee\xa6\x1c\x07\xf4\x89\x63\x7d\x13\x4a\xd1\x05\xd2\xa0\xa4\x56\xc2\xd4\xbb\x8c\x71\x10\x64\x82\xd6\x78\xae\xb6\x1c\xbd\x61\x77\x8e\x73\x57\xef\xba\xe3\x1b\xbd\xf3\x54\x99\x4b\xd6\x39\x02\x91\xaf\x97\xb0\x3b\xbf\x18\x79\x53\x96\x68\x56\x20\x63\x9f\x70\xa2\x5d\x23\x11\x2f\x61\x4f\x1c\x4f\x61\xb1\x52\xf6\x17\xd7\xb6\x63\x09\x21\x53\xd6\x48\xc7\xbf\x6a\xc5\x3c\x23\xfb\xfe\x2f\x4b\x01\xef\x4f\xdc\x27\x87\xe3\x9d\x3e\xf2\xf6\x83\xb6\x91\x9c\x41\x85\x8a\x92\xae\x8b\xe3\xdb\x82\x67\x45\x79\x91\x86\x44\xc7\xe0\xf0\xde\xe0\x5b\xe2\x38\x09\x63\xec\xb6\x87\xe0\x2b\x72\x1c\x7c\xc9\xa6\xf4\x35\x9b\x56\x3d\x18\xd0\x4a\x15\xe6\xe0\xdf\x49\x0f\xc9\x34\x44\x74\xba\xf3\xf3\x7f\x90\x6a\x84\x6d\x2d\x65\xe2\x8d\xfd\x64\xc4\xa6\x30\xec\xb2\xec\x88\x4d\xbe\x32\x21\x44\xa8\x1c\x19\xfd\x28\x30\xa7\x09\x38\x38\x52\x09\x6a\x2b\x7d\x81\x75\xce\x68\x42\x53\xe2\xc1\xda\x25\x14\x9d\xc0\x9a\xd1\x4b\xfa\x9a\xac\x39\xdb\x53\x28\x88\xe7\x39\xd0\xc7\x67\xcd\x4d\xa3\xa2\x87\xbe\xf0\x04\xe6\xfb\x15\x24\x23\xb8\x85\xd6\x17\x71\x53\x36\xd1\xe4\x3f\x27\x1e\xd1\xfd\xf6\x5f\x8c\x08\xad\xda\x38\xd3\xfb\xa2\xea\xcb\x27\x3c\xf5\x7f\x56\x84\x35\xb8\x28\xd1\x83\x37\x0a\x5d\xbd\xa9\x3f\x18\x55\xe8\x42\x33\x0f\x1e\xec\xb6\xf7\xc0\x87\x80\x52\xfb\x57\xd3\x2a\xb7\x34\xcc\x1d\xa7\xe5\x4b\x64\xe3\xb5\xed\x4e\xd1\x23\xbc\xa1\x92\x7a\x6c\x3b\x27\x7c\xa0\x76\xf5\x2d\xdd\xf5\x0d\xaf\x25\x97\xa0\x77\xda\x14\x6c\x75\xfb\xbf\x5c\x45\xff\x01\xc2\x32\xf6\x6c\x76\xce\x6a\xae\x8e\xac\xb9\x7a\xb7\x3d\x57\x2f\x46\xa4\xa2\x1a\x2f\x14\xd5\x18\xe8\x48\x16\xef\x76\x29\x1b\x3c\xf3\xb6\xac\x0b\xdc\x5a\x80\x0e\x79\xa0\x26\xa5\xed\x2b\xae\xfd\x0e\x12\xdd\x70\x6e\xfc\xc8\x34\xec\xd9\xb2\x90\x19\x48\x73\xf6\x40\x91\x89\x5b\xb3\xb9\xd0\x02\xec\x8d\x5a\x1c\x47\xf6\x7a\x74\x23\x59\xa8\xe4\x83\x83\xda\x53\x07\x27\xde\x86\x03\x98\xf5\xc3\x24\x4e\x24\x1e\x1c\x4b\x83\xcc\xb6\x7c\xbc\x9c\xe2\xd0\x12\xa5\xe7\xff\x04\x90\x95\xec\x99\x83\x46\x65\x4b\x09\x8b\x5b\x59\xec\xe8\x36\x95\xc9\xac\xfe\x44\xa7\x34\xb3\x68\x1e\xcb\x77\x99\xbe\xfa\xd3\x3e\x6c\x72\xa3\x58\xa2\x26\xa6\x12\x6a\x9c\x57\x4f\x1e\x6f\x44\x49\xc0\x81\x3e\xa9\x95\x58\x32\xc6\xce\xcb\xf2\xbc\x61\x60\x35\xbb\xca\x59\x17\x73\xda\x16\x5f\x80\x4e\xc9\xa4\xbe\x08\xd5\x6a\x24\x5a\x5b\x23\x37\xd4\x35\xf1\x82\x1d\x2d\x07\xff\x4a\xcb\x01\xeb\xe2\x60\x57\xcb\xb5\xa6\x91\xed\xe0\xb3\x68\x66\xa2\xf6\x1f\xff\xca\x8a\x6d\x13\x18\xfa\x38\x21\xda\x85\x7f\xed\x85\x33\xb2\x0f\xb7\x46\x34\x11\x68\x47\x47\xfe\xcf\x8a\x7c\xd3\xe2\xcb\xc8\x7f\x31\xf2\xd0\x1f\x7f\x80\x28\x73\x28\x98\xa8\x59\x13\x57\x32\x2c\x35\xad\x1e\x8c\xd4\x7e\xaa\x89\x5d\x4f\x02\x36\x55\x34\x71\xd0\xa6\x89\xa5\xaa\xa3\xed\x25\x0b\x87\xc4\x15\x9a\x88\x0e\xb5\x08\x45\x51\x57\x9d\xc8\xda\xf3\xa2\x00\xe7\x52\x01\x48\x30\xed\x30\x3e\xc6\x47\xbe\x3f\xa2\x63\x88\xb8\x52\x7b\x0a\x1f\x1f\x47\xde\xb8\xd7\x23\xd2\x1f\x8f\x18\xcc\x90\x3f\x36\xae\xda\x2b\xb1\xab\xd6\x0b\xb4\xcc\x3e\x1b\xbc\xdb\x88\x96\x23\x8e\x09\xd5\xbe\x25\x27\x8a\xde\x37\x93\x3c\x65\xa1\x3f\x19\xd1\x84\xad\xba\xda\xb9\xd8\x94\x31\xb6\x2c\xcb\xe9\xc6\x52\x0e\xa5\x1b\xd1\x8a\x9c\x72\x39\x05\x2c\x9e\xbb\x01\xb5\x08\x0b\x57\xac\x69\xc6\xa6\x96\x28\xc8\x43\xff\x83\xea\xcb\x0b\x7f\x0a\xf8\x76\xa4\x50\xd0\x1d\xce\xe8\x5e\x42\x3b\x0a\x37\xd9\x92\x23\x85\x88\x4c\x36\x96\x78\x31\x2f\x4b\x6e\x71\x25\xf0\xa1\xbd\x0c\x49\xc3\x97\x54\x74\x93\x15\x61\xe4\x52\xdf\xcf\xc3\xb9\x4b\xac\x33\x97\xb5\x80\x99\x67\x3c\x76\x83\x3f\xcb\x80\x71\xca\xd9\x03\xf1\x62\x05\x83\x42\x26\x38\xf1\x04\x7c\x8b\xf9\xf0\xba\xd9\x32\xd7\xf5\xfc\x8f\xcd\xf1\x16\xf4\x99\x6b\x3d\x0a\x45\x01\xbf\xa6\x17\x54\x70\xc5\xc2\x7b\x01\xdc\x97\xe3\x88\x85\xf4\x9a\x85\x16\x55\xea\xe2\x6b\x76\x8a\x25\xa1\x91\x26\x8d\xf1\x35\x1c\xbb\xa5\xe3\xe0\x0b\xc5\x34\x00\x05\x37\x20\x60\xef\x82\x9f\x59\x46\x9f\xb7\x99\x4d\x36\x26\x5e\xa0\xba\x2a\x38\xbb\xc1\xd7\x34\xa2\xcf\x34\xe0\xaa\x71\x53\xd3\x16\x5f\x72\x4d\x2f\xd4\xc4\x77\xf0\x95\xe3\xe0\x2b\xbd\xdc\xf0\xd3\xef\x76\xe7\x59\x3c\x56\xf4\x71\x2d\x2d\x26\xa4\xcd\xd9\x68\xd2\xfa\x1a\xa4\x93\x17\x3b\x24\x65\xcb\xed\x34\xfa\x77\x2c\x68\x44\x2f\x76\xe5\xa7\x7b\x4b\x7a\xa1\xcf\x8a\x30\x37\x06\x5f\xb8\xea\xd0\x2d\x9d\x79\x5f\xb8\xe3\x08\xee\x7f\xe1\x7a\x43\x38\x0e\xbe\x63\x5f\xb8\x25\xc1\xdb\x96\x5e\xe2\xd7\xcc\x2a\x41\x1c\xe7\x75\x5f\xbb\xb0\x89\x62\x99\x39\xce\x9d\xe3\xe0\x19\x7b\xad\x78\xac\x2d\xe6\x4b\xf7\xf2\x75\xbd\x9f\xe8\x1d\xfd\xc2\x89\x31\xfd\x49\xc1\x7b\x3a\x27\x2b\xa8\x3f\x1d\x01\x94\x39\x67\xaf\x31\xf1\xce\x3b\x8c\x35\xa5\x1c\x07\x37\x2f\xec\x9c\x5e\x37\xdb\x37\x6d\xef\xdc\x73\x42\x5f\x33\xc6\x66\x8e\x83\x77\x74\x07\x93\x1f\x74\xf2\xbc\xea\xdb\x7a\x9d\xd6\xea\xd0\x35\x2f\x9b\x1e\x27\x5e\xda\xeb\x91\x3b\x88\xa6\x44\x39\xc7\x77\xf4\xae\x25\xc0\x1c\x5e\xb8\x82\xaa\xad\x72\x57\x81\x75\xc7\x29\xf0\x5d\x1b\xb2\x37\x1f\xe9\x35\x15\x9c\xd0\x67\x0d\x5b\x9f\x39\x13\xb0\xb1\x96\x35\xe7\x53\xc7\x0b\x68\x92\x3e\x67\x40\x23\x3e\x73\x76\x41\x3c\xee\x38\x1c\x3f\x73\x2a\x6d\xf6\x71\xef\x81\x8e\xcd\xe4\xd6\xaa\xdc\x07\x47\xde\xe0\x98\xa5\x5e\x7a\x70\x40\xee\xd8\xf4\xff\xe5\xee\xaf\x33\x96\x81\x80\xa8\xe2\x23\x5e\xb3\x83\xad\x7b\xeb\x5b\x96\xf5\x53\xf9\x00\x0d\xd5\xa7\x80\x06\x9c\x65\x16\xa0\xaa\x3f\xe4\x74\xa9\xf3\xbf\xb1\xfa\xd7\x14\xbb\x62\x59\x3d\x23\x4d\xea\xb3\x2a\x32\x4f\x3f\x25\x41\x73\x8c\x9b\xaf\xd7\x8a\x51\x99\xa9\x3f\xb1\x6a\x74\xc2\x2b\x96\x72\x57\xe6\x7b\x1b\x9e\x80\x14\x8e\x9e\xd3\x27\xfa\x8e\x5e\x72\x26\x69\xca\xe9\x1b\x36\xa0\x2f\x1b\x03\x91\x37\xc7\x2f\xbd\x37\x8a\x25\x3a\x67\xdc\x7f\xa3\xb7\xf1\x7b\xa6\xf0\x76\xae\x98\x0b\xfa\x11\x9e\x65\x1a\x7a\xef\x1d\x07\xdf\x2b\x2a\x27\xa0\xef\xe9\x47\x42\xbc\x77\xec\x41\x1d\xd3\xd7\xbf\x9e\xd7\xb7\x31\x44\x53\xa4\x71\x84\xdf\xb1\x73\x23\x15\x39\xb7\xb7\x40\x59\xe2\x33\xfc\x8e\x0c\xf1\x07\x8c\x52\xf9\x70\x68\x56\x31\xd4\xb7\x92\x88\xee\xc1\x49\x3f\xa7\xf7\x84\x2e\xd9\x39\x71\xbf\x93\x6d\x09\x59\x08\xbd\x65\xb7\x65\x79\xee\x3d\xb1\x73\xcd\xb9\x75\x5a\x8d\x39\xce\x79\xeb\xa6\x07\x3a\x65\xdd\x52\x04\x9c\x05\xbc\x2c\x01\x11\x7e\xc0\xe8\xdf\x50\xef\xa9\x87\xfe\x6d\xdf\x16\xe0\x06\xdc\x7f\x1a\xe9\xfe\xc0\x23\x3b\x27\xd5\xe8\x1a\x34\x47\xae\x15\xcb\xae\xe6\xa9\x48\x82\xb2\x54\x63\xab\x3e\xe6\xa0\x27\xfc\xac\x6b\x78\x66\xe7\x84\x22\xb3\x36\x88\xb1\x77\x43\x1c\x73\x55\xf4\x35\x6b\xa6\x90\xbe\x63\xf7\x5b\xab\xf8\x9b\xb1\x08\x38\x9b\xcf\xb4\x53\x92\x7d\xe8\xab\xbb\x8f\x7a\xa1\xff\x34\x02\xbb\x69\x42\x03\x76\xaf\x08\xd0\xcf\x38\xaa\x35\x1c\xdf\xd1\x01\xa1\x01\x51\xab\xff\x15\xbf\xa3\x92\xbe\xa6\x60\x2a\x09\x37\x58\xab\xef\xee\x39\xf7\x79\x4d\x88\x8b\xdf\xb1\x53\x0c\xae\x2c\xc0\x92\xa7\x90\x69\xa1\xc0\xd0\x7d\xe5\x78\xbe\xae\x55\xc3\xeb\x66\xee\x49\x1c\xe1\x19\x38\xb7\x6d\xae\xce\x11\xbd\xd2\xb3\x70\xc5\xce\xe9\x3b\xf6\x68\x67\x1f\xee\x35\x2f\xf8\x9e\x86\xc4\x6d\xde\xe9\x3b\x36\xe1\xf8\x1d\xa1\xe7\x15\x5b\x4c\x56\x63\x76\xee\xbd\x63\x95\x23\x97\x77\x64\xf8\x9b\xc0\xbf\x05\x56\x8d\xea\xbc\xe7\x0b\x2e\x24\xfd\x84\xdf\x11\x02\x31\x23\x02\xf6\xce\x1f\x80\x5a\xc5\x51\x87\xbd\x33\xfb\xbf\x2c\x1b\xc1\x76\x47\xb1\x19\x16\x69\x56\x2c\x92\xac\x40\xf4\x09\xf8\x6e\x35\xa9\xf7\x34\x20\xde\x4b\xb6\x02\x52\xc7\x5d\xad\xd7\xde\x3b\x26\x4c\xa8\x9c\x97\x1a\x16\x5e\x45\xc6\x19\xa6\x90\xf8\x4d\xef\x88\xd6\x96\x1b\xea\x4d\xe3\xdf\x13\xc5\x4f\x29\x8e\xc4\x18\x47\xbd\xab\xcd\xa4\xae\x22\xe2\xfd\x5d\xe0\x50\x55\xd6\x1c\x51\x4d\x15\xde\x6b\xf9\xed\xbb\x8d\x99\x56\x50\xf5\x87\x33\x5d\xcf\x1a\x18\xd7\x9c\x13\x7a\xc9\xde\x45\xb8\xe9\x63\xd3\xc3\x37\x84\xde\xd3\x90\x46\xf4\xda\x71\x2e\x39\x70\x25\xab\x5d\x00\xce\x0d\x38\xdd\x82\x87\xee\x6d\x87\xb1\x73\xc7\xb9\xa5\xdf\x03\x7d\xee\x92\x6e\x01\x3e\xf7\x8a\xee\xfd\x70\x0f\xda\x90\xaa\x22\x8e\xcf\xab\xcb\x61\x50\xc6\x4d\x39\xab\x13\xd4\xd6\xa1\x97\x9c\xd0\x47\x9c\x72\x32\x4c\xb5\xb2\x6f\xca\x01\x5e\xb9\x29\x77\x9c\x14\xa7\xbc\xbf\xc8\x14\x20\xec\x2f\xe6\x79\x01\x5f\x0c\xc7\xfb\x85\xac\x04\xfe\x42\x1f\x39\xbe\x27\x64\x7d\x5e\x4b\x06\x1d\x07\x5f\xd6\x2f\xfa\xb4\xbe\xe3\xc5\xa4\x3f\xe3\x8f\xf8\x35\xb5\x60\x1f\x59\x5f\x6a\x90\xc7\x6e\x1d\x07\x2e\x79\x6f\xf5\xbb\x77\xf9\x3d\x71\x21\xbb\x56\xdf\x76\x89\x0b\xd9\xac\x55\x8a\x5d\x72\xef\x1f\x80\x7e\x16\xf3\x8a\x00\xbd\xb4\xe3\xe4\xf1\xc6\xe2\x3f\x60\x03\xba\xc3\x38\x10\xf4\xaf\xae\x03\x50\xbf\xa6\xab\x36\x99\x0f\xdc\x99\x15\xfc\x92\x83\x1c\xbf\x62\x5b\x13\xad\x07\xc9\x18\xab\x9c\xb6\xec\x6b\xdd\x58\x7d\x49\x13\x47\x78\x4b\x21\xa1\xb2\x1e\x4f\xbd\xbd\x50\x1b\x17\xe0\xd0\x56\x46\x68\x84\x7a\x77\x6c\x40\x0b\x56\x87\xcf\xbc\x3b\x2e\xbc\xbb\x5e\x4f\xaf\x3a\x0b\xfd\xbb\x11\xc5\xf7\x78\x4c\xca\x72\xfc\x6b\xda\xac\x82\x0e\x77\x95\xd6\x57\xf8\xb5\xb2\x2a\x78\x1e\x9d\x82\x72\xed\x75\x80\x53\x35\x50\x40\x71\xee\x94\x02\x82\x73\x93\xb5\x82\xa1\x9a\x0f\x4d\x09\x9d\xb0\xb4\xda\x1a\xaf\xd5\xd6\x78\x4d\xd6\xeb\x5a\xeb\xbe\xd1\x4a\x37\x36\x17\x5b\xe3\x0c\x88\xe5\xb8\x47\x8f\x33\x68\x8d\x13\xbc\xf6\x44\xb6\xd7\x9e\xa8\xf2\xbf\x10\x30\xe1\x87\x23\x1a\xf4\x67\xcb\xa4\x88\x2b\x01\x72\x65\xaa\x5e\x79\xc9\xb5\x7c\x92\xfc\x5d\xd8\xd6\x35\x81\x11\xa9\x82\xd0\x17\x9e\x24\x04\x4b\x33\xf8\xa4\x7d\xbb\x07\xb2\x58\x08\x01\x24\xed\x10\x33\x10\x65\xcc\x71\x8c\x7f\xdc\x50\x71\x3e\x3d\x86\x11\xf8\x17\x44\x5a\xdd\xd7\x43\x2e\x18\x15\xab\x3c\x84\xf2\x7e\x37\x97\x05\x96\x34\x54\xbc\x84\x50\x69\xda\x64\xa7\x15\x8e\x22\x22\x2b\xe3\xcd\x83\xb1\xbd\x68\x88\xaf\xc0\xbf\x2f\xe5\xbe\x49\x1d\x31\xdc\x3c\x0f\x9b\x47\x85\xe1\xb4\x7b\x6d\xe2\xd6\x9d\x88\x86\x58\x1a\xcd\x55\x9d\x44\xdb\xaf\xa4\x87\x3c\xd4\x53\xd5\xf7\x21\x81\x61\xf3\x30\x34\xbf\x3d\x18\x83\xa9\xb5\xab\x6a\xb4\x43\x69\xf1\x6d\xdf\xb5\xe0\xa1\x37\x1a\xb1\x80\x86\xd5\x2d\x52\xcb\xcd\xca\x3b\x63\x1b\xdc\x48\x76\xf4\x9a\x24\xe0\xf0\x15\x44\xd4\xe0\xaf\xb8\x50\x58\x42\x5b\x47\xd2\xd7\x6a\x3b\x16\x74\x65\x81\x74\xad\x4b\x62\xf1\xd1\x5a\x69\x52\x03\x72\xfd\xb2\x83\x33\x73\x8b\x35\xa1\x37\xec\x11\x17\x2d\xf4\x30\x6c\xbd\xc2\x6d\xae\xdb\x4a\x02\x9b\xad\x2d\xcc\xe9\xd5\xf1\x65\xbc\x10\xdf\x90\x7e\x31\x91\x69\xa3\xc1\x6b\x84\x05\x97\x74\xe9\x85\x0a\x3f\x9b\x38\x71\x0d\x8a\x0e\x6b\xf4\x1c\x56\xe8\xf9\x82\x7e\x52\xa7\x9f\xb8\x7b\xfe\xc8\xbb\xd4\xce\xcd\x34\x36\x0e\x6b\x6c\x7c\xf9\x8f\xb0\x71\xa1\x49\x97\x1b\xe2\x85\x36\x22\xfe\xac\xf6\x11\xbd\x34\x0c\x89\xc2\xca\x97\x0a\x2b\x87\xc4\x3b\xc3\x45\xad\x7a\x73\x82\x9f\x15\xea\x7d\xae\x10\x2e\x07\x7c\x2b\x68\x68\xe4\x80\x97\xec\x8e\x06\x1a\xd1\x86\x76\xac\x82\xd7\xc4\xcb\xd8\x39\xe6\xf4\x12\xac\x57\x03\x5a\x98\xc5\xf5\x66\x58\xb6\x0c\xbf\xc0\x92\xe7\xd2\x71\xb0\xd4\x51\xd7\xf4\x15\xb7\xe6\x69\x6e\x31\x44\xdc\xb1\x38\x9e\x88\x78\x49\x6d\x5a\xb2\x0a\x59\x52\x6d\x0a\x6f\x69\x3d\xab\x21\x5d\x37\xef\xf4\xab\xf5\xfc\x0c\x6d\x18\x75\xfe\x6e\x73\x45\x08\x30\x69\xd9\x61\xec\x4e\x2f\xd4\x33\x67\x4b\x4b\xe0\x3e\xfd\x31\x2a\x71\x9c\x7a\x25\xcb\x12\x3f\xb3\xcf\x01\xbe\x24\x8a\x06\xba\xa6\xa7\x78\x09\x8c\xdf\x15\x3e\xc5\xcf\x04\x04\x1c\x8a\xe1\xf9\xc1\x05\x64\x48\xed\xcf\x74\xef\x2b\x71\xbf\x7a\x19\x4e\x69\x48\x9f\xa9\xa4\x4b\x9a\x91\xf5\x5a\xeb\x95\xae\xb7\x3d\x3b\xdb\xda\x0a\x4c\x82\x7b\xeb\x7a\x90\x65\x89\x93\x61\x62\x04\x87\x90\x8b\x13\x17\x7f\xb7\x33\x20\x45\x0d\x14\x02\xcb\xda\x37\xa2\x84\xaa\xee\x98\x1a\x68\x46\x5a\x4e\x86\xde\xb5\x21\x6b\x85\x67\x0e\x78\xfd\x58\xf5\x79\x00\xc6\xff\xc2\xd5\xb2\x06\xb0\xe8\x50\x0f\x43\xfd\x7e\x6c\xde\x0e\x8e\xdc\x23\xd7\x98\x50\x1c\x98\x30\x43\x96\xad\x62\x23\xf1\x6c\xab\x84\xd7\x3a\xf9\x68\x1f\x6b\xcd\x22\x57\xbb\x4f\x22\x0a\x82\x69\x71\x6d\x73\x58\x00\x6f\x80\x28\x5d\xb7\x4a\x25\x0e\x5a\x2a\x49\x84\x8a\xea\x83\xd8\xf8\xc0\x15\x09\x14\x12\xdb\xf5\xfb\x25\xc7\x4d\xa4\x73\x16\x60\x01\x8e\x00\x9a\x78\x20\xab\x6a\x2a\xdc\x01\xad\x14\xfc\x5a\x96\x45\x6c\x8f\xd7\x82\x32\xe3\xd7\xa0\xd3\x69\xe8\x90\xfa\xb2\xd6\x88\x35\x6a\x85\x8f\xed\xdd\x20\x2a\x57\x06\x8d\xb0\xd6\x0b\xca\x72\x57\xf9\x46\x31\xc1\x24\x83\xb0\x4b\xd2\xb0\x2f\x1f\x17\x99\xcc\x15\x6f\x96\xab\x63\x6e\xac\xf5\xc2\x96\x35\x94\xa8\xa2\x63\xc1\x0d\x0a\xd3\x16\xb4\x16\xa8\xff\x2d\xa8\x2c\xf7\x5e\x82\xff\x26\xa3\x8e\x51\x5d\x62\x9a\xbb\x4b\xad\xb2\xa1\x1f\x67\xbc\x98\x20\x57\x6f\xa4\xdf\x76\x7a\x99\x6c\xb9\x89\x44\xc7\xb0\xbe\xbf\x82\xa0\xf9\xf8\xd0\xbc\xd4\x86\x11\x16\x1c\x69\x43\x15\xcf\xb8\xfe\x71\x77\x68\x3f\x7f\xac\xf5\xea\x51\x9e\x89\x70\x2e\x10\x63\xb5\x59\x60\xcc\xfb\xaa\x61\xe3\x56\x09\xae\x5a\xc1\x72\xfe\x31\x89\xd3\xe9\xeb\x4c\x46\x08\x22\x41\xa2\x68\x9e\xcd\xb4\xff\x14\xc4\x2b\xcf\x2a\x2a\x3d\x9e\x8d\x51\x07\x1c\xee\xab\xca\x75\xe2\x9e\x56\x9f\x85\x66\xac\x76\x3e\x5e\xdc\xde\x7c\xfe\x78\x76\xf1\xe7\xe7\x8f\x57\x76\x40\x64\xde\x16\x52\x4f\xd8\x47\xd0\x00\xf7\x22\x36\xf6\xe5\xa8\x2c\x23\x63\x53\x1e\x40\x24\x2a\x3a\x51\x10\x34\x8e\xb0\x26\x43\xf5\xae\x5f\x18\xfa\xc4\x71\x90\x76\x8b\xdc\x58\xd0\x36\xe7\x23\x97\x09\x64\x46\x6a\xaf\x73\xa2\x26\x7e\x63\x23\x1f\x0d\x76\x6c\xe5\xea\x18\xae\x16\x59\xcb\x80\x5f\xd0\x31\x59\x09\x36\xee\x77\xbb\xf3\x20\x97\xd9\xbd\xcc\xf2\xb2\xc4\xad\x77\x90\xb7\x43\x6f\xa7\x1a\x2f\x4a\xd2\xd2\x4c\x0c\xe7\xb3\x2a\xc2\x05\x0c\x32\x83\x21\x7b\x99\xa1\xbe\x12\x96\x39\x4e\x80\xb3\x6a\xd8\x34\x64\x19\xf1\x14\x73\xa2\xb2\xb1\x04\x73\x42\xb1\x80\x49\x82\x1f\xe6\x8f\x08\x01\xeb\xb9\x42\x66\x8a\x6b\x69\xf7\xc6\x71\x5a\xaf\xbe\x1c\xf5\xbb\x5a\xde\x5f\x96\x9c\x54\x27\x22\xd9\xb8\xb8\xae\x49\x37\x35\xbd\xbc\xc3\x82\xe1\xb8\xdf\x5d\x2e\x42\x5e\x54\x3a\x5a\x34\x20\xee\xb8\xa2\x04\xf7\x38\x59\x13\x30\x3c\x6f\x45\xab\x6f\xdf\x1b\x02\x3d\x24\xeb\xeb\x0d\x1a\xd5\x7a\x5a\x6a\x37\x2b\x3c\xab\x0d\xe0\x14\x0e\x1d\xb3\x01\x9d\x34\xfc\xcb\xf8\x78\x02\x37\x21\xea\xbb\x3f\x1e\x31\x16\x92\x15\xf7\xc7\xbd\xde\x88\x09\x6f\xc2\xc6\x3d\x79\x70\x54\x73\x13\x53\xbb\xdc\x54\x95\xa3\x93\x5e\x8f\x4c\x8e\xa7\x43\x28\xcc\xfd\xc9\xc8\xad\xed\x1a\xc6\x23\xaf\x66\x8c\x99\xaa\x46\x07\x4c\x91\x8f\x05\xd3\xeb\xd1\xbc\x0b\x73\x0f\xbb\x06\x7d\x12\x83\x36\xf5\x05\x2e\x5c\xca\xf0\xfa\xb0\x6f\x3b\xa5\xf5\x78\xcb\x87\x6a\x48\xbc\x53\x85\x99\xcd\xdd\x91\xe3\xe0\x53\x2c\x88\x16\x18\x9f\xe2\xd0\x3c\x29\x7c\xc5\x87\xf8\x43\xa0\x96\xd5\x0e\xbb\x82\xc1\x53\x5b\x35\x88\xd3\x3e\x58\x36\xf8\xa1\x7f\xaa\x00\x1e\x4f\xc3\xf9\x68\xa4\xc8\x26\x3d\x27\xcd\x94\xd7\x9e\xdf\x22\x06\xf1\x43\x4f\x71\x44\x2a\xe3\x18\x45\x3b\xdb\x3d\x8c\x6a\x07\x95\x2a\xab\x07\x31\xac\x84\x57\xd5\xc4\x2c\x96\xa4\x0b\x2a\x5d\x96\x35\xc8\xb6\x85\x48\xcb\x26\xb7\x09\x95\xb9\xa6\xbc\xe5\x51\x8d\x73\xfb\xba\xd4\x28\x3a\xe2\x26\xc1\x30\x69\x13\xc5\xa4\x4d\x0c\xf2\x5a\xdb\x31\xf4\x6b\xa8\xa2\x4a\x03\x5c\x69\xd3\x6d\xb2\x4a\x9f\x32\xcd\x40\x80\xb8\x38\x61\xb2\x5f\xd9\x3b\x18\x25\xa6\xcb\x0a\xbc\xcb\xfe\x6c\x1e\x56\xfa\x29\xe8\x7f\x90\x9b\x94\x65\x15\xd4\x4f\xd0\xa9\xe2\x13\x42\xb5\xa9\x84\x3f\x1d\x19\x6d\x64\x05\x63\xaa\x03\x87\xa7\x2d\x54\xa3\xf5\x1c\x74\x09\xf0\x61\x20\x5a\x67\x73\x5a\x9f\x4d\xc6\xbd\x57\x58\xd5\x59\x67\x0f\xf4\x2b\xc0\x30\x4b\x1b\x00\x31\xe4\x2a\x9a\xd0\xee\x93\x56\x4f\x33\x12\x5a\xab\x63\x8a\x76\x48\x1c\xa7\x03\x15\xe9\xaf\x29\x5b\xea\x7a\xbd\x4b\x96\xf6\x93\xb8\x90\x19\x4f\x86\x53\xee\xee\xd4\x63\xe1\x3a\x42\x30\x37\x8e\x56\x3b\x8c\xed\x05\x6b\xef\x8e\xa5\x7d\x9e\xe7\xf1\x38\x2d\x4b\x7b\xe9\x19\xf4\x5b\x8d\xdb\xb3\xc1\x5f\xaa\xf3\x22\xaa\xda\xa5\x91\x8e\x74\xe5\xad\x3d\x3b\x7f\xd2\x52\x2d\xbe\x54\x5b\xc0\x1f\x8f\xd4\x64\xab\xe7\x8c\x0c\xef\x54\xbf\xa0\x00\x71\xf5\xf4\xd4\x24\x44\xc6\x02\x30\x8c\x04\x33\xc9\x68\x99\xb0\xce\xc0\x53\x2b\xdc\xd8\xb9\x0c\x2b\x42\xe0\xac\x4e\x82\x49\xa0\x09\x71\x6b\x1a\x61\x59\x25\x69\xe5\xb3\x7a\x72\x88\x37\x61\x13\x88\xba\x66\xae\xd0\x93\xf6\x7a\x38\xc8\x4d\xd9\x96\x12\xcd\x94\x0c\xcd\x44\xbb\x4f\x5a\xc1\x88\xb1\x27\xc7\xa9\x16\x09\x86\xb0\x43\x9b\x5a\x4f\x3f\x78\x10\x92\xac\x15\xdf\xb6\x09\x8b\x33\xa0\x41\x73\x01\xc4\x8f\x03\xaf\xd7\xe3\x64\xe2\xf3\x11\x26\x6b\xb7\x26\x59\xc7\x8e\xa3\x08\xd5\xa7\xa1\xc2\x0e\xb6\x92\x21\x44\x1e\x79\x22\xae\x84\xeb\xcb\xdf\xd9\x96\x5d\x5e\x4d\x12\x1b\x8f\x35\x53\xf9\x94\x83\x0a\xb7\x0e\xb0\x19\x9a\x5b\xa8\x1d\x5e\x89\x23\x2d\xdc\x28\x26\x71\x0e\xac\xb4\x1f\x19\xc7\x99\x5a\x21\x5b\x9d\x3f\xb6\xaa\xd4\xb3\x6b\x19\x38\x5f\x7b\xbf\x37\x3e\x33\xd8\xaa\x9b\xce\xb3\x19\x87\x10\x01\x4f\x9c\x76\xb7\x9d\xd9\x69\xdf\x20\x83\x5a\xe5\xd0\x71\x6e\x1a\xe5\xe8\x76\xe5\xe0\xd6\xae\xbb\xd3\xaf\xdd\xae\x5a\xac\x8c\x3b\x2b\xb2\x10\xe2\x4e\x8f\x2f\xbf\x6b\x61\x8d\xf6\x55\xf9\x8f\x3b\x27\x88\x87\xa1\x10\xb8\x9f\x6e\x97\xf9\x41\x57\x84\xea\x4a\x2e\xdb\x26\x95\x96\x26\x2d\xfb\x28\x36\x8a\x28\x44\xcc\x09\x1d\xb3\xae\xf0\xf9\x48\x21\x5a\x2f\x1a\x6e\xe4\x51\x4b\xb0\x80\xee\x53\xc9\x22\xe2\x8e\x1d\x07\x72\xa8\x9d\xba\x17\xd0\x09\x1b\x13\x58\x39\x6d\x6b\x29\x87\xcd\x9a\xaa\x14\xe9\x62\xc9\x5a\x49\xea\xf0\x6e\xe4\x61\x27\x6a\x7e\xd0\x01\x22\x8a\xee\x7b\xe0\x1b\x3d\xd0\x34\x29\xf8\x45\x89\x1c\x47\x9b\x2c\x6b\xa7\x19\x40\x80\x9a\x64\x4d\x80\x32\x4e\xea\xce\xb0\xd7\xa0\x19\x5e\xa5\xd7\xe2\xe4\x8d\x52\xb9\x2c\x74\x86\xfa\x2c\x45\x0c\x21\x3a\xd6\x9e\xc9\xa7\xec\x10\x7f\xcb\x7b\xdf\xc2\xde\xe3\xb7\xfc\x27\x5a\xea\xe7\x87\xea\x99\x96\xf4\x5b\xde\x23\x60\xf7\xf5\x2d\x3f\xd4\x74\xde\x98\x0c\xa7\xee\x21\xa6\x60\x50\x36\x36\x6e\x31\xa6\xaa\x2e\x10\x23\x47\xc9\x5c\x51\x36\x66\x51\x0f\x5f\x10\xaa\x3d\x4a\x4e\xc1\xa3\xa4\xa6\x04\x5f\xfc\x94\xd0\x88\x45\xbd\xd7\xf8\x13\x1e\xfb\xd9\x08\xcc\x9a\x21\xc5\xf8\xfd\x1d\xfb\x59\xef\x68\x44\x88\xa7\xfa\x39\xf6\x5f\xfc\x94\x8c\xaa\x28\xb8\xaa\x23\xc4\x8b\x7a\x4c\x17\x1e\xe8\xc2\xde\x0b\xc6\xd8\xb8\xde\x49\x38\xea\xb1\xaa\x26\xa8\xa7\x99\xb6\x68\xdd\xa9\x82\xdf\x36\xd1\xe0\xef\x71\x40\x86\x1b\x3b\xc3\x98\x97\x16\x60\xfd\xef\xee\x6d\x7c\x05\xb9\x9c\xa4\x01\x21\x1e\xe6\x66\x0f\x34\x38\x8e\x80\xef\x64\x7f\x32\x6a\xe1\x45\x83\xe8\xad\x18\xc2\x02\x87\xe0\x46\x92\x56\x45\x77\x1e\x30\xf0\x59\x01\x3e\x94\x5a\xe4\xb8\xd8\x26\xc7\xa9\x64\xa1\x36\x1e\x0e\xb5\x89\x1c\xf1\x64\xed\xf2\xe8\xd9\x76\xbb\x62\x01\x59\x59\x91\xd5\xbb\xf4\x22\x39\x51\xb3\x23\xf4\xd6\x0e\xf4\xc3\x0e\xb1\x06\x59\x89\x00\xa6\x63\xbd\xd6\xe6\x09\x21\x67\x41\x1f\xe4\xd1\xb7\x4f\xb3\x60\x9e\x60\x42\xa5\x4a\x92\x69\x58\x27\x4c\x38\x43\xab\x15\x62\x2c\x54\xbb\x7d\xbd\x46\x8c\x49\x3e\xec\xf2\x5d\xae\xbb\x2c\xd3\xfd\x6f\xab\x6f\xab\xc3\x31\x0d\xb9\xa5\x97\xba\x5e\x1f\x8e\xa9\x54\xe0\xea\x2f\xce\x0e\xff\x48\xc7\x6a\xdd\xfc\x93\x83\xdf\x47\x87\x3b\x98\x66\x96\x0e\x77\xcd\x73\xad\x89\x63\xd4\x2f\x10\x29\xcb\x3d\x7f\x04\xee\x64\x40\x9d\xca\x88\xd9\x02\xe2\x8a\x7a\x56\xb7\x0a\x41\x54\xf5\x27\x6f\x07\x07\xdf\x6a\x96\xac\xae\x14\x58\x48\xc7\x07\x75\x6b\x56\xb1\x5a\x99\x65\xa3\xab\x55\x08\x50\x68\x53\x0c\xc3\x21\x6a\xdd\x6e\x5c\xcf\xab\xf8\x37\xc8\x6d\x7f\x51\xef\xe6\xb2\x39\xd8\x6a\x68\xbb\x77\x6a\x52\xc0\x0e\x67\xa8\x7a\x68\x2a\x3a\xc8\x4d\x4d\xe9\xd8\x3c\xda\xb8\xf7\xab\x6d\x49\xfc\x64\x3b\xb7\x19\x07\x38\xd8\xd0\x2d\xb6\xc8\xe1\xdf\x5b\x0e\x86\x11\x82\x80\xbb\xf5\x59\xef\x1d\x12\x90\xf6\xb7\x12\x22\x36\xf0\xb8\x0b\xba\xac\xd1\x71\x7d\xa1\x12\xf5\x7a\x0d\x94\x9b\xb0\xd0\x8f\x40\xd7\xcc\x1b\x1f\xcb\x9a\x53\xd2\xdc\xd5\x84\x31\xa9\x88\x2a\xc5\xf2\xc4\xe9\x52\xee\x73\x4f\xf4\x18\x1e\x1c\xd7\x31\xf6\xf7\x2a\xf9\xfc\x64\xbd\xed\xc7\xf6\x37\xd1\x84\x30\x37\xae\x80\x02\xcb\x09\xf7\xd1\xaf\xcc\xf2\x45\xa4\x35\x6e\x0f\x0e\x3c\xf2\x5f\x0a\xd6\xf8\x7c\x64\xb9\x96\xbe\x8e\x2a\xdf\xb9\x9c\x1e\xed\xd2\x4a\xfd\x4d\x5a\xb1\xec\x28\x67\x9d\x23\xcf\xd8\xfa\xeb\xf0\x5d\x36\x21\x13\x5a\xbe\xdb\x6a\x57\xdb\xa0\x8b\x3c\xd4\x4e\xe7\x5d\xf0\x71\x18\x56\x16\x77\x49\x32\x7f\x78\x95\xcc\x03\x9e\xe4\xb6\xe5\x3a\x67\x9d\xc1\x0f\xac\xc9\x2a\xef\x12\x75\x89\x2d\xe1\x9e\xa5\xec\xd9\xe1\x65\xd9\x39\xc3\xbc\xaf\xf7\x1e\xb1\xdd\x32\x58\x9d\x84\x08\x17\x62\x81\x28\x58\xd7\x54\xb9\x21\x74\xe0\x7a\x67\xfc\x3e\x9a\x18\x06\x87\xa6\x74\xe1\x8d\xb5\x83\xbe\xb1\x97\x38\xce\x2b\x0c\x6a\x39\x0b\x56\xa9\x5c\x47\x84\xac\x12\x16\x19\xcd\xca\x2f\x3a\x3e\x43\xa7\x72\x2f\x79\x13\x81\xca\x62\x12\xcd\x0a\x70\x65\xb2\x97\xb2\xc4\x3f\x1a\x79\x0b\xb6\x28\xcb\xc4\xff\x79\xe4\x45\x6c\xcb\x2b\x60\x4a\x86\x81\x9f\x8e\xdc\x33\x81\x27\xa6\xaf\x34\x55\x58\xa8\x2c\x31\x1f\x9e\x09\x1c\xea\x57\xf7\x81\x78\xb7\x1c\x47\xfa\x4d\xf1\x25\xe3\x6a\x5f\x8c\x19\x7e\x8b\x23\x32\x8c\xfc\xc8\xf2\x85\x18\x59\xbe\x10\xe9\x74\xc3\x79\xe2\xd8\x78\x47\xa4\x0b\xc7\x91\x78\x42\x17\x74\x4a\x15\x2f\xa2\x59\x0b\xda\x62\x48\xf5\xa6\x14\x95\xbd\x72\x44\xa7\x74\x42\x53\x02\x11\x24\xa7\x8e\x83\x1b\x67\x8a\x70\x89\xc8\xf8\xee\x4a\xeb\x1d\x39\x5d\xd3\x55\xa5\xf3\xe5\x4e\x69\xa3\x71\xe6\x2e\xd6\xc4\x9b\x42\x4b\x8d\x3f\xc2\x48\x37\xb6\xb3\xca\xa6\x46\x1b\x5c\xfc\xfd\xbb\x4e\x4c\x76\xb0\x0b\xa7\xb8\xf1\x0c\xdf\x72\x5f\xf0\xfb\x56\x2d\xe0\x00\x65\x47\x15\x6d\x01\x6c\xa0\xbd\x5d\x19\xee\x3d\xa0\x7b\x16\xef\xde\xea\x65\xb0\xe9\xb1\x4b\x72\xf0\xdb\xd5\x2f\xe6\x6f\x6e\x6f\x2a\x23\x37\x57\xaa\x7c\x76\x8c\xcf\xf0\x1f\x39\xbe\xb6\xbb\x68\xfb\xc9\x40\xc8\xc0\x17\x7f\xe4\xa5\x62\x2b\x12\x7e\x9b\x80\x29\x4b\xbc\x23\x34\x3e\xdc\xe1\x34\x01\xef\x49\xcf\x84\xb8\x87\xc1\x6c\x86\xc3\xdf\xfc\xda\x8a\x80\x5f\x07\xbe\xb7\x7d\x82\xc9\x7f\x65\x68\x8d\x08\x04\x07\x5a\x2a\xfa\x4f\x8f\x40\x15\xe8\x21\x1f\xf5\xc0\x67\xf3\x50\x00\x70\x46\x23\xa4\x06\x70\x06\xaa\xf3\x1d\xbd\x18\x9b\xd3\x54\x17\xc6\x11\x04\xf8\xf7\x11\xe9\x89\xea\x65\x84\x60\x06\x44\x3d\x03\x92\xf4\xf6\x36\xa7\x60\xc7\x82\x08\xb5\x20\x10\x7a\x14\x51\xcb\xd6\x48\xec\x9e\xa3\xdf\x1b\x3f\x76\x8d\xb6\xb7\x60\x0d\x4e\x7c\x0f\x01\xae\x8d\x37\x08\x50\x15\xad\xa4\x89\x1c\x23\x13\xc0\xe8\x40\x61\x0c\x44\x3c\x6d\x73\xa9\xe0\x5d\x58\xab\x02\xf0\x90\x80\x88\x86\x61\x45\x25\x6a\x48\xf7\x21\x52\x67\xfb\x63\xe4\x87\xfe\x60\x34\xd2\xa4\xbb\x20\x70\xcb\x81\x03\x76\x2f\x74\xec\x89\x6d\x8c\x13\x84\x15\x2f\xac\x1d\xdc\x51\x01\xd1\x8c\xd4\x9a\x54\x2e\xf0\xbe\xa5\x76\x3c\x8c\x80\xac\x04\x0b\x1a\x1f\x5a\x6e\x1d\x6f\xe7\x25\xfe\x84\x83\xc6\x48\x47\x10\x42\x3c\x08\x89\x54\xa5\x09\xd0\x21\x92\x60\x63\x2b\x47\x10\x2b\x79\xa8\xfe\xf4\x10\xdd\x47\xbd\xc0\x0d\x9a\xd5\xdd\xde\x12\x9a\x97\x79\x89\x05\xa1\x13\xe0\x66\xbc\x08\x2a\x8a\x54\x45\x91\xaa\x28\x32\x15\x4d\xdc\xc9\x6e\x17\x7c\xa2\x19\x6b\xed\xac\xb3\xc1\x6b\x10\x99\x01\x73\x06\x33\xd2\xac\xf1\x10\x0b\xc6\x7d\xd5\xee\x88\x6a\x89\x13\xd3\x61\x79\x85\x76\x59\x44\x05\x71\xed\x28\x19\x61\xd8\x8a\x51\xf4\x88\x43\x2b\xe2\xb9\x0e\x7e\xe1\xcd\xec\xcb\x9a\x10\xe2\x81\x9b\x4f\x3b\x1d\x63\x8a\xa8\xa6\x0a\x8c\xc5\x38\xdc\x90\xe4\x6c\x05\xf7\x80\xd1\x3c\x9b\x7d\x94\xf9\x62\x9e\xe6\xd2\xf5\x7f\x0f\x46\xd4\x4a\xd6\x21\xd7\xfc\x1d\x24\xb6\xb6\x5a\x42\xbe\xb6\xe0\xdd\x7f\x19\x27\x72\x84\x3a\x8c\xdd\x57\xde\x05\xed\xaf\xa7\xc9\x3c\xf8\xfe\xd7\x97\xf3\x6c\x76\xce\x0b\xbe\x91\x63\x28\x03\xb0\xce\x5d\x8f\xe8\x04\xc2\xb3\x41\x6c\xcb\xd9\x6c\x9e\xba\xab\x13\x21\xe4\xa2\x70\x91\xe5\x2f\xec\xf0\xaf\x7c\x9e\xd2\xfd\x42\x3e\x16\x87\x8b\x84\xc7\x29\xdd\xff\xe9\xf0\x27\xb4\xa6\x8b\x79\x5e\xb8\x7f\x71\xdc\x0d\x08\x5d\x2c\x9b\x47\xb5\xf1\xcd\xcb\x9a\x3e\xe6\x59\x74\x06\xa1\xe0\xc0\x9b\x0b\xfa\xed\xf6\xe3\xcb\x83\x4f\x37\x97\x17\xd7\x08\xbe\xbd\x86\x1e\x98\x6f\x07\xf6\xd7\xbd\xc5\x46\x84\x3d\xb4\x2b\xbe\x1e\xb2\xe9\xb1\x65\x2e\x4f\x14\xf6\x00\xe6\xea\x07\x1e\x03\x58\xa7\x13\x54\x7e\x09\xd6\x06\x94\x54\x76\xff\xcb\x5c\x5e\xc9\x31\x17\x4f\xef\xb3\xf9\x2c\xce\xe5\xc5\x63\x21\x53\xb8\xd4\xfb\xbe\x07\x00\xc1\x3a\x9d\xca\x07\x80\x30\x9c\x97\xde\x13\xc0\xd1\xa9\x29\x9d\x67\xb9\x82\x56\x2d\xbc\x68\x05\x04\x04\x4b\x7d\x3b\x64\x1e\xd8\xfc\xb7\x7c\x08\x6d\x58\xfd\xdf\x69\xa7\x02\x5b\xee\x89\x25\x35\xb4\x19\x9d\xb6\xad\x7f\x76\xfa\x77\xd7\x5e\xb7\x38\xf1\x74\x2c\x25\xc3\x7c\x0d\xc3\x10\xeb\x27\xca\xfb\x66\x8f\x80\xba\x0b\x2f\x96\x39\x35\x06\xa7\xf6\xfe\x56\xe8\x0b\x62\x31\x81\x49\x1c\x64\xab\x0e\xcc\x8b\xc1\xe0\x98\x71\xc7\xf9\x79\x30\xf8\x95\x0f\x03\x37\xe9\x67\x52\x75\xba\x15\x43\x45\x5a\x0c\x20\xdd\x0b\x77\xf8\x2e\x92\x64\xf5\x68\xe6\x1a\xdc\x27\xeb\x20\x0b\x02\x24\xd6\x72\xc4\x04\x21\x2e\x3c\xf0\xb5\x65\x0a\x0e\x0a\x0c\xbc\x5f\xc5\x87\x6d\x6e\xeb\x14\xe9\xab\x66\x5f\x11\xbd\x01\x0f\x75\x24\xf6\xca\x69\xc0\x7b\xbc\x9a\xc9\x62\x32\x0f\x5d\x04\xd1\x01\xb6\x8e\x6d\xd0\xdf\x4c\xa2\xdb\x27\x3e\xd8\x9e\x25\xba\xb9\xa3\x21\xc8\x8c\x9d\x02\x4b\x11\x55\x53\xbe\x15\xf0\x5e\x41\xf8\x6a\x39\x42\xb3\x74\x55\x02\x31\xba\x41\x42\xa7\x2b\x36\x59\x1d\x69\x2a\xfc\x97\x98\xf7\xf5\x80\xc8\x88\x18\x8e\x2d\x02\x43\x03\xb2\x1a\xb3\x97\x38\x22\xb6\xb9\x4e\x1c\xe1\x97\x78\x42\x14\x25\x6f\x73\x66\xb5\x66\x52\x85\xac\x24\x0e\xe9\x5f\x70\xcd\xb9\xc6\xd0\x69\xdd\x04\xcb\x03\x5c\x3d\xab\xd4\x8d\x01\xb2\x57\x78\x2b\x8d\x0c\xa7\xa0\xc8\xb6\xfd\xc1\xdd\xdb\x4a\x33\x76\x57\xfe\xf6\xd4\x34\x3b\x55\xb2\x66\xff\x8a\x50\xa1\xa6\x07\xca\xb7\xd6\x8c\x78\xda\x9b\xe6\x0c\x8b\xad\x0b\x49\x83\xec\x15\x07\x80\x98\xf6\x21\x55\x7b\xa4\x17\x7e\x30\x5a\xab\xc2\xbc\xff\x10\x17\x93\xb3\x4c\x02\x1d\xce\x93\x5c\x91\x3f\xf7\x38\xd8\x91\xbc\x9d\x97\x6d\x67\xab\x63\x50\xc0\x76\xd7\xaa\x51\x21\x0d\xc9\x9a\x3e\x8c\xe8\x84\x25\xfd\x07\x50\x96\xd2\xab\x35\xc3\x17\x2d\xa9\x16\xd6\xe6\x7b\x32\x2f\xca\xb2\x7e\xbc\x50\x04\x35\x71\x9c\x71\xe3\x84\xbf\xfa\x44\x37\x32\x79\xf0\x49\xef\x53\x5d\x83\x7e\x6e\xaa\x30\x21\x1e\xab\x0f\x74\x33\xcf\x9a\x78\xe3\x46\xed\x88\xb3\x71\x4b\xd5\x28\x6b\xde\xe9\x84\x4d\xf4\xe8\x38\xcd\xc8\x5a\x0c\xf1\xa4\x9f\x2f\x85\x90\x79\x7b\xc7\x43\xe0\x85\x3d\x14\xa5\x88\x78\x93\x0d\x4d\xb1\x00\xe8\x49\xbd\xc4\x41\x05\x98\x9a\xc3\x11\xb5\x9c\x19\xd3\x89\x66\x2d\xb6\x6b\x6f\x55\x0e\x77\x2f\xff\x77\x2d\x10\xd7\x1a\x83\x0c\x31\x32\xcf\x88\xd4\x6d\xab\x54\x78\xb2\xdc\x1d\x5b\x1a\x9f\x8b\x0d\x0e\xbe\xd2\x3d\x92\x56\x9a\xa2\x37\xa6\x58\x18\x81\xfb\xfa\xca\x71\x30\x40\xd7\x40\x43\xd7\x60\x78\x05\x01\x35\x02\x4e\x21\x54\x7d\x10\xe2\x90\x50\x39\x22\xee\x55\x75\xf1\x1a\x70\x42\x3c\x3e\x1c\xf7\xc1\x21\xe8\x93\x11\x42\x12\x17\x47\x98\xd0\x71\xbf\xdb\x5d\x4c\xb8\x5a\xff\x2a\x03\xb6\x45\x44\xd3\x46\xd6\x1f\xb0\x83\xa3\x63\x16\x0c\x03\x77\xe0\x6d\xf4\xe1\x46\x6d\x8b\x79\x72\x2f\xdd\x1b\x03\xe9\x09\x5e\x41\x44\x40\x4e\xf5\x2c\xba\x41\x4d\x77\x08\xe8\xa2\x09\x67\x2e\xcc\xf7\x4f\xf2\xb1\x70\xe5\xda\x0e\xd2\xb5\x50\x2b\x36\x6d\x70\x92\x59\x0e\x05\x7f\xaa\x15\xc1\x84\xd4\x1f\x54\x0d\x56\xc7\x2f\x6a\x5e\x3c\xed\x2f\x64\xcb\x75\x6f\x4d\x30\x0b\xe2\x1d\x1c\xe9\xbb\xc6\xed\x4c\x46\xad\x9d\xd3\x23\x6d\x78\x77\xc3\x8c\xfb\x50\x50\xb4\xbc\xe9\x2f\x34\xa9\x40\xaf\xe8\x8c\xde\x32\x51\x6f\x92\x80\xb3\x0c\x8b\xfe\x32\x4b\xa8\xd8\x04\x64\xd8\xa4\xe4\x84\x78\xdb\x2d\xc2\x61\x13\xc4\x7b\xad\xb7\xe6\x05\xbd\x20\x5e\x47\xe8\xbb\x77\xc7\xe9\x04\xfa\xa9\x2c\x3b\x3a\xf8\x9d\x79\x43\xaf\x2e\x3e\x29\x5a\x4f\x18\x00\xec\x38\xe8\xed\xed\xcd\xf5\x7b\x3b\xad\x2c\xf1\x15\x3b\xc3\xa6\x0c\x04\x1e\x85\x90\xc0\x67\x38\xa8\x92\xcc\x83\x5b\x10\xef\x0a\x2c\xd9\xae\xb4\xa2\x31\x27\xf4\x04\xcf\xc8\x70\xe6\x38\x8f\x78\x06\x3d\x23\x43\xfd\x8b\x17\x74\x41\xdc\xb7\xea\xeb\x14\xcf\xfc\xa3\x11\x9d\xf9\x83\x91\x5a\xa0\x19\x98\xd2\xcf\xfc\x9f\x47\xc4\x9d\xe2\x19\x7d\x31\x18\xd0\xd5\x9a\xa2\x9b\x4b\xa4\x36\xa6\xd9\xb0\xaf\x89\x82\xa8\x33\x05\x2a\xf1\x8c\xed\x45\xa1\x9e\x36\x32\x8c\x30\xf1\x45\xbf\x4d\x45\x96\x65\xb0\x91\x32\x72\x1f\x54\xd1\x5b\x93\xb5\x21\x2a\xab\xac\x4d\xca\x88\xcd\x08\xe8\xa7\xe9\xe9\xa0\x01\xa7\x21\x9d\xd0\x5b\x2a\xfa\x26\xd8\x31\x15\x9b\xa0\x99\x8a\x1a\xd6\x81\x07\x89\xfa\x00\xbf\x5e\xb7\x6d\x3d\xc9\x6a\x70\xdc\xb8\x1e\xc7\xbc\xc7\xf0\xc1\x11\xb3\x7d\x1b\x0f\x11\x19\xa2\x21\x72\x15\x77\xda\x0b\x2c\x76\x48\xed\xab\x82\x4d\x6a\xc2\xc4\xdb\x22\x0e\xd8\x2b\xbc\x95\x56\xe1\xce\xed\x0f\xdb\xc4\x85\x71\x93\x0d\x1e\xf6\xda\x5a\x69\x17\x35\x7e\x00\x6f\x80\x53\x13\xa1\xc7\x9d\x5a\x71\x70\xd6\x3b\xb6\xa9\xaa\x0b\xdb\x15\xcd\x2c\xe7\xe7\x76\x3a\x38\x51\x6d\x33\x8e\xf5\xad\xb3\x26\x57\xca\x72\xb5\xa6\x7b\x15\xe1\xc5\xe9\x32\x4b\xdc\x00\xf4\x7c\xc8\x9a\x60\x4d\x88\x21\x8d\x81\x11\x45\xea\x80\x21\x8a\x14\x67\xa2\xa6\xea\xff\xae\x0f\xb6\xb7\x5d\xdd\x0b\xf0\xeb\x44\x37\x3a\xa1\xc3\x99\x8a\xa6\x2f\x8a\xef\x41\x14\x2d\x96\xf0\x57\x71\x3b\x48\xcd\x4d\xcd\xfe\xd5\x61\xc2\x52\x5b\x6c\x35\xfe\xa7\x45\x34\x2d\x1f\xc0\x1f\xfa\xbf\xbd\xbb\x7a\x5d\x14\x0b\x33\xe7\x2d\x4f\xf0\x5b\x5e\x47\x4d\xa4\x74\x5b\x42\xdc\xf6\x0f\xd6\xc4\x1c\xff\x81\xef\xe1\x5b\xed\x56\x29\xd0\x30\x8e\xf2\x3e\x4f\xc7\xcb\x84\x67\xc0\x40\x06\x5c\x4c\x73\x2a\x40\x07\xd9\x1a\xde\x6d\xed\x27\x7f\x03\x65\x59\x6a\x59\x11\x93\x9b\x0a\x8a\xb9\xc8\xe2\x45\x81\x08\xdd\xd3\xae\x86\xbd\x08\x82\x08\x32\x04\xec\xe6\x5f\xfc\x9e\x9b\x1c\x5e\xd4\xcf\x33\xc1\xb8\x17\xf5\x39\x70\x77\x9d\x81\x97\xb6\x10\x7a\xb4\x33\x16\xaf\x89\xa5\x98\x42\x70\xdf\xef\x64\xd1\x68\xd9\xe4\x91\xfd\x60\x1e\x3e\xb5\x3c\x66\x28\x92\x4b\xf7\x4e\xdf\x69\x1c\x1c\xd1\x82\xa1\x65\x3a\x4d\xe7\x0f\x29\xf2\xb8\xe3\x98\x66\xb4\x37\x51\x08\xa1\x13\xfa\x81\x8e\xc8\x07\x0a\xc5\x9c\xad\x54\xb2\x6b\x9a\x82\xb0\x26\x3a\x27\x9d\x30\x93\xc8\xaa\xc2\xc3\x5f\x06\xbf\xb8\x2f\x06\x03\xe3\xeb\x6a\x42\x0b\xb2\x56\xc3\x0e\xc3\x1f\x0e\x6d\xfb\xfb\xae\x71\xb5\xd5\xae\x9a\x9d\xba\xb9\x09\xa5\x66\x21\x69\x4a\x17\x34\xa3\x85\xb5\xa4\x0a\x9b\xde\x39\xce\x1d\x26\xde\xb3\xe3\x3c\xf7\x79\x30\xcf\x0a\x3b\x06\xc1\x25\x44\x0d\x32\x8a\x51\x27\x38\x07\xed\x02\xed\x67\x1b\xe7\xc4\xbb\x63\xcf\x7a\x32\x39\x0e\xe9\x9e\xce\x06\x1a\xd8\xdf\x77\xda\x8f\x9f\xc8\x3a\xf8\xa1\xd3\x7e\x4c\xbc\x31\x1b\x2b\x68\x0f\xb1\x06\xe0\x36\x5f\x43\x07\x45\xbd\x4b\x23\xed\x5b\x32\xf4\x27\xea\xe1\xb0\x2f\x54\x19\x99\xf5\x7a\xa4\x71\x8b\xf6\xf3\x7f\x10\x2f\xf4\x97\xa3\xd6\xa6\x52\x09\x86\x33\x86\x8f\x66\x49\xe1\x72\x46\x5b\x13\x45\x78\xdc\x84\xcb\x55\xd8\xf6\xcf\xb3\x93\xab\xab\xd3\x93\xb3\x4b\x44\xd1\xd6\xc1\xe9\xa3\xde\x92\xd0\xe5\x06\xc3\x71\x89\xa7\x94\xd3\xba\x2d\x8a\xc0\x35\x36\x74\xe6\x69\xad\xad\x08\xb4\xbe\x3d\xe3\xa0\x56\xe6\x3d\xf7\xe7\x0b\xa9\x17\xa9\x33\x20\xde\x0c\xa7\x1b\x35\x9e\x80\x24\xe8\xb9\x9f\xcb\xc2\x4c\x93\xc6\x80\x3a\x64\x22\x54\x90\xaa\xed\xb3\xed\xb5\xfd\xd9\xa2\xa1\xca\x52\xf5\x84\xa1\x0a\xf9\xa1\x38\xdd\x7f\x1e\x3e\xd7\xc8\xd0\x6d\x1e\x55\x76\x2a\xd8\xd1\x8b\x17\x3f\x33\x56\x57\x32\x7c\x31\xf8\xc5\xad\x5e\xbc\x46\x44\xb7\x17\x0c\x5f\x0c\x06\x2e\x8a\x62\xd0\xab\x3d\xe1\x78\x6c\x2e\x5d\xc4\x3c\x81\xfd\x3f\x20\x9e\x9a\x15\x45\xec\x3e\x43\xec\xe0\x24\xa9\xd8\xe8\xd7\x15\xc1\xa7\x86\xe2\xb5\xdc\xef\xab\x22\x07\x47\x46\x8b\x4a\xfd\x41\x88\xac\x61\xb0\x86\x08\x87\x67\xd8\xb1\x4c\x7a\x99\xe3\xe0\xe7\x2d\xc6\xcc\x04\x89\x2f\xc0\x24\xec\xb9\x85\xf8\x59\x61\x94\x06\xae\xb5\x6a\xb0\xda\x61\x10\xfb\xcb\x88\x15\xae\xbd\xb5\x9a\xf2\x34\xc4\xf7\x38\x31\x51\x35\x12\x10\x5d\x0f\x8e\x17\x44\xbb\x06\x15\xf8\x82\x2e\x8c\xa2\xc8\x42\x11\x52\x0b\x4d\x48\x39\xce\xc2\xd0\x7a\xb6\x9a\x21\x6f\x64\x8c\x68\xb5\x42\x94\x33\xb4\x5e\x23\x2d\x46\xb2\xee\xf5\x77\x89\xa6\x20\x40\x4d\x25\x95\x0a\xcc\x5d\x62\x7d\xf1\xbf\x4b\x3a\x16\x0c\x31\x67\x96\x60\xac\x85\x5a\x6a\x4f\x94\xbb\x3c\x57\x82\xdb\x49\xfb\x2e\x72\x13\x09\x54\x6d\xa0\x6f\xf0\x1f\xea\xed\x71\x3b\x68\x89\xb0\x42\xd9\x54\x87\x29\xa5\x41\xa3\x5a\xb0\x50\x6b\xdd\xe0\x52\x1c\xd1\xb1\x02\x4d\x56\x23\xcb\x4a\xb7\xc3\xb8\x83\xf6\x38\x4b\x87\x52\x6d\x9d\x4f\xd9\x32\x2f\x64\x08\x15\xba\x52\x7b\xe0\xba\x89\xea\x50\xbf\x6a\xb1\x17\x8e\xd3\x51\x47\x86\x08\x13\xd5\x79\x3f\x8e\x8c\x62\x0a\x27\x82\x21\xa4\xbd\xc6\x1a\x3d\x4d\x13\xea\xad\xd1\xc6\xd7\x41\xe0\x5c\x5b\x35\xcf\x84\x80\x76\x39\x43\xa8\xc7\x8d\xd6\x5e\xa5\x43\xcf\x19\x88\x60\xd7\x82\xf1\xe6\x62\x5b\xef\xac\x31\x59\x85\xf8\x8a\x6b\xc1\x61\xa6\xc6\xa9\xe8\x8e\x05\xeb\x74\x16\x8d\x09\x23\x9d\xd1\x6b\x36\xa0\x8a\xfe\xa2\x26\xc6\x44\x75\x81\x49\xaf\xd4\xfb\x57\x45\x99\x5d\x1f\xbf\x06\x67\x83\x8a\xaf\xc1\x77\x2c\xaa\x89\xd0\x80\x5e\x13\x63\xd1\x88\x67\x56\x3a\xa7\x77\xbd\x84\x10\x72\xdd\x61\xec\xce\x71\xae\x8c\x7f\x59\x1c\x59\x3e\x70\xae\xe9\x1d\x21\x84\x5e\x33\x3b\xf1\xae\x97\xd0\x19\xa1\x86\x6d\xb9\x26\xd4\x84\xa1\x10\xf8\x9a\x2e\x21\xf7\xac\x37\xa5\x5f\x75\xe2\x55\xed\x4e\x71\xcf\xb4\x80\x90\x3e\x0f\x2b\xd5\xf0\xeb\xef\x35\x4c\x2a\x65\xd4\x75\xea\x38\x47\xc7\x57\x35\x99\x7d\xc5\xfb\x70\xfc\xae\xe7\x46\x33\x24\x32\x6e\xcd\xcb\x32\xaf\xda\x32\xee\x84\x5b\xf4\x42\xcb\x7c\x35\xdf\x8a\x6d\xa9\xb7\xc5\x3d\xd8\xaf\x56\x77\x05\xde\x95\xff\xd5\x0f\x46\x23\x08\x79\x59\x2d\xdd\x95\xb9\x6f\x52\xa0\x66\x5b\x2f\xb9\x96\xb4\xda\xad\x50\x59\xf9\x96\xd4\x91\x2f\x41\x3d\xa1\x6a\x19\xae\xdc\x6f\xfc\x60\x64\xd9\xaa\xdc\xe2\x3a\x56\xe2\xee\x1d\x42\x57\xf2\x71\xe1\x46\xd4\x32\x42\x71\x73\xda\xd5\x0a\xa6\xe7\x55\xc4\xb6\x1d\xfa\x36\xcd\xcd\xa2\xce\xfb\x2a\x9b\x2f\x17\x76\x0c\x1f\x4b\xb9\xef\x16\x87\xc4\x7b\x04\x61\x58\xa0\x6f\x13\x40\x29\x2a\xa2\x61\x87\x31\x39\x14\x6e\x44\x39\xf1\x04\x8b\xd6\x3a\x2c\xaf\x31\xab\xa8\x06\xdd\x28\xcb\x03\xb9\x27\x1f\xf6\x3f\xca\xf1\xc5\xe3\xc2\xd2\x4b\x39\xec\x1f\x8e\x69\x44\x28\x1a\x23\x42\x17\x76\x1e\xbe\x33\x8f\x37\xde\x0d\x06\x1b\x98\xb6\xf6\xc6\xbb\xa0\x5e\x03\x26\xeb\x45\x1b\xdb\xf4\x6c\xb0\x45\x5b\xb7\xa4\xef\x0d\x75\x0d\x72\x78\xf5\x77\x9b\x9c\xb6\xc4\xdb\xb2\x92\xc8\x6b\x27\xc3\xbf\x1c\xd7\x3c\x4a\x35\x23\x0b\x96\x0e\xb7\x23\x48\xfd\x42\x5c\x7f\x44\x33\x06\xf1\xc2\xdf\xa8\x15\xbf\xe7\x09\x10\x8f\x10\x11\xa9\x4e\xd1\xd1\x8f\x4e\xf0\x94\x38\x4e\x67\x4a\x97\x0c\x5f\x0e\x43\x57\x90\x5a\x4c\x71\xc7\x96\x95\x98\xc2\x4b\xd8\x89\x42\x4f\x89\x3b\xf0\xee\x2c\xd1\x97\xfe\x33\x6c\xe9\xa4\x59\xaa\xf4\x0b\xb2\x76\x25\xf1\xee\x2a\x3d\xb5\x7b\x9e\xbc\x09\x59\x66\x2b\x3c\x2c\x4d\xa4\x24\x7c\xd1\xeb\x11\x6f\x70\x9c\x38\xce\xc5\xaf\x2c\x01\x27\x2e\x46\x2a\x84\x2f\x08\xdd\x2b\x70\xbb\x96\x5a\xfd\x3f\xf2\xdb\x1f\x46\xc4\xbb\x54\x44\x5d\x25\x8d\x5a\x83\x2f\x97\xcd\x4c\x4d\xe8\x9e\xbb\xb5\xde\xa8\xab\xb5\x27\xb7\x42\xbb\x58\x88\x4e\xc7\x85\x6e\xaa\xd8\x8f\xd3\xfd\x68\x88\x23\xbf\x9d\x3c\xaa\xee\x2a\x90\xae\x4b\x86\x88\xd0\x8d\xa9\xc7\xc1\xf7\x86\xb2\x51\x57\x15\x34\xa6\x09\x63\x60\x6d\x37\x6e\x94\x99\xea\xdb\xdd\x43\xcb\x64\xdd\x52\x6c\x02\x15\x26\x50\x20\x9a\x07\x10\xa4\xd5\x0a\x11\xaa\xa1\xd0\xa1\x1d\xd8\x7f\x1c\xda\x5a\x5d\x27\x5c\xab\xca\x75\xbb\x15\xa9\xc5\x44\x4d\x75\x41\xfa\x64\x9e\x17\x4c\x40\xa4\x7d\xf0\x7c\x02\x79\x15\xb1\xf4\x77\x2c\xfa\xea\x81\x94\xe5\xa7\xc8\x6f\x4a\x8d\x36\x9d\x82\x4d\x5a\x2d\xa2\x43\x04\x16\x8b\x4d\x68\x86\x3d\xed\xfc\x0d\x1d\xa2\x9e\x41\xc0\xa1\xdd\x2f\x5e\x4c\x58\x28\xc5\x3c\x94\x9f\x3f\xbe\x39\x9b\xcf\x16\xf3\x54\xf1\x89\xc2\x71\xd0\x21\x82\xdb\x76\x95\x45\xf5\xad\xa9\x73\x68\x25\x36\xf8\xe2\x88\xb8\x4d\xba\xae\x3d\x97\x3c\x13\x13\xf6\x24\x70\xd8\xd7\xcf\x3a\x1d\x22\x4a\xed\x68\x35\x84\x58\x53\x4d\xcf\xa0\x13\x1d\x56\xbd\xb6\x0c\xdb\xeb\xde\xab\x91\x55\x2f\xb6\xb7\xbf\x26\xbc\x37\x84\x31\x6d\x90\x71\x7d\x0f\x5d\x3b\x93\xac\x56\xdb\x2a\xfe\x96\x37\xfa\x00\x41\x2b\x52\x96\x59\x7f\x10\x33\x0d\x03\xd7\xba\xe9\xb7\x29\xa6\x33\x5b\x69\xc6\x02\xb7\xf8\x6f\xfd\x1e\x29\xff\xd6\x3d\xa4\xa8\x7b\x64\xef\x9c\x40\x98\xab\x6f\x03\x04\xbb\x93\x62\x96\xfc\xbb\xe2\xba\x05\x04\x3c\x47\x1e\xec\x2d\x1d\xea\xda\x64\x01\x12\xb1\x75\xde\xf4\x2e\xc8\xb9\xb6\xda\x01\xac\xfc\xaa\x89\x89\x7d\x1e\x60\x14\x2f\x8a\xc9\x22\x8b\x1e\x8d\xb3\xba\x49\x88\xc5\x66\xa5\xc5\xa4\x56\xe7\xae\xa7\xb8\xfe\xac\x98\xc6\x39\x38\x3a\xdd\x48\xd9\x0e\x03\xf3\x3e\xa8\x6a\x31\x8b\x4f\x45\xa5\x32\xac\xd6\x79\x88\xfe\x86\x7a\xf3\x3a\x0f\x2c\xbd\x8b\x50\x55\xed\x32\x4b\x18\x17\x76\x3f\x48\x0f\x07\x43\x34\x44\xbd\x00\xd4\x60\x44\x95\x93\x07\xf9\x67\x95\xb9\xd7\x94\xac\x16\xe5\xa8\xe9\x26\x4c\xd6\x55\x9c\x4e\x3f\xdb\x71\xde\x42\x13\x97\x59\x3a\x0e\xfa\x1b\x98\xc4\xf9\x83\x11\xb1\x1c\xf5\xeb\x48\x8f\xb2\x9f\x83\x44\xfa\x88\x10\xda\x19\xe8\x7b\x4b\x3a\xf1\x4e\x70\xc4\x60\xa3\x85\x84\x0c\xf1\x84\x45\x74\xc2\x4c\x9a\xa0\x11\x21\x43\xde\xc3\x39\x57\x30\x82\x46\xa4\x2c\x23\xe2\x06\xbd\x09\x71\x4d\x16\x0e\xc5\x26\x8c\xf7\x22\x97\x33\x16\xf6\xd0\x21\x72\x1c\x3c\x61\x6a\x5d\x4c\x74\x23\xd3\x6f\x3c\xa9\xf6\x5d\xa7\x33\xb1\x7d\xf1\xd6\xbb\xc6\xda\x1d\x7b\xbb\xb7\x47\xe5\x7e\xb1\xea\x71\x59\x9a\x3e\xd0\x08\x6e\xe6\xca\x12\xfd\x4d\x41\x0f\xfb\xa4\xdb\x7b\x71\x18\x31\xe9\x62\xd0\xa3\x37\x61\xf1\x02\x16\x52\xa3\x97\xa9\xb7\x37\x21\xc4\xad\x86\x2f\x09\xbd\xd7\xde\x3a\x22\x26\x09\xec\xb4\xc8\x74\x30\x64\xd6\xaa\x1a\xad\x99\x80\x4e\xd8\xe1\x1f\xdf\x0e\x41\x7b\xd9\xc5\xdf\x0e\xfb\x3f\x91\x43\xe0\x60\x1b\x7a\x59\xea\xda\x9a\xe8\x70\x12\x94\x6a\x3d\xe3\x4d\x36\x32\xda\x40\x51\xe5\x5e\x56\x4d\x6f\xe4\x1f\x8d\xdc\xb0\xb5\xbb\x59\xf8\x2f\x6f\x66\xbe\x63\x33\xcb\xff\xed\x66\xe6\xb0\x99\x39\x6c\x66\xb9\xb1\x99\x83\x1e\x6e\x8a\x0e\x85\xb5\xb5\x5d\xa0\x7b\x77\x6d\xea\xbd\xb6\x7e\x9f\xd9\xc4\x00\xc9\x4c\xe0\xc0\x21\x6e\x6d\x2a\xbe\x23\xb0\x5a\x1c\x7e\x17\x0e\x09\x43\x9d\x00\x0d\xda\x28\x0b\xfe\x7f\x79\xc0\x02\xe8\x78\x48\x86\x11\x0b\x5d\x3c\x69\x4e\x4d\xc4\x82\x9e\xe8\x4d\xd4\xb9\xa9\x0f\x4e\xa4\x0e\x4e\xb4\x71\x70\xa2\xe6\xe0\x44\xff\x3f\x5c\x65\x7b\x65\xad\x55\xb8\x08\x76\xa9\x6d\x36\xa1\xf2\x26\x71\xae\x18\xa2\xa6\xc0\x5f\x21\x68\x70\x6e\x97\xd1\xbe\xed\xef\x15\x12\x68\x17\xf6\xcc\x2f\xe3\xc0\x14\x6d\x1c\x88\x56\xac\x12\x8b\xda\xb0\xc4\x23\x88\x72\xb6\x92\x3a\x58\x87\xdb\x39\xa2\xc6\x2d\xdf\x29\xcf\xa5\xdb\x19\xd0\x4c\x3e\x64\x71\x01\x1b\x22\x77\x6b\xdd\x6a\x35\x65\xef\x33\x19\xc5\x8f\xdf\xd7\xee\xd9\x96\xa2\xc0\x1e\x7c\x37\x0f\xe5\x4e\xe2\x32\x30\x61\x49\x4c\x5f\x6a\x89\x0a\xa8\x4c\x62\xf5\xb9\xfa\xa4\x09\x87\x3a\x5f\x9d\x4c\x03\xad\xab\x5f\x0f\x40\x67\xb4\x12\x58\xfb\x73\x55\xa0\x19\x62\x55\xa2\x49\x61\x1b\x19\xbe\x23\xe7\x69\xb1\x39\xd6\x7d\x82\x15\xbe\x50\x65\x31\x12\xfc\xef\xe8\xa2\x6b\x7b\x3d\x3a\xd9\x88\xb9\x10\x34\x8e\x16\xa6\x26\x28\x6c\x04\xb1\x72\x74\x9c\x5a\xc5\x09\x87\x90\xae\xb3\xd2\xfa\x13\x0b\x75\xa8\x4d\x6c\x31\xc1\x9a\x86\xd0\xf5\x48\x3b\x6f\x44\xc7\x9e\xb5\x47\x12\xcd\xec\x8a\xbe\x1a\x0d\x0f\x05\xcf\x0b\xdc\x84\xdb\xd6\x91\x2c\x6f\xcd\x75\x3d\x9d\xf6\xf5\x51\xc0\x84\xf2\xa6\x4a\x1a\xe8\x7b\xdf\x29\x4d\xbd\x94\x85\x75\xcc\x4b\xa3\xdb\xb0\x60\xa1\x19\x4d\x06\x56\xe5\xf5\x3a\x82\x16\x71\xea\x38\xad\xa5\xb3\x88\x9f\x74\xae\xa3\xbf\x7a\x19\x5b\x58\xa4\xeb\x80\x2e\x1a\x12\xef\x10\xb5\xde\x0e\x11\xe9\xbd\x20\xa4\x87\xd3\xb2\x04\x3a\x28\x65\xb2\x0a\x18\x3a\x0c\x84\x1b\x87\xda\xec\x31\x53\x80\x6a\x41\x68\xca\x84\xf0\xf4\xdd\x62\xd6\x90\x86\x6f\x39\xce\x48\x3f\xe1\x79\xf1\xa6\x69\x87\xf4\x8e\x88\xa7\xa3\x27\xa4\x38\xa3\x05\x55\xd0\x25\x20\xde\x74\x03\x98\xc2\x5d\xaf\xb7\x63\x6d\xbc\x3d\x7d\xc3\xa8\x03\xd4\x35\x97\x37\xe5\x8c\xc7\x49\x31\x27\xee\x61\xec\x45\x10\xba\x54\x24\xb1\x98\xb6\x75\xc2\x61\xe2\xec\x0d\xaa\xaf\xb9\x8b\x2c\xb9\x94\x4f\xf0\x3c\x93\x05\xaf\x9e\xe1\xb6\x12\x5e\x5e\x74\x58\xd0\x7f\x98\xc4\x62\x62\x9e\x83\x65\x51\xcc\xd3\x46\xbe\x23\xd9\x29\x0e\xfa\x05\xcf\xc6\xb2\x20\x1e\xe2\x26\x28\x0a\xc0\x7d\x90\x8f\xa9\x27\xf0\xdb\x3c\x18\x95\x65\x07\x62\xad\x54\x4e\x40\x48\x83\x1c\x8c\xe2\x91\xd4\xb6\x8a\x26\xa8\x29\x98\x73\xdb\x51\x4e\xcb\xb2\x7a\x07\xff\x16\xae\x89\x7d\x7a\x86\xc7\xb6\x62\xe6\xed\x97\x57\x27\x3a\x42\x4f\xa8\x2f\x1f\x46\xe0\x2c\xda\x0a\xd1\x02\x7e\xf5\x4e\x38\x1e\xd7\xae\xeb\x21\x0e\x2d\xf1\x2e\x2a\xf3\xbf\xb2\xec\x8c\x9b\xd6\xf4\xf0\x54\xfb\x41\x3f\xce\xcf\xb5\x9c\xf1\x7d\x06\xbe\x1f\x64\x88\x55\xee\xad\x65\x1c\xd3\x44\x51\x28\x41\x7f\xa1\xf3\x99\x52\x98\x58\xa7\xa0\x53\x6d\x6d\xc7\xc1\xa2\x66\xc3\xe9\xa4\xba\x12\xf4\x51\x14\x1d\xfc\xc7\x7f\xfd\xf2\x62\xf0\x5f\x07\xed\x6a\xd0\x88\xed\x75\x06\x70\x69\xea\x9d\x05\xb8\xa9\x92\x74\xd8\x59\x80\x17\x10\x93\x46\x55\x6d\x1d\xb9\xce\x40\x1f\xa8\x4b\x85\xdf\x43\x3b\x56\x2e\xde\x90\x5c\x29\x32\xb6\xa0\x5c\xd1\xab\x75\xc0\x63\x13\x0f\xd8\x55\x1d\xdd\x69\x62\xa7\xb9\x4d\xab\x3d\xd9\x00\x1f\x1a\x35\xfb\x1c\x73\x7b\x7b\x07\x5e\xc4\x7e\x0c\x3c\x20\x5e\x02\xe5\x34\xa4\x01\x95\xa4\xba\x08\xae\x67\xdf\x6b\x5a\x34\xe1\x95\xa3\x21\x6e\x1a\x0b\x6d\xd8\x25\xe9\x18\x87\xb4\x73\x44\xa5\x22\x5d\x21\x98\x44\x02\x34\x0b\x21\x6b\x42\x45\xa3\xa1\x23\xfa\xdd\x30\x1e\xab\xad\x40\x8c\x6d\xff\x56\x70\x78\x4d\x42\x9c\x05\xff\x0f\x6f\x6f\xda\xe5\xb6\xad\xe4\x0f\xbf\xd7\xa7\x68\x61\x7a\x64\xc0\x42\xab\xa5\x24\x77\x23\x1b\xd6\xf1\x9a\x38\x63\x3b\x8e\x97\xe4\xde\xab\x56\x7c\x40\x12\xa4\x14\x51\x94\x4c\x52\xbd\x44\xe4\x77\x7f\x0e\x0a\x00\x09\x2e\xdd\x76\xee\xcc\xf3\x3f\xf6\x69\x91\x20\xf6\xb5\xaa\x50\xf5\x2b\xac\x87\x90\x50\x8f\x35\x47\x02\x60\x31\xf4\xe2\xa5\x2b\xe8\x0c\x4d\xca\xd2\x94\xf1\x21\x58\x04\x6c\x0c\xcd\x35\x1a\x89\xda\x97\x74\x38\x64\xd6\xc6\xbd\x0e\xf1\xff\x14\x45\x4a\xa0\xbe\x83\xfb\xba\xdf\xb3\xbb\x3f\xf8\xaa\x7e\xf5\x1a\x3b\x71\xf8\xa5\xfe\xf5\x46\x23\x1c\xd8\xfd\xcb\x1b\x67\x03\x71\x70\x3a\x1a\x45\xd8\xa3\x2b\x1a\x32\xab\x11\xea\xb6\xa6\x7a\x25\x34\x06\x8f\x89\xd0\xbb\x56\xc7\xb0\xe1\xac\xb4\xcc\x67\x2c\x11\xce\xef\x35\x2d\x32\x9c\x52\x65\x8d\x6a\xb9\x12\xfb\xa2\x1b\xb1\x2e\x99\x71\xa7\x15\x8e\xdf\xd6\xe5\x6d\xb8\xdc\x02\x75\x3c\x38\xfe\xb3\x9c\xfb\x9b\x39\x67\x7c\xb2\x15\x59\xc6\x23\x31\x1a\x81\x57\x6d\xfd\xa5\x16\xfc\x9b\xef\x64\x8e\x20\x35\xa0\x40\x99\xc0\x31\xba\x4c\xe4\x2b\xa4\x71\xac\xdf\xdd\x21\xf5\xc5\xc7\x77\xaf\x00\x02\x6b\xd0\x8d\x6f\xbe\x8f\x91\x23\xdf\xe3\x75\x62\xa9\xce\xf0\x86\xf6\xaf\xe9\x39\xb0\xee\xcc\x76\xb1\x00\x4d\x0c\x01\x96\x7a\x72\x4f\x8b\x77\x51\x51\xdc\xba\x4a\xd5\x3b\xbd\x3d\x72\x36\x1c\x6a\xe9\xa4\xa6\x08\x62\x72\x2c\xab\x9b\xaf\xce\x2a\x00\xa5\x97\x1e\xbd\x10\xaf\x32\xcb\x01\xf3\x02\xcb\xc9\x68\x65\x87\xc4\x49\xd9\x92\x9b\x0b\xcc\xa9\xba\x1c\xf2\xe6\x08\x39\x5e\x65\xc1\x71\x8c\x77\x91\x23\x30\x8a\x77\x11\x22\xca\x83\xad\xc0\x48\xfe\x22\x42\xaf\x79\x9a\xc8\x57\xf9\x8b\x08\x85\x0b\x49\xf9\xae\x95\x02\x29\xcc\x12\xa7\x55\x73\x9f\x09\x8c\xe0\x0b\xea\x33\xf7\xf5\x46\x23\xc3\x05\x71\x1b\xeb\xa4\xc4\x4d\x9b\xa9\x7f\xd6\xd2\x27\xf4\xe9\x13\x78\x69\x15\xdf\x8b\x3c\x17\xe9\xa7\x4f\x48\x59\xfe\x54\xe1\xef\x3b\xe1\xf1\x6e\xb7\x39\xec\xbb\xf1\x55\xb8\x1d\x7f\xa0\x3e\x80\x74\x50\xc7\xd4\xe4\xce\xbf\x31\x5a\x67\xc2\x0f\xe3\x00\x34\xad\xbb\xd6\x14\x1b\x2d\x38\xf4\xc6\x0c\x21\x2d\x29\xaa\x3c\xb7\xea\xd4\x7e\x96\xdf\x91\xfa\x49\xdd\x40\x8d\x24\x01\x13\x29\x4f\x0f\x7e\xbe\x4b\x7b\xea\x91\x18\x17\xb0\xde\x44\x2d\xaf\x6e\x1c\xb3\xec\x4c\x3c\x00\xc3\x4a\x45\xa2\x3c\x5d\xef\x82\x4a\x17\x4d\x52\x04\xa3\x91\x07\x47\xb1\xfc\x0d\xd7\x49\xd0\xaa\x79\xb0\xdb\x56\x19\x31\xa6\x6d\x0a\x9b\x51\x76\xde\xef\xca\xe3\x6c\xb7\x75\x71\xf0\x1f\xb7\x8e\x31\xf6\x31\x2c\x0a\xf9\xfb\x8b\xfe\xfd\x35\x6c\xc5\x0e\x55\xb9\x75\x79\x5b\xab\x3c\x90\xab\x30\x86\xa7\xc4\x2e\x53\xe5\x84\x87\xb3\x56\xe8\x40\x06\x23\xd4\x8d\x7a\x2c\xbb\x61\x8b\x65\x37\xec\x85\xae\x83\xfd\xa5\xd5\x97\x5c\xd7\xb7\x9e\xdd\xa1\xaa\xae\xbe\x62\x3e\x24\x6a\x22\x83\x3e\x8e\xbe\xab\xf5\xe6\x9e\x63\xed\x38\x49\x70\x47\x0a\x66\xa5\xe0\x4e\xef\x07\x90\xb2\x8e\xb9\x0d\x3d\x55\x4b\xbc\x69\x60\xc0\x7c\x3c\xd0\xe5\xd1\x57\xc4\xd9\xe4\x6d\xba\x8b\x52\xbe\x75\x40\x71\x69\x8b\x3d\xd0\xc6\x69\xec\x43\x1f\x25\x5f\x58\xdd\xde\xa9\x8b\x34\x5f\x4e\xa7\x3a\x50\x75\x0a\x4f\xf2\x92\xb8\x5e\xf5\xc2\x7c\x1b\x14\x26\x9b\xbc\x52\xe0\x31\x8e\x15\x63\x38\x75\xbd\x49\xbe\xfb\x55\xee\x94\x72\x2f\x6c\xc4\xff\x98\xf0\xf4\xf6\x79\x55\x88\x23\x2b\x62\xf6\x12\x65\x1a\x52\xe5\x53\x7f\xa8\xc2\xac\x8c\x07\xd6\x67\x1d\xd6\x2c\xe9\xc9\xba\xa7\xa8\x58\x84\x50\x8c\x7c\x4e\xd7\xd1\xaa\x5b\xa6\x8c\x51\xbd\xcb\x1e\x81\x68\x7d\x35\xd0\x71\xf5\x6b\x85\x14\xa0\x13\xe8\x60\xd2\xea\xae\x5d\xb4\xf6\x79\xfc\xff\x6b\xad\x4c\xe0\x7c\xb1\x74\x16\x5e\xab\xff\x9f\xee\x92\x00\x7c\x66\x77\x2a\x91\x83\xa2\xbe\xaa\x04\x8f\x73\x91\x26\x92\x04\xd2\x01\x32\x4f\xf1\xf9\xd0\x37\x48\x32\x5d\xa3\x6a\x55\xe2\x46\x68\x9d\xc3\x7f\x50\xeb\x97\xb5\xf5\xb1\x55\xf6\x60\x38\xb3\x67\x5a\x3b\xd1\x6b\xb1\xf5\x44\xda\x6a\xa5\x62\x8a\x4c\x23\xb6\xfb\x43\x2e\x82\xd1\xe8\x23\x56\x1b\xab\x48\xf3\xdb\x4e\x03\x77\xda\x26\xbb\x6a\x0c\x1e\xd6\x69\xcd\x96\x2c\x53\x56\x51\xc8\x7d\xd5\x7a\xca\x63\xbb\xeb\x7d\x26\xf7\x70\xd9\x65\xf3\x21\xc7\xea\xa6\x5b\x08\x65\x39\x5d\x63\x3d\x39\xc3\x99\x1b\x28\xc2\xa2\x9e\xf7\x59\x7b\x49\x5b\xeb\xd8\xea\x63\xf3\x58\x14\xca\x49\x94\x3e\xc3\x03\x5a\x55\x92\x74\x96\xb8\x35\x30\xaa\x72\xa3\xd1\x3d\xb5\x9b\x07\xdd\x21\x7b\x0c\x60\x58\xb2\x9a\xff\xe7\x93\x7d\x70\x4f\xef\x82\xa6\x43\xa3\x7b\x25\x77\x67\x7a\x4e\x43\xb9\xfc\xbf\xe8\xb8\xa0\x59\x2f\x75\x08\xdf\x59\x31\x3d\x85\xd6\xa2\x53\x35\xa5\x42\x64\x55\x10\xde\xed\x6a\x36\x03\x7a\x2a\xab\x22\xfc\xe9\x2a\x03\xee\x6c\x5d\x61\x7b\x87\x9f\x51\x7b\x87\xb7\x0e\xf3\x5d\xa0\x89\x86\x19\xab\xee\x91\xe1\xaa\x79\x31\x5d\x5a\x67\x4b\x05\xa1\x61\x76\x6e\x4d\x86\x80\x51\x84\x01\xe4\xe0\x0e\x5f\x4c\x97\x92\x31\x9c\x73\xe7\xda\x76\xaa\xb5\x0f\x1a\x17\x8c\xb9\xf2\x56\x67\x6f\x13\x72\x59\x56\xc1\xed\x8d\xa0\xae\xee\x67\xab\xba\x4c\x1d\x93\x95\xa6\x8f\x2c\x04\x42\x9a\x55\x37\xa2\x64\xa5\x63\xdb\x3f\xcf\xa9\x9c\xc1\x4e\x5f\x6a\x0a\x53\xd9\x31\x89\xdf\x7c\x0f\xd0\xac\x60\x66\x2a\x72\x91\x96\x54\x4e\x03\x9e\xef\x52\x07\x31\x64\xf5\x6b\x6a\xb7\x78\xda\xae\x6c\x51\xf4\xd4\xbf\xb7\xf6\x75\xa7\xe8\x83\x5b\x76\xd4\x7d\xd1\x5a\xeb\xe9\x4b\xd1\xdb\xd3\xdc\xbe\x94\xd6\x64\x90\x42\x22\xc9\xf2\x27\x87\x75\x1c\x88\x94\x79\x9a\xff\x54\xfb\x0c\xb3\x68\x9d\xdc\xc8\xf5\xbf\x3e\xc9\x0b\xeb\xee\x00\x59\x54\x1d\x62\xcc\x06\x67\xf0\xad\xde\xbc\x31\x6b\xec\xa7\x90\xcc\xab\x47\x4c\x9c\x7f\x19\xa4\x16\xdb\x2c\xa9\xe6\xbb\xc1\x52\x5e\x19\xcc\x37\x39\x68\x55\xab\xbb\x39\x68\x0b\x77\x50\x6b\xfd\x19\x5f\x43\xde\x1c\x80\x08\x1d\xa4\x3d\x2a\x5b\x74\x20\xb0\xbd\x81\x8f\x39\xa1\x3d\x5f\xc9\x7c\x38\x73\xba\x20\x86\x5e\xcb\xe8\x55\xa1\xba\x1b\xef\x69\x62\xb2\x4e\xf6\x87\x3c\x53\xf0\xa4\x33\x0b\x4d\xab\x72\xa3\x46\x23\x16\x2d\xa6\xcb\xb6\xda\x56\x8f\xc2\x59\x84\x39\x71\xe5\x78\x01\x72\xe4\x8a\xc9\xf2\xae\xe9\x35\x5d\x78\x4b\x42\x37\xcc\x1b\x8d\xa0\xd3\x6d\x43\x39\x59\x9d\xb0\xf6\xb6\x0b\x00\xf3\x89\xfc\xb3\x67\x53\x3a\xd8\x56\xb5\x71\xf7\x17\x5b\x77\x3f\x1e\x93\x78\xb1\x5f\xb2\x80\x26\xf2\xc7\xf6\xa0\xdd\x5b\xad\x5a\xe3\x6e\x38\xa3\x3e\xf8\x29\xa8\x32\xf4\x2f\x42\xd7\x37\x4e\x54\x37\x2c\x5a\xf8\x4b\x8d\x14\xec\x15\x05\xf6\xd8\x30\xc0\x1b\x1a\x2f\xfc\x25\x21\x24\x59\xf8\x4b\xa6\xde\xd8\x06\x5a\xb1\x21\xa5\x07\x57\xd5\xa6\x8d\x49\x6f\xb3\x5a\x56\x09\x95\x07\x40\x1a\x56\x6c\x3f\xeb\xad\x79\x85\x14\xc0\x49\xd9\x40\x66\x07\x35\x2f\xc6\x2b\xa5\xb8\xfe\x1b\x49\xa5\x8d\x1d\x80\x32\x4d\x96\x3f\x53\x72\x3b\x8b\x8d\x7f\x0c\x17\xd3\xe0\xad\xb5\xa4\x3e\xb1\x35\x63\xef\x00\xee\x36\x72\xa6\x96\x99\xb4\x52\xfc\x56\x1d\x36\x6b\xa0\x16\xa8\x1b\xcc\xa8\x92\x21\xfc\xb9\x76\x0e\xa0\x0a\x91\xd5\xd0\x5a\xfb\x4f\xf5\x82\x2b\xbe\xd0\x46\x01\x22\xf0\xb0\xdb\xc6\xa8\xed\x8e\xf1\x7f\x31\x14\xf7\x0f\x83\xec\xe0\x46\xd1\x71\x05\x3c\x59\x41\x8b\x9c\x70\xd7\x98\x13\xb7\x94\x27\xa9\xcf\xfc\x21\x63\xab\xd1\x48\xfe\x84\xf3\xa6\xba\xb3\x5c\xc3\x82\xf1\xea\xa5\x76\x7c\x2c\xa0\x6a\x96\x0c\xa9\x3f\xbe\xcf\x4c\x54\xb7\x12\x0b\x0a\x32\xf7\x1d\x51\xba\x9d\xba\x8c\x46\x9d\x20\xa5\x81\xd9\x0e\xed\x36\xc3\xf1\x6a\x22\x51\xc3\xd7\x35\x53\x08\xea\xeb\x5d\x88\x0d\xb8\x7e\x9a\x9b\x07\xc7\x56\x39\xf3\xd5\xa5\x18\x7b\xc1\x31\x99\x24\xbb\x8f\x49\xc6\x43\xf1\xfc\x8a\xc7\x34\x61\x47\x3f\xdb\x3b\x1b\x2a\x6e\xf6\x22\xc9\xd6\x57\xe2\xe9\x4a\xf8\x9b\xcc\x19\xce\x4a\xba\xbf\xf3\xe3\xb4\xec\xc8\xb8\x02\xba\xa1\xcf\xd5\xcc\xd8\xd2\x03\xfd\xec\x36\x75\xb0\x83\xb6\x0e\xf6\x67\x16\x80\xdb\x7d\xc0\x70\x51\x1a\xf7\xcf\xe7\xdc\xf1\xdc\x2d\xcb\x16\x9f\x97\xee\xb6\x28\x30\x72\x94\x2a\x99\xa5\xbf\xd5\x0a\x9a\x91\xd1\x08\x1f\xd8\x70\x4a\x65\x6e\xf5\xcd\xdc\x37\x84\xd0\xe7\xec\xf9\x7c\xef\x24\x74\x0b\x37\x65\xc2\xc7\xcf\x09\xdd\x32\x2c\x5f\x42\x1f\x6f\xa9\x4f\x9f\x13\x32\xa9\x64\xfb\xdb\x9a\x8d\xda\x76\xfa\x3a\x72\x0e\x3d\xa1\xdb\x0a\x1c\x77\xe5\x84\xce\x56\x77\xfd\x68\x84\xbb\x51\x05\xa1\xb2\x59\x6c\x5b\x0d\x4a\x8c\xb7\x74\x43\xb4\x16\xba\xe9\x46\xe4\x54\x5f\x03\xf9\xb5\x05\xe6\x7e\x5b\x36\xa4\x85\xdb\xa6\xee\xeb\xa0\x7d\x2b\xdc\xb5\x00\xb0\x75\x5f\xab\x25\x7a\x08\x1a\x0b\xd7\xb3\xaf\x05\xe4\xe2\xe5\x0d\x03\xb2\xe4\x3e\x63\xb6\xff\xb4\x44\xa5\xfd\xda\x2d\xec\xa0\x09\x9f\x5a\x71\xc9\xdc\x4e\x5b\x54\x41\x8f\xc6\x83\x4f\x8e\xa2\x28\xb0\x90\x33\x43\xef\x81\x9c\x02\x84\x8f\xba\x69\x1c\xce\xf4\x30\x2c\x64\x72\x1a\x60\x9f\x58\xa5\x06\x55\x0b\xf5\x6d\xc4\x51\x1b\x44\x4f\xcb\x0e\x14\x46\x4f\xc9\x56\x81\xb6\x11\xa0\xfc\x34\x04\x8d\x4c\x5f\x64\xd9\x7b\x7f\x25\x82\x43\x2c\x39\x68\xdf\x98\x6b\xc2\xdd\x5d\xfb\x3b\x34\xa1\x73\x3d\x23\x77\x23\x17\xdc\x20\xa8\xa4\xee\xa0\x2f\xe5\xcc\xad\x22\xb0\x6b\xb7\x86\x34\x9d\x52\x49\xc2\x18\x20\xc0\x8b\xc8\x1d\x8f\x43\x72\x0c\x98\x58\x84\x4b\x49\xb3\x78\xea\xc9\xd7\x06\x41\x4b\x10\xe5\xcb\x3d\x7b\x1e\x54\xfa\xc1\x1e\xf6\xb5\x93\x74\xe2\x28\xe3\x66\x6d\x4a\x54\x47\x31\x11\x9c\xc0\xe8\xe7\x9a\x90\x1a\xb4\xbb\xfa\xb4\x22\x94\xe3\x15\xe0\x1a\x37\x0e\x56\x3d\x14\x5a\x27\x1a\xd6\x72\x60\x50\xfd\xa0\x18\x26\xd4\x01\x62\x87\x11\x13\x43\x66\xdd\x8a\x00\x12\x5d\xf5\x5d\x69\x41\x37\xbe\xab\x20\xa5\x46\x10\xb1\x97\x18\x14\xc7\x3f\xdc\xee\x35\x78\x82\xfb\x16\x07\x16\xea\xdc\x31\x5f\x89\xa4\x89\xb1\x6b\x14\x67\xe4\x29\x7b\x05\xc7\x5c\x5b\x89\x46\x6b\xd3\xca\x96\xac\x5c\x7b\x9e\x55\x63\xd5\x17\x08\xf0\xd2\x7d\x1f\xd4\xb5\xc8\x22\xa0\x03\x28\x7e\x49\xdc\xe9\x45\x23\x9e\x1a\x17\x79\xa6\xdb\xc1\x35\xfc\x8a\xe9\xdb\x92\x22\x18\x16\xd4\x87\x28\x0a\x49\x6b\x1d\x74\xb9\x54\x51\xb8\x4e\x78\x1c\xdf\xa2\x7e\x60\xf0\x3a\x45\x8f\xf2\xcd\x06\x7b\x74\x08\xaa\xaf\x7d\x80\x73\xf0\x75\x06\x5f\x3d\xb8\x98\x7e\x8b\x57\x76\xaf\x1b\xe4\x02\xbb\x9e\xf6\x2c\x69\x35\x1d\x0c\x3b\x19\xb3\x63\x18\x0d\x45\x3d\xf9\x22\x8c\x3e\xfb\xb7\x7e\x2c\x10\xe5\x84\x38\xd5\x47\x35\x8f\x39\x21\x25\xad\x5e\x9d\xb6\xe2\xac\x5e\x8a\xd6\x24\xaa\xe2\xd2\x46\x31\xca\x86\x64\x1d\x02\x28\x5b\x51\xc8\x05\x45\x02\x06\x4a\xee\xb2\x9f\xdc\x1b\x1c\x18\x55\xbb\xfe\x86\xb0\xb3\x19\x0d\x0c\x06\x26\xb8\x1b\x17\x8b\xd9\x92\x0e\xec\x99\x4b\x9c\xfe\x1c\x60\xe1\x69\x1d\xa7\xbb\xb2\x9f\xd1\xb0\x37\x31\xb1\xd4\x79\x64\x89\x38\x92\x8b\x35\x22\x65\x49\x55\xcb\xbe\x7e\x24\x9a\xfd\xce\x75\xc7\x7e\x5d\x1e\xaa\x09\xdc\xbd\xaf\x09\xdf\xb8\x77\x34\xa1\xa4\xaa\x83\x1c\x7b\xab\xb6\x10\xa0\xda\xf9\x99\x8d\x75\xfa\xa8\xff\xbb\x59\x55\x81\x24\xa6\x8d\xe0\xa0\xb1\x51\x57\x6c\x94\x24\x1c\x61\xcf\x0d\xec\x3d\x17\x00\x58\x05\x00\xaf\xaa\x3d\x17\x9e\xbe\x55\x9b\xad\x30\x16\x1a\xb0\xeb\x7a\xd8\x27\x8e\x6f\xed\x9a\x66\xa7\x94\x6b\x63\xa0\x38\xc0\x1e\x93\x21\xbd\xc5\x78\x73\x7f\x52\x4f\x65\xc7\x9f\x54\x9d\x5f\x23\xf1\x55\x5b\xc0\x86\xb5\x77\x33\xbd\x5b\x49\xa6\x51\x1d\x03\x3e\x51\x9e\xb0\x71\x35\x2d\x44\xb5\x72\x63\x2c\xa8\xe4\x68\xcc\xde\x32\x1a\xdd\xe0\x40\x23\x50\x04\xad\xdd\xc0\x4a\x04\x88\xf6\xb4\x67\xdb\x91\x9f\x80\x43\x72\x4c\xa4\xa4\x55\xc1\x8a\x1f\xd1\xad\x15\x56\x5b\xeb\x4b\x62\x33\x7a\x50\x03\x95\x4a\x12\xb8\xb5\xbc\x04\xab\x6b\xb4\xe1\x8d\xe5\x2a\x06\xa3\x64\x97\x66\xf1\x55\x6a\x6e\xe9\x86\x30\xb5\xec\x3b\xfc\xbc\xda\xd9\x65\xe9\xd0\xa7\x8a\xe5\x53\x95\xe1\x2d\x3a\xa7\xae\x5a\xb3\xb5\x5e\x3d\x26\x16\x33\x58\x8d\x8a\xbb\x57\x14\x52\x8f\x59\x14\x94\x53\xba\x83\xbd\x39\xec\xba\xf2\x05\x3d\x0b\xba\xc3\xde\x28\xe0\x7a\x25\x12\x96\xb8\xfb\xea\x58\x95\xcf\x3c\x8e\xef\xca\x10\x04\x03\x01\xfb\x11\x73\x32\x5f\x2c\x9d\x5e\x24\x30\x7f\x3c\x76\x65\xba\xd6\xc0\x73\x79\xec\xb7\x50\x62\x85\xf2\x9a\x21\x96\x8c\xd3\xb3\x33\xbf\x28\xea\xce\x0a\x48\xab\xb7\x7a\x13\x37\xba\xb0\x24\xc6\x88\xd9\xce\xa6\xa7\xdd\x06\xca\xa9\xa6\x38\xae\x3b\xf4\x6d\x6d\x43\xa6\x81\x47\xda\x54\x6d\x0d\x50\x09\x16\xdc\x4a\x65\x6c\xbd\x4b\x5e\xa4\xfa\xe2\xf9\x5a\x78\x9b\xb5\x31\xf0\x6e\x7e\x06\xfc\x66\x65\xb5\x74\x57\xba\xa7\x5f\xf1\xb5\x3f\xef\x81\x60\xc3\xa1\x4f\x43\x26\xe6\xdd\x51\xf4\xfb\x5c\x6c\x91\xa3\x24\x88\xcb\xb2\x73\xc8\x01\x9c\x1b\x9d\xfd\x75\xf2\xd7\xbf\x02\x4c\x41\x37\x21\x37\xd8\x01\x92\xec\x75\xc3\x49\x76\xd8\xef\x77\x69\x2e\x02\x56\x89\x0a\x42\x9b\xb6\x8f\x65\x47\xd7\x76\x2c\x0d\xe0\x3b\xaf\xa6\xc0\x81\x8f\x12\x69\x66\x88\xa2\x44\xdc\xe4\xef\xd7\x5e\x6c\xd1\x49\x70\xe1\xff\x83\xe0\x41\x23\xe0\x03\x5f\xc7\x7a\xdb\x52\xa1\xb1\x06\x5c\xc8\x2c\x07\x13\x26\x0c\xc0\x09\xac\x70\x53\xaa\x0a\xd7\x90\x83\xa7\xeb\x80\x8d\xc7\x89\x11\xa1\x9e\x02\x3a\x03\x70\x5b\xca\x7f\x9d\x67\xb9\xa8\xe0\x4d\x91\x0e\x67\xb3\x29\xf5\x81\x9e\xac\x59\x34\x42\xd5\xbe\x4a\x85\x55\x4f\xa5\x2d\xf6\x21\x6f\x1a\xc4\xb5\xcd\x10\x95\x37\x3b\x4b\x49\xc7\x6d\xf2\x81\x36\x06\x75\x9f\x21\x78\x65\x25\x5e\x31\x6f\x55\x69\x15\x64\x74\x2d\xb9\x05\xd5\xa5\x89\x7f\x48\x53\x91\xa8\xba\xdb\x8e\xf8\xd8\x70\x6a\xb1\x87\xd5\xc8\xb5\x3a\x0b\xf4\xe1\xf4\x00\x29\xb5\x4d\xf6\xf5\x23\xbc\x4f\xc5\xd5\x7f\x34\xe8\xb2\xb3\x2d\x0d\xaf\x46\xad\x67\xff\x77\x13\xc3\x80\xc7\x57\x8e\xf9\x9b\xc6\x76\x7b\x7d\xba\x7c\x36\xfd\xa0\x4f\x18\x1f\xa3\x75\xb2\x4f\x77\x11\xa2\xf5\x27\xb7\x7a\xb4\xa5\xf3\x1a\xb6\x28\xd8\x9d\xf0\x76\x2d\xc6\xcc\x73\xaf\x57\xeb\x58\x28\xed\x2e\xdd\xbb\x16\x13\x95\x9b\xa3\x5c\xa7\x6e\xb4\x6d\xe1\x2f\xcf\x98\x47\x95\xb1\x5b\xf7\x5b\x05\xa7\xd7\xf7\xb1\x2a\xb6\xaf\xd4\xe7\x98\x1c\xad\x2b\x0c\x4d\x10\xb9\xd7\x15\xf6\x9c\xa4\x26\xae\x0d\xd8\x5c\xa5\x31\xce\xc9\x51\xfe\x29\x45\xab\x0f\x0f\xb8\xc2\x3f\x16\xa3\x11\x16\x15\xb4\x97\xb5\x05\x7d\x36\x9a\xaf\x19\xb8\x1e\x4b\x6c\x97\x31\xd6\x8d\x86\x93\xd0\xd3\x44\x5c\x37\x7c\xb8\x69\x3a\x47\x59\xcd\xc1\x84\xe1\x73\xac\x98\xb4\x84\x06\xd6\x44\x52\x8f\x86\xca\xb6\x37\x81\xda\xfa\xcd\xda\x18\x94\xd1\x07\x81\xa5\x2e\x29\x84\x76\x04\xe2\x06\xd5\x7a\xf0\xdd\xa0\x35\xd7\x7d\x7b\x5e\xbb\xbe\x3d\xed\xe7\xb8\xf1\xb1\xb5\x6e\x06\x01\x6d\x7c\x66\x81\x24\xfc\xec\x55\xd3\xfa\xec\x62\x5e\x14\xfe\x10\x9a\xa8\xe4\xc3\x4d\x87\x40\x1b\x0b\xae\x93\xaa\xf9\xd7\xe2\x7b\x6b\xf3\xf3\x48\xdf\x08\x84\x6d\x31\x98\xa1\x95\x3a\x1f\x14\xef\x04\xe2\x7f\x83\xef\xb9\x52\x8e\x3c\x36\x6c\x65\xcd\x77\x1a\xb3\x63\x98\x38\x1e\x8d\x79\x96\x3b\xcf\x69\x24\x72\x65\x4b\xef\x88\xa2\xe0\x54\x7c\x76\x86\x43\xbf\x74\x35\xb9\x7a\xa3\x40\xb2\xe3\x49\x98\xb0\x5b\xe2\x6e\x8a\x02\x37\xb3\x03\x97\x1f\x9b\x0a\x54\x2b\x26\x6e\xaa\x6a\xd2\x7b\xc0\x4d\x2f\x98\xef\xe1\x0d\x8d\xc9\x68\x94\xe2\x15\x3d\x9b\x11\x5d\x52\x69\xba\x04\x8c\xf2\x5b\xec\xb0\x25\xbb\x22\xc7\x95\xdc\x76\x36\x73\xbc\x81\x8b\x60\x2c\xa8\xa0\x11\x21\x8e\x07\x9e\x93\x23\x25\x76\x08\x34\xe6\x00\xaf\x00\x18\x44\x27\x24\x64\x8b\x25\x55\x7b\x21\x95\x79\xd2\x0d\x1b\x4e\xdd\x01\x38\x11\x68\xdc\x44\x81\xab\xab\xe8\x0e\x4d\xdf\x58\x72\x2c\xaa\x0e\xbd\x5e\x4a\x62\x36\x9c\x95\xa5\xbe\xe1\xaa\xf2\xb5\xf9\x7b\x2d\xf8\xe7\x92\x17\x6d\x08\xf9\x43\xc9\x29\x4e\x97\x00\xc7\xa3\xbc\xc4\x61\x41\x25\x17\xee\xcf\x85\x13\x28\x58\xc6\x16\xc1\xe8\x55\x97\x4a\x55\xb6\xf6\x67\xc8\xd1\x53\x39\x7a\x4b\x16\xba\x2b\xb8\x2d\x1b\x4e\x69\xa3\x79\x3e\x68\x87\x86\x4a\x2a\xb2\xe9\x6f\x97\xf2\x85\x51\x6d\x44\xa1\xb5\x09\x99\x91\xac\xdd\x80\xdd\x3d\x9c\x1c\xae\x06\x5c\x23\x90\xd3\xce\x0a\x87\x57\x80\x63\x04\x6c\xbe\x20\x64\x1d\xe2\x67\x5c\x3e\x00\x9c\xeb\x90\xb1\x3d\x98\x9c\xed\x69\x5e\x61\x81\xb0\x29\x8d\xc7\x63\x42\x79\x25\x94\xa3\xb9\xba\x89\xc4\xf1\x78\x4c\xab\x68\x39\xe3\x84\x7a\x6c\xea\x7a\x17\x1c\x10\x28\x56\x2c\x5c\x78\x4b\x3a\x88\x98\xec\x19\x1a\xb0\x95\xba\xf8\x88\x86\x8c\x45\x34\x28\x8a\x15\x63\x2c\x92\x4b\x40\x66\x23\x7b\x2d\xd2\x08\x1e\xb2\x22\x29\x54\x24\x65\xc7\x92\xe6\xba\x0a\x2e\xd7\x9e\xbb\xbc\x93\x75\x72\x22\x88\xf1\x20\x27\xa8\x07\x86\x4a\xe3\x31\xd5\x65\xe9\xa2\x3d\x6d\x91\xff\x55\x45\xcb\x4d\xb3\x7a\x83\xf2\x14\x82\xcf\x23\xe5\xdf\x11\xf2\x82\xe8\x8d\x72\xe5\xb6\x7a\x76\x66\x99\xeb\x2f\xb5\xbf\x66\xd9\x06\xa1\xec\x44\x55\xe5\x0d\xcf\x58\x96\x7e\xd3\xd5\x5b\xcd\xe6\x2b\x73\x27\xba\x61\xb3\x0a\xff\x8f\xc6\x6c\x4a\x13\xb9\x69\x51\x9f\xd0\x3d\xf8\xea\x96\x7d\xf2\x59\x4e\x2d\x79\xc4\xf7\xcc\x77\x0b\xc6\x89\x1c\x3f\xcf\xf1\xe7\x7a\x39\x07\x7a\x39\xaf\xa8\xf2\x8a\xbd\x21\x9d\x99\x70\x5c\xe9\xf5\x6c\x86\xdb\x86\x10\x98\xba\xbc\xf6\xc0\xc2\xe5\x20\x83\x5f\xac\x05\xd7\x7e\xd2\x64\x4c\x2e\x7b\x6a\xc5\x06\xc7\x92\xda\x63\x04\x7e\x04\xab\xe8\x1a\xbb\x68\xc5\x04\xb8\x4c\x52\x74\x65\x5b\x6f\xd9\x03\x34\xe2\x0d\x4d\x68\x4a\x73\xc6\xe9\x96\x1e\x64\x07\x3c\xa3\x57\xee\x5e\x6e\xff\x90\x08\x11\x37\x86\xd3\x42\xf8\x9b\xda\xd2\x43\xc9\x50\x19\x40\xd0\x28\x94\x67\x18\x0d\x7d\x2c\x1b\x66\x40\x10\x9a\x61\x62\x36\x4a\x37\xd8\x1d\x53\xb9\x05\x02\x34\xae\x22\xcc\xfe\xa8\xc1\x68\x01\x16\x88\xfd\x51\x01\xd0\x5e\x29\xdf\xdd\x6a\x79\xe3\x2b\x5b\x19\xe4\x0a\xcc\x49\xe2\xcc\x90\x0d\xd7\x92\x6c\xb8\x26\xa5\xde\x90\xb9\x13\xec\xe4\x12\xdc\xb0\xad\xb5\xdf\x13\xe5\x8a\x7b\x63\x4a\x4c\xce\xce\x14\x19\x02\x1a\xb8\x9b\x45\xb2\x94\x83\x84\x43\xe6\x01\xb2\xe2\x96\x90\x21\x63\x38\x62\x1e\x98\x60\x91\xd1\x68\x88\xbd\x89\xf8\x3c\xdf\x70\x80\x73\x71\x0c\x7a\x50\xad\x4e\x10\x8e\x46\xdd\xc0\x68\x34\x5a\x67\x6f\xf8\x1b\xb8\x3d\x56\x4f\x11\x21\x24\x55\xf7\x56\x1e\x55\xd9\x33\xc8\x7a\x05\x1e\x50\x0e\x71\x4c\x9c\x90\x7a\x93\x50\xd2\xe3\x11\x63\xec\xf9\x3c\x74\x22\xba\x25\xf4\x2f\x8f\x06\xf9\x68\x84\x9f\xb1\xef\xce\x72\x7a\x58\x3c\x5b\x16\x05\x96\x3f\xf2\x2c\x83\x77\xed\xcb\x76\x9b\x45\xce\x8d\x52\x55\x25\x73\x14\x26\xce\x09\x1a\xab\x57\x50\x41\x93\x0c\xa4\x7c\xae\x4d\x99\x88\x03\x21\x34\x11\xd7\xbf\xf0\xd8\x09\xe9\x2e\x0e\xe4\x43\x54\x92\xda\x5f\x9a\xc7\xc0\xcf\x2a\x8c\x21\x68\x3c\x9d\xf0\x52\x8f\xc0\xad\x1c\x81\x5b\xe5\x00\xa2\xd5\xef\x40\x2f\x8e\x46\x5b\x9b\x00\x29\x8a\xed\x50\xc9\x64\xd5\x07\x8b\x7a\x51\x7b\xa5\x5b\x7f\x37\xf9\xd9\x71\x5c\xb2\x95\x61\x8a\x74\x2a\x15\x21\xba\x65\x1b\x58\x73\x38\x2d\x0a\x33\xad\xe4\xa8\xe5\x67\x67\x9a\xe2\xae\x69\x6b\x60\xbc\x80\x00\x0f\x83\x75\x84\x28\xa7\x07\xe2\xea\x7c\xec\xe4\x30\x55\x9b\xc9\xdc\x37\x0d\x1a\xf6\x4d\x87\x86\x7d\x2c\xbb\xe2\x31\x1c\x26\x9a\x80\xb2\xd7\x1d\xb8\xe6\x6c\x71\x23\xc6\xfe\xc1\xe6\x8f\x34\x6f\x61\x1b\xde\x18\x72\xac\x36\xd6\xb7\xb9\x30\x6b\x41\xca\xf5\x6a\xf9\x06\x78\x66\x62\xe1\x8a\xc4\x39\xeb\x63\x68\xea\x8d\x08\x36\xe3\x3e\x5e\x88\xe4\x0d\x41\x77\x93\x25\x90\x27\x02\x71\xb9\xba\xf6\xae\x69\x4d\x3d\x8c\x98\xf7\xf1\x6d\x8d\x41\xb5\x93\x02\x61\xda\x49\x0a\xa1\x5d\xb6\xb0\x36\x27\xaf\xc3\xb4\x77\xc2\x66\x60\x3f\x83\xd9\xa8\x44\x37\xac\xce\xc9\x0a\xec\xe7\x4b\x7b\xea\xa4\xc7\x48\xc7\x50\x7b\xaa\x71\x84\x28\xd9\x15\xfd\x5c\xd1\x30\xf6\x37\x15\x70\xab\x73\xda\x25\x6c\x60\x9d\x43\xcc\x7a\x06\xd2\xb3\x47\x40\x78\xdb\x61\x69\x2d\x36\xb7\xc9\x88\xff\xaf\x19\xef\x16\xcf\x6d\x53\xda\x86\x4c\x96\x8d\xec\xbf\x2f\x92\x5c\x83\xe6\x03\x88\x8e\x08\x8d\x6f\xc5\xfe\x5c\xdb\xd6\xfd\x51\xe9\xf0\xf5\xf0\x82\x7f\x54\x92\x92\xcf\xb5\x09\x1e\x20\x2a\xaa\xfd\x11\x4e\x16\x47\xd1\x04\xb5\xa6\x26\xa7\xea\x58\x71\x3c\x38\x34\x2d\x1d\x99\xc6\xf5\xc4\x1b\x8d\xb2\x2e\xe3\xc0\x30\x35\x2f\x2f\xd2\xdb\xa3\x3c\x3d\xe1\x0b\x52\xb7\x3e\x0d\x22\x02\x8e\x33\x4e\x4a\x7d\x81\x76\x6c\x6e\x2f\x66\x43\xf5\xe4\x2e\xe2\xd5\xb1\x64\x36\x76\x5b\x54\x2c\xdf\x58\x58\xcb\x47\x3a\xf0\xdd\xb2\x34\x95\x6a\x77\x5f\x4b\xc0\xe6\xd7\x15\xa9\x3d\x27\xca\x15\x78\x5d\xb9\xeb\x3b\x60\xf0\xb6\xd8\xa6\x81\xeb\xe8\xf6\xb4\x5a\xf0\xa5\xeb\xd7\x4c\xb0\x1d\xce\x7c\x60\xb5\x6a\x3f\x80\x35\x45\xe6\x06\xbb\x93\xa0\xb3\x91\x28\xaf\x8c\x3d\xc1\x6c\x4a\x68\x5f\xf8\x78\xac\x85\x11\x01\xab\x18\x6a\xe3\x59\x07\x8a\xe9\x72\x01\xaa\x0e\xbe\x85\xf0\xa3\xa0\xc5\x83\xd1\x08\xfb\x8b\x40\x29\xca\xd1\x1c\x0b\x3a\xa3\x1c\xb0\xdb\x4e\xc5\x76\x9d\xf7\xf6\xc5\x62\x49\x03\x8d\xf9\x40\x43\x49\x0c\x46\xec\x28\x8f\x59\x87\x53\x65\xf2\x0b\xcc\xbe\x23\x68\x96\xef\xf6\x6f\xd3\xdd\x9e\x47\xbc\xc9\x5c\x90\x63\xc8\x86\xd3\x92\x36\xad\x73\xed\xef\x51\xc7\xa2\x12\x12\xb4\x03\x41\x77\x67\xb0\x61\x81\x87\x17\xd1\xb2\xd6\xab\xa2\x33\x42\x63\x9a\x48\x12\x2c\x60\xa2\x35\x40\x45\xe1\xbb\x51\x43\xc2\xc7\x84\x1b\x6b\x66\x20\xa9\x2f\xae\xe2\x8b\x04\x3c\x93\xae\x43\x1c\x2c\xe2\x25\x9c\x7f\xf2\xc1\x06\x20\xdb\x98\xa9\xb9\x97\x13\x78\xaf\xa9\xf5\xc0\xa0\xb3\xc7\x50\x91\xb3\x33\x2a\xa9\xaf\x75\x88\xc3\xca\xcb\x5b\xb3\x7c\xc8\x2b\x72\x85\xac\x6b\xe3\x94\x17\xa4\x5d\x55\x5b\xa3\x31\x2a\x69\x7d\x64\xde\xe7\x20\x54\x2d\xfd\xde\x61\x82\x4f\x77\x0f\x84\xf8\xfa\x81\x70\xad\xc3\xbe\x3d\x65\x4d\xbb\x85\xa5\x99\x21\x07\x4d\xb4\x06\x2d\xa2\x1b\xd7\x67\x81\x2b\x0b\x6e\x34\xdb\x77\x95\x18\xa7\x39\x90\x83\xc5\xd2\x8d\xf4\xc8\x6d\xea\x91\xd3\x6e\xef\xd5\xc8\x45\x66\xe4\xa2\xc6\xc8\x85\xa4\x36\xd2\x94\x7f\x5a\x23\x17\x41\x6d\xce\xce\xe8\x46\x8d\xdc\x10\x37\xcb\x37\x0d\x1b\x8d\xfc\x26\xa5\xe7\x57\x94\x9c\xdf\x4b\xe9\xf9\x16\xa5\xa7\xb2\x6c\x52\x7a\xbe\x0c\xd3\x73\x40\xdc\x3d\xf4\xa2\x34\x60\xbf\x4a\x6c\xf7\x07\x93\x1b\x2b\xc0\x50\xff\x7c\x10\x07\x21\x57\xe9\x1b\x08\xab\xb7\xf5\xea\xc3\xb5\x8a\x5c\xed\x9b\xe6\x43\x0d\x59\x67\x83\x84\xd7\x8e\x26\x15\x88\xc2\x2a\xcf\xf7\xd9\xbc\x08\xf3\xbd\x06\x51\x28\x72\x11\x17\xe1\x3a\x16\xc4\x39\xa7\x5c\xc7\xb2\xa3\xc9\x6f\x85\x17\xef\x3c\xe2\x14\x80\x5c\xbe\xde\xf2\x48\x5c\x9e\x93\x73\xed\x70\xf2\x87\x54\x84\xef\x79\xb2\xce\xd7\x7f\xc0\x56\xf1\xeb\x6a\x9d\x0b\xd9\xd5\x77\x9a\x26\x0f\x7a\x6c\x93\xd7\xdb\xe8\x7d\xea\x7f\x21\x9f\xae\xe3\xa5\x5e\x74\xd9\x2e\x71\x61\xeb\x4a\x9a\x6b\xd8\x60\xce\x1d\x8f\x86\x6e\xc8\x1e\x73\xec\x2b\x3c\x04\xdd\x89\x08\x5c\x2d\x17\x85\xf1\x2f\x09\x7a\x93\xe8\x00\xfa\x88\x0e\x1a\x87\x0d\x37\x70\xc6\x86\x12\x65\x22\x0e\x95\x89\xaa\xb9\x52\x71\x2b\xdf\x70\x00\x9b\x7a\x61\x21\xad\x3d\x7c\xf8\x10\x99\x0b\xdc\xa7\x1c\xa3\xf5\xb5\xcf\xd3\x00\x70\x9a\x3d\x76\x15\x60\x0b\xab\x16\x5d\x5e\x3e\xbc\xbc\x7c\x88\x28\x9a\x3c\x44\xcd\x60\x44\xd1\xe2\x37\xe7\x7c\x32\x1f\xb9\xcb\x87\xb5\x45\xaf\x05\x73\x89\x7e\x43\x63\x6f\x8c\x4e\x11\x30\x3c\x3f\x71\x0b\x1f\xae\x1d\x4b\x1b\x58\x43\x64\xd7\xaa\xd9\x56\xd1\x46\xc8\x36\x91\xbc\xb6\xfc\xc9\x2d\x96\xee\xe3\x1e\x6f\x6e\x95\x25\x34\xf4\x90\x24\x69\x06\x5d\x53\xed\x7d\x75\x8b\xf9\xfe\xe9\xf3\x4f\x4f\x7f\x7a\xf3\xe1\xf9\x3f\x3f\xbc\x67\x3b\x2d\xad\x62\x0b\xd5\xab\x4b\xca\x2b\x6f\x57\xa9\xd0\x86\xe0\x69\xdc\x3f\xd5\x7a\xee\xa0\x3c\x76\x1d\x60\x4e\x2c\xfd\xe5\x4e\x5e\x4f\x62\xee\x6f\x3a\xd3\xad\xf7\x3e\xeb\xba\xe1\x3a\xae\x0d\x78\xd3\xe3\x43\xeb\x4e\xeb\x80\x6a\xce\xf0\x79\x28\x33\x75\x86\x43\xae\xb0\xbd\x3c\x85\xcf\xd1\x6b\xd4\xde\x51\x40\x39\x3d\x3d\x24\xd7\x29\xdf\x6b\x64\x62\x30\x38\xe9\x85\x26\x2d\x01\x5c\xde\xbe\xff\x93\x93\x00\x8c\xb3\xaa\x20\x63\x1e\xd1\x93\xc1\x9d\x85\x61\x52\x36\xb2\x30\xdc\xfa\x9f\xcb\xc3\x62\xf2\xcb\x6a\xb2\x68\x55\xf3\x56\xa3\xcd\xe4\x54\x6b\x52\x4e\x4d\x17\x9c\x5c\x63\x74\x9a\xa9\x3d\x44\x20\x85\xa6\xe6\x83\x88\xc4\x0e\x36\x72\x7b\x81\x89\x24\x7f\x4a\x37\x5a\xec\xf8\xe4\x87\x0f\xaf\x5f\x2d\x19\x20\xd1\xc1\xfb\xd3\xf7\xef\xed\xd7\x8f\xef\x1a\x5f\x7f\x6c\x7c\x7c\xf7\xfc\xfd\x4f\x1f\xdf\x3d\x7d\xfe\x49\xc7\xaa\x52\x98\x49\x72\xcc\x65\x43\x1f\xf7\x7b\xda\x8f\xba\xde\xb9\xe7\xd1\x82\x2f\x1d\x38\x33\xe4\xf9\xe5\xdb\x1b\x05\x38\x93\xba\x01\x80\x10\x05\x81\xd8\xf6\xb6\x89\xba\x9b\x90\x51\x67\xb6\x0c\x98\xed\x2c\xc1\x2f\x95\x65\x08\x2f\x27\x85\x2f\x49\x7a\x5a\xc3\x5d\xdb\xfa\xe6\x0a\xf2\xcc\xdc\x72\xc9\x72\x85\x29\x57\xd4\xd4\x82\xea\xe5\x4e\xeb\x7c\xd9\x3a\xbf\x6e\xdd\x6a\x34\x12\x96\xaa\xca\xa0\x12\xdc\x8b\x3b\xa6\x09\xb8\xd2\x64\x8c\xb5\x3a\x5e\x75\xe7\x4a\xee\xe6\xc2\x16\x17\x29\x87\x03\x6c\x38\x73\xf7\x9a\xda\x48\x6b\xfc\xd3\xfd\x45\x0a\x76\x27\x92\xda\xc0\xde\x62\xbf\xa4\x2b\x42\x8e\xca\xc0\x19\xb0\xa1\x01\xb9\x5d\x26\xda\xb3\x29\xe0\xe6\xf6\x25\xe4\x56\xc2\x99\x9d\xb0\xea\x0b\xab\xb3\x93\x4c\xf8\x87\x34\x46\xb4\x51\x4b\xb7\xac\x5b\x25\xa7\x62\x75\x05\x85\x85\xbd\x19\xd7\xf3\x9d\xea\x65\xda\xeb\x56\xdd\x56\xfd\x59\xcd\xf9\x1d\x1d\xe9\xf0\xa6\x9e\xf6\xce\x46\x1c\x31\xf8\xee\x5d\x94\x91\xde\xfd\x75\x38\xe4\x9d\xdd\xb5\x03\xf5\x9e\xf9\xc2\xdc\xa4\x21\xda\xbc\xd5\x54\xd0\x00\x83\xbf\x3f\xfa\x95\xdb\x33\x13\x60\xae\x36\x19\x32\x9c\xd8\xef\x1c\xef\x38\x71\x83\xc9\x3a\xeb\x00\xa0\xd8\x18\xcd\xc1\x44\xaf\x38\xe6\x9b\x27\x37\xb0\xc0\xdb\xd5\xb6\xa0\x5f\xdc\xa0\xda\xf3\x7c\xf3\xe4\x7a\xc0\xd8\x99\x5c\x1a\x69\x7b\xc5\x02\x5e\x49\xeb\x6c\x4e\xa1\x8e\xd0\xee\xc7\x59\xcb\x51\x8d\xa2\x3e\x00\x95\xae\x9a\xe8\x5a\x3f\x7f\x34\xaa\x8d\x3c\xe7\xc2\xe1\x0d\x4f\x72\xb5\xa9\x8a\x0d\x42\xaf\xfc\x2f\x94\x9a\x83\xac\xca\x04\x24\x9e\x3a\x1a\x5d\xb1\xaa\x2d\xee\x16\xef\xfa\xee\xb3\x7c\x70\x4b\xe7\x06\x8b\xc8\xc3\x08\xb2\xf9\xc4\xb3\x4f\x68\xec\x93\x65\x1f\x05\xa6\xf4\xca\x4b\x1d\x3f\x12\xf9\xa7\x5c\x95\x75\x77\x92\xb0\x91\x04\xa2\xab\x22\x06\x77\x24\x58\xa9\x04\xb6\x0b\x46\x6b\xba\x7e\xbe\x47\x03\xaa\xf6\x51\xd3\xa7\x02\x75\x2c\x69\xc0\xfe\x85\xf1\x39\x4f\x82\x74\xb7\x0e\x4e\xf0\x65\x30\x26\xe7\xea\xe4\x7d\x81\xb1\x37\x49\xf8\xd5\x3a\xe2\x80\x22\x71\x2c\xc9\xe4\x90\x89\xf4\x71\x24\x59\x75\x52\x14\x8b\x25\x59\xcc\x96\x84\x0a\x76\xfe\x64\x77\x23\xc4\xf9\x5a\x61\x68\xdd\x97\x8c\x86\x8c\x03\x1e\xd8\xb1\xa4\x2b\x1a\xb1\xf3\xdf\xf0\xeb\xdd\x1f\x85\x52\x8d\x2a\xb6\x19\xc1\x73\x06\xd0\xa0\xe4\x9c\xc6\x2c\x04\x03\xcc\xd1\x48\xfd\x4e\xb2\xfc\x36\x16\x14\xae\x62\x13\xb9\xc1\xac\x43\xc9\xf8\x18\x66\x6c\x0f\xd7\x51\x04\x2e\x11\x22\xd5\x84\x3d\xdc\xdd\x6c\x16\xd3\xa5\xbb\x62\xab\x1a\xa6\x6d\x26\x8f\xd8\x8f\xfb\xbd\x48\x9f\xf2\x4c\x60\x32\x5e\xd5\x40\xb2\x7a\xdb\x52\x97\x95\xe8\x57\xa8\xd8\x4f\x7b\xee\xaf\xf3\x5b\x24\x0b\x18\x8d\x90\xaa\x2d\x22\xee\x86\x0d\x87\x72\x00\x79\x92\x01\xd0\x00\x44\x28\x8a\xd5\x18\x7d\x68\x86\x11\x37\x81\xa8\xdc\xe8\x7b\xd5\x31\x1f\x5b\x41\x83\x98\xb8\xc3\xa0\x28\x36\xa3\x51\x02\x97\xdf\xdf\xe3\x58\xab\x8d\xd5\x19\x12\x9a\x58\xe1\x55\x72\x62\x94\x38\x8f\x1a\x4c\xca\x19\xe2\xa1\x67\x90\xa5\x8a\xa2\x7e\x06\x6a\xf4\x7d\xce\x73\x51\x14\xdf\x3d\x0a\x8a\x42\x10\xba\xe2\x19\x38\xb9\x69\xec\xa2\xf2\xc0\x04\x1b\x19\xa4\xf0\xb5\x66\xb3\x47\xec\x57\xe3\xfc\x5f\xf5\xff\x15\xf6\x25\x67\x5c\x51\x64\x6d\x3f\x44\xc1\xfa\x0a\x11\x57\xc6\x61\x68\x97\xa0\x31\xdc\x84\x79\x95\x73\x86\x05\x5f\x96\xd4\xcf\xf6\xce\x0b\x8e\x09\xbd\x12\x49\xb0\x4b\x15\x6c\xa4\xb3\xa2\x75\xbf\x66\xce\x86\x56\x5d\x97\x39\x09\xd5\xf3\xd5\x09\x1a\xfb\x76\xd6\x59\x08\xb9\xd8\xee\x63\x9e\x8b\xa7\xdc\x5f\xc1\xce\x0b\x3e\xc0\x0c\xba\x7c\xd3\xbb\x46\x1f\xbc\x3c\x40\x2d\xca\xf3\x29\xe7\xf1\xdb\xa6\x8f\xae\xf1\xd8\xfd\x1e\x2e\x88\xd4\xdd\x13\x80\xd2\x36\x37\x9b\x77\x35\x51\x8d\x43\x4d\x6d\x45\x8c\x57\x0e\xad\x46\xa3\xfa\xb9\xeb\xd4\xd4\x1d\xfc\x88\x23\x32\x8f\x58\xa4\x61\x09\xfa\xac\xf5\xf8\x90\xb1\x7f\x7b\x25\x71\x22\x26\x1f\x00\xdd\x0e\x2e\xa3\x6a\x7b\x51\xa8\x1c\x3d\x2a\xcf\x73\x5e\x8f\x43\xd5\xa8\x24\x8b\xca\x34\x60\xd9\x30\x2d\xec\x6d\xf8\xd9\x59\xd9\xa3\x20\xea\x81\xc7\xb9\x90\x2a\x57\x82\x56\xf9\xf2\xb5\xa9\x0e\x2a\x29\xb9\x95\xd1\xd9\xe5\x18\xe5\x7b\xe5\x70\x29\xac\x1d\x10\x36\x1c\x0e\xd6\x5a\xcf\xb6\xc6\x68\x7f\xe5\xea\xeb\xdf\x06\x0c\x7c\x7e\xbf\xd7\x01\xcb\x22\xca\x40\xa5\xb5\x27\x86\xe9\xf2\x63\xb8\x4e\x02\xa3\x36\xd6\xb1\x24\xe1\x0c\x3a\x5c\x4f\xff\xec\xc9\xed\xd3\x98\x67\xd9\x1b\xbe\x15\x18\x25\xd1\x99\xa7\xd2\x21\x43\x79\x2b\xf4\x2c\xda\xd6\xf5\x0c\xd8\x20\xe0\x06\xc0\x01\x73\x02\x7d\x88\xd1\x69\x9d\x3c\x90\x4c\x66\xd3\xa9\xb6\x3f\xc7\x36\x23\x8b\x7f\x2b\x2e\x2f\x33\x82\xc6\xc0\x43\x8f\x11\xbe\xbc\xcc\x8a\xcb\xcb\xa2\x38\x25\x88\x10\xb5\x51\x07\x64\x34\x5a\x19\xc9\xb8\x73\x36\x1b\x5a\x4e\xd7\x3d\xfb\x5b\xd9\x74\xfb\x29\xbb\xe0\xf5\x2e\x10\x71\xb7\x03\xcc\x66\xbc\x62\x0b\xd9\x60\x44\x91\xac\xfb\x99\x7a\x4c\xa2\xcb\x4b\x07\x2d\x69\xc4\xa6\x6e\x74\xb1\x32\x24\xe4\x78\x1c\x19\xdd\x17\x3e\xf9\x7c\x10\xe9\xed\x7b\x11\x03\xeb\xf8\x38\x8e\x31\x5a\xa0\xf1\x6a\x11\x2d\xc7\x68\x2b\x8b\x44\x63\xec\xcf\x11\x43\x0e\x7a\xc8\x10\x19\x3f\x40\x0f\xc6\xde\xf8\x01\x5a\x3e\x00\x72\x38\x6e\xe9\xbc\xc4\x25\x90\xee\xaf\xf4\xa0\x3a\x5d\x1a\xc9\x57\x18\x7e\x25\xcd\xfa\xa2\x49\x2a\x0f\x7c\x3c\xd6\x58\x8d\x00\xa3\x4a\xa8\x67\xe3\x04\xd2\xeb\x95\x48\xde\xe7\x92\x0e\x73\x9a\x8c\xbf\xb2\x0a\xf8\x75\x25\x92\x37\xbb\xae\x8b\xad\x0c\x74\x77\x1b\x06\x74\x5f\x30\x11\xb4\x66\x6a\xe5\x20\xe3\x4b\x66\x7c\x3d\xce\xe3\x42\xe5\x34\xe3\x46\x6d\x5b\x1b\x16\xcb\xc3\x96\x86\xec\x56\xcd\xcc\x84\x75\x3d\x66\x7c\x4b\xe8\xbe\x76\x84\x91\x32\xbc\x6f\x3a\xc2\xc8\x59\x5a\xf9\xeb\xdc\xba\x5b\xb5\xcf\x35\xaf\x78\xe0\x5e\xa5\xd2\xef\x0e\x6d\x49\x66\x42\x2c\x7d\xc2\xb4\x5e\xe8\x54\xd8\xf7\x2e\x5a\xa7\x64\xb5\xc8\x27\xa7\x46\xb9\xfb\x65\xb0\x2c\xf7\x4d\x5f\x16\x31\x71\x1b\x11\xd8\xd6\x5d\x2d\xb6\x4b\x96\x56\xaa\x21\xa5\x9a\xa3\xc7\xd2\x0d\xbf\xec\xce\xa2\xca\x07\xb4\x38\xe6\x78\xb5\x68\x84\xf6\x3a\xb3\xa8\x6a\xda\x8c\x4a\x79\x53\xdb\xa2\xf1\x95\x34\xdc\x58\x84\xe5\xd2\x82\x01\x01\x57\x0e\xc7\x5f\xf9\x68\x84\x4f\x27\x99\xc8\x1f\xe7\x79\xba\xf6\x0e\xb9\xd0\x00\xa9\xd4\x23\xd4\x63\xa7\x1a\xcc\xf4\xae\x28\x86\x0b\x97\xef\x8e\x8a\x4c\x8d\xc7\x09\xe7\xb4\x76\x14\x56\x3f\xd6\x1e\x0d\x9c\xd3\x73\x8a\x10\x71\x10\xa2\xab\x5d\x96\xcb\xe4\xbb\x2c\xa7\x0a\x3f\xdb\x39\xd5\x8e\x1f\xe6\xe6\xa1\x4e\xf8\xdb\xe5\xbc\x4e\xc9\x33\x19\x17\x30\xb6\xd5\x8f\x15\xef\xbf\x1a\x05\x80\x98\xff\xb4\x72\x99\x41\xf7\xbb\x54\x16\x2a\x7f\xa8\x71\x3f\xe1\x28\xe7\x15\xa7\x7d\xce\x2b\xea\x40\x19\x6b\x5c\xbf\xda\x36\x9e\x81\xf2\x0e\xf2\x3d\xf6\xc8\x1c\xba\xd8\xf1\x1a\x46\x07\xca\x99\x07\x63\x37\x41\xf5\x26\xe7\x04\xb8\xf3\x80\x50\xf9\x54\xe7\x77\xd5\x5c\xbd\x9f\x39\xfe\xd9\x92\x5c\xdd\x42\x69\xd5\x2b\x37\x57\x8f\x86\xa6\xef\x3a\xca\xe0\xa4\xbe\x5a\xac\x65\x57\x03\x6d\xbf\x60\xe8\xe8\x80\x01\xa4\x23\x42\x77\xdc\x99\x79\xc6\x6f\xbd\xab\x70\x20\x77\x9b\xb5\x00\x4f\x13\x92\xd7\x1c\x32\x26\x80\xaf\x17\xcc\xa3\x1e\x13\xc6\x4f\x8a\x7b\x02\xea\xee\xc7\x52\xef\xd6\x95\xa4\x20\x02\x3d\x36\x6f\x11\x2d\x69\xcc\x56\xb5\x20\x97\x21\x42\xc1\x33\x0d\xde\x30\x8e\x57\x0d\xd8\xe5\x98\x10\x7a\x85\x83\xc5\x66\x09\xa6\x48\x8b\xcd\xb2\x15\x25\x1e\xcf\x08\x21\x16\x7b\x53\xf7\xda\x1f\xcd\x3e\xbd\x0d\x2c\x87\x88\x7e\xab\x43\x81\x7c\x03\xf5\x2d\x9f\x18\x06\x13\x0c\x5d\x7c\xda\xe4\x3d\xc5\xc2\x07\x40\x74\xc9\x55\xd5\xec\x67\x85\x10\x38\x09\x95\x2f\x4f\xec\x8f\xd1\x0b\x0d\x71\x12\x90\x52\x8b\x4a\xa3\x75\x06\x50\x2c\x5f\x14\x77\xf6\xc0\xb4\x5b\x03\xa9\xfc\xcb\x56\x05\x90\xb2\x5c\xba\x1c\x23\x75\x5b\xe2\xdf\x22\xfa\x47\x40\x64\x40\x00\x52\x82\xc7\x01\x71\x07\x1c\x23\x83\xb8\x72\x1a\xc2\x47\xf0\x94\x47\x79\x04\x2f\xf1\x7a\xbb\xce\x3f\xec\x10\xf5\xf4\xfb\xee\x5a\xa4\x3e\xcf\x04\xa2\xbe\x0a\xd1\xaa\x4e\xf4\x89\xca\x7a\x97\x06\x22\x7d\x72\x8b\xe8\x53\xf5\x7e\x90\x2c\x91\x4a\x10\x44\xd6\xcc\x3d\x0d\x7b\xae\x10\x34\x59\x24\xa9\xb9\x67\xdc\x08\xf7\x35\xb8\x4b\x2d\x74\x53\x64\xde\xcb\xaa\xe2\x04\xa3\x64\x97\xf3\x34\xe5\xb7\xb0\x23\x29\x0d\x5a\x83\x3e\x10\xf9\x98\x13\x03\x3d\x60\x4a\x6a\x3a\x80\xf3\x76\xbb\x58\xf0\x04\x39\xc6\x1f\x5c\x1c\xd7\xcf\xca\x37\x5c\x13\xb9\x00\x34\x6d\x54\x90\x46\x93\x71\x38\x13\x91\x86\xb6\x68\x79\x90\xab\x84\x18\xe6\x7e\x45\x56\xd4\x12\xe8\xaa\x56\x18\x93\x4e\x6e\x1b\x8c\x8b\xc8\x74\x89\xa2\xe1\x9e\x02\x0d\x85\x4e\x25\xab\xe7\xb9\x43\x50\xd8\x9f\x73\xb6\xe1\xce\x8d\xc2\x12\xe1\x2d\x01\x8a\x36\x43\x6e\xf0\x57\x5a\xb6\x38\xa8\x70\x73\xea\xbe\x05\x0c\x1c\xb7\xb2\x4e\x7d\x0a\x16\xcc\xc3\xcf\x7e\x23\x0b\xce\x5e\x60\x84\xc6\x9c\xb8\x9e\x7a\xf2\x6a\xc7\x36\xc3\xa6\xbb\x9c\x1e\xcd\xdb\xda\x4e\x30\x18\x8d\x86\x4f\xb1\x20\xf3\xd7\x1c\x0b\x49\xfc\x50\xb0\xf3\x73\xd4\x2b\x6d\xd9\xce\xbf\xe6\x36\xdd\xa1\x95\xcc\xe5\x62\xa5\x2b\x06\x43\x6c\xcb\x62\x19\xe8\xa1\xa2\xa1\x72\xd4\x5a\x6d\xe0\xa6\x0d\x2a\xaf\x86\x03\x22\x35\x70\xeb\x10\xff\x68\xdd\xe2\x78\x93\x6c\xb7\x15\x7d\xb6\xcb\x75\x6d\x64\x1b\xf5\x4c\x0b\xcd\x2c\x33\x73\x02\xb8\x33\x99\x69\xa0\xa8\xd8\x08\x38\x55\x22\x2b\x7a\x8a\x86\x8c\x45\x36\xac\x85\xcc\x12\x2e\xeb\xa9\x4f\x87\x75\x5d\x6b\xe6\x63\x3e\x9c\x39\x55\xb9\xc3\x19\x5c\x3a\x59\x60\x46\x2b\xab\x0c\x0e\x58\xe9\x8c\xcb\xfc\x86\x37\xe0\xfc\x64\xa8\x1c\xaf\x0c\x70\xc8\xd0\x29\x40\x98\x53\xd9\x0f\xe1\xdc\x73\xa0\x58\x01\x8a\xf7\x21\xb1\x06\xda\xd4\xa0\x62\xad\x35\xd2\x5b\x2f\x5c\xc5\x70\xd6\x9e\xf0\x7e\x7b\x36\x47\x36\x6e\x94\x99\x7a\x73\xbd\xdc\x8c\xec\xdc\xda\xa5\x03\xdb\x8f\xd2\x9b\x8f\xaf\x9f\x3c\x7f\xf7\xe9\xc5\x4f\xef\x5e\x3f\xfe\xf0\xbe\x33\xad\xb4\xb3\xfb\x2b\x60\x40\x70\xc0\xf8\xe4\xe9\xc7\x77\xef\x9e\xbf\x79\xfa\xaf\x4f\xef\xff\xf5\x9a\xb8\xda\xed\x8c\x60\x7c\xf2\xf6\xf1\x87\x0f\xcf\xdf\xbd\x79\xbf\x98\x2d\x27\x5b\x7e\xf3\x22\xe5\xb5\xb8\xd0\x00\x49\x79\xce\x33\x90\xff\xd9\x91\x29\x9f\x7c\xff\xee\xa7\x8f\x6f\x3f\xbd\x7f\xfe\x96\xf2\xc9\xb3\xe7\x4f\x5f\xbe\x7e\xfc\x0a\xde\x44\x7d\x75\x78\x7e\x79\x98\x4e\x1f\x7f\x77\x1e\xc9\xa9\x61\x81\xde\xfe\xc9\xc6\xb4\xfa\xa9\xaf\x46\xd3\xfb\x6a\xd4\x28\xfc\x99\x42\x02\x33\x8b\x47\xaf\x6f\x62\x2e\x64\x5d\x8d\x08\xf1\xc8\x73\x3d\xf6\x9a\xe7\xab\x09\xf7\x32\xa3\xa1\xb3\x62\x2f\x93\x70\x9d\xac\xf3\x5b\xb3\x37\x0c\x57\xa3\xd1\x70\x9d\xbd\x90\x81\xa2\x93\x4f\xc4\xbc\x31\x42\x34\x66\x08\x19\xb1\xda\x62\xe9\xae\x46\x23\x1c\x33\x74\x79\xf8\xe6\x9b\x99\x40\xc4\x64\x03\x1b\x46\x54\x1f\xf8\x02\xe9\x33\x76\xcf\x22\x7d\x3f\x7c\x8e\x17\x97\xc1\xe5\x64\x39\x26\x02\x9f\xcd\x89\x92\x26\x12\x77\x3f\x1a\xa1\x33\xc4\xd8\x7e\xf1\xcd\x72\x34\xda\x2f\xbe\x5d\x3e\x12\xe3\xd9\xdc\x63\x53\x07\xc7\x2c\x02\x5b\x08\x58\x21\xab\xa2\xd8\x90\xe9\x85\x18\x8d\x66\x8f\x3c\xa8\x85\x37\xc9\x77\x2f\xd6\x37\x22\xc0\x42\x12\xb8\x20\x8e\x7d\x11\xef\x78\x8e\x63\x42\x63\x56\xd3\xa7\x2b\xb9\xbc\xb5\xb2\xfc\x8a\xe1\x48\xd3\x31\x2b\x9f\x2c\x66\x4b\x49\xed\x10\x43\xc0\x54\xb3\x0b\x7a\x6f\xbb\x4e\xb0\x7a\xe0\x37\x98\xcb\x57\x39\xc7\xe8\x8a\x50\x5e\x4d\x38\xb9\x79\x8e\x55\xac\x74\x77\x48\x02\x3c\xc6\x9e\x75\x67\x31\x46\x02\x8d\x05\x21\xed\xa0\x33\x61\x46\x45\x6d\xbc\x75\x95\x68\xc4\x56\x72\x4a\xac\xd8\x4a\xd7\x4e\x01\x81\xc1\xbd\x4a\xf4\x7e\xfd\x87\x00\x57\x84\xf0\x24\xbb\xdf\xa0\x79\x3d\x62\xe9\xd8\xdc\xc2\x98\xb0\xb3\x94\x6e\xd8\xd4\xdd\x5c\xec\xdd\xcd\x78\x4c\xe4\x31\x83\xf7\x67\x1b\xf2\xdf\xf9\x68\x34\x1d\x32\xb6\x01\xab\x04\xe6\x13\x1a\x8f\xeb\x4d\x6c\x43\xb4\xbe\xc9\xde\xdd\x5c\x54\x60\x61\x55\x06\x55\xe6\x1b\xf2\xdf\xe9\x57\xe4\xe3\x1a\x66\xfe\x42\xb8\x64\x35\x66\x68\x8a\x5c\x31\x1a\xa1\x29\x32\x5a\xe6\x63\x16\x8c\x2d\x09\xac\x20\xa4\x9c\x6a\x54\xf9\x90\x0d\x67\xe0\x04\xff\x90\xad\x70\x38\xe7\x93\x44\x44\x6f\x53\xe1\xf0\xc9\x7e\x97\xbd\x4d\x05\x8d\xa9\x0e\x7d\x7f\x08\x55\xe8\xfb\x83\xe5\x63\xbb\x76\x13\x5a\x2d\xa2\xef\xbd\xe6\x59\x8c\x90\x3b\x85\x19\x15\x30\x74\x86\xa8\xc7\xce\x3c\x55\x71\x8f\xc9\xa1\x71\x0d\x75\x7b\xc1\x5d\xe2\xc9\xda\x8f\x3d\x57\x39\xd4\xf3\xda\xce\xe3\xce\xac\xeb\xf3\x60\x6c\x6d\x81\xbc\x3e\x66\x8e\x60\x95\x36\xed\x3b\x4f\x05\x13\x0b\xf0\xba\x3f\xf6\x96\xea\x0a\x6f\x7a\x31\xf0\x8b\x42\x3c\x3a\xf3\x89\x18\x33\x1f\x0c\xa1\x01\x50\xfe\x1b\xe5\xd5\x59\xb0\xd9\x37\x55\x89\xdf\x83\x59\x4e\x73\xc7\xf8\xc1\x6b\x80\xf5\xf4\xe9\x78\xf8\x56\x99\x34\x64\x99\x87\xf9\x1c\xbd\xff\xe1\xa7\x77\x1f\xd0\xd8\x73\x6a\xbb\x54\x80\x34\x10\x36\xca\xe5\x73\x6b\x2f\x04\x01\xd3\x33\x2e\x37\x12\x3a\xa5\x33\x42\x24\x09\xfb\x8c\xdf\xe2\xc6\x85\x69\x15\x01\x7f\xf7\x88\xf1\xf9\x5f\x9c\xd9\x37\xe4\xcc\xf6\x99\xf7\xa2\x17\x02\xa8\xba\x94\x78\x1e\x60\xa0\x8d\x5f\x1c\xe2\xf8\x5f\x82\xa7\x98\x10\x97\xb3\x71\x95\x75\xeb\x23\x85\xf7\xd7\xbb\x24\x5f\x99\x17\x88\x46\xc6\xf8\xbb\x33\x5e\xd5\x90\x90\xb3\xb1\xef\x72\x36\x1b\x5b\xeb\x98\x9f\xff\x75\xfa\xdd\xdf\x9f\xff\xc5\xee\x5e\x75\xd3\x52\x55\x76\xed\x37\x3a\x77\xfa\x48\xd9\x1a\xd4\xe5\xcf\xf9\xe4\xf9\xbb\xc7\x72\x87\x77\xf4\xd3\xcc\x92\xe7\x3c\xee\xe1\xf9\x80\x27\x53\x20\xe2\x03\xae\x77\x4e\xc9\xaf\x70\x56\xb5\x51\xfb\xeb\x08\xd9\x94\xae\x00\x89\xc2\x5b\xfc\x7d\x39\x07\x67\xa5\x1f\x3f\x3c\x35\x85\x3b\x10\x60\xde\x68\xdc\x8c\xf5\xc3\xee\x90\x66\x2a\x0a\x3c\xba\xde\xe2\x1f\x4b\x58\x6e\xff\xc2\xf2\x71\xec\x2d\x66\xd3\xa5\x24\xc9\xea\xf7\xd9\x92\x80\xb2\x9e\xc2\x43\x92\xe1\xb3\x25\x81\xdf\x6f\x96\xe4\x6c\x06\x4f\xdf\xca\x38\x2a\x93\xef\x96\x45\x31\x25\x67\xa1\xab\xf2\xf8\x8b\x7a\x5d\xb9\x11\xbc\xfe\x15\x5e\xcd\x31\xa5\x7a\x7c\xf6\xfc\xdb\x87\xd6\x26\x8e\xa6\x13\x34\xc6\xde\xe2\x6f\x10\x95\x10\x37\x36\x65\x2b\xab\x66\xaf\x42\xa6\xe0\x5a\xe7\xf5\xfc\x37\x7c\x19\x1c\xbf\x2b\xc9\xd9\x1c\x5f\x06\x97\x41\xf5\x8b\xe7\xce\x87\xea\xc9\x99\xf7\x3d\x5e\x4e\xe0\x44\x22\x73\xf9\x0f\xff\xbb\xc0\x8b\xf1\xd9\x92\xa8\xcf\x26\x9a\xfc\x74\x7a\xde\x59\xb9\x16\x9a\xe4\x4a\x9e\x96\x11\x5b\x2c\x81\xa5\x16\x4c\xf2\xd2\x5b\x11\xac\x0f\x5b\x39\x74\xc8\x15\xcc\x9b\x3c\x7b\xfc\xe1\xf9\x87\x97\xaf\x9f\x1b\xaa\x61\x21\x96\x45\x21\xdc\xef\x15\x16\x87\xcf\x06\x61\xa4\x44\xb0\x3e\x99\xff\x0b\xfb\xc4\xe1\x72\x06\xb8\xbf\x98\xef\xd5\x44\xf0\x95\xc9\xd5\x50\xc8\x08\x45\x51\x1f\xe5\xea\xde\x76\xbd\x05\x67\x7c\x86\x88\x53\x7b\xb1\x70\x09\xde\xb0\x48\xdf\x81\x09\x42\xe6\x38\x62\x81\x87\x23\xba\xa1\x33\x42\x05\x8b\x26\xfb\xdd\x1e\x13\xe2\x60\x0d\x46\x24\x88\x36\x69\x37\xe2\xbf\x2a\xf7\x3f\x76\x89\xf8\x29\x0c\x33\x91\x63\xf0\xb9\x86\x13\x76\xed\xe3\x90\xf6\x46\x20\xd4\x67\x3f\x79\x92\xd9\x06\xa2\xd8\xdd\xe2\xa8\xc1\x0c\xc7\x6c\x15\x2d\xf8\xd2\x5d\x8d\x59\x3c\x8f\x25\xf7\xdd\xe9\x28\x9a\x10\xc7\xf2\x48\x8c\x7f\x7b\x50\x3c\x38\x25\xe7\x11\x45\x96\xc6\xd7\xf9\x83\x07\x32\xe4\x01\x6a\x88\xa5\xad\x9d\x38\xea\x67\x57\x25\xc9\x09\x36\x57\x9c\xd5\x3b\xaa\xf0\xda\xa4\xaf\x77\x47\x72\x25\xe0\xb7\x28\xac\x8a\xfc\x7a\x03\x8c\xa7\x64\xbc\xe6\xd5\xa3\xf3\x2f\xcd\xe7\x28\x03\x22\x5e\x33\x2a\xee\xe0\x17\x60\x0d\xe1\x74\xb1\x55\x1f\xe4\x40\xff\x08\x9f\x94\x8f\x86\x2a\x81\xcf\x86\x7e\x51\xa8\x8c\x7c\x32\x9f\x3a\x72\xce\xb8\x3e\x9b\x3e\xf2\x47\x23\xff\x11\x3b\x33\x87\xd3\xdc\x3c\x8c\x7d\xa7\xf2\x40\x3d\xbd\x60\x7c\xee\x69\xc7\x7b\x3e\xf5\xc7\x9c\x38\x80\xb6\x51\x05\x72\x5a\x01\x18\x3b\x26\xac\x22\x8a\xa6\x90\xa2\xc9\xe0\x3d\xed\x6c\x6b\xb2\x73\x7c\xe6\xcf\xcf\x66\xce\xac\xbe\xfc\xd9\xf2\x7d\x07\x40\x35\x60\x33\x1a\xb1\x53\x2e\x9b\x0b\xe8\x2d\x91\xe5\x1b\xfe\x7b\xe0\xff\x25\xb3\x34\x46\x0d\x76\xb0\x28\x80\x84\xb4\x19\x44\x38\xcb\x1b\x41\x50\x3a\xe5\xac\xc9\x2e\x02\xb3\x89\xb4\x81\x66\xc4\x3c\xcc\x09\x8d\x6a\x00\x73\xa2\xae\x1e\x22\xd0\x82\xea\xbb\x63\x5b\xc4\xcb\xca\x11\x49\x24\x72\x27\xa2\x81\xc8\x7c\x75\xef\xe4\x04\x0f\xfd\xb2\xb4\x0e\x37\xb0\x32\xbd\xc3\x9f\x7d\x53\x3e\xd1\x12\x64\x18\x71\x45\xc5\x4a\x0e\x9a\x2c\xda\x70\x66\x2a\x61\x4f\x4a\xd8\x95\x6a\x11\x4c\x35\x63\x7e\x54\x00\x2d\x82\x2d\xc4\x52\x61\xab\x88\x5a\x4b\x45\xb0\x05\x1a\xa3\xa5\xa1\x4e\x25\x0b\x1f\x12\x57\xdf\xf6\x40\x13\x3b\xf7\x24\xc7\xb2\xb4\x5b\x1d\x42\x4f\x97\x72\x73\x6f\x4b\x48\xb6\x7c\x6f\xc4\x23\x7d\xfa\x21\x47\x50\x0d\x71\x38\xdd\xa7\x22\x58\xfb\x3c\x17\xa0\x84\x93\x39\xab\xe6\x64\xa9\xd5\x53\x41\x4e\xc6\xc1\x9b\xa8\xea\x4f\x61\x09\x46\x84\x9c\x05\xba\xeb\xa8\x60\x8a\x3f\xad\x66\x93\x25\x62\x08\x88\x60\x62\x92\xef\x5e\xed\xae\xcd\xad\x7f\x1d\xad\x66\xcc\x03\xc2\x1d\x98\x7e\x15\xcb\x5c\x9b\x05\x56\x1a\x81\xd0\x85\xa2\x86\x4f\xa6\xb0\xcb\x12\x6d\x5f\x27\x6b\xf7\xd9\x37\x4c\x86\xad\xdc\xd4\x8a\x27\x98\x11\x33\xe9\x4e\x11\x14\xb0\xb2\x03\x03\x14\xe5\x4d\xb2\x5d\x9a\xb7\x5c\x74\x99\x1b\x36\x05\xe7\x33\xa5\x82\x55\x17\x69\xc1\x85\x70\xc7\xe3\xa0\x02\x80\x99\xb4\xfa\x78\x11\x2c\x69\xc8\xbc\xbe\xe0\x9c\x4d\x5d\xdf\x60\x5b\x87\xf0\x30\xd7\x3a\x40\x43\x19\x00\x4f\xa3\x11\xce\x8d\x66\xd0\x85\x0e\x83\x89\x40\x1c\x19\x2e\x13\x5d\xe8\xb4\xb0\x0d\x80\x26\x57\xfe\x70\xb5\x08\x96\x93\x7a\xf2\xa8\xf6\x57\x72\x0a\x0b\x3f\x89\x79\x9d\x0d\xa3\xda\x49\xa0\xb0\xd2\xde\x83\xde\xc0\x95\xc8\x8d\xd9\x4a\x8f\xe0\x17\xce\x03\xc8\xf7\x54\xc8\x81\xf7\x73\x56\x3f\x16\x05\x7a\xfc\xb4\x92\x90\x7f\xe6\x0d\xa8\xeb\xef\x83\xae\xbc\x4a\x9b\xea\x2f\x96\x6e\x38\x39\x05\x5f\x42\xea\xba\xe8\xf4\x34\x53\x4e\x0d\xf5\xab\x85\xd7\x38\x39\x4d\xf8\x56\x30\x49\xa2\x2a\x93\x4d\x3e\x49\xa2\x17\xbb\x74\x0b\xfc\xa7\xdc\xb2\xc3\xc9\x69\xb0\x4e\xf3\x5b\x30\xa9\x9d\x9c\xee\xd3\x75\x96\xaf\x13\xc1\x86\x53\xf9\x7a\xc5\xe3\x75\xc0\x06\xea\x65\x9d\xa8\x57\x15\x33\x3b\x78\xdb\x75\x9e\x0b\xf3\xae\xb5\xeb\x65\xe6\xec\xa5\x27\x43\xd2\x5d\x1c\x7b\xdc\xdf\xfc\xb2\x06\x7b\xd0\xa6\xe2\xeb\x16\xaf\x1a\x27\x31\xef\x89\x0f\x08\xc2\x32\x27\x7f\xb7\xdd\xae\xf3\xaf\xcd\xa7\x15\xbb\xca\x85\x07\xc1\xd3\x5d\x92\xa7\xbb\x26\x22\xd5\x07\x8e\xb9\xea\x27\xaa\x75\x4b\xaa\x9d\x87\x83\x47\x70\xf9\x49\x52\xa9\x0b\xfd\xbc\x64\xdc\x78\x0a\xaf\x5a\x1c\xaa\x81\x48\x85\x8c\xd0\x2d\xa5\xd6\xe4\xd2\x79\xb8\xe1\xc2\x5f\x2a\x1d\x96\xca\x2c\xdd\x5f\xba\xa1\x82\x27\xd0\x91\x98\x07\xb9\xa6\x62\xbb\xbb\xea\xc9\x14\x1a\xab\x2a\x67\xd5\xad\x99\xa7\x09\x76\xb7\xb8\x9e\x19\xad\xab\x07\x39\x98\x22\xff\x45\x8e\xed\x3a\xbf\xc5\x3e\x35\xf8\x8c\xc4\x1d\x40\x32\x98\x6b\x5f\x9f\x08\xd2\x98\x39\xf9\xf5\xc9\x7c\x0f\xaf\x68\xb7\x67\x5f\x7a\xa5\xfb\x43\x80\x8f\x7e\x9e\xc6\xca\xac\xe6\x54\xeb\x21\x38\x1e\xcd\x44\xde\xb9\xf0\x57\x27\x3a\x5f\x78\x4b\x37\x98\x83\x13\xb4\x5a\x87\xc0\x07\x60\x12\x18\x5b\x49\xe2\xca\xde\x5e\xf8\xcb\x92\x1e\x92\x2f\xe5\x24\x89\x60\x0f\x07\xd4\x27\x00\x74\x53\x03\xf6\x19\x70\x1b\x40\x15\xa0\xa7\x4a\x29\x48\x6e\x99\xb0\xb6\x32\x91\x3f\x83\xe5\x65\x4d\xd9\x60\xa2\x47\x34\xe6\x59\x86\x3d\xfa\x2f\x50\x49\x94\xb3\x53\x07\xfc\xe8\xd9\xeb\x72\xda\x5c\x97\xed\xc5\x56\x97\x81\xd5\x34\xcf\x44\xfe\xd6\xc4\x6e\x94\x9a\x89\xbc\x2e\x92\xfe\xe8\x8d\xd1\x49\x12\x9d\x55\xeb\x18\x59\x85\x0e\x7a\x77\x83\xc6\x92\xef\x59\x78\x56\xc9\xd5\xa2\x93\x9c\x5f\x92\xef\x0e\xfe\xaa\xa9\x10\xda\x9f\xbc\x8a\x6a\xa7\x7f\x5f\x15\xdb\x68\x8e\xd5\x61\xa8\xdb\x0e\xab\xae\xd3\xbe\x1e\xab\x32\xc5\xf6\x0e\xfe\x3b\xc8\x98\xbd\xc9\x69\xb8\x4b\xb7\x3c\xcf\x45\x9a\x69\x21\x50\xf7\x04\xf0\x26\xa7\xeb\xec\xf9\x76\xaf\xd4\xc2\xb9\xc3\x6d\x25\x79\x6b\x2b\xff\xdd\xab\xb7\xf2\x9a\x63\x7b\x01\x88\x27\xca\x73\x94\xe2\xa7\x26\x5a\x85\xcc\x78\x08\x18\xce\x5c\xae\x5c\xa8\x82\x6b\x64\xa5\x76\xa6\x1c\x25\xda\xb5\x89\xd8\x70\x5a\x92\x6e\x54\x91\x04\xc8\xc6\x98\x80\x0c\x63\xa8\x5a\x0b\xee\xd1\x23\xc7\x8d\xdc\xdf\x9a\x8a\x00\x1b\x42\x07\x1b\xcd\x82\xc9\xfa\x45\x95\x7e\xac\x3c\xf9\xb0\x24\xb4\x14\xee\xe8\xed\x5e\xb8\x68\xcf\xb3\xec\x7a\x97\x82\xf7\xac\x55\x51\xf8\x93\x24\xfa\x90\xae\xb7\xa3\x11\x0a\x79\x9c\x09\x04\xf0\xbe\x2a\x0c\x88\xc0\x0f\x92\xee\x70\x71\x30\x39\xbd\x32\xfb\xf4\x10\x14\xd6\x95\xaa\xba\x82\x97\x5f\xf1\xec\x0d\xcf\xd7\x57\x02\xf6\x0b\x9e\xef\x52\x0d\x2c\x24\xb7\x90\x6a\x7b\x07\x9f\xbd\x60\x26\x27\x26\x46\x69\xd0\x68\x09\x12\xa2\xfa\x45\xbd\xd1\x58\x8b\x63\xaf\x94\x87\xdf\x0e\x50\xa5\xc2\xf7\x09\xbb\x7a\x22\xaa\x23\x5c\xaf\x72\x01\x23\xdb\x53\x14\x60\xf9\x4a\x48\xa9\x7b\x7f\x23\x6e\x83\xdd\x75\x82\x3a\xea\x53\x1e\xe3\x93\x8d\xb8\x7d\xba\x0b\x84\xfb\x8f\x99\xb2\x08\x98\xfd\xe5\xc2\x1b\x8d\x66\xff\x78\xe4\x15\xc5\xb7\x7f\xbb\x90\x9d\xf9\xdd\xf4\x91\xfc\x22\xab\x53\x1b\xc8\x6b\xb8\x63\xd2\x6e\xe0\x9e\x67\xb9\xa8\x1a\x08\x6f\x27\xbe\x6c\x64\x42\x4a\x3d\x19\x00\x65\x03\x5a\x1d\xc8\x53\x24\x09\x9a\xf8\x8f\xaa\x66\x41\x3d\x8d\xed\xd1\x20\xf3\x01\x42\x8e\x1d\xe2\xea\x81\x1f\x82\x8c\x54\xbd\x34\x04\x53\xff\xf3\x45\xa9\x1f\x0d\xa1\x15\xdc\x82\x33\xf6\x95\x25\x96\x4f\xc8\xf1\x01\x7a\x20\x67\x89\x75\xa9\xd5\x0c\xf1\x8d\xbc\x73\xa6\x44\x12\xbe\xcd\x53\x51\xeb\xab\x62\x72\x2b\x79\x06\x69\x8b\x02\x7d\x49\x91\x55\x2e\x91\xd9\x14\x2a\xc5\x3c\x25\x9d\xa8\xe3\x8b\x0a\x45\x24\x64\xc1\xfc\x78\x7b\x7b\x7b\xeb\x04\x2d\x51\xdf\xeb\xd7\x2a\x48\x4b\xfb\xc6\x33\x1a\x04\x2a\x44\x89\xfc\xe8\x0f\x3f\xa8\x57\x10\x78\x61\x42\xb7\x5b\x9d\x60\x9d\x1c\x72\x21\x43\xb2\x4c\x85\xbc\x17\xfe\x2e\x09\x54\x48\x66\x22\xc5\x31\x38\x0c\x84\xf0\xf3\xd9\xf3\x6f\x4b\x47\xd5\x63\xf6\x8f\xbf\x4d\x65\xe1\x50\xde\x4c\x96\x32\x95\x59\x4f\x65\x6e\x53\xc8\x60\x5a\xd2\xad\x64\xa3\x1a\xc7\xaf\x7f\xc1\x6b\xa6\x2b\x5c\xf0\x85\xbf\x5c\xb2\xb1\x47\x4a\x42\xab\xde\x09\x27\xb2\x04\x3a\x08\x27\xaf\x5f\x9f\xcd\x68\x38\x09\x02\x1a\x4e\x7e\xf8\x81\x86\x93\xed\x96\x86\x93\x2c\x2b\x8a\x29\x9d\x3d\xff\xf6\xa1\x7c\x96\x2f\x95\x48\xec\x0d\x7f\x63\xcd\x87\x8d\x57\x8b\x9f\x3b\x72\x67\x2d\x4e\x8b\xe9\x86\x26\x16\xdf\xbe\xb7\x49\xec\xd1\x68\xa8\x64\xab\x1f\xd6\x5b\x70\x84\x50\x09\x98\xe0\xa2\xb8\x16\x37\x35\x40\xee\x1a\x16\x8d\xa3\xd1\x50\x70\xb9\x3f\xfb\x70\xc3\x7d\xed\xf0\xf2\x65\x60\x4a\x27\xee\xef\x9e\x5d\x13\xa2\xdd\x67\x47\xa3\x51\x34\x39\xdd\x81\xfe\x5a\x66\x3f\x4f\x72\x2d\x5f\xa2\x5b\x37\x32\x6e\x67\xd3\x37\x40\xaa\xc9\x00\xf5\xde\x3e\x32\x2c\x80\x82\x7a\xad\x79\x44\xb9\xa1\xe5\x6a\x96\x82\xbf\x78\xe6\x63\x8f\x6e\x09\xcd\x81\x7d\xf8\x49\x76\x5f\x4e\x08\xf5\x88\x73\x5d\x12\x99\xff\x7d\xa7\xd2\x3a\xc4\xdc\xb4\x56\xab\xb2\xc6\x9e\xd2\xd5\x08\xb7\xb9\xc1\x9f\xdd\xd7\x62\x1f\xbc\x65\xb2\x7f\x64\x61\x5b\x59\xd8\x96\xe6\x20\x24\xa3\x83\x44\xab\x78\x10\xcc\x69\x40\x73\xe2\x6e\x6d\x23\x59\x84\xd4\x66\xf4\x18\xc3\x5d\x15\x29\x8a\xd5\x24\x89\x5e\xaf\x13\xb5\xc8\x33\x59\xd1\xab\x6a\xc3\x96\x51\x7a\x64\x18\xc3\x3d\x8c\xc7\x15\xce\x48\x51\xc8\xb1\x79\xc4\xb2\xd2\x5d\x4d\x4e\x77\x5e\x26\xd2\x2b\x81\xd1\x76\xdd\xda\x48\x33\x26\x07\xd7\xca\x5d\x11\x19\xa6\x26\xfc\xc6\xd4\x84\xdf\xa8\x9a\x1c\xda\x35\xe1\x7d\xae\xff\xab\x9a\x1c\x74\x4d\x2e\xd8\xa1\x55\x13\x7e\xd3\xac\xc9\xa1\xbf\x26\xd6\xd4\x7f\x19\xd4\x53\x1f\xdf\x71\x94\xb1\xa7\x8a\x04\xb8\xd2\xc4\x30\x51\x67\xdb\x9d\x73\xa8\x66\xa1\x77\x7b\x8c\x4c\x2a\x44\x8a\xe2\x58\xd6\x0a\xc9\x1e\x0f\x5e\xca\xc3\x6e\x34\x1a\x2a\xfe\xf7\xf5\x3a\x03\x81\xfe\xfc\x1a\x10\x29\xaa\x2a\xfe\xd8\xe0\x30\xa1\x17\x03\x42\x8e\x1e\x1b\x78\x58\xe9\x32\x0c\x6b\xa7\x63\xd6\x84\x82\x20\x71\xb3\x4f\x51\xc3\x85\x89\x27\x8f\xc2\x4a\x6d\xa9\xde\x03\xf4\x65\x85\xc7\x50\x12\x01\xb9\x86\xc6\x46\xa1\x6d\x81\x0c\xb5\x7c\xbf\x41\x66\x8d\x8f\xc0\xa6\x2e\x77\x40\xa2\x1c\x54\x1b\x99\x1b\x8c\xc7\xb6\x0b\x78\xbe\x08\x96\x34\x61\x53\x37\xa9\x35\xc4\x12\x65\x0e\x26\x18\xf3\x16\xc9\x92\xf8\xbb\x24\x5f\x27\x07\x71\xc2\x0d\x9e\x84\x20\x35\xf7\x6f\x29\xdb\x57\xc7\x77\x6d\xc4\x0d\x68\xc5\xb8\xad\x23\xed\x29\x1f\x8a\x3e\xcf\xb1\x02\x7b\x87\x55\xfb\x3d\x10\x86\x46\x7f\xed\x04\x11\xe7\x69\x4f\x6a\x10\xe2\x6a\xd9\xab\xce\xc3\xb7\xd2\x98\xcc\xb8\x91\xcc\x18\xf9\x81\x83\x1e\x3f\x45\x14\x64\x0c\x55\x66\x6a\x5b\xab\x7b\x30\xb6\x7b\x70\x65\xb4\xb6\x7d\x39\x0e\x60\x6a\x9f\xc9\xe9\x03\xbe\xb4\x06\x41\x9f\xee\x37\x5c\x06\x7a\x45\x01\x26\x15\x60\x33\x01\xd6\x15\x72\xcf\x1f\x7b\x14\x02\x18\x1b\xcb\x38\x35\x63\x05\xcc\x5c\x6f\x59\xd4\xb7\x5c\x06\xa8\x2b\xd2\x13\xfb\x8e\x74\xa3\xed\xb5\x95\x66\x52\x51\x80\xcc\x21\x10\x37\xff\xfd\x8d\x7c\x37\xd8\x7e\x02\x7b\x60\xe9\x03\x53\x54\x6f\x3a\x5b\x16\xe3\x0d\x9d\xc1\x9a\xac\xf8\x82\xad\x46\x1f\x90\xf1\x36\x1c\x7b\x34\xd1\xea\x01\x19\x13\x38\x21\x74\xcb\x02\xbc\xa1\x19\xa1\x1b\x16\xe0\x8c\x6e\x64\x48\x8c\xb7\x74\x26\x43\x64\x7e\x67\x33\xe2\x6e\x47\xa3\x6d\x75\x64\xfa\x35\xd3\xb1\xa2\x5b\xe2\x6e\x46\xa3\x8d\xf5\xd1\x66\xeb\x56\x74\x43\xca\x32\x61\xbf\x83\x5c\x07\xee\x30\x24\x1b\xa2\xc0\xdf\xa2\x85\xb7\xa4\x1b\x70\x82\x1f\x59\x1b\x0d\xf4\x55\x73\xab\xd9\x00\xff\x2d\x49\x2d\x99\x06\x6c\xb5\xab\x85\xa4\x08\xb1\x2a\x53\xa4\x3a\xcb\x5e\x4b\x86\xf0\x5a\x31\x7f\x04\xc2\xaf\xd5\x90\x31\x1c\x8c\x66\xc4\x74\xe6\x40\xb4\x0a\x70\x57\xa0\x15\x86\x57\xba\x47\xa9\xdd\xa3\x2b\x42\x1c\xfd\xe5\x4c\x7d\x6a\x34\x99\x10\x90\x13\xda\xda\xe3\x3f\x74\xc5\xf2\x1e\x38\xb3\x1e\x86\x0b\xbe\x9c\xe3\xb8\xee\x51\x41\x39\xa1\x32\x94\x0d\xa7\xc4\x19\x7a\x20\xd5\x58\x02\x1e\x9c\x5d\x8a\x15\x6d\xd6\x90\x72\x03\x81\xe3\x31\x6f\x8e\xce\xd0\xf8\xb1\x7c\x47\x67\xa0\xbc\xeb\x72\xbc\xf5\xc6\x1e\x85\x69\xe5\x13\x97\xe3\xff\x09\xe4\x2b\xf8\x1c\x31\x80\x99\xde\xc4\xcf\xd3\x98\x4a\x32\xd0\xc8\x17\x68\xc8\x8e\x25\x5d\x31\x4f\x72\xce\x34\x62\xde\x04\xc4\x04\x34\x96\x71\xf4\xce\xe5\x86\x8b\xff\x09\x96\x6c\x88\xc3\xc5\xd6\x5b\x32\x20\xd0\xf5\xec\xf3\x08\xd0\xdd\x96\xb8\x83\xb5\xc5\xe4\x57\x58\x90\xb9\x3c\x1f\x2a\x0f\x1d\xd6\x0b\x3b\x96\x84\xae\xac\x00\xea\xd1\x50\x0e\x40\x1d\x32\x1a\x45\xed\xef\xf4\x55\x60\x05\x81\x36\x93\x25\x11\x24\xc4\xf5\x3c\x59\xe8\x40\xcc\x31\xa4\x55\xb2\x1d\x48\x09\x65\x55\x72\x1b\x5d\xd8\xaa\x15\x29\xea\x8b\xd4\xce\xa9\x27\x92\x5b\x57\x63\x8e\x39\x7e\x1d\xc8\xd9\x4f\x03\x23\x62\x0c\x6a\xf1\xe2\x35\xf5\x31\x42\x0a\xc1\x8e\x38\x3a\xee\xcc\x8a\xab\x5a\x08\xc5\x41\x68\x25\x97\x34\x31\x54\x06\xe6\x8d\x10\x57\x30\xbb\xcf\xea\xe7\x85\xb7\x9c\x5f\x3b\x26\x33\xf9\x36\x9c\x39\x56\xd5\x21\x64\xaa\xec\xa1\xe5\x84\x52\x58\xbb\x6d\x51\x42\x25\xcd\xf2\x00\xbc\xd1\x22\x03\x5e\x19\x0f\x97\x1e\xa9\xe0\x19\x2b\x25\x3e\xaf\x6b\x5c\xde\xa3\x3c\x27\xd3\xfc\x1e\xb1\xf3\xdf\x2e\xcf\xf1\x64\x4c\x2e\xcf\xf1\x82\x9f\xfd\xb1\x7c\x48\x4e\xcf\xe9\x8b\x3e\x13\x01\xd0\x1c\xf7\x9a\xf7\x0a\x8e\x57\xd2\x9c\x6b\x5f\xe4\xd6\xcd\x48\xb3\x02\x74\x90\x79\xf7\xe6\x68\xd9\x27\xca\x1c\x7f\xe5\xf4\x09\x4d\x39\x3d\x70\xb6\x58\xaa\x3b\x3a\xfa\x26\x84\x67\x40\x7b\xa1\x9b\x48\xbe\xc8\x43\x81\x5e\xf5\x94\x6e\xc4\x25\x34\xf5\xcd\xc7\x48\xe4\x6f\xcd\xf7\x9f\x42\xfa\x9c\xb3\x97\x18\x25\x11\x22\x34\xe0\xec\xe7\x09\x4f\xa2\x43\xcc\xd3\xa2\xc0\xd5\x33\xac\x92\x77\x1e\x4d\x3c\x36\x75\x7f\xe5\xec\x9f\x13\x63\x60\xfa\x5a\x72\xdb\xb7\x13\xad\x06\x2d\x4f\xb7\x53\x6e\xbf\xc9\x9e\xfd\x51\x5f\x16\xad\x33\xf8\xa5\xb9\x2f\x7b\x7a\xa1\x6e\x5f\x4e\xf0\xc7\x75\x92\xff\x1d\x3f\x8d\xf9\x76\x2f\x02\x32\x27\x05\x84\xcc\xfe\xaa\x1f\xbe\xfd\x86\x14\xf8\x65\x92\xff\x5d\xfd\x40\xf8\x4b\x1d\xac\xb4\x09\xe0\xf1\xaf\xdf\x11\x02\xd9\x5f\x2e\x4f\xcf\xe9\x87\xfb\xba\x18\x9c\x99\xc9\xbe\xbd\x0a\x7a\xcd\x3f\xac\x7b\xe8\xc5\x19\x26\x97\x8b\xcb\xe5\xb1\x1c\xcf\x1f\x4e\x4e\x2f\x7f\x2b\xa8\xf3\x5f\x17\xc3\xcb\xcb\x25\x5c\x4e\x5f\x5e\x9e\xce\xec\x0b\xea\xcb\x9b\xe9\xdf\x55\xf8\xcd\xf4\xef\x88\x94\xf4\x05\xb7\x65\x01\xf2\x8c\x7c\x8c\x5f\xf0\x49\x7a\x88\x45\x56\x59\x4f\x0e\xfe\xd9\x34\x7f\xc2\x68\x91\x44\x67\x7e\xb6\x5f\x4a\xc2\xa1\xfb\xd1\x98\x56\xa9\x18\xae\xf2\x62\x6f\xd4\x16\xa3\x86\x05\x88\x8a\x85\xc0\xef\x42\xf3\x8b\x95\x09\x22\xae\xa9\x13\x3b\xda\x7e\xe7\x9c\x21\x2f\x8a\x96\xc2\x30\x4a\x76\x67\xca\x0a\xff\x4c\x1e\x68\x88\xd0\x64\xf7\x32\x89\xd7\x89\x78\x9f\xdf\xc6\xe2\xae\x24\x6b\x88\x72\x06\xa6\xbc\x88\x94\x40\x33\x1c\x3d\xf6\x82\x03\xea\x9a\x64\x8b\x8d\xa7\x7a\x8c\x10\xa1\x9c\x0d\x67\x35\x70\x1a\x67\xc3\x69\xe9\xf5\xd6\x90\xb7\x8b\x9f\x95\xd5\x7d\xa9\x69\x54\x49\xf7\x5e\x6b\x18\x1e\xe3\xbd\x07\x97\x35\x9f\x2a\x41\x84\x09\xd0\x38\xc1\x9c\xfa\xec\x67\x43\xfe\x82\x1b\x2f\x40\x74\x05\xdc\x57\xdf\x1d\x8f\x41\x7d\x37\x60\x3f\xf3\x05\x5f\x52\x8f\x75\x47\x09\x8d\x83\x1a\xab\xc6\x41\x72\x52\x38\x88\x8c\xd1\xef\x9f\x97\x88\x90\xa3\x60\x83\xd6\x90\x04\xf2\x1b\x32\x86\xc8\xad\x5a\x31\x51\xd2\x9f\x79\xbf\x75\x9d\xcc\xfc\x06\xde\x96\xd4\x13\xec\x1c\x0c\xa9\xcf\x23\xfa\xc4\x67\xc3\x19\xfd\xd9\xa3\x7b\xce\x66\xf4\x2d\x67\xdf\xd2\x50\xb0\x63\x28\x39\x62\x34\x9b\x7c\x37\xf9\x1b\xa2\x5b\xfe\xfb\x2e\x75\x66\x74\xbb\x4e\x76\xa9\xf3\x1d\x0d\x76\xb9\xf3\x37\xea\xef\x02\xf1\x06\x4c\x68\x02\x9e\x6e\xce\xe2\xc3\x76\x9d\xc0\x45\x9e\x2f\x50\xe9\xbe\x9b\x88\x9b\x3d\x4f\x82\x9d\x64\x37\xbe\xfd\xf6\x1f\x4a\xa9\x74\xe5\xb1\x77\x13\x30\x37\x95\x07\xfa\x8b\x90\xcd\xdc\x77\x93\x4f\xb2\xa2\x7d\x8b\x0c\xa4\x6e\x10\x7b\xe1\x2d\x14\xd4\x82\xca\x73\x09\xc6\x2d\xca\xa0\xff\x71\xc8\xce\xf1\xe2\xd2\xb9\x3c\xbb\xfc\xb4\x1c\xe3\x09\x91\x8b\xee\x49\xc8\xce\x7f\xdb\xee\xfe\xc0\x95\xbd\x78\xc4\x8e\xdb\xdd\x21\x13\xb1\xe0\x57\xc2\x41\xf0\x0c\xee\x3f\xe0\x49\x24\xb9\x48\x4d\xe8\x95\x48\x51\x49\x3f\x78\x72\xc7\xfb\xfd\xf3\xab\xb5\xe4\xbf\xe9\x73\x99\xe3\x05\x5e\x5c\x5e\x9f\x2d\xc7\xe4\x32\x7b\x78\x79\x3e\x7f\x84\xe7\xce\xc5\xe5\xf9\xe5\xec\x51\x21\x0f\x81\xf7\x1e\x3b\xbf\x28\x46\xff\x35\xbf\xbc\x1e\xbb\xe7\xf4\x69\xc8\xce\x21\x81\x23\x53\x9c\xd3\x67\xf0\x3e\x1f\xf2\x54\xf0\xc2\x4b\x0b\x7f\x17\x17\x62\xeb\x89\xa0\x58\xa5\xc5\x7a\x1b\x15\x20\x1a\x2d\x24\x1b\x51\x6c\x45\xce\x8b\x3d\x4f\xf9\x96\xe0\x2a\x8b\xc5\x6f\x8f\x96\x0f\xc9\xe5\xf9\xa3\xf3\x68\x4d\x07\x5b\xce\x8e\x4a\x18\xe2\x2c\x66\xf4\xc1\x45\x06\xb3\xea\x64\x7b\x88\xf3\xf5\x3e\x16\x0c\x99\x27\xf4\xe8\x01\x45\x17\xe7\xea\xfb\x23\xb4\xa4\xf9\x4a\xf0\x40\x26\x42\x17\x60\x96\xf8\x08\xc9\xef\xfa\x71\x49\xfd\x5d\xec\x2c\xbe\xa9\x3e\x5e\xf8\xbb\x38\x4a\x77\x87\xbd\x8a\x56\xbd\x59\x29\xf2\xb4\x91\x20\xf7\x76\xc1\xad\xce\x14\x1e\xed\xa8\x81\xb3\xf8\xb6\x1d\xf5\x22\x4f\x75\xf4\xf4\x51\x4f\x9a\x4f\x46\xd9\x61\x31\xa5\x08\x51\x84\x96\xa5\xbb\xe5\x93\xdd\x3e\x87\x9a\x30\xf5\xbc\xde\x25\x32\x14\x52\xcb\xa0\x3c\xdc\xed\x72\xf9\x60\x6a\x0c\xcf\x1c\x22\xc2\x77\xd9\x0b\x90\x62\x05\xaf\x01\xcc\xa6\x77\x9c\xbd\xb3\x3d\x0d\xa4\x82\x07\xb7\x0d\xbb\x4d\x8b\x82\x26\x47\xbf\x28\xb0\xaf\xbc\xfa\x11\x83\xbc\x38\x9c\xb9\x20\xfd\x8f\x45\x0e\xd2\xf6\x7f\x4e\x20\x13\x30\xaa\x9f\x67\x4a\x52\xb6\x3b\xe4\x98\x1b\xbf\x03\x72\x3b\x7b\xf6\xd3\xeb\xa7\xbb\x24\x17\x49\xfe\x6a\xc7\x03\x11\x20\x49\x5b\xbf\xc3\x3f\x13\xf8\xaa\x6c\xa0\xc1\x75\xd9\xc0\x9c\xd5\x1d\xf4\x67\xc5\x35\x2a\xd4\x42\x9b\x21\x56\xbc\x20\x18\x7a\x54\xf7\xe9\x72\xe7\xf1\x34\xe3\x47\x4f\xe4\x8e\xb3\x44\x25\x15\x9f\x9d\x9e\x55\x38\xbd\x60\xde\xfc\x09\x64\x2c\xf9\x12\x47\x3f\x42\xd5\xb5\x42\x11\x5c\xb8\xa9\x67\x67\x4a\x65\x79\xce\x26\xa2\xd9\x2e\xcd\x1d\x49\x83\xec\xd2\x9c\x2a\x42\xc4\xa9\x48\x92\x92\x3e\xf1\x94\xfd\x55\x35\x51\x4f\xd4\x14\x15\xc1\x09\xa0\x53\x8b\xe0\x24\x58\x67\x80\x5f\x72\x22\x7b\xf0\xa7\x24\xbe\x3d\x49\x01\xec\x44\x04\x27\xbb\xbd\x48\x90\xc5\x9c\x37\x40\xb5\x9e\x78\x8b\x17\xd8\x23\x4b\xe6\x95\x4a\x92\xf8\xde\xd7\x65\xc1\x1a\xd3\x05\x9d\xa8\x59\x73\x92\x8b\x9b\x5c\x2e\xca\x13\xef\x90\xe7\xbb\xe4\x24\xdc\xa5\xdb\x93\x40\xe4\x7c\x1d\x67\x77\x16\xf1\xde\x5f\x78\x4b\x75\xe1\x23\x0b\x38\xf5\xd9\x11\x44\x6f\xba\x17\xd0\xd6\x3c\x22\x0a\x82\xb0\x2a\xdc\x3c\x42\xf8\x3a\x71\x94\x78\x0d\xe2\x38\x4a\xc0\x95\x44\x6f\x41\xb4\x98\x38\x68\xaf\x1e\x50\xe9\x0e\xb6\xf8\x08\xd0\x72\xbf\x78\x54\x31\x61\xcf\xe4\xdb\x95\x47\x57\x3c\x83\xc7\xc6\x24\xb5\x69\xdc\x95\xb7\xf0\x26\xb0\x09\x2f\xdb\xc6\x28\xf2\x24\x6c\xa1\x7f\xbc\x93\x0c\x9d\x07\x97\xc7\x55\x81\xeb\x64\x25\xd2\x75\x2e\x02\x28\xe8\xb1\x47\x15\xe0\x6a\xcf\x64\x79\xa2\xa4\x0d\x1e\x20\x28\x80\x5f\x9c\xa2\x78\xec\x61\x6f\xa2\x28\xf5\x37\xbb\x40\x14\x85\x47\x17\xc8\x78\x59\xa9\xac\x97\x55\x74\x39\x91\xec\x2f\x5f\x28\xa3\x91\x09\x29\x8a\x3b\x3e\xbd\xd9\x7d\xd0\x60\x0f\x92\xde\xf2\xd5\xfd\x7d\x2c\x52\xe7\xad\x4f\x8d\x6d\x5e\x5f\x49\xb2\xe6\xd4\x32\xdf\x23\xa5\xee\x7b\x79\x20\x3b\xcd\x7e\xf3\x26\xf5\x27\x75\x56\x73\x52\x52\xc3\x84\x3a\x37\x1e\xf5\xb3\xcc\xe9\xea\x0c\x46\x9e\xd6\x05\x7c\x8c\x7d\x42\x3c\x05\x64\x02\x30\xab\x4a\x07\xa9\x36\x61\xd2\x1f\x4a\x3a\xe0\xed\xe2\xeb\x3b\x72\x6f\x92\xec\x02\xf1\xe1\x76\x0f\x9a\x50\xc1\x90\xb1\xb7\x7c\x34\xfa\x46\x41\xa1\xfe\x5d\xfe\x28\x9a\xe4\x05\xe6\x84\x3e\xf1\x16\x01\xc0\xa4\x43\xd9\xfe\x1c\x7b\x8a\xe9\xa7\x5e\xd3\x48\x98\x03\x12\xbe\xfe\x3a\xa3\xdd\xa6\x1a\xf3\x8a\xaa\xb6\x0a\xf4\xd5\x9b\x70\x13\x25\x93\x74\x8c\x24\x17\x82\x97\xb9\xd8\x82\xa0\xf7\x96\x4c\xb2\xbd\xf0\xd7\xe1\x5a\x04\xf3\xc0\xb9\xae\x74\xae\x4c\x4f\x34\xab\xe0\x5b\xc8\xe5\x0d\xa2\x88\x58\x3a\x42\x51\x33\xcd\x37\x84\x56\xf6\x49\xd7\x92\x9a\xdf\xa7\xbb\x7d\xa7\xe7\xaa\x22\x7b\xba\x1d\x3a\x5c\xee\x10\x0d\x74\xd7\x4a\x1d\xd4\xb2\xce\xf3\x48\xa5\xa7\x50\x8f\x81\x11\xb2\x31\xc6\xf6\xbc\x28\xe4\xef\x5b\x3e\xe7\x13\x99\xa3\xde\xf0\x1d\x84\xca\x46\x00\xf3\x4a\x6f\x72\x1a\x5c\x59\x56\xbb\x5e\x89\x09\x1d\x34\xe0\x96\x61\xd2\x19\xb3\x40\xe0\x6c\x27\x66\x23\x1d\x8d\x90\xda\xe1\xe4\xf1\x73\xcd\xab\x9a\xf9\xea\x88\xf0\xf4\x71\x99\xb5\xae\xfd\xcd\xf6\x0b\x5e\x6c\x41\x7e\xa8\xae\x3c\x8b\x42\x55\xcf\xd2\xa8\x05\xf9\x8d\xd1\x2b\x85\xdb\x13\xbf\x36\x90\x55\xea\x58\xe6\x7a\x96\x97\x74\x95\x6f\xef\xaa\x78\x95\x68\x9d\x24\x22\xfd\xe1\xc3\xeb\x57\xee\xc1\x03\x7f\xa2\xc4\xb5\x02\x65\x2e\x62\xbb\xcf\x6f\x9d\x9f\xfd\xce\x86\x55\x9f\xd7\x72\xfc\x2c\x71\x6e\x7d\xd9\x49\x35\xbc\xb6\x96\x42\x6b\xe3\xe6\x9f\xfd\xd1\xe8\x0a\x7f\xc3\x2a\xa8\xb3\xd1\x48\x06\xdf\x78\xea\xf7\xad\x3f\xe7\x4e\x60\xdc\x7f\xc8\x5e\x56\xb6\xd0\x53\x57\x5c\xac\x5c\xa1\x24\xd9\x1e\x63\xec\x17\x8f\x28\xd7\x40\x00\xf7\xaa\xa7\x29\xb8\x08\x51\x36\x7c\xf5\xc7\x90\xf2\x45\x58\x3b\xf3\x96\xc1\x25\x08\xba\x82\x2b\x77\xc5\xae\x94\x11\xa5\xb6\x3c\x5a\xd1\x19\x71\x56\xee\x00\x32\x62\x53\x37\xbc\x58\x29\x3f\x93\xda\x3a\x4b\x65\x1a\x2e\xc1\xe4\xc3\x15\x4c\xcc\xc5\x38\x72\x22\x4b\xf4\xdf\xaa\xad\x55\x47\xeb\xba\x00\xea\xa0\xb6\xfb\xe6\xb9\x62\x61\x5d\x9c\xd4\x3e\xd3\xd5\x62\x09\xcd\xc5\xd6\x07\x0f\xa3\x5d\xc2\xd3\x28\x53\x4c\xe6\x2b\xbf\x32\xaf\x5e\xb1\x6b\x0f\x83\x09\xa4\x1b\xb2\xd5\x04\x80\x74\x33\x6d\x5a\xb6\x9a\xac\x00\x8d\xc2\x8d\x8a\x02\xd7\xaf\xec\x87\x10\xfb\x20\xa3\xaa\xb1\x42\xa6\x17\x96\xd6\x90\x3c\x86\xe7\x81\x2d\xc7\x5f\x04\xca\xd6\xdc\x60\x1a\x9f\x9d\xb9\xe4\x18\xb0\xd5\x22\x56\x72\x85\x0d\x0b\x17\xc1\x12\xfc\x05\xc9\x07\xb6\x58\x52\x54\x93\xfc\xa0\xd6\x59\x14\xa8\x66\x0d\x20\x64\x2e\xdb\x1b\x47\xa0\x13\xd9\xb1\x41\xe1\x93\x54\xc8\xa3\x24\xf8\x00\x28\xc3\x60\x0b\xe4\x6b\x97\xb4\xda\x27\xaa\x3c\x61\xf8\x3a\xc9\x64\x5f\x14\x45\x04\x53\xb1\x24\x4e\x8d\xf9\xaf\xb6\x63\x10\x62\x83\x12\xc1\x2b\x8d\xba\x8b\x03\x1a\x81\x88\x6d\xa0\xea\x4d\xdc\x4d\x75\x2d\x52\x96\x74\x17\x86\xce\x4f\x3e\xdd\x25\xa2\xe1\xef\x4a\x4e\x74\xce\x9e\x28\x25\x39\x90\x36\x57\x03\x17\x82\x33\xbf\x5d\x18\x82\x08\xda\x35\x8f\xe0\xb2\x47\xc7\x0d\xe0\x54\x03\x1e\xf4\xd7\x75\xbe\xea\xf3\xa4\x45\x05\xe3\xd6\x09\x2e\x97\x28\x97\x33\x06\x40\x65\xb0\x4f\x1a\x97\x46\xc1\x5c\x4c\xd6\x49\x26\xd2\xfc\x89\x08\x77\xa9\x90\x45\x4c\x6c\x0c\x60\x47\x18\x9e\x17\x5c\x67\x61\x9f\x82\x06\xaf\x5f\xca\xb3\x59\x86\xa4\xa2\x09\xb3\x62\xed\x5d\x7c\x02\x31\x64\x2d\xda\xdb\x97\xd9\x73\x61\xab\xad\xf7\x30\x6b\xd7\xf2\xd5\xd9\x2f\xe7\x61\x2f\x22\xe0\x44\x7f\x7d\xa6\xe5\x56\x72\xe3\xab\x8b\x2b\x8a\xc5\xb2\xa4\x7c\xbf\x17\x49\xd0\xd7\x49\xf6\xb6\x0f\x47\xac\xda\xf2\x67\x33\xe5\x66\x43\x19\x6e\xbc\x03\x4d\x4f\x3d\xb9\x95\x8a\xae\x5f\xab\xe8\x0e\x04\xdc\xa1\xf1\x89\x2a\x45\x77\x8f\x9c\x07\x25\x80\x89\xf7\x14\xbd\x0e\x71\xab\xe9\x75\x75\xc2\x75\x9a\xe5\x90\xc9\x5d\x63\xc5\x3b\x23\x05\xd7\xa7\xf4\x3a\xe5\xfb\x56\x41\x3e\x7b\x82\x7d\x32\x11\x9f\xf1\x94\x4c\xfc\x78\x97\x08\x4c\x16\xd3\xa5\x6b\x0a\xb3\xa6\x07\xb8\xd1\xed\x0e\xb1\xdf\x68\x16\xaf\x88\x29\xe7\x57\x8f\x4a\x72\xbb\xe1\x85\x8c\x1c\x7f\x95\x87\xeb\x70\x4a\x4a\xca\x43\xc9\x9d\xf7\x76\x79\x7b\x66\xf6\xf4\xb2\x32\x94\xf2\x6b\x77\xbd\x8d\x6d\xd4\x5f\x84\x4b\xb7\x35\x61\xa3\xd6\x84\x75\x03\x16\x95\x25\x35\xf7\x23\xce\x1f\x86\x04\x57\xaf\xb7\x1e\xcd\x77\x51\x14\xeb\xd7\xf6\xca\xf4\x47\xa3\x6d\xe3\x1e\xb1\x31\x02\xaa\x86\x83\xc0\xbd\x02\xc0\x30\x1c\xb2\xe1\x8d\xa7\x1c\xdc\xbb\x38\x9c\xff\xe1\x39\xb7\x1e\x51\xfe\xe7\x49\x49\x55\x4b\x7b\x26\x2f\xf8\xed\xab\xfb\x81\x8c\x46\x33\x25\x5f\x33\x53\x63\xce\x41\x78\x5e\xd2\xa4\x41\xcb\xd8\xb3\x5f\x7e\xd1\xe8\x54\xba\xe5\x0a\xce\xa9\xd5\xf3\x36\x46\x45\x0d\x66\xf5\x81\x47\x92\xba\x9b\xf7\x07\x63\x9f\x38\x72\xf5\xc0\xbc\x71\x3e\x7a\x34\x4f\xd7\x51\x24\x52\x8d\x49\xd4\xe9\xb3\xfa\xd8\x56\x57\xe7\x45\xe1\xd3\x48\x9e\x27\x8a\x54\x8e\x18\x8e\x94\x6e\x88\x3a\x55\xc8\x68\x14\x2d\x56\x4b\x22\xd8\xf1\x6e\xa4\x77\xe5\x91\xb3\x0f\xec\x7d\x9d\x3d\x6b\xc3\xbd\x77\x8c\x1c\xe0\xca\xaa\x37\x8b\x12\xfc\x00\xbc\xdc\x6e\x45\xb0\xe6\xb9\xb8\xc3\x21\x80\x06\xf0\xee\x46\x7a\x9f\xef\xf6\x7b\x01\xaa\xdd\xb2\x26\x7d\xf9\xe8\x28\xf7\x55\xea\x9e\x9c\xcb\x8e\x9f\x82\x5b\x65\x4b\xb0\xd2\x38\xf9\x0e\x2f\xa9\xea\x66\xb0\x4a\x78\x8b\x85\x9c\x7d\xd4\x67\xbf\x73\x1c\x29\x95\xab\x85\x58\x9a\x1b\xf1\x80\x38\x92\x84\x68\xe0\xa6\xf8\xe4\x28\x26\xf7\xd6\x1d\x93\xa2\xf0\x35\xa8\x13\x87\xe3\xc7\x66\x3c\x61\x5e\xd9\x74\x9c\x6f\xd1\x71\xda\xbc\xae\xa2\x08\x68\xc4\xa6\x34\x6e\xd0\x73\xd1\x45\x0c\xd8\x33\x57\x78\x45\xe6\x78\xc5\xb8\xa2\x74\xa2\x25\x55\x89\xe9\x63\xbc\x02\x7f\x5a\xec\x09\x5e\x11\x42\x9c\x37\x3e\x5e\xd1\x76\xac\xea\x9c\x90\xb1\xe7\x2b\x50\x71\x2e\x5d\xab\x5a\x13\x6f\x9d\x04\xb6\x7c\x68\xb2\x4b\x1a\xdf\x0f\x49\x37\x46\x18\x96\xc4\xfd\xc8\x6d\xa1\xd2\xfe\xd0\xd0\x70\x1e\xf8\x6a\x7a\x2c\xbe\xe7\x5a\xdf\x10\x96\xe2\xc7\x75\x40\x96\xcc\x2f\x69\xc3\xe8\xa6\xe9\xc5\xbf\x2f\x49\xb5\xad\x76\x8f\x50\x48\xc2\x59\x4f\x22\x57\x2b\x4f\xab\x18\xcb\xfa\xc4\x54\x42\xd6\xdb\x90\x2d\xda\x93\x59\x81\xdb\x74\xe6\xe4\xc9\x47\x5e\x2e\xcb\x25\xfd\xe8\xb3\xf3\xdf\x16\xbf\x5d\xe2\xe5\xc3\x4b\x7c\x99\x3d\xc4\x8b\xdf\x2e\xc9\xf2\x21\xb9\x24\xe7\x5b\xba\x8d\xd8\x39\x3d\xa7\x49\xa4\xc1\xf4\x3f\xcd\x09\xbe\x7c\x3f\x9e\x93\xcb\xd9\x65\xf6\xf0\xf4\x9c\x7e\xf0\xd9\x39\xc6\x97\xe7\x97\xe7\x93\x87\xa7\xa4\x90\x4f\x0f\x17\x97\xd9\xe5\xfb\xe5\xc3\xf9\xe5\xc3\xcb\x73\x42\xce\xb7\x11\xfd\x01\x6e\xa5\x2c\xfe\xdc\x0d\xbd\xc9\xe9\x29\x4f\x92\x5d\xce\x73\xc1\x7a\xb7\x15\xf7\x0e\x13\x1e\x8d\x3e\x08\xd0\x12\x3a\x4b\x10\xc1\x2f\x96\x2e\x1c\xb2\xc6\x13\xe3\x3a\xc4\x06\x6b\xfa\x7b\x40\xa9\x08\x8a\x02\x80\x2a\x94\x5d\xc7\xcb\x50\xb2\x0a\xf4\x07\xae\x2c\x8c\xfc\x3c\x58\x23\x49\x7a\x49\xc2\xb1\x56\x4b\xae\xa4\xfe\x1f\x7c\x3a\x40\x48\x7e\xf6\xb5\xb9\xef\x47\x5f\x92\x56\xfe\x62\xb6\xd4\x67\xc6\x36\x22\x2d\x52\xc7\x24\xb6\x0d\x08\x74\x13\x85\x22\x7b\xe0\x1c\x27\x65\x7d\xcd\x26\xd4\x75\x8a\xd6\x9a\xf1\x2b\x90\xe6\xb3\x19\x7d\xcf\x31\x5f\xf8\x4b\x8a\xc2\x04\x11\x38\x50\x95\x95\xdf\x54\x6e\x03\x8e\xfc\x0a\x9f\x80\x92\xaf\x98\x0b\x98\x16\x6f\x02\xe8\x7f\xa3\x3b\x44\xe8\xc7\x86\xa2\x7b\x03\x03\x49\x41\xd2\xa5\x8f\x5f\xb4\x51\x8d\x2d\x25\x23\x72\x2c\x03\xf0\x53\x7e\xeb\x06\x13\x7f\xc5\xd7\x09\x3c\x59\x4b\x47\x12\x40\xb7\x54\x29\x46\x3b\xb7\x34\x15\xd9\x61\x2b\x9c\x5b\xba\xe7\x87\x4c\xfe\x1a\xc1\xab\xdc\xe3\x56\x36\x19\x19\xc8\x3d\xc4\x1c\x5d\x0d\x75\xbd\x86\x17\x4d\x0e\xfa\x63\x1a\xc3\x12\x5c\x5b\x96\x36\xae\x2e\xfd\x20\xda\x7a\xbb\xca\x32\xfb\x23\xa7\x7e\x85\xbe\x6f\x9a\x7c\xaa\x00\x58\xc5\xbb\x83\xe4\x63\x65\xfb\x2d\xbc\xbe\x81\x55\xb5\x26\x00\x9f\x3d\x59\xd9\x70\xa6\x19\x8c\xef\xb1\x4f\xe6\x36\x19\xe1\xfc\x08\x21\xce\xa2\xbb\x19\x2b\x68\x80\xe1\x94\xca\x71\x65\x72\x2e\x58\x23\x57\x95\xb4\x02\xe5\x7f\xbf\x43\x8e\x04\x4a\xa3\x53\xd2\x50\x0a\xf2\x46\xd5\xe4\xc7\x10\xfb\x20\xcf\x31\xea\x31\x44\x9e\x0d\x08\xd1\x15\x43\xc8\x6d\x40\x4e\x2a\xd1\xd6\x90\xb1\xe1\x50\x80\xdf\x61\xcc\xe7\xe1\x98\x61\xe3\xfd\x72\x8e\x4e\x90\x83\x10\x19\xfb\xce\x6a\xcc\xf0\xaa\x13\xac\x8c\x57\x9a\xc8\xce\xe1\x68\xf4\x87\x07\x87\x87\xbb\x1a\x8d\x6e\xe5\xe3\x4a\xb1\x31\x6a\xbf\x03\x5f\xe5\x92\xca\x34\x8e\x38\x8d\x9a\x96\xc6\xe7\x76\x6e\x29\x9c\x7d\x92\x89\xba\xa5\xfb\xb5\x7c\x06\x51\x75\x55\x48\xa5\x04\x9b\x8c\x46\x09\x26\xee\x86\x6d\x40\xa5\x6f\x33\x09\xd3\xdd\x56\x92\x1b\x7e\x96\x61\xf5\x26\x39\xb3\x7c\x57\x87\xe5\x3b\xe5\x21\xb2\xd2\xa2\x29\x8a\x8d\xad\x2d\x43\xd6\x21\x8e\x59\xfd\x99\x0e\x12\xd6\x88\x40\x37\xba\xdb\x23\xd0\x23\xa4\x31\x0b\xf1\x86\xc6\xa0\x9c\x91\xc0\x73\x02\x9c\x61\x5c\x14\x09\xe1\x80\xa8\x1a\xd1\x0d\xa1\x9a\xcf\x89\x08\x9d\x59\x42\x99\xd1\x48\x34\x5c\xa3\xe0\x55\x03\x87\x21\x00\xdd\x20\xfa\x4e\x00\xf4\x78\xba\xbb\x5a\x07\xa2\xab\x2c\xef\x37\xbc\x6d\x1b\x70\x33\x11\x54\xb8\xc2\x99\xd1\x16\x50\xc8\xbe\x58\xd9\x28\x34\xa1\xd0\x9a\xd3\x5c\x4e\xa8\xd1\x08\x4d\x80\x03\xb6\xec\x75\xd5\x7e\xfa\x26\x00\x04\x30\x3f\x13\x31\xec\x99\xda\x8f\xce\x18\x9d\xd5\xe0\xc8\xe0\x39\xb9\xaf\x2e\x8b\xa0\x06\x6a\x5e\xb2\xd0\xe5\x15\x52\x5b\x48\x05\xd1\x70\xeb\xbe\xc1\x5c\x55\xc8\x6a\xac\xa5\x62\x07\xbe\x71\xbb\xd0\xed\xc6\x39\x5a\x2b\x71\x03\x42\x5e\x81\xab\x6a\x32\x9b\x8c\x46\xe7\xf8\x32\x1b\x17\x97\xe7\x24\x89\x74\xed\x85\x09\x39\x57\x9a\xc6\xfd\xb9\xda\x56\xdf\x8d\x6e\x49\x22\x3f\xce\x10\x1d\xa0\x3a\x43\x44\x9a\x0e\x4d\xdb\x79\xb5\x30\xe6\xcd\x46\x0d\xee\x70\x9a\xc3\x6d\x69\x6f\xf1\x4a\x0f\x55\xdb\x3b\xc6\x2e\x77\x80\xfc\x8a\xd9\xd4\x8d\x6b\x87\xa6\xb1\xe1\xa2\x36\x4c\x2c\x62\x38\x25\x65\xff\x6d\x2a\x9e\x83\x1c\x63\xb6\xa9\x5d\x4b\xc6\xec\x6a\xb7\x0e\x4e\xa6\xe5\x30\x2e\x8a\xb8\x71\x23\x10\x4f\x24\xdd\xbe\xde\x1d\xb2\x26\x03\x02\x16\x2a\xd0\xa1\xa5\x98\x8b\x09\x30\x82\x98\x13\x47\x9e\x09\xc0\x0d\xd7\xba\xae\xc7\x5d\xe2\xf0\xc9\x2e\x81\xf5\x0d\x72\x0e\x58\xe3\x7c\xb2\x5f\x27\xd4\x6c\x01\xdc\x80\xf5\x9b\x23\xa4\x79\xae\x8a\x24\x18\x8d\xe0\x07\x93\x92\xaa\x4b\xe1\xa6\x46\x27\x8d\xc9\x71\xc5\x56\xa3\xd1\x13\x70\x6c\x21\x99\x90\x27\x38\x22\xee\x8a\xad\x8a\x22\xd2\x6d\xc2\xc4\xf5\xb5\x02\x68\x6d\xee\xae\xb4\x88\x29\x52\x72\x27\xfa\x92\xe3\x98\x90\x92\x36\x29\xb5\x7b\xcb\x18\x7c\x7d\x21\x32\xd7\xba\x0c\x75\xe7\x6d\x13\xd4\x16\x17\xa7\x4c\xf0\x28\x52\xd2\x2f\x99\x46\x10\xdb\x5a\xc9\x28\x53\xc2\xc1\x58\xf3\xc0\x0d\xf2\x3c\x22\xc7\x88\xbd\x94\xdc\x82\x1b\x55\x3b\x1c\x5b\x7b\x18\xde\x60\x52\x52\xd1\xae\xa6\x4f\x91\x89\x8a\x68\x54\x49\x03\xbe\x94\xbd\x15\x4b\x95\x60\xef\xa1\x7d\x85\x58\xdf\x55\x39\xc6\xfa\xae\x55\x88\xec\xf6\x98\x41\x9f\xb9\x71\xa3\x15\xf5\x9b\x2c\x20\x6e\x57\xa1\x11\xd0\x1d\x0e\x9f\x22\x53\x22\xa2\xb1\xec\x43\x6d\x98\xd8\x2e\x9e\x6e\xc8\x71\x23\x2b\xb0\x21\xfa\xc8\x61\xea\x67\x3e\x78\xab\x4f\x1d\x2a\x88\x23\xe0\xe4\x61\xf2\xcf\xfc\x2d\x9c\x3c\x34\x22\x4e\x24\x43\xc5\x76\x0f\xe5\x08\xa8\x57\x23\x40\x9e\x1b\x72\xe7\xd0\x3a\x36\x9d\x0d\xc4\x1a\x14\xa3\x09\xbe\x51\x1a\xa4\x4b\xfa\xfe\x6e\xaa\x4e\x11\x74\x40\xdd\xf5\xc9\x67\xac\x64\x65\x93\x90\x0b\x9a\x42\xcc\x9a\x3d\x17\xe9\x68\x54\x3f\x2f\x34\x36\x22\x52\x38\xba\xc8\x41\x1a\x22\x18\x2d\xd5\x12\x0d\xba\x2c\x3e\x88\xa6\xca\xce\x0a\xb7\x3f\x83\x58\x49\xa9\xb8\x6d\xd7\x99\xe8\x13\x13\x88\xd4\xb8\x3f\x84\x17\xe6\x1b\x34\xe3\xe6\x9e\xab\x2c\xf5\x34\xb8\x71\xd9\x22\x3a\x6d\x79\x09\xc4\xae\x8b\xc4\x9a\xc6\x04\xc9\x0e\x45\xa0\xc6\x84\xee\x62\xf3\x1a\xe9\x16\x3a\xf2\x12\x44\x68\x83\x0a\x9e\xfd\x2b\x13\xd7\x68\xee\xdc\x22\x6e\xad\xb9\x18\x5a\xa7\xc1\x0a\x48\x62\xfb\xe6\xab\x5a\x0a\x00\x78\x5d\xa9\x0c\xd7\xe1\x84\xd6\xcf\xda\x68\x31\xb4\x17\x08\xa4\xb3\xd5\x88\x1b\x5f\x65\x6a\x7b\x79\x99\x0c\x24\xa9\x85\x7d\xa0\xb5\xe4\x8b\x8c\x96\xef\xf4\xd7\x08\x7c\x86\xc2\xa8\xbb\xda\x06\x53\xb7\x2a\x2e\xc3\x89\x1f\x0b\x9e\x1c\xf6\xa0\xf9\x95\x81\x71\x25\xac\x2c\x2b\x7d\xa8\xc9\xbb\x2a\x7f\xa0\xef\xa8\x8e\x58\x43\xdf\x44\x34\x06\x5a\x3f\x30\x50\xc9\x60\x03\xea\xac\x60\x16\xae\x14\x45\x15\x29\x8e\x54\xb2\x21\xeb\x58\x2e\xaf\x67\x7e\xad\xe9\x68\x91\x5a\xe8\xb4\x72\xb6\xf4\x31\x5d\xbf\x55\xc1\x29\x52\xe2\xd4\x5f\x01\xca\x08\xcf\x9d\x1b\xf0\x26\x47\x40\xbb\xe9\xd3\x92\x9c\xaf\xe9\x4f\xa1\xce\xdf\x5c\x61\x23\x42\x07\xbf\x28\xe8\xa3\xf7\x63\x22\x29\x0c\x9e\x5d\x66\x63\x7c\x79\x3d\x26\x64\x7e\x7a\x4e\x4f\xef\x5e\xbc\x3d\x0e\x40\xfa\x8c\x06\xc9\xd1\x9f\x0f\xfd\xea\x54\x1f\x8d\x7c\x9b\xee\x79\xa2\x2c\x00\x17\xd3\x25\x71\x7c\x70\xe0\x01\x0e\x39\x6a\x3b\x98\x1d\x20\x00\xfd\xba\x0e\xf2\xd5\x78\x06\x9d\xc4\x03\x86\x2c\x87\xc6\xe7\x0a\xa8\xf6\xd4\x63\x47\xa4\xaf\x40\xcf\x64\x41\xc8\xe1\xc1\x18\xb9\x92\x48\xcc\x44\xce\x0e\x79\x78\xf6\x77\x54\xd2\x9f\x43\xd0\x0c\x2d\x7e\xbb\x3c\xe2\xf9\xf0\xf2\x48\xce\xe9\xbb\x90\x1d\xd1\x02\x39\xe7\xcb\xd3\x73\x8a\x8e\xc8\x39\x2f\x4f\xcf\x4b\xfa\x16\x62\x92\xcb\xe5\x65\xf9\x80\xce\x2f\x93\x73\xba\x8b\xa0\xfb\xc0\xd3\x03\xa1\x2d\x9f\x3d\xed\x86\x1b\x1f\x5a\xbb\x08\xa3\x58\x44\xdc\xbf\x05\xdb\xad\xb2\xa4\xaf\x38\x0b\x80\xb5\xce\x45\xba\x07\x35\x83\xd7\xeb\xe4\x79\x9a\x6a\x69\x44\x15\x8a\x88\xfb\x8a\x4f\x20\x97\x37\x3b\x25\x3f\xeb\xf1\xd1\xf5\x8a\x4b\xf2\x4e\x7d\x56\x25\xc8\x54\x90\x4d\xca\x7a\xf7\x92\x57\xe0\x23\x49\x7e\x47\x00\x07\x69\xd3\x8c\x8a\x33\xdf\x83\xfb\x94\xc5\x6f\x97\xf3\xff\x5a\x3e\x24\xf8\x72\x8e\x17\xbf\xc9\x27\x32\xc7\xff\x85\x27\x0f\xd5\xd4\xf8\x10\xb2\xa3\xec\x0a\xe7\xef\x53\x0a\xde\x0c\x9d\xef\xbe\xfb\x96\x86\xf9\xde\xf9\x66\x56\xd2\x67\xa0\x00\x57\x3b\x3d\x20\xf4\x73\xc4\x8e\xa7\xa7\xab\x7c\x1b\xff\xc5\x19\xce\xa8\x24\xc3\x41\x0e\x21\x5f\xb8\x97\x7d\x4c\x63\xe7\xb9\x87\x25\x9d\x09\x2f\x88\xd0\x43\x1a\xb7\xbd\x86\xd8\xd7\xbe\xc6\xcf\x59\x1a\xbb\x8a\xdf\xd8\x6b\x60\x2a\x4e\x5c\x90\x80\x68\x2b\x64\xb0\x8e\x93\x71\xf7\x3c\x5f\xe1\x1e\x30\x6c\x19\x97\x40\x9a\x6f\x96\x45\xd1\x97\x52\x21\x8f\x63\x7f\xf1\xad\x42\x7c\x54\x94\xf1\x8a\xcb\x33\x0f\xc0\xc9\x50\x93\x98\x2e\x6b\xf0\x73\xd5\x26\xf3\x8a\x88\xc2\x38\x57\xa1\xf2\x11\x11\x05\x40\xae\xe3\xed\x52\x08\xe1\xf9\xca\xf9\x3d\x80\x10\x9e\xaf\x9a\x4b\x8c\x33\xed\x64\x1f\x54\x01\xaa\xb1\x73\xaa\x0b\x7f\xc0\x2e\xb7\xc1\x8b\x38\x00\x95\xf3\x92\x18\x50\xf5\x96\xfc\x50\xa3\x0a\xb5\x79\x17\x8d\x2e\x34\x75\x9a\x1d\xae\xf2\x50\x00\xb0\x33\x47\x43\x2b\x15\xc5\x2f\x72\x68\x78\x43\x4e\x45\x1b\x29\xd8\x2d\x0c\x8d\x51\xc3\x78\xaa\xe2\xaf\x38\xe6\xf4\x58\x12\xda\xb0\x59\x02\x2a\x53\x29\x5f\xf8\x16\x36\x83\x58\x96\xed\x4c\x35\xc2\x93\x5a\x0c\xcf\x3c\x8c\xd6\x59\x2a\x5b\x1e\xa1\x36\x02\xf3\x15\x00\x9d\x69\x8d\x0e\x7f\x6e\xc9\x2c\xab\xdc\x16\x7c\xe9\xb4\x03\x98\x5f\x1a\xfe\x08\xac\xf2\x05\x6e\x0d\x35\x40\xcf\xab\xc1\x92\x8f\xbd\xfb\xe1\x5d\x23\x56\x12\x73\x7b\xda\xa1\x22\xaa\x05\xc2\x6a\xf4\x5f\x75\xdd\xee\x6e\xf1\x62\x1d\x50\xdf\xa7\x9e\xbf\x6c\x09\xf7\x6a\x22\xa9\xc9\x5c\x7f\x8e\x88\x6b\x7d\x05\x2f\x28\x82\x0d\xec\x7d\x7a\x1d\xe2\x61\x67\x0a\xb4\x86\x5e\xa6\x02\x81\xe6\x90\x31\xcf\x2f\x0a\xe3\xd1\x16\x96\x35\xa9\x07\x21\xd9\x41\x54\x54\xb9\x50\x57\xe5\xc9\x21\xd0\x1a\x1f\x6d\x0d\x02\xb9\x84\xff\x0d\x7b\x86\x72\x66\x46\xe8\xc7\x90\x19\x8d\x6d\xab\xe2\x3e\x8f\x63\xfa\x4b\xef\x27\xb8\x20\xa0\xbf\xf6\x7e\xf3\xd6\x49\x40\x5f\x79\x2c\xe4\x98\xb8\x5b\x8c\xc6\x27\x67\x27\x0f\x4f\xce\x4f\xfe\xfb\x84\x31\x76\x32\x64\xec\x04\x7e\x4e\x2e\x4e\x1e\x9d\x5c\xb0\x93\x47\xec\x64\x34\x3a\x29\x8a\x93\xe1\x09\x3b\x29\xfa\xf5\xf8\x38\x39\xbe\xd2\x2a\x4f\xba\xfe\x69\xc4\x8e\x89\x83\x2e\x13\x44\x43\x07\x5d\x86\x88\xa6\x0e\xba\x4c\x11\xcd\x1d\x74\x99\x23\x7a\xe5\xa0\xcb\x2b\x44\xd1\x03\xe4\xa0\x07\x88\x3e\x40\x0f\x9c\x07\xe8\x41\x49\x85\xdf\xf5\x38\xa9\xb5\x6c\x18\x2f\x5d\xe1\xdb\xb4\x2f\x18\x6e\xa6\x07\xd0\x3a\x13\x3e\x8d\xc5\x4d\x97\x12\xce\xc5\x4d\x6e\x60\xe4\xd7\xda\x38\x5e\xf2\xe0\xea\xe3\x6e\x23\x92\x8c\x0d\x8c\xc0\x11\x22\x5c\x54\xe9\x0c\x83\x4e\xe4\x30\xb3\x3a\x58\x6f\x27\x75\x12\x42\xc1\xae\x9f\xf1\xa2\x40\x0f\xd4\x76\xa9\x85\x37\x3c\xd0\x53\xdc\x5a\xee\x2a\x5d\x56\xa1\xd8\x15\x05\x9a\x68\xef\x4f\xcd\x4f\x6a\xab\x16\x62\xa3\x44\x18\x3a\x43\xfd\xb1\x93\xdf\xcb\x40\xb9\x33\xa8\x63\xaa\x90\x4e\x44\xcc\x29\x92\x8c\xc4\x62\x39\xa1\xae\x33\x47\x3a\x85\xea\x0c\x0d\x50\x06\xcd\x72\xea\x16\x2a\xd5\x2d\x6e\xf6\x1c\x08\x1b\x8f\xdb\x39\x83\x8f\xd4\x6c\xcf\x7d\x51\xd5\xc3\x8e\x69\x14\x3f\xc6\x56\xc3\x68\xc0\x7c\xeb\xfd\x1b\x42\x05\x7b\xe5\x2d\xe4\x6a\x96\xbf\xc1\xd2\x7d\xa5\x94\xe0\x44\x51\x84\x73\xcc\x59\x38\x0f\x1c\x31\xf7\x1d\x7d\xf3\xf2\x35\xb5\xa6\xbb\xbd\x48\xb9\x9c\x25\x72\x7e\xda\x2d\x60\x83\xea\x3e\x42\x25\x83\x75\xfb\x3c\x4d\x77\x29\x46\x1f\x13\x71\xb3\x57\x8a\xb4\x89\xb8\xc9\x4f\xe4\xb0\x73\x3f\x17\xe9\x09\xa2\x76\x19\x75\x76\xb3\xca\xe8\xd6\xaa\x5b\x49\xd7\x59\x2f\x2b\x03\x96\x1b\xb5\xab\x75\xc9\x85\xc8\x3e\x68\xca\x52\xe4\x9c\x9a\x35\x38\x25\x55\x14\xef\x4c\xd3\xf9\x3d\x13\x74\xcc\xc1\xef\x09\x35\x53\xab\x87\xc7\x41\x53\x74\x21\xa7\x20\xfa\x07\x7a\x04\xbf\x35\xae\x9b\xb9\xd8\x91\xe9\xeb\x21\xee\xcb\xe3\x04\xe9\x55\x70\x99\x56\x4f\x79\xf5\x94\x54\x4f\x57\xd5\xd3\x61\x3a\xe5\x53\x78\x83\x5b\xdb\xa0\xff\x5a\x1e\x71\x5d\xb9\x3f\x64\xe5\x8a\x02\x3d\xd6\xef\xff\xd6\xef\x9f\x4c\x86\xa7\x55\x5e\xcf\x6f\xf6\x3f\x99\x71\xef\xc9\xf1\x0c\x69\xcc\x7f\x40\x41\x94\x69\xdb\xeb\x52\x72\xa1\x66\x36\x74\x6e\xd6\x03\x16\x98\x14\xb2\x83\x5d\x9f\x3d\x96\x3b\x3a\xca\x4e\xd0\xd8\x1f\xa3\x33\x34\xb6\x7a\x1f\x9d\x2c\xf4\x3b\x0c\x4f\x0d\xf2\x21\xb3\x1a\xa3\x25\x72\xd0\x09\x1a\x07\xda\x91\xc3\xbf\x25\x99\x7c\x03\x44\xa9\x2c\xac\x4a\x47\xdc\x92\xd6\x1b\x40\x43\x8f\xd2\xa8\x29\x33\x84\xa8\xcf\xac\x6a\xdd\xbb\xad\x69\xe1\xc2\x0b\x7c\xdf\xd6\xa6\xa0\x1d\xe5\x06\x15\xb4\xbb\x28\x20\x84\x8f\x59\x50\xaf\x6d\xe5\xec\x5f\xaf\x6c\x48\x27\x10\x68\x68\xe9\x74\xd6\x90\x60\x61\x25\xb6\xb6\x10\x3b\x4a\x40\x46\x23\xd1\xde\x14\x05\x19\x8d\x20\xdb\x8a\xac\xe3\x16\x4e\x4a\x23\xcb\x61\x6f\x9e\x45\x31\xe8\xc9\xb4\x28\x90\x40\xc3\xfe\x4c\x15\xf1\xa4\x89\xab\xd6\x26\xf1\x52\x99\x6a\x9e\x88\x1b\x45\x42\x23\xed\xc2\x44\xef\x7b\xe5\x5d\x9b\x94\x6f\xf6\x26\x03\x48\xe0\x0c\xa7\xca\xcd\xaa\x53\x4f\x40\xa2\x06\xbc\xb5\x2a\xec\xf1\xfe\x53\x43\xed\xdf\x7b\x86\xb9\x56\x8f\xa9\x93\xc3\x27\xa3\xd1\xb0\xd9\x51\xbe\xe9\x8d\xaf\x6a\x24\x57\x8d\xb4\x66\xbe\x86\x42\xb5\x8f\xce\xb5\x2c\x6b\x1d\xae\x85\xda\x9e\x55\x93\xdb\xb6\x19\x8d\x9b\x94\x4e\x83\xc7\x63\x4b\x17\x0c\x21\x2a\x18\xa7\x21\x1b\xce\xbe\xa2\x4f\x56\x6c\x70\xef\xc1\x2e\x98\x18\x83\xa2\x6b\x48\xd0\x01\xb0\xa0\xe6\x38\x64\x7d\x6b\xd9\x3e\x07\xec\x43\xe1\x2f\x84\x1a\xdf\xee\xe7\x8b\xcb\x80\x9f\x85\xcb\xe3\x77\xe5\xf9\x9a\xe8\xe5\xd4\x37\x9b\x0e\xc9\x5a\xf2\x66\x27\x22\xf3\xf9\x5e\x9c\x2c\x2e\x2f\x0f\x68\x1c\xca\x9d\xa2\x79\x7c\x7d\x47\x83\x31\x53\x7d\x05\x52\x96\xa7\x2b\x9e\x3e\xdd\x05\x02\x03\xe5\xf8\x32\xc9\x71\x48\x67\x7f\x25\x84\x38\xc1\x98\xa5\xd1\x62\xb5\x2c\x8a\x95\xea\x9a\x0a\x98\xf3\xf2\x52\x79\xcb\x08\x25\x75\x0d\x4b\x79\x1d\xe2\x95\xc2\x27\x68\x74\xf1\x17\xa6\xb2\xe8\x99\xca\x41\x25\x43\x2a\x83\x31\x5b\xf5\x2d\x8d\xc6\x81\x9b\x8b\x74\xbb\x4e\xb8\x3c\x72\x3f\x1f\x76\xb9\x40\x00\x89\xeb\x2a\x88\x83\xe6\x19\x9a\x2b\xbd\x95\x9b\xda\x4b\x90\xa1\x13\xfd\xd2\xcd\x26\x6f\xd3\x5d\x94\xf2\x2d\x43\xfa\x01\xb9\xd9\xe4\xf9\xcd\x3e\x15\x59\x06\xda\x34\x3c\x87\xfb\x11\x36\x40\x3d\xa1\x32\xf2\xe3\x2c\x5b\x47\x89\x7c\xab\x23\x30\xd4\x17\x2a\x63\x3f\xdd\x25\x01\x80\x94\xf1\xd8\x8e\xde\x1b\x2c\xe3\xbf\xda\x45\x6b\xbf\x19\xb7\x13\x24\xe3\x3d\x59\x27\x3c\xbd\xb5\xa3\xb5\x43\x64\xac\x8f\xed\x48\x1f\xbb\x71\x9e\xf2\xb8\x59\xb5\xc6\xbb\x8c\xf1\x5a\xc8\x25\x6e\xc7\x69\x87\xc8\x58\x2f\xab\xe5\xca\x50\xfd\x0c\x6d\x52\x8e\x85\x19\xd2\x0f\xd0\x8b\x69\xca\x1b\x35\x6b\x05\x20\x35\x54\x60\xad\x0d\x63\x05\x4f\x32\x54\x31\x6d\x76\xd2\x76\x88\x8c\xf5\x61\x05\xdb\x7b\x15\xa7\xf9\x2e\x63\xbc\xf9\x1e\xb0\xbe\xde\xf2\x94\x6f\x45\x2e\x6b\xdd\x0e\x41\xee\x20\xb3\xd9\x0a\x9e\xe5\xf7\xf3\x11\x9a\x6d\xa8\x67\xa0\xfc\x0b\x5a\xc3\xfa\xfc\x53\x53\x0e\x13\x77\x3a\xd4\x7a\x65\x7a\xd9\x98\x9b\xd0\xce\xd4\x5f\x67\x27\x3c\x39\x39\xd4\x14\x27\x24\x40\x36\x8d\xbb\x98\xd6\x0a\xef\x1c\xc4\x2a\xb2\x90\xfe\x63\x61\xb1\x74\x81\x6b\x99\x5e\xf4\x95\x3e\xac\x4f\x69\x54\x22\x8a\x08\xa2\xc8\x45\x54\xee\x2e\xa3\x91\xbe\xc0\x80\x28\xa2\xbb\x34\x30\x21\x74\x68\x3e\x82\x47\x3e\x17\x19\x39\xd4\x11\xd4\xe1\xaa\xb5\x47\xbd\x5d\x70\xeb\xf0\xb2\xa4\x3d\xf9\xf4\xc0\x1f\xeb\xd4\x3d\xeb\xd1\xca\x40\x1d\x26\xca\x45\xd4\xd3\x15\x5f\x27\x18\x34\xe0\xea\xf7\x7b\xce\xc9\x3a\x17\xac\xb9\x71\xd3\x86\x02\x11\x97\x70\x7d\x14\x68\x57\xb0\xdc\xee\x6d\xab\x02\x5d\x4d\x2d\x48\xc5\xab\x9d\x01\x93\x92\xd6\x6f\x6d\xfb\xc2\x8a\x91\x4c\xe5\x1a\x6d\x57\x84\x21\x85\x9d\x6e\x3a\xa3\x6f\xbf\xa1\xb1\x08\x25\xe5\x90\xae\xa3\x95\x3e\x5c\xed\xc2\x6b\x6e\x07\x31\x54\xda\x8d\xd0\x65\xde\x51\xa3\x58\xed\x3f\x3f\xbd\xc3\xe0\xfc\xa9\xc1\x73\x98\xea\xcd\x91\x02\xaa\xeb\x74\xa7\x9a\xa8\xf2\x00\x38\x6c\xc1\x04\x9b\x90\x39\x0e\x7a\xe2\x99\x86\xf5\xee\x8c\x34\x17\x99\x6c\x19\x8f\xa1\xaa\xb9\x70\x7c\x38\x54\xc4\xe7\x83\xec\xc9\xa0\x24\x0e\x2f\x69\x55\xd1\x7b\x86\x5a\xc7\x79\xfc\xe6\x59\x67\xa8\xf5\x58\x9b\x8a\x74\xb6\x5d\x3a\xa8\x3b\xb0\x28\x50\x4f\x6f\xdb\x99\x97\x56\xff\xd6\xe1\xf7\x4d\xc2\xcf\x07\x1e\xaf\xf3\xce\xc8\x8f\x46\x5f\xaa\x57\x5d\xad\xd1\xa8\xaf\x5a\x75\xce\x76\xa5\x4c\xe8\x3d\x55\x02\x3b\x0c\x18\x0a\x39\xf4\x6e\x3d\xbc\x6a\x4a\x32\x44\xd1\x50\xfe\x61\xfa\x91\x35\x6b\xda\x3e\x91\xea\x8a\xfa\xb0\x6d\xf6\x54\xd5\x2e\xd1\xae\x6c\x1d\x7e\x4f\x75\x79\x20\x67\xce\x95\xe8\xab\xec\x05\xa2\x08\x6c\xa0\x65\x4d\x1f\xfd\xd9\x8a\x0e\x7a\x56\x56\x55\x98\x5d\x4f\x13\x7a\x4f\x2d\xb5\x11\x19\xdc\xcd\xf4\xd7\x75\x8c\x00\xcf\xe7\x7f\xd9\x95\xed\x72\xec\x6a\x36\xbf\xdd\x53\xd9\x83\xda\x8b\xba\x75\x7c\x88\x28\x3a\x47\x14\xfd\xf7\xff\xba\x9e\xba\x08\xbb\x7a\x87\xde\xdd\xc8\xad\x34\xf1\x7b\x7a\x8b\xa2\xa1\xdc\x5a\x4c\x3d\x3e\xde\x55\x0d\x65\x69\x47\xf7\xca\xcf\xf9\x70\x4a\x8d\x38\xb7\x59\x19\x47\x9f\xd7\xeb\xad\x7a\xa7\x03\xfd\xdc\xad\x55\xa3\x32\x18\x91\xb9\xa9\x60\xe3\x2c\x6a\xed\x83\x04\x11\x2d\x58\x32\x29\x17\x88\xcc\xcd\x3c\x96\xa4\xd0\x33\xe1\xc7\x3c\xe5\xaa\xa8\x66\xd4\x63\x1d\x55\xc1\xb7\x98\x08\x86\xce\xce\xda\x78\x3b\x16\xf7\xad\x24\x06\x73\xb8\x55\x68\x26\x5a\x34\xaa\xa8\x22\x2e\x75\xce\x3a\x6d\xcd\x92\x99\x0a\xd4\x21\xb8\x19\xd5\x64\x6b\x22\x9a\x77\xdc\x23\x50\x4b\x76\xf9\x09\x3f\xd1\x3d\x7c\x52\x1f\x0b\x9a\xcc\xd1\x92\xce\x8a\x95\xeb\x4c\x46\x8c\x28\x5a\x20\x8a\x26\x72\x32\x22\xac\x20\x78\x65\xf5\xe7\xd6\x89\xd9\xa4\x6b\xa9\xcf\xe3\x58\x08\x79\xa6\x18\x79\xbe\xae\xbe\x64\x90\x1e\x9b\x30\x18\xfa\x9e\xa1\x43\x8b\xfe\x42\xda\x84\x31\x55\x03\x04\x2e\x17\xd4\x58\x38\xdd\xa3\xcf\xdf\x6d\xf7\x87\x5c\x04\x92\xcd\x6d\xcd\x93\x25\x14\x36\xb1\x0a\xfb\xf3\x65\xd9\x43\x64\x95\x35\x2b\xbb\x03\xf1\xf2\xf5\xdb\x9f\xde\xbf\x7f\xf9\xe4\xd5\x73\x64\xd3\x07\x6a\x26\xb7\xe4\x8f\x0b\xbe\xac\x47\xe4\x0b\xbd\xdc\xad\x47\xdd\xeb\xdc\x64\x3f\x9c\x96\xcd\xc5\xe4\xc0\xde\xd2\x4b\x76\x5a\x5a\x22\x3e\x58\xed\x58\x63\xd6\x25\x63\x94\x86\x39\x22\xc8\x50\xdd\x72\x46\x7d\x90\xb4\xaf\x59\x0f\xc7\x60\x77\x72\x77\x49\x83\xeb\xd5\x3a\x16\xb8\x51\x39\x8a\x88\xe5\x1f\xc9\x16\x56\xf4\x53\x51\xd5\xba\x72\xb9\xd5\x13\x3d\xac\xfe\x3a\x3b\x51\xeb\x41\x71\xfc\x75\x5c\xb8\xba\x6e\x92\xc4\x35\x9f\x45\xc1\xd9\xb2\xda\xdd\xca\xb2\xe6\xb8\xef\xa4\xa6\x35\x2f\xa6\xf9\xf1\xd6\xd2\x57\x16\xc6\x25\x6d\xef\x44\x77\x76\xed\xf2\xde\xae\x3d\x1a\x31\x9e\x62\x2d\xe4\xa4\x56\xc2\xa2\x3b\xbb\xbc\xbc\xab\xc7\x3b\xcb\xa3\xd5\x23\x2d\x36\x92\x6a\x80\xbb\x0c\xd8\x0d\xbd\x40\x7a\x1a\x41\x01\x9c\x19\x95\x7f\xa6\x19\x65\xd5\x8c\x41\x3d\xff\x2b\x84\xb1\xcd\x3a\x09\x1c\xb4\x4e\xd6\x39\xd2\xd3\xba\xbd\x31\xfa\x93\x8d\xb8\xed\xdf\x1c\xbb\xdb\xad\x15\xb9\xbb\xe5\x36\xa6\x8f\x96\x14\x6d\xc4\x6d\x6b\xfb\xec\x50\xe2\xae\x76\x27\xd2\xc3\x04\x19\x6d\xb5\xaf\x1d\x88\xb2\x33\x10\x6d\xa6\xdc\x6c\x4a\x6b\xa1\xc6\xe2\x0e\x11\xba\xd1\xd9\xf8\x37\x46\xd9\x6d\x92\xf3\x1b\x44\x35\xe5\xc0\xa9\xdf\x94\xa2\x41\x68\x9f\xc0\xcd\xaf\x24\xd4\x6a\x21\x1c\xb6\xa2\xad\x24\x51\xd9\x75\x35\x38\x60\x52\x95\x7d\x10\x3b\x81\x6c\x09\xbb\x25\x64\xd4\xdd\xc0\x89\x3b\xf0\xfb\xd7\x6f\xcd\xae\xd3\x13\xf5\xb4\x4e\xa2\x93\x05\x1a\xf3\x31\x5a\xb6\x46\xc5\xda\xc5\xcc\x94\xb3\x27\xe8\x7f\x52\xd7\xee\x55\xd3\x62\xba\xec\xdc\x21\x19\x3c\x5c\x3b\xb6\x8c\xf2\x78\x25\x78\x80\xa7\x15\x60\xae\x4a\x08\xa1\x9d\xd4\xda\x5e\xbd\x5b\xbb\x47\x70\x44\xd8\x35\xe0\x4b\xe3\xf1\x08\x6a\xe9\x6a\x59\xa2\x5f\x14\x2b\x65\x23\x2e\x7f\x84\xfa\x09\x8b\x62\x88\xfd\xa2\x08\xd4\xed\x5e\xa5\xce\x62\x80\x61\x87\x33\x60\xbc\x1b\x6b\xb9\xd5\x1e\x43\x84\x41\x37\x9b\x6f\x64\xde\xa8\xaa\xc1\x3c\xd7\x77\x60\x15\x21\xe4\x1c\x51\x9e\x1e\x04\x72\xfa\xf7\x4a\x79\x4a\x0f\x34\xd8\xff\x5d\x51\x66\x25\xd5\xee\x7a\xfb\x23\x28\x53\xd1\x43\x12\x88\x70\x9d\x88\xe0\x8e\x58\xd7\x25\x45\xb2\xc2\x75\x2e\x4d\x31\x56\x59\x96\x6e\x16\x34\x6f\xbe\x41\x2f\xae\xd7\x96\x57\xe6\x44\xf5\x62\xe7\x59\xfe\xe4\xb0\x8e\x03\x91\xca\x47\x39\x97\x21\x58\xa9\x20\x1c\x13\x71\x93\xbf\x0c\x9c\xa9\x3e\x99\x33\xe7\xa8\xfa\x3b\xc9\xd6\x57\xe2\xe9\x4a\xf8\x9b\xcc\xf1\x69\x98\x38\x32\xe7\xcc\x59\x2c\x95\x44\x67\xb1\xa4\xbb\xeb\xc4\x39\x96\x46\xcc\x71\xf7\x77\x80\x09\x92\x5f\x4a\xf7\x23\x16\x34\x98\x9c\xaa\xa2\x8c\x49\x02\x42\x74\x55\x55\x29\x12\x0c\xa9\x0c\x91\x9a\x36\x9f\x03\x2c\xf4\x35\x32\xd4\x78\xa2\xa8\x9a\x75\x12\x55\x11\xa9\x96\xc5\xab\xa6\x18\xfa\x3b\x15\xfe\x21\xcd\x04\x5e\xd1\xb0\x0a\x91\xb3\xe5\x13\x0e\xc1\xd6\x26\x4c\xb4\xc4\x84\xe9\x6b\xb9\x48\x24\x92\x71\x10\x35\x2e\x9e\xc9\x7f\x80\x32\x7a\x45\x63\x44\xdc\x15\xdb\x05\x58\x80\x52\x1e\x71\x03\x53\x61\xd5\x42\xd4\x72\x1e\x62\x46\x43\xc8\xb2\xd0\xd8\x57\xf1\x73\xb1\x10\x4b\x76\x57\x67\x99\x38\x56\x2b\x85\xb1\xdc\xa8\xda\xe7\x06\x55\xe3\xc0\x82\x27\xb0\x5a\x56\x65\xa0\xea\x64\x00\x0f\x5c\x3e\x01\x38\xdd\x97\x00\x0d\xe0\xf6\x77\x67\x98\xa0\xc6\x38\x6c\xf9\xda\x84\x98\xf2\x04\x71\x43\xf6\x00\x3d\x50\x3d\xf6\xf1\xfd\xf3\x31\x3a\xd1\xdd\xf7\xfe\xc3\xbb\x97\x4f\x3f\x8c\x1f\x20\xf7\x32\xd1\xdf\xd5\x38\xbf\x05\xfe\x0b\x93\x31\x82\x86\xdc\xd3\xdf\x61\x82\x28\xca\x68\x4c\x39\x5d\x23\x32\x0e\x55\x3c\xa8\xf8\x8b\x24\x93\x39\x18\xb5\xc2\xc4\x45\x6e\xa8\xfc\xa4\xd6\xc9\x4f\x8d\xcf\x7e\x24\x92\xec\x90\x8a\xf7\x3c\x14\x8a\x70\x7e\xc3\xb7\xa2\x11\xac\x4e\xac\x46\x90\xc9\x07\x51\x14\x89\x5c\xdd\xa7\x80\x8c\x58\x8e\x7f\x1d\x4d\x09\xe3\x40\xb5\xf2\x46\x66\xb0\x0e\x9f\xa9\x75\x8d\x28\xda\xc7\x87\x0c\x51\xa4\xbe\x84\x84\x68\xab\x14\x55\x2d\xfa\x4f\x4e\x9f\x70\x1a\x07\x74\x13\xd0\x6d\x40\xff\x19\xd2\x24\xa0\xcd\xd5\x68\xf5\xfe\xb5\x1b\x4e\x62\x2d\x4c\x4f\x03\xe8\xf8\x8a\x74\x60\xa2\x7a\xac\x74\x8e\x4b\xfa\xf1\xfd\x73\x07\x1d\x32\x81\xa8\x1a\x0a\x47\xdb\x4c\x22\x6a\x7a\xb0\x9f\x1a\x62\xd6\x6c\x50\xb3\x86\xaa\x0d\xc4\x6d\x1b\xb4\x69\x4a\x01\xc6\x11\x6e\xb8\x19\x1a\x07\xdd\x71\xf4\x29\xca\x10\x80\x3a\xd7\x16\x54\x26\x69\x98\xe8\x32\xd8\x02\x8d\x7d\x83\x9a\x06\xa0\x69\xae\xad\x40\x5f\xb9\x1a\xa6\xed\xec\x7b\xd5\x28\x2a\x1b\x54\x0c\xf5\x22\x47\x3d\xc7\xe4\x32\xd3\xf3\x8f\x13\x15\x24\x57\x9c\x7c\x41\xa5\x8b\x0c\xbb\xa3\xa2\x74\xbb\x67\x50\xf5\x8f\x46\x83\xd3\xdd\xa4\xf7\x4a\xda\xb4\xc7\xd2\x6d\x0c\xc6\x88\xe9\x31\x97\xb5\x99\xa8\xfb\x3b\x2c\xc8\x58\xf2\x93\x96\x30\xb6\xb2\xd4\x53\xfd\xc9\xed\xde\x70\x91\x83\x50\x49\xeb\xfa\xdf\xa9\x91\xae\xf6\x14\xbe\x84\xb6\xb6\xb2\xec\x89\xd0\x2d\x03\xb6\xa0\x2f\xe6\x2e\x63\x59\xa3\xa2\x37\x84\x1e\x2a\x81\xae\x34\x1c\x04\x8d\xe9\x46\x1d\x44\x09\xdd\x2b\xff\xad\xb7\xc6\xc7\xf9\x63\x5c\x6d\x48\x84\x80\x13\xe7\x9e\x1d\x7c\x1d\x7e\xc2\x68\xad\xc9\x9d\x98\xff\x71\xab\xd6\x1e\xf6\x0d\xe3\xac\xd8\x5b\xb5\xc4\x21\xa6\x95\x69\x9d\xea\x5d\xb5\x57\x9a\x1a\x82\xd3\x54\xb8\xfb\x34\xaa\x9e\xca\x63\x91\x52\xf0\xac\xee\x2e\x9c\x2d\xe6\xd0\x6e\xcb\xbe\x14\xf4\x3e\x36\xd5\x7e\xe8\x5b\xa4\x34\xbd\xa6\xd7\x2d\x37\xac\xbc\x24\x6e\x00\xd0\x11\xd0\x7d\x46\x9b\x60\xbe\x99\xf8\x87\x54\x19\x1e\xa9\x2f\x30\x71\x62\x8a\x5c\x44\x9c\x4d\xb5\x9d\xc7\x72\xb6\x28\xb6\x43\xd7\x4c\xd3\x0c\xce\x5e\x93\xa7\x6a\x6a\x69\x6c\x29\xbd\x95\x70\xd3\x4b\x7b\xe2\x0a\xbc\x6f\xe5\xd0\x92\x96\x39\x8d\xed\x9d\x4f\x0c\xaf\x7e\x47\x63\xf6\x8c\x4f\x8c\x7c\x6d\x8c\xb0\x51\x70\x31\x7b\x20\x8e\xe9\x14\xa6\xf9\xd7\xd4\xa4\x2d\x3f\x6c\x57\x25\x16\x61\xb7\x1a\x11\x54\xa3\x15\x13\x24\x8c\x77\xd6\x58\xeb\xf6\x54\xf5\x56\x3a\x52\x72\xaf\xc6\x11\x8d\x89\xa3\xb4\x80\xda\xdf\xeb\x36\x45\x74\x30\x25\x63\xab\xdd\x3d\x6d\x76\x64\x5f\x44\xb2\xe5\xe3\x56\x07\xc5\x5f\xdb\x1d\x1d\x59\xbf\xd3\x5d\x17\xee\xa6\xdd\x3f\xbe\x0c\x83\x85\x32\x1a\xb5\x9a\xe1\x3b\x9b\x49\xb2\xcb\xb1\x4f\xe8\xa6\xb9\x10\x74\x87\xf9\x72\x15\x80\xdb\x20\xbb\x1e\xbd\x97\x32\x5f\xaa\x4b\x2e\x32\xab\x2e\x7e\xa7\xc0\xea\x32\x87\xf6\xd4\xa6\xbe\xdd\xb9\xa3\x4a\xb5\xe8\xa3\xaf\x1e\x01\xa0\xc1\xfb\xea\x44\xae\x88\x31\x30\x9e\x84\xa3\x74\x8e\x32\x64\xdf\x90\xe1\x9e\xad\x26\x12\xf9\x0f\x4d\x31\x2a\x8a\x11\x1d\x28\x1c\x02\x32\x46\xf3\xd8\xc9\x10\xa1\x41\xb5\xe9\xb0\xe1\x8c\x06\xf0\x55\x83\x15\x10\xf7\x9f\x1c\x9b\x47\x3d\x24\x9d\xaa\x14\x85\x1a\x92\xcd\x1d\x05\xea\xf4\x0d\x9b\xc1\xbb\xf3\x42\x59\xc3\x15\x5a\x38\x1a\xcd\x86\x8c\x85\xa3\x91\x4a\x62\x8a\x4a\x76\xc9\xd3\xd6\x56\x99\x59\x45\x6d\xec\xad\xf5\x0b\xb1\x29\x3a\x96\x88\xc8\xf6\x55\x73\xf9\x4b\xf9\x03\x10\x15\x38\x94\xb0\x37\xf0\xde\x54\x56\x07\x10\x17\x6f\xf4\x59\xdb\x62\x46\x8a\xe2\x85\x67\xfa\x99\xc8\x7c\x79\x10\x3c\x6f\xd1\x75\x72\x02\x75\x67\x51\x5b\x86\xea\x44\xac\x39\x75\x1a\xf3\x82\x14\xc5\xa0\x39\xcf\xbe\xb0\x04\x94\xc0\x89\x46\xf6\x2e\x64\x46\x0f\x86\xe2\xcd\x21\x8e\x71\xd4\x18\x5b\xc0\xc2\x30\x53\x8a\xc4\x6c\x53\x4f\x4b\x3b\x6b\x23\xe3\xa5\xb1\x0c\x6f\x52\xa7\x18\xc2\x1a\x9d\x50\xd3\xbc\xf2\xe3\x5d\xd3\xa2\x75\x7c\xca\xad\xb0\x33\x19\x7a\xe2\xe8\x29\x40\xf7\x6c\x33\x69\xd3\xd3\x77\xe7\x6a\x6d\x7d\xd4\x74\xba\x59\x48\x53\xb3\x90\x8c\x1f\x3b\x58\x48\xa6\xcd\x7a\x45\x7d\xfd\xe4\x8e\x68\x3b\xf1\x57\xcc\xf1\x6e\x22\x3a\xd0\x73\x7d\xcf\xbe\x2e\x81\x42\x2c\xb8\x6f\xce\xb6\x6a\xd5\xdb\x83\xfb\xc6\xe2\xda\xd7\xbb\x5b\xcf\xb6\xd3\xcc\xcf\xc6\x00\x92\xf3\xae\xca\x04\x55\xa2\x07\xa0\x3e\x01\xdb\x81\x0e\x87\x61\x7b\xdf\x6f\x48\xf3\xfb\x36\x5a\xae\xe9\xde\x39\x80\x2f\x18\x0d\x89\x89\x92\xfb\xeb\x5e\x4b\x18\x40\x68\xd4\x84\x44\xd6\x83\x84\xb0\xe9\x5d\x41\xf2\xfc\x48\x2a\x59\xa4\x9c\x61\x31\x9c\xa0\x89\x4d\xb3\x12\xd4\x9a\x4d\xe0\xba\xdf\xc1\x8d\xb5\x13\xb1\x63\xa9\x6a\x62\xaf\x22\x55\x4f\x1a\xd3\xe8\xbe\x05\x1a\x13\x8b\xda\x83\x7e\xb4\x97\x56\xc5\xe3\xc4\xc4\xbd\xbb\x95\x76\xa3\xac\x6a\x35\xc9\x13\xdd\xd4\x9e\x39\x00\x9e\x96\xc0\x35\x9a\xec\xd3\xf9\xdd\xb3\xaa\x7f\xf3\x8b\xcc\x86\xa6\x16\xe9\x56\x4f\x58\x13\x4a\x55\xb6\xe0\x99\x5d\x6f\x3c\x7d\xdd\x4c\x9c\x3b\xfa\xdf\xfd\xaa\x79\xfb\x67\x26\x23\x69\xcd\xc4\x3e\x7d\x17\x27\x6e\x6e\xcf\xae\x1c\x63\xe0\x26\xf6\x81\xa6\x85\x48\x2d\x26\x8d\xc1\x51\x42\x9b\x4c\xd4\x04\xe5\xbd\xc3\x6f\x75\x5e\x73\x1a\xb4\xa9\xcd\x18\x1a\xdc\xd3\xfd\x5f\xd5\xe3\x9d\xc4\x0d\xb1\x82\x55\x0b\xf7\x6b\x87\xd0\x22\x3b\xe3\xd6\x16\x22\xb0\x5f\x14\x7b\x38\x89\x67\xed\xae\x6e\x5e\xa1\x38\x89\x41\x86\x34\x77\x29\xff\xf1\xbc\xe6\x6a\x0e\xef\x19\x5a\xb4\xa6\xd0\xf2\xab\xc8\xe1\xf6\x9d\x42\x5d\xb5\xfa\x72\xe1\xae\xca\x29\x76\xe8\x8e\x2a\xfa\xf6\xd2\x33\xfc\xd3\x46\xdc\x1a\xa7\xec\x03\x9b\xde\x9c\xab\x4f\x70\xe1\x86\x24\x6d\x2f\xdf\x14\xb3\x35\x46\x0e\x02\x70\x1d\xd5\xca\x63\xab\x95\xe5\x57\xb5\xb2\x29\xe3\x75\x9a\x29\x50\x86\x64\x1a\xf8\x69\xa4\x6a\x2b\x2f\xb6\xd3\x5d\x21\xb9\x2f\xca\x9f\x12\x2c\xf3\x9b\x94\x66\x3f\xf8\xe3\x18\x4d\xd0\xd8\x37\x32\xe3\x9a\x3d\xdd\x5d\x27\x6e\xdb\xa5\x0e\x28\xd0\x63\xb1\x08\x96\x8d\x45\x39\x9c\x51\x3e\x46\xa3\x91\x61\x0b\x75\xef\xfa\x64\x8c\x4e\xd6\xc9\x09\x5c\x89\x10\x64\xc1\x27\x2d\x82\x65\x25\x3e\x6e\x56\x4a\x12\x46\x0d\x63\xbb\x3e\x7e\x99\x53\xc4\x10\xf5\x81\x6b\xa6\xfd\x57\xd7\x5d\x99\x4d\xd7\x3d\x91\x81\x26\x68\x44\x5b\xf0\x25\x6b\xd0\x7f\x20\x33\xe8\x48\x46\xac\xe8\x25\xad\x58\xc2\x7e\x11\x55\xcd\x31\x42\x4f\xd0\x6e\x2f\x11\x54\x52\xc9\x97\xf6\xa7\x07\x8e\xd5\x24\xf5\x55\x6c\x2d\x29\xe8\xb6\xb9\xaf\xbf\x8c\xf4\x14\x51\x0e\x7d\x26\x6b\xfc\xa9\x63\xd4\x52\x79\xaa\x23\x3e\x26\x1d\xb3\x8e\x66\xbe\xae\x46\x48\x43\xeb\x10\x43\xae\xe4\x88\x88\x0b\xe9\xf4\x87\x12\x29\x12\xc6\xbc\x43\x7e\x92\x93\xc2\x84\x5a\x71\xe4\x44\x4d\x76\xbd\x56\x3f\x43\xac\x27\x0e\xc4\x90\x9b\x74\x2f\xe2\xe6\x18\x0d\xc1\x10\x18\xa2\xb5\xa8\xb5\x3b\x40\x37\xd5\x94\x2f\xa9\x7f\x67\xe4\x41\x23\xf6\x02\xba\x7d\x89\x4a\xba\xed\x66\x6b\xb9\x83\x0d\xe6\x7d\xf2\x29\x59\xb4\x5a\xa8\x5d\x6a\x52\x01\x57\xf4\x9c\x26\x5f\x37\xb0\x6a\x1e\x75\xc9\x08\x3d\xca\x77\x30\x07\xff\x51\xde\x16\x6f\xd1\x9f\x7f\x8f\x98\xf6\xeb\x73\x7f\x51\xa7\xe9\xcb\xbb\x71\x48\xfe\x47\x05\x34\x8f\xd9\xaa\x94\x76\xdf\xf5\xcd\xc3\x4e\xff\xa2\xf1\x40\xae\x45\x38\xa6\x91\x9d\xc7\x1d\x5d\xdc\xc9\xc7\xea\x4b\xb5\xac\xbb\x59\xf5\xf6\x66\x27\xa3\xfa\x0a\xa4\x91\x4d\x93\x51\xec\xf6\x97\x3e\x30\x78\xfb\xc2\xa3\x91\x4d\xa3\x77\xee\x1e\x80\x4e\x9d\x9a\x3d\xdd\xac\x98\x25\xfe\xb9\x4f\x80\xac\x04\xef\x5d\x24\x89\xc8\xe6\x19\xaa\x34\xa5\xca\xf7\x71\xdf\x71\x52\x5f\x8a\xf6\x64\x17\xd4\x1d\xe1\xcb\x5c\x94\x66\xc1\x73\xd8\x96\xdf\x89\x48\xdc\x38\xe7\x8b\xdf\x4e\xf8\xd9\x1f\x8f\xcf\xfe\x3d\x3d\xfb\xc7\xf2\x3c\xa2\x03\x3b\xce\x8b\xde\xd1\x01\x6b\x1d\x8c\xa6\xd3\xe9\x54\xd2\x0d\xbe\x36\xca\x01\x04\x82\xda\xe8\x7d\xf6\x57\x42\xb4\x41\xd4\xd9\x77\xb2\xab\x21\xc7\xb6\x06\xc3\xf7\x35\xcc\x03\x7a\x20\x73\x33\x98\x95\xfa\x20\x6a\xd5\x97\x76\x82\x5f\x24\x64\x8c\x1e\xc0\x8d\xea\x2f\x16\x64\x84\x6d\x7d\xef\xd6\xfb\xbe\x2e\x09\xee\xc5\x21\x78\x66\x07\xab\xcb\x70\x19\xae\xb1\x03\xaa\x2f\xb0\xfd\x82\x6e\x4d\x4d\xe4\xdb\x90\xa0\x3a\x5a\xfd\xb1\xb6\x75\x14\x99\x8f\x88\xab\x00\x95\x5f\xf6\x23\x82\xa3\x2b\xfb\x3e\x43\x1f\xcb\xe3\xb1\x6b\x8c\x36\xeb\xd5\x0f\xf7\x1c\xfa\x2a\x06\xfb\x73\xc4\xd0\xd8\x77\x90\x45\x78\x04\x25\xd5\xb1\xef\x52\xe4\x57\xd7\x1e\x7d\xd7\xa4\xcb\xb2\x74\x07\xf9\xff\xe5\x45\x7c\x7d\x83\xc0\x2c\x0d\x53\x8b\xd1\x63\x7e\xef\xc5\x39\x55\x26\x69\xfa\x86\x7c\xc5\x1a\xdc\x4e\x48\xdc\xd0\xbe\xab\x86\x05\xe5\x86\xa3\x11\x8e\x14\x87\x1e\xf6\xde\x54\x5b\x37\xcb\xa0\xbc\x96\xec\x0f\x39\x13\x6e\xd4\x7f\x8f\xac\xb2\x8d\x15\x61\xae\x4a\x6a\x4a\xe0\xf5\x28\x58\x94\x79\xdd\x58\xb8\x20\x0c\x99\x9c\x72\xc2\xbe\x1e\x99\x5b\x43\x52\x3a\xb3\xce\xe7\x78\x31\x5d\xf6\x75\xb5\xbb\xc5\x71\x5d\xba\x20\xc7\x80\x09\x8d\xf5\x5d\x8f\xbb\x0b\x1e\xe2\xcd\xc5\xff\x1d\xe7\xf7\x0a\x60\xfb\x20\x61\x04\xd1\xf5\x8d\xe5\x20\x22\x7f\xfa\x52\xb6\xff\x9e\xac\xed\x4b\x83\x46\x0a\x16\x17\x0a\x22\x4d\x43\x6f\x59\xb4\xf9\x64\x5d\x70\xb9\xfd\x57\x57\xe6\x82\xc8\xce\x03\xf8\x95\x8a\x2b\xf2\xc9\x5d\x57\x41\xa6\xd6\xec\x8e\x3b\x21\x25\x2b\x5f\x20\x50\x9c\xb6\x2f\x3a\x96\x38\xb4\xb2\xed\xdc\xeb\x18\x72\xbf\x9d\x2f\x30\xed\xb4\x53\x1c\xf0\xd7\xa6\x2c\x6f\xdd\x2d\x4c\xf6\x5b\x5d\x5c\xf7\xde\xe4\xff\xbe\xbc\x81\x5d\x60\xff\x05\x89\x0d\x24\x8d\xb4\x91\xcd\xdc\x41\x4b\xdc\x2a\x2d\x17\x59\xde\xd2\x50\xb1\xae\x47\x3a\x5f\xea\xbb\x11\x62\x55\xc1\xba\x10\xd1\xe5\x56\x97\x0f\x74\x65\xaf\x31\xba\xb2\x55\x08\xed\x18\x77\xc9\xd4\xe1\x44\x6d\xe4\x71\xa7\xfc\xfc\xae\x7e\xd6\x92\xf0\xe1\x8c\x0e\x87\x01\xa1\xb5\x84\xbb\x28\x70\x57\xb6\xdb\xaa\x70\xd8\x11\x6c\x5a\x19\x00\xa6\x7f\xab\x34\x13\x99\xd8\x11\x7b\x29\x70\x98\x37\xed\xd6\xdd\x45\x92\xcb\xc8\x83\x4e\x4f\xdd\xdd\x3b\x2d\xf1\xa9\xee\x9b\xe8\x7e\x71\xa8\xde\x57\x57\xd6\xae\x4b\x4a\xd9\x0e\xb5\xd1\xd7\xcd\x3d\xed\x95\xb6\xd6\x31\x8b\xa2\xdb\x31\x5a\xde\x29\x19\xd7\x2a\xde\xdc\xda\x87\x24\xe1\xb4\xaa\xad\x40\x52\xa8\x2a\x9b\xba\xdb\x8b\xc8\x98\x47\x8f\xc7\x5b\x92\x6a\x4c\xdc\xc5\x76\x59\x25\x22\x2e\x67\xa1\x46\xa0\xbf\xa6\x29\xad\x01\x71\xfd\xf9\x51\x0b\xa9\x9c\x6b\xa5\xa7\x7c\xad\x15\xdc\x78\x29\xff\xb7\xca\xdf\xab\x9d\x30\x65\x61\x15\x40\xb7\x86\xb6\x18\xb2\x54\xcb\x5a\x8e\x4f\x38\x4e\x2b\xe9\x57\xb3\xff\xe3\x00\xeb\x68\xad\x0f\x5b\x79\x2e\x99\xd6\x65\x6c\xea\x66\x76\xc3\x32\xb2\x55\x0d\x7b\xc2\x71\xb4\xc8\x96\x75\xf9\x83\x46\x36\x32\x1f\x28\x1d\x8a\xd0\x6d\xae\xeb\xb2\x25\xcd\x52\xcb\xba\x1f\x54\xb3\xb7\xa5\xb3\x2d\xef\x95\x6c\xde\xb7\x5d\xd1\xe1\x94\xce\xee\xde\xb3\x1a\xbd\x19\xd5\xbd\x29\xaa\x00\x39\x50\xf5\x4b\xdd\x90\x76\x5f\x05\x75\x9b\x88\x5b\x3d\x2e\x52\x98\x68\x4b\xc6\xdd\x76\xbb\x60\x38\xef\x12\x23\xb6\x67\x7f\xaf\x34\xf1\x8e\xc9\xdf\x9a\x21\xb6\xb7\x82\x3b\x66\xe8\xaa\x33\x43\x2d\xff\x03\x55\x85\x57\xa5\xb3\x2a\xef\x94\x2e\x56\x35\x1e\xe8\x2a\xdf\x21\x65\xd4\x95\x3e\x6e\xc4\xad\xd3\x10\x1b\x7e\x9d\xd4\x50\xaf\x85\x55\x5b\x56\x09\x62\xc4\x7b\x9b\x7e\x2c\x7b\x9b\xbe\x90\xad\x96\xf9\x2f\x19\x3c\xe9\xb3\x5e\xa7\xbf\xbf\x13\x5a\xc2\xc7\x36\x67\x54\x0b\x57\xfa\x07\xbd\x23\x85\xec\x64\x60\x5a\xd1\xce\x46\x94\x8e\x28\xcb\x92\x2a\x4a\x62\x8c\xfa\xe5\x33\xb6\x72\x95\xe2\x0a\x03\xc6\xab\x17\x37\x60\x8f\x71\x40\xe6\xe3\xc0\x99\x76\x9a\x19\x94\x4e\x50\xe5\x7f\xf6\x35\xf9\x0f\xee\x2c\xe0\xec\x8b\x05\x0c\xff\x44\x03\x86\x56\x01\x77\x65\xaa\x68\x90\x56\xb7\x58\xf4\x69\x4d\xe4\x52\x85\x59\xac\x90\xa5\x19\xaf\x02\xdc\xff\x8f\xb6\xb7\xef\x6b\x1b\xc7\x16\xc7\xff\xe7\x55\x24\xbe\xac\x2b\x35\xc2\x84\xce\xee\xde\xbb\x76\x35\x59\x4a\xa1\xb4\xd3\xd0\x6e\x61\x66\x76\x36\x78\xe6\x27\x2c\xd9\xce\xc6\x71\x82\xed\x10\x02\xf6\xef\xb5\x7f\x3f\x3a\x92\x1f\x13\x68\x67\xee\x5d\xfe\x20\xb6\xac\x87\xa3\xa7\xa3\xa3\xf3\x28\xa8\x57\xbf\x44\x34\xe6\x28\x6a\xf8\xf3\xe5\x65\x8b\x51\x61\x47\x75\x8b\x07\xff\x87\x2d\xa2\x63\x14\xe1\x51\x64\x0f\xf1\x01\x3a\x46\x02\x8f\x84\x3d\xfc\x5a\xfb\x2f\x7f\x47\xfb\xa2\xd1\xf6\xcb\x46\xcb\xdd\x16\xd4\x52\x2b\x5b\x38\xec\xb4\xb0\xf7\xad\x4d\x1c\x7e\x73\x13\x7f\xfa\x83\x9d\xf8\xd3\x37\xb7\x40\x29\xfd\x83\x6d\x50\x4a\xbf\xb9\x95\xfe\x1f\x6e\xa5\xff\x3b\x5a\xf9\x5f\x74\xe5\x77\xf4\xe4\x8f\xce\x7a\xff\xdb\x1b\x79\xfd\x07\xfb\xf1\xfa\x9b\x5b\xf8\xfe\x0f\xb6\xf0\xfd\xb7\xf7\xe1\x8f\x4e\xc6\xeb\x6f\x1f\xa7\xef\xff\x68\x1b\xdf\x7f\x7b\x1b\xa6\xf9\x2d\x6d\xec\xed\x68\xc4\x34\xbf\xb9\x91\x3c\xff\x83\x1d\xc9\xf3\x6f\x68\xa3\xbe\x40\x3e\x6d\xc5\x53\x7d\xa8\x1c\xdd\xfb\x94\x55\x2f\x23\xaf\x7a\xb4\x79\xf5\x58\x89\xde\xca\x06\xfd\xc2\xf6\x8b\x42\x93\x25\xcf\x9f\x62\xcd\x73\xfc\x39\x1a\x7f\xb7\x81\x64\xc3\x8a\xa8\x5b\x71\x58\x3a\x6c\x0f\x69\x60\x9a\x10\x66\x39\x18\x05\x76\xe8\x08\xa5\xf4\x23\x4c\x33\x34\xcd\x7e\x38\x61\xae\x69\x22\x70\x42\xfa\x58\x60\x27\xa0\xe1\x08\x5c\x94\xae\x1d\xcf\x34\x25\x19\xdf\xa0\x78\x78\x0d\x63\xa8\xed\x25\x35\x8c\x41\x61\xef\x05\xc5\x73\x52\x9f\xaf\x03\x2a\x4f\xbf\x98\xb2\x2a\x81\x2c\xc9\xdc\x51\x57\x96\xd8\x34\xd1\x92\x7a\x8d\x4f\x74\xc6\xd1\x12\x93\x7f\x32\xb4\x24\x3e\x26\x75\xa7\x62\xd3\xec\xc7\x93\xa5\xec\x94\xfc\xa1\xe0\xf6\x95\xca\x47\xf2\x86\xa1\x79\x93\x8a\x6d\x74\x27\x56\xdd\x59\x92\xc6\xfd\xe2\x6b\x32\xaf\x9a\xb1\xde\xed\x52\x15\xa6\x25\xa0\xac\x7a\x69\x68\x5b\x05\xa6\xd9\x0f\x54\xd8\x19\xf9\x03\x03\x1f\x69\x8f\xbb\xc1\x48\x26\xd9\x6b\x07\x71\xe0\x20\x78\x18\xc3\x3c\x44\x0d\xe2\x46\xd4\x80\x07\x0a\x70\x8f\xb4\xce\x7e\x6d\x1d\xf4\x8d\x04\x54\xc9\xa1\x1b\x85\xb2\x65\x4d\x4b\xe1\x42\xbb\x87\xf2\xbd\x2d\x96\x9e\xd2\x02\x07\x0f\x51\x7b\x9a\xbb\xaa\xef\xd2\xd4\x6b\x7b\x8c\xe2\xa5\xbc\x3e\x03\xc7\xe4\x29\xaa\x8b\x56\x8a\xd5\xd9\x89\x62\xf5\x26\x94\x5b\x5e\xba\x1c\xc9\x8c\x19\x47\xe5\x57\xe2\x61\x1b\xca\xb6\x92\x0a\xc7\x7f\xd2\x63\xa9\xef\x29\x83\xe6\x27\xf5\xef\x1b\x6d\x5a\x9a\xcf\x5c\xba\x4e\xd3\x80\x77\x59\x14\xb8\x28\x1c\x70\xeb\x0a\xff\xe4\xb0\xfc\xe2\x97\xde\x6f\x6b\x07\xb0\x30\x07\x9f\x7c\x72\xa2\x7c\xac\xa7\x9e\x30\x30\x59\x30\xfa\x78\x7e\x35\xfe\x68\x1b\x61\x36\x8f\x0c\x72\x72\x79\x69\x1b\x5e\x9a\x1a\xe4\xc7\x2f\x1f\x6d\x63\x95\x44\x06\xf9\x72\x7a\xf9\xe9\xc7\x2f\x27\xa7\xbf\x41\x52\x22\xd2\xc5\x2a\xf1\xc4\x8f\xf2\xd3\x87\x4b\xdb\xf8\x77\x6a\x6c\x3b\x6e\x27\xfb\xf4\x9f\xda\xf3\xae\x0e\x49\x82\x0c\x66\x60\x72\xcf\xe9\x31\x43\xff\xb0\x4a\xb7\xd8\x56\x98\x08\x1f\x3b\x1b\xde\x74\xf3\x5e\x39\x56\x77\x9d\x1f\x76\xfa\x7f\x77\x9d\x87\x56\x01\x59\x5b\x24\x93\xdf\xd4\xc9\x7b\xcd\x74\xb8\x50\x79\xd4\xb0\x0c\x12\x06\xf4\x71\xb3\xd9\x6c\x6c\xc6\x90\x71\xb6\x8a\xa2\x5f\x04\x4b\x0c\xf2\x67\x4c\xb6\xd2\x5e\x91\x21\xc4\x0f\xea\xa6\x1f\x61\x32\x1e\x8f\xc7\xf6\xf9\x0d\x32\xc6\x8b\x38\x0b\x0d\x48\x68\xbc\x43\xb1\xf1\x18\xca\xe9\x94\x57\x50\xac\x99\x72\x24\x53\x38\x87\xa4\xb7\x10\x32\xe2\x15\x26\xcd\xd7\x23\x4c\xce\xcf\xe1\xfd\x7c\xb1\x4a\x52\xf8\xde\x7a\x3f\xc2\x24\x0c\x5b\x19\xc8\xc1\xd1\x2b\x4c\x5a\x69\x47\x2a\x6d\x3e\x57\x6d\x4f\xe3\x55\x26\x54\x5d\x9d\x94\x23\x4c\xd2\x14\x92\x2e\x85\xb7\x88\xb9\xca\xd4\x49\x81\x4c\xa9\x2e\x18\x45\xd3\xb4\xfc\xf0\x1d\x26\xa7\xa7\xa7\xa7\x30\x08\x6f\xd9\xc6\x80\xd7\xea\x0d\x06\x84\xed\xde\xf3\x47\xaf\xbe\x87\xd0\x4d\x00\x2f\xc2\x23\xcf\x3a\x1e\x7f\x1e\x5f\x4e\x86\xae\x5d\x3e\x1e\xb9\x05\xf9\xd7\xd6\xe1\xcb\xe8\xc1\xd1\xcb\xca\x63\x11\xa3\x68\xf8\x9a\xee\xb1\x91\x31\x50\x61\xb0\xd0\xbb\x1b\x34\x66\x59\x38\x19\xbe\x66\x23\xc3\x8f\x16\x8b\xc4\xb0\x0d\x4f\x4c\x23\xc3\x45\xec\xf0\xaf\x43\x4c\x5e\xe1\x81\xce\x64\xb1\x9b\x14\xb1\x3f\xa9\x44\x5c\x90\xf5\xda\x3e\xe3\xe8\x15\x26\xf0\x7b\x84\xc9\x3b\x7b\xea\x91\x77\xfa\x7f\xf9\xf3\x6e\x77\x8f\x86\xdf\xab\x60\x54\xe5\x92\x81\x4e\x9d\x7e\x39\xbe\x38\x1e\x9f\xea\x7e\x55\x6f\x47\x6e\x51\x90\x20\xa0\x87\x08\x8d\xec\xc9\xaf\x9b\x31\x3f\x0f\xe7\x29\xfb\xd7\xe9\xfa\xdd\x0b\x77\x80\x73\x34\xb2\x5f\xc0\x97\x17\x6e\xfe\xe2\x05\x7e\xf9\x02\x92\x4e\x07\xf9\x66\x90\x8f\x07\x39\x1f\xe4\xe7\x83\x3c\x1c\xe4\xf3\x41\x9e\x0e\x72\x96\xff\x2b\x7f\x37\xc8\xd7\x03\x8c\x91\xf5\x12\x1f\x12\x1f\x62\x04\x1e\x8c\xae\xf9\x60\xff\xd0\x39\xde\xbd\x6d\x40\x47\x33\xa0\xb7\x0c\x9d\x61\xc2\xe1\x21\xbd\xc1\xce\x49\x2b\xb7\xf2\x4a\xad\xf7\x92\x90\x79\x1e\x13\xa1\xec\xcd\x6c\xe3\xd4\x20\xbb\x65\x62\x53\x1f\xf5\x3d\xd8\xe5\xa6\xd9\xf7\xac\xfb\x68\x1a\xcf\xce\xe5\x9e\xdf\x66\x1d\xa8\xdc\x06\x03\x77\x18\x93\xa1\x0b\x21\x13\x2e\xd8\x5c\x58\xd9\xe2\xe3\x62\x2d\x92\x13\x96\x0a\x84\xcb\xa0\xaf\xc6\x44\x71\x9d\x7b\x97\x3f\xbd\xd3\x91\xe2\xb4\xff\x48\x17\x7c\xbc\xde\x29\x7e\x28\x02\x4c\xbc\x44\x86\x84\xc1\xc0\x78\x64\x00\x0c\x36\xbc\xda\x2a\xd5\xf1\xac\x45\x8c\x0c\x2f\x9a\x7a\xb3\xb6\xf7\x72\x1d\xb2\xcd\xc7\x79\xce\xac\x76\x70\x54\x88\xe8\x53\x14\x05\x26\xd9\x0d\x7d\x2c\x9c\x39\x7a\x73\xf3\x74\x6c\x3e\x46\x20\x84\x1e\xb3\xf6\x41\x9c\x83\x7c\x88\x67\xde\x68\xc9\xb7\xf6\x53\x91\x21\x8f\xf4\xfb\xa0\x48\x27\x87\xa2\x8c\x48\x6f\xf4\x29\x2b\xe5\x75\x1b\x86\x8c\x38\x38\x30\x06\x1e\xc4\x16\x75\x0c\x4f\x9e\x01\x4a\xee\xca\x80\x7d\xdc\xda\x26\xbe\xac\x39\x0e\xc6\x0b\x2e\x22\x79\xbe\x4f\x84\x6b\x9a\x5c\x7f\x2a\xb0\x93\xdd\x4c\x84\x4b\xb7\x28\xbe\xc6\xd4\x1e\x1b\x64\x99\x4c\x17\xc9\x34\xdb\xd8\x47\xc3\x21\x81\xd1\xf3\xa1\xe7\xce\x1c\xed\x7b\x9d\x3e\x67\x37\xad\xf0\xa3\x55\x85\x3b\xea\xa8\xcb\x95\xa6\xe6\x46\x1c\x7c\x66\x99\x24\x85\x61\x11\x98\x26\x78\xf2\x97\x1d\xd0\xc9\xb5\x4f\x7f\x88\xd1\xd7\xfc\xa2\x7c\x6d\xfe\x3b\xc0\xb8\x1a\xcc\x46\x75\x64\x0f\x22\x1b\x43\x94\x31\x24\x26\x47\x2e\x11\x93\x57\x6e\x45\x6e\x15\x8d\x89\xf1\x9e\x98\x18\x56\x4e\xb8\x33\x47\x13\x23\x4d\x3c\x83\xc8\xff\xa9\xc8\x0c\xa2\xd6\xd1\xae\x78\xe7\xd5\x7c\x31\x18\xec\xe7\xc7\xe6\x6f\x7f\xeb\x0c\x8d\x26\x4b\xb5\x6d\x3d\x09\x28\x73\x54\x53\x6a\xb6\xbf\xb2\x07\xca\x2d\x20\xda\x5b\x00\x44\xc2\x46\xb5\x15\x0d\xe2\x5b\xfb\x72\x99\x4f\x02\x97\x36\x77\x07\x09\xab\x10\x2f\xfb\x8b\x9b\x54\x24\x77\xa2\x1b\x29\x71\x84\xf4\xf0\x04\xc4\xc3\xe4\x67\x06\x74\xbb\x6e\x2e\x24\xfe\x24\x70\x31\xb6\x9b\x10\x57\xd9\x55\x58\x32\x3d\xa0\xb2\x7f\xef\x6f\xe8\xe3\x3e\xe3\xfc\x44\x05\x67\xb1\x37\x10\x21\x43\x12\x90\x65\x4a\x7b\xa1\x31\x6b\x1f\xb4\xe2\xbd\x82\xec\xeb\x98\x37\x75\xc9\x54\x64\x3f\xb1\x68\xca\xe5\xa0\x6e\xc8\x9e\x7c\x7f\x3b\x4d\xe0\x45\x3e\x7f\x4e\xa6\x69\x36\x8d\x85\x7e\xbd\x5c\xdd\xcc\xa7\x59\x26\xb8\xbd\x29\x9c\x77\x2d\xac\xa7\xf9\xd8\x06\x31\x60\x88\x52\xf9\x90\xaa\x10\x94\x75\xe4\x4e\xd2\x0e\x5b\xa2\x70\xe4\xa7\x5d\xe1\x51\x26\xc6\x7e\x36\x9d\x8b\xc5\x0a\x6a\x54\x28\xb5\x19\xf4\x81\x37\x90\x86\x68\xe8\x96\xc0\xe8\x8d\x38\x7a\xa1\xa4\x8d\x86\xfb\x02\x6b\x91\xb6\xcd\x11\x2b\x9f\xf3\x7c\x53\x86\x73\x53\x9c\x68\x7f\x91\xcc\x0d\x52\xed\x65\x36\x32\x4e\x8f\x4f\x0c\x40\xd7\x89\xb8\x5d\x4d\x13\x61\x4f\x74\x26\xe3\xd7\x5f\x47\xf0\xe4\x92\x3a\x3c\x8e\xfd\x8e\x6f\xe3\x75\x0e\x7c\xcd\x3a\x78\xd1\x2f\xb2\xfd\xf2\x65\x7e\xa3\x35\x0f\x68\xa8\x74\xd9\x0d\xf9\xdf\xb0\xe5\xca\xb0\xe2\xe0\x6c\x91\xcc\x47\x86\xfa\x35\xec\x7e\xe9\xe2\xfc\x71\x99\x88\xb6\xa0\xa8\xd2\x09\x9a\xd3\x70\x32\x04\x37\x34\x7d\x64\x30\xc8\x60\x4c\xe3\x9e\xaf\xcf\x81\x46\x44\x18\xb5\x26\x94\xb8\xa6\xb1\xc7\xe6\x96\x24\x4b\xe7\xd3\xec\xa7\xa9\x58\x2b\x6d\x27\xec\xec\xcd\xad\xd6\xc4\x23\x65\xbb\xbc\x85\xe1\x1d\x2e\x0f\x22\xc6\xf9\xa9\x4c\xff\x38\x4d\x33\x11\x83\xb9\x13\x14\x34\x48\x46\xfa\x47\xd8\xe1\x70\x7c\xec\x73\x39\xce\x8b\x4d\xcb\x44\xab\x15\x1e\x15\x2a\x53\x6b\xf5\xb9\xfa\x0a\x49\x77\x1e\xc9\xcd\x81\x42\x88\xc5\x32\xb7\xf6\xf7\x55\xd8\x3a\x39\x6e\xd8\x6a\x6c\x13\x34\xc7\xda\x4f\x6e\x30\x12\x68\xae\xf6\x04\xb6\x37\xa0\xc7\x90\x22\x46\x20\x14\x53\xb5\x7d\x83\xd6\xf6\xd5\xd9\xfb\x80\x6a\x21\xf7\x1a\x93\x76\x63\x56\x67\x13\xa2\xb9\xdc\xe8\x29\xad\xdb\x22\xaa\x15\x50\xea\x7f\x66\x20\xba\xd5\xb6\xb6\xac\xec\x85\x6a\xde\xf9\x8c\xe6\xe4\xfd\x8d\xc6\x0c\x85\x5b\x90\xa9\xa0\x9f\x38\xc2\xe4\x0e\x7e\x25\x1d\x39\x0d\xe8\xe1\x35\x7f\xfc\x73\x71\x30\x19\x1e\xb9\xd7\xfc\x60\x32\x3c\xf8\xce\xbd\xe6\x57\x93\xe1\xc1\x2b\xf7\x9a\xdb\x93\xe1\xc1\x5f\x1a\xbf\xd7\xd6\x35\x1f\xa0\xc9\xe0\xc0\xed\x64\xc8\xff\x85\x0f\xc9\x5e\x0a\xc1\x7e\xfc\x6c\x99\x87\x99\xfe\x97\x62\xfb\xfa\xf0\xfa\x10\x5d\xaf\x07\xf6\xe3\x90\x1c\x15\xd7\xeb\x97\x7f\xc7\x23\x15\x24\x4a\x96\xfe\x9b\x3b\x90\xaf\x87\xf9\xf5\x21\x9a\x5c\xaf\xff\xab\x6f\x5b\xa3\x01\x35\xff\xf4\xf7\xfe\xf5\xc1\xf5\xa1\xab\x02\x04\x65\xb2\xe2\x09\x3b\x78\x18\x1e\xfc\xad\xff\x5f\xfb\x7f\x32\x5f\xbc\x1c\x5c\x1f\xd2\xd1\xaf\xbf\xfd\x7f\x8f\x79\xf1\xff\x5b\x07\xee\xe0\xef\xfa\xb3\x8b\xf4\xc3\x81\xfb\xb2\x4c\x92\x0d\x58\xcf\x7e\xc7\x2f\xf7\x0f\xa7\x64\x55\x86\x81\xbe\x3e\xc8\xaf\x01\x2c\x3e\xc8\xd1\x35\x7f\x89\x64\xc7\x5f\x62\x8c\xd1\x44\x9c\xba\xb2\xff\x92\x0c\xc4\x23\x15\x23\xfa\x33\x87\xb0\x57\x72\x1c\xf1\x81\xfc\x7d\x55\xff\xee\x1f\x92\x7f\x74\x3e\x5f\xf3\xf2\xe7\x4a\xfd\xd8\xea\x07\x8d\xec\xf2\x49\x36\xf7\x78\x44\xbe\x2b\xf0\x08\xfa\x1f\x79\x8d\x2a\x7e\x56\x99\xf6\x0f\xc9\x97\xed\x9a\xf7\x0f\xc9\xa5\x4e\xfd\xa6\x9a\xaf\x38\x7d\xec\x28\x24\x36\x59\x1e\xff\xbe\x69\xbd\x3b\xff\xf6\x90\xc0\x05\xe1\x2c\x13\xf6\xec\x06\x19\x1c\x90\xf6\xde\x67\x4e\x7e\xb8\x41\x9f\x39\x99\x18\xf2\x46\x68\x10\x63\x3c\x36\x88\xc1\xb9\xe1\x62\x02\x49\x07\xe3\xf1\x01\xe7\x06\x26\x50\x44\x62\xee\x03\x20\x9a\x8d\xaa\x1a\x99\xa6\x92\xc8\x3f\xa0\xba\x7f\x70\x55\xb4\x37\x1e\xf7\x38\xef\x9d\x9f\xf7\xe6\xf3\x5e\x9a\xf6\xd2\x34\x6d\x46\x51\x69\x35\x70\x75\x7e\x6e\xcf\xe7\x76\x9a\x5a\x32\x17\x26\xb2\x52\x68\x41\x3e\x18\xe4\x12\x2a\xbe\x94\x70\x9e\x9f\x1b\xc4\x98\x4b\x74\x2d\xef\xe8\x86\xcc\x2e\x61\xed\x94\x5f\x0b\x31\x83\xf2\xf2\xc1\x20\x51\x97\x46\x9b\xfa\x48\xb0\xa6\x56\xa0\x53\xaa\x1c\x3e\x46\x9e\x15\xb1\x34\x7b\xaf\x63\xa6\x28\x95\xb6\xc8\xab\xe2\x4a\x35\x43\x1a\x0f\xb8\xa4\xa3\x7c\xf9\xfb\xca\x25\x21\xe5\x74\xa8\xa3\xcb\x0f\xc9\x8c\x9e\x72\x08\x85\x49\xff\xfb\x25\xf2\x0f\x8e\x30\xc4\x61\xe6\xd4\x6b\xdc\xf4\x48\xa8\x5e\xf5\x0d\x14\xcc\xb8\x20\x41\xdf\x36\x11\x26\x51\x99\xa3\xbe\x6a\x36\xdc\x2a\x49\x92\x4e\x5e\x95\x91\x20\x43\x65\x26\x09\x6f\x78\xe0\x13\xae\xd9\x9f\x45\x29\x9e\xbf\x60\x17\x85\x1e\xf3\x9f\xd7\x6b\x03\x93\xbd\xb9\xbc\x86\xc3\x30\xcd\xd5\x85\xfc\x0b\x8c\xf3\x97\xf6\x7a\x68\x2c\x05\x03\x93\xb8\x1b\x47\xa3\xb9\xec\xde\xf3\x8a\x63\xeb\x74\x97\xa0\x50\xe8\x2f\x55\xda\xbf\xd4\x50\x15\x19\x32\x5d\x25\x6b\xfd\xc5\x1d\x5c\x21\x61\xed\x4f\xd3\xd3\xf9\x12\x4c\x17\x54\xf0\xa0\x55\xa0\x62\xe0\x32\x3c\x82\xd2\x67\xd1\x82\xc9\x37\x7b\x5d\x40\x53\xf2\x20\x07\xc2\x77\x47\xad\xf2\x24\x6d\x55\xa9\x92\x7e\x52\xb1\x5b\x92\xc5\xba\x17\xdd\x20\x09\x9f\x3f\x57\xf1\xd4\xda\x21\xad\x6a\xaf\x78\xb0\x18\x8e\x11\xb7\xe6\xd3\x18\xe7\x39\x97\xd7\x8c\x69\xac\x35\x79\x25\x14\xe0\xaa\x8c\x65\x8b\x24\x95\x59\x76\x05\x8b\x6b\xc1\x91\xe7\x77\x10\xbd\x99\x7d\x4f\x83\xc2\xe1\xf5\xa1\x65\xcc\xa7\x71\xfb\x5a\x76\x8c\x18\x36\x4d\x80\x19\xfc\x26\x37\x07\x81\x1c\x0d\x31\x76\x02\xaa\x3e\xf6\xa7\xe9\x05\xbb\x90\x03\xc5\xec\x75\x03\x28\x15\x90\xb5\xec\x00\xbb\xc7\x79\xbe\x07\x3d\x60\xf7\x65\xd8\xde\x4e\x0f\xd8\xfd\x37\xf5\x20\x92\x3d\x78\x4d\xa3\x4e\x0f\xd8\xfd\xef\xed\x41\xf4\x4d\x3d\x28\x3a\x41\xe2\xbe\x8a\x06\xb7\x56\xe2\x2a\x89\x8c\x4e\x5f\x57\x49\x44\x77\xa9\xb6\xb2\x3c\xaf\xc2\x56\x35\x3a\xce\x71\x9e\xa7\x7a\x45\x72\x09\x92\x98\xb3\xe9\xff\x0e\x28\xa8\xa1\x0b\x16\x24\xfe\x5e\xc0\xb2\x26\x60\x09\xe3\xd3\x45\x57\x34\x48\x04\x7e\xbc\x43\xca\xc6\x16\x9b\x66\x19\xa5\x1d\xe8\x56\x32\x18\xc4\x37\xf8\x19\xfe\x80\xa4\xe8\xf4\x0d\x1c\x82\x86\xcb\x8b\x47\x45\x67\x72\xad\x02\xc2\x4c\x53\x2b\x6d\xaa\xed\x99\x88\x98\x37\xa3\x67\xb7\xeb\xa1\xba\x18\xa5\xb2\xfb\x65\x65\xed\xf5\x74\xa7\xdc\x14\x55\x75\xe1\x82\x40\xe9\x9b\xc5\xfd\xce\x71\x57\xd2\x22\x15\x6d\xfa\x03\x47\x11\x61\xc4\x88\x83\xab\x64\x25\xb4\xc3\x23\xb9\xf6\xab\x57\x1d\x35\xbd\xce\x78\xc6\xa2\xb4\x99\xb3\x7e\x07\xfa\xf7\xc9\xe1\xe9\x0e\x48\xb3\x9b\xbf\x77\x54\xda\x83\x51\xcf\xf2\x8e\x5d\xa9\xd4\xd7\x8b\xaf\x61\x42\xbd\x60\x66\x0c\x31\xb2\x37\xd3\x50\x7c\x0d\x1b\xb3\xd1\xcc\x8e\x0b\x5c\x90\x70\xca\xb9\x88\xed\x0d\xb9\x59\x65\x19\x84\xc6\x57\x44\xbc\xbd\x91\x17\x2e\x21\x7f\x7d\x79\x6f\xda\x14\xe4\xd4\x93\x57\xc9\x9b\x64\xb1\x4e\xc1\x59\xd5\x7e\x1a\x4f\x7d\x5f\x3d\x56\x1e\xac\xb6\x6e\x83\x1d\xe9\x5f\x9b\xdb\x56\x5f\xdf\x46\x9a\xbb\x63\xb8\x8a\x77\xd0\xbe\x4b\x55\x73\x1f\x4d\x86\xae\x69\xa2\x2b\x3e\x39\x43\x81\x1a\x76\x37\xcf\xaf\xb8\xf2\x2a\x58\xe6\x9b\x0c\x5d\xe2\x11\x15\xc3\x1c\xe8\x6f\x72\x07\xd4\x71\x96\xac\x44\x0e\x76\x00\xb9\x24\x21\xf7\x0f\xc9\x85\xf8\x5d\x5c\xa3\xdd\xdc\x41\x3d\xa6\x77\x7a\x8f\x7a\x96\xb6\x47\xc1\xa3\x6d\x26\x96\xe2\xe8\xe8\x85\xcf\xac\x7d\x71\xc7\x22\xe4\x57\x25\x70\x61\x77\xcb\xd4\x3c\x9d\x32\xd7\x2e\xc6\x4e\x59\xe5\x5e\xc9\xdf\x21\x31\xc4\xf5\x2f\x65\x19\x3b\xa2\x19\x36\xfb\x79\xb2\x83\xf3\xa9\x6e\xa2\xf2\x96\xf6\x66\x1a\xf3\x69\x1c\xa8\xbb\xb1\x87\x77\xc4\x0b\x16\x1a\xd2\x46\xee\xf7\xb1\xbf\x40\x82\x48\xa8\x65\x0a\x76\x04\x15\xf2\x0e\xec\x35\xfb\x23\xbf\x74\xf6\x9a\x9c\x49\x1d\x01\x96\xde\xc9\x03\xc3\x30\x6c\x56\xe8\x79\x5c\x42\xa7\x9a\x6c\x0a\xb2\xb3\x8f\xf5\xb4\x6c\x5b\x39\x70\xfc\xe8\xed\xe8\x17\xdf\xee\x17\xaf\xd5\xb7\x7c\x85\x4f\x43\xc5\x63\xd2\x90\x5f\x89\xf9\x52\x02\x81\x25\xf2\xd8\xea\xbb\x4f\x78\x43\x57\x31\xc5\x8e\x4f\x7d\x39\x00\x61\x03\x03\xb6\xeb\xe9\x84\xe3\x7f\x7e\x28\x16\x30\x14\xa9\x27\x1a\xbb\x6e\xef\x89\xc1\xa8\x85\xfc\xed\xc5\xbd\x35\x36\x0d\x3e\x9d\x57\x4d\xd0\x79\x36\x8f\x80\xaa\x6d\xa5\xec\x58\x51\x88\x41\x08\xd5\x26\x9d\x25\x6f\xd3\xdb\x63\x2d\x9e\x5c\x43\xfc\xb9\x35\x04\x80\xd4\x0b\xa8\x65\x10\x2f\xac\x30\x9b\x47\x08\x24\x16\x57\xc9\x2a\xcd\x04\x64\x47\x21\xf2\x30\x06\xb0\xca\x81\x1b\x77\xd9\xfe\xc7\x35\x22\x32\x4a\x34\xb4\xc5\xdc\xd5\x58\x4c\xe3\xef\x93\x90\xc5\x81\x28\x39\x1f\x5d\x3c\x0b\x5b\x01\x76\xb6\x3c\x66\x54\x5e\x68\x1e\x93\x5b\x41\x67\x1e\x32\x94\x28\x29\x55\x2f\x9f\x38\x37\xc8\x10\x93\x44\xbd\x9e\xde\x89\x18\x44\x54\x99\xa0\x17\x0c\x3d\x61\xa6\xe3\x55\xcc\xe1\x93\x68\xc1\x66\x06\xd9\x5b\x63\x87\xb5\x82\x6a\x1b\x71\x70\xe0\xc1\x47\x68\x7a\x25\xe8\xe4\x2b\xc8\x0e\x78\x82\x76\x7f\xd8\x64\x9e\x19\x7f\x6f\x20\xc1\xbf\x0c\x87\x72\x08\x3f\x78\xf4\xb1\x20\xeb\x80\x3e\xde\x44\xab\x44\x16\xf0\x17\xde\x2a\x05\xf7\xd8\x73\x7d\x86\xf6\xf8\x4d\xa4\x1e\xe6\x8b\x55\x2a\xf8\x62\x1d\xab\xa7\xd5\x52\xfd\x2e\xee\x44\xa2\x9f\x56\x99\x7a\x90\xb0\xab\x27\x21\xb7\xb8\x7a\x8c\x04\xbb\x13\xbd\x99\xd8\x40\x15\x33\xb1\x59\x2d\xe5\x7f\xd8\x58\x3d\x75\x5a\xf5\xa0\xf9\x9e\x04\xa6\xe7\x2d\x96\x9b\x9e\xb7\xca\x7a\x4b\x96\x66\xe2\xc9\x98\x9f\xdb\x7c\xed\x0f\xde\xc4\x73\x6b\x19\x11\x31\xf6\x93\xc5\x22\xbb\x54\x6c\xd2\x26\x2f\xfb\x1b\xf7\x52\xc3\x20\x90\xa3\x70\xe2\xb9\xc0\x2d\x96\x13\xbf\x63\xf1\x73\xb9\xf4\x61\x6e\x9b\x78\x4a\xc9\x88\x1a\x93\x16\x20\x8f\x3c\xee\x03\x7b\xcf\xe6\x05\x2e\x9c\xbd\x75\x00\xea\x25\x40\x7a\x86\x2c\x15\x23\x4f\x2d\xbd\xe3\x74\x13\x7b\xc8\xc7\xb6\x57\x71\x13\xcb\x1d\xa0\x59\xd5\xf7\x80\x40\x2a\xee\xef\x8e\x03\x02\x24\x37\x5a\xf2\x2d\x27\x39\x4b\x58\x9c\x7a\xd1\x8a\x0b\xdb\xa8\x58\xca\xd5\xda\xf8\xeb\x70\x48\x74\x0c\xac\x48\xe6\x6e\x8d\xce\xfe\x7e\x16\xdd\xc8\xd4\xf6\xbe\xda\xe5\x7b\xaf\xde\xe0\xc2\x8a\x83\xf7\x7e\x87\x57\x1f\xe5\x79\x63\xab\xc1\x11\x19\x51\xdf\xf1\x26\xa5\xd3\xc6\xc1\xc0\xad\xc4\xf6\x27\x8b\xb9\x12\xdb\xf7\x44\xcc\x7b\xb2\x36\xbb\x67\x0c\x54\xbd\x03\xb9\x26\x9c\x80\x3e\x7a\xd1\x22\x16\xb6\x57\x38\xcc\x82\x65\x27\xa1\xb2\x14\x97\x0f\x61\xc2\x71\x81\x6d\x34\x33\x4d\x34\xd3\xbb\x0b\x61\x32\x53\x32\x05\x12\x99\x26\x8a\xac\x92\x55\x08\x57\x7d\xf5\x21\x90\xf9\x69\x72\x83\x02\x0b\xaa\xc7\x84\x59\xb0\x90\xd1\x4c\x07\xfd\x6f\xcc\xaa\xaa\xad\x90\x38\x16\x4a\xab\x89\x72\xc9\x06\x66\x28\xd3\xa7\xc3\x17\x71\xbb\x12\xa9\x62\xe2\xc7\x5e\xb8\x48\x2e\x3d\xb9\x45\x01\xeb\xef\x98\xc5\x27\xb0\xfe\xe9\x49\x93\xa8\xf9\x73\x67\xce\x76\xce\x70\x03\x19\x70\x66\xc5\x8b\xc5\xf2\xd9\x83\x43\x62\xeb\xf7\x31\x54\x92\xe7\xbe\x95\x26\x1e\x09\xa8\x6f\x2d\xe2\x68\xc1\xb8\xc4\xc4\x24\xa2\xbe\xc5\x56\xd9\x22\x85\x0e\x6c\xed\x06\xb9\x20\xe6\x24\x21\x99\xaa\x31\xa5\x43\x72\x47\x56\xe4\x96\x3c\x34\xb7\xc2\xca\x34\xd1\xaa\x9e\x91\x55\x19\xa4\xdf\x34\xd1\x5d\x73\x46\xee\xf4\x87\x5b\x70\x48\xa4\xe6\xe0\x76\x7b\x0e\x56\xe5\x1c\xac\xe8\x2d\xb9\x55\x65\x80\xf6\x56\x4b\xb1\xe1\x20\xb7\x62\xe9\x37\x4a\xf7\x8f\xe1\xca\x1c\x99\x66\x5f\x68\xd4\x1f\x81\xc6\x1c\x2e\xc8\x92\x0e\x06\xa9\x13\x8e\x10\x43\xa1\xdc\xfd\x9d\xa6\x15\x33\x63\x49\x29\x4d\x4b\xac\x24\xac\xfd\x58\xac\x11\x76\x12\xab\x9c\x7c\xca\x1c\x46\xb3\xa6\xe0\x8a\xe1\xc7\x07\x84\x9d\x3d\xae\x17\x2d\x53\xe8\xc5\xd7\xf5\xcf\xe5\xd9\x7b\x47\x3d\xe7\x96\x32\xe7\xce\xda\x17\x73\x89\x05\xf7\xa7\x6a\x62\x34\x55\xf1\x71\xc1\xb8\xe0\x86\x66\xed\x00\xd8\x41\xc7\x21\x13\x00\x66\x9a\xe8\x01\x1c\x1f\xec\xae\x06\xbc\x8a\xcb\x5a\x70\xf1\x74\x26\xbd\x7c\x55\x73\xd8\x86\x0a\x1b\xfd\x6b\x48\xd2\x5c\xf2\xf9\x77\xd0\xae\xed\x05\x7d\x20\x57\x74\xe3\x34\xd7\x0b\xb1\x7b\x9e\x57\xaa\x72\x87\x97\x3f\xbd\x3b\xd4\x77\x6b\x79\x4f\x6b\x04\xd1\x1f\x21\x6e\x09\xb8\x81\x63\xc2\xd0\x58\x52\x3f\x25\xb4\xe4\x9f\xd8\xf2\xc2\x69\xc4\x2f\x16\x5c\xa4\xb8\x33\x2d\xdc\x62\xcb\xa5\x88\x39\x84\x61\x7d\xf4\x57\xd9\x2a\x11\x9f\x01\x9d\x94\xb8\x94\x17\x72\x04\xb8\x22\x59\xea\x6a\x65\x3b\xda\xad\x1b\xc4\xf5\xc0\x92\x76\x81\x01\x79\x50\xa4\x40\xbd\x6f\xff\x32\x24\x7b\x5b\x9b\xb0\x21\x8a\xdd\xb6\xdc\x6c\x92\x24\xef\xe3\x69\xa6\xc5\xfe\x1f\x7f\xdf\x0d\xe8\x9b\x09\x25\x75\x74\x69\x36\x04\xaf\xc8\x66\x49\x32\x49\x72\x8c\xf4\x0c\x12\x52\x6d\x94\xdd\xa7\x54\xdd\xdc\xa7\x73\x12\xd0\x70\x74\x25\xcf\x2d\xff\xd9\x7b\xec\xd4\x47\xfd\x3b\x60\xfb\xa9\x2d\x33\x71\x1d\x66\x9a\x73\xc4\xf4\x79\x1f\xb4\x4f\x7b\x66\x9a\x9e\x36\xdb\x19\x5d\x21\x86\x6d\xd6\x30\xaf\xf5\x8a\xaf\xf3\x1b\x75\xd6\x0f\xc0\xc1\x52\xfe\x72\xfc\x8a\x51\xf9\xcc\x1d\x9e\xe5\x79\xbf\x74\x98\x0b\xd7\xb2\xf9\x0d\x95\x14\x07\x30\x84\x0c\xf2\x03\x87\x37\x1d\x10\xc1\x20\xbf\x30\x78\x5f\x6a\xc9\xae\x41\x3e\xa8\xec\x7c\x9a\x64\x1b\x83\x8c\x39\xdd\x83\xef\x02\xc8\x63\x83\x44\x37\xf4\x3d\xaa\xe6\x02\x93\xfb\x40\x5d\x0a\xb4\x68\x57\xdc\x7b\x02\xb4\xed\xce\x59\xcc\x23\x75\x41\xaf\x04\xc0\x0d\xa1\x70\x45\xf1\x34\x64\xc1\x0d\x09\x6f\x83\x0e\x32\xf6\x6f\xbb\x82\xe2\xad\xbb\x7e\xc9\xaa\x51\x0a\x9a\x4a\x77\x71\x2e\x01\xfc\xa9\x8e\xe4\x50\x73\x41\xa8\x8a\xce\x6a\x5d\xb0\x8b\x32\xca\x7c\xc2\xd6\xe3\x3a\xff\x5a\x27\xd7\x3c\x34\xfa\xa8\xc3\x55\xec\x33\x49\xe5\xfc\xb4\xe3\x83\x5e\x38\xb4\x8c\x8e\xde\x98\xdc\x3a\x6d\x07\x25\x5f\x7f\x5c\xc5\xd9\x62\xe5\x85\xe0\xe9\x4f\x27\x55\x09\x47\x65\x2b\x7a\x9e\xea\x2c\x30\x51\x75\x06\x80\xb9\xfe\xaa\xe7\xb9\xfe\x2e\x24\xe6\xac\xa1\xde\x4f\x57\x9e\x27\xd2\x66\x3f\xd4\x4c\xd3\xbd\x72\x14\x40\x5b\x20\xd6\x8c\x3e\x38\x4d\xfb\x47\xb8\xb2\xc9\x6f\x4a\x27\xe9\xfb\x1b\xa0\xf3\x96\xd4\x87\x4d\x0f\x43\x8a\x49\x42\x97\x5a\xd0\x4e\x32\xba\x24\x29\x4d\xc8\x0f\x80\x7d\xe5\x11\xab\x7c\x4d\x94\xc0\x88\xec\x93\x56\x32\xed\x6c\x3d\x74\x6b\xed\x57\x91\xed\x21\xee\x62\x20\xe4\xd8\x5e\xc2\xff\x72\x4f\x36\x9a\x1d\x18\x08\x1b\x92\xbe\x69\xa7\xed\xef\xef\x2f\xb1\x81\x9d\x8c\x76\x49\x73\x4e\x97\xb2\x53\xf7\x10\x47\x19\x71\xea\xc9\xbd\xde\xb0\x87\xef\x46\x54\xbd\x47\x32\x3f\x1e\x05\x88\x91\x47\x59\xad\x7d\xdb\x5c\x74\x05\xb6\xe5\x09\xd9\x4a\xc3\x45\x51\x05\x5b\x2e\x87\xa4\x29\x3b\x58\xc4\xa5\x1f\xfd\x0a\x64\x72\xcf\x90\xbc\xed\x97\xb3\xa3\x99\x7d\x9b\x72\x7a\x9f\xc4\x03\xbd\x3b\x15\x2b\x5f\x47\xeb\x2e\x3d\x50\xe4\x39\xeb\x03\x8f\x4f\x76\xf9\x81\x0e\x9d\x73\x8e\x1e\xbd\x2c\x89\xc0\xba\x97\x94\x5b\xd4\x16\x64\x2f\x15\x59\x57\x75\x44\x5e\x57\xfa\xc3\x82\xac\xe2\xed\x8f\x5c\x44\x22\x13\x3d\x99\xa7\x20\xe5\xb6\xb6\xc3\xd2\x07\x71\x53\x7d\xa4\x89\xff\x6f\x1b\x2b\xf8\xb6\xbd\xbe\xc3\xd6\xdd\x52\x90\x0f\x37\xd8\x09\x6b\x95\x09\x41\x7e\x61\xb8\xa8\x6b\x07\x45\x95\xdd\x55\x0f\xdb\x55\x1f\x6d\x55\xfd\x0b\xeb\x54\x2d\xdb\xba\xed\x88\xde\xcb\x36\x50\xb3\xd5\x1f\xab\x4d\xdb\x6e\xb9\xb1\x73\x6f\x3b\x5b\x3b\xb4\x52\x91\x95\x0d\x49\xe4\x5a\x7d\x35\xe0\xb5\x7c\x69\x36\x73\xf5\x7c\x23\xc3\x4e\x23\x47\xdb\x8d\xb4\x9a\xa8\x5b\xac\x1a\x91\x84\xf1\x0d\xf3\x66\x15\xd7\x99\x36\xdd\xfa\x05\x96\xc7\x62\x4f\x44\xe8\x07\x18\x97\x1a\x97\xca\x41\x8a\x94\xee\xb5\x52\x09\xa9\xca\xcb\x7c\x6a\xb9\xd6\x03\x56\xca\x60\x9a\xfd\x50\x52\xb4\xf6\x46\xc9\x73\x2d\xbe\x69\x27\x97\xde\xe6\x6f\xbb\x28\x9b\x78\x32\x0d\x6a\x27\x9c\xb6\x0a\x11\x80\x51\xe3\x0e\xd3\xac\x9f\x2d\x16\x45\x8b\xb5\x8e\x21\x0d\x93\x9d\xac\xe2\x1a\xb3\xab\xcd\xfb\x44\xdf\xea\x13\xc8\xc7\x8f\x22\xcf\x3d\x15\x9f\xa5\x0d\x2e\xf5\x47\xcc\x5e\xb7\x51\x40\x1f\x02\xbc\xcb\x8a\xd7\xc9\x34\x13\xd0\x83\xab\x05\x1c\x75\x48\xdd\xc2\xaa\x23\xa9\x09\xcc\x96\xb6\x7e\x43\xdb\xa9\x44\x5f\xfd\xa1\x33\x47\xb7\xcd\x53\x8b\xec\xba\x2c\x69\xff\xa1\x5c\xc2\x11\x3a\x01\x30\x0d\x1a\x8e\x3f\x46\x7b\xfd\xa1\x8d\xa0\xa2\xce\x51\xd7\x61\x76\x06\xc8\x2b\x95\xd1\x40\xeb\xa6\x82\xc8\xaf\x20\x9a\xb8\x44\x54\x60\x3d\x59\x5b\x75\x17\x9f\x81\x01\xb6\xa7\x1c\xec\xcc\xf2\xbc\x7f\x8f\x66\x70\xb5\x68\x0a\x58\xbb\xf5\x18\x64\x86\x9d\x00\x85\x64\x8d\x1d\x5e\x7a\x2b\xec\x5e\xb5\x02\x75\x0f\x2a\xda\x8c\x5f\xb9\x4d\xe0\xcb\x11\x2e\xb0\x62\x1c\x6a\xcf\x29\x33\xb9\x36\x10\xdf\xbe\xb3\x85\xa0\x10\xb1\xc1\x76\x88\x64\x7d\x55\x9f\x03\x35\x26\x12\xc5\x3e\xc0\xf4\x36\x14\xe9\x94\x6b\x95\x2a\x6b\xa8\x3c\xae\x43\x46\x20\xd8\x1f\x06\x03\xed\x1d\xe6\xc1\x69\xb6\x55\x2f\xf5\x5a\xc2\x97\xe7\x86\xa2\x9c\xe4\x18\xdd\xa1\x15\xc6\x81\xbe\x86\x69\x37\xfd\x7a\x1a\x57\x79\x8e\x9e\x5c\x0c\x5b\xd3\xb7\x73\x7e\xf6\x9e\xcc\x8f\x89\x6c\x74\x85\xc9\x4a\xaf\x9a\xfe\xb0\xc0\x08\x8f\x04\xc2\x23\x1f\xc1\xd8\x1c\xe9\xff\xe5\x6a\xee\x68\x92\xd1\x5d\xdd\xac\x70\x8a\xd3\x44\x36\x53\x1f\x3d\xbd\x0d\xfb\x70\xa2\x19\x5a\x47\x52\xe6\x0b\x59\x7a\x01\xe1\x3b\xeb\x9e\xe0\xa7\xcb\x53\xd8\xe3\xe5\xc1\xa0\x03\x4d\x37\xf0\x3c\xa9\x49\x9c\x54\x1c\xc7\xfc\xa7\x5a\x84\xec\x3c\xf1\xa9\xdb\x35\xef\x39\x0c\x39\xf5\xd1\x8a\xde\x21\x0f\x8f\xd6\x76\x7f\x88\xeb\xa8\xfc\x43\x87\xbf\xbe\xad\x2f\x23\xda\x8e\x9d\x0f\x06\x78\xea\x23\xa8\x52\x7f\x9a\x70\x17\x79\x98\xc8\x3a\xf0\xe3\x4a\xae\x68\xf0\x7f\x59\x74\x11\xaa\x69\xee\xc2\xa7\xa6\xd9\xc1\x58\xe0\x52\xd7\xd9\x53\x7a\x2a\x6d\x34\xea\x7f\x3b\x1a\x6d\x11\xd3\x1e\xf8\x52\x6a\x37\xe3\x6d\x21\x45\xf1\x34\x52\xdc\x81\x9a\xbd\x6f\x42\xcd\x0c\x3f\x6e\xe3\x64\x36\xf2\x76\xe0\xe4\x67\x9a\x2f\xea\xb9\xde\xfa\xdc\x9c\xec\x74\x8b\xda\xd3\xe8\x78\x9b\xe4\x6f\x81\x98\x25\x9b\x47\x86\x70\xe1\x01\xd7\x87\xe3\x47\x0f\x64\xee\xcd\xc3\x7f\xc7\xbe\x81\x3d\xd9\x3a\x88\x99\xd3\x9c\x9f\x7e\x63\x82\x56\x4b\xb9\x30\x3f\xc5\x5a\x3d\x33\xcf\x65\x57\xb9\xb8\x59\xac\x62\x4f\x54\x75\xab\x91\x44\x1e\x2e\x9c\x3d\xdd\xdf\x27\xf2\xb4\x54\x47\xf5\x7a\x6d\x9d\xb2\x8e\x30\xcd\x63\x24\xac\xb2\xbc\x52\x3a\xaf\xdf\xc9\x4f\x48\xe0\x11\xa7\xc2\xfe\x09\x89\x89\xe7\xc2\xf3\xc4\x73\xe1\xd5\xe0\x0a\x4c\xc3\x55\x74\x78\x2b\x05\xb7\x70\x03\x1f\xfd\x40\x03\xd4\x26\x89\xb6\x74\x56\x0b\xc2\xb1\x1d\x55\xcc\xea\x5d\x59\xec\x5d\xfa\xaf\x3b\xeb\xc2\x85\x53\x4b\x47\xbb\x1b\x3d\xd3\x8a\x5e\x5e\x9f\xb6\xf7\xce\xd6\xfa\xef\x7c\x57\xf4\x83\xdc\xc1\xed\x6c\xbb\x36\xd3\x8a\xae\x9d\x1a\x4f\xdc\x36\xaf\x99\x44\xd0\xf2\x04\x23\x3e\xf5\x1c\x71\x70\xe0\x60\x9f\xf2\x89\x70\x91\xdf\x26\xdb\x94\xc9\x22\x6a\x2d\xa0\xbd\x67\xf0\xa4\x4f\x1a\xc4\x1c\xd9\xb5\x21\x7d\xb2\xa9\x43\x7f\x7a\x05\x2e\x5c\xf2\x03\xf0\xd4\x76\x89\x34\x76\x4a\x84\x9b\xc2\xf9\x8a\xd7\x63\x68\xed\x6a\xf9\xa0\x13\xf5\x0d\xb1\xad\x70\x7d\x1f\x34\xb8\x46\x3b\x25\xcb\xde\x13\x9a\xd7\x1d\x72\xb8\xad\x92\xfd\x14\x77\xab\x21\x69\x01\x35\x6b\x8f\x2a\x8d\xe3\xa0\x75\x65\x70\x82\xd6\x9d\x16\x85\x93\x57\xae\x69\xca\xff\xd5\x56\x01\xe1\x62\x43\x2d\x39\x68\x59\x0d\x68\x65\x9a\xe6\xb8\x05\x95\xee\x31\x33\xcd\xe0\x79\x9d\xe3\x00\x6c\x2f\xe4\x8a\x7d\x52\xbd\xb8\x5b\x43\x5b\xbd\x38\x00\x57\xd8\x7b\xcb\x45\x9a\xd9\x6d\xb9\x69\xa7\xff\x53\x1f\x05\x0d\xec\x13\x6c\x23\x1f\x2c\xac\x45\x8c\x76\x7c\xe8\xf6\xee\x49\xcc\xd4\xd1\x7b\x91\x5d\xba\x89\x56\x89\xd1\x72\x65\x17\x54\x97\xa2\x3c\x47\x6c\xb7\x88\x2a\x68\xde\xa8\x1a\xe2\xaa\x76\x7a\xa5\x4a\x4d\x36\x01\x3d\x44\xd7\xe9\x20\xff\x15\x6b\x4c\x04\x6f\xfb\xf8\x90\x7c\xfa\x2a\x2f\xb3\xb1\x46\x9b\x7c\x32\xcd\x13\xdb\xa5\x94\xd5\x60\x88\x94\x1c\x8f\x90\xa1\x92\x99\xea\x59\xed\x6d\x80\xb1\x73\x8c\x5a\xb9\xeb\x21\x1f\x3d\xf1\x41\x1f\x04\xb4\xaf\x63\x86\x6e\x65\xa0\x57\x4f\x94\xac\xfc\x69\x6e\x82\x96\xd7\x77\xfe\x4c\x23\xa5\x4f\x18\xa3\x67\x14\xb8\x0c\xf0\xfd\x4c\xf6\xc2\x2d\x0a\x72\xac\xd8\xcf\x4d\x49\x51\xbd\xbf\x4f\xbf\x2b\x30\x79\x08\x14\x23\xb2\x44\x07\x98\x1c\x97\x0a\xdd\x93\xeb\xf4\xfa\xd2\x1d\x8c\x30\x1a\xd9\xd7\xe9\x80\xa5\xd7\xe9\xa0\x4e\xc4\x23\x95\x1c\x24\x8b\xd5\xf2\x3a\x1d\xdc\x6c\x76\x7e\xe6\xd3\x94\xdd\x44\xe2\x3a\x1d\xac\x43\x11\x77\xb2\x5c\xa7\x03\x7f\x91\xc8\xc4\x91\x8d\x26\xd7\xfb\xd7\x6b\x57\xfd\x7f\x09\x66\x86\xd7\x48\x81\xd1\x4c\xbf\x4e\x5f\x92\x9d\xa9\xd7\x18\xe3\xeb\x74\x30\x6d\xb7\xa1\x80\xc8\x12\xe6\xcd\x76\xc1\xb8\x7f\x48\xde\xb7\x45\x16\x3b\x15\xa1\xb6\x6c\xe9\x44\x23\xc5\xaf\xd8\xa7\x41\xe9\xff\x5b\x44\xc2\xcb\x4a\x7a\x42\xb9\x44\xac\xce\x00\x6d\x05\x1e\xb1\x1b\x11\xd1\x3d\x6d\x04\x0e\x83\x48\x85\x7a\xd1\x43\xc6\x69\x50\x5f\x77\x6a\xd1\x37\x5c\xeb\x52\xd3\x7c\x0b\x2a\xd4\x1e\x65\xca\x65\xb6\xd7\x74\x3e\xc6\x7b\xd3\xb8\xc7\x30\xdb\x76\xa3\x6e\x9a\xc6\xbe\x62\xdb\x37\x4c\xd9\x34\x87\x9d\x37\x0e\x1e\x25\x28\x63\xda\xac\xed\x38\x50\xb7\xc9\xb9\xbe\x41\x3e\x04\xc8\x98\x8a\xfb\xa5\x41\x18\xb9\x67\x88\x6b\xc7\x9c\x09\x9d\x4f\xfe\xe2\xe6\xf9\x7c\xf2\xdf\x2e\x49\xe9\x7c\xf2\x57\xd7\x61\xf4\xb0\xc7\xd2\x9e\x16\xd5\xcc\x27\x43\x49\x8f\xcc\x27\x47\xca\x4a\xe9\x8e\xce\x27\x7f\x73\x1d\x4e\x3d\x34\x9f\xbc\x72\x47\xf2\x83\xad\xfd\x8d\xae\x25\x6a\xf6\x80\xfd\xc6\xc9\x8a\xde\xc9\x97\x3b\x4c\x6e\xe9\xdd\x68\xa7\x1a\xd7\x0a\x09\x79\x43\xdc\x65\xd9\xfe\x8e\x81\x48\xe7\x81\xee\x2c\x78\x8b\x18\xb9\x87\x14\x79\x29\xd5\xa0\xc8\x5e\x1c\xb9\x98\x1c\xc3\xfb\x77\x2e\x68\xa2\x90\x4f\xf0\xf6\x67\xfd\x76\x0e\x6f\xff\xe3\x62\xf2\x86\x3e\x16\xe4\x9e\xa6\x1d\xc8\xde\x4c\x52\x97\x7a\xce\x9b\x49\xd2\xf0\x68\xf6\xa6\xb0\xf7\x9a\x30\x76\xbf\x56\xb1\x8e\xe5\xa2\x7d\xb3\xb1\xef\x08\x68\xc6\xc0\x8b\x72\xac\xfc\x20\x53\x7e\x96\x33\x23\xd7\x49\x6a\x7b\xe8\x7c\x87\x8a\xc4\x44\x0e\x3e\xcb\xf3\xe6\xba\xa0\xe0\xe9\xda\xaf\x09\x9c\x80\x0e\x9d\xe0\xb5\xef\x04\x83\x41\x65\xe7\x47\x29\xe5\xa3\xc0\xe6\x93\xc0\x25\x33\x7a\x8f\xd8\x24\x74\x49\x88\x49\x48\x6f\xd5\xf3\x0c\x8c\x95\x40\x28\x03\xeb\xa2\x31\x5e\x21\xdd\x20\x41\x66\x98\xd4\x19\xe4\x78\x81\x50\xfd\x53\xeb\xcb\xac\x45\xe7\xc8\x1e\x69\x14\xd4\x14\x8b\x95\x80\xeb\xc0\x91\x8f\x05\xe1\xf4\x1c\x09\x2c\x7b\x45\x02\x1a\x23\x2e\xc1\x2a\x3d\x94\x69\x87\x65\xa1\x33\x2f\x7b\xb3\xa4\x9c\x52\x1a\x8c\xe6\x76\x30\x99\xbb\x24\xa1\xf7\x88\x4f\x96\x2e\x59\x62\x92\xd2\x35\x12\x24\xc1\x64\x49\x6f\x51\x2a\x1f\x32\x80\x3d\xc1\x64\x45\x8f\xd5\x43\x02\x30\x27\x32\x73\x2c\xd6\x3d\x1f\x2d\x49\x4a\x32\xb2\x22\x49\x15\xc5\x5a\x92\x1e\x93\xa5\x4b\xd3\xd2\xf4\x6d\x9a\x89\x79\x6a\x33\xd2\x40\x02\x63\xb6\xb4\xbd\xba\x87\x67\xc9\x62\x5e\x9d\xca\xbb\x96\xab\x37\x79\x40\x0c\xbb\x05\xd9\x0b\x1a\xb7\x16\x59\x4c\x55\xb0\xab\xcc\xdd\x88\x33\xcb\x5b\x2c\x37\x88\xd5\xc8\x46\x92\xe4\xb5\xd6\xaa\xfc\x53\x57\xd2\x2d\xe7\x08\xea\x18\x31\xe4\xd2\xd8\xf5\x0d\xd0\x53\x1d\x85\xbb\x75\x32\xb7\x35\x47\x4a\xca\x53\xf5\xde\x20\x5b\xfa\xa1\x0d\xfa\x47\xfb\x36\x69\xe2\x38\x65\x59\xa9\xb9\xe7\xd4\x73\xbc\x1a\x19\xb2\xea\xd1\x61\x0a\x7b\xf6\x29\xf5\xd4\x93\x69\x22\xfd\x44\xf5\x37\x1d\xd8\xbb\x54\xc2\xd3\xa9\x72\xd6\xee\x34\xe1\xae\xe3\x93\x43\x51\xa5\xf0\xcc\x9a\x88\xbb\xc1\x6a\x5a\xd6\xc2\x51\xcf\x34\xcf\x24\xed\xa0\x4d\xc3\x31\x6c\x15\x4e\x3d\x5b\xde\xb0\x94\xc2\xc8\xc5\x82\x0b\xd4\x3f\xc2\xc4\x1b\x31\x6b\x1a\xa7\x22\xc9\xde\x08\x7f\x91\x08\xc4\x89\x27\x27\x44\xc9\x98\x4f\xc2\x69\xc4\x01\x73\x56\xb2\x91\xaa\xc1\x04\xee\xdc\x7a\xe9\x7b\x0e\x73\xb0\x47\xf7\x18\x78\xa0\xbe\x9c\xde\x44\xd3\x38\x20\x3f\xdf\xc8\x8d\xcc\xa8\x57\x97\x4a\xeb\xad\x7f\x6b\x9a\xb7\x93\xa1\x2b\x37\x8b\x69\x9e\x6b\xca\xd2\xcb\x73\x0e\xbc\x11\x87\x81\xce\x3f\xc4\xc7\x66\x2a\x3e\xb6\x67\x9a\xff\x23\x13\xa0\x67\x57\x92\x38\x74\x30\xa3\xad\x26\x2b\x47\x07\x75\x8b\x77\x15\xdf\xe9\xde\x34\x57\x56\x22\x18\x2f\x2d\x1c\xef\xe9\x89\x55\x6f\x69\x54\xc6\x38\x87\x0d\x1c\x4c\x86\xae\xe5\x4f\x93\x34\x83\x41\x70\x3e\x49\x4a\x77\x99\x08\x10\xbd\xdf\x62\x87\x53\x50\xea\xbc\xb7\x60\x2b\x59\xfe\x22\x39\x65\x5e\x5b\xaa\x0b\x98\x8a\xcc\x1c\xa6\x4e\xce\x11\x0a\xa9\x37\xd1\x2f\x2e\x09\xf3\x1c\x85\x74\x89\x02\x18\x03\x52\xaf\x60\xe2\x63\xc2\x69\xd8\x1a\xc9\xb0\x5a\x38\x90\x87\x34\x6b\xa2\x8f\xf0\x5b\x4a\xff\xc3\xd2\x8b\xb7\xea\x56\x95\xdc\xe8\x4c\x81\xc9\x8c\x2e\x51\x68\x35\x0b\x92\xd0\xda\x55\x90\x94\xdb\x8e\x08\x4c\xe4\xe2\x9f\xe1\x27\x72\xd2\xbd\x59\x13\x66\x6c\xa3\x59\xbb\x7b\x9d\x5a\x38\x6d\xe7\x2f\xb0\xa3\x1d\xb2\xcc\xc4\x26\x45\x1e\xde\x39\xa8\x09\xf2\x26\xcc\xdd\x09\x00\xb0\xb6\xe5\xa4\xac\xeb\xfb\x2b\x50\x04\xeb\xb6\x29\x8f\x3a\x41\xda\x4b\x01\x9d\x58\xfa\x28\x1b\x81\xae\x7b\x88\x6d\xb9\xea\x42\x9c\xe7\x68\xdd\xd1\xd0\x0f\x31\x69\xb4\x80\x15\xbe\x5a\xd3\x99\xa4\x17\xa6\x3e\x5a\xab\x16\x56\x74\x26\xd7\xf4\x8c\x46\x56\xe9\xa3\xa0\x3a\xe2\x6e\xc9\x03\x1d\x92\x0d\x0d\x94\x9e\x47\x22\x62\x24\x0f\xf1\xd2\x9b\xb7\xf3\xf0\xfa\xd8\x79\x50\x0c\x40\x60\x78\x6e\x26\x0f\x6e\xe9\xf4\xf5\x96\x6e\x2c\x71\x8b\x1e\x74\xf4\x1b\x68\xfc\x13\xed\xf7\x6f\xc9\x39\x7d\x83\x3a\xfb\x1b\x3b\xe7\xb2\x1c\x32\x46\x86\x56\xcb\x23\x27\x94\xa3\xc8\xaa\x68\x69\x12\x40\x84\xca\x11\x5a\x7f\x4d\xd3\x00\xdc\xe0\x97\xca\x06\x64\x65\x01\x87\xac\x2b\x3d\x62\xf8\xf1\xb9\x2d\x51\xa1\x4d\x8d\xc5\x40\x7e\x25\xaf\xad\xf2\xbe\xb7\xab\x00\x62\xf4\xde\xda\x7d\x28\xc9\xb9\x34\xcd\x7e\x8d\x72\x25\xc2\xd8\x51\xff\x10\x2e\xb6\x8d\xe9\xde\xe6\x48\x07\x30\x48\xea\xc0\xf6\x74\x44\x25\xb2\x05\x46\xfb\xb0\x9c\x30\xb7\xdb\xbc\x26\x1a\x00\xe0\x1d\x27\xa2\x72\xe5\x5a\xeb\x85\x90\x6a\xcd\xc9\xa2\x8a\xd3\x74\x22\xaf\x8f\x5a\x56\xd2\x12\x9b\x7d\x90\x13\x54\x9f\x99\xa5\x59\x62\x33\xd1\x9a\xb3\xe5\x2e\xb5\x92\x13\xab\x43\x9b\xa9\x30\x54\x4d\xd6\x40\x63\x3d\x83\xf2\x50\x6b\x76\xb7\xa9\xb6\x67\xa6\xc4\xd9\xf3\xc0\x8b\x49\x39\x2a\x23\x40\xa4\xf5\x79\xd6\x18\x44\xd3\x44\xe7\xb5\x8a\xdd\xa7\x3c\xbf\xad\xdf\xea\x52\xed\x32\xc4\xdb\x35\xc3\xad\xd4\xec\x38\xcb\x92\xe9\xcd\x2a\x13\xc8\x28\xf3\x18\xa4\x7e\xc4\xd8\xae\x25\xe4\x9f\x46\x1d\x18\x9a\x48\x9e\xa8\x75\x21\xa9\xe8\x5b\xed\x1e\xa2\xae\xb0\x3f\x94\xa9\xca\x0e\xaa\x95\x8a\x6d\xd4\xe9\x4b\x55\xe5\x79\x55\xe5\x48\x52\xe6\x3b\xeb\x3c\xdf\x59\xe7\x57\x16\xf0\xd6\xe2\xd4\x2b\xda\xad\x0e\xc4\xd6\x52\x1d\x75\x20\x6c\x0c\xc1\x73\x8b\x17\xc6\x6d\xe7\xb2\x45\x5b\x9c\x91\x1d\xab\xae\xb5\x80\x8b\x16\x4f\xa1\xbd\xfe\x9c\x4f\x23\xd4\x80\x8e\xa1\x5b\x8c\x3c\x39\xda\x5d\xfd\x73\xc5\x62\xc1\xd8\xbe\xdd\x85\xfa\xee\x50\xad\xce\xdf\xd8\x57\x00\x58\x7d\x31\x21\x77\x5a\x2d\xf0\x8d\x68\x38\xfc\xe9\x6a\x21\xc9\x0f\xc1\xb6\x02\xac\xa2\x54\x0f\x1f\x8b\xc3\x80\xf8\xf4\xf0\xd7\x75\x28\x62\x34\x9e\xc6\xab\x14\x8f\x90\x35\xc0\xfb\x87\x25\x39\xda\xa6\x2b\x4b\xd7\x84\x25\x91\x32\x53\x0c\x31\x15\x7f\x47\xd9\x13\x28\x6f\x7a\x91\xe5\x2d\x56\x71\x46\x96\x34\xd2\x5a\x6e\xb2\x09\x49\x8b\xc0\x2a\x69\x26\xca\x9b\x40\x64\x2d\x7c\x3f\x15\x59\x9e\x0f\x49\x4a\x43\xcd\x47\x5a\xe2\x3c\x7f\x2c\xc8\x5a\x52\x36\xc7\x72\x3f\x65\x2c\xc9\x2e\x37\xf3\x9b\x45\x04\xba\xad\x9e\x25\x62\x5e\xbd\xdf\xd2\xe3\x41\x3c\x30\x0e\x8c\x41\x32\x58\x91\x07\x5a\x6a\xe5\xde\xb7\x63\x49\x34\xb8\x58\xbe\x32\x7d\xf6\x74\x5c\x4e\x8a\xf8\xe4\xc8\x1d\x19\x07\xca\xc7\xd4\x19\xe2\x93\x57\x2e\x26\xe9\x84\xbb\xb4\x0d\xf7\xc4\x73\x01\x25\xee\xcd\x51\x4b\x66\xc9\xf1\xe3\x5a\xe6\xf6\x50\x1d\xd5\x45\x90\x5b\xc8\x1b\x96\x4b\x2e\x26\x5d\xd9\x84\x68\x9a\x88\x82\xef\x1f\x25\x08\x13\xd8\xf1\xf3\x5c\xf4\xa6\x71\x2f\xcd\x73\x04\x51\x42\xa3\x55\xc2\xa2\x13\x96\x21\x71\x90\x60\xec\x08\x4a\xe9\x7d\x9e\xfb\xa6\xf9\x13\xba\xaf\x24\x68\xf7\xf2\xf8\x7f\x40\xb2\xa6\xf5\x44\xb8\xe4\x0e\xf9\x78\xa4\xbd\xb0\x7b\xa6\xc9\x2d\x2e\x6e\x56\x01\xf8\xd0\x81\xfa\xa6\x0f\xc2\xee\xc5\x8b\x5e\xb2\x8a\x44\x4f\xc7\x73\xe9\xf9\x8b\xa4\xf7\xc2\x18\x88\x81\xf1\x42\x05\x7c\x5b\x62\xf2\x40\x37\x64\x86\x30\xb6\x1f\x68\xd5\x1f\x5f\x12\x45\xf7\x54\x94\xfa\xd9\x27\xa2\x65\x2e\xb0\x53\x09\xbb\x9c\x01\xe0\x8e\x7d\x11\x4b\xc1\x32\x03\x13\x41\xb7\x94\xe6\x66\x64\x4e\x96\xf8\x91\xc9\x51\x15\xce\x4c\x1e\x95\x93\x99\x4b\xe7\xc0\x31\x9e\x82\x25\xbb\x27\x1f\x81\x48\x84\xf0\x23\xf0\x1a\xb1\x34\xa3\x1e\xa5\x74\x79\x70\x24\xdf\xe7\x53\xce\x23\x41\xfb\xa8\xcc\x9a\xe7\x3a\x97\x62\x3d\x73\xae\xbe\x89\x3b\x11\x43\x2d\xc8\x33\x8f\x30\x2e\x76\x5e\xca\xf6\x7e\x9f\x05\xc0\xd1\xe9\x77\xad\x7b\x5c\xa5\xf4\xff\x9c\x6d\x44\x68\x95\xe3\x42\xa2\x27\xf5\xf6\x55\x06\xbb\x07\xc1\xca\x7b\x86\xa4\x8e\x03\xcd\x54\xea\x30\x19\x9f\xe2\xdd\x3d\xc1\x76\x7c\x92\xa5\x07\xee\x25\xb4\xf2\x83\x66\x57\xf1\x92\x5b\x15\x28\x4a\x2d\x06\x82\x92\x2c\xe9\x6c\xf2\xca\x25\x09\x9d\x4d\xbe\x73\x49\x4a\x67\x93\x3f\xbb\x64\x46\xe3\x0a\x3e\x34\xb2\xd1\x75\xfa\x52\x31\x19\x07\x38\x6f\xf2\x23\x07\x1d\x4e\xe4\x40\xf3\x20\x77\xb5\x3d\xe5\xd0\x7a\x8c\x35\xcf\x6b\x06\xfc\x24\x80\x61\x03\x30\xc8\x12\x89\x69\xa2\xfe\xe1\xaf\x93\x7d\x15\xf8\xe9\x37\xb7\x7c\x1a\x1e\xfc\xed\x37\xf7\xe5\xbe\xe6\xa0\x25\x38\xcf\x0f\x7f\x85\x8d\x92\x57\x81\x8d\x20\x20\x51\x7e\xad\x56\x5b\x7e\xad\xd7\xcf\xb5\x5e\x53\xf9\x35\x2c\xa3\xfc\x1a\xd6\x4e\x7e\x2d\xd7\x52\x7e\xad\xe5\x15\xf9\x35\x88\x96\x64\x61\x8e\xeb\x46\x70\x0d\xfe\x0d\xe3\xe0\x5f\xd5\x20\x7b\x9a\x33\x07\x2a\xfd\xe4\x98\xdc\xd3\xc7\xfd\x29\xb7\xdf\xb1\xc2\x49\x47\x2b\xca\x50\x8a\x6d\xf4\x04\x93\xed\x1d\x83\x30\xc0\xc7\xbb\x74\xec\x58\xb1\x6d\x59\xc3\x40\x19\x15\x14\x51\x57\xa6\x89\x6e\x69\x5b\x05\x1c\x3f\x6e\x4c\x13\xdd\x4f\x36\x2e\xf5\xb0\x73\x3f\xb9\x73\x29\x77\xee\xcb\xfd\x26\x9c\x8a\x27\xc8\xc8\x3d\x2e\x4a\x27\x35\xe0\xa1\x92\x6d\x9f\x5b\xcb\x2d\x23\x81\x19\x59\x92\x0c\xcc\xfe\xc8\x8a\xdc\x43\x41\x72\x42\xde\x91\x0f\x64\x4c\xde\x93\x33\xf2\xd1\x49\x60\xa3\x27\x2e\x55\x3c\xb0\xb7\x0c\x85\x18\xbf\xa7\x21\x59\xd2\xdb\x3c\x7f\x50\x7a\x24\xf2\x56\xf2\x51\xa2\x26\x48\x3c\x26\xef\xe9\xc4\x25\x21\xce\xb4\x67\xac\x90\x7c\xac\x38\xb2\x1f\x9b\x1c\xd9\xf7\x8a\xdc\xfd\x88\x9d\x13\xfa\xbe\xbc\xba\x7c\xa4\x10\xf6\x00\x9d\x60\xb8\xed\xcc\xe8\xd0\x99\xbd\x3e\x71\x66\xea\x36\xf3\x8e\x86\x94\xd2\xf7\xa3\x99\xfd\x7e\x32\x73\xc9\x07\x1a\x4e\xde\xb9\x64\x4c\x97\x48\x42\x3d\x93\x87\xc4\xd8\xc5\x67\x54\xfe\x10\xad\x65\x08\xcf\xf7\x93\xb1\x4b\xcf\xc8\x47\x89\xb4\xce\x14\x33\x79\xea\x23\x99\xaa\xd7\xc0\x1c\x7d\x24\x7b\x1d\xa5\x6c\x66\x01\x81\x60\x9a\x28\x9d\x30\x6b\xca\x5d\x2a\x09\x5f\xc2\x91\xc1\x57\x4b\x91\x1a\x24\x20\x63\xf2\x01\x3b\x50\xeb\xe3\x94\xdb\x63\x6d\xa3\xb6\x26\xca\x6a\x67\x5d\x38\xd0\x70\x7f\x58\xc8\xce\xac\xe0\x04\xc1\x8f\x12\xbe\x95\xeb\x8c\x69\x72\x83\xce\xb4\x05\x8e\xe3\x69\xeb\x8f\x31\x8c\xf4\x58\xd2\xaf\x6a\xf1\x4a\x82\x04\xeb\xb1\x20\x4b\x3a\x2e\x47\x6a\xf6\x7a\x09\xc3\x32\x9e\xcc\x5c\x6b\x7f\xff\xe2\xdd\x6f\x5f\x4e\xc7\x9f\x7e\x3a\x7d\x4b\xfb\x43\xe7\x4c\x81\xde\x30\x35\x29\xbe\x79\x38\xcf\xa8\xec\x10\xd1\x55\xe0\xc7\x15\xcd\x1c\xbe\xe8\xad\xe8\xaa\xc5\x2a\x59\x87\xd3\x48\xa0\x95\x69\xae\x5a\xad\x63\x47\x77\x69\x32\x74\xfb\x74\x25\x69\x3c\xa0\xc3\x1a\x7d\x55\xb6\x20\x6f\x50\x86\xb1\x93\xd1\x32\xbb\xfe\xd5\xdd\x3b\x38\x72\x1d\x81\x34\x0c\x64\x46\xee\xc8\x07\xb2\x21\xef\xc8\x09\x56\x7a\xb1\x4d\x1b\x15\x79\xde\xeb\x9c\x94\x2b\x9f\xb5\x92\xf0\x69\x52\x73\x0e\x9b\xb0\x86\x05\x96\xef\x78\x95\x61\xca\x5e\x0b\x1a\xbf\x04\x9f\x32\xe7\x7e\x72\x06\xb3\x7e\xf6\x14\x24\xd8\x49\xe9\x7d\x69\x16\xf2\xf6\xab\x16\x6b\xad\xd3\xab\x7b\x78\xed\x30\x01\x01\x3b\xca\xda\xd8\xec\x32\x5c\xb4\x23\xee\xb2\x89\x37\x32\x1a\x34\xad\x61\x1b\xa5\x44\xda\x70\x11\x07\xed\xcd\x70\xca\x85\x41\x1e\x33\x31\x5f\xc2\x07\x91\xda\x65\xf2\x41\x09\x6b\x51\x92\x0c\xeb\xff\x74\x17\xce\xa7\x5c\x6c\x77\xa1\x02\xda\x6e\xf5\xe6\x0f\x75\xe1\x14\x84\x81\x3b\xcc\x4b\x14\x10\x5c\x8e\x63\xb6\x89\x44\x4b\x67\x8d\xe3\x47\x6e\x9a\x4c\x29\x5c\xce\x11\xef\xd0\x92\x9e\xe5\xa5\xa9\x04\x06\xa2\x6b\x83\xb5\x86\x4c\x60\xb8\x00\x4d\x41\x4c\xce\xbe\x61\xdc\x2a\xcb\x94\x4b\x08\x31\xf6\x84\xb4\xb7\x71\xa7\x51\xc1\x96\x58\x2a\x52\xfa\x28\x7b\xf6\x84\x8d\x50\x15\xc3\x05\xe2\xc2\x44\x10\x9f\x5d\xfe\x8b\x77\x1f\x51\x8d\x06\x94\x35\x8a\x27\x90\x47\x8e\x70\x51\xb4\x2d\x1b\x15\x94\x79\x2e\xac\xc5\x36\xa1\xcc\x89\x70\x38\x1d\x02\x86\x16\x34\xaa\x74\xce\x5e\x0b\x67\x30\xe0\x98\x95\x7a\x37\xd1\x84\xbb\xd8\xe1\x55\x8e\xaa\xc8\xac\x5b\x44\xdb\xd2\x25\x37\x28\x98\x70\xb7\xc4\x89\x33\xf9\x5c\xa3\x30\x07\x2a\xa4\xa5\xad\x62\x8a\xb5\xd2\x65\x8c\x22\xc2\x31\x2e\x82\xba\x99\x59\xfd\x88\x42\xea\xab\x71\x9c\x18\x7d\x63\xb0\xe7\xb9\x79\x5e\x25\x8c\x40\x75\x68\xde\xb4\xa0\x03\xfd\x8f\x9a\x94\xac\xd7\x12\x2c\xe7\x59\x15\xb4\xaf\xb4\x21\xd2\x94\xa6\xc3\x27\xfc\x1b\x6c\x3c\xd5\xb8\xfe\x1c\x8a\xd8\x06\x03\x4f\x1d\xf9\x46\x9d\x17\x1c\x34\x30\x14\x62\xe2\xc4\xaf\xcd\x3c\xc1\x3a\xb6\x5c\xe2\xef\xb4\xbc\xfb\x79\x6a\xf7\x55\xd3\x1e\xea\xd7\x7a\xd9\x3d\xbf\x69\x1b\x7e\xda\x45\x63\xd0\xb8\xd5\x84\xdc\xa5\xcf\x7c\x03\x59\xdc\x33\xdf\x75\x87\x1b\xd0\xfb\xa4\xb4\x24\xf0\x94\x19\xfa\xf9\x7f\xb4\x83\x7b\xdb\x3d\x1c\x19\x8d\x2e\x8d\x8c\x4e\x1f\x46\xc6\xb7\x00\xfd\x41\x01\xdd\x30\xfd\x3b\x3e\x79\xc2\xfe\x4c\x7b\x62\xed\xfb\x9a\xf6\x80\xdb\xd7\x55\x55\xb7\x81\x91\xb1\x48\x96\x21\x8b\x0d\x72\x2f\x29\x4a\xec\xf8\x2d\xbe\x9c\x57\x5a\xfe\x39\x5e\xc3\x98\x0f\xa0\xf8\x77\xcb\x28\xf7\x84\x79\xe1\x57\x2d\x14\xdb\xd2\xad\x6d\x75\x28\x89\x01\x8d\x4c\xdc\x67\x87\x71\x70\x50\xd6\x6c\x50\xca\x41\xc1\x46\x52\x49\xcb\x55\x86\xb8\x35\xe5\x04\x9c\xc9\x80\xb3\x13\xc5\x11\x09\xe8\x63\x8b\xf5\x6d\x6f\x88\xe6\xd3\xd8\x9b\x82\x9c\x04\x1d\xef\x9f\xcf\x69\xbc\xd4\xdc\x12\x30\x3e\xf1\x41\x56\xf9\x23\x73\x44\xa9\xe3\x72\x92\x25\x11\x7d\x13\x38\xc2\x5a\xc5\xb3\x78\xb1\x8e\x15\xdf\x89\xbe\x41\x4f\x0a\x02\xb1\xb3\x27\x2c\x05\xcf\x8f\xad\x32\x2d\x5c\x40\x8d\x51\xcf\x18\x00\x69\x3f\x30\x7a\x23\xa3\xdb\x02\x70\xca\x3c\x90\x95\x6a\x36\x5d\x27\x83\x16\xc8\x81\xba\xa4\xf7\x8c\x7e\xd5\x6e\x58\x36\xa0\xc1\xa4\xce\xc5\x27\xa0\x94\x45\xdb\x20\x95\x88\xc3\x34\xbb\x5f\x4a\xae\x58\x01\x95\xee\x60\x08\xee\x6c\x0b\x55\x77\x17\xd5\x15\x28\xbe\x8b\xc5\xeb\x81\xaf\x0b\x96\xea\x62\x1e\x1e\xa1\x27\x2a\x24\xe5\xa0\x10\x43\x3b\x22\x16\x6a\x59\x97\x5d\xd8\xe6\x6d\x96\x8c\xd7\x6e\xde\xaf\xb5\x61\x18\x18\xdb\x3b\x47\x57\xa9\xb0\x0a\x8b\x71\xde\x1d\x54\x38\x34\xaf\x18\x62\xe4\x85\x5e\x30\x3d\xe5\xc5\xe6\x05\x76\x4a\x2d\x72\xd4\x02\x43\x5e\xd2\x4a\x86\x56\x20\x32\x50\xea\x18\x3a\x3e\x6c\x0f\x46\xf8\xe0\x48\x0f\xba\x04\x74\xab\xb5\xca\x2c\x4d\x17\x05\x5f\x7e\x47\x72\x60\x46\xc8\x2f\x67\x8d\xe9\xc1\xda\x6e\x7a\x8d\xb1\x5d\xb6\xe4\x1d\x00\xcb\xa4\x31\x0f\xbb\x24\x32\xfd\xb2\x25\xb9\x53\x67\xcf\xeb\xa6\xb5\x9c\x21\xed\x92\x7a\x37\x68\x99\x93\xe0\x79\xa3\x5b\xa1\xc5\x5c\xb5\x91\x89\x72\x3b\xd3\xdc\xc6\xbe\xe3\xef\xf2\x55\x15\x36\x96\x1c\xf2\x5b\xdc\xe0\xd2\x3f\x16\x28\x4f\xb7\x76\xd5\x2e\x7d\x5d\xbf\x2b\x91\x6b\xca\xf2\xe0\xa0\x75\xf6\xa6\x3e\xe2\x95\xe4\x4d\xb6\xfd\x0c\xfb\x1c\x24\x3e\x9e\xe5\x4f\x63\xde\x54\x33\x68\x51\x14\xe5\x4a\x56\x08\x33\x0d\x4b\x89\x7c\x43\xa4\xc3\x0a\x27\x7c\x4e\x70\xc2\x35\xd2\x93\xcb\xe3\xb9\xf6\x40\x50\x56\x89\x37\x8e\x11\x57\x33\xad\xdb\x03\xcd\x64\xed\xcf\x82\x5e\xb0\x8b\x9d\x5a\xca\xe0\xc8\xbc\x31\xc2\x79\x3e\x83\x50\x30\xcd\x41\xcf\x73\x14\xd0\x7f\xb3\xf6\x4c\x10\xbf\x21\xda\x74\xa2\x56\x25\x05\x28\xac\xfe\x0e\x29\x61\xa1\x8c\x92\xb7\xdd\x2a\x7d\xed\x44\x7b\xde\x2f\x16\x1c\x26\xda\x2f\xa1\x1e\x13\x75\xb4\xb0\xca\x9d\xdc\x5e\x7f\xa8\xac\x64\xf4\xaa\x65\x48\xe9\x5a\x20\x0c\x2e\x52\xfc\x3c\xe7\x6d\xd7\x56\xe5\xe7\x4a\xdf\xa7\x7b\x78\xb5\x79\xf5\xcb\x1a\xe5\x28\x3b\xa6\x65\x73\x03\x34\xe4\xcf\x70\xa4\x86\x2c\xdd\x25\x94\xc2\xa6\xa9\xdc\xbd\xb5\x84\x95\x4a\xab\xcd\xab\x89\xc7\x25\x9d\x5b\x9c\x65\x0c\x19\xfb\x2a\xe3\x49\xb5\x5b\x0d\x9c\xe7\xf3\x2a\xe7\xd3\xb9\xe4\x86\x5d\x9a\x66\x0b\x48\xe5\xe3\x54\x07\xc7\xdc\xe5\x39\xaf\x39\x49\xc7\x28\xc1\xb2\x7c\x13\xfb\xa1\x04\x3b\x09\x65\xce\x4c\x51\x2f\x8a\x97\x34\xaa\x57\x63\x87\x53\xdd\x19\x70\x89\x22\x95\x66\x73\xa7\x56\x0f\xeb\x1a\xed\x59\x35\xbf\x1a\x3d\xec\x3c\x76\x3b\xc5\xab\x22\x7b\x4f\x4c\x49\xa5\xeb\x1b\xed\x88\xd0\x50\x93\x52\x47\x05\x26\xef\xbc\xaf\xa9\xfc\x56\x04\xec\xe8\xab\xbe\x9d\xc0\x43\x88\xce\x0f\x42\xcb\xb6\xe7\xc6\xea\xcb\xae\x6b\x5f\xbf\x2e\x99\xe7\x4d\xd7\xa4\x1e\x2e\x48\x73\xea\xca\x5c\x1d\xc2\xa4\xe5\x10\x53\xf6\x9f\x9c\xfd\x1f\x76\xad\x5e\x47\x3e\x09\xc1\xd9\x82\x0e\x29\x20\x77\xd9\x52\x3d\xb6\x16\xd8\xb2\x8c\x38\xd0\x5c\x62\xef\xc0\x95\xe7\xf0\x75\x89\x3d\x40\xff\xa7\x11\x91\xc0\xf8\xd5\x18\xb0\x81\xb1\x2f\xe9\xbe\xa9\x8f\x94\x44\x13\x02\x47\x37\xa8\xf0\x32\x96\x01\x46\x46\xbc\x48\x44\x00\x3c\xed\xbd\x50\xa9\x80\x02\x25\x4e\x59\x9e\x6f\xf9\x08\xed\x78\xd1\xd4\xf0\xed\xbe\x81\xb7\x46\x3f\xcf\xef\x20\xf2\x85\xaf\xbd\xf3\xa9\xb5\x45\xde\xff\x67\x46\x97\x1e\x1c\x75\x5d\xa6\xaa\xb1\x6a\x8f\x24\xa3\xbf\xc8\x23\xa6\x14\x7f\x31\x3c\x3a\x38\xb2\xd9\x57\xfa\x5c\xd5\xb5\xbb\xd7\xc3\xef\xfd\x3c\xef\x74\xbd\xf4\x89\xf4\x9a\xfa\xaa\xdb\xe7\xff\xa1\x6e\x0f\xbb\xae\x6e\x77\xf5\xda\x87\x5e\x4b\x92\xad\xdb\xd1\xbd\x2d\x47\xbb\xcf\xf5\xf4\x89\x4e\x7e\xaf\x3b\xe9\xfc\xc3\x62\x71\xb0\x8a\x58\x62\xdd\x2c\x16\x59\x9a\x25\x6c\x39\xf2\x16\x71\xba\x88\x84\x15\x2d\x02\x64\xfc\x7c\xfc\xe5\xe2\xfd\xc5\x3b\xbb\x77\x95\x4c\x05\xef\x65\x8b\x5e\xb4\x60\xbc\xa7\x4b\xf5\xe6\x8b\x44\xf4\xb2\x90\xc5\xbd\x45\xec\x09\xcb\xc0\x36\xf2\x04\xc2\x44\x08\xc4\x19\x26\x9c\x59\xf3\x05\x5f\x45\xe0\xbf\xef\xa3\x96\x46\x4f\x5c\xd2\x88\xed\xd4\xee\x76\x79\x2e\x79\x30\xf5\x03\x6a\x18\x5a\x8f\x8d\x59\x20\x68\xf8\xe4\x23\xc3\xaa\xf4\x22\x0f\x8e\x24\x49\x3a\xb4\xcb\x5d\x76\xe0\x1d\x1c\x15\x9a\xb4\x40\xb5\xf8\xfb\xf1\xed\xf1\xd5\xe9\xd5\xfb\xf1\xe9\x6f\x67\x9f\xbe\x8c\x8f\xaf\x2e\xed\x47\x08\x33\x64\x4f\x8c\xe3\xb1\x41\x8c\xcf\x63\xc3\x25\x6f\x8f\x7f\xb1\x8d\xcb\x55\xcc\xd9\xa6\x37\x5e\xc0\xcf\xd5\x4a\xa4\xf2\xf7\x67\xc1\x63\xf5\x74\x15\xae\x12\x78\x38\x4b\xa6\xf2\xe7\x92\x65\xab\x84\xb3\x4d\xcb\x77\x5a\x19\xea\xc7\x9e\x18\x4a\x0f\xb1\x77\x12\x26\x53\x70\x47\x75\x1c\xc7\x8b\xde\xdb\xc5\x7c\x1a\x4f\x0d\x57\x66\x84\x4c\x27\xf2\xcb\x5b\xc3\x25\x67\xef\xbf\x5c\x5e\xbd\x3d\xfe\xe5\xd3\xd9\xcf\xa7\xa7\x3f\xd8\x7f\x25\xe3\x4f\x17\x57\xe7\xb6\xf1\x81\xc5\x2b\x96\x6c\x7a\x67\xe2\x26\x81\x87\x31\x4b\xbc\xb0\x77\xbc\x4c\xa6\x51\x6f\xcc\x36\xbd\x0f\xab\x58\xf4\x3e\xac\xa2\x4d\xef\x78\x15\xac\xd2\xac\x77\x29\x96\x19\x04\x89\xeb\x7d\xf2\xb2\x85\xfc\xbd\x58\xdc\xa9\x84\xb7\xc2\x83\x87\x16\xcc\x7b\x97\xe7\x9f\xbe\x5c\x95\x63\x20\x07\x40\xf6\x5e\xf6\x5c\xf6\x59\x76\x57\xf6\xb5\x55\x04\x4a\xd4\x00\x4a\xe0\x24\x5c\x12\xaa\x12\x26\x09\x92\x84\x48\x82\x23\x01\x91\x40\xc8\xf6\x5b\xf5\xc8\xae\x9e\x5e\xbc\xfd\x72\x7c\xf1\xee\xd4\x9e\xfc\x85\xfc\xd5\x25\xfe\x2a\x8a\xde\xb2\x4c\xd8\xc6\xe9\xe9\xe9\x29\xe9\x8d\xc7\xe3\x71\x8f\x93\xde\xc6\x20\xd1\x22\x0e\xd4\xa7\x46\xe2\x5c\xf0\xe9\x6a\x0e\x49\x90\xd2\x0b\x95\x7b\xf4\x1e\x2b\xbf\x55\x45\x5a\x25\xae\xa6\x73\x61\x1b\x8d\xcc\x46\x1a\x2e\x92\xcc\xb0\x8d\xf1\x21\x3f\xdc\xa8\x7a\x64\x3a\x24\xeb\x3a\xe0\x8b\x4e\xaa\x2b\xe8\x31\xa3\x20\x17\x3f\x8e\xdf\x9c\x7e\xa9\x57\xd9\xc9\x8f\x5f\xbe\x9c\x5e\x9c\xfc\xf2\xdb\xe5\x2f\x63\xdb\xd8\x37\xc8\xdb\xd3\x93\xf7\xe3\xe3\x8f\xbf\x5d\x9e\x7e\xb6\x0d\xcb\x20\xef\xbe\x7c\xfa\xf1\xb3\x7a\x23\x06\xf9\x7c\x7c\x75\x75\xfa\xe5\xe2\xd2\x9e\x3c\x06\x97\xd3\x07\x61\x7f\x47\xa2\xf2\x61\xce\xee\xcf\x12\xe6\xc9\xa7\x69\x0c\x4f\x43\xf9\xf4\x3e\xce\xec\x23\x12\x8b\xe0\xb3\xc4\x43\x07\x86\x7c\xbc\x5c\xf9\xb6\x61\x90\xe5\x22\x85\x44\x78\x52\x69\x05\xd9\xae\x78\xaf\xac\xf9\x55\x55\xf3\xab\x1d\x35\x5f\xaf\x86\x43\xf6\xe7\x5d\xf5\x97\x5f\xea\x56\xdc\x82\x4c\xb9\x6d\x88\xf8\x60\x95\x1a\xa4\xd2\x4e\x68\x05\x00\x2a\xb1\x21\xcb\x87\x24\xa4\xc2\x59\x53\x4a\xe5\x29\x19\x52\x88\xce\x35\x9f\xc6\x48\xe2\x00\xf2\x1d\xc6\x0e\xa4\x2c\x17\x6b\x74\x34\x6c\xc4\x1d\x3c\x02\x53\xc0\x21\xa5\xe1\xc8\x58\xc4\xc2\xb0\x8d\x45\x16\x8a\xc4\x28\x0a\x5c\xb8\x98\xbc\x41\xff\xc4\x70\x4d\x6a\x5d\xb6\xfe\xc5\xd1\x3f\xc9\x83\xa7\xec\xe6\xd1\x7a\x1a\xf3\xc5\x9a\x94\xf1\xe7\xb0\xd3\x57\x29\x15\x52\xdc\xdf\xf7\xd2\x25\xc2\x56\xbc\x78\x1f\x47\xd3\x58\x00\xb7\xde\x34\x3b\xb9\x34\xd7\x08\x95\xf5\x58\xa1\x60\x1c\x57\x1c\x98\x17\xaf\x53\x59\xac\x07\xb1\x01\x15\xf3\xca\x4b\x53\xe3\xfb\xbf\x7b\x21\x4b\x52\x91\xf5\x8c\x1f\xaf\xce\x0e\xfe\xc7\x70\x26\x71\x70\x7d\x6d\x83\x1f\x4a\x97\x4c\x4a\x97\x94\x2e\x99\x48\x52\xf8\xa0\xf1\x7e\xdf\x78\xb1\xca\x47\x62\xd5\xc9\x90\x1a\x4e\xb9\xb0\xe3\x45\x86\xac\x8e\x80\x02\x3f\xf2\x69\xba\x8c\xd8\xc6\x8e\x17\xb1\xe8\xf5\xa7\xf3\xe5\x22\xc9\x58\x9c\x39\x05\x40\xe0\x2f\x92\x79\x95\xe5\x26\x5a\x78\x33\xa7\x90\x75\xe8\xe2\x07\x69\x38\x9d\x3f\xde\x4d\xd3\xe9\xcd\x34\x92\xf7\x1a\xe5\x19\xb9\xcc\xe3\x85\x8b\xe4\x71\xb9\x48\xa7\x72\xc8\x6d\x76\x93\x2e\xa2\x55\x26\x9c\xe2\xf5\x21\x0c\xc3\xf7\x2f\xb0\xb3\x77\x78\xf8\x5f\x3d\x15\x56\x70\xcc\x96\xcb\x69\x1c\xfc\xf8\xe5\x23\x2d\x87\x73\x3e\x8d\xad\x7f\xcb\x33\x7c\xb9\xf7\xff\x02\x00\x00\xff\xff\xa9\xe5\x1a\xf2\x17\x41\x02\x00") +var _uiLibAngularMinJs = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\xcc\xbd\x79\x77\xdb\xb6\xb6\x38\xfa\xbf\x3f\x85\x85\xa3\x1f\x2f\x50\xc1\xb2\x9c\xf6\x4e\xa4\x51\x5d\x4f\x99\xec\xd8\x49\x9c\xa1\xa7\x8c\xda\x05\x82\xa0\xc4\x8a\xa2\x64\x92\xf2\x24\xea\xbb\xbf\x85\x0d\x90\x04\x25\x25\xe7\x9c\xdf\x7d\x6f\xad\xd7\xd5\x58\x24\x88\x79\xd8\x13\xf6\x70\xf8\xd3\xde\xfe\x49\x3a\x5e\x26\x3c\x7b\x7b\xbb\x7f\x7f\xd4\xff\xa5\xff\x9f\x7b\xfb\x58\x90\xfd\x17\x83\xa3\xc1\xc1\x8b\xc1\xd1\xbf\xef\xbf\x9a\xcf\xc7\x89\xa4\xfb\x6f\x52\xd1\xdf\x9f\x14\xc5\xc2\x3d\x3c\xe4\xba\xcc\x5f\x79\x7f\x9e\x8d\xf7\xf6\xaf\x62\x21\xd3\x5c\xba\xfb\xef\xde\x7c\xda\xfb\xe9\x70\x0f\x47\xcb\x54\x14\xf1\x3c\xc5\x1f\xe8\x6f\xf4\x81\xac\xfe\x6d\x99\xcb\xfd\xbc\xc8\x62\x51\xfc\x9b\x57\x7d\xdc\x7f\x83\x03\xb2\xca\x64\xb1\xcc\xd2\xfd\xba\x04\x59\xdd\xf3\x6c\x9f\x33\x9e\x8d\x97\x33\x99\x16\xb9\x3f\x18\x51\xe1\x09\x86\x7c\xd4\xc3\xc1\x30\xe8\x21\x17\xb9\x08\x91\x1e\xef\xa1\x51\xd5\x21\x99\x65\xf3\x2c\xef\xb7\xfa\x75\x08\xc3\x39\xac\x4a\x1d\x9a\x52\x5e\x34\xcf\x30\x67\x47\x1e\x3f\xae\xdb\xe8\x27\x32\x1d\x17\x13\x8f\xf7\x7a\x64\x25\x98\xe8\xe1\x23\xc6\xf8\x10\x0d\x91\x8b\x1c\x44\x7a\x68\x81\x7a\x98\x1f\x1c\x91\x1e\x62\xc8\x53\x1d\x0c\x99\x4c\xc5\x3c\x94\x9f\x3f\xbe\x39\x9b\xcf\x16\xf3\x54\xa6\x05\x95\x9e\xb4\xfa\xcd\x47\x9e\x64\xa8\x1a\x18\x62\xac\x78\x5a\xc8\x79\xb4\x2f\x87\xb2\x5f\xcc\x6f\x8b\x2c\x4e\xc7\x98\xf4\x33\xb9\x48\xb8\x90\xf8\x70\xff\xdb\xca\xff\x96\x7f\xbb\x1d\xfd\xd4\x3d\xa4\x08\x11\x17\x2d\xd3\x50\x46\x71\x2a\x43\xbb\xb0\x95\xea\xa2\x1c\x6a\x41\x9d\xe6\xf3\xdb\xdb\x9b\xeb\xbe\x4e\x8e\xa3\x27\x2c\x89\x2b\x3d\xd1\x63\x21\x96\x64\x6d\xe6\xfa\x42\x4d\x16\x16\x64\xbd\xae\x97\xe2\x9c\xab\xb5\x88\x23\x9c\x2e\x93\x84\xb1\xa0\x2c\x7f\x57\x29\x44\x97\xe8\x1c\x79\x7a\x51\x90\x9e\x27\x14\xa7\xfb\x37\xc1\x5f\x52\x14\x38\x20\x8e\x13\x54\xd3\xb7\x67\x1a\x08\xfa\xe9\x3c\x94\x9f\x9e\x16\x92\x31\xb6\xe0\x8e\xc3\x87\x9d\x81\xfb\x0a\x07\xa4\x2c\xdf\xc2\xdf\x01\x63\x8c\x97\x25\x4a\x97\xb3\x40\x66\x88\xd5\xe3\xe3\x8e\x33\x38\x56\x25\x0e\x8e\xf6\xe3\x74\x3f\x68\xba\x38\xc3\x01\xe5\x54\xe8\xfd\x11\x52\xe9\xc5\x11\x0e\x48\x1c\xe1\x47\xd5\x51\xb5\xa8\x21\x94\x20\x68\x91\xcd\x8b\xb9\xaa\x0f\x31\x16\x96\x65\xd5\x69\xfd\x92\xf2\x99\x49\x0f\xfa\x13\x9e\xdf\x3c\xa4\xef\xb3\xf9\x42\x66\xc5\x93\xe3\x74\x36\x93\x70\x48\xca\x92\xf7\x05\x4f\x12\x2c\x68\xe0\x87\x23\x1a\xd2\x80\x78\x32\xc9\xe5\x7e\x1c\x61\x3d\x18\x98\x3c\xdd\xaf\x88\xa1\x39\x4c\x0c\xea\xd4\x43\x0a\xbc\x90\x0d\x60\xd7\x49\x56\x4f\x55\x78\x2c\xbd\xb0\xd7\x23\x38\x2a\x4b\xd3\x6f\xc7\xd9\x6e\x69\x5d\xb5\x14\xf4\xa3\x79\x76\xc1\xc5\x44\x4d\xb7\x79\xec\x30\x36\x23\xf5\x1b\xe6\x54\xd8\x7d\x9b\x89\x8d\x79\xf9\xc1\x38\xec\x5d\x5a\x77\x7b\x63\x2e\xec\xaa\x76\xcc\x93\xe3\xec\x7d\xaf\x01\xab\x60\x61\xf2\x04\x34\xdc\x39\x5e\xaf\xda\x41\xcd\xba\xa7\xa2\x5a\x78\x55\x8f\x3e\x7b\x7a\xf3\xf5\xa7\xf2\x29\xc7\x01\xe9\xe7\xf3\xac\xc0\x84\x4a\x36\xf0\xe4\x71\x58\x4d\xb1\xec\xf5\x5a\x63\xf6\xe5\x68\x44\xd5\xdf\xba\x95\xb0\x69\x65\x2e\x76\x01\x23\x68\x36\xc0\x82\x72\xfb\xb0\x7c\x0e\x71\x95\xb5\xd7\x4b\xad\xae\x2e\xa0\xab\x64\xc5\x87\x41\xbf\xdb\x9d\xf0\x7c\x72\x29\x9f\x18\x77\x43\x99\xc8\x42\xee\x5b\x89\x4d\x99\x77\xc1\xf6\xf0\xac\x8c\x6a\x50\x34\x62\xbc\x1e\xd4\x71\xe4\xf5\x7a\x52\xef\xb6\x09\xe3\xbe\x1c\xa9\x83\x70\x86\x27\xa4\x2c\x1f\xf1\x44\xaf\xb8\xfa\x38\x6e\xcd\xd2\x84\xd0\x84\x0d\xe8\x94\x8d\xab\x9a\x92\xe3\xa9\x97\x28\x78\xa7\x32\xa7\x6c\xec\x27\x23\xba\x60\x13\x3f\x1d\x79\xc2\x71\xce\xf0\x82\x0c\x25\x57\x7f\x03\x3f\x1d\xb1\x54\x3e\xec\x9f\xf3\x42\xe2\x45\xff\x9e\x27\x4b\x79\x13\x61\x42\xdc\x1b\xc8\xb0\x57\xe7\xf8\x28\xc7\x17\x8f\x0b\xbc\x20\x2e\x3e\xc3\x2a\x95\x94\x25\xfc\xb2\xb7\x2a\xa3\x3f\x72\x57\x6b\x42\xd5\x90\xfd\x74\x44\xfd\xc5\x88\x76\x06\x84\xb8\x90\x63\xb1\x5e\xc3\xfc\x85\xbb\x36\xc1\x7b\x6b\x75\x60\xc6\x96\x66\x65\x6b\x70\x4b\x8f\x08\xed\x1c\x91\xa6\xc8\x97\xf0\x9f\x2b\x33\xb0\xca\xfc\xdd\x2a\xb2\xe0\x59\x2e\xdf\xa4\x05\x0e\xe8\x91\x9d\xe7\x3a\xd0\x8b\x6c\xb2\xbd\xc7\x66\x9a\x45\x26\xd5\xfc\x04\x44\x6d\x96\x3a\xf7\x13\x26\xab\xe6\xad\xcb\xad\x06\xac\xe1\xdd\xf1\xdd\xa8\xb0\xce\x69\x65\xb5\x37\xea\x23\x0e\x6a\x54\x02\x80\xb8\x7a\xe9\xb0\x6a\xf5\x6b\x60\x58\x7f\x6b\xea\xba\x6f\xaa\x6a\xe1\x9a\x1a\x04\x34\x59\x4f\x76\x66\xed\x30\xb6\xb7\x9d\xf7\xcc\xea\xa1\xc2\x27\x1d\xc6\x02\xc7\xa9\x00\xe3\xce\xea\x67\xe2\x9f\x2d\xe3\x38\x9d\x4c\x65\x6e\xca\xbe\xb2\xba\x66\xf0\xe1\xce\x36\xbe\x58\xf9\xb6\xf0\x8e\x95\x4f\x5a\x8b\x81\x7c\xdd\x03\xd8\xfb\x23\x95\xff\xbe\x82\x60\x56\x0f\x1e\xad\x02\xbb\x20\x69\x93\xf3\x66\x57\xdd\xfa\xd4\x7c\xb7\xf6\xdf\x5b\x9b\x46\xad\xf2\x43\x9c\x86\xf3\x07\xc6\x98\x55\x33\x0f\x36\x73\x75\xe5\x3d\x4f\x4e\xf2\xa7\x54\xc0\xdb\x03\x2f\xc4\xa4\xc9\x1f\x58\xf9\x51\x30\x9f\x27\x92\x7f\xa7\xcf\xb9\xb5\x36\x1d\xdc\x09\xca\xb2\x83\x35\x86\xbf\xe6\x33\x59\x96\x7b\x81\xda\x64\x0b\xd5\x08\x2f\x8a\x0c\x10\x54\x9c\x86\xc4\x1a\xc2\x57\x38\x8b\x9a\x86\x58\xad\xbd\x80\x05\xfd\x7c\x91\xc4\x05\x46\x14\x11\xa0\x2d\x04\x20\x48\xc1\x06\x9e\x38\xae\x91\xa4\x50\x10\xdc\x0f\x7c\x31\x1a\xb1\xce\xa0\x02\x0b\xbc\xa9\xf7\xc1\x9e\x9a\x97\xad\x5e\x05\xfe\x60\xe4\x38\xea\x6f\x9d\x68\x75\x48\x98\x43\x0c\x4d\xb3\xa0\x1f\xa7\xa1\x7c\xbc\x89\x30\x27\xde\xe0\x98\xc1\x84\xa9\x0e\x0a\x89\x05\x3d\xaa\x01\x92\x68\x2a\x98\x70\x0d\xb6\x69\x08\x64\x13\xac\x51\x59\xc2\x22\x90\x62\x92\xcd\x1f\xf6\x2f\x38\x46\x62\xf1\x90\x23\xa2\x00\x74\x21\xfa\x85\xcc\x0b\x5c\x2d\x30\x27\xed\x7c\x05\xd7\xf9\x38\x54\x17\x28\xf2\xa8\xf5\x3d\x46\xc4\x13\x4c\x94\xa5\x3f\xf2\x42\x45\xbd\xf8\x23\xef\x0c\xa8\x2f\x2c\xfa\x8b\x65\x3e\x51\x80\x27\xd4\x4f\x9c\xe8\x39\x05\x12\xe9\x6d\x45\x05\xc8\x1a\x89\x00\x9a\x0c\xda\x68\x12\x0a\xaa\x41\xf9\x72\x44\xd5\x01\x84\xa1\x69\x04\x6e\x28\x1b\xde\x60\x25\xef\x2d\xe6\x64\xb8\xd7\x54\xe8\xce\x30\xa7\x35\xe0\x0a\x14\x3a\x33\x48\x8f\xfb\x62\xb4\x86\xa1\x35\x04\x89\x34\x04\x89\x2f\x47\x6c\xab\xcd\x9a\x28\x51\xe7\xff\x9f\xa5\x4b\xe4\x77\xe8\x12\xa9\x26\x68\x77\x3b\x16\x71\x22\x37\x89\x93\x1f\x16\x5b\x08\x35\x56\xb2\xae\x69\x33\xce\x02\x7a\x06\x24\x60\x1c\x61\xe1\x38\x07\x47\x1d\xc6\x70\xc4\x44\xbd\xad\x02\x52\x91\xd2\xfb\xa1\x1f\x8d\xea\x75\x31\x69\xb0\x99\xfc\x91\x1e\xfe\x8e\xcd\xa2\x8a\x73\x40\xb0\x41\x5f\xcc\xd3\xbc\xc8\x96\xa2\x98\x67\xd8\xa2\xe0\x00\x68\x99\x4c\x80\xa7\x83\xfe\x58\x16\x9f\xe2\x99\xc4\xa4\xc9\x75\x63\xe5\x32\xb8\x3a\xe8\xe7\xf3\x65\x26\x24\x0d\x6c\xa6\x64\xa6\x80\x05\x3e\xf4\xff\xf8\x76\xa8\xd8\x11\xe2\x0f\x46\x84\xf2\x7e\xc2\xf3\xe2\x8d\x1a\x13\xdb\x0b\x9a\x97\xba\x7a\x85\x8e\x44\x32\x4f\xe5\xf5\x3c\x94\xaa\x1d\xeb\x15\x77\x06\xa6\x1f\x66\xd0\x92\xb5\x11\x27\x40\x75\x42\x61\x2e\xa4\x9e\x8a\xf0\x3b\xbb\x7b\xbd\x0d\x09\xfe\xe2\xfa\x40\x57\x33\xbb\xe2\x8a\xbf\xf0\x47\x5e\x45\x0e\x09\x36\xa0\x61\x43\x7f\x8b\xe3\xd0\x80\x17\x31\x62\x0a\xc2\xd4\xab\x79\x56\xed\x52\xa1\x76\x05\x54\xb3\x5a\x53\xe0\x34\x50\x57\x61\x3c\xd1\x17\x13\x9e\x9d\x14\x78\x40\xca\x72\x23\xe9\x88\x34\x35\xd6\xf0\xaa\x2c\x2d\x68\x3a\x6d\x3a\xaa\x4f\xb9\x01\xac\x03\xaf\xe6\xbe\x14\xfb\x65\x9e\x78\xc3\x81\xa9\x02\x1a\x2b\xf2\x4e\xab\x9c\x1e\x5d\x75\x3a\x68\xa8\x72\x0a\x9b\xa1\x6a\xb0\xa8\x20\xf5\xfc\xc4\x11\xee\xa8\x53\xdc\x6a\x00\x8b\x7a\x86\x08\xab\xe1\x85\x26\x4d\x15\x13\x13\x1e\xef\x09\x60\x5b\x54\x69\x35\x12\x45\xb7\x73\x3f\x1c\x59\xd5\x54\xfd\xd2\xe7\x63\x55\xef\xcd\x6a\xd9\xb9\x02\x1d\xaa\x6c\xb3\x41\x29\xb7\x36\xab\xab\xbb\x72\x63\x17\xba\x81\x42\xf6\x0e\x55\xbd\x6b\xde\x4c\x19\x00\xbf\x00\x85\x39\x31\x1c\x2c\xfc\x70\xe0\x3b\xd5\x5f\xa9\x5f\xa0\xbe\xa6\xcb\x82\x45\x1c\x13\xcf\xe2\x53\xea\xc5\x0e\x9b\xc5\x76\x9c\xce\x23\x8c\xd8\xcc\xde\x77\xc6\x2f\xfc\x50\x61\xab\x75\x5d\x1b\x87\xd9\xd2\xcf\x82\x38\xce\x8e\x8a\x4f\x30\x54\x02\x2d\x7c\x6f\x3a\xab\x94\x66\x2b\x85\x35\xeb\x50\xf3\xdd\x62\x9e\x0a\x5e\xe0\x9a\xd2\xa5\xc2\x46\xc3\x4b\x61\x63\xbd\x17\x5b\xf2\x8f\xe1\x36\x85\xfc\x82\xb8\xfe\xa8\x62\xec\x55\xef\xd4\xfc\xee\xc7\x69\x5e\xf0\x54\xa8\xfd\xa5\xc1\xc8\x90\xbb\xa2\xaa\x64\x9b\x7e\xdd\x6a\x87\xf7\xf9\x62\x91\x3c\x29\x6a\x1f\xb8\xab\xba\x39\xc5\x0d\x34\x1f\x05\x59\xbb\xff\x52\x6d\xf5\x27\x55\x4b\x45\x48\x35\xe3\xff\x2d\xb4\xc7\xcf\xbd\x1d\xe4\x22\x2c\x8f\x3a\x82\xf6\xf2\x6c\x24\x1d\x91\xa1\x60\x0f\x2e\x6c\xac\xa1\x60\xa8\xfb\xf5\xcd\xf5\xf9\xcd\x57\xe4\x72\xc7\xf9\x4d\x1d\x5a\x48\x3c\xbf\x39\xfb\xfc\xee\xe2\xfa\x13\x72\x61\x3f\x2a\x50\xc6\x50\xf7\xf6\xec\xe6\xfd\x05\xda\x45\x51\xc8\xa0\x06\x0c\xbb\x89\xf1\xea\x30\x3c\x78\x5f\x60\x19\x30\x67\x7c\xf8\xc2\x55\x90\xa2\xae\x6f\x43\xfa\x13\xd0\xdf\xc2\x16\x3b\x72\x6f\xd3\xd9\x8a\x70\xd6\xf2\x22\xe0\x75\x70\x40\x5c\x0b\x50\x3d\xa8\xcd\xb2\x57\xcf\x96\x42\x2a\x26\x1f\x7a\xcb\xd3\xfd\xc1\x11\xdd\x3f\xfa\xef\xff\x1c\xec\x0f\x06\x2e\xfc\xbf\x8f\x7a\x01\x39\xfc\x8f\x8b\x5f\xaa\xbe\xc4\xf9\x35\xbf\xc6\x82\xa8\xbd\x61\x51\xc0\xf5\xa6\x15\x4c\x0c\x0f\x8e\xdc\x23\x23\x4f\x7b\x50\x68\xb5\x06\x0a\xcf\xf3\x54\xde\x44\x51\x2e\x0b\x85\xbf\x38\x0b\xbc\x80\x89\x9f\x70\x78\xf0\xdd\x1c\x35\xe6\xb3\x81\x89\xc7\xfb\xb9\x2c\xde\xc5\xe9\xb2\x90\xb9\xfe\x52\xbd\x90\x5e\x23\x6e\xb0\x10\xc9\x23\x90\x94\x01\x3b\xc5\x01\xd1\xd8\x0b\x13\xaf\xc8\x9e\x56\x41\x5f\xce\x16\xc5\x13\x26\x6b\x01\xc8\x91\x93\xd5\x5a\x4f\xcd\x29\x46\xc7\x61\x7c\xff\x2b\x22\x6a\x23\xca\x54\x11\xbb\xfd\x49\x31\x4b\x4c\xc9\xea\x74\x56\xb4\xa8\x11\x8c\xbd\xe7\xc3\x97\x58\x10\x57\x54\xd8\xf6\x0f\x7c\xec\xff\xf1\xeb\xa8\xf7\x2b\x39\x24\xfe\xd1\xa8\x91\x0c\xfe\x71\x8c\xfd\x6f\x0f\xdf\x0e\x46\x3d\x72\x48\x2d\xe1\x44\x43\xc0\x1f\xa3\xde\x4b\xb5\xd7\xab\xce\x85\x16\x55\xdc\x12\xf4\x3d\xc2\x06\xb0\x7a\x15\xca\x4d\x31\xa6\xaa\xa7\x19\xe2\x7a\xaf\xe1\x65\x45\x8b\x8a\x9f\x61\x1c\x94\x25\x42\xa4\xa2\xe5\x1d\x44\x2c\x1a\xb0\x16\xd4\xd1\xc8\x0b\x1c\x07\x4b\xa6\xc8\xfe\x7a\x4c\xdf\x7a\x87\x63\x8a\xfe\xcf\x8b\x01\x22\x80\x97\x2b\x52\x09\x31\x44\x28\x50\x50\xa1\x2e\xd4\xcf\x97\x81\xde\xd1\x78\x40\x43\x42\xa3\x56\x52\xd8\x3b\x22\x84\x4a\xf6\x28\xb0\x24\xf4\x44\x13\x7c\x11\x3b\xc1\x11\x19\x3e\x0a\x1c\x11\xb7\x33\xa0\x45\x0d\x0e\x25\x19\xbe\x05\xc2\x8e\x0c\xd5\x5f\x4d\x51\x44\xc4\x05\x5a\xcf\x57\x7f\x69\x34\xd2\x6f\x11\x21\xeb\x5d\x1b\xe4\x7d\xd0\xcc\x82\x3f\xf2\x66\x38\xb0\x09\xdf\x90\xac\x14\x7e\x1d\xb6\x93\xc9\xca\x50\xd8\x09\xc7\x21\xed\x0c\x48\x0f\x77\x06\x0a\xa4\x0c\x11\x72\x11\x43\xbd\x44\x51\x05\x9d\x01\x51\x6d\xba\xff\x42\xde\xba\x7f\x0d\x2c\xfc\x6b\x1e\xa7\xb0\x16\x2e\x42\x96\x7c\xcb\x66\x0f\xab\x1a\x9a\xd5\xf8\x3f\x2f\xfe\xe3\x70\x1c\x53\x55\xcc\x4a\xfc\xf9\x5c\x25\xee\xa9\x25\xb1\xb3\x9e\x42\xd6\x1e\xb2\xe0\x4a\xc2\x5b\x42\x91\x6d\xd9\xb8\x3a\x12\x4d\x15\xbf\x0c\xa0\x8a\xff\x69\xb7\x76\x02\x89\x6e\xbb\xb1\x5f\xd4\x36\xe9\xb6\xd3\xce\x20\x23\x6d\x97\xd6\xbd\xf2\xda\x39\x07\x87\x63\xca\x87\xb0\xcd\xdc\x76\x8f\xff\x6e\xe3\x02\x1a\x52\xc9\x3e\xd4\x42\xb6\x86\xdc\x91\x5e\xaf\x17\x12\x20\xa8\x3e\x28\xc4\xdc\xe3\xf4\x15\x10\x49\x63\x59\x9c\x14\x45\x16\x07\xcb\x42\x62\xd1\x90\xf7\xc2\xb3\x84\x18\x16\x0f\xbf\xd5\x1a\x1c\xa0\x0f\x16\xd3\xc4\xc9\x8a\xf7\x18\xe2\x8b\x05\xf2\x3a\xc0\x81\x4e\x78\x5e\xb7\xb1\xf9\x5e\x61\x94\x00\x0e\x4f\xab\x37\x1c\x36\xc6\xf7\x2b\xd7\xac\xa1\x6a\x02\x8e\xd7\xdd\x52\x66\x4f\xb7\x32\x91\xc0\x52\x20\x1f\xf5\x78\x3d\x83\xc8\x45\x74\x0f\x7d\xfb\xe6\x22\xd2\x43\x23\x44\x74\x9b\x92\x86\x4c\xee\x6a\x13\xaa\xec\xeb\x7b\x9e\xf3\x98\x19\x39\xce\xdf\x43\x2c\x28\xd2\xa9\x07\x61\x8c\x08\xe5\x58\xd0\x70\xe8\x87\x23\xd7\x1f\x51\x69\x53\x28\xcf\xb5\xb0\xf7\x0c\x0b\x85\xe3\x04\x5b\xa9\x8a\xd9\x7b\xbc\xaa\xea\x75\x3b\x47\x6b\x2a\x88\x41\x1b\x16\x7d\xa0\x81\x36\x10\xca\xfd\x38\xfd\x4b\x0f\xc8\x08\xe6\x43\xa6\xc0\x2f\x63\xec\xb7\x21\x0a\xe7\x02\xa8\x04\xe4\x02\xb0\xf7\x1a\x3e\x3b\x28\xf2\x22\x5b\x84\x88\x86\xcd\x26\x3a\x3e\xa4\xc8\x49\x8a\xd6\xc6\xfa\x55\xa5\x8d\x55\x1a\xf1\xd6\x15\xa7\xc1\xfb\xcb\x34\x9f\xc4\x51\x81\x7d\xd4\x5d\x64\xf3\xfb\x38\x94\xa8\xbd\x04\x5a\x76\x8a\x51\x37\x9b\xcf\x8b\x8b\x44\x42\x2f\x68\x40\xd6\x23\xe2\x89\x7e\x28\x83\xe5\xf8\x4d\x1a\xcd\x2f\x52\x1e\x24\x32\x74\x1c\x03\x09\x7c\xd4\x15\xf3\xd9\x22\x4e\xe4\x7b\x5d\x6d\xb6\x59\xef\x66\x51\xc5\x6d\xa9\x4a\x9b\x3e\xa1\x74\x8c\x88\x17\xb2\x28\x50\x54\x61\xbd\x48\xc4\x0b\xfb\x71\x7a\x3f\x9f\x4a\xd5\x8a\xea\xd6\xad\x98\x2f\xa4\x5a\xf6\x76\x27\xeb\x2e\xa8\xc7\x6a\x76\x51\x0b\x1b\x69\x69\x08\xef\x77\x35\x39\x66\xaf\x4c\x3f\xe4\x05\xc7\x76\xc1\x90\x78\x0a\x9d\x60\xae\x90\x96\x2d\x92\xa7\x92\x1d\xfe\x71\xfd\xea\xcf\x8b\xeb\x93\xd3\xab\x8b\x3f\xcf\x2f\x4e\x3f\xbf\xfa\xf3\xcd\xf5\xcb\x9b\xce\x21\x8d\xf4\xa7\xf3\x8b\x97\x17\x1f\xff\x3c\xbd\xb9\xf9\x74\xfb\xe9\xe3\xc9\xfb\xce\xa1\xf7\xc1\x71\xa4\xe6\x99\x3f\xf4\x53\x3e\x93\x5a\x2e\xb2\x39\x2b\xac\x33\xa0\xfa\x3b\xd3\x3f\xf5\x8a\x4a\x8a\xd4\x5a\xc6\x11\xfe\xe0\x38\x9d\xa8\x55\x55\xcd\xb9\x63\xe2\xed\x2e\x1d\xa9\xd2\x5e\xa8\xce\x4d\xbe\x9c\xc9\xd3\xf9\x5c\xed\x23\xbe\x60\x36\x06\xf8\x0e\x46\x08\x2c\x28\x1e\x62\xb2\xf6\x1e\x71\x5d\xd1\xb9\x8c\x64\x96\xc9\xb0\xae\x90\x38\xce\xf7\x3f\x62\xeb\x1c\x75\x43\x4c\x56\xa6\xb3\x68\xe7\x64\xa2\x9e\xfe\xec\x7d\xe8\x27\x73\xc1\x55\xa9\x7e\x26\x93\x39\x57\x9d\x68\x70\x3e\x97\x9a\x1c\x0a\x79\x5f\xea\xad\xa0\x20\x79\x73\xba\xd4\x94\x75\x02\x4b\x54\xa5\x66\xae\xa1\x6f\x01\x34\x61\xd4\xed\xaa\x64\x1e\xc4\x49\x5c\x3c\xd9\x50\xf8\xa4\xba\x31\x81\xdb\xc0\x3f\x51\x53\xae\x9a\xdb\x40\x6e\xa0\x57\x9d\x03\x87\x43\x0e\xf7\xb9\x8a\x29\xbc\x9a\x3f\xc8\xec\x8c\xe7\x12\xab\xcd\xd4\x08\xf9\xa4\xb9\x4d\x0e\xa0\x97\xa7\xa2\x42\xdb\x8b\x00\x13\x0f\x67\x9c\xdd\x2b\x0a\xfe\x43\xff\xaf\x0f\x0a\x06\xba\x7c\xf8\xc1\xe7\x23\xf7\x81\x38\x4e\xc6\xfb\x51\xda\x9f\xa7\x43\x7c\xca\x32\x4e\xdf\x63\x48\xa0\xab\x5c\x1d\x0e\xf7\x23\xef\xc3\x03\x8d\xf3\x79\xc2\x0b\x79\x5b\xa5\xda\xef\x54\xcc\xd3\x22\x9b\x27\x89\xcc\xd4\xa7\xe6\x8d\x56\xb3\x07\x25\xcc\x33\x8d\xd3\x89\xcc\xe2\x42\x86\xe7\xbc\xe0\xfa\x8b\x95\xb0\x26\x34\x60\x19\xef\x8b\x44\xf2\x54\x25\x50\xfb\x85\xd9\xc0\x00\xa0\x1d\xec\xe4\x80\x7c\x08\x58\xe7\xa8\x91\x73\x01\xe4\x67\x03\x1a\x79\x1a\x34\xe3\x08\x2e\x90\x08\xc8\x00\x71\xc8\xf6\x32\xde\xff\x13\x4e\x6a\x44\x91\xbc\x57\x8c\x14\xc0\xfc\xb0\xdf\x0d\x65\x5e\x64\xf3\x27\x35\x33\x38\x22\xfd\x22\x8b\xc7\x63\x99\xbd\xe6\x69\x98\xc8\x0c\xa3\xea\x3b\x22\x5e\x00\x47\xda\x3d\x65\x1f\xbd\x66\xd3\xb0\x53\xef\x54\x28\xae\xd8\xba\xc8\xa8\x19\x81\xcd\x2d\xc4\x33\x79\x87\xa8\xda\x10\x43\x44\x45\x59\xa2\x4c\xde\x2d\xe3\x4c\x86\x68\xd7\xd5\xd0\x2d\xaf\x19\x0a\xc7\x79\xab\x45\xa2\x01\x0b\xfc\x4a\x90\x71\x70\x34\x22\xde\x5d\x00\xd7\xc4\x94\x53\x94\xce\x8b\x7d\x5e\x5f\xb2\xd0\xfd\xf1\xbc\xd8\x47\x3d\xbc\xfb\xb6\x61\xd8\x12\xb8\xc1\x81\x29\x4b\xa4\x05\x57\xc8\xad\x39\xb3\x5d\xfd\xfa\xd4\x08\x7a\x50\x5b\x2a\x09\xcc\xa4\x35\xde\x80\x87\x70\x2b\x4d\x39\xf1\xac\x5b\x14\x61\xcf\x4f\x25\xef\xd9\x0f\x3c\xce\x78\x45\x71\xf7\x11\xa9\x05\x5c\x8a\xa8\x08\xac\xab\x42\x3a\x61\x03\x6f\x72\x1c\x79\x93\x5e\x8f\x84\x8c\xfb\x93\x11\x0d\x60\x6e\x14\xda\x27\x7e\x58\x03\x5d\x45\x0a\xec\xa9\xe9\x19\x2e\x05\x96\xb4\xcd\x06\x66\x40\x38\x56\x8d\x70\x40\xa3\x54\xb4\xe7\x17\x08\x9a\x23\x8f\x77\x18\x53\x24\x80\xea\x60\x2a\x1f\x8b\xdb\x38\x48\xe2\x74\xac\xb7\x57\x1c\xe1\xb0\x2c\x03\x5f\x8e\x40\x7a\x15\x96\x25\x0e\xd9\x69\x2d\xa9\x08\xe8\x40\x51\x02\x96\x94\xaf\x06\x8a\x2d\xf1\x59\xc4\x1b\x41\x40\x5b\x7e\x08\x7c\xb0\x25\x1c\x01\xc0\xd5\xc0\x31\x8d\xa0\x1a\x21\x82\x1f\x8c\x14\x0b\xed\x07\x23\x26\x30\x21\x86\x95\x7b\x63\xe3\x28\xc5\x98\xbc\x31\x88\x33\x60\x6a\x39\x91\x51\x30\x41\x54\xb7\x4d\xbc\xa0\xdf\xed\xce\xe2\xf4\x22\xcb\x58\xf3\x58\x96\x6f\x6a\xc2\x5c\x95\x9a\xcd\xc3\x65\x62\xd3\x02\x06\x2c\x29\x22\x70\xf3\xd2\x2f\xa2\x13\x3a\xfe\xde\xae\x89\xcc\xae\x09\xad\x4d\x53\xd5\x4e\xbc\x89\x21\x12\x6d\x01\x78\x04\xc7\xc1\x8f\x46\xac\x25\x27\x50\xdd\x8a\xec\xfe\x58\x13\x15\xd0\x3d\xa1\xb8\x36\xb2\x8a\xca\x12\x47\xac\xb9\x90\xb5\xf3\xfb\xea\x20\xa8\xa5\x42\x23\xec\x2b\xd4\x5f\xcb\x5e\x1a\x64\x7e\x61\x1d\xf7\x00\xdb\x92\x2a\x0b\xa4\x4b\xb2\x92\x8e\xf3\xa8\x39\x37\xa9\xe6\x10\xc6\x73\xad\x50\x57\xa4\xc8\x13\x4d\x02\xf1\xef\x36\xa1\x8e\xc7\xc4\x4c\x8c\xc0\x28\x9d\xcf\xe6\x21\xa2\x51\x45\x20\x2a\x12\x53\xfd\xc9\xd4\x9f\x82\xb5\xa9\x10\xa4\x69\x1f\x44\xf5\x50\xa8\x24\xf4\x82\xad\xfe\xd4\xa9\x1f\x96\x72\x29\xdd\x90\xfe\x29\xe6\x69\x14\x8f\x4f\x93\xb9\x98\xe6\xae\xa4\x7f\x66\xcb\xd4\xbc\x64\xd4\xc0\xa6\xdc\x9d\x50\xb5\x1e\x6e\x44\x0d\xe9\x97\xb9\x01\xb6\xe8\x40\x54\x25\x2b\x26\x99\xab\xd6\x9f\x36\x32\x98\x54\x44\x68\x2e\xb3\xfb\x58\xc8\x8d\xef\x26\x15\x11\x0a\x54\xa4\xcb\x5b\x5f\x21\x0d\x11\x0a\xe0\x8a\xa7\xc5\xc6\xe7\x2a\x19\x51\x64\x28\x42\xb5\xbd\xa5\x98\x67\x5c\x61\xa2\x56\x4b\x7b\xa8\xfe\xa0\x88\xf5\x34\x9e\x01\x79\x00\x99\xf4\x9b\x45\x87\xa2\x4c\x8e\xe3\xbc\xd0\xe3\x8a\x93\xc2\x8c\x5b\x3f\xee\xce\x66\x21\x46\x95\xb5\x79\xdd\x9d\x3d\x8c\x33\x29\x8a\xf8\x5e\x9a\xdc\x1b\x84\x30\xaa\xbf\xeb\xaa\xa3\x78\xec\x16\x34\x5b\xa6\xae\x8d\x15\xb3\x4d\xb0\x52\x4c\xe2\x7c\xbd\xf6\xc6\x8e\x53\xe0\xb1\xb5\x9d\xc8\xda\x26\x21\x24\x40\x91\xf7\x38\xa0\xab\xa0\xa2\xb3\xdc\x67\x41\xc5\x7c\xf1\xe4\x4e\x38\x95\x8f\x85\x4c\x43\xf7\x3d\x9d\xc9\x6c\x2c\xdd\x2f\x21\x95\x77\x4b\x9e\xe4\xee\x94\x53\x83\xfa\xdc\x53\x6a\x34\x74\xdc\x59\x83\xfa\xa3\x80\xa6\xf3\xf9\xc2\x7d\xa2\x41\x9c\x86\xee\x52\xd0\x62\xfe\x36\x9f\xa7\xae\x0c\x68\x94\xcd\x67\xf0\x7c\x2f\x68\x1c\xca\xb4\x88\x8b\x27\xb7\xcb\x69\x9c\x7f\xae\xe4\x82\xee\x3d\x8d\xf3\x73\xf3\x7c\x42\xe3\x5c\x4b\xc2\xdd\x57\x34\xce\x5f\x9a\xce\xbb\x8f\x34\xce\x35\x9c\x72\xcf\x68\x9c\x5f\xc3\x9d\xb7\xfb\x85\xc6\xb9\xa1\xea\xdd\x5c\xd0\x38\x3f\xc9\x32\xfe\xe4\xbe\xa5\x7b\xf7\x32\xcb\x55\xb9\x48\x11\x36\xe7\xbc\x90\xae\xe4\x34\x51\xb4\x95\xe0\xb9\x74\x5f\xd2\xe5\x62\x61\x9e\xf3\x80\x2a\xb0\x1d\x70\x75\x08\x56\x62\xbe\x4c\xd5\xc2\x0f\xd6\x74\x2c\x8b\x4f\x0d\xa9\xe7\x72\x49\x2b\xa0\xe8\xbe\xa1\xdd\xae\xc8\x17\xee\x4b\x4e\x35\xa1\xf9\x35\x2e\x26\xe7\x15\x89\xee\x76\xc3\x35\xf1\x3e\x06\x2c\x94\xf8\x83\x7a\x00\xc0\x4b\x7d\x94\x8e\xaf\xe6\x82\x27\x12\x8d\xe8\xf7\xf9\xaa\xea\x70\xe1\x55\xb7\x9b\xf3\x34\x2e\xe2\x67\xf9\x39\x8b\xdd\xb1\x5c\x2b\x26\xa8\xfe\x6c\x71\x31\xe7\x82\xf4\xeb\xad\x83\x57\xdc\x9d\x48\x1a\xa7\x8b\x65\xe1\x5e\x08\x5a\xc8\xc7\x82\x67\x92\xab\xe7\x68\x9e\xcd\xdc\x58\xd2\x5c\x64\xf1\xa2\x70\xff\x92\x34\x07\x6e\xd9\x9d\x4a\x9a\x17\x4f\x89\x74\x13\x49\xe7\x0b\x98\xf2\x99\xa4\xe9\xf8\x54\xad\x68\x5a\x3d\xbd\x2e\x66\x89\x3b\xaf\xde\x3e\xc9\xd9\x42\x91\x88\xee\x42\xa5\x9c\x25\x3c\xcf\xdd\xbb\xfa\xf1\xe2\x5e\xa6\x6e\x56\xbf\xde\x84\xa1\x9b\xeb\xb7\x39\x9f\xba\x05\x3c\x36\x87\x67\xa9\xde\x5f\xaa\xde\xdd\xab\xa7\xd7\x71\x28\xdd\x07\xf5\xf4\x26\x72\x1f\xe1\x37\x15\xc9\x32\x94\xee\x93\x7e\x89\x0b\xf7\x59\x3d\x5d\xcf\x53\xd5\x15\xc5\x12\xb9\x27\x92\xee\xa5\xe3\xf7\xc9\x32\xe3\x49\xfc\x2c\xdd\x53\x95\xe1\xa3\x5c\x48\x5e\xb8\x67\xea\xf9\x76\x32\x7f\x70\xcf\xe1\x09\xc6\x7a\x01\x8f\x0f\x71\x21\x26\xee\xcb\xe6\xf9\xeb\x44\xa6\xee\xab\xe6\xfd\x5c\x46\x7c\x99\x14\xee\x6b\x95\x74\x03\x93\x93\xbb\x6f\xd4\xcb\xa7\x8c\xa7\xb9\xee\xd7\x5b\xf5\xfe\x6e\x1e\xca\xc4\xbd\x54\x8f\x57\x71\x5e\xb8\x57\x30\xca\x09\x4f\xc7\xd2\x7d\x27\xe9\x82\x17\x85\xcc\x52\xf7\xa5\xa0\xe9\xf8\x7d\xf3\x52\xd1\x84\xee\x2b\x01\x3d\x6e\xde\x66\x71\xaa\x29\x13\xf7\xb5\xfa\xf4\xce\x7e\x9d\xf1\x47\xf3\xf2\x06\xbe\xb5\x5f\xbf\x00\x5c\xbd\xae\x7b\x55\xf5\xfb\x46\xae\x5b\x7b\xa5\x99\xd9\xf7\xed\x2f\x45\x60\xbf\xbd\x15\xad\xbd\xb7\xea\xf2\x54\x4c\xe6\xd9\xad\x50\xeb\xe7\x7e\x90\xb4\x82\xa6\xee\xc7\xe6\xf9\x2c\xcf\xdd\x5b\x75\x6a\xcc\xbb\x46\x42\x9f\x54\xca\x89\x4e\xf9\xb8\x4c\x53\x99\xb9\x9f\x25\xed\x06\xd9\xfc\x21\x57\x67\x5a\xd2\xae\xe0\x62\x22\x5f\x1a\xcc\xf2\x55\x25\x34\x3b\xe5\x37\x49\xbb\x95\xd4\xc3\xfd\xbb\xa4\x5d\xf9\x28\x24\x0c\xce\x50\xf0\xee\xef\x92\xee\x19\xa0\xed\x5e\x0a\xda\xed\x46\xf3\x4c\xc8\x8f\x32\x4a\xe6\x0f\x6e\x57\xd2\x6e\xac\x4e\xf8\x02\xd8\x1b\x97\x47\xe6\xfd\x9e\x27\x6e\x10\xd1\x2e\x68\xe1\x0a\xf3\xf0\x9e\x67\x7c\x76\x2b\xb3\x18\x76\x54\xe6\x86\xbb\xd3\xdf\x7e\xb8\x8a\xa7\xd2\x95\xe6\xeb\x29\x17\x53\x05\x4a\xa3\x88\x76\x1f\x27\x59\x35\x90\x71\x44\xbb\x15\x7f\xea\x4e\xe0\x65\xec\xfe\x15\xd1\x2e\x5c\x45\xb8\xd3\x88\x36\x42\x0b\x37\x89\x68\xf7\xce\x9d\x45\xb4\xdb\xbd\x73\xd3\x88\x76\x73\x21\xdd\xb9\xfe\x3d\x97\x89\x1c\xc3\xc1\x53\xef\x69\x1c\x45\x32\x73\xef\x22\xda\x2d\xcc\x89\x3c\x53\xf3\xe7\x66\x56\x8a\xda\x54\x32\x2f\xdc\x5c\x55\x68\x31\xb0\x6e\xa1\x32\xc5\x33\x39\x5f\x16\xee\x32\xa2\x5d\xad\x8f\xe3\xde\xab\x7c\xd9\xc9\x4b\xf7\x41\x3d\xfc\x75\x77\x15\x17\xd2\x7d\x54\xcf\xaf\x79\x3e\x79\xc7\x17\xee\x93\x7a\x11\xf3\xf9\x34\x96\x1f\x25\x57\x34\xc2\x73\x04\xe2\x8f\x06\xe3\x8c\x5b\x7a\x3c\x35\x1b\x7c\x12\xb5\x45\x2d\xa1\xa2\x9b\x2a\x69\xeb\x30\xec\x17\xf3\xcf\x0a\x38\x6b\x26\xd8\x0d\xd7\x8d\xb0\xea\x34\xa2\xe8\xdd\xfc\xb9\x7b\x64\xf3\xdd\x57\x42\xb3\xf5\x8d\xa6\x6e\xa3\xbc\x0b\x3a\xbb\x65\xd9\x09\xca\xf2\xbf\xdb\x3a\x46\xef\xc4\xa6\x14\x93\x1b\xea\xfb\xdc\x6c\xae\x97\x19\x1f\x83\x90\x80\xd0\x88\xf9\xa0\xe8\x70\x1b\x68\x69\x4a\x40\xe0\xca\xa7\x2c\xa5\xb9\x25\x39\x9b\xc4\x49\x88\xab\x1a\x0c\x4a\xc2\x28\x8c\xef\x11\x21\x5e\xc8\xf0\x59\xd4\x97\x8f\x52\xc0\x2d\xae\x8f\x10\x45\x68\x04\xf7\x22\x2d\x86\xdf\x0b\xd9\x8c\xfb\xe1\xa8\x2c\x67\x8a\x79\xd5\x60\xc7\x13\xfd\x58\x1d\x92\xd7\x9f\xde\x5d\xb1\xd0\x3f\x1a\xf5\x9a\x99\x3c\x8f\x28\x3a\xee\x1e\xfd\x7a\x7c\xd8\x7d\xf1\x2b\x22\xbd\xd0\x7f\x31\x32\x12\xdf\xd0\x1f\x8c\xbc\xf0\xe0\xc0\x23\x82\x09\xd0\x6f\x80\x3e\x7a\x11\x0b\x03\x1c\x51\xd1\x17\xea\xf5\x7a\x1e\xca\x9c\x78\x82\xc9\x7e\x14\x67\x55\x1e\xd1\x57\x38\x43\x41\x67\xc5\xee\x22\xa4\xf5\x09\x22\x43\x76\x98\x41\x7e\x92\x8f\x05\x28\x43\x28\x96\x51\x6e\x94\xf0\xa4\xd5\x69\x84\xbc\x19\x8e\x5a\x58\x6e\x63\xde\x2c\xb9\x91\x6c\x96\xe8\xa3\xd1\xe3\x0e\x5a\x77\xb4\x0d\xf3\x08\x4c\x9c\xf7\xaa\x62\x93\x3f\x29\xa6\x78\x8f\xb3\xce\x40\x4b\x72\xb0\x22\x8b\xda\x45\xa1\x3a\xee\x38\xe8\x18\x75\xec\x6b\x51\x43\x71\x7f\x52\x88\x7a\x9e\xcb\xa4\x61\xce\x41\xbb\x04\x07\x64\xad\xf5\x99\x38\xfb\xcd\xa8\x78\x05\x0c\x0b\x76\x51\xaf\x2a\x19\xfa\x9b\xab\x2f\xfc\xa3\x11\x19\xb9\x58\x30\xb3\xd7\xc8\xd0\x9e\x75\xd7\x1f\xad\xaf\x05\x74\x92\xda\x2a\x72\x9f\xdb\x87\xa6\xa5\x74\x62\x5d\x7f\x9b\x1b\x56\x5e\x96\xf7\x41\x2d\x29\x6e\xc9\xbf\x4f\x92\x84\x34\x1a\x23\xdb\x1f\x31\xfa\x09\xd8\xc2\x01\x95\x4c\x6c\xea\x72\xdf\x07\x58\x28\xb6\xda\xba\xec\x14\x2d\x2d\xb1\x13\x1c\xda\xd3\x36\x8f\x22\x9e\x8d\x73\xa3\x01\x27\x19\x0e\xd9\x03\x28\x90\x39\x4e\xd8\xd7\xe2\x17\x1a\xb1\x50\xbd\x4d\x00\x4c\xab\x0e\x47\x04\x66\x75\x86\x6b\x21\xc0\xbe\x7d\xed\xc6\x4d\x43\xa2\x96\x7b\x4b\x9f\x8f\x3c\x11\x60\xd0\x19\xa3\x02\x46\x1d\x3a\xce\xe0\x78\xaf\xd2\x94\x36\xbb\x63\xad\xce\xc8\x6c\x7e\x2f\x15\x15\x52\x28\x5c\x2c\x53\x99\x61\x4e\x23\xda\x39\x22\x9e\xd1\xe7\x52\xd5\xad\x2d\xdd\x29\xbe\x1f\xa7\xfb\x92\x34\x12\x20\xc5\xde\x2b\x46\xf4\x07\x75\x51\xbb\xae\xe6\x6e\x7a\x43\x27\x2f\x1d\xff\xfc\xf3\x7f\xd3\x90\x09\xc7\x99\x80\x3e\x4d\xe8\x38\x98\x0f\x4d\xd9\x10\x44\xca\x3e\x1f\xb9\xb8\x9a\x1e\xc7\xc1\xd5\xbc\x59\x02\xab\xea\x2b\x5e\xad\xa9\x25\xa7\xa2\x37\x5a\xdf\xc8\x54\x07\x2d\x50\xd3\x28\x7b\xb0\xef\x24\x1e\x76\xf6\x4b\x34\xfd\xe2\x8e\x03\xb7\x29\x55\x69\xc1\x7a\xbd\x97\x11\x15\x0c\x3e\xb3\x95\xee\x92\xbb\x5a\x53\xd5\x65\xf5\xab\x7b\xe4\x3e\xac\x77\x29\x02\x7c\xb1\x05\x63\x00\xa8\xab\xa5\x54\xcb\x4a\x25\xeb\x84\x8e\xa3\xda\x3c\xc3\x5c\x81\xd9\x0e\x57\x07\x2b\x80\xbd\x43\x3b\x92\x80\x22\xb0\x6a\x09\x56\x9a\x04\x3e\x1f\x31\xe1\x55\xca\x38\x51\x03\x0b\xf6\xe2\x08\x4b\x62\xa9\x8c\xaa\x9d\xf2\x1e\x06\xbb\xb6\xaf\x8c\xdb\x0a\xcf\xed\xdb\xa6\xe1\xc1\xd1\xb1\xda\x82\x3d\xbc\x71\x0b\x85\x84\xa2\x60\x11\x81\x1b\xe2\x9e\xda\xa4\xcd\xf5\x89\xff\x2d\xfd\x56\x8c\x0e\xc7\x14\x92\xeb\x9b\xdf\x7d\xd4\xe3\x90\xd3\xb5\xb5\x5c\x9e\xaa\x53\x0b\x4a\x99\x56\x13\x8e\xf3\x83\x43\xd0\xce\x5a\xf5\x86\x7e\xc2\xff\xcb\xce\xd6\x37\x63\xfb\xa8\xf7\x09\x73\xc8\x0c\x5f\x48\x4b\xf4\xfc\xdc\x28\x73\x6c\xf5\xbb\xda\x49\xff\xbb\x9e\x78\x3f\x18\x3c\x67\xaa\x6b\xde\xc1\x11\x63\x96\x12\x62\x33\xbf\x8e\xb3\x87\x45\x8f\xe9\x97\x35\xf1\xbe\x3b\x59\x82\xd8\xba\x03\xd7\xa2\x19\x14\x40\xa1\x9a\x78\x20\x8d\x38\xb0\xd7\x1b\x31\xde\xa8\x8d\x8a\xc6\x74\x21\x8e\xf0\xb6\xde\xb5\x70\x1c\x6e\xf4\x99\x41\x2e\x08\x2a\x94\xa4\x31\x85\x18\x78\xe1\xb1\x56\x39\xdb\x68\xc2\x0f\x8d\xca\xde\x46\xba\xd5\xdf\xf7\xa2\xb5\x71\x4f\xd4\x9a\xa0\x2e\xea\x61\xb0\x3c\xb2\x38\x29\x35\xd3\xf6\x9b\x75\x3f\x51\x9f\xc5\xff\x66\x16\xb1\xa4\x45\xcc\xfd\x8a\xa4\x36\xd8\x8b\x18\xd3\x32\x50\x8e\xe5\xae\x3a\x4d\x81\x67\xdb\x75\x0c\x68\xa3\x84\x5b\x63\x0d\x0d\xae\xd9\xa9\xbe\x22\x0b\x8c\x3a\x59\x73\x9f\xac\x1a\x5a\xf0\x4c\xa6\x40\x39\x94\xe5\xd1\x11\x6b\x77\x25\xe8\x4f\xe6\x79\x61\x8d\xfb\x83\xa8\x44\xb6\x80\xf1\x14\x6e\x0f\x6c\x52\x85\x54\xc0\x59\x53\x12\xf6\x37\xfb\xea\xe7\x6b\x83\x2e\x97\x80\x2e\x2b\x00\xd8\xf4\xc6\x13\x8e\x23\xda\x95\xd9\x8a\xf9\x91\x75\xb9\xf3\x01\xd6\x5f\x71\xdf\x0a\xde\xaa\x1d\xc0\xeb\xf9\xeb\x67\x92\x87\x4f\xb7\x05\x2f\x24\x01\x85\x9d\x4f\x9a\xb8\xae\x15\x5c\x4f\x31\x27\xfd\x79\x8a\x51\x32\xe7\x21\x6a\xa1\xfe\x8f\x2d\x9d\xb6\xd3\xc0\xe7\x6d\xfa\xb0\x56\xc3\x14\x8e\x73\x2b\x7c\xd0\x18\x1f\x39\x8e\x05\x6f\x5f\x47\x76\x0d\xf5\x39\x12\x8a\xc2\x16\x7d\x10\xb3\x28\x9a\xf2\x7d\x06\x70\x5c\xb6\xae\x9c\xab\xba\xfb\xe1\x46\xa6\xb5\x67\x94\xa6\x7d\x59\x96\xa2\xaf\x76\xfb\x88\x4e\x58\x34\x8c\xcc\xfa\xbb\xa0\xf0\x39\x81\x0d\x7f\x8f\x45\x3f\x9e\xcd\x64\x18\x6b\xd1\xda\x82\x8f\x81\xe1\xb9\x2d\xe6\x8b\x85\x0c\x0d\xfc\x1f\x33\xd1\xcf\x8b\xf9\xe2\xcd\x8e\x9c\xde\xf7\x3f\xd9\xdd\xfd\x61\x33\x6c\xaf\x33\x30\xf5\x58\x1f\xd5\x02\x6f\x24\x61\xe2\x8d\x1d\x67\x6c\x4c\xab\xc8\x7a\xad\x66\x69\x57\xd3\x55\xc5\x5b\x13\x06\x0a\x2d\x3f\xec\xcc\xda\x3b\x3a\x9e\x80\x2a\xcf\x5f\x1c\x47\xa4\xb9\xe6\x48\xd8\xc0\x4b\x8e\x27\x60\xba\xf4\x0f\xda\xc5\xa4\x2c\x23\x3f\x19\x55\x37\x0c\xaa\xab\x9e\x80\x2b\x29\x16\xec\x40\xbc\x8f\x11\x26\x2b\x45\x5b\xf6\xbb\x63\x59\xec\x58\xe6\xf7\xf8\x23\x5d\x4d\x78\xae\xc5\x36\x96\x0c\x1b\x10\x8e\x36\x7e\x80\xbb\xa7\x41\x23\xa0\x36\xd8\x73\x4d\x79\x18\xfe\x2b\xe5\x9e\xab\x72\xe6\x74\xfd\x0b\x45\x0d\xc6\x5c\xaf\x6d\xe0\xfd\x8a\xb7\xa8\x18\x30\x09\xa9\xd5\xf9\xf7\x00\xea\x7e\xdf\x82\x45\x68\x5d\x93\xa6\x04\x26\x04\x8c\x72\x6b\x13\xc7\x6a\x36\x5b\x06\xaf\xa2\x2c\x2d\xdd\x63\xc7\xa9\x0c\x7b\x5a\xe6\x71\xa2\x87\x5c\x0d\x93\x3f\x87\x04\x13\x57\xbf\x5b\x5c\xe7\x67\x6e\xa1\x1d\xd3\xff\x81\x07\xeb\x94\xca\xc7\xe2\x73\xbc\x63\x83\xf5\x7a\x62\xbd\x9e\xe1\x80\x42\xb6\xc5\xb2\x80\x07\x0b\x6c\xbc\x89\x1a\x8e\x01\x60\xf9\x0e\x8b\xdc\x4f\x82\x22\x54\xe9\xc2\x7f\x16\x84\x0c\xeb\xc1\x61\x85\xb9\xfd\xa3\x91\xd6\x7f\xb3\x30\x74\xfe\x2d\xfb\x96\x8e\x7a\x87\x80\xa3\x7b\x88\x20\x17\x45\xa9\xa5\x87\x15\x19\xa0\xda\x5c\x52\x63\xbe\xeb\x56\x44\x53\x7f\xa0\x8b\xae\x86\x31\x17\x60\xd5\x61\xeb\xcf\x73\xb3\xa3\x9b\x1b\x2f\xad\x11\xf8\x89\x63\x6e\x5d\x16\x78\xc6\x42\x56\x5b\xde\x92\x80\x65\x7d\xcd\xde\x15\xb1\x36\x57\x83\xc5\xef\x04\xb0\xe7\x0d\x73\xf2\x9a\x63\xb4\x18\xcb\x02\x6e\x24\x2b\x73\x38\x9f\xf7\x50\x2d\x75\x1f\xd9\x62\x01\x69\xab\x22\x6e\x5a\x72\x0b\x76\x51\x29\x98\xe8\xd5\x80\x1e\xdd\x2b\xd2\xa2\x69\x0c\xf4\x5d\xed\xd6\x84\x35\xae\x68\xe3\xea\x4e\x8d\x73\xa5\x7a\xeb\x76\x8e\x3a\x8c\x89\xa1\x6e\xdf\x0d\x6c\x02\x0c\x94\x17\xef\x02\x7c\x5f\x2b\x7f\x57\x17\x65\xf9\xa7\xf9\x15\x60\x11\x7d\x13\x9c\xee\xf3\x2c\xe3\x4f\x86\x09\x0b\x98\xe2\x91\xbc\x96\x35\x8b\xbd\x5a\x61\xb5\x05\x03\xaa\x30\xf3\xc0\x58\x2d\xd5\x48\x3d\x38\x16\x5e\x50\x19\x55\x4a\xc6\xfd\x60\x44\x23\x96\x81\x16\x84\x84\x33\x1a\xf9\xd2\x3f\x1a\x8d\x8c\xca\x72\x44\xa5\xff\x62\x44\xf4\x25\x56\x0a\xd9\x38\x21\xab\x54\x6d\x59\xcc\x01\x75\x17\xd9\xd3\xea\x95\xa2\x28\xb0\x60\x1f\x03\x35\x10\xb5\x5d\x8d\xa2\xf7\x04\x2b\xf4\xab\x6f\xa0\x08\xa9\x52\x45\xbf\xb9\xa2\x22\x34\x54\xef\xd6\x8d\x96\x49\xb1\x2f\xb5\x08\x71\xf7\x1e\xb5\x8a\x3d\xc8\x2b\xb2\x6a\xc9\x38\x21\xee\xdb\xef\x7d\xb8\x85\x9d\x56\x5d\x3f\x1a\x9d\x51\xa9\x40\xa8\x5a\xd7\xb7\x5a\x45\x8d\x33\xee\x73\xeb\x2a\x9e\xca\xfe\x4c\xe6\x39\x1f\x4b\xc7\x91\xfd\xbc\xe0\x62\xea\x38\x8a\x52\x35\x2f\x35\xb9\x5a\xe7\x83\x7b\x41\x56\xbf\xf6\xd0\xb7\x14\xf5\x4c\x6e\x42\xd5\xf6\xd1\x5d\xc8\x32\x44\x39\x35\x1f\xca\xb2\x2e\x50\x96\x92\x78\xeb\xf5\x7a\xd7\x25\xfd\x58\x1f\xb5\xd6\x19\x92\x5a\x80\xb2\x79\x93\xca\xb5\x24\x04\xd8\x29\xc6\x12\x6b\xf7\x8a\x50\x2e\x10\x55\xd4\xf4\xf1\xc1\x3e\xea\x4d\x8d\x0a\x26\xbc\x59\xaa\x01\x8a\xd9\xb5\x14\x6f\xa7\xb5\x6a\x96\x5a\x52\x55\x6b\xa2\x7f\x04\xf4\xc1\x4c\x67\x54\x4d\x67\xd5\xae\xe3\x54\xd6\xc4\x3e\x1f\xd1\xc8\x5b\x47\x71\xca\x93\xe4\x69\x35\xed\xeb\xda\x6c\x90\xa0\xce\x9c\xa0\x11\x1d\x93\xd5\xb6\xae\x7b\xe4\x38\x78\xcc\xf6\x22\x1a\x99\xbb\x61\x6d\x52\xec\x8f\xe8\x94\x45\x0a\x42\xf3\x34\x9d\x17\x00\x24\x28\xa7\x63\x42\x13\x9a\xd1\x85\x97\x99\x5d\x9f\xb0\x69\xb5\xeb\xb3\xe3\xc4\xcb\xd4\xae\x5f\xb0\xa9\x9f\x81\xd4\xaf\xf1\x4c\x50\x35\xb7\xb0\x66\x2c\x2e\xa6\x29\xa2\x0b\xe2\x4d\x8c\x06\xae\xe3\x44\x9b\xf3\xbd\x20\xc3\xc8\x5f\x8c\xdc\x10\x2f\xe8\x98\x90\xb5\xa5\xda\x91\x8c\x2c\x05\x23\x7d\x90\x04\x9d\x54\x66\x41\x2b\xbd\x45\x5d\x49\x2d\x40\xe7\xb6\x15\xd5\x2a\x8e\xba\xad\x42\x80\x35\xe5\x6e\xef\x57\x97\x93\xc6\x84\x56\x9b\xe5\x10\x8f\x33\x05\x72\x42\xa8\xa8\xea\xc8\x19\x00\x9a\x47\x4d\xfa\x87\x70\x11\xe6\x86\xb4\x9a\x42\xb7\x35\xa1\x74\xc2\xf3\xf6\xed\xa4\x81\xb1\x5b\x7b\xce\x02\xb9\x64\xdb\x63\x01\x06\x46\x9d\x33\x20\xa7\xb8\xa7\xc9\xa3\xd5\x9a\x4e\xd5\x22\xa6\xa0\x11\xff\x99\x63\x1f\xac\xac\xe9\x82\xad\xaa\xdb\x33\x77\x55\xdf\x51\x0b\x1c\x12\xba\x57\x5d\x48\x0b\x1c\x35\xb7\xcf\x02\xef\x52\x35\x07\x70\xec\xef\x56\x01\x6c\xb4\x2b\x36\x70\xcc\x7a\x44\xd6\xd5\xb5\xf5\x0f\xaa\x05\x33\x68\xb0\xe2\xb6\xee\xb1\x37\xf3\x6b\xfc\x56\xdf\x67\x13\x6f\xa1\x4e\x46\xe0\x15\xf0\xb3\xb6\x6f\xb5\xdb\x05\x35\x36\xd2\xb0\xb8\x35\xb1\x34\x64\x02\xd0\x9f\x27\xb6\x28\x3f\xad\xf4\x52\xa3\xb0\xd0\x5a\x71\x0b\xaf\x81\x75\xe0\xaa\x1b\x56\x77\x0c\x5c\x91\x5e\xeb\x35\xcd\xd8\xa2\x5f\xcf\x14\x1b\xe3\xc5\x86\xf6\x7e\xc8\xfb\xd5\xd5\x2d\xec\xee\x69\xa5\x13\xe8\xd9\xb8\x71\x91\x21\xba\x09\x54\xd6\x84\x16\x6a\xa9\x2f\x58\xd1\x6a\xa1\xa0\xff\xdc\xa0\xa9\x42\xfc\x9b\x03\xd1\xc3\xa7\x82\x3e\x50\xae\x75\x88\xc1\xf0\xae\x25\x5a\x70\x9c\x8b\x06\x07\xac\xad\x8b\xf3\x86\xfd\xac\xd5\xee\x58\xc7\xd0\x69\x61\x9c\xf3\x20\x91\x27\xcb\x62\xae\x6f\xbf\xe2\x74\xdc\xd6\xdc\xed\x1c\xad\xbd\x86\xf4\xf6\x91\xb9\x53\x41\x14\xd5\xd7\x3f\xea\xd9\x52\x50\xb5\xc6\x09\xf2\x55\x9b\x1c\xa9\xda\x57\xeb\xe2\xc1\xfd\xb6\x65\x07\x9f\xcf\x67\xb2\xb2\x07\xd8\x90\x9b\x22\xae\xe0\xe3\x83\x65\x1d\xb6\x1f\x30\x85\x86\x77\x22\x8f\xa8\x92\xb5\x83\xb8\x09\xc6\xf5\x26\x2d\xe6\x5f\x62\xf9\x80\x2b\xab\x66\xc1\x26\xfd\x27\x6d\xa6\xe2\x3d\x62\x41\x86\x82\x09\x4c\xdc\x5c\xa8\x67\x2c\x98\xd0\xea\x54\x28\x8a\x1f\xb5\x3d\x3d\xd8\xa8\x9c\xcd\x67\x8b\x65\x21\x43\xb8\x72\xc5\x82\xf4\x17\xf3\x3c\x56\x6d\x0e\x07\xae\x50\x19\x4e\xe7\xcb\x34\x8c\xd3\xf1\x59\x12\xcb\xb4\xf8\x28\x45\x81\x49\x3f\x98\x17\xc5\x7c\x46\xdc\x2f\x95\xea\xf4\x40\xab\x64\x07\x5a\x43\x7c\x67\x99\x62\xbe\xa0\x7b\xdc\xf4\xfe\xf4\x09\x0f\x68\x70\x20\x88\xf1\x3b\x52\xa5\x7f\x9a\xe3\x01\x1d\x6c\x52\x57\x9c\xbd\xd2\xd0\x4e\x28\xb0\x34\x31\x43\x0e\x3c\x3e\xc4\x01\x1b\xab\x16\x8d\x5c\xe4\xf4\xe9\x8d\xa2\x9b\xc8\x50\x4d\x95\x8b\x03\x26\xb1\xfd\x39\x3f\x7d\xba\xe6\x33\x20\x29\x4c\x16\x54\xcc\x17\x20\x21\x70\x1c\x6d\x13\x49\x5c\xf3\xbb\xd6\x8c\x70\x23\x3a\xf0\x02\x50\x4f\x7c\xd0\xc8\x72\x07\x63\xae\xbb\xb6\xde\x38\x16\x9c\x69\xff\x02\x48\xfb\xa1\x79\x15\xd9\x65\x43\xcb\x74\x1e\x4f\xc8\xda\xda\xe6\x93\xb5\x25\xb0\x8e\x1b\x21\x5f\x27\x70\x9c\x5a\x47\x0f\x21\xa3\x15\x5b\x41\x43\x6f\x43\x83\xaf\x41\x65\xd5\xa9\x56\x47\xba\x21\x98\xec\xd4\xaa\x50\x0f\xc4\x77\x4d\xe3\x6f\x61\xdf\xbd\x6a\x6a\x6a\x64\x81\xc4\x78\xeb\x01\xa3\xc6\x4d\xb5\xe3\x4a\x58\xe6\x38\x7b\x5a\xfb\xad\x33\xd8\x6d\xe7\xf2\xc6\xb6\xad\x57\x8c\xc8\x30\x70\x57\x16\x6d\x71\x19\x35\x77\x1b\xed\xb3\xa7\x88\x9c\xca\x26\x0f\x20\xe3\x2e\xc7\x1b\xa4\x26\x5c\xe2\x08\x5f\x1c\x1c\x50\x85\xc3\x2e\x40\xf2\xe7\x5d\x56\x84\x05\x51\x55\x5d\xf6\x17\xf3\x05\x26\xb5\xe1\x55\x40\x56\xa2\x0f\x0e\x9f\xc0\xba\xcf\x3e\x8f\x64\x15\x73\x7d\xe8\xd5\x76\x1c\xe3\xd6\x96\x25\x2b\xee\x42\xdf\x96\x2c\x55\x44\x62\x21\xbd\x20\x93\x7c\xba\xcf\x2d\x73\xa7\x25\xbb\x9f\xc7\xe1\xfe\x40\x3d\xe0\x25\x19\xaa\xca\xdc\xa5\x37\xe5\x78\x49\xaf\xd4\x54\x2f\xd9\x15\xf1\xae\xd8\xd2\xa6\x21\x61\x0b\x3c\x77\x18\x4b\xfa\xcb\x2c\xc1\xa4\x2c\xef\x3a\x8c\x2d\xc9\x73\x95\x40\xef\xd8\x92\xce\xf0\x4d\x1b\x94\xe2\xea\xeb\x52\xed\x31\x8d\xbd\xe1\x6a\x6b\xca\x82\x5a\x29\x9b\xa6\x2c\xe8\x4f\xe2\x5c\xe1\x67\xba\x60\x81\x25\x1e\xa3\x19\x18\x58\x4b\x9e\x55\x09\x0a\x25\x78\x49\x3f\xce\xdf\xcd\xc5\x94\x19\xb7\x4d\x17\x6c\x40\x2f\x99\x3f\xf2\x92\x7e\xb7\x5b\x09\xe0\x6e\x96\x85\xc2\x9f\x0a\x1e\x98\x6b\x6e\xb6\x27\x21\x47\x9c\x8a\xed\x8f\x67\xf3\x65\xda\xc2\x8b\x17\xbd\x9e\x6a\x29\x9d\x17\x71\xf4\xf4\x75\x22\xd3\xeb\xf9\x76\xa9\xbc\xa5\x98\x0c\x0b\x3c\xe4\x98\xb8\x97\x95\x32\x96\x96\x92\x2d\xe9\x1d\x7d\x66\xd3\xfe\x24\x93\x11\xbd\x66\x1c\xdc\x47\x60\x14\xf0\x5c\x22\x42\xed\x15\xbd\x63\x4b\x0f\x26\x8d\xb5\xa0\xbf\x24\xab\x7b\xa3\x3f\x68\x48\xd9\x69\x87\x59\x73\xe8\x38\xd8\x9e\x52\xe2\xa5\xf0\xd9\xcc\xaa\xe3\x60\x6b\x8e\x2b\x2f\x0c\x5a\x7c\x77\xc7\x18\x83\x6b\xb7\x67\x0d\x8e\x70\x27\xac\x32\x96\x65\x54\x23\x89\xc4\xd3\x70\xe9\xd9\x71\xde\x72\xfc\x4c\x18\x63\x6f\x15\x12\xf1\x9e\x19\xf7\xee\x74\x0d\x76\xc9\xb1\xe3\x44\x1a\x6e\x8c\xcb\x32\xe6\x24\xe6\x8c\x7b\x62\x38\xad\x25\x09\x9c\xb8\x63\x85\x1e\xa6\x20\x31\xae\x25\xf8\x7f\x43\x84\x4a\x06\x72\x7d\x39\x44\xc8\xe5\xc6\x12\x0e\x4b\x42\x35\xa8\x63\x92\xb8\x7a\x26\x19\xf7\xf4\x83\xbe\x90\xc3\xaa\x0d\x03\xd7\x53\x5f\x0c\x91\x69\x0a\xa4\xae\xc8\xdd\x03\x05\x48\xfd\x32\x02\x73\x08\xca\x09\x9d\xe8\xad\x5b\x41\x87\xa4\x32\xbc\x8f\x79\x59\xea\xca\x6d\x63\xab\xff\x3c\x1c\x53\xf4\x6f\x88\xa8\x8d\x01\xe7\x6b\x87\x08\x6d\xa9\x97\xfc\x46\x51\xa8\xaf\x59\xe7\x88\x5e\xe9\xd5\x4d\xfa\xf3\xf4\x73\x96\x68\xbd\x1f\xb6\x81\x96\x3b\xaf\xe1\xa7\x9e\x40\x02\xc6\x99\xf3\x14\xa3\xc5\x7c\x01\x2d\x81\xbe\x67\x9d\xaa\x26\x42\x40\x4d\x90\xfe\x9a\x75\x06\xeb\x9b\x4d\x05\x40\xbe\x86\xed\xae\xc0\x54\xac\xf7\xc5\xb9\xbe\x1b\x6c\x0b\x2c\x75\xa5\x51\x64\xd7\xba\x6f\x37\xab\xab\x11\x13\x29\xa6\xcd\x00\xc6\x5e\xd2\x57\xfb\xf7\xb5\x5a\x88\x2d\x72\xf2\x1a\x04\x77\x18\xa9\x09\x6c\xae\xcd\xf9\x90\x5b\x26\x9f\x78\x52\x14\x8b\x7c\xf8\xcd\x25\xc3\x6f\x87\xdf\x8c\x27\x06\xe3\x17\x0e\xa9\x36\x43\x19\xc9\x8c\xed\xa0\xf6\xbc\x8b\x5e\xcf\x13\x6c\xd1\x42\x69\x9a\x67\x2c\x7c\x31\xf2\x80\x70\xa3\x41\x59\x0e\x88\xb7\xa7\x52\x2c\xdf\x2a\xa2\xae\xb9\x2f\x78\x2a\x64\xc2\x76\x50\xf7\x8a\xd2\x1e\xe2\xba\x4a\x3e\xa2\x99\xe2\x61\x25\x7e\x02\x77\x4a\x6e\xe7\xc8\x02\xca\x5f\x64\x4b\xa8\xba\x41\xd9\x8d\xd5\x8f\xd1\xc6\x51\x8f\xb5\x69\x96\x6d\xf4\x61\x90\x8c\xa5\x5d\x00\xb8\x27\x84\x8b\x19\x1b\x21\x7f\x95\xdf\x13\xe0\x5a\x6a\xc8\xc1\x36\xc2\xe2\x1d\xb6\x70\x1c\x9c\x0d\x33\x7d\x54\x32\xc6\xfb\x29\x71\x33\xc6\x29\xdc\x72\x51\xde\x5f\x10\xf5\x48\x17\x8a\x8f\xe2\x74\xd1\x4f\xd9\x86\xbe\x79\x64\x08\x8b\x8e\xa2\x2b\xb0\xaa\x85\xf7\x17\x2c\x20\x5a\xe7\xbe\x9f\x32\x4e\x40\x21\x22\xd0\x2e\x01\x34\x7d\xff\x06\xa3\x96\xde\x16\x22\x18\xc5\x31\xdc\x70\x18\x6e\x7c\x40\xc7\xec\x3d\x5e\xad\x69\x48\x57\x71\xe8\x2a\xfe\xc6\xb0\x78\xa0\x17\x20\xf8\x82\x8b\xb8\x78\x2a\x4b\xad\xdd\xd9\x7f\x77\xf2\xdb\x9f\x5f\x4e\xae\x3e\x5f\xd0\x54\x65\x5b\x40\x37\x69\xa6\x0f\x99\xa5\xfb\xce\xf6\x56\x8b\x65\xb1\xc1\x21\xa9\xa3\x76\x5f\x79\x87\x98\x1e\x6f\x56\x59\x71\x13\xa9\xcf\x47\x65\x89\xd5\x0f\x5b\x4d\xe5\x93\x62\x77\x3c\x45\xa6\xae\x41\x19\x20\x29\xcb\x49\xaf\xe7\x25\x9a\x2d\x9b\xfc\x3a\x75\x1c\x58\x13\x2d\xc8\xc6\x59\x7f\x2a\x9f\x2c\x72\x5a\xb3\xca\x1b\x27\xfe\x7b\x8d\x07\xd0\x78\x8b\xbc\xf2\x80\xc1\xac\x20\x94\xcf\x47\x95\xc8\xfc\x7f\x53\x67\xc0\x60\x47\x28\x7c\xbb\x20\xea\x2d\x83\x6d\x11\xf4\x53\xe2\x45\x6a\x39\x29\x7c\x30\x67\x40\x95\x5f\x9b\x67\xd5\x03\x6f\x72\x70\x50\xf5\xe2\x24\x49\x6c\x1f\x06\x6a\xf1\xbc\x09\x1b\x78\x6a\x79\xbc\x05\xd3\x2b\xb3\xa6\x46\x2f\xc1\xce\x9a\xb2\x31\x4b\xf4\xc2\xd5\xbe\x74\x82\xd1\x9a\xc6\x69\x34\xdf\xe1\x16\x01\x76\xc9\x98\xae\xf2\xf8\x59\xba\x13\x60\x40\x1b\x87\x4b\x7d\x55\x68\x13\x10\x05\x6c\x0f\xac\x50\x6d\x36\x48\xe1\xd2\xc0\x97\x23\xc0\x3a\xd1\x1c\x13\x9b\xf3\xf1\x80\x8f\x68\x59\xb5\x59\x5b\x6a\x6d\xad\x69\x63\x3e\x12\x6d\x1e\xff\xd6\x7e\xa7\x3b\xea\x0a\x30\xaa\x34\xf0\x72\xd4\x3a\xdf\xe7\x62\x5b\x78\x6e\x4b\x73\x0e\xff\xf8\x96\xff\x84\xfd\xff\x71\x46\x25\xc3\xdf\x7e\x1a\x12\x82\xbf\x0d\x87\x44\x25\x7e\x7b\xf8\x49\xfd\x76\x0f\x2b\xd3\xdb\xd6\xa0\xa3\xea\x86\x8d\x1b\x69\xbf\xf6\xc3\xd3\x19\x9b\x73\x3a\xe6\x18\xc5\xb9\x58\x20\x1a\xd0\x48\x81\x9d\x21\x6a\xb4\x2b\xf7\x83\x18\x88\x9e\x7c\x1f\x94\xb3\x81\x4f\x43\x2e\x32\xb6\x60\xfb\x60\x29\x66\x7f\x22\x9e\xf4\xa3\x11\x5b\xcd\xe6\xa1\x74\xc7\xfe\xd1\x08\x58\x40\x55\x95\x56\xdb\x46\x3f\x29\xae\x64\xec\xbf\x18\x19\xad\x62\x9e\xb8\x68\xa8\xd3\x7e\x1e\x51\x85\x3a\x14\xbf\xe4\x8e\xfd\x5f\x46\x65\x19\xad\x77\xea\x81\x35\x82\x6a\xc6\x1b\x9d\x2d\xbd\xc9\xcb\x72\x2f\xe8\x30\xf6\xb2\xf1\x55\x35\xd6\x56\x48\x61\x9c\x81\x10\x5e\x51\x40\xc0\x8a\x16\x59\x3c\xc3\xdf\xc9\xb4\xd6\x22\xee\xd5\x1a\xac\x32\xbf\xe5\x3f\xd5\x8a\xaf\xdf\x5c\x58\x06\xe3\xb1\xe0\x5b\xde\xc3\xfd\x9f\x48\xf7\x90\x4e\xd8\x21\xae\x93\xf1\xd0\xfd\xe6\x62\xff\x0f\x6f\xd4\x23\x64\xe8\x0d\xc9\x21\x1d\xb3\xaf\x21\x46\xe9\xf8\x36\x13\x14\xfe\xe6\xb2\xa0\x79\x26\xd4\xbf\x5c\x16\x48\x81\xbe\xc3\x3f\xf0\xd0\xc5\xdf\xfe\xf8\xf6\xc7\x90\x0c\xf1\x37\xf8\xa3\x5f\xc8\xf0\x90\x4e\xd5\xf7\x79\xea\xf3\x83\xe7\x51\xaf\x8c\xe6\xd9\x8c\xc3\x74\x90\xee\x61\x25\x88\x30\x7d\x64\xcd\x0e\xd5\xeb\xaf\xc5\x4a\x96\x2d\x81\xa7\x85\xee\x6a\x22\xe9\x5d\x80\x23\xeb\x63\x0d\xad\xa9\xdc\x96\xc8\x95\x25\x96\x0a\xf4\xf9\x23\x1a\xf4\x8d\x60\x0d\xf3\x1e\x3a\xaf\xab\x6e\x8b\xcf\xd0\x96\x32\x2e\xda\xb0\x78\xd4\xa4\x28\xf8\x1a\x90\x20\xf4\xad\xbe\x4a\x3a\xd6\xdc\x96\xc6\x15\x41\x25\x98\x91\xc4\x7b\xc4\x13\x32\x9c\xb0\x95\x51\x77\x77\xef\xb8\xe2\x64\xdd\xbd\xce\xa4\x6f\x92\x1c\x67\xd2\x4f\xe2\x74\xea\x38\xb8\x4e\x63\x2a\x1b\xa4\x12\x90\xcd\x66\xf1\x3c\x8b\x8b\x27\xd6\x3c\x96\xe5\xc0\x9b\x68\x82\x94\x8d\xbd\x89\xb6\x30\x9d\x18\xc3\x38\xee\x4d\xaa\xdb\x08\x56\x3f\x95\xe5\xc4\x32\x7e\x54\xad\x82\xd9\xa9\xfa\xae\x8d\x90\x59\xf3\x58\x96\xe8\xe2\x44\x5b\xa8\x4f\xd9\x84\x26\x6c\x42\x33\x53\xbb\xc2\x67\x2d\x73\x4b\x40\x6c\xea\xe8\x7d\x9a\x5b\x3a\xf1\x00\x4d\xbd\x33\x9c\x68\x0b\x4d\xc5\x13\x80\x74\x34\xe9\x6f\x66\x1d\xe2\x74\x2b\x8d\x89\xaa\x20\xcd\x40\x68\x9a\xb6\x4c\x3a\xd9\x6a\x4d\xdc\x8d\xa4\x56\x89\x23\x42\xa0\xed\xcd\x7a\x55\x37\xbe\xd3\xda\x66\xa2\x6e\x98\x68\xa7\x9e\xdb\x65\x8c\x2e\xc0\x2d\x4b\x6c\x8b\xd2\x8b\xd6\xeb\x49\x0e\xe7\xfc\xd6\x3a\xb7\xe9\x5c\x14\x59\x82\xe8\x5e\x66\x04\x53\xdc\xe3\xae\x62\xbc\x1d\xe7\x15\xbe\x20\x44\x70\x76\x51\xab\x88\xbd\xc2\xb7\xa6\x99\x19\xfb\x22\xb4\xb6\xe6\xad\x76\xe1\x46\x56\x82\xb3\x99\xff\xf3\xa8\x66\x9d\xd7\x82\x57\x2c\xb3\x6a\x54\xf0\x56\xab\x60\xbe\x82\x68\x66\xc0\x45\xce\xa6\xfd\x6e\xb7\x82\x97\x2c\xf5\xce\x70\xde\x9a\x4e\x02\xbb\xb1\xdb\x35\x69\xa7\x55\xce\x8d\x5c\xde\xa4\x6d\x27\xd6\x36\x1b\xf3\x8c\xd6\xed\xa4\x92\x18\x3c\x90\x55\x88\x1f\x88\x05\x29\xa3\xf5\x88\x10\xaa\x4e\x53\xe5\x02\x84\x80\x0b\xbb\xb9\xc0\x19\x69\xdb\x08\x69\xc0\xc1\x15\x25\x7f\xab\x2d\x4b\x80\x59\xf8\x3a\x89\x0b\x99\xc4\xf9\x4e\x74\x78\x82\x03\x32\xc4\xfc\x07\xa5\x70\x40\xf4\x6d\xa8\xfb\xc3\x5c\xc4\x34\x1f\xcf\x14\x3c\xfc\x97\xdb\xff\x41\x31\x50\xfc\xad\x7a\xf0\xa3\x7c\x86\x49\x4f\x1b\x61\xee\xa6\x55\xfd\x0e\x16\xe1\x04\x60\x67\xca\xb8\x19\x64\xba\x21\xdd\xb5\xc1\x9f\x65\x59\xb0\x1b\x1a\xa2\x4d\x8d\x7c\x95\x04\xfa\xff\xda\x2d\x41\xad\xb8\xd5\x16\x10\xdb\xdc\x04\xea\xe6\x02\x92\x8c\x55\x85\x7a\xb4\x0d\x85\xb6\x1d\x19\x50\x90\x4a\xd0\x6b\x1a\x73\x7a\x43\x5f\x5b\x44\xc7\x95\x26\x96\x8d\x94\xcb\x68\x75\x34\x4e\x73\x04\xb1\xa5\x64\x5f\xeb\xfa\x24\x59\xb5\x1c\x67\x9d\x82\x07\xa7\x53\xb8\xd7\xdf\xf6\x9e\x68\xbb\xd0\x7e\x0f\x2a\x84\xea\x1d\x0c\x54\x2a\x77\x41\xdf\x6e\x7b\x87\xda\x4f\xa1\x18\x69\x77\x45\x0f\x19\x5f\x60\x74\x9c\x2f\x78\xfa\xeb\xf1\x21\xfc\x20\x62\xd4\xb5\x30\xf8\xf0\x5b\x13\xa3\x97\xb4\x77\x0b\x1d\xe3\xa6\x6b\xde\x57\xc5\x0a\x87\x21\x4c\x9d\x1e\x10\x27\x46\xa8\x61\xb3\x0e\x76\x27\x15\x6a\x02\x23\x6e\x04\xf0\x0f\xbc\x4b\x84\x65\xb9\x5a\x1b\x75\xe6\xd0\xb4\x0c\x72\xe7\xc6\xea\xe7\x65\x4a\x27\x2c\xec\x17\x75\x42\x03\xdc\x72\x55\x43\x3f\x5a\x16\xcb\x4c\xbe\x87\xb2\x46\x44\xec\xc1\x65\x71\xb7\x1b\xb4\xab\x32\x17\xc3\x5b\xe9\xc4\x1b\x97\x25\x1e\x33\x1c\x02\x97\xa4\x06\x3e\x44\xd1\x3c\x93\xf1\x38\x6d\xdc\x73\x3f\x70\x70\x5b\x1d\xee\xf0\x7b\x78\xfb\xe5\xd5\x21\x19\xa2\xfc\x7e\x8c\x5c\x34\x29\x66\x49\xf5\xa3\xc6\xa8\x9f\x3a\x8c\x8d\x87\xa7\xf8\xb7\x00\x8f\xe9\xb6\x03\x28\x5e\x39\x80\x22\xc4\x15\xc3\x8f\x5c\xab\xa4\x57\xae\x3f\x5d\xae\x75\xbf\x2a\x9d\xa6\xa9\x62\x9b\x26\x24\xac\xbc\x64\xa0\xde\xb4\xa5\x90\x48\x27\xfe\x74\xd4\xaf\xf6\x4e\x7b\xb1\xd4\x41\xc4\xe0\x3a\x5b\x38\x8e\xd0\x4f\x91\xe3\x68\x06\x19\x96\xb6\xf6\xac\x61\xd9\xcc\x63\x4e\xf7\xcc\xb6\x04\x43\xdf\x46\x96\x59\xed\x08\x4d\x75\xd0\x29\xdc\xfa\xa6\xb4\xa0\x37\xaa\xcf\x77\xd0\xe7\x1b\x06\x77\x2a\xb8\xd2\x80\x27\x34\x63\x03\x2f\x3b\x9e\xd4\x17\xc2\x3d\xf6\x33\x89\xd8\xc4\xcf\x46\xf4\x46\x11\xbb\xc2\x8f\x46\x5a\x7b\xe5\x86\x89\xfa\x0a\x39\x65\x4d\x89\xe3\xd4\x23\x8a\x49\x63\x37\xfe\xc4\xcf\x7a\xbd\xd1\x88\x0a\xa6\x9f\x68\x54\x3d\x68\xad\x18\x61\x70\xbb\x7a\x4e\x18\xef\x77\x53\xf9\x80\x09\xdd\x9a\x95\x53\x3c\x25\x34\x21\xb4\x60\xa2\xdf\xad\x34\xbf\x2b\x94\x42\x76\xa4\x69\x66\x39\xe9\x77\xe7\x69\xe3\xd2\x40\x86\x88\x16\x46\x70\x96\x30\xee\xa9\xda\x9a\xcd\x7b\x93\x7e\x9a\xd4\xf6\x94\xc3\x80\x83\x73\x95\xe6\x33\x95\xc4\xed\x88\x7e\x05\xbf\x5a\xb9\x1d\x47\x0e\xa5\xdb\x91\x8e\x13\xe8\x82\x01\x01\xf2\xc5\x13\x38\xa2\x09\x9d\xd2\x90\x16\x54\x98\x96\x61\x49\x39\x9d\x5a\xc6\x10\xf4\x81\x4a\xb2\xae\xf6\x90\xbe\xb8\x37\xab\x75\x47\x0b\x36\xf0\x8a\xe3\x5a\x2f\xa5\xe8\xf5\xc8\x6a\x0a\x37\xc2\xbf\x7b\x7b\x09\x13\x1c\x73\xbf\x18\x51\x28\xa3\xe8\xa3\x62\x18\xba\xaa\x3e\x0f\x47\x2c\xa9\x9c\x49\x9d\xe3\x84\x42\xb6\x29\xc0\x30\x98\x1d\x1f\x0a\x45\xba\xab\xc4\x71\x22\xbd\x18\x8e\xb3\x0d\x41\x14\xae\x97\x95\x6a\xec\x94\xc1\x25\x7f\x21\xb3\x59\x9c\xf2\xa4\x2c\x3b\x38\x63\xaa\x72\xdb\xa8\xa6\x2c\x3b\x59\xd5\x38\x48\xde\x6f\x71\x46\xa3\x21\x8e\xbe\x37\xe3\x65\x09\xce\x5a\x76\xcc\x2e\x74\xad\x29\xe5\x6a\x73\x8f\xa8\x2c\xa7\xc4\x28\x1d\x14\x34\xa2\x53\x42\x15\x62\xa3\x77\xec\xae\x2c\x23\x4f\x6b\x42\x54\xc2\x84\x74\x38\x76\xdb\x6e\x9c\x82\x4d\x37\x02\x35\x3c\x84\x83\x44\xc7\x74\x42\x56\xda\xb5\x81\xd9\x96\x9d\x23\x3a\x21\x34\xec\x77\xbb\x4d\x5f\x42\x30\xb7\xa9\xb9\x5d\x55\x74\xf5\x1d\x50\xe9\x0a\xba\x13\x50\xba\x11\xdd\x01\x26\xdd\x71\x4b\xe5\x4f\x70\x1b\xf9\x68\x60\xbe\x27\xfa\x5d\xc5\x41\xd2\xa9\x97\x83\xa1\xa6\xad\xc5\xbd\x12\x3c\x97\xfb\x0b\xee\xa6\x1c\x07\xf4\x89\x63\x7d\x13\x4a\xd1\x05\xd2\xa0\xa4\x56\xc2\xd4\xbb\x8c\x71\x10\x64\x82\xd6\x78\xae\xb6\x1c\xbd\x61\x77\x8e\x73\x57\xef\xba\xe3\x1b\xbd\xf3\x54\x99\x4b\xd6\x39\x02\x91\xaf\x97\xb0\x3b\xbf\x18\x79\x53\x96\x68\x56\x20\x63\x9f\x70\xa2\x5d\x23\x11\x2f\x61\x4f\x1c\x4f\x61\xb1\x52\xf6\x17\xd7\xb6\x63\x09\x21\x53\xd6\x48\xc7\xbf\x6a\xc5\x3c\x23\xfb\xfe\x2f\x4b\x01\xef\x4f\xdc\x27\x87\xe3\x9d\x3e\xf2\xf6\x83\xb6\x91\x9c\x41\x85\x8a\x92\xae\x8b\xe3\xdb\x82\x67\x45\x79\x91\x86\x44\xc7\xe0\xf0\xde\xe0\x5b\xe2\x38\x09\x63\xec\xb6\x87\xe0\x2b\x72\x1c\x7c\xc9\xa6\xf4\x35\x9b\x56\x3d\x18\xd0\x4a\x15\xe6\xe0\xdf\x49\x0f\xc9\x34\x44\x74\xba\xf3\xf3\x7f\x90\x6a\x84\x6d\x2d\x65\xe2\x8d\xfd\x64\xc4\xa6\x30\xec\xb2\xec\x88\x4d\xbe\x32\x21\x44\xa8\x1c\x19\xfd\x28\x30\xa7\x09\x38\x38\x52\x09\x6a\x2b\x7d\x81\x75\xce\x68\x42\x53\xe2\xc1\xda\x25\x14\x9d\xc0\x9a\xd1\x4b\xfa\x9a\xac\x39\xdb\x53\x28\x88\xe7\x39\xd0\xc7\x67\xcd\x4d\xa3\xa2\x87\xbe\xf0\x04\xe6\xfb\x15\x24\x23\xb8\x85\xd6\x17\x71\x53\x36\xd1\xe4\x3f\x27\x1e\xd1\xfd\xf6\x5f\x8c\x08\xad\xda\x38\xd3\xfb\xa2\xea\xcb\x27\x3c\xf5\x7f\x56\x84\x35\xb8\x28\xd1\x83\x37\x0a\x5d\xbd\xa9\x3f\x18\x55\xe8\x42\x33\x0f\x1e\xec\xb6\xf7\xc0\x87\x80\x52\xfb\x57\xd3\x2a\xb7\x34\xcc\x1d\xa7\xe5\x4b\x64\xe3\xb5\xed\x4e\xd1\x23\xbc\xa1\x92\x7a\x6c\x3b\x27\x7c\xa0\x76\xf5\x2d\xdd\xf5\x0d\xaf\x25\x97\xa0\x77\xda\x14\x6c\x75\xfb\xbf\x5c\x45\xff\x01\xc2\x32\xf6\x6c\x76\xce\x6a\xae\x8e\xac\xb9\x7a\xb7\x3d\x57\x2f\x46\xa4\xa2\x1a\x2f\x14\xd5\x18\xe8\x48\x16\xef\x76\x29\x1b\x3c\xf3\xb6\xac\x0b\xdc\x5a\x80\x0e\x79\xa0\x26\xa5\xed\x2b\xae\xfd\x0e\x12\xdd\x70\x6e\xfc\xc8\x34\xec\xd9\xb2\x90\x19\x48\x73\xf6\x40\x91\x89\x5b\xb3\xb9\xd0\x02\xec\x8d\x5a\x1c\x47\xf6\x7a\x74\x23\x59\xa8\xe4\x83\x83\xda\x53\x07\x27\xde\x86\x03\x98\xf5\xc3\x24\x4e\x24\x1e\x1c\x4b\x83\xcc\xb6\x7c\xbc\x9c\xe2\xd0\x12\xa5\xe7\xff\x04\x90\x95\xec\x99\x83\x46\x65\x4b\x09\x8b\x5b\x59\xec\xe8\x36\x95\xc9\xac\xfe\x44\xa7\x34\xb3\x68\x1e\xcb\x77\x99\xbe\xfa\xd3\x3e\x6c\x72\xa3\x58\xa2\x26\xa6\x12\x6a\x9c\x57\x4f\x1e\x6f\x44\x49\xc0\x81\x3e\xa9\x95\x58\x32\xc6\xce\xcb\xf2\xbc\x61\x60\x35\xbb\xca\x59\x17\x73\xda\x16\x5f\x80\x4e\xc9\xa4\xbe\x08\xd5\x6a\x24\x5a\x5b\x23\x37\xd4\x35\xf1\x82\x1d\x2d\x07\xff\x4a\xcb\x01\xeb\xe2\x60\x57\xcb\xb5\xa6\x91\xed\xe0\xb3\x68\x66\xa2\xf6\x1f\xff\xca\x8a\x6d\x13\x18\xfa\x38\x21\xda\x85\x7f\xed\x85\x33\xb2\x0f\xb7\x46\x34\x11\x68\x47\x47\xfe\xcf\x8a\x7c\xd3\xe2\xcb\xc8\x7f\x31\xf2\xd0\x1f\x7f\x80\x28\x73\x28\x98\xa8\x59\x13\x57\x32\x2c\x35\xad\x1e\x8c\xd4\x7e\xaa\x89\x5d\x4f\x02\x36\x55\x34\x71\xd0\xa6\x89\xa5\xaa\xa3\xed\x25\x0b\x87\xc4\x15\x9a\x88\x0e\xb5\x08\x45\x51\x57\x9d\xc8\xda\xf3\xa2\x00\xe7\x52\x01\x48\x30\xed\x30\x3e\xc6\x47\xbe\x3f\xa2\x63\x88\xb8\x52\x7b\x0a\x1f\x1f\x47\xde\xb8\xd7\x23\xd2\x1f\x8f\x18\xcc\x90\x3f\x36\xae\xda\x2b\xb1\xab\xd6\x0b\xb4\xcc\x3e\x1b\xbc\xdb\x88\x96\x23\x8e\x09\xd5\xbe\x25\x27\x8a\xde\x37\x93\x3c\x65\xa1\x3f\x19\xd1\x84\xad\xba\xda\xb9\xd8\x94\x31\xb6\x2c\xcb\xe9\xc6\x52\x0e\xa5\x1b\xd1\x8a\x9c\x72\x39\x05\x2c\x9e\xbb\x01\xb5\x08\x0b\x57\xac\x69\xc6\xa6\x96\x28\xc8\x43\xff\x83\xea\xcb\x0b\x7f\x0a\xf8\x76\xa4\x50\xd0\x1d\xce\xe8\x5e\x42\x3b\x0a\x37\xd9\x92\x23\x85\x88\x4c\x36\x96\x78\x31\x2f\x4b\x6e\x71\x25\xf0\xa1\xbd\x0c\x49\xc3\x97\x54\x74\x93\x15\x61\xe4\x52\xdf\xcf\xc3\xb9\x4b\xac\x33\x97\xb5\x80\x99\x67\x3c\x76\x83\x3f\xcb\x80\x71\xca\xd9\x03\xf1\x62\x05\x83\x42\x26\x38\xf1\x04\x7c\x8b\xf9\xf0\xba\xd9\x32\xd7\xf5\xfc\x8f\xcd\xf1\x16\xf4\x99\x6b\x3d\x0a\x45\x01\xbf\xa6\x17\x54\x70\xc5\xc2\x7b\x01\xdc\x97\xe3\x88\x85\xf4\x9a\x85\x16\x55\xea\xe2\x6b\x76\x8a\x25\xa1\x91\x26\x8d\xf1\x35\x1c\xbb\xa5\xe3\xe0\x0b\xc5\x34\x00\x05\x37\x20\x60\xef\x82\x9f\x59\x46\x9f\xb7\x99\x4d\x36\x26\x5e\xa0\xba\x2a\x38\xbb\xc1\xd7\x34\xa2\xcf\x34\xe0\xaa\x71\x53\xd3\x16\x5f\x72\x4d\x2f\xd4\xc4\x77\xf0\x95\xe3\xe0\x2b\xbd\xdc\xf0\xd3\xef\x76\xe7\x59\x3c\x56\xf4\x71\x2d\x2d\x26\xa4\xcd\xd9\x68\xd2\xfa\x1a\xa4\x93\x17\x3b\x24\x65\xcb\xed\x34\xfa\x77\x2c\x68\x44\x2f\x76\xe5\xa7\x7b\x4b\x7a\xa1\xcf\x8a\x30\x37\x06\x5f\xb8\xea\xd0\x2d\x9d\x79\x5f\xb8\xe3\x08\xee\x7f\xe1\x7a\x43\x38\x0e\xbe\x63\x5f\xb8\x25\xc1\xdb\x96\x5e\xe2\xd7\xcc\x2a\x41\x1c\xe7\x75\x5f\xbb\xb0\x89\x62\x99\x39\xce\x9d\xe3\xe0\x19\x7b\xad\x78\xac\x2d\xe6\x4b\xf7\xf2\x75\xbd\x9f\xe8\x1d\xfd\xc2\x89\x31\xfd\x49\xc1\x7b\x3a\x27\x2b\xa8\x3f\x1d\x01\x94\x39\x67\xaf\x31\xf1\xce\x3b\x8c\x35\xa5\x1c\x07\x37\x2f\xec\x9c\x5e\x37\xdb\x37\x6d\xef\xdc\x73\x42\x5f\x33\xc6\x66\x8e\x83\x77\x74\x07\x93\x1f\x74\xf2\xbc\xea\xdb\x7a\x9d\xd6\xea\xd0\x35\x2f\x9b\x1e\x27\x5e\xda\xeb\x91\x3b\x88\xa6\x44\x39\xc7\x77\xf4\xae\x25\xc0\x1c\x5e\xb8\x82\xaa\xad\x72\x57\x81\x75\xc7\x29\xf0\x5d\x1b\xb2\x37\x1f\xe9\x35\x15\x9c\xd0\x67\x0d\x5b\x9f\x39\x13\xb0\xb1\x96\x35\xe7\x53\xc7\x0b\x68\x92\x3e\x67\x40\x23\x3e\x73\x76\x41\x3c\xee\x38\x1c\x3f\x73\x2a\x6d\xf6\x71\xef\x81\x8e\xcd\xe4\xd6\xaa\xdc\x07\x47\xde\xe0\x98\xa5\x5e\x7a\x70\x40\xee\xd8\xf4\xff\xe5\xee\xaf\x33\x96\x81\x80\xa8\xe2\x23\x5e\xb3\x83\xad\x7b\xeb\x5b\x96\xf5\x53\xf9\x00\x0d\xd5\xa7\x80\x06\x9c\x65\x16\xa0\xaa\x3f\xe4\x74\xa9\xf3\xbf\xb1\xfa\xd7\x14\xbb\x62\x59\x3d\x23\x4d\xea\xb3\x2a\x32\x4f\x3f\x25\x41\x73\x8c\x9b\xaf\xd7\x8a\x51\x99\xa9\x3f\xb1\x6a\x74\xc2\x2b\x96\x72\x57\xe6\x7b\x1b\x9e\x80\x14\x8e\x9e\xd3\x27\xfa\x8e\x5e\x72\x26\x69\xca\xe9\x1b\x36\xa0\x2f\x1b\x03\x91\x37\xc7\x2f\xbd\x37\x8a\x25\x3a\x67\xdc\x7f\xa3\xb7\xf1\x7b\xa6\xf0\x76\xae\x98\x0b\xfa\x11\x9e\x65\x1a\x7a\xef\x1d\x07\xdf\x2b\x2a\x27\xa0\xef\xe9\x47\x42\xbc\x77\xec\x41\x1d\xd3\xd7\xbf\x9e\xd7\xb7\x31\x44\x53\xa4\x71\x84\xdf\xb1\x73\x23\x15\x39\xb7\xb7\x40\x59\xe2\x33\xfc\x8e\x0c\xf1\x07\x8c\x52\xf9\x70\x68\x56\x31\xd4\xb7\x92\x88\xee\xc1\x49\x3f\xa7\xf7\x84\x2e\xd9\x39\x71\xbf\x93\x6d\x09\x59\x08\xbd\x65\xb7\x65\x79\xee\x3d\xb1\x73\xcd\xb9\x75\x5a\x8d\x39\xce\x79\xeb\xa6\x07\x3a\x65\xdd\x52\x04\x9c\x05\xbc\x2c\x01\x11\x7e\xc0\xe8\xdf\x50\xef\xa9\x87\xfe\x6d\xdf\x16\xe0\x06\xdc\x7f\x1a\xe9\xfe\xc0\x23\x3b\x27\xd5\xe8\x1a\x34\x47\xae\x15\xcb\xae\xe6\xa9\x48\x82\xb2\x54\x63\xab\x3e\xe6\xa0\x27\xfc\xac\x6b\x78\x66\xe7\x84\x22\xb3\x36\x88\xb1\x77\x43\x1c\x73\x55\xf4\x35\x6b\xa6\x90\xbe\x63\xf7\x5b\xab\xf8\x9b\xb1\x08\x38\x9b\xcf\xb4\x53\x92\x7d\xe8\xab\xbb\x8f\x7a\xa1\xff\x34\x02\xbb\x69\x42\x03\x76\xaf\x08\xd0\xcf\x38\xaa\x35\x1c\xdf\xd1\x01\xa1\x01\x51\xab\xff\x15\xbf\xa3\x92\xbe\xa6\x60\x2a\x09\x37\x58\xab\xef\xee\x39\xf7\x79\x4d\x88\x8b\xdf\xb1\x53\x0c\xae\x2c\xc0\x92\xa7\x90\x69\xa1\xc0\xd0\x7d\xe5\x78\xbe\xae\x55\xc3\xeb\x66\xee\x49\x1c\xe1\x19\x38\xb7\x6d\xae\xce\x11\xbd\xd2\xb3\x70\xc5\xce\xe9\x3b\xf6\x68\x67\x1f\xee\x35\x2f\xf8\x9e\x86\xc4\x6d\xde\xe9\x3b\x36\xe1\xf8\x1d\xa1\xe7\x15\x5b\x4c\x56\x63\x76\xee\xbd\x63\x95\x23\x97\x77\x64\xf8\x9b\xc0\xbf\x05\x56\x8d\xea\xbc\xe7\x0b\x2e\x24\xfd\x84\xdf\x11\x02\x31\x23\x02\xf6\xce\x1f\x80\x5a\xc5\x51\x87\xbd\x33\xfb\xbf\x2c\x1b\xc1\x76\x47\xb1\x19\x16\x69\x56\x2c\x92\xac\x40\xf4\x09\xf8\x6e\x35\xa9\xf7\x34\x20\xde\x4b\xb6\x02\x52\xc7\x5d\xad\xd7\xde\x3b\x26\x4c\xa8\x9c\x97\x1a\x16\x5e\x45\xc6\x19\xa6\x90\xf8\x4d\xef\x88\xd6\x96\x1b\xea\x4d\xe3\xdf\x13\xc5\x4f\x29\x8e\xc4\x18\x47\xbd\xab\xcd\xa4\xae\x22\xe2\xfd\x5d\xe0\x50\x55\xd6\x1c\x51\x4d\x15\xde\x6b\xf9\xed\xbb\x8d\x99\x56\x50\xf5\x87\x33\x5d\xcf\x1a\x18\xd7\x9c\x13\x7a\xc9\xde\x45\xb8\xe9\x63\xd3\xc3\x37\x84\xde\xd3\x90\x46\xf4\xda\x71\x2e\x39\x70\x25\xab\x5d\x00\xce\x0d\x38\xdd\x82\x87\xee\x6d\x87\xb1\x73\xc7\xb9\xa5\xdf\x03\x7d\xee\x92\x6e\x01\x3e\xf7\x8a\xee\xfd\x70\x0f\xda\x90\xaa\x22\x8e\xcf\xab\xcb\x61\x50\xc6\x4d\x39\xab\x13\xd4\xd6\xa1\x97\x9c\xd0\x47\x9c\x72\x32\x4c\xb5\xb2\x6f\xca\x01\x5e\xb9\x29\x77\x9c\x14\xa7\xbc\xbf\xc8\x14\x20\xec\x2f\xe6\x79\x01\x5f\x0c\xc7\xfb\x85\xac\x04\xfe\x42\x1f\x39\xbe\x27\x64\x7d\x5e\x4b\x06\x1d\x07\x5f\xd6\x2f\xfa\xb4\xbe\xe3\xc5\xa4\x3f\xe3\x8f\xf8\x35\xb5\x60\x1f\x59\x5f\x6a\x90\xc7\x6e\x1d\x07\x2e\x79\x6f\xf5\xbb\x77\xf9\x3d\x71\x21\xbb\x56\xdf\x76\x89\x0b\xd9\xac\x55\x8a\x5d\x72\xef\x1f\x80\x7e\x16\xf3\x8a\x00\xbd\xb4\xe3\xe4\xf1\xc6\xe2\x3f\x60\x03\xba\xc3\x38\x10\xf4\xaf\xae\x03\x50\xbf\xa6\xab\x36\x99\x0f\xdc\x99\x15\xfc\x92\x83\x1c\xbf\x62\x5b\x13\xad\x07\xc9\x18\xab\x9c\xb6\xec\x6b\xdd\x58\x7d\x49\x13\x47\x78\x4b\x21\xa1\xb2\x1e\x4f\xbd\xbd\x50\x1b\x17\xe0\xd0\x56\x46\x68\x84\x7a\x77\x6c\x40\x0b\x56\x87\xcf\xbc\x3b\x2e\xbc\xbb\x5e\x4f\xaf\x3a\x0b\xfd\xbb\x11\xc5\xf7\x78\x4c\xca\x72\xfc\x6b\xda\xac\x82\x0e\x77\x95\xd6\x57\xf8\xb5\xb2\x2a\x78\x1e\x9d\x82\x72\xed\x75\x80\x53\x35\x50\x40\x71\xee\x94\x02\x82\x73\x93\xb5\x82\xa1\x9a\x0f\x4d\x09\x9d\xb0\xb4\xda\x1a\xaf\xd5\xd6\x78\x4d\xd6\xeb\x5a\xeb\xbe\xd1\x4a\x37\x36\x17\x5b\xe3\x0c\x88\xe5\xb8\x47\x8f\x33\x68\x8d\x13\xbc\xf6\x44\xb6\xd7\x9e\xa8\xf2\xbf\x10\x30\xe1\x87\x23\x1a\xf4\x67\xcb\xa4\x88\x2b\x01\x72\x65\xaa\x5e\x79\xc9\xb5\x7c\x92\xfc\x5d\xd8\xd6\x35\x81\x11\xa9\x82\xd0\x17\x9e\x24\x04\x4b\x33\xf8\xa4\x7d\xbb\x07\xb2\x58\x08\x01\x24\xed\x10\x33\x10\x65\xcc\x71\x8c\x7f\xdc\x50\x71\x3e\x3d\x86\x11\xf8\x17\x44\x5a\xdd\xd7\x43\x2e\x18\x15\xab\x3c\x84\xf2\x7e\x37\x97\x05\x96\x34\x54\xbc\x84\x50\x69\xda\x64\xa7\x15\x8e\x22\x22\x2b\xe3\xcd\x83\xb1\xbd\x68\x88\xaf\xc0\xbf\x2f\xe5\xbe\x49\x1d\x31\xdc\x3c\x0f\x9b\x47\x85\xe1\xb4\x7b\x6d\xe2\xd6\x9d\x88\x86\x58\x1a\xcd\x55\x9d\x44\xdb\xaf\xa4\x87\x3c\xd4\x53\xd5\xf7\x21\x81\x61\xf3\x30\x34\xbf\x3d\x18\x83\xa9\xb5\xab\x6a\xb4\x43\x69\xf1\x6d\xdf\xb5\xe0\xa1\x37\x1a\xb1\x80\x86\xd5\x2d\x52\xcb\xcd\xca\x3b\x63\x1b\xdc\x48\x76\xf4\x9a\x24\xe0\xf0\x15\x44\xd4\xe0\xaf\xb8\x50\x58\x42\x5b\x47\xd2\xd7\x6a\x3b\x16\x74\x65\x81\x74\xad\x4b\x62\xf1\xd1\x5a\x69\x52\x03\x72\xfd\xb2\x83\x33\x73\x8b\x35\xa1\x37\xec\x11\x17\x2d\xf4\x30\x6c\xbd\xc2\x6d\xae\xdb\x4a\x02\x9b\xad\x2d\xcc\xe9\xd5\xf1\x65\xbc\x10\xdf\x90\x7e\x31\x91\x69\xa3\xc1\x6b\x84\x05\x97\x74\xe9\x85\x0a\x3f\x9b\x38\x71\x0d\x8a\x0e\x6b\xf4\x1c\x56\xe8\xf9\x82\x7e\x52\xa7\x9f\xb8\x7b\xfe\xc8\xbb\xd4\xce\xcd\x34\x36\x0e\x6b\x6c\x7c\xf9\x8f\xb0\x71\xa1\x49\x97\x1b\xe2\x85\x36\x22\xfe\xac\xf6\x11\xbd\x34\x0c\x89\xc2\xca\x97\x0a\x2b\x87\xc4\x3b\xc3\x45\xad\x7a\x73\x82\x9f\x15\xea\x7d\xae\x10\x2e\x07\x7c\x2b\x68\x68\xe4\x80\x97\xec\x8e\x06\x1a\xd1\x86\x76\xac\x82\xd7\xc4\xcb\xd8\x39\xe6\xf4\x12\xac\x57\x03\x5a\x98\xc5\xf5\x66\x58\xb6\x0c\xbf\xc0\x92\xe7\xd2\x71\xb0\xd4\x51\xd7\xf4\x15\xb7\xe6\x69\x6e\x31\x44\xdc\xb1\x38\x9e\x88\x78\x49\x6d\x5a\xb2\x0a\x59\x52\x6d\x0a\x6f\x69\x3d\xab\x21\x5d\x37\xef\xf4\xab\xf5\xfc\x0c\x6d\x18\x75\xfe\x6e\x73\x45\x08\x30\x69\xd9\x61\xec\x4e\x2f\xd4\x33\x67\x4b\x4b\xe0\x3e\xfd\x31\x2a\x71\x9c\x7a\x25\xcb\x12\x3f\xb3\xcf\x01\xbe\x24\x8a\x06\xba\xa6\xa7\x78\x09\x8c\xdf\x15\x3e\xc5\xcf\x04\x04\x1c\x8a\xe1\xf9\xc1\x05\x64\x48\xed\xcf\x74\xef\x2b\x71\xbf\x7a\x19\x4e\x69\x48\x9f\xa9\xa4\x4b\x9a\x91\xf5\x5a\xeb\x95\xae\xb7\x3d\x3b\xdb\xda\x0a\x4c\x82\x7b\xeb\x7a\x90\x65\x89\x93\x61\x62\x04\x87\x90\x8b\x13\x17\x7f\xb7\x33\x20\x45\x0d\x14\x02\xcb\xda\x37\xa2\x84\xaa\xee\x98\x1a\x68\x46\x5a\x4e\x86\xde\xb5\x21\x6b\x85\x67\x0e\x78\xfd\x58\xf5\x79\x00\xc6\xff\xc2\xd5\xb2\x06\xb0\xe8\x50\x0f\x43\xfd\x7e\x6c\xde\x0e\x8e\xdc\x23\xd7\x98\x50\x1c\x98\x30\x43\x96\xad\x62\x23\xf1\x6c\xab\x84\xd7\x3a\xf9\x68\x1f\x6b\xcd\x22\x57\xbb\x4f\x22\x0a\x82\x69\x71\x6d\x73\x58\x00\x6f\x80\x28\x5d\xb7\x4a\x25\x0e\x5a\x2a\x49\x84\x8a\xea\x83\xd8\xf8\xc0\x15\x09\x14\x12\xdb\xf5\xfb\x25\xc7\x4d\xa4\x73\x16\x60\x01\x8e\x00\x9a\x78\x20\xab\x6a\x2a\xdc\x01\xad\x14\xfc\x5a\x96\x45\x6c\x8f\xd7\x82\x32\xe3\xd7\xa0\xd3\x69\xe8\x90\xfa\xb2\xd6\x88\x35\x6a\x85\x8f\xed\xdd\x20\x2a\x57\x06\x8d\xb0\xd6\x0b\xca\x72\x57\xf9\x46\x31\xc1\x24\x83\xb0\x4b\xd2\xb0\x2f\x1f\x17\x99\xcc\x15\x6f\x96\xab\x63\x6e\xac\xf5\xc2\x96\x35\x94\xa8\xa2\x63\xc1\x0d\x0a\xd3\x16\xb4\x16\xa8\xff\x2d\xa8\x2c\xf7\x5e\x82\xff\x26\xa3\x8e\x51\x5d\x62\x9a\xbb\x4b\xad\xb2\xa1\x1f\x67\xbc\x98\x20\x57\x6f\xa4\xdf\x76\x7a\x99\x6c\xb9\x89\x44\xc7\xb0\xbe\xbf\x82\xa0\xf9\xf8\xd0\xbc\xd4\x86\x11\x16\x1c\x69\x43\x15\xcf\xb8\xfe\x71\x77\x68\x3f\x7f\xac\xf5\xea\x51\x9e\x89\x70\x2e\x10\x63\xb5\x59\x60\xcc\xfb\xaa\x61\xe3\x56\x09\xae\x5a\xc1\x72\xfe\x31\x89\xd3\xe9\xeb\x4c\x46\x08\x22\x41\xa2\x68\x9e\xcd\xb4\xff\x14\xc4\x2b\xcf\x2a\x2a\x3d\x9e\x8d\x51\x07\x1c\xee\xab\xca\x75\xe2\x9e\x56\x9f\x85\x66\xac\x76\x3e\x5e\xdc\xde\x7c\xfe\x78\x76\xf1\xe7\xe7\x8f\x57\x76\x40\x64\xde\x16\x52\x4f\xd8\x47\xd0\x00\xf7\x22\x36\xf6\xe5\xa8\x2c\x23\x63\x53\x1e\x40\x24\x2a\x3a\x51\x10\x34\x8e\xb0\x26\x43\xf5\xae\x5f\x18\xfa\xc4\x71\x90\x76\x8b\xdc\x58\xd0\x36\xe7\x23\x97\x09\x64\x46\x6a\xaf\x73\xa2\x26\x7e\x63\x23\x1f\x0d\x76\x6c\xe5\xea\x18\xae\x16\x59\xcb\x80\x5f\xd0\x31\x59\x09\x36\xee\x77\xbb\xf3\x20\x97\xd9\xbd\xcc\xf2\xb2\xc4\xad\x77\x90\xb7\x43\x6f\xa7\x1a\x2f\x4a\xd2\xd2\x4c\x0c\xe7\xb3\x2a\xc2\x05\x0c\x32\x83\x21\x7b\x99\xa1\xbe\x12\x96\x39\x4e\x80\xb3\x6a\xd8\x34\x64\x19\xf1\x14\x73\xa2\xb2\xb1\x04\x73\x42\xb1\x80\x49\x82\x1f\xe6\x8f\x08\x01\xeb\xb9\x42\x66\x8a\x6b\x69\xf7\xc6\x71\x5a\xaf\xbe\x1c\xf5\xbb\x5a\xde\x5f\x96\x9c\x54\x27\x22\xd9\xb8\xb8\xae\x49\x37\x35\xbd\xbc\xc3\x82\xe1\xb8\xdf\x5d\x2e\x42\x5e\x54\x3a\x5a\x34\x20\xee\xb8\xa2\x04\xf7\x38\x59\x13\x30\x3c\x6f\x45\xab\x6f\xdf\x1b\x02\x3d\x24\xeb\xeb\x0d\x1a\xd5\x7a\x5a\x6a\x37\x2b\x3c\xab\x0d\xe0\x14\x0e\x1d\xb3\x01\x9d\x34\xfc\xcb\xf8\x78\x02\x37\x21\xea\xbb\x3f\x1e\x31\x16\x92\x15\xf7\xc7\xbd\xde\x88\x09\x6f\xc2\xc6\x3d\x79\x70\x54\x73\x13\x53\xbb\xdc\x54\x95\xa3\x93\x5e\x8f\x4c\x8e\xa7\x43\x28\xcc\xfd\xc9\xc8\xad\xed\x1a\xc6\x23\xaf\x66\x8c\x99\xaa\x46\x07\x4c\x91\x8f\x05\xd3\xeb\xd1\xbc\x0b\x73\x0f\xbb\x06\x7d\x12\x83\x36\xf5\x05\x2e\x5c\xca\xf0\xfa\xb0\x6f\x3b\xa5\xf5\x78\xcb\x87\x6a\x48\xbc\x53\x85\x99\xcd\xdd\x91\xe3\xe0\x53\x2c\x88\x16\x18\x9f\xe2\xd0\x3c\x29\x7c\xc5\x87\xf8\x43\xa0\x96\xd5\x0e\xbb\x82\xc1\x53\x5b\x35\x88\xd3\x3e\x58\x36\xf8\xa1\x7f\xaa\x00\x1e\x4f\xc3\xf9\x68\xa4\xc8\x26\x3d\x27\xcd\x94\xd7\x9e\xdf\x22\x06\xf1\x43\x4f\x71\x44\x2a\xe3\x18\x45\x3b\xdb\x3d\x8c\x6a\x07\x95\x2a\xab\x07\x31\xac\x84\x57\xd5\xc4\x2c\x96\xa4\x0b\x2a\x5d\x96\x35\xc8\xb6\x85\x48\xcb\x26\xb7\x09\x95\xb9\xa6\xbc\xe5\x51\x8d\x73\xfb\xba\xd4\x28\x3a\xe2\x26\xc1\x30\x69\x13\xc5\xa4\x4d\x0c\xf2\x5a\xdb\x31\xf4\x6b\xa8\xa2\x4a\x03\x5c\x69\xd3\x6d\xb2\x4a\x9f\x32\xcd\x40\x80\xb8\x38\x61\xb2\x5f\xd9\x3b\x18\x25\xa6\xcb\x0a\xbc\xcb\xfe\x6c\x1e\x56\xfa\x29\xe8\x7f\x90\x9b\x94\x65\x15\xd4\x4f\xd0\xa9\xe2\x13\x42\xb5\xa9\x84\x3f\x1d\x19\x6d\x64\x05\x63\xaa\x03\x87\xa7\x2d\x54\xa3\xf5\x1c\x74\x09\xf0\x61\x20\x5a\x67\x73\x5a\x9f\x4d\xc6\xbd\x57\x58\xd5\x59\x67\x0f\xf4\x2b\xc0\x30\x4b\x1b\x00\x31\xe4\x2a\x9a\xd0\xee\x93\x56\x4f\x33\x12\x5a\xab\x63\x8a\x76\x48\x1c\xa7\x03\x15\xe9\xaf\x29\x5b\xea\x7a\xbd\x4b\x96\xf6\x93\xb8\x90\x19\x4f\x86\x53\xee\xee\xd4\x63\xe1\x3a\x42\x30\x37\x8e\x56\x3b\x8c\xed\x05\x6b\xef\x8e\xa5\x7d\x9e\xe7\xf1\x38\x2d\x4b\x7b\xe9\x19\xf4\x5b\x8d\xdb\xb3\xc1\x5f\xaa\xf3\x22\xaa\xda\xa5\x91\x8e\x74\xe5\xad\x3d\x3b\x7f\xd2\x52\x2d\xbe\x54\x5b\xc0\x1f\x8f\xd4\x64\xab\xe7\x8c\x0c\xef\x54\xbf\xa0\x00\x71\xf5\xf4\xd4\x24\x44\xc6\x02\x30\x8c\x04\x33\xc9\x68\x99\xb0\xce\xc0\x53\x2b\xdc\xd8\xb9\x0c\x2b\x42\xe0\xac\x4e\x82\x49\xa0\x09\x71\x6b\x1a\x61\x59\x25\x69\xe5\xb3\x7a\x72\x88\x37\x61\x13\x88\xba\x66\xae\xd0\x93\xf6\x7a\x38\xc8\x4d\xd9\x96\x12\xcd\x94\x0c\xcd\x44\xbb\x4f\x5a\xc1\x88\xb1\x27\xc7\xa9\x16\x09\x86\xb0\x43\x9b\x5a\x4f\x3f\x78\x10\x92\xac\x15\xdf\xb6\x09\x8b\x33\xa0\x41\x73\x01\xc4\x8f\x03\xaf\xd7\xe3\x64\xe2\xf3\x11\x26\x6b\xb7\x26\x59\xc7\x8e\xa3\x08\xd5\xa7\xa1\xc2\x0e\xb6\x92\x21\x44\x1e\x79\x22\xae\x84\xeb\xcb\xdf\xd9\x96\x5d\x5e\x4d\x12\x1b\x8f\x35\x53\xf9\x94\x83\x0a\xb7\x0e\xb0\x19\x9a\x5b\xa8\x1d\x5e\x89\x23\x2d\xdc\x28\x26\x71\x0e\xac\xb4\x1f\x19\xc7\x99\x5a\x21\x5b\x9d\x3f\xb6\xaa\xd4\xb3\x6b\x19\x38\x5f\x7b\xbf\x37\x3e\x33\xd8\xaa\x9b\xce\xb3\x19\x87\x10\x01\x4f\x9c\x76\xb7\x9d\xd9\x69\xdf\x20\x83\x5a\xe5\xd0\x71\x6e\x1a\xe5\xe8\x76\xe5\xe0\xd6\xae\xbb\xd3\xaf\xdd\xae\x5a\xac\x8c\x3b\x2b\xb2\x10\xe2\x4e\x8f\x2f\xbf\x6b\x61\x8d\xf6\x55\xf9\x8f\x3b\x27\x88\x87\xa1\x10\xb8\x9f\x6e\x97\xf9\x41\x57\x84\xea\x4a\x2e\xdb\x26\x95\x96\x26\x2d\xfb\x28\x36\x8a\x28\x44\xcc\x09\x1d\xb3\xae\xf0\xf9\x48\x21\x5a\x2f\x1a\x6e\xe4\x51\x4b\xb0\x80\xee\x53\xc9\x22\xe2\x8e\x1d\x07\x72\xa8\x9d\xba\x17\xd0\x09\x1b\x13\x58\x39\x6d\x6b\x29\x87\xcd\x9a\xaa\x14\xe9\x62\xc9\x5a\x49\xea\xf0\x6e\xe4\x61\x27\x6a\x7e\xd0\x01\x22\x8a\xee\x7b\xe0\x1b\x3d\xd0\x34\x29\xf8\x45\x89\x1c\x47\x9b\x2c\x6b\xa7\x19\x40\x80\x9a\x64\x4d\x80\x32\x4e\xea\xce\xb0\xd7\xa0\x19\x5e\xa5\xd7\xe2\xe4\x8d\x52\xb9\x2c\x74\x86\xfa\x2c\x45\x0c\x21\x3a\xd6\x9e\xc9\xa7\xec\x10\x7f\xcb\x7b\xdf\xc2\xde\xe3\xb7\xfc\x27\x5a\xea\xe7\x87\xea\x99\x96\xf4\x5b\xde\x23\x60\xf7\xf5\x2d\x3f\xd4\x74\xde\x98\x0c\xa7\xee\x21\xa6\x60\x50\x36\x36\x6e\x31\xa6\xaa\x2e\x10\x23\x47\xc9\x5c\x51\x36\x66\x51\x0f\x5f\x10\xaa\x3d\x4a\x4e\xc1\xa3\xa4\xa6\x04\x5f\xfc\x94\xd0\x88\x45\xbd\xd7\xf8\x13\x1e\xfb\xd9\x08\xcc\x9a\x21\xc5\xf8\xfd\x1d\xfb\x59\xef\x68\x44\x88\xa7\xfa\x39\xf6\x5f\xfc\x94\x8c\xaa\x28\xb8\xaa\x23\xc4\x8b\x7a\x4c\x17\x1e\xe8\xc2\xde\x0b\xc6\xd8\xb8\xde\x49\x38\xea\xb1\xaa\x26\xa8\xa7\x99\xb6\x68\xdd\xa9\x82\xdf\x36\xd1\xe0\xef\x71\x40\x86\x1b\x3b\xc3\x98\x97\x16\x60\xfd\xef\xee\x6d\x7c\x05\xb9\x9c\xa4\x01\x21\x1e\xe6\x66\x0f\x34\x38\x8e\x80\xef\x64\x7f\x32\x6a\xe1\x45\x83\xe8\xad\x18\xc2\x02\x87\xe0\x46\x92\x56\x45\x77\x1e\x30\xf0\x59\x01\x3e\x94\x5a\xe4\xb8\xd8\x26\xc7\xa9\x64\xa1\x36\x1e\x0e\xb5\x89\x1c\xf1\x64\xed\xf2\xe8\xd9\x76\xbb\x62\x01\x59\x59\x91\xd5\xbb\xf4\x22\x39\x51\xb3\x23\xf4\xd6\x0e\xf4\xc3\x0e\xb1\x06\x59\x89\x00\xa6\x63\xbd\xd6\xe6\x09\x21\x67\x41\x1f\xe4\xd1\xb7\x4f\xb3\x60\x9e\x60\x42\xa5\x4a\x92\x69\x58\x27\x4c\x38\x43\xab\x15\x62\x2c\x54\xbb\x7d\xbd\x46\x8c\x49\x3e\xec\xf2\x5d\xae\xbb\x2c\xd3\xfd\x6f\xab\x6f\xab\xc3\x31\x0d\xb9\xa5\x97\xba\x5e\x1f\x8e\xa9\x54\xe0\xea\x2f\xce\x0e\xff\x48\xc7\x6a\xdd\xfc\x93\x83\xdf\x47\x87\x3b\x98\x66\x96\x0e\x77\xcd\x73\xad\x89\x63\xd4\x2f\x10\x29\xcb\x3d\x7f\x04\xee\x64\x40\x9d\xca\x88\xd9\x02\xe2\x8a\x7a\x56\xb7\x0a\x41\x54\xf5\x27\x6f\x07\x07\xdf\x6a\x96\xac\xae\x14\x58\x48\xc7\x07\x75\x6b\x56\xb1\x5a\x99\x65\xa3\xab\x55\x08\x50\x68\x53\x0c\xc3\x21\x6a\xdd\x6e\x5c\xcf\xab\xf8\x37\xc8\x6d\x7f\x51\xef\xe6\xb2\x39\xd8\x6a\x68\xbb\x77\x6a\x52\xc0\x0e\x67\xa8\x7a\x68\x2a\x3a\xc8\x4d\x4d\xe9\xd8\x3c\xda\xb8\xf7\xab\x6d\x49\xfc\x64\x3b\xb7\x19\x07\x38\xd8\xd0\x2d\xb6\xc8\xe1\xdf\x5b\x0e\x86\x11\x82\x80\xbb\xf5\x59\xef\x1d\x12\x90\xf6\xb7\x12\x22\x36\xf0\xb8\x0b\xba\xac\xd1\x71\x7d\xa1\x12\xf5\x7a\x0d\x94\x9b\xb0\xd0\x8f\x40\xd7\xcc\x1b\x1f\xcb\x9a\x53\xd2\xdc\xd5\x84\x31\xa9\x88\x2a\xc5\xf2\xc4\xe9\x52\xee\x73\x4f\xf4\x18\x1e\x1c\xd7\x31\xf6\xf7\x2a\xf9\xfc\x64\xbd\xed\xc7\xf6\x37\xd1\x84\x30\x37\xae\x80\x02\xcb\x09\xf7\xd1\xaf\xcc\xf2\x45\xa4\x35\x6e\x0f\x0e\x3c\xf2\x5f\x0a\xd6\xf8\x7c\x64\xb9\x96\xbe\x8e\x2a\xdf\xb9\x9c\x1e\xed\xd2\x4a\xfd\x4d\x5a\xb1\xec\x28\x67\x9d\x23\xcf\xd8\xfa\xeb\xf0\x5d\x36\x21\x13\x5a\xbe\xdb\x6a\x57\xdb\xa0\x8b\x3c\xd4\x4e\xe7\x5d\xf0\x71\x18\x56\x16\x77\x49\x32\x7f\x78\x95\xcc\x03\x9e\xe4\xb6\xe5\x3a\x67\x9d\xc1\x0f\xac\xc9\x2a\xef\x12\x75\x89\x2d\xe1\x9e\xa5\xec\xd9\xe1\x65\xd9\x39\xc3\xbc\xaf\xf7\x1e\xb1\xdd\x32\x58\x9d\x84\x08\x17\x62\x81\x28\x58\xd7\x54\xb9\x21\x74\xe0\x7a\x67\xfc\x3e\x9a\x18\x06\x87\xa6\x74\xe1\x8d\xb5\x83\xbe\xb1\x97\x38\xce\x2b\x0c\x6a\x39\x0b\x56\xa9\x5c\x47\x84\xac\x12\x16\x19\xcd\xca\x2f\x3a\x3e\x43\xa7\x72\x2f\x79\x13\x81\xca\x62\x12\xcd\x0a\x70\x65\xb2\x97\xb2\xc4\x3f\x1a\x79\x0b\xb6\x28\xcb\xc4\xff\x79\xe4\x45\x6c\xcb\x2b\x60\x4a\x86\x81\x9f\x8e\xdc\x33\x81\x27\xa6\xaf\x34\x55\x58\xa8\x2c\x31\x1f\x9e\x09\x1c\xea\x57\xf7\x81\x78\xb7\x1c\x47\xfa\x4d\xf1\x25\xe3\x6a\x5f\x8c\x19\x7e\x8b\x23\x32\x8c\xfc\xc8\xf2\x85\x18\x59\xbe\x10\xe9\x74\xc3\x79\xe2\xd8\x78\x47\xa4\x0b\xc7\x91\x78\x42\x17\x74\x4a\x15\x2f\xa2\x59\x0b\xda\x62\x48\xf5\xa6\x14\x95\xbd\x72\x44\xa7\x74\x42\x53\x02\x11\x24\xa7\x8e\x83\x1b\x67\x8a\x70\x89\xc8\xf8\xee\x4a\xeb\x1d\x39\x5d\xd3\x55\xa5\xf3\xe5\x4e\x69\xa3\x71\xe6\x2e\xd6\xc4\x9b\x42\x4b\x8d\x3f\xc2\x48\x37\xb6\xb3\xca\xa6\x46\x1b\x5c\xfc\xfd\xbb\x4e\x4c\x76\xb0\x0b\xa7\xb8\xf1\x0c\xdf\x72\x5f\xf0\xfb\x56\x2d\xe0\x00\x65\x47\x15\x6d\x01\x6c\xa0\xbd\x5d\x19\xee\x3d\xa0\x7b\x16\xef\xde\xea\x65\xb0\xe9\xb1\x4b\x72\xf0\xdb\xd5\x2f\xe6\x6f\x6e\x6f\x2a\x23\x37\x57\xaa\x7c\x76\x8c\xcf\xf0\x1f\x39\xbe\xb6\xbb\x68\xfb\xc9\x40\xc8\xc0\x17\x7f\xe4\xa5\x62\x2b\x12\x7e\x9b\x80\x29\x4b\xbc\x23\x34\x3e\xdc\xe1\x34\x01\xef\x49\xcf\x84\xb8\x87\xc1\x6c\x86\xc3\xdf\xfc\xda\x8a\x80\x5f\x07\xbe\xb7\x7d\x82\xc9\x7f\x65\x68\x8d\x08\x04\x07\x5a\x2a\xfa\x4f\x8f\x40\x15\xe8\x21\x1f\xf5\xc0\x67\xf3\x50\x00\x70\x46\x23\xa4\x06\x70\x06\xaa\xf3\x1d\xbd\x18\x9b\xd3\x54\x17\xc6\x11\x04\xf8\xf7\x11\xe9\x89\xea\x65\x84\x60\x06\x44\x3d\x03\x92\xf4\xf6\x36\xa7\x60\xc7\x82\x08\xb5\x20\x10\x7a\x14\x51\xcb\xd6\x48\xec\x9e\xa3\xdf\x1b\x3f\x76\x8d\xb6\xb7\x60\x0d\x4e\x7c\x0f\x01\xae\x8d\x37\x08\x50\x15\xad\xa4\x89\x1c\x23\x13\xc0\xe8\x40\x61\x0c\x44\x3c\x6d\x73\xa9\xe0\x5d\x58\xab\x02\xf0\x90\x80\x88\x86\x61\x45\x25\x6a\x48\xf7\x21\x52\x67\xfb\x63\xe4\x87\xfe\x60\x34\xd2\xa4\xbb\x20\x70\xcb\x81\x03\x76\x2f\x74\xec\x89\x6d\x8c\x13\x84\x15\x2f\xac\x1d\xdc\x51\x01\xd1\x8c\xd4\x9a\x54\x2e\xf0\xbe\xa5\x76\x3c\x8c\x80\xac\x04\x0b\x1a\x1f\x5a\x6e\x1d\x6f\xe7\x25\xfe\x84\x83\xc6\x48\x47\x10\x42\x3c\x08\x89\x54\xa5\x09\xd0\x21\x92\x60\x63\x2b\x47\x10\x2b\x79\xa8\xfe\xf4\x10\xdd\x47\xbd\xc0\x0d\x9a\xd5\xdd\xde\x12\x9a\x97\x79\x89\x05\xa1\x13\xe0\x66\xbc\x08\x2a\x8a\x54\x45\x91\xaa\x28\x32\x15\x4d\xdc\xc9\x6e\x17\x7c\xa2\x19\x6b\xed\xac\xb3\xc1\x6b\x10\x99\x01\x73\x06\x33\xd2\xac\xf1\x10\x0b\xc6\x7d\xd5\xee\x88\x6a\x89\x13\xd3\x61\x79\x85\x76\x59\x44\x05\x71\xed\x28\x19\x61\xd8\x8a\x51\xf4\x88\x43\x2b\xe2\xb9\x0e\x7e\xe1\xcd\xec\xcb\x9a\x10\xe2\x81\x9b\x4f\x3b\x1d\x63\x8a\xa8\xa6\x0a\x8c\xc5\x38\xdc\x90\xe4\x6c\x05\xf7\x80\xd1\x3c\x9b\x7d\x94\xf9\x62\x9e\xe6\xd2\xf5\x7f\x0f\x46\xd4\x4a\xd6\x21\xd7\xfc\x1d\x24\xb6\xb6\x5a\x42\xbe\xb6\xe0\xdd\x7f\x19\x27\x72\x84\x3a\x8c\xdd\x57\xde\x05\xed\xaf\xa7\xc9\x3c\xf8\xfe\xd7\x97\xf3\x6c\x76\xce\x0b\xbe\x91\x63\x28\x03\xb0\xce\x5d\x8f\xe8\x04\xc2\xb3\x41\x6c\xcb\xd9\x6c\x9e\xba\xab\x13\x21\xe4\xa2\x70\x91\xe5\x2f\xec\xf0\xaf\x7c\x9e\xd2\xfd\x42\x3e\x16\x87\x8b\x84\xc7\x29\xdd\xff\xe9\xf0\x27\xb4\xa6\x8b\x79\x5e\xb8\x7f\x71\xdc\x0d\x08\x5d\x2c\x9b\x47\xb5\xf1\xcd\xcb\x9a\x3e\xe6\x59\x74\x06\xa1\xe0\xc0\x9b\x0b\xfa\xed\xf6\xe3\xcb\x83\x4f\x37\x97\x17\xd7\x08\xbe\xbd\x86\x1e\x98\x6f\x07\xf6\xd7\xbd\xc5\x46\x84\x3d\xb4\x2b\xbe\x1e\xb2\xe9\xb1\x65\x2e\x4f\x14\xf6\x00\xe6\xea\x07\x1e\x03\x58\xa7\x13\x54\x7e\x09\xd6\x06\x94\x54\x76\xff\xcb\x5c\x5e\xc9\x31\x17\x4f\xef\xb3\xf9\x2c\xce\xe5\xc5\x63\x21\x53\xb8\xd4\xfb\xbe\x07\x00\xc1\x3a\x9d\xca\x07\x80\x30\x9c\x97\xde\x13\xc0\xd1\xa9\x29\x9d\x67\xb9\x82\x56\x2d\xbc\x68\x05\x04\x04\x4b\x7d\x3b\x64\x1e\xd8\xfc\xb7\x7c\x08\x6d\x58\xfd\xdf\x69\xa7\x02\x5b\xee\x89\x25\x35\xb4\x19\x9d\xb6\xad\x7f\x76\xfa\x77\xd7\x5e\xb7\x38\xf1\x74\x2c\x25\xc3\x7c\x0d\xc3\x10\xeb\x27\xca\xfb\x66\x8f\x80\xba\x0b\x2f\x96\x39\x35\x06\xa7\xf6\xfe\x56\xe8\x0b\x62\x31\x81\x49\x1c\x64\xab\x0e\xcc\x8b\xc1\xe0\x98\x71\xc7\xf9\x79\x30\xf8\x95\x0f\x03\x37\xe9\x67\x52\x75\xba\x15\x43\x45\x5a\x0c\x20\xdd\x0b\x77\xf8\x2e\x92\x64\xf5\x68\xe6\x1a\xdc\x27\xeb\x20\x0b\x02\x24\xd6\x72\xc4\x04\x21\x2e\x3c\xf0\xb5\x65\x0a\x0e\x0a\x0c\xbc\x5f\xc5\x87\x6d\x6e\xeb\x14\xe9\xab\x66\x5f\x11\xbd\x01\x0f\x75\x24\xf6\xca\x69\xc0\x7b\xbc\x9a\xc9\x62\x32\x0f\x5d\x04\xd1\x01\xb6\x8e\x6d\xd0\xdf\x4c\xa2\xdb\x27\x3e\xd8\x9e\x25\xba\xb9\xa3\x21\xc8\x8c\x9d\x02\x4b\x11\x55\x53\xbe\x15\xf0\x5e\x41\xf8\x6a\x39\x42\xb3\x74\x55\x02\x31\xba\x41\x42\xa7\x2b\x36\x59\x1d\x69\x2a\xfc\x97\x98\xf7\xf5\x80\xc8\x88\x18\x8e\x2d\x02\x43\x03\xb2\x1a\xb3\x97\x38\x22\xb6\xb9\x4e\x1c\xe1\x97\x78\x42\x14\x25\x6f\x73\x66\xb5\x66\x52\x85\xac\x24\x0e\xe9\x5f\x70\xcd\xb9\xc6\xd0\x69\xdd\x04\xcb\x03\x5c\x3d\xab\xd4\x8d\x01\xb2\x57\x78\x2b\x8d\x0c\xa7\xa0\xc8\xb6\xfd\xc1\xdd\xdb\x4a\x33\x76\x57\xfe\xf6\xd4\x34\x3b\x55\xb2\x66\xff\x8a\x50\xa1\xa6\x07\xca\xb7\xd6\x8c\x78\xda\x9b\xe6\x0c\x8b\xad\x0b\x49\x83\xec\x15\x07\x80\x98\xf6\x21\x55\x7b\xa4\x17\x7e\x30\x5a\xab\xc2\xbc\xff\x10\x17\x93\xb3\x4c\x02\x1d\xce\x93\x5c\x91\x3f\xf7\x38\xd8\x91\xbc\x9d\x97\x6d\x67\xab\x63\x50\xc0\x76\xd7\xaa\x51\x21\x0d\xc9\x9a\x3e\x8c\xe8\x84\x25\xfd\x07\x50\x96\xd2\xab\x35\xc3\x17\x2d\xa9\x16\xd6\xe6\x7b\x32\x2f\xca\xb2\x7e\xbc\x50\x04\x35\x71\x9c\x71\xe3\x84\xbf\xfa\x44\x37\x32\x79\xf0\x49\xef\x53\x5d\x83\x7e\x6e\xaa\x30\x21\x1e\xab\x0f\x74\x33\xcf\x9a\x78\xe3\x46\xed\x88\xb3\x71\x4b\xd5\x28\x6b\xde\xe9\x84\x4d\xf4\xe8\x38\xcd\xc8\x5a\x0c\xf1\xa4\x9f\x2f\x85\x90\x79\x7b\xc7\x43\xe0\x85\x3d\x14\xa5\x88\x78\x93\x0d\x4d\xb1\x00\xe8\x49\xbd\xc4\x41\x05\x98\x9a\xc3\x11\xb5\x9c\x19\xd3\x89\x66\x2d\xb6\x6b\x6f\x55\x0e\x77\x2f\xff\x77\x2d\x10\xd7\x1a\x83\x0c\x31\x32\xcf\x88\xd4\x6d\xab\x54\x78\xb2\xdc\x1d\x5b\x1a\x9f\x8b\x0d\x0e\xbe\xd2\x3d\x92\x56\x9a\xa2\x37\xa6\x58\x18\x81\xfb\xfa\xca\x71\x30\x40\xd7\x40\x43\xd7\x60\x78\x05\x01\x35\x02\x4e\x21\x54\x7d\x10\xe2\x90\x50\x39\x22\xee\x55\x75\xf1\x1a\x70\x42\x3c\x3e\x1c\xf7\xc1\x21\xe8\x93\x11\x42\x12\x17\x47\x98\xd0\x71\xbf\xdb\x5d\x4c\xb8\x5a\xff\x2a\x03\xb6\x45\x44\xd3\x46\xd6\x1f\xb0\x83\xa3\x63\x16\x0c\x03\x77\xe0\x6d\xf4\xe1\x46\x6d\x8b\x79\x72\x2f\xdd\x1b\x03\xe9\x09\x5e\x41\x44\x40\x4e\xf5\x2c\xba\x41\x4d\x77\x08\xe8\xa2\x09\x67\x2e\xcc\xf7\x4f\xf2\xb1\x70\xe5\xda\x0e\xd2\xb5\x50\x2b\x36\x6d\x70\x92\x59\x0e\x05\x7f\xaa\x15\xc1\x84\xd4\x1f\x54\x0d\x56\xc7\x2f\x6a\x5e\x3c\xed\x2f\x64\xcb\x75\x6f\x4d\x30\x0b\xe2\x1d\x1c\xe9\xbb\xc6\xed\x4c\x46\xad\x9d\xd3\x23\x6d\x78\x77\xc3\x8c\xfb\x50\x50\xb4\xbc\xe9\x2f\x34\xa9\x40\xaf\xe8\x8c\xde\x32\x51\x6f\x92\x80\xb3\x0c\x8b\xfe\x32\x4b\xa8\xd8\x04\x64\xd8\xa4\xe4\x84\x78\xdb\x2d\xc2\x61\x13\xc4\x7b\xad\xb7\xe6\x05\xbd\x20\x5e\x47\xe8\xbb\x77\xc7\xe9\x04\xfa\xa9\x2c\x3b\x3a\xf8\x9d\x79\x43\xaf\x2e\x3e\x29\x5a\x4f\x18\x00\xec\x38\xe8\xed\xed\xcd\xf5\x7b\x3b\xad\x2c\xf1\x15\x3b\xc3\xa6\x0c\x04\x1e\x85\x90\xc0\x67\x38\xa8\x92\xcc\x83\x5b\x10\xef\x0a\x2c\xd9\xae\xb4\xa2\x31\x27\xf4\x04\xcf\xc8\x70\xe6\x38\x8f\x78\x06\x3d\x23\x43\xfd\x8b\x17\x74\x41\xdc\xb7\xea\xeb\x14\xcf\xfc\xa3\x11\x9d\xf9\x83\x91\x5a\xa0\x19\x98\xd2\xcf\xfc\x9f\x47\xc4\x9d\xe2\x19\x7d\x31\x18\xd0\xd5\x9a\xa2\x9b\x4b\xa4\x36\xa6\xd9\xb0\xaf\x89\x82\xa8\x33\x05\x2a\xf1\x8c\xed\x45\xa1\x9e\x36\x32\x8c\x30\xf1\x45\xbf\x4d\x45\x96\x65\xb0\x91\x32\x72\x1f\x54\xd1\x5b\x93\xb5\x21\x2a\xab\xac\x4d\xca\x88\xcd\x08\xe8\xa7\xe9\xe9\xa0\x01\xa7\x21\x9d\xd0\x5b\x2a\xfa\x26\xd8\x31\x15\x9b\xa0\x99\x8a\x1a\xd6\x81\x07\x89\xfa\x00\xbf\x5e\xb7\x6d\x3d\xc9\x6a\x70\xdc\xb8\x1e\xc7\xbc\xc7\xf0\xc1\x11\xb3\x7d\x1b\x0f\x11\x19\xa2\x21\x72\x15\x77\xda\x0b\x2c\x76\x48\xed\xab\x82\x4d\x6a\xc2\xc4\xdb\x22\x0e\xd8\x2b\xbc\x95\x56\xe1\xce\xed\x0f\xdb\xc4\x85\x71\x93\x0d\x1e\xf6\xda\x5a\x69\x17\x35\x7e\x00\x6f\x80\x53\x13\xa1\xc7\x9d\x5a\x71\x70\xd6\x3b\xb6\xa9\xaa\x0b\xdb\x15\xcd\x2c\xe7\xe7\x76\x3a\x38\x51\x6d\x33\x8e\xf5\xad\xb3\x26\x57\xca\x72\xb5\xa6\x7b\x15\xe1\xc5\xe9\x32\x4b\xdc\x00\xf4\x7c\xc8\x9a\x60\x4d\x88\x21\x8d\x81\x11\x45\xea\x80\x21\x8a\x14\x67\xa2\xa6\xea\xff\xae\x0f\xb6\xb7\x5d\xdd\x0b\xf0\xeb\x44\x37\x3a\xa1\xc3\x99\x8a\xa6\x2f\x8a\xef\x41\x14\x2d\x96\xf0\x57\x71\x3b\x48\xcd\x4d\xcd\xfe\xd5\x61\xc2\x52\x5b\x6c\x35\xfe\xa7\x45\x34\x2d\x1f\xc0\x1f\xfa\xbf\xbd\xbb\x7a\x5d\x14\x0b\x33\xe7\x2d\x4f\xf0\x5b\x5e\x47\x4d\xa4\x74\x5b\x42\xdc\xf6\x0f\xd6\xc4\x1c\xff\x81\xef\xe1\x5b\xed\x56\x29\xd0\x30\x8e\xf2\x3e\x4f\xc7\xcb\x84\x67\xc0\x40\x06\x5c\x4c\x73\x2a\x40\x07\xd9\x1a\xde\x6d\xed\x27\x7f\x03\x65\x59\x6a\x59\x11\x93\x9b\x0a\x8a\xb9\xc8\xe2\x45\x81\x08\xdd\xd3\xae\x86\xbd\x08\x82\x08\x32\x04\xec\xe6\x5f\xfc\x9e\x9b\x1c\x5e\xd4\xcf\x33\xc1\xb8\x17\xf5\x39\x70\x77\x9d\x81\x97\xb6\x10\x7a\xb4\x33\x16\xaf\x89\xa5\x98\x42\x70\xdf\xef\x64\xd1\x68\xd9\xe4\x91\xfd\x60\x1e\x3e\xb5\x3c\x66\x28\x92\x4b\xf7\x4e\xdf\x69\x1c\x1c\xd1\x82\xa1\x65\x3a\x4d\xe7\x0f\x29\xf2\xb8\xe3\x98\x66\xb4\x37\x51\x08\xa1\x13\xfa\x81\x8e\xc8\x07\x0a\xc5\x9c\xad\x54\xb2\x6b\x9a\x82\xb0\x26\x3a\x27\x9d\x30\x93\xc8\xaa\xc2\xc3\x5f\x06\xbf\xb8\x2f\x06\x03\xe3\xeb\x6a\x42\x0b\xb2\x56\xc3\x0e\xc3\x1f\x0e\x6d\xfb\xfb\xae\x71\xb5\xd5\xae\x9a\x9d\xba\xb9\x09\xa5\x66\x21\x69\x4a\x17\x34\xa3\x85\xb5\xa4\x0a\x9b\xde\x39\xce\x1d\x26\xde\xb3\xe3\x3c\xf7\x79\x30\xcf\x0a\x3b\x06\xc1\x25\x44\x0d\x32\x8a\x51\x27\x38\x07\xed\x02\xed\x67\x1b\xe7\xc4\xbb\x63\xcf\x7a\x32\x39\x0e\xe9\x9e\xce\x06\x1a\xd8\xdf\x77\xda\x8f\x9f\xc8\x3a\xf8\xa1\xd3\x7e\x4c\xbc\x31\x1b\x2b\x68\x0f\xb1\x06\xe0\x36\x5f\x43\x07\x45\xbd\x4b\x23\xed\x5b\x32\xf4\x27\xea\xe1\xb0\x2f\x54\x19\x99\xf5\x7a\xa4\x71\x8b\xf6\xf3\x7f\x10\x2f\xf4\x97\xa3\xd6\xa6\x52\x09\x86\x33\x86\x8f\x66\x49\xe1\x72\x46\x5b\x13\x45\x78\xdc\x84\xcb\x55\xd8\xf6\xcf\xb3\x93\xab\xab\xd3\x93\xb3\x4b\x44\xd1\xd6\xc1\xe9\xa3\xde\x92\xd0\xe5\x06\xc3\x71\x89\xa7\x94\xd3\xba\x2d\x8a\xc0\x35\x36\x74\xe6\x69\xad\xad\x08\xb4\xbe\x3d\xe3\xa0\x56\xe6\x3d\xf7\xe7\x0b\xa9\x17\xa9\x33\x20\xde\x0c\xa7\x1b\x35\x9e\x80\x24\xe8\xb9\x9f\xcb\xc2\x4c\x93\xc6\x80\x3a\x64\x22\x54\x90\xaa\xed\xb3\xed\xb5\xfd\xd9\xa2\xa1\xca\x52\xf5\x84\xa1\x0a\xf9\xa1\x38\xdd\x7f\x1e\x3e\xd7\xc8\xd0\x6d\x1e\x55\x76\x2a\xd8\xd1\x8b\x17\x3f\x33\x56\x57\x32\x7c\x31\xf8\xc5\xad\x5e\xbc\x46\x44\xb7\x17\x0c\x5f\x0c\x06\x2e\x8a\x62\xd0\xab\x3d\xe1\x78\x6c\x2e\x5d\xc4\x3c\x81\xfd\x3f\x20\x9e\x9a\x15\x45\xec\x3e\x43\xec\xe0\x24\xa9\xd8\xe8\xd7\x15\xc1\xa7\x86\xe2\xb5\xdc\xef\xab\x22\x07\x47\x46\x8b\x4a\xfd\x41\x88\xac\x61\xb0\x86\x08\x87\x67\xd8\xb1\x4c\x7a\x99\xe3\xe0\xe7\x2d\xc6\xcc\x04\x89\x2f\xc0\x24\xec\xb9\x85\xf8\x59\x61\x94\x06\xae\xb5\x6a\xb0\xda\x61\x10\xfb\xcb\x88\x15\xae\xbd\xb5\x9a\xf2\x34\xc4\xf7\x38\x31\x51\x35\x12\x10\x5d\x0f\x8e\x17\x44\xbb\x06\x15\xf8\x82\x2e\x8c\xa2\xc8\x42\x11\x52\x0b\x4d\x48\x39\xce\xc2\xd0\x7a\xb6\x9a\x21\x6f\x64\x8c\x68\xb5\x42\x94\x33\xb4\x5e\x23\x2d\x46\xb2\xee\xf5\x77\x89\xa6\x20\x40\x4d\x25\x95\x0a\xcc\x5d\x62\x7d\xf1\xbf\x4b\x3a\x16\x0c\x31\x67\x96\x60\xac\x85\x5a\x6a\x4f\x94\xbb\x3c\x57\x82\xdb\x49\xfb\x2e\x72\x13\x09\x54\x6d\xa0\x6f\xf0\x1f\xea\xed\x71\x3b\x68\x89\xb0\x42\xd9\x54\x87\x29\xa5\x41\xa3\x5a\xb0\x50\x6b\xdd\xe0\x52\x1c\xd1\xb1\x02\x4d\x56\x23\xcb\x4a\xb7\xc3\xb8\x83\xf6\x38\x4b\x87\x52\x6d\x9d\x4f\xd9\x32\x2f\x64\x08\x15\xba\x52\x7b\xe0\xba\x89\xea\x50\xbf\x6a\xb1\x17\x8e\xd3\x51\x47\x86\x08\x13\xd5\x79\x3f\x8e\x8c\x62\x0a\x27\x82\x21\xa4\xbd\xc6\x1a\x3d\x4d\x13\xea\xad\xd1\xc6\xd7\x41\xe0\x5c\x5b\x35\xcf\x84\x80\x76\x39\x43\xa8\xc7\x8d\xd6\x5e\xa5\x43\xcf\x19\x88\x60\xd7\x82\xf1\xe6\x62\x5b\xef\xac\x31\x59\x85\xf8\x8a\x6b\xc1\x61\xa6\xc6\xa9\xe8\x8e\x05\xeb\x74\x16\x8d\x09\x23\x9d\xd1\x6b\x36\xa0\x8a\xfe\xa2\x26\xc6\x44\x75\x81\x49\xaf\xd4\xfb\x57\x45\x99\x5d\x1f\xbf\x06\x67\x83\x8a\xaf\xc1\x77\x2c\xaa\x89\xd0\x80\x5e\x13\x63\xd1\x88\x67\x56\x3a\xa7\x77\xbd\x84\x10\x72\xdd\x61\xec\xce\x71\xae\x8c\x7f\x59\x1c\x59\x3e\x70\xae\xe9\x1d\x21\x84\x5e\x33\x3b\xf1\xae\x97\xd0\x19\xa1\x86\x6d\xb9\x26\xd4\x84\xa1\x10\xf8\x9a\x2e\x21\xf7\xac\x37\xa5\x5f\x75\xe2\x55\xed\x4e\x71\xcf\xb4\x80\x90\x3e\x0f\x2b\xd5\xf0\xeb\xef\x35\x4c\x2a\x65\xd4\x75\xea\x38\x47\xc7\x57\x35\x99\x7d\xc5\xfb\x70\xfc\xae\xe7\x46\x33\x24\x32\x6e\xcd\xcb\x32\xaf\xda\x32\xee\x84\x5b\xf4\x42\xcb\x7c\x35\xdf\x8a\x6d\xa9\xb7\xc5\x3d\xd8\xaf\x56\x77\x05\xde\x95\xff\xd5\x0f\x46\x23\x08\x79\x59\x2d\xdd\x95\xb9\x6f\x52\xa0\x66\x5b\x2f\xb9\x96\xb4\xda\xad\x50\x59\xf9\x96\xd4\x91\x2f\x41\x3d\xa1\x6a\x19\xae\xdc\x6f\xfc\x60\x64\xd9\xaa\xdc\xe2\x3a\x56\xe2\xee\x1d\x42\x57\xf2\x71\xe1\x46\xd4\x32\x42\x71\x73\xda\xd5\x0a\xa6\xe7\x55\xc4\xb6\x1d\xfa\x36\xcd\xcd\xa2\xce\xfb\x2a\x9b\x2f\x17\x76\x0c\x1f\x4b\xb9\xef\x16\x87\xc4\x7b\x04\x61\x58\xa0\x6f\x13\x40\x29\x2a\xa2\x61\x87\x31\x39\x14\x6e\x44\x39\xf1\x04\x8b\xd6\x3a\x2c\xaf\x31\xab\xa8\x06\xdd\x28\xcb\x03\xb9\x27\x1f\xf6\x3f\xca\xf1\xc5\xe3\xc2\xd2\x4b\x39\xec\x1f\x8e\x69\x44\x28\x1a\x23\x42\x17\x76\x1e\xbe\x33\x8f\x37\xde\x0d\x06\x1b\x98\xb6\xf6\xc6\xbb\xa0\x5e\x03\x26\xeb\x45\x1b\xdb\xf4\x6c\xb0\x45\x5b\xb7\xa4\xef\x0d\x75\x0d\x72\x78\xf5\x77\x9b\x9c\xb6\xc4\xdb\xb2\x92\xc8\x6b\x27\xc3\xbf\x1c\xd7\x3c\x4a\x35\x23\x0b\x96\x0e\xb7\x23\x48\xfd\x42\x5c\x7f\x44\x33\x06\xf1\xc2\xdf\xa8\x15\xbf\xe7\x09\x10\x8f\x10\x11\xa9\x4e\xd1\xd1\x8f\x4e\xf0\x94\x38\x4e\x67\x4a\x97\x0c\x5f\x0e\x43\x57\x90\x5a\x4c\x71\xc7\x96\x95\x98\xc2\x4b\xd8\x89\x42\x4f\x89\x3b\xf0\xee\x2c\xd1\x97\xfe\x33\x6c\xe9\xa4\x59\xaa\xf4\x0b\xb2\x76\x25\xf1\xee\x2a\x3d\xb5\x7b\x9e\xbc\x09\x59\x66\x2b\x3c\x2c\x4d\xa4\x24\x7c\xd1\xeb\x11\x6f\x70\x9c\x38\xce\xc5\xaf\x2c\x01\x27\x2e\x46\x2a\x84\x2f\x08\xdd\x2b\x70\xbb\x96\x5a\xfd\x3f\xf2\xdb\x1f\x46\xc4\xbb\x54\x44\x5d\x25\x8d\x5a\x83\x2f\x97\xcd\x4c\x4d\xe8\x9e\xbb\xb5\xde\xa8\xab\xb5\x27\xb7\x42\xbb\x58\x88\x4e\xc7\x85\x6e\xaa\xd8\x8f\xd3\xfd\x68\x88\x23\xbf\x9d\x3c\xaa\xee\x2a\x90\xae\x4b\x86\x88\xd0\x8d\xa9\xc7\xc1\xf7\x86\xb2\x51\x57\x15\x34\xa6\x09\x63\x60\x6d\x37\x6e\x94\x99\xea\xdb\xdd\x43\xcb\x64\xdd\x52\x6c\x02\x15\x26\x50\x20\x9a\x07\x10\xa4\xd5\x0a\x11\xaa\xa1\xd0\xa1\x1d\xd8\x7f\x1c\xda\x5a\x5d\x27\x5c\xab\xca\x75\xbb\x15\xa9\xc5\x44\x4d\x75\x41\xfa\x64\x9e\x17\x4c\x40\xa4\x7d\xf0\x7c\x02\x79\x15\xb1\xf4\x77\x2c\xfa\xea\x81\x94\xe5\xa7\xc8\x6f\x4a\x8d\x36\x9d\x82\x4d\x5a\x2d\xa2\x43\x04\x16\x8b\x4d\x68\x86\x3d\xed\xfc\x0d\x1d\xa2\x9e\x41\xc0\xa1\xdd\x2f\x5e\x4c\x58\x28\xc5\x3c\x94\x9f\x3f\xbe\x39\x9b\xcf\x16\xf3\x54\xf1\x89\xc2\x71\xd0\x21\x82\xdb\x76\x95\x45\xf5\xad\xa9\x73\x68\x25\x36\xf8\xe2\x88\xb8\x4d\xba\xae\x3d\x97\x3c\x13\x13\xf6\x24\x70\xd8\xd7\xcf\x3a\x1d\x22\x4a\xed\x68\x35\x84\x58\x53\x4d\xcf\xa0\x13\x1d\x56\xbd\xb6\x0c\xdb\xeb\xde\xab\x91\x55\x2f\xb6\xb7\xbf\x26\xbc\x37\x84\x31\x6d\x90\x71\x7d\x0f\x5d\x3b\x93\xac\x56\xdb\x2a\xfe\x96\x37\xfa\x00\x41\x2b\x52\x96\x59\x7f\x10\x33\x0d\x03\xd7\xba\xe9\xb7\x29\xa6\x33\x5b\x69\xc6\x02\xb7\xf8\x6f\xfd\x1e\x29\xff\xd6\x3d\xa4\xa8\x7b\x64\xef\x9c\x40\x98\xab\x6f\x03\x04\xbb\x93\x62\x96\xfc\xbb\xe2\xba\x05\x04\x3c\x47\x1e\xec\x2d\x1d\xea\xda\x64\x01\x12\xb1\x75\xde\xf4\x2e\xc8\xb9\xb6\xda\x01\xac\xfc\xaa\x89\x89\x7d\x1e\x60\x14\x2f\x8a\xc9\x22\x8b\x1e\x8d\xb3\xba\x49\x88\xc5\x66\xa5\xc5\xa4\x56\xe7\xae\xa7\xb8\xfe\xac\x98\xc6\x39\x38\x3a\xdd\x48\xd9\x0e\x03\xf3\x3e\xa8\x6a\x31\x8b\x4f\x45\xa5\x32\xac\xd6\x79\x88\xfe\x86\x7a\xf3\x3a\x0f\x2c\xbd\x8b\x50\x55\xed\x32\x4b\x18\x17\x76\x3f\x48\x0f\x07\x43\x34\x44\xbd\x00\xd4\x60\x44\x95\x93\x07\xf9\x67\x95\xb9\xd7\x94\xac\x16\xe5\xa8\xe9\x26\x4c\xd6\x55\x9c\x4e\x3f\xdb\x71\xde\x42\x13\x97\x59\x3a\x0e\xfa\x1b\x98\xc4\xf9\x83\x11\xb1\x1c\xf5\xeb\x48\x8f\xb2\x9f\x83\x44\xfa\x88\x10\xda\x19\xe8\x7b\x4b\x3a\xf1\x4e\x70\xc4\x60\xa3\x85\x84\x0c\xf1\x84\x45\x74\xc2\x4c\x9a\xa0\x11\x21\x43\xde\xc3\x39\x57\x30\x82\x46\xa4\x2c\x23\xe2\x06\xbd\x09\x71\x4d\x16\x0e\xc5\x26\x8c\xf7\x22\x97\x33\x16\xf6\xd0\x21\x72\x1c\x3c\x61\x6a\x5d\x4c\x74\x23\xd3\x6f\x3c\xa9\xf6\x5d\xa7\x33\xb1\x7d\xf1\xd6\xbb\xc6\xda\x1d\x7b\xbb\xb7\x47\xe5\x7e\xb1\xea\x71\x59\x9a\x3e\xd0\x08\x6e\xe6\xca\x12\xfd\x4d\x41\x0f\xfb\xa4\xdb\x7b\x71\x18\x31\xe9\x62\xd0\xa3\x37\x61\xf1\x02\x16\x52\xa3\x97\xa9\xb7\x37\x21\xc4\xad\x86\x2f\x09\xbd\xd7\xde\x3a\x22\x26\x09\xec\xb4\xc8\x74\x30\x64\xd6\xaa\x1a\xad\x99\x80\x4e\xd8\xe1\x1f\xdf\x0e\x41\x7b\xd9\xc5\xdf\x0e\xfb\x3f\x91\x43\xe0\x60\x1b\x7a\x59\xea\xda\x9a\xe8\x70\x12\x94\x6a\x3d\xe3\x4d\x36\x32\xda\x40\x51\xe5\x5e\x56\x4d\x6f\xe4\x1f\x8d\xdc\xb0\xb5\xbb\x59\xf8\x2f\x6f\x66\xbe\x63\x33\xcb\xff\xed\x66\xe6\xb0\x99\x39\x6c\x66\xb9\xb1\x99\x83\x1e\x6e\x8a\x0e\x85\xb5\xb5\x5d\xa0\x7b\x77\x6d\xea\xbd\xb6\x7e\x9f\xd9\xc4\x00\xc9\x4c\xe0\xc0\x21\x6e\x6d\x2a\xbe\x23\xb0\x5a\x1c\x7e\x17\x0e\x09\x43\x9d\x00\x0d\xda\x28\x0b\xfe\x7f\x79\xc0\x02\xe8\x78\x48\x86\x11\x0b\x5d\x3c\x69\x4e\x4d\xc4\x82\x9e\xe8\x4d\xd4\xb9\xa9\x0f\x4e\xa4\x0e\x4e\xb4\x71\x70\xa2\xe6\xe0\x44\xff\x3f\x5c\x65\x7b\x65\xad\x55\xb8\x08\x76\xa9\x6d\x36\xa1\xf2\x26\x71\xae\x18\xa2\xa6\xc0\x5f\x21\x68\x70\x6e\x97\xd1\xbe\xed\xef\x15\x12\x68\x17\xf6\xcc\x2f\xe3\xc0\x14\x6d\x1c\x88\x56\xac\x12\x8b\xda\xb0\xc4\x23\x88\x72\xb6\x92\x3a\x58\x87\xdb\x39\xa2\xc6\x2d\xdf\x29\xcf\xa5\xdb\x19\xd0\x4c\x3e\x64\x71\x01\x1b\x22\x77\x6b\xdd\x6a\x35\x65\xef\x33\x19\xc5\x8f\xdf\xd7\xee\xd9\x96\xa2\xc0\x1e\x7c\x37\x0f\xe5\x4e\xe2\x32\x30\x61\x49\x4c\x5f\x6a\x89\x0a\xa8\x4c\x62\xf5\xb9\xfa\xa4\x09\x87\x3a\x5f\x9d\x4c\x03\xad\xab\x5f\x0f\x40\x67\xb4\x12\x58\xfb\x73\x55\xa0\x19\x62\x55\xa2\x49\x61\x1b\x19\xbe\x23\xe7\x69\xb1\x39\xd6\x7d\x82\x15\xbe\x50\x65\x31\x12\xfc\xef\xe8\xa2\x6b\x7b\x3d\x3a\xd9\x88\xb9\x10\x34\x8e\x16\xa6\x26\x28\x6c\x04\xb1\x72\x74\x9c\x5a\xc5\x09\x87\x90\xae\xb3\xd2\xfa\x13\x0b\x75\xa8\x4d\x6c\x31\xc1\x9a\x86\xd0\xf5\x48\x3b\x6f\x44\xc7\x9e\xb5\x47\x12\xcd\xec\x8a\xbe\x1a\x0d\x0f\x05\xcf\x0b\xdc\x84\xdb\xd6\x91\x2c\x6f\xcd\x75\x3d\x9d\xf6\xf5\x51\xc0\x84\xf2\xa6\x4a\x1a\xe8\x7b\xdf\x29\x4d\xbd\x94\x85\x75\xcc\x4b\xa3\xdb\xb0\x60\xa1\x19\x4d\x06\x56\xe5\xf5\x3a\x82\x16\x71\xea\x38\xad\xa5\xb3\x88\x9f\x74\xae\xa3\xbf\x7a\x19\x5b\x58\xa4\xeb\x80\x2e\x1a\x12\xef\x10\xb5\xde\x0e\x11\xe9\xbd\x20\xa4\x87\xd3\xb2\x04\x3a\x28\x65\xb2\x0a\x18\x3a\x0c\x84\x1b\x87\xda\xec\x31\x53\x80\x6a\x41\x68\xca\x84\xf0\xf4\xdd\x62\xd6\x90\x86\x6f\x39\xce\x48\x3f\xe1\x79\xf1\xa6\x69\x87\xf4\x8e\x88\xa7\xa3\x27\xa4\x38\xa3\x05\x55\xd0\x25\x20\xde\x74\x03\x98\xc2\x5d\xaf\xb7\x63\x6d\xbc\x3d\x7d\xc3\xa8\x03\xd4\x35\x97\x37\xe5\x8c\xc7\x49\x31\x27\xee\x61\xec\x45\x10\xba\x54\x24\xb1\x98\xb6\x75\xc2\x61\xe2\xec\x0d\xaa\xaf\xb9\x8b\x2c\xb9\x94\x4f\xf0\x3c\x93\x05\xaf\x9e\xe1\xb6\x12\x5e\x5e\x74\x58\xd0\x7f\x98\xc4\x62\x62\x9e\x83\x65\x51\xcc\xd3\x46\xbe\x23\xd9\x29\x0e\xfa\x05\xcf\xc6\xb2\x20\x1e\xe2\x26\x28\x0a\xc0\x7d\x90\x8f\xa9\x27\xf0\xdb\x3c\x18\x95\x65\x07\x62\xad\x54\x4e\x40\x48\x83\x1c\x8c\xe2\x91\xd4\xb6\x8a\x26\xa8\x29\x98\x73\xdb\x51\x4e\xcb\xb2\x7a\x07\xff\x16\xae\x89\x7d\x7a\x86\xc7\xb6\x62\xe6\xed\x97\x57\x27\x3a\x42\x4f\xa8\x2f\x1f\x46\xe0\x2c\xda\x0a\xd1\x02\x7e\xf5\x4e\x38\x1e\xd7\xae\xeb\x21\x0e\x2d\xf1\x2e\x2a\xf3\xbf\xb2\xec\x8c\x9b\xd6\xf4\xf0\x54\xfb\x41\x3f\xce\xcf\xb5\x9c\xf1\x7d\x06\xbe\x1f\x64\x88\x55\xee\xad\x65\x1c\xd3\x44\x51\x28\x41\x7f\xa1\xf3\x99\x52\x98\x58\xa7\xa0\x53\x6d\x6d\xc7\xc1\xa2\x66\xc3\xe9\xa4\xba\x12\xf4\x51\x14\x1d\xfc\xc7\x7f\xfd\xf2\x62\xf0\x5f\x07\xed\x6a\xd0\x88\xed\x75\x06\x70\x69\xea\x9d\x05\xb8\xa9\x92\x74\xd8\x59\x80\x17\x10\x93\x46\x55\x6d\x1d\xb9\xce\x40\x1f\xa8\x4b\x85\xdf\x43\x3b\x56\x2e\xde\x90\x5c\x29\x32\xb6\xa0\x5c\xd1\xab\x75\xc0\x63\x13\x0f\xd8\x55\x1d\xdd\x69\x62\xa7\xb9\x4d\xab\x3d\xd9\x00\x1f\x1a\x35\xfb\x1c\x73\x7b\x7b\x07\x5e\xc4\x7e\x0c\x3c\x20\x5e\x02\xe5\x34\xa4\x01\x95\xa4\xba\x08\xae\x67\xdf\x6b\x5a\x34\xe1\x95\xa3\x21\x6e\x1a\x0b\x6d\xd8\x25\xe9\x18\x87\xb4\x73\x44\xa5\x22\x5d\x21\x98\x44\x02\x34\x0b\x21\x6b\x42\x45\xa3\xa1\x23\xfa\xdd\x30\x1e\xab\xad\x40\x8c\x6d\xff\x56\x70\x78\x4d\x42\x9c\x05\xff\x0f\x6f\x6f\xda\xe5\xb6\xad\xe4\x0f\xbf\xd7\xa7\x68\x61\x7a\x64\xc0\x42\xab\xa5\x24\x77\x23\x1b\xd6\xf1\x9a\x38\x63\x3b\x8e\x97\xe4\xde\xab\x56\x7c\x40\x12\xa4\x14\x51\x94\x4c\x52\xbd\x44\xe4\x77\x7f\x0e\x0a\x00\x09\x2e\xdd\x76\xee\xcc\xf3\x3f\xf6\x69\x91\x20\xf6\xb5\xaa\x50\xf5\x2b\xac\x87\x90\x50\x8f\x35\x47\x02\x60\x31\xf4\xe2\xa5\x2b\xe8\x0c\x4d\xca\xd2\x94\xf1\x21\x58\x04\x6c\x0c\xcd\x35\x1a\x89\xda\x97\x74\x38\x64\xd6\xc6\xbd\x0e\xf1\xff\x14\x45\x4a\xa0\xbe\x83\xfb\xba\xdf\xb3\xbb\x3f\xf8\xaa\x7e\xf5\x1a\x3b\x71\xf8\xa5\xfe\xf5\x46\x23\x1c\xd8\xfd\xcb\x1b\x67\x03\x71\x70\x3a\x1a\x45\xd8\xa3\x2b\x1a\x32\xab\x11\xea\xb6\xa6\x7a\x25\x34\x06\x8f\x89\xd0\xbb\x56\xc7\xb0\xe1\xac\xb4\xcc\x67\x2c\x11\xce\xef\x35\x2d\x32\x9c\x52\x65\x8d\x6a\xb9\x12\xfb\xa2\x1b\xb1\x2e\x99\x71\xa7\x15\x8e\xdf\xd6\xe5\x6d\xb8\xdc\x02\x75\x3c\x38\xfe\xb3\x9c\xfb\x9b\x39\x67\x7c\xb2\x15\x59\xc6\x23\x31\x1a\x81\x57\x6d\xfd\xa5\x16\xfc\x9b\xef\x64\x8e\x20\x35\xa0\x40\x99\xc0\x31\xba\x4c\xe4\x2b\xa4\x71\xac\xdf\xdd\x21\xf5\xc5\xc7\x77\xaf\x00\x02\x6b\xd0\x8d\x6f\xbe\x8f\x91\x23\xdf\xe3\x75\x62\xa9\xce\xf0\x86\xf6\xaf\xe9\x39\xb0\xee\xcc\x76\xb1\x00\x4d\x0c\x01\x96\x7a\x72\x4f\x8b\x77\x51\x51\xdc\xba\x4a\xd5\x3b\xbd\x3d\x72\x36\x1c\x6a\xe9\xa4\xa6\x08\x62\x72\x2c\xab\x9b\xaf\xce\x2a\x00\xa5\x97\x1e\xbd\x10\xaf\x32\xcb\x01\xf3\x02\xcb\xc9\x68\x65\x87\xc4\x49\xd9\x92\x9b\x0b\xcc\xa9\xba\x1c\xf2\xe6\x08\x39\x5e\x65\xc1\x71\x8c\x77\x91\x23\x30\x8a\x77\x11\x22\xca\x83\xad\xc0\x48\xfe\x22\x42\xaf\x79\x9a\xc8\x57\xf9\x8b\x08\x85\x0b\x49\xf9\xae\x95\x02\x29\xcc\x12\xa7\x55\x73\x9f\x09\x8c\xe0\x0b\xea\x33\xf7\xf5\x46\x23\xc3\x05\x71\x1b\xeb\xa4\xc4\x4d\x9b\xa9\x7f\xd6\xd2\x27\xf4\xe9\x13\x78\x69\x15\xdf\x8b\x3c\x17\xe9\xa7\x4f\x48\x59\xfe\x54\xe1\xef\x3b\xe1\xf1\x6e\xb7\x39\xec\xbb\xf1\x55\xb8\x1d\x7f\xa0\x3e\x80\x74\x50\xc7\xd4\xe4\xce\xbf\x31\x5a\x67\xc2\x0f\xe3\x00\x34\xad\xbb\xd6\x14\x1b\x2d\x38\xf4\xc6\x0c\x21\x2d\x29\xaa\x3c\xb7\xea\xd4\x7e\x96\xdf\x91\xfa\x49\xdd\x40\x8d\x24\x01\x13\x29\x4f\x0f\x7e\xbe\x4b\x7b\xea\x91\x18\x17\xb0\xde\x44\x2d\xaf\x6e\x1c\xb3\xec\x4c\x3c\x00\xc3\x4a\x45\xa2\x3c\x5d\xef\x82\x4a\x17\x4d\x52\x04\xa3\x91\x07\x47\xb1\xfc\x0d\xd7\x49\xd0\xaa\x79\xb0\xdb\x56\x19\x31\xa6\x6d\x0a\x9b\x51\x76\xde\xef\xca\xe3\x6c\xb7\x75\x71\xf0\x1f\xb7\x8e\x31\xf6\x31\x2c\x0a\xf9\xfb\x8b\xfe\xfd\x35\x6c\xc5\x0e\x55\xb9\x75\x79\x5b\xab\x3c\x90\xab\x30\x86\xa7\xc4\x2e\x53\xe5\x84\x87\xb3\x56\xe8\x40\x06\x23\xd4\x8d\x7a\x2c\xbb\x61\x8b\x65\x37\xec\x85\xae\x83\xfd\xa5\xd5\x97\x5c\xd7\xb7\x9e\xdd\xa1\xaa\xae\xbe\x62\x3e\x24\x6a\x22\x83\x3e\x8e\xbe\xab\xf5\xe6\x9e\x63\xed\x38\x49\x70\x47\x0a\x66\xa5\xe0\x4e\xef\x07\x90\xb2\x8e\xb9\x0d\x3d\x55\x4b\xbc\x69\x60\xc0\x7c\x3c\xd0\xe5\xd1\x57\xc4\xd9\xe4\x6d\xba\x8b\x52\xbe\x75\x40\x71\x69\x8b\x3d\xd0\xc6\x69\xec\x43\x1f\x25\x5f\x58\xdd\xde\xa9\x8b\x34\x5f\x4e\xa7\x3a\x50\x75\x0a\x4f\xf2\x92\xb8\x5e\xf5\xc2\x7c\x1b\x14\x26\x9b\xbc\x52\xe0\x31\x8e\x15\x63\x38\x75\xbd\x49\xbe\xfb\x55\xee\x94\x72\x2f\x6c\xc4\xff\x98\xf0\xf4\xf6\x79\x55\x88\x23\x2b\x62\xf6\x12\x65\x1a\x52\xe5\x53\x7f\xa8\xc2\xac\x8c\x07\xd6\x67\x1d\xd6\x2c\xe9\xc9\xba\xa7\xa8\x58\x84\x50\x8c\x7c\x4e\xd7\xd1\xaa\x5b\xa6\x8c\x51\xbd\xcb\x1e\x81\x68\x7d\x35\xd0\x71\xf5\x6b\x85\x14\xa0\x13\xe8\x60\xd2\xea\xae\x5d\xb4\xf6\x79\xfc\xff\x6b\xad\x4c\xe0\x7c\xb1\x74\x16\x5e\xab\xff\x9f\xee\x92\x00\x7c\x66\x77\x2a\x91\x83\xa2\xbe\xaa\x04\x8f\x73\x91\x26\x92\x04\xd2\x01\x32\x4f\xf1\xf9\xd0\x37\x48\x32\x5d\xa3\x6a\x55\xe2\x46\x68\x9d\xc3\x7f\x50\xeb\x97\xb5\xf5\xb1\x55\xf6\x60\x38\xb3\x67\x5a\x3b\xd1\x6b\xb1\xf5\x44\xda\x6a\xa5\x62\x8a\x4c\x23\xb6\xfb\x43\x2e\x82\xd1\xe8\x23\x56\x1b\xab\x48\xf3\xdb\x4e\x03\x77\xda\x26\xbb\x6a\x0c\x1e\xd6\x69\xcd\x96\x2c\x53\x56\x51\xc8\x7d\xd5\x7a\xca\x63\xbb\xeb\x7d\x26\xf7\x70\xd9\x65\xf3\x21\xc7\xea\xa6\x5b\x08\x65\x39\x5d\x63\x3d\x39\xc3\x99\x1b\x28\xc2\xa2\x9e\xf7\x59\x7b\x49\x5b\xeb\xd8\xea\x63\xf3\x58\x14\xca\x49\x94\x3e\xc3\x03\x5a\x55\x92\x74\x96\xb8\x35\x30\xaa\x72\xa3\xd1\x3d\xb5\x9b\x07\xdd\x21\x7b\x0c\x60\x58\xb2\x9a\xff\xe7\x93\x7d\x70\x4f\xef\x82\xa6\x43\xa3\x7b\x25\x77\x67\x7a\x4e\x43\xb9\xfc\xbf\xe8\xb8\xa0\x59\x2f\x75\x08\xdf\x59\x31\x3d\x85\xd6\xa2\x53\x35\xa5\x42\x64\x55\x10\xde\xed\x6a\x36\x03\x7a\x2a\xab\x22\xfc\xe9\x2a\x03\xee\x6c\x5d\x61\x7b\x87\x9f\x51\x7b\x87\xb7\x0e\xf3\x5d\xa0\x89\x86\x19\xab\xee\x91\xe1\xaa\x79\x31\x5d\x5a\x67\x4b\x05\xa1\x61\x76\x6e\x4d\x86\x80\x51\x84\x01\xe4\xe0\x0e\x5f\x4c\x97\x92\x31\x9c\x73\xe7\xda\x76\xaa\xb5\x0f\x1a\x17\x8c\xb9\xf2\x56\x67\x6f\x13\x72\x59\x56\xc1\xed\x8d\xa0\xae\xee\x67\xab\xba\x4c\x1d\x93\x95\xa6\x8f\x2c\x04\x42\x9a\x55\x37\xa2\x64\xa5\x63\xdb\x3f\xcf\xa9\x9c\xc1\x4e\x5f\x6a\x0a\x53\xd9\x31\x89\xdf\x7c\x0f\xd0\xac\x60\x66\x2a\x72\x91\x96\x54\x4e\x03\x9e\xef\x52\x07\x31\x64\xf5\x6b\x6a\xb7\x78\xda\xae\x6c\x51\xf4\xd4\xbf\xb7\xf6\x75\xa7\xe8\x83\x5b\x76\xd4\x7d\xd1\x5a\xeb\xe9\x4b\xd1\xdb\xd3\xdc\xbe\x94\xd6\x64\x90\x42\x22\xc9\xf2\x27\x87\x75\x1c\x88\x94\x79\x9a\xff\x54\xfb\x0c\xb3\x68\x9d\xdc\xc8\xf5\xbf\x3e\xc9\x0b\xeb\xee\x00\x59\x54\x1d\x62\xcc\x06\x67\xf0\xad\xde\xbc\x31\x6b\xec\xa7\x90\xcc\xab\x47\x4c\x9c\x7f\x19\xa4\x16\xdb\x2c\xa9\xe6\xbb\xc1\x52\x5e\x19\xcc\x37\x39\x68\x55\xab\xbb\x39\x68\x0b\x77\x50\x6b\xfd\x19\x5f\x43\xde\x1c\x80\x08\x1d\xa4\x3d\x2a\x5b\x74\x20\xb0\xbd\x81\x8f\x39\xa1\x3d\x5f\xc9\x7c\x38\x73\xba\x20\x86\x5e\xcb\xe8\x55\xa1\xba\x1b\xef\x69\x62\xb2\x4e\xf6\x87\x3c\x53\xf0\xa4\x33\x0b\x4d\xab\x72\xa3\x46\x23\x16\x2d\xa6\xcb\xb6\xda\x56\x8f\xc2\x59\x84\x39\x71\xe5\x78\x01\x72\xe4\x8a\xc9\xf2\xae\xe9\x35\x5d\x78\x4b\x42\x37\xcc\x1b\x8d\xa0\xd3\x6d\x43\x39\x59\x9d\xb0\xf6\xb6\x0b\x00\xf3\x89\xfc\xb3\x67\x53\x3a\xd8\x56\xb5\x71\xf7\x17\x5b\x77\x3f\x1e\x93\x78\xb1\x5f\xb2\x80\x26\xf2\xc7\xf6\xa0\xdd\x5b\xad\x5a\xe3\x6e\x38\xa3\x3e\xf8\x29\xa8\x32\xf4\x2f\x42\xd7\x37\x4e\x54\x37\x2c\x5a\xf8\x4b\x8d\x14\xec\x15\x05\xf6\xd8\x30\xc0\x1b\x1a\x2f\xfc\x25\x21\x24\x59\xf8\x4b\xa6\xde\xd8\x06\x5a\xb1\x21\xa5\x07\x57\xd5\xa6\x8d\x49\x6f\xb3\x5a\x56\x09\x95\x07\x40\x1a\x56\x6c\x3f\xeb\xad\x79\x85\x14\xc0\x49\xd9\x40\x66\x07\x35\x2f\xc6\x2b\xa5\xb8\xfe\x1b\x49\xa5\x8d\x1d\x80\x32\x4d\x96\x3f\x53\x72\x3b\x8b\x8d\x7f\x0c\x17\xd3\xe0\xad\xb5\xa4\x3e\xb1\x35\x63\xef\x00\xee\x36\x72\xa6\x96\x99\xb4\x52\xfc\x56\x1d\x36\x6b\xa0\x16\xa8\x1b\xcc\xa8\x92\x21\xfc\xb9\x76\x0e\xa0\x0a\x91\xd5\xd0\x5a\xfb\x4f\xf5\x82\x2b\xbe\xd0\x46\x01\x22\xf0\xb0\xdb\xc6\xa8\xed\x8e\xf1\x7f\x31\x14\xf7\x0f\x83\xec\xe0\x46\xd1\x71\x05\x3c\x59\x41\x8b\x9c\x70\xd7\x98\x13\xb7\x94\x27\xa9\xcf\xfc\x21\x63\xab\xd1\x48\xfe\x84\xf3\xa6\xba\xb3\x5c\xc3\x82\xf1\xea\xa5\x76\x7c\x2c\xa0\x6a\x96\x0c\xa9\x3f\xbe\xcf\x4c\x54\xb7\x12\x0b\x0a\x32\xf7\x1d\x51\xba\x9d\xba\x8c\x46\x9d\x20\xa5\x81\xd9\x0e\xed\x36\xc3\xf1\x6a\x22\x51\xc3\xd7\x35\x53\x08\xea\xeb\x5d\x88\x0d\xb8\x7e\x9a\x9b\x07\xc7\x56\x39\xf3\xd5\xa5\x18\x7b\xc1\x31\x99\x24\xbb\x8f\x49\xc6\x43\xf1\xfc\x8a\xc7\x34\x61\x47\x3f\xdb\x3b\x1b\x2a\x6e\xf6\x22\xc9\xd6\x57\xe2\xe9\x4a\xf8\x9b\xcc\x19\xce\x4a\xba\xbf\xf3\xe3\xb4\xec\xc8\xb8\x02\xba\xa1\xcf\xd5\xcc\xd8\xd2\x03\xfd\xec\x36\x75\xb0\x83\xb6\x0e\xf6\x67\x16\x80\xdb\x7d\xc0\x70\x51\x1a\xf7\xcf\xe7\xdc\xf1\xdc\x2d\xcb\x16\x9f\x97\xee\xb6\x28\x30\x72\x94\x2a\x99\xa5\xbf\xd5\x0a\x9a\x91\xd1\x08\x1f\xd8\x70\x4a\x65\x6e\xf5\xcd\xdc\x37\x84\xd0\xe7\xec\xf9\x7c\xef\x24\x74\x0b\x37\x65\xc2\xc7\xcf\x09\xdd\x32\x2c\x5f\x42\x1f\x6f\xa9\x4f\x9f\x13\x32\xa9\x64\xfb\xdb\x9a\x8d\xda\x76\xfa\x3a\x72\x0e\x3d\xa1\xdb\x0a\x1c\x77\xe5\x84\xce\x56\x77\xfd\x68\x84\xbb\x51\x05\xa1\xb2\x59\x6c\x5b\x0d\x4a\x8c\xb7\x74\x43\xb4\x16\xba\xe9\x46\xe4\x54\x5f\x03\xf9\xb5\x05\xe6\x7e\x5b\x36\xa4\x85\xdb\xa6\xee\xeb\xa0\x7d\x2b\xdc\xb5\x00\xb0\x75\x5f\xab\x25\x7a\x08\x1a\x0b\xd7\xb3\xaf\x05\xe4\xe2\xe5\x0d\x03\xb2\xe4\x3e\x63\xb6\xff\xb4\x44\xa5\xfd\xda\x2d\xec\xa0\x09\x9f\x5a\x71\xc9\xdc\x4e\x5b\x54\x41\x8f\xc6\x83\x4f\x8e\xa2\x28\xb0\x90\x33\x43\xef\x81\x9c\x02\x84\x8f\xba\x69\x1c\xce\xf4\x30\x2c\x64\x72\x1a\x60\x9f\x58\xa5\x06\x55\x0b\xf5\x6d\xc4\x51\x1b\x44\x4f\xcb\x0e\x14\x46\x4f\xc9\x56\x81\xb6\x11\xa0\xfc\x34\x04\x8d\x4c\x5f\x64\xd9\x7b\x7f\x25\x82\x43\x2c\x39\x68\xdf\x98\x6b\xc2\xdd\x5d\xfb\x3b\x34\xa1\x73\x3d\x23\x77\x23\x17\xdc\x20\xa8\xa4\xee\xa0\x2f\xe5\xcc\xad\x22\xb0\x6b\xb7\x86\x34\x9d\x52\x49\xc2\x18\x20\xc0\x8b\xc8\x1d\x8f\x43\x72\x0c\x98\x58\x84\x4b\x49\xb3\x78\xea\xc9\xd7\x06\x41\x4b\x10\xe5\xcb\x3d\x7b\x1e\x54\xfa\xc1\x1e\xf6\xb5\x93\x74\xe2\x28\xe3\x66\x6d\x4a\x54\x47\x31\x11\x9c\xc0\xe8\xe7\x9a\x90\x1a\xb4\xbb\xfa\xb4\x22\x94\xe3\x15\xe0\x1a\x37\x0e\x56\x3d\x14\x5a\x27\x1a\xd6\x72\x60\x50\xfd\xa0\x18\x26\xd4\x01\x62\x87\x11\x13\x43\x66\xdd\x8a\x00\x12\x5d\xf5\x5d\x69\x41\x37\xbe\xab\x20\xa5\x46\x10\xb1\x97\x18\x14\xc7\x3f\xdc\xee\x35\x78\x82\xfb\x16\x07\x16\xea\xdc\x31\x5f\x89\xa4\x89\xb1\x6b\x14\x67\xe4\x29\x7b\x05\xc7\x5c\x5b\x89\x46\x6b\xd3\xca\x96\xac\x5c\x7b\x9e\x55\x63\xd5\x17\x08\xf0\xd2\x7d\x1f\xd4\xb5\xc8\x22\xa0\x03\x28\x7e\x49\xdc\xe9\x45\x23\x9e\x1a\x17\x79\xa6\xdb\xc1\x35\xfc\x8a\xe9\xdb\x92\x22\x18\x16\xd4\x87\x28\x0a\x49\x6b\x1d\x74\xb9\x54\x51\xb8\x4e\x78\x1c\xdf\xa2\x7e\x60\xf0\x3a\x45\x8f\xf2\xcd\x06\x7b\x74\x08\xaa\xaf\x7d\x80\x73\xf0\x75\x06\x5f\x3d\xb8\x98\x7e\x8b\x57\x76\xaf\x1b\xe4\x02\xbb\x9e\xf6\x2c\x69\x35\x1d\x0c\x3b\x19\xb3\x63\x18\x0d\x45\x3d\xf9\x22\x8c\x3e\xfb\xb7\x7e\x2c\x10\xe5\x84\x38\xd5\x47\x35\x8f\x39\x21\x25\xad\x5e\x9d\xb6\xe2\xac\x5e\x8a\xd6\x24\xaa\xe2\xd2\x46\x31\xca\x86\x64\x1d\x02\x28\x5b\x51\xc8\x05\x45\x02\x06\x4a\xee\xb2\x9f\xdc\x1b\x1c\x18\x55\xbb\xfe\x86\xb0\xb3\x19\x0d\x0c\x06\x26\xb8\x1b\x17\x8b\xd9\x92\x0e\xec\x99\x4b\x9c\xfe\x1c\x60\xe1\x69\x1d\xa7\xbb\xb2\x9f\xd1\xb0\x37\x31\xb1\xd4\x79\x64\x89\x38\x92\x8b\x35\x22\x65\x49\x55\xcb\xbe\x7e\x24\x9a\xfd\xce\x75\xc7\x7e\x5d\x1e\xaa\x09\xdc\xbd\xaf\x09\xdf\xb8\x77\x34\xa1\xa4\xaa\x83\x1c\x7b\xab\xb6\x10\xa0\xda\xf9\x99\x8d\x75\xfa\xa8\xff\xbb\x59\x55\x81\x24\xa6\x8d\xe0\xa0\xb1\x51\x57\x6c\x94\x24\x1c\x61\xcf\x0d\xec\x3d\x17\x00\x58\x05\x00\xaf\xaa\x3d\x17\x9e\xbe\x55\x9b\xad\x30\x16\x1a\xb0\xeb\x7a\xd8\x27\x8e\x6f\xed\x9a\x66\xa7\x94\x6b\x63\xa0\x38\xc0\x1e\x93\x21\xbd\xc5\x78\x73\x7f\x52\x4f\x65\xc7\x9f\x54\x9d\x5f\x23\xf1\x55\x5b\xc0\x86\xb5\x77\x33\xbd\x5b\x49\xa6\x51\x1d\x03\x3e\x51\x9e\xb0\x71\x35\x2d\x44\xb5\x72\x63\x2c\xa8\xe4\x68\xcc\xde\x32\x1a\xdd\xe0\x40\x23\x50\x04\xad\xdd\xc0\x4a\x04\x88\xf6\xb4\x67\xdb\x91\x9f\x80\x43\x72\x4c\xa4\xa4\x55\xc1\x8a\x1f\xd1\xad\x15\x56\x5b\xeb\x4b\x62\x33\x7a\x50\x03\x95\x4a\x12\xb8\xb5\xbc\x04\xab\x6b\xb4\xe1\x8d\xe5\x2a\x06\xa3\x64\x97\x66\xf1\x55\x6a\x6e\xe9\x86\x30\xb5\xec\x3b\xfc\xbc\xda\xd9\x65\xe9\xd0\xa7\x8a\xe5\x53\x95\xe1\x2d\x3a\xa7\xae\x5a\xb3\xb5\x5e\x3d\x26\x16\x33\x58\x8d\x8a\xbb\x57\x14\x52\x8f\x59\x14\x94\x53\xba\x83\xbd\x39\xec\xba\xf2\x05\x3d\x0b\xba\xc3\xde\x28\xe0\x7a\x25\x12\x96\xb8\xfb\xea\x58\x95\xcf\x3c\x8e\xef\xca\x10\x04\x03\x01\xfb\x11\x73\x32\x5f\x2c\x9d\x5e\x24\x30\x7f\x3c\x76\x65\xba\xd6\xc0\x73\x79\xec\xb7\x50\x62\x85\xf2\x9a\x21\x96\x8c\xd3\xb3\x33\xbf\x28\xea\xce\x0a\x48\xab\xb7\x7a\x13\x37\xba\xb0\x24\xc6\x88\xd9\xce\xa6\xa7\xdd\x06\xca\xa9\xa6\x38\xae\x3b\xf4\x6d\x6d\x43\xa6\x81\x47\xda\x54\x6d\x0d\x50\x09\x16\xdc\x4a\x65\x6c\xbd\x4b\x5e\xa4\xfa\xe2\xf9\x5a\x78\x9b\xb5\x31\xf0\x6e\x7e\x06\xfc\x66\x65\xb5\x74\x57\xba\xa7\x5f\xf1\xb5\x3f\xef\x81\x60\xc3\xa1\x4f\x43\x26\xe6\xdd\x51\xf4\xfb\x5c\x6c\x91\xa3\x24\x88\xcb\xb2\x73\xc8\x01\x9c\x1b\x9d\xfd\x75\xf2\xd7\xbf\x02\x4c\x41\x37\x21\x37\xd8\x01\x92\xec\x75\xc3\x49\x76\xd8\xef\x77\x69\x2e\x02\x56\x89\x0a\x42\x9b\xb6\x8f\x65\x47\xd7\x76\x2c\x0d\xe0\x3b\xaf\xa6\xc0\x81\x8f\x12\x69\x66\x88\xa2\x44\xdc\xe4\xef\xd7\x5e\x6c\xd1\x49\x70\xe1\xff\x83\xe0\x41\x23\xe0\x03\x5f\xc7\x7a\xdb\x52\xa1\xb1\x06\x5c\xc8\x2c\x07\x13\x26\x0c\xc0\x09\xac\x70\x53\xaa\x0a\xd7\x90\x83\xa7\xeb\x80\x8d\xc7\x89\x11\xa1\x9e\x02\x3a\x03\x70\x5b\xca\x7f\x9d\x67\xb9\xa8\xe0\x4d\x91\x0e\x67\xb3\x29\xf5\x81\x9e\xac\x59\x34\x42\xd5\xbe\x4a\x85\x55\x4f\xa5\x2d\xf6\x21\x6f\x1a\xc4\xb5\xcd\x10\x95\x37\x3b\x4b\x49\xc7\x6d\xf2\x81\x36\x06\x75\x9f\x21\x78\x65\x25\x5e\x31\x6f\x55\x69\x15\x64\x74\x2d\xb9\x05\xd5\xa5\x89\x7f\x48\x53\x91\xa8\xba\xdb\x8e\xf8\xd8\x70\x6a\xb1\x87\xd5\xc8\xb5\x3a\x0b\xf4\xe1\xf4\x00\x29\xb5\x4d\xf6\xf5\x23\xbc\x4f\xc5\xd5\x7f\x34\xe8\xb2\xb3\x2d\x0d\xaf\x46\xad\x67\xff\x77\x13\xc3\x80\xc7\x57\x8e\xf9\x9b\xc6\x76\x7b\x7d\xba\x7c\x36\xfd\xa0\x4f\x18\x1f\xa3\x75\xb2\x4f\x77\x11\xa2\xf5\x27\xb7\x7a\xb4\xa5\xf3\x1a\xb6\x28\xd8\x9d\xf0\x76\x2d\xc6\xcc\x73\xaf\x57\xeb\x58\x28\xed\x2e\xdd\xbb\x16\x13\x95\x9b\xa3\x5c\xa7\x6e\xb4\x6d\xe1\x2f\xcf\x98\x47\x95\xb1\x5b\xf7\x5b\x05\xa7\xd7\xf7\xb1\x2a\xb6\xaf\xd4\xe7\x98\x1c\xad\x2b\x0c\x4d\x10\xb9\xd7\x15\xf6\x9c\xa4\x26\xae\x0d\xd8\x5c\xa5\x31\xce\xc9\x51\xfe\x29\x45\xab\x0f\x0f\xb8\xc2\x3f\x16\xa3\x11\x16\x15\xb4\x97\xb5\x05\x7d\x36\x9a\xaf\x19\xb8\x1e\x4b\x6c\x97\x31\xd6\x8d\x86\x93\xd0\xd3\x44\x5c\x37\x7c\xb8\x69\x3a\x47\x59\xcd\xc1\x84\xe1\x73\xac\x98\xb4\x84\x06\xd6\x44\x52\x8f\x86\xca\xb6\x37\x81\xda\xfa\xcd\xda\x18\x94\xd1\x07\x81\xa5\x2e\x29\x84\x76\x04\xe2\x06\xd5\x7a\xf0\xdd\xa0\x35\xd7\x7d\x7b\x5e\xbb\xbe\x3d\xed\xe7\xb8\xf1\xb1\xb5\x6e\x06\x01\x6d\x7c\x66\x81\x24\xfc\xec\x55\xd3\xfa\xec\x62\x5e\x14\xfe\x10\x9a\xa8\xe4\xc3\x4d\x87\x40\x1b\x0b\xae\x93\xaa\xf9\xd7\xe2\x7b\x6b\xf3\xf3\x48\xdf\x08\x84\x6d\x31\x98\xa1\x95\x3a\x1f\x14\xef\x04\xe2\x7f\x83\xef\xb9\x52\x8e\x3c\x36\x6c\x65\xcd\x77\x1a\xb3\x63\x98\x38\x1e\x8d\x79\x96\x3b\xcf\x69\x24\x72\x65\x4b\xef\x88\xa2\xe0\x54\x7c\x76\x86\x43\xbf\x74\x35\xb9\x7a\xa3\x40\xb2\xe3\x49\x98\xb0\x5b\xe2\x6e\x8a\x02\x37\xb3\x03\x97\x1f\x9b\x0a\x54\x2b\x26\x6e\xaa\x6a\xd2\x7b\xc0\x4d\x2f\x98\xef\xe1\x0d\x8d\xc9\x68\x94\xe2\x15\x3d\x9b\x11\x5d\x52\x69\xba\x04\x8c\xf2\x5b\xec\xb0\x25\xbb\x22\xc7\x95\xdc\x76\x36\x73\xbc\x81\x8b\x60\x2c\xa8\xa0\x11\x21\x8e\x07\x9e\x93\x23\x25\x76\x08\x34\xe6\x00\xaf\x00\x18\x44\x27\x24\x64\x8b\x25\x55\x7b\x21\x95\x79\xd2\x0d\x1b\x4e\xdd\x01\x38\x11\x68\xdc\x44\x81\xab\xab\xe8\x0e\x4d\xdf\x58\x72\x2c\xaa\x0e\xbd\x5e\x4a\x62\x36\x9c\x95\xa5\xbe\xe1\xaa\xf2\xb5\xf9\x7b\x2d\xf8\xe7\x92\x17\x6d\x08\xf9\x43\xc9\x29\x4e\x97\x00\xc7\xa3\xbc\xc4\x61\x41\x25\x17\xee\xcf\x85\x13\x28\x58\xc6\x16\xc1\xe8\x55\x97\x4a\x55\xb6\xf6\x67\xc8\xd1\x53\x39\x7a\x4b\x16\xba\x2b\xb8\x2d\x1b\x4e\x69\xa3\x79\x3e\x68\x87\x86\x4a\x2a\xb2\xe9\x6f\x97\xf2\x85\x51\x6d\x44\xa1\xb5\x09\x99\x91\xac\xdd\x80\xdd\x3d\x9c\x1c\xae\x06\x5c\x23\x90\xd3\xce\x0a\x87\x57\x80\x63\x04\x6c\xbe\x20\x64\x1d\xe2\x67\x5c\x3e\x00\x9c\xeb\x90\xb1\x3d\x98\x9c\xed\x69\x5e\x61\x81\xb0\x29\x8d\xc7\x63\x42\x79\x25\x94\xa3\xb9\xba\x89\xc4\xf1\x78\x4c\xab\x68\x39\xe3\x84\x7a\x6c\xea\x7a\x17\x1c\x10\x28\x56\x2c\x5c\x78\x4b\x3a\x88\x98\xec\x19\x1a\xb0\x95\xba\xf8\x88\x86\x8c\x45\x34\x28\x8a\x15\x63\x2c\x92\x4b\x40\x66\x23\x7b\x2d\xd2\x08\x1e\xb2\x22\x29\x54\x24\x65\xc7\x92\xe6\xba\x0a\x2e\xd7\x9e\xbb\xbc\x93\x75\x72\x22\x88\xf1\x20\x27\xa8\x07\x86\x4a\xe3\x31\xd5\x65\xe9\xa2\x3d\x6d\x91\xff\x55\x45\xcb\x4d\xb3\x7a\x83\xf2\x14\x82\xcf\x23\xe5\xdf\x11\xf2\x82\xe8\x8d\x72\xe5\xb6\x7a\x76\x66\x99\xeb\x2f\xb5\xbf\x66\xd9\x06\xa1\xec\x44\x55\xe5\x0d\xcf\x58\x96\x7e\xd3\xd5\x5b\xcd\xe6\x2b\x73\x27\xba\x61\xb3\x0a\xff\x8f\xc6\x6c\x4a\x13\xb9\x69\x51\x9f\xd0\x3d\xf8\xea\x96\x7d\xf2\x59\x4e\x2d\x79\xc4\xf7\xcc\x77\x0b\xc6\x89\x1c\x3f\xcf\xf1\xe7\x7a\x39\x07\x7a\x39\xaf\xa8\xf2\x8a\xbd\x21\x9d\x99\x70\x5c\xe9\xf5\x6c\x86\xdb\x86\x10\x98\xba\xbc\xf6\xc0\xc2\xe5\x20\x83\x5f\xac\x05\xd7\x7e\xd2\x64\x4c\x2e\x7b\x6a\xc5\x06\xc7\x92\xda\x63\x04\x7e\x04\xab\xe8\x1a\xbb\x68\xc5\x04\xb8\x4c\x52\x74\x65\x5b\x6f\xd9\x03\x34\xe2\x0d\x4d\x68\x4a\x73\xc6\xe9\x96\x1e\x64\x07\x3c\xa3\x57\xee\x5e\x6e\xff\x90\x08\x11\x37\x86\xd3\x42\xf8\x9b\xda\xd2\x43\xc9\x50\x19\x40\xd0\x28\x94\x67\x18\x0d\x7d\x2c\x1b\x66\x40\x10\x9a\x61\x62\x36\x4a\x37\xd8\x1d\x53\xb9\x05\x02\x34\xae\x22\xcc\xfe\xa8\xc1\x68\x01\x16\x88\xfd\x51\x01\xd0\x5e\x29\xdf\xdd\x6a\x79\xe3\x2b\x5b\x19\xe4\x0a\xcc\x49\xe2\xcc\x90\x0d\xd7\x92\x6c\xb8\x26\xa5\xde\x90\xb9\x13\xec\xe4\x12\xdc\xb0\xad\xb5\xdf\x13\xe5\x8a\x7b\x63\x4a\x4c\xce\xce\x14\x19\x02\x1a\xb8\x9b\x45\xb2\x94\x83\x84\x43\xe6\x01\xb2\xe2\x96\x90\x21\x63\x38\x62\x1e\x98\x60\x91\xd1\x68\x88\xbd\x89\xf8\x3c\xdf\x70\x80\x73\x71\x0c\x7a\x50\xad\x4e\x10\x8e\x46\xdd\xc0\x68\x34\x5a\x67\x6f\xf8\x1b\xb8\x3d\x56\x4f\x11\x21\x24\x55\xf7\x56\x1e\x55\xd9\x33\xc8\x7a\x05\x1e\x50\x0e\x71\x4c\x9c\x90\x7a\x93\x50\xd2\xe3\x11\x63\xec\xf9\x3c\x74\x22\xba\x25\xf4\x2f\x8f\x06\xf9\x68\x84\x9f\xb1\xef\xce\x72\x7a\x58\x3c\x5b\x16\x05\x96\x3f\xf2\x2c\x83\x77\xed\xcb\x76\x9b\x45\xce\x8d\x52\x55\x25\x73\x14\x26\xce\x09\x1a\xab\x57\x50\x41\x93\x0c\xa4\x7c\xae\x4d\x99\x88\x03\x21\x34\x11\xd7\xbf\xf0\xd8\x09\xe9\x2e\x0e\xe4\x43\x54\x92\xda\x5f\x9a\xc7\xc0\xcf\x2a\x8c\x21\x68\x3c\x9d\xf0\x52\x8f\xc0\xad\x1c\x81\x5b\xe5\x00\xa2\xd5\xef\x40\x2f\x8e\x46\x5b\x9b\x00\x29\x8a\xed\x50\xc9\x64\xd5\x07\x8b\x7a\x51\x7b\xa5\x5b\x7f\x37\xf9\xd9\x71\x5c\xb2\x95\x61\x8a\x74\x2a\x15\x21\xba\x65\x1b\x58\x73\x38\x2d\x0a\x33\xad\xe4\xa8\xe5\x67\x67\x9a\xe2\xae\x69\x6b\x60\xbc\x80\x00\x0f\x83\x75\x84\x28\xa7\x07\xe2\xea\x7c\xec\xe4\x30\x55\x9b\xc9\xdc\x37\x0d\x1a\xf6\x4d\x87\x86\x7d\x2c\xbb\xe2\x31\x1c\x26\x9a\x80\xb2\xd7\x1d\xb8\xe6\x6c\x71\x23\xc6\xfe\xc1\xe6\x8f\x34\x6f\x61\x1b\xde\x18\x72\xac\x36\xd6\xb7\xb9\x30\x6b\x41\xca\xf5\x6a\xf9\x06\x78\x66\x62\xe1\x8a\xc4\x39\xeb\x63\x68\xea\x8d\x08\x36\xe3\x3e\x5e\x88\xe4\x0d\x41\x77\x93\x25\x90\x27\x02\x71\xb9\xba\xf6\xae\x69\x4d\x3d\x8c\x98\xf7\xf1\x6d\x8d\x41\xb5\x93\x02\x61\xda\x49\x0a\xa1\x5d\xb6\xb0\x36\x27\xaf\xc3\xb4\x77\xc2\x66\x60\x3f\x83\xd9\xa8\x44\x37\xac\xce\xc9\x0a\xec\xe7\x4b\x7b\xea\xa4\xc7\x48\xc7\x50\x7b\xaa\x71\x84\x28\xd9\x15\xfd\x5c\xd1\x30\xf6\x37\x15\x70\xab\x73\xda\x25\x6c\x60\x9d\x43\xcc\x7a\x06\xd2\xb3\x47\x40\x78\xdb\x61\x69\x2d\x36\xb7\xc9\x88\xff\xaf\x19\xef\x16\xcf\x6d\x53\xda\x86\x4c\x96\x8d\xec\xbf\x2f\x92\x5c\x83\xe6\x03\x88\x8e\x08\x8d\x6f\xc5\xfe\x5c\xdb\xd6\xfd\x51\xe9\xf0\xf5\xf0\x82\x7f\x54\x92\x92\xcf\xb5\x09\x1e\x20\x2a\xaa\xfd\x11\x4e\x16\x47\xd1\x04\xb5\xa6\x26\xa7\xea\x58\x71\x3c\x38\x34\x2d\x1d\x99\xc6\xf5\xc4\x1b\x8d\xb2\x2e\xe3\xc0\x30\x35\x2f\x2f\xd2\xdb\xa3\x3c\x3d\xe1\x0b\x52\xb7\x3e\x0d\x22\x02\x8e\x33\x4e\x4a\x7d\x81\x76\x6c\x6e\x2f\x66\x43\xf5\xe4\x2e\xe2\xd5\xb1\x64\x36\x76\x5b\x54\x2c\xdf\x58\x58\xcb\x47\x3a\xf0\xdd\xb2\x34\x95\x6a\x77\x5f\x4b\xc0\xe6\xd7\x15\xa9\x3d\x27\xca\x15\x78\x5d\xb9\xeb\x3b\x60\xf0\xb6\xd8\xa6\x81\xeb\xe8\xf6\xb4\x5a\xf0\xa5\xeb\xd7\x4c\xb0\x1d\xce\x7c\x60\xb5\x6a\x3f\x80\x35\x45\xe6\x06\xbb\x93\xa0\xb3\x91\x28\xaf\x8c\x3d\xc1\x6c\x4a\x68\x5f\xf8\x78\xac\x85\x11\x01\xab\x18\x6a\xe3\x59\x07\x8a\xe9\x72\x01\xaa\x0e\xbe\x85\xf0\xa3\xa0\xc5\x83\xd1\x08\xfb\x8b\x40\x29\xca\xd1\x1c\x0b\x3a\xa3\x1c\xb0\xdb\x4e\xc5\x76\x9d\xf7\xf6\xc5\x62\x49\x03\x8d\xf9\x40\x43\x49\x0c\x46\xec\x28\x8f\x59\x87\x53\x65\xf2\x0b\xcc\xbe\x23\x68\x96\xef\xf6\x6f\xd3\xdd\x9e\x47\xbc\xc9\x5c\x90\x63\xc8\x86\xd3\x92\x36\xad\x73\xed\xef\x51\xc7\xa2\x12\x12\xb4\x03\x41\x77\x67\xb0\x61\x81\x87\x17\xd1\xb2\xd6\xab\xa2\x33\x42\x63\x9a\x48\x12\x2c\x60\xa2\x35\x40\x45\xe1\xbb\x51\x43\xc2\xc7\x84\x1b\x6b\x66\x20\xa9\x2f\xae\xe2\x8b\x04\x3c\x93\xae\x43\x1c\x2c\xe2\x25\x9c\x7f\xf2\xc1\x06\x20\xdb\x98\xa9\xb9\x97\x13\x78\xaf\xa9\xf5\xc0\xa0\xb3\xc7\x50\x91\xb3\x33\x2a\xa9\xaf\x75\x88\xc3\xca\xcb\x5b\xb3\x7c\xc8\x2b\x72\x85\xac\x6b\xe3\x94\x17\xa4\x5d\x55\x5b\xa3\x31\x2a\x69\x7d\x64\xde\xe7\x20\x54\x2d\xfd\xde\x61\x82\x4f\x77\x0f\x84\xf8\xfa\x81\x70\xad\xc3\xbe\x3d\x65\x4d\xbb\x85\xa5\x99\x21\x07\x4d\xb4\x06\x2d\xa2\x1b\xd7\x67\x81\x2b\x0b\x6e\x34\xdb\x77\x95\x18\xa7\x39\x90\x83\xc5\xd2\x8d\xf4\xc8\x6d\xea\x91\xd3\x6e\xef\xd5\xc8\x45\x66\xe4\xa2\xc6\xc8\x85\xa4\x36\xd2\x94\x7f\x5a\x23\x17\x41\x6d\xce\xce\xe8\x46\x8d\xdc\x10\x37\xcb\x37\x0d\x1b\x8d\xfc\x26\xa5\xe7\x57\x94\x9c\xdf\x4b\xe9\xf9\x16\xa5\xa7\xb2\x6c\x52\x7a\xbe\x0c\xd3\x73\x40\xdc\x3d\xf4\xa2\x34\x60\xbf\x4a\x6c\xf7\x07\x93\x1b\x2b\xc0\x50\xff\x7c\x10\x07\x21\x57\xe9\x1b\x08\xab\xb7\xf5\xea\xc3\xb5\x8a\x5c\xed\x9b\xe6\x43\x0d\x59\x67\x83\x84\xd7\x8e\x26\x15\x88\xc2\x2a\xcf\xf7\xd9\xbc\x08\xf3\xbd\x06\x51\x28\x72\x11\x17\xe1\x3a\x16\xc4\x39\xa7\x5c\xc7\xb2\xa3\xc9\x6f\x85\x17\xef\x3c\xe2\x14\x80\x5c\xbe\xde\xf2\x48\x5c\x9e\x93\x73\xed\x70\xf2\x87\x54\x84\xef\x79\xb2\xce\xd7\x7f\xc0\x56\xf1\xeb\x6a\x9d\x0b\xd9\xd5\x77\x9a\x26\x0f\x7a\x6c\x93\xd7\xdb\xe8\x7d\xea\x7f\x21\x9f\xae\xe3\xa5\x5e\x74\xd9\x2e\x71\x61\xeb\x4a\x9a\x6b\xd8\x60\xce\x1d\x8f\x86\x6e\xc8\x1e\x73\xec\x2b\x3c\x04\xdd\x89\x08\x5c\x2d\x17\x85\xf1\x2f\x09\x7a\x93\xe8\x00\xfa\x88\x0e\x1a\x87\x0d\x37\x70\xc6\x86\x12\x65\x22\x0e\x95\x89\xaa\xb9\x52\x71\x2b\xdf\x70\x00\x9b\x7a\x61\x21\xad\x3d\x7c\xf8\x10\x99\x0b\xdc\xa7\x1c\xa3\xf5\xb5\xcf\xd3\x00\x70\x9a\x3d\x76\x15\x60\x0b\xab\x16\x5d\x5e\x3e\xbc\xbc\x7c\x88\x28\x9a\x3c\x44\xcd\x60\x44\xd1\xe2\x37\xe7\x7c\x32\x1f\xb9\xcb\x87\xb5\x45\xaf\x05\x73\x89\x7e\x43\x63\x6f\x8c\x4e\x11\x30\x3c\x3f\x71\x0b\x1f\xae\x1d\x4b\x1b\x58\x43\x64\xd7\xaa\xd9\x56\xd1\x46\xc8\x36\x91\xbc\xb6\xfc\xc9\x2d\x96\xee\xe3\x1e\x6f\x6e\x95\x25\x34\xf4\x90\x24\x69\x06\x5d\x53\xed\x7d\x75\x8b\xf9\xfe\xe9\xf3\x4f\x4f\x7f\x7a\xf3\xe1\xf9\x3f\x3f\xbc\x67\x3b\x2d\xad\x62\x0b\xd5\xab\x4b\xca\x2b\x6f\x57\xa9\xd0\x86\xe0\x69\xdc\x3f\xd5\x7a\xee\xa0\x3c\x76\x1d\x60\x4e\x2c\xfd\xe5\x4e\x5e\x4f\x62\xee\x6f\x3a\xd3\xad\xf7\x3e\xeb\xba\xe1\x3a\xae\x0d\x78\xd3\xe3\x43\xeb\x4e\xeb\x80\x6a\xce\xf0\x79\x28\x33\x75\x86\x43\xae\xb0\xbd\x3c\x85\xcf\xd1\x6b\xd4\xde\x51\x40\x39\x3d\x3d\x24\xd7\x29\xdf\x6b\x64\x62\x30\x38\xe9\x85\x26\x2d\x01\x5c\xde\xbe\xff\x93\x93\x00\x8c\xb3\xaa\x20\x63\x1e\xd1\x93\xc1\x9d\x85\x61\x52\x36\xb2\x30\xdc\xfa\x9f\xcb\xc3\x62\xf2\xcb\x6a\xb2\x68\x55\xf3\x56\xa3\xcd\xe4\x54\x6b\x52\x4e\x4d\x17\x9c\x5c\x63\x74\x9a\xa9\x3d\x44\x20\x85\xa6\xe6\x83\x88\xc4\x0e\x36\x72\x7b\x81\x89\x24\x7f\x4a\x37\x5a\xec\xf8\xe4\x87\x0f\xaf\x5f\x2d\x19\x20\xd1\xc1\xfb\xd3\xf7\xef\xed\xd7\x8f\xef\x1a\x5f\x7f\x6c\x7c\x7c\xf7\xfc\xfd\x4f\x1f\xdf\x3d\x7d\xfe\x49\xc7\xaa\x52\x98\x49\x72\xcc\x65\x43\x1f\xf7\x7b\xda\x8f\xba\xde\xb9\xe7\xd1\x82\x2f\x1d\x38\x33\xe4\xf9\xe5\xdb\x1b\x05\x38\x93\xba\x01\x80\x10\x05\x81\xd8\xf6\xb6\x89\xba\x9b\x90\x51\x67\xb6\x0c\x98\xed\x2c\xc1\x2f\x95\x65\x08\x2f\x27\x85\x2f\x49\x7a\x5a\xc3\x5d\xdb\xfa\xe6\x0a\xf2\xcc\xdc\x72\xc9\x72\x85\x29\x57\xd4\xd4\x82\xea\xe5\x4e\xeb\x7c\xd9\x3a\xbf\x6e\xdd\x6a\x34\x12\x96\xaa\xca\xa0\x12\xdc\x8b\x3b\xa6\x09\xb8\xd2\x64\x8c\xb5\x3a\x5e\x75\xe7\x4a\xee\xe6\xc2\x16\x17\x29\x87\x03\x6c\x38\x73\xf7\x9a\xda\x48\x6b\xfc\xd3\xfd\x45\x0a\x76\x27\x92\xda\xc0\xde\x62\xbf\xa4\x2b\x42\x8e\xca\xc0\x19\xb0\xa1\x01\xb9\x5d\x26\xda\xb3\x29\xe0\xe6\xf6\x25\xe4\x56\xc2\x99\x9d\xb0\xea\x0b\xab\xb3\x93\x4c\xf8\x87\x34\x46\xb4\x51\x4b\xb7\xac\x5b\x25\xa7\x62\x75\x05\x85\x85\xbd\x19\xd7\xf3\x9d\xea\x65\xda\xeb\x56\xdd\x56\xfd\x59\xcd\xf9\x1d\x1d\xe9\xf0\xa6\x9e\xf6\xce\x46\x1c\x31\xf8\xee\x5d\x94\x91\xde\xfd\x75\x38\xe4\x9d\xdd\xb5\x03\xf5\x9e\xf9\xc2\xdc\xa4\x21\xda\xbc\xd5\x54\xd0\x00\x83\xbf\x3f\xfa\x95\xdb\x33\x13\x60\xae\x36\x19\x32\x9c\xd8\xef\x1c\xef\x38\x71\x83\xc9\x3a\xeb\x00\xa0\xd8\x18\xcd\xc1\x44\xaf\x38\xe6\x9b\x27\x37\xb0\xc0\xdb\xd5\xb6\xa0\x5f\xdc\xa0\xda\xf3\x7c\xf3\xe4\x7a\xc0\xd8\x99\x5c\x1a\x69\x7b\xc5\x02\x5e\x49\xeb\x6c\x4e\xa1\x8e\xd0\xee\xc7\x59\xcb\x51\x8d\xa2\x3e\x00\x95\xae\x9a\xe8\x5a\x3f\x7f\x34\xaa\x8d\x3c\xe7\xc2\xe1\x0d\x4f\x72\xb5\xa9\x8a\x0d\x42\xaf\xfc\x2f\x94\x9a\x83\xac\xca\x04\x24\x9e\x3a\x1a\x5d\xb1\xaa\x2d\xee\x16\xef\xfa\xee\xb3\x7c\x70\x4b\xe7\x06\x8b\xc8\xc3\x08\xb2\xf9\xc4\xb3\x4f\x68\xec\x93\x65\x1f\x05\xa6\xf4\xca\x4b\x1d\x3f\x12\xf9\xa7\x5c\x95\x75\x77\x92\xb0\x91\x04\xa2\xab\x22\x06\x77\x24\x58\xa9\x04\xb6\x0b\x46\x6b\xba\x7e\xbe\x47\x03\xaa\xf6\x51\xd3\xa7\x02\x75\x2c\x69\xc0\xfe\x85\xf1\x39\x4f\x82\x74\xb7\x0e\x4e\xf0\x65\x30\x26\xe7\xea\xe4\x7d\x81\xb1\x37\x49\xf8\xd5\x3a\xe2\x80\x22\x71\x2c\xc9\xe4\x90\x89\xf4\x71\x24\x59\x75\x52\x14\x8b\x25\x59\xcc\x96\x84\x0a\x76\xfe\x64\x77\x23\xc4\xf9\x5a\x61\x68\xdd\x97\x8c\x86\x8c\x03\x1e\xd8\xb1\xa4\x2b\x1a\xb1\xf3\xdf\xf0\xeb\xdd\x1f\x85\x52\x8d\x2a\xb6\x19\xc1\x73\x06\xd0\xa0\xe4\x9c\xc6\x2c\x04\x03\xcc\xd1\x48\xfd\x4e\xb2\xfc\x36\x16\x14\xae\x62\x13\xb9\xc1\xac\x43\xc9\xf8\x18\x66\x6c\x0f\xd7\x51\x04\x2e\x11\x22\xd5\x84\x3d\xdc\xdd\x6c\x16\xd3\xa5\xbb\x62\xab\x1a\xa6\x6d\x26\x8f\xd8\x8f\xfb\xbd\x48\x9f\xf2\x4c\x60\x32\x5e\xd5\x40\xb2\x7a\xdb\x52\x97\x95\xe8\x57\xa8\xd8\x4f\x7b\xee\xaf\xf3\x5b\x24\x0b\x18\x8d\x90\xaa\x2d\x22\xee\x86\x0d\x87\x72\x00\x79\x92\x01\xd0\x00\x44\x28\x8a\xd5\x18\x7d\x68\x86\x11\x37\x81\xa8\xdc\xe8\x7b\xd5\x31\x1f\x5b\x41\x83\x98\xb8\xc3\xa0\x28\x36\xa3\x51\x02\x97\xdf\xdf\xe3\x58\xab\x8d\xd5\x19\x12\x9a\x58\xe1\x55\x72\x62\x94\x38\x8f\x1a\x4c\xca\x19\xe2\xa1\x67\x90\xa5\x8a\xa2\x7e\x06\x6a\xf4\x7d\xce\x73\x51\x14\xdf\x3d\x0a\x8a\x42\x10\xba\xe2\x19\x38\xb9\x69\xec\xa2\xf2\xc0\x04\x1b\x19\xa4\xf0\xb5\x66\xb3\x47\xec\x57\xe3\xfc\x5f\xf5\xff\x15\xf6\x25\x67\x5c\x51\x64\x6d\x3f\x44\xc1\xfa\x0a\x11\x57\xc6\x61\x68\x97\xa0\x31\xdc\x84\x79\x95\x73\x86\x05\x5f\x96\xd4\xcf\xf6\xce\x0b\x8e\x09\xbd\x12\x49\xb0\x4b\x15\x6c\xa4\xb3\xa2\x75\xbf\x66\xce\x86\x56\x5d\x97\x39\x09\xd5\xf3\xd5\x09\x1a\xfb\x76\xd6\x59\x08\xb9\xd8\xee\x63\x9e\x8b\xa7\xdc\x5f\xc1\xce\x0b\x3e\xc0\x0c\xba\x7c\xd3\xbb\x46\x1f\xbc\x3c\x40\x2d\xca\xf3\x29\xe7\xf1\xdb\xa6\x8f\xae\xf1\xd8\xfd\x1e\x2e\x88\xd4\xdd\x13\x80\xd2\x36\x37\x9b\x77\x35\x51\x8d\x43\x4d\x6d\x45\x8c\x57\x0e\xad\x46\xa3\xfa\xb9\xeb\xd4\xd4\x1d\xfc\x88\x23\x32\x8f\x58\xa4\x61\x09\xfa\xac\xf5\xf8\x90\xb1\x7f\x7b\x25\x71\x22\x26\x1f\x00\xdd\x0e\x2e\xa3\x6a\x7b\x51\xa8\x1c\x3d\x2a\xcf\x73\x5e\x8f\x43\xd5\xa8\x24\x8b\xca\x34\x60\xd9\x30\x2d\xec\x6d\xf8\xd9\x59\xd9\xa3\x20\xea\x81\xc7\xb9\x90\x2a\x57\x82\x56\xf9\xf2\xb5\xa9\x0e\x2a\x29\xb9\x95\xd1\xd9\xe5\x18\xe5\x7b\xe5\x70\x29\xac\x1d\x10\x36\x1c\x0e\xd6\x5a\xcf\xb6\xc6\x68\x7f\xe5\xea\xeb\xdf\x06\x0c\x7c\x7e\xbf\xd7\x01\xcb\x22\xca\x40\xa5\xb5\x27\x86\xe9\xf2\x63\xb8\x4e\x02\xa3\x36\xd6\xb1\x24\xe1\x0c\x3a\x5c\x4f\xff\xec\xc9\xed\xd3\x98\x67\xd9\x1b\xbe\x15\x18\x25\xd1\x99\xa7\xd2\x21\x43\x79\x2b\xf4\x2c\xda\xd6\xf5\x0c\xd8\x20\xe0\x06\xc0\x01\x73\x02\x7d\x88\xd1\x69\x9d\x3c\x90\x4c\x66\xd3\xa9\xb6\x3f\xc7\x36\x23\x8b\x7f\x2b\x2e\x2f\x33\x82\xc6\xc0\x43\x8f\x11\xbe\xbc\xcc\x8a\xcb\xcb\xa2\x38\x25\x88\x10\xb5\x51\x07\x64\x34\x5a\x19\xc9\xb8\x73\x36\x1b\x5a\x4e\xd7\x3d\xfb\x5b\xd9\x74\xfb\x29\xbb\xe0\xf5\x2e\x10\x71\xb7\x03\xcc\x66\xbc\x62\x0b\xd9\x60\x44\x91\xac\xfb\x99\x7a\x4c\xa2\xcb\x4b\x07\x2d\x69\xc4\xa6\x6e\x74\xb1\x32\x24\xe4\x78\x1c\x19\xdd\x17\x3e\xf9\x7c\x10\xe9\xed\x7b\x11\x03\xeb\xf8\x38\x8e\x31\x5a\xa0\xf1\x6a\x11\x2d\xc7\x68\x2b\x8b\x44\x63\xec\xcf\x11\x43\x0e\x7a\xc8\x10\x19\x3f\x40\x0f\xc6\xde\xf8\x01\x5a\x3e\x00\x72\x38\x6e\xe9\xbc\xc4\x25\x90\xee\xaf\xf4\xa0\x3a\x5d\x1a\xc9\x57\x18\x7e\x25\xcd\xfa\xa2\x49\x2a\x0f\x7c\x3c\xd6\x58\x8d\x00\xa3\x4a\xa8\x67\xe3\x04\xd2\xeb\x95\x48\xde\xe7\x92\x0e\x73\x9a\x8c\xbf\xb2\x0a\xf8\x75\x25\x92\x37\xbb\xae\x8b\xad\x0c\x74\x77\x1b\x06\x74\x5f\x30\x11\xb4\x66\x6a\xe5\x20\xe3\x4b\x66\x7c\x3d\xce\xe3\x42\xe5\x34\xe3\x46\x6d\x5b\x1b\x16\xcb\xc3\x96\x86\xec\x56\xcd\xcc\x84\x75\x3d\x66\x7c\x4b\xe8\xbe\x76\x84\x91\x32\xbc\x6f\x3a\xc2\xc8\x59\x5a\xf9\xeb\xdc\xba\x5b\xb5\xcf\x35\xaf\x78\xe0\x5e\xa5\xd2\xef\x0e\x6d\x49\x66\x42\x2c\x7d\xc2\xb4\x5e\xe8\x54\xd8\xf7\x2e\x5a\xa7\x64\xb5\xc8\x27\xa7\x46\xb9\xfb\x65\xb0\x2c\xf7\x4d\x5f\x16\x31\x71\x1b\x11\xd8\xd6\x5d\x2d\xb6\x4b\x96\x56\xaa\x21\xa5\x9a\xa3\xc7\xd2\x0d\xbf\xec\xce\xa2\xca\x07\xb4\x38\xe6\x78\xb5\x68\x84\xf6\x3a\xb3\xa8\x6a\xda\x8c\x4a\x79\x53\xdb\xa2\xf1\x95\x34\xdc\x58\x84\xe5\xd2\x82\x01\x01\x57\x0e\xc7\x5f\xf9\x68\x84\x4f\x27\x99\xc8\x1f\xe7\x79\xba\xf6\x0e\xb9\xd0\x00\xa9\xd4\x23\xd4\x63\xa7\x1a\xcc\xf4\xae\x28\x86\x0b\x97\xef\x8e\x8a\x4c\x8d\xc7\x09\xe7\xb4\x76\x14\x56\x3f\xd6\x1e\x0d\x9c\xd3\x73\x8a\x10\x71\x10\xa2\xab\x5d\x96\xcb\xe4\xbb\x2c\xa7\x0a\x3f\xdb\x39\xd5\x8e\x1f\xe6\xe6\xa1\x4e\xf8\xdb\xe5\xbc\x4e\xc9\x33\x19\x17\x30\xb6\xd5\x8f\x15\xef\xbf\x1a\x05\x80\x98\xff\xb4\x72\x99\x41\xf7\xbb\x54\x16\x2a\x7f\xa8\x71\x3f\xe1\x28\xe7\x15\xa7\x7d\xce\x2b\xea\x40\x19\x6b\x5c\xbf\xda\x36\x9e\x81\xf2\x0e\xf2\x3d\xf6\xc8\x1c\xba\xd8\xf1\x1a\x46\x07\xca\x99\x07\x63\x37\x41\xf5\x26\xe7\x04\xb8\xf3\x80\x50\xf9\x54\xe7\x77\xd5\x5c\xbd\x9f\x39\xfe\xd9\x92\x5c\xdd\x42\x69\xd5\x2b\x37\x57\x8f\x86\xa6\xef\x3a\xca\xe0\xa4\xbe\x5a\xac\x65\x57\x03\x6d\xbf\x60\xe8\xe8\x80\x01\xa4\x23\x42\x77\xdc\x99\x79\xc6\x6f\xbd\xab\x70\x20\x77\x9b\xb5\x00\x4f\x13\x92\xd7\x1c\x32\x26\x80\xaf\x17\xcc\xa3\x1e\x13\xc6\x4f\x8a\x7b\x02\xea\xee\xc7\x52\xef\xd6\x95\xa4\x20\x02\x3d\x36\x6f\x11\x2d\x69\xcc\x56\xb5\x20\x97\x21\x42\xc1\x33\x0d\xde\x30\x8e\x57\x0d\xd8\xe5\x98\x10\x7a\x85\x83\xc5\x66\x09\xa6\x48\x8b\xcd\xb2\x15\x25\x1e\xcf\x08\x21\x16\x7b\x53\xf7\xda\x1f\xcd\x3e\xbd\x0d\x2c\x87\x88\x7e\xab\x43\x81\x7c\x03\xf5\x2d\x9f\x18\x06\x13\x0c\x5d\x7c\xda\xe4\x3d\xc5\xc2\x07\x40\x74\xc9\x55\xd5\xec\x67\x85\x10\x38\x09\x95\x2f\x4f\xec\x8f\xd1\x0b\x0d\x71\x12\x90\x52\x8b\x4a\xa3\x75\x06\x50\x2c\x5f\x14\x77\xf6\xc0\xb4\x5b\x03\xa9\xfc\xcb\x56\x05\x90\xb2\x5c\xba\x1c\x23\x75\x5b\xe2\xdf\x22\xfa\x47\x40\x64\x40\x00\x52\x82\xc7\x01\x71\x07\x1c\x23\x83\xb8\x72\x1a\xc2\x47\xf0\x94\x47\x79\x04\x2f\xf1\x7a\xbb\xce\x3f\xec\x10\xf5\xf4\xfb\xee\x5a\xa4\x3e\xcf\x04\xa2\xbe\x0a\xd1\xaa\x4e\xf4\x89\xca\x7a\x97\x06\x22\x7d\x72\x8b\xe8\x53\xf5\x7e\x90\x2c\x91\x4a\x10\x44\xd6\xcc\x3d\x0d\x7b\xae\x10\x34\x59\x24\xa9\xb9\x67\xdc\x08\xf7\x35\xb8\x4b\x2d\x74\x53\x64\xde\xcb\xaa\xe2\x04\xa3\x64\x97\xf3\x34\xe5\xb7\xb0\x23\x29\x0d\x5a\x83\x3e\x10\xf9\x98\x13\x03\x3d\x60\x4a\x6a\x3a\x80\xf3\x76\xbb\x58\xf0\x04\x39\xc6\x1f\x5c\x1c\xd7\xcf\xca\x37\x5c\x13\xb9\x00\x34\x6d\x54\x90\x46\x93\x71\x38\x13\x91\x86\xb6\x68\x79\x90\xab\x84\x18\xe6\x7e\x45\x56\xd4\x12\xe8\xaa\x56\x18\x93\x4e\x6e\x1b\x8c\x8b\xc8\x74\x89\xa2\xe1\x9e\x02\x0d\x85\x4e\x25\xab\xe7\xb9\x43\x50\xd8\x9f\x73\xb6\xe1\xce\x8d\xc2\x12\xe1\x2d\x01\x8a\x36\x43\x6e\xf0\x57\x5a\xb6\x38\xa8\x70\x73\xea\xbe\x05\x0c\x1c\xb7\xb2\x4e\x7d\x0a\x16\xcc\xc3\xcf\x7e\x23\x0b\xce\x5e\x60\x84\xc6\x9c\xb8\x9e\x7a\xf2\x6a\xc7\x36\xc3\xa6\xbb\x9c\x1e\xcd\xdb\xda\x4e\x30\x18\x8d\x86\x4f\xb1\x20\xf3\xd7\x1c\x0b\x49\xfc\x50\xb0\xf3\x73\xd4\x2b\x6d\xd9\xce\xbf\xe6\x36\xdd\xa1\x95\xcc\xe5\x62\xa5\x2b\x06\x43\x6c\xcb\x62\x19\xe8\xa1\xa2\xa1\x72\xd4\x5a\x6d\xe0\xa6\x0d\x2a\xaf\x86\x03\x22\x35\x70\xeb\x10\xff\x68\xdd\xe2\x78\x93\x6c\xb7\x15\x7d\xb6\xcb\x75\x6d\x64\x1b\xf5\x4c\x0b\xcd\x2c\x33\x73\x02\xb8\x33\x99\x69\xa0\xa8\xd8\x08\x38\x55\x22\x2b\x7a\x8a\x86\x8c\x45\x36\xac\x85\xcc\x12\x2e\xeb\xa9\x4f\x87\x75\x5d\x6b\xe6\x63\x3e\x9c\x39\x55\xb9\xc3\x19\x5c\x3a\x59\x60\x46\x2b\xab\x0c\x0e\x58\xe9\x8c\xcb\xfc\x86\x37\xe0\xfc\x64\xa8\x1c\xaf\x0c\x70\xc8\xd0\x29\x40\x98\x53\xd9\x0f\xe1\xdc\x73\xa0\x58\x01\x8a\xf7\x21\xb1\x06\xda\xd4\xa0\x62\xad\x35\xd2\x5b\x2f\x5c\xc5\x70\xd6\x9e\xf0\x7e\x7b\x36\x47\x36\x6e\x94\x99\x7a\x73\xbd\xdc\x8c\xec\xdc\xda\xa5\x03\xdb\x8f\xd2\x9b\x8f\xaf\x9f\x3c\x7f\xf7\xe9\xc5\x4f\xef\x5e\x3f\xfe\xf0\xbe\x33\xad\xb4\xb3\xfb\x2b\x60\x40\x70\xc0\xf8\xe4\xe9\xc7\x77\xef\x9e\xbf\x79\xfa\xaf\x4f\xef\xff\xf5\x9a\xb8\xda\xed\x8c\x60\x7c\xf2\xf6\xf1\x87\x0f\xcf\xdf\xbd\x79\xbf\x98\x2d\x27\x5b\x7e\xf3\x22\xe5\xb5\xb8\xd0\x00\x49\x79\xce\x33\x90\xff\xd9\x91\x29\x9f\x7c\xff\xee\xa7\x8f\x6f\x3f\xbd\x7f\xfe\x96\xf2\xc9\xb3\xe7\x4f\x5f\xbe\x7e\xfc\x0a\xde\x44\x7d\x75\x78\x7e\x79\x98\x4e\x1f\x7f\x77\x1e\xc9\xa9\x61\x81\xde\xfe\xc9\xc6\xb4\xfa\xa9\xaf\x46\xd3\xfb\x6a\xd4\x28\xfc\x99\x42\x02\x33\x8b\x47\xaf\x6f\x62\x2e\x64\x5d\x8d\x08\xf1\xc8\x73\x3d\xf6\x9a\xe7\xab\x09\xf7\x32\xa3\xa1\xb3\x62\x2f\x93\x70\x9d\xac\xf3\x5b\xb3\x37\x0c\x57\xa3\xd1\x70\x9d\xbd\x90\x81\xa2\x93\x4f\xc4\xbc\x31\x42\x34\x66\x08\x19\xb1\xda\x62\xe9\xae\x46\x23\x1c\x33\x74\x79\xf8\xe6\x9b\x99\x40\xc4\x64\x03\x1b\x46\x54\x1f\xf8\x02\xe9\x33\x76\xcf\x22\x7d\x3f\x7c\x8e\x17\x97\xc1\xe5\x64\x39\x26\x02\x9f\xcd\x89\x92\x26\x12\x77\x3f\x1a\xa1\x33\xc4\xd8\x7e\xf1\xcd\x72\x34\xda\x2f\xbe\x5d\x3e\x12\xe3\xd9\xdc\x63\x53\x07\xc7\x2c\x02\x5b\x08\x58\x21\xab\xa2\xd8\x90\xe9\x85\x18\x8d\x66\x8f\x3c\xa8\x85\x37\xc9\x77\x2f\xd6\x37\x22\xc0\x42\x12\xb8\x20\x8e\x7d\x11\xef\x78\x8e\x63\x42\x63\x56\xd3\xa7\x2b\xb9\xbc\xb5\xb2\xfc\x8a\xe1\x48\xd3\x31\x2b\x9f\x2c\x66\x4b\x49\xed\x10\x43\xc0\x54\xb3\x0b\x7a\x6f\xbb\x4e\xb0\x7a\xe0\x37\x98\xcb\x57\x39\xc7\xe8\x8a\x50\x5e\x4d\x38\xb9\x79\x8e\x55\xac\x74\x77\x48\x02\x3c\xc6\x9e\x75\x67\x31\x46\x02\x8d\x05\x21\xed\xa0\x33\x61\x46\x45\x6d\xbc\x75\x95\x68\xc4\x56\x72\x4a\xac\xd8\x4a\xd7\x4e\x01\x81\xc1\xbd\x4a\xf4\x7e\xfd\x87\x00\x57\x84\xf0\x24\xbb\xdf\xa0\x79\x3d\x62\xe9\xd8\xdc\xc2\x98\xb0\xb3\x94\x6e\xd8\xd4\xdd\x5c\xec\xdd\xcd\x78\x4c\xe4\x31\x83\xf7\x67\x1b\xf2\xdf\xf9\x68\x34\x1d\x32\xb6\x01\xab\x04\xe6\x13\x1a\x8f\xeb\x4d\x6c\x43\xb4\xbe\xc9\xde\xdd\x5c\x54\x60\x61\x55\x06\x55\xe6\x1b\xf2\xdf\xe9\x57\xe4\xe3\x1a\x66\xfe\x42\xb8\x64\x35\x66\x68\x8a\x5c\x31\x1a\xa1\x29\x32\x5a\xe6\x63\x16\x8c\x2d\x09\xac\x20\xa4\x9c\x6a\x54\xf9\x90\x0d\x67\xe0\x04\xff\x90\xad\x70\x38\xe7\x93\x44\x44\x6f\x53\xe1\xf0\xc9\x7e\x97\xbd\x4d\x05\x8d\xa9\x0e\x7d\x7f\x08\x55\xe8\xfb\x83\xe5\x63\xbb\x76\x13\x5a\x2d\xa2\xef\xbd\xe6\x59\x8c\x90\x3b\x85\x19\x15\x30\x74\x86\xa8\xc7\xce\x3c\x55\x71\x8f\xc9\xa1\x71\x0d\x75\x7b\xc1\x5d\xe2\xc9\xda\x8f\x3d\x57\x39\xd4\xf3\xda\xce\xe3\xce\xac\xeb\xf3\x60\x6c\x6d\x81\xbc\x3e\x66\x8e\x60\x95\x36\xed\x3b\x4f\x05\x13\x0b\xf0\xba\x3f\xf6\x96\xea\x0a\x6f\x7a\x31\xf0\x8b\x42\x3c\x3a\xf3\x89\x18\x33\x1f\x0c\xa1\x01\x50\xfe\x1b\xe5\xd5\x59\xb0\xd9\x37\x55\x89\xdf\x83\x59\x4e\x73\xc7\xf8\xc1\x6b\x80\xf5\xf4\xe9\x78\xf8\x56\x99\x34\x64\x99\x87\xf9\x1c\xbd\xff\xe1\xa7\x77\x1f\xd0\xd8\x73\x6a\xbb\x54\x80\x34\x10\x36\xca\xe5\x73\x6b\x2f\x04\x01\xd3\x33\x2e\x37\x12\x3a\xa5\x33\x42\x24\x09\xfb\x8c\xdf\xe2\xc6\x85\x69\x15\x01\x7f\xf7\x88\xf1\xf9\x5f\x9c\xd9\x37\xe4\xcc\xf6\x99\xf7\xa2\x17\x02\xa8\xba\x94\x78\x1e\x60\xa0\x8d\x5f\x1c\xe2\xf8\x5f\x82\xa7\x98\x10\x97\xb3\x71\x95\x75\xeb\x23\x85\xf7\xd7\xbb\x24\x5f\x99\x17\x88\x46\xc6\xf8\xbb\x33\x5e\xd5\x90\x90\xb3\xb1\xef\x72\x36\x1b\x5b\xeb\x98\x9f\xff\x75\xfa\xdd\xdf\x9f\xff\xc5\xee\x5e\x75\xd3\x52\x55\x76\xed\x37\x3a\x77\xfa\x48\xd9\x1a\xd4\xe5\xcf\xf9\xe4\xf9\xbb\xc7\x72\x87\x77\xf4\xd3\xcc\x92\xe7\x3c\xee\xe1\xf9\x80\x27\x53\x20\xe2\x03\xae\x77\x4e\xc9\xaf\x70\x56\xb5\x51\xfb\xeb\x08\xd9\x94\xae\x00\x89\xc2\x5b\xfc\x7d\x39\x07\x67\xa5\x1f\x3f\x3c\x35\x85\x3b\x10\x60\xde\x68\xdc\x8c\xf5\xc3\xee\x90\x66\x2a\x0a\x3c\xba\xde\xe2\x1f\x4b\x58\x6e\xff\xc2\xf2\x71\xec\x2d\x66\xd3\xa5\x24\xc9\xea\xf7\xd9\x92\x80\xb2\x9e\xc2\x43\x92\xe1\xb3\x25\x81\xdf\x6f\x96\xe4\x6c\x06\x4f\xdf\xca\x38\x2a\x93\xef\x96\x45\x31\x25\x67\xa1\xab\xf2\xf8\x8b\x7a\x5d\xb9\x11\xbc\xfe\x15\x5e\xcd\x31\xa5\x7a\x7c\xf6\xfc\xdb\x87\xd6\x26\x8e\xa6\x13\x34\xc6\xde\xe2\x6f\x10\x95\x10\x37\x36\x65\x2b\xab\x66\xaf\x42\xa6\xe0\x5a\xe7\xf5\xfc\x37\x7c\x19\x1c\xbf\x2b\xc9\xd9\x1c\x5f\x06\x97\x41\xf5\x8b\xe7\xce\x87\xea\xc9\x99\xf7\x3d\x5e\x4e\xe0\x44\x22\x73\xf9\x0f\xff\xbb\xc0\x8b\xf1\xd9\x92\xa8\xcf\x26\x9a\xfc\x74\x7a\xde\x59\xb9\x16\x9a\xe4\x4a\x9e\x96\x11\x5b\x2c\x81\xa5\x16\x4c\xf2\xd2\x5b\x11\xac\x0f\x5b\x39\x74\xc8\x15\xcc\x9b\x3c\x7b\xfc\xe1\xf9\x87\x97\xaf\x9f\x1b\xaa\x61\x21\x96\x45\x21\xdc\xef\x15\x16\x87\xcf\x06\x61\xa4\x44\xb0\x3e\x99\xff\x0b\xfb\xc4\xe1\x72\x06\xb8\xbf\x98\xef\xd5\x44\xf0\x95\xc9\xd5\x50\xc8\x08\x45\x51\x1f\xe5\xea\xde\x76\xbd\x05\x67\x7c\x86\x88\x53\x7b\xb1\x70\x09\xde\xb0\x48\xdf\x81\x09\x42\xe6\x38\x62\x81\x87\x23\xba\xa1\x33\x42\x05\x8b\x26\xfb\xdd\x1e\x13\xe2\x60\x0d\x46\x24\x88\x36\x69\x37\xe2\xbf\x2a\xf7\x3f\x76\x89\xf8\x29\x0c\x33\x91\x63\xf0\xb9\x86\x13\x76\xed\xe3\x90\xf6\x46\x20\xd4\x67\x3f\x79\x92\xd9\x06\xa2\xd8\xdd\xe2\xa8\xc1\x0c\xc7\x6c\x15\x2d\xf8\xd2\x5d\x8d\x59\x3c\x8f\x25\xf7\xdd\xe9\x28\x9a\x10\xc7\xf2\x48\x8c\x7f\x7b\x50\x3c\x38\x25\xe7\x11\x45\x96\xc6\xd7\xf9\x83\x07\x32\xe4\x01\x6a\x88\xa5\xad\x9d\x38\xea\x67\x57\x25\xc9\x09\x36\x57\x9c\xd5\x3b\xaa\xf0\xda\xa4\xaf\x77\x47\x72\x25\xe0\xb7\x28\xac\x8a\xfc\x7a\x03\x8c\xa7\x64\xbc\xe6\xd5\xa3\xf3\x2f\xcd\xe7\x28\x03\x22\x5e\x33\x2a\xee\xe0\x17\x60\x0d\xe1\x74\xb1\x55\x1f\xe4\x40\xff\x08\x9f\x94\x8f\x86\x2a\x81\xcf\x86\x7e\x51\xa8\x8c\x7c\x32\x9f\x3a\x72\xce\xb8\x3e\x9b\x3e\xf2\x47\x23\xff\x11\x3b\x33\x87\xd3\xdc\x3c\x8c\x7d\xa7\xf2\x40\x3d\xbd\x60\x7c\xee\x69\xc7\x7b\x3e\xf5\xc7\x9c\x38\x80\xb6\x51\x05\x72\x5a\x01\x18\x3b\x26\xac\x22\x8a\xa6\x90\xa2\xc9\xe0\x3d\xed\x6c\x6b\xb2\x73\x7c\xe6\xcf\xcf\x66\xce\xac\xbe\xfc\xd9\xf2\x7d\x07\x40\x35\x60\x33\x1a\xb1\x53\x2e\x9b\x0b\xe8\x2d\x91\xe5\x1b\xfe\x7b\xe0\xff\x25\xb3\x34\x46\x0d\x76\xb0\x28\x80\x84\xb4\x19\x44\x38\xcb\x1b\x41\x50\x3a\xe5\xac\xc9\x2e\x02\xb3\x89\xb4\x81\x66\xc4\x3c\xcc\x09\x8d\x6a\x00\x73\xa2\xae\x1e\x22\xd0\x82\xea\xbb\x63\x5b\xc4\xcb\xca\x11\x49\x24\x72\x27\xa2\x81\xc8\x7c\x75\xef\xe4\x04\x0f\xfd\xb2\xb4\x0e\x37\xb0\x32\xbd\xc3\x9f\x7d\x53\x3e\xd1\x12\x64\x18\x71\x45\xc5\x4a\x0e\x9a\x2c\xda\x70\x66\x2a\x61\x4f\x4a\xd8\x95\x6a\x11\x4c\x35\x63\x7e\x54\x00\x2d\x82\x2d\xc4\x52\x61\xab\x88\x5a\x4b\x45\xb0\x05\x1a\xa3\xa5\xa1\x4e\x25\x0b\x1f\x12\x57\xdf\xf6\x40\x13\x3b\xf7\x24\xc7\xb2\xb4\x5b\x1d\x42\x4f\x97\x72\x73\x6f\x4b\x48\xb6\x7c\x6f\xc4\x23\x7d\xfa\x21\x47\x50\x0d\x71\x38\xdd\xa7\x22\x58\xfb\x3c\x17\xa0\x84\x93\x39\xab\xe6\x64\xa9\xd5\x53\x41\x4e\xc6\xc1\x9b\xa8\xea\x4f\x61\x09\x46\x84\x9c\x05\xba\xeb\xa8\x60\x8a\x3f\xad\x66\x93\x25\x62\x08\x88\x60\x62\x92\xef\x5e\xed\xae\xcd\xad\x7f\x1d\xad\x66\xcc\x03\xc2\x1d\x98\x7e\x15\xcb\x5c\x9b\x05\x56\x1a\x81\xd0\x85\xa2\x86\x4f\xa6\xb0\xcb\x12\x6d\x5f\x27\x6b\xf7\xd9\x37\x4c\x86\xad\xdc\xd4\x8a\x27\x98\x11\x33\xe9\x4e\x11\x14\xb0\xb2\x03\x03\x14\xe5\x4d\xb2\x5d\x9a\xb7\x5c\x74\x99\x1b\x36\x05\xe7\x33\xa5\x82\x55\x17\x69\xc1\x85\x70\xc7\xe3\xa0\x02\x80\x99\xb4\xfa\x78\x11\x2c\x69\xc8\xbc\xbe\xe0\x9c\x4d\x5d\xdf\x60\x5b\x87\xf0\x30\xd7\x3a\x40\x43\x19\x00\x4f\xa3\x11\xce\x8d\x66\xd0\x85\x0e\x83\x89\x40\x1c\x19\x2e\x13\x5d\xe8\xb4\xb0\x0d\x80\x26\x57\xfe\x70\xb5\x08\x96\x93\x7a\xf2\xa8\xf6\x57\x72\x0a\x0b\x3f\x89\x79\x9d\x0d\xa3\xda\x49\xa0\xb0\xd2\xde\x83\xde\xc0\x95\xc8\x8d\xd9\x4a\x8f\xe0\x17\xce\x03\xc8\xf7\x54\xc8\x81\xf7\x73\x56\x3f\x16\x05\x7a\xfc\xb4\x92\x90\x7f\xe6\x0d\xa8\xeb\xef\x83\xae\xbc\x4a\x9b\xea\x2f\x96\x6e\x38\x39\x05\x5f\x42\xea\xba\xe8\xf4\x34\x53\x4e\x0d\xf5\xab\x85\xd7\x38\x39\x4d\xf8\x56\x30\x49\xa2\x2a\x93\x4d\x3e\x49\xa2\x17\xbb\x74\x0b\xfc\xa7\xdc\xb2\xc3\xc9\x69\xb0\x4e\xf3\x5b\x30\xa9\x9d\x9c\xee\xd3\x75\x96\xaf\x13\xc1\x86\x53\xf9\x7a\xc5\xe3\x75\xc0\x06\xea\x65\x9d\xa8\x57\x15\x33\x3b\x78\xdb\x75\x9e\x0b\xf3\xae\xb5\xeb\x65\xe6\xec\xa5\x27\x43\xd2\x5d\x1c\x7b\xdc\xdf\xfc\xb2\x06\x7b\xd0\xa6\xe2\xeb\x16\xaf\x1a\x27\x31\xef\x89\x0f\x08\xc2\x32\x27\x7f\xb7\xdd\xae\xf3\xaf\xcd\xa7\x15\xbb\xca\x85\x07\xc1\xd3\x5d\x92\xa7\xbb\x26\x22\xd5\x07\x8e\xb9\xea\x27\xaa\x75\x4b\xaa\x9d\x87\x83\x47\x70\xf9\x49\x52\xa9\x0b\xfd\xbc\x64\xdc\x78\x0a\xaf\x5a\x1c\xaa\x81\x48\x85\x8c\xd0\x2d\xa5\xd6\xe4\xd2\x79\xb8\xe1\xc2\x5f\x2a\x1d\x96\xca\x2c\xdd\x5f\xba\xa1\x82\x27\xd0\x91\x98\x07\xb9\xa6\x62\xbb\xbb\xea\xc9\x14\x1a\xab\x2a\x67\xd5\xad\x99\xa7\x09\x76\xb7\xb8\x9e\x19\xad\xab\x07\x39\x98\x22\xff\x45\x8e\xed\x3a\xbf\xc5\x3e\x35\xf8\x8c\xc4\x1d\x40\x32\x98\x6b\x5f\x9f\x08\xd2\x98\x39\xf9\xf5\xc9\x7c\x0f\xaf\x68\xb7\x67\x5f\x7a\xa5\xfb\x43\x80\x8f\x7e\x9e\xc6\xca\xac\xe6\x54\xeb\x21\x38\x1e\xcd\x44\xde\xb9\xf0\x57\x27\x3a\x5f\x78\x4b\x37\x98\x83\x13\xb4\x5a\x87\xc0\x07\x60\x12\x18\x5b\x49\xe2\xca\xde\x5e\xf8\xcb\x92\x1e\x92\x2f\xe5\x24\x89\x60\x0f\x07\xd4\x27\x00\x74\x53\x03\xf6\x19\x70\x1b\x40\x15\xa0\xa7\x4a\x29\x48\x6e\x99\xb0\xb6\x32\x91\x3f\x83\xe5\x65\x4d\xd9\x60\xa2\x47\x34\xe6\x59\x86\x3d\xfa\x2f\x50\x49\x94\xb3\x53\x07\xfc\xe8\xd9\xeb\x72\xda\x5c\x97\xed\xc5\x56\x97\x81\xd5\x34\xcf\x44\xfe\xd6\xc4\x6e\x94\x9a\x89\xbc\x2e\x92\xfe\xe8\x8d\xd1\x49\x12\x9d\x55\xeb\x18\x59\x85\x0e\x7a\x77\x83\xc6\x92\xef\x59\x78\x56\xc9\xd5\xa2\x93\x9c\x5f\x92\xef\x0e\xfe\xaa\xa9\x10\xda\x9f\xbc\x8a\x6a\xa7\x7f\x5f\x15\xdb\x68\x8e\xd5\x61\xa8\xdb\x0e\xab\xae\xd3\xbe\x1e\xab\x32\xc5\xf6\x0e\xfe\x3b\xc8\x98\xbd\xc9\x69\xb8\x4b\xb7\x3c\xcf\x45\x9a\x69\x21\x50\xf7\x04\xf0\x26\xa7\xeb\xec\xf9\x76\xaf\xd4\xc2\xb9\xc3\x6d\x25\x79\x6b\x2b\xff\xdd\xab\xb7\xf2\x9a\x63\x7b\x01\x88\x27\xca\x73\x94\xe2\xa7\x26\x5a\x85\xcc\x78\x08\x18\xce\x5c\xae\x5c\xa8\x82\x6b\x64\xa5\x76\xa6\x1c\x25\xda\xb5\x89\xd8\x70\x5a\x92\x6e\x54\x91\x04\xc8\xc6\x98\x80\x0c\x63\xa8\x5a\x0b\xee\xd1\x23\xc7\x8d\xdc\xdf\x9a\x8a\x00\x1b\x42\x07\x1b\xcd\x82\xc9\xfa\x45\x95\x7e\xac\x3c\xf9\xb0\x24\xb4\x14\xee\xe8\xed\x5e\xb8\x68\xcf\xb3\xec\x7a\x97\x82\xf7\xac\x55\x51\xf8\x93\x24\xfa\x90\xae\xb7\xa3\x11\x0a\x79\x9c\x09\x04\xf0\xbe\x2a\x0c\x88\xc0\x0f\x92\xee\x70\x71\x30\x39\xbd\x32\xfb\xf4\x10\x14\xd6\x95\xaa\xba\x82\x97\x5f\xf1\xec\x0d\xcf\xd7\x57\x02\xf6\x0b\x9e\xef\x52\x0d\x2c\x24\xb7\x90\x6a\x7b\x07\x9f\xbd\x60\x26\x27\x26\x46\x69\xd0\x68\x09\x12\xa2\xfa\x45\xbd\xd1\x58\x8b\x63\xaf\x94\x87\xdf\x0e\x50\xa5\xc2\xf7\x09\xbb\x7a\x22\xaa\x23\x5c\xaf\x72\x01\x23\xdb\x53\x14\x60\xf9\x4a\x48\xa9\x7b\x7f\x23\x6e\x83\xdd\x75\x82\x3a\xea\x53\x1e\xe3\x93\x8d\xb8\x7d\xba\x0b\x84\xfb\x8f\x99\xb2\x08\x98\xfd\xe5\xc2\x1b\x8d\x66\xff\x78\xe4\x15\xc5\xb7\x7f\xbb\x90\x9d\xf9\xdd\xf4\x91\xfc\x22\xab\x53\x1b\xc8\x6b\xb8\x63\xd2\x6e\xe0\x9e\x67\xb9\xa8\x1a\x08\x6f\x27\xbe\x6c\x64\x42\x4a\x3d\x19\x00\x65\x03\x5a\x1d\xc8\x53\x24\x09\x9a\xf8\x8f\xaa\x66\x41\x3d\x8d\xed\xd1\x20\xf3\x01\x42\x8e\x1d\xe2\xea\x81\x1f\x82\x8c\x54\xbd\x34\x04\x53\xff\xf3\x45\xa9\x1f\x0d\xa1\x15\xdc\x82\x33\xf6\x95\x25\x96\x4f\xc8\xf1\x01\x7a\x20\x67\x89\x75\xa9\xd5\x0c\xf1\x8d\xbc\x73\xa6\x44\x12\xbe\xcd\x53\x51\xeb\xab\x62\x72\x2b\x79\x06\x69\x8b\x02\x7d\x49\x91\x55\x2e\x91\xd9\x14\x2a\xc5\x3c\x25\x9d\xa8\xe3\x8b\x0a\x45\x24\x64\xc1\xfc\x78\x7b\x7b\x7b\xeb\x04\x2d\x51\xdf\xeb\xd7\x2a\x48\x4b\xfb\xc6\x33\x1a\x04\x2a\x44\x89\xfc\xe8\x0f\x3f\xa8\x57\x10\x78\x61\x42\xb7\x5b\x9d\x60\x9d\x1c\x72\x21\x43\xb2\x4c\x85\xbc\x17\xfe\x2e\x09\x54\x48\x66\x22\xc5\x31\x38\x0c\x84\xf0\xf3\xd9\xf3\x6f\x4b\x47\xd5\x63\xf6\x8f\xbf\x4d\x65\xe1\x50\xde\x4c\x96\x32\x95\x59\x4f\x65\x6e\x53\xc8\x60\x5a\xd2\xad\x64\xa3\x1a\xc7\xaf\x7f\xc1\x6b\xa6\x2b\x5c\xf0\x85\xbf\x5c\xb2\xb1\x47\x4a\x42\xab\xde\x09\x27\xb2\x04\x3a\x08\x27\xaf\x5f\x9f\xcd\x68\x38\x09\x02\x1a\x4e\x7e\xf8\x81\x86\x93\xed\x96\x86\x93\x2c\x2b\x8a\x29\x9d\x3d\xff\xf6\xa1\x7c\x96\x2f\x95\x48\xec\x0d\x7f\x63\xcd\x87\x8d\x57\x8b\x9f\x3b\x72\x67\x2d\x4e\x8b\xe9\x86\x26\x16\xdf\xbe\xb7\x49\xec\xd1\x68\xa8\x64\xab\x1f\xd6\x5b\x70\x84\x50\x09\x98\xe0\xa2\xb8\x16\x37\x35\x40\xee\x1a\x16\x8d\xa3\xd1\x50\x70\xb9\x3f\xfb\x70\xc3\x7d\xed\xf0\xf2\x65\x60\x4a\x27\xee\xef\x9e\x5d\x13\xa2\xdd\x67\x47\xa3\x51\x34\x39\xdd\x81\xfe\x5a\x66\x3f\x4f\x72\x2d\x5f\xa2\x5b\x37\x32\x6e\x67\xd3\x37\x40\xaa\xc9\x00\xf5\xde\x3e\x32\x2c\x80\x82\x7a\xad\x79\x44\xb9\xa1\xe5\x6a\x96\x82\xbf\x78\xe6\x63\x8f\x6e\x09\xcd\x81\x7d\xf8\x49\x76\x5f\x4e\x08\xf5\x88\x73\x5d\x12\x99\xff\x7d\xa7\xd2\x3a\xc4\xdc\xb4\x56\xab\xb2\xc6\x9e\xd2\xd5\x08\xb7\xb9\xc1\x9f\xdd\xd7\x62\x1f\xbc\x65\xb2\x7f\x64\x61\x5b\x59\xd8\x96\xe6\x20\x24\xa3\x83\x44\xab\x78\x10\xcc\x69\x40\x73\xe2\x6e\x6d\x23\x59\x84\xd4\x66\xf4\x18\xc3\x5d\x15\x29\x8a\xd5\x24\x89\x5e\xaf\x13\xb5\xc8\x33\x59\xd1\xab\x6a\xc3\x96\x51\x7a\x64\x18\xc3\x3d\x8c\xc7\x15\xce\x48\x51\xc8\xb1\x79\xc4\xb2\xd2\x5d\x4d\x4e\x77\x5e\x26\xd2\x2b\x81\xd1\x76\xdd\xda\x48\x33\x26\x07\xd7\xca\x5d\x11\x19\xa6\x26\xfc\xc6\xd4\x84\xdf\xa8\x9a\x1c\xda\x35\xe1\x7d\xae\xff\xab\x9a\x1c\x74\x4d\x2e\xd8\xa1\x55\x13\x7e\xd3\xac\xc9\xa1\xbf\x26\xd6\xd4\x7f\x19\xd4\x53\x1f\xdf\x71\x94\xb1\xa7\x8a\x04\xb8\xd2\xc4\x30\x51\x67\xdb\x9d\x73\xa8\x66\xa1\x77\x7b\x8c\x4c\x2a\x44\x8a\xe2\x58\xd6\x0a\xc9\x1e\x0f\x5e\xca\xc3\x6e\x34\x1a\x2a\xfe\xf7\xf5\x3a\x03\x81\xfe\xfc\x1a\x10\x29\xaa\x2a\xfe\xd8\xe0\x30\xa1\x17\x03\x42\x8e\x1e\x1b\x78\x58\xe9\x32\x0c\x6b\xa7\x63\xd6\x84\x82\x20\x71\xb3\x4f\x51\xc3\x85\x89\x27\x8f\xc2\x4a\x6d\xa9\xde\x03\xf4\x65\x85\xc7\x50\x12\x01\xb9\x86\xc6\x46\xa1\x6d\x81\x0c\xb5\x7c\xbf\x41\x66\x8d\x8f\xc0\xa6\x2e\x77\x40\xa2\x1c\x54\x1b\x99\x1b\x8c\xc7\xb6\x0b\x78\xbe\x08\x96\x34\x61\x53\x37\xa9\x35\xc4\x12\x65\x0e\x26\x18\xf3\x16\xc9\x92\xf8\xbb\x24\x5f\x27\x07\x71\xc2\x0d\x9e\x84\x20\x35\xf7\x6f\x29\xdb\x57\xc7\x77\x6d\xc4\x0d\x68\xc5\xb8\xad\x23\xed\x29\x1f\x8a\x3e\xcf\xb1\x02\x7b\x87\x55\xfb\x3d\x10\x86\x46\x7f\xed\x04\x11\xe7\x69\x4f\x6a\x10\xe2\x6a\xd9\xab\xce\xc3\xb7\xd2\x98\xcc\xb8\x91\xcc\x18\xf9\x81\x83\x1e\x3f\x45\x14\x64\x0c\x55\x66\x6a\x5b\xab\x7b\x30\xb6\x7b\x70\x65\xb4\xb6\x7d\x39\x0e\x60\x6a\x9f\xc9\xe9\x03\xbe\xb4\x06\x41\x9f\xee\x37\x5c\x06\x7a\x45\x01\x26\x15\x60\x33\x01\xd6\x15\x72\xcf\x1f\x7b\x14\x02\x18\x1b\xcb\x38\x35\x63\x05\xcc\x5c\x6f\x59\xd4\xb7\x5c\x06\xa8\x2b\xd2\x13\xfb\x8e\x74\xa3\xed\xb5\x95\x66\x52\x51\x80\xcc\x21\x10\x37\xff\xfd\x8d\x7c\x37\xd8\x7e\x02\x7b\x60\xe9\x03\x53\x54\x6f\x3a\x5b\x16\xe3\x0d\x9d\xc1\x9a\xac\xf8\x82\xad\x46\x1f\x90\xf1\x36\x1c\x7b\x34\xd1\xea\x01\x19\x13\x38\x21\x74\xcb\x02\xbc\xa1\x19\xa1\x1b\x16\xe0\x8c\x6e\x64\x48\x8c\xb7\x74\x26\x43\x64\x7e\x67\x33\xe2\x6e\x47\xa3\x6d\x75\x64\xfa\x35\xd3\xb1\xa2\x5b\xe2\x6e\x46\xa3\x8d\xf5\xd1\x66\xeb\x56\x74\x43\xca\x32\x61\xbf\x83\x5c\x07\xee\x30\x24\x1b\xa2\xc0\xdf\xa2\x85\xb7\xa4\x1b\x70\x82\x1f\x59\x1b\x0d\xf4\x55\x73\xab\xd9\x00\xff\x2d\x49\x2d\x99\x06\x6c\xb5\xab\x85\xa4\x08\xb1\x2a\x53\xa4\x3a\xcb\x5e\x4b\x86\xf0\x5a\x31\x7f\x04\xc2\xaf\xd5\x90\x31\x1c\x8c\x66\xc4\x74\xe6\x40\xb4\x0a\x70\x57\xa0\x15\x86\x57\xba\x47\xa9\xdd\xa3\x2b\x42\x1c\xfd\xe5\x4c\x7d\x6a\x34\x99\x10\x90\x13\xda\xda\xe3\x3f\x74\xc5\xf2\x1e\x38\xb3\x1e\x86\x0b\xbe\x9c\xe3\xb8\xee\x51\x41\x39\xa1\x32\x94\x0d\xa7\xc4\x19\x7a\x20\xd5\x58\x02\x1e\x9c\x5d\x8a\x15\x6d\xd6\x90\x72\x03\x81\xe3\x31\x6f\x8e\xce\xd0\xf8\xb1\x7c\x47\x67\xa0\xbc\xeb\x72\xbc\xf5\xc6\x1e\x85\x69\xe5\x13\x97\xe3\xff\x09\xe4\x2b\xf8\x1c\x31\x80\x99\xde\xc4\xcf\xd3\x98\x4a\x32\xd0\xc8\x17\x68\xc8\x8e\x25\x5d\x31\x4f\x72\xce\x34\x62\xde\x04\xc4\x04\x34\x96\x71\xf4\xce\xe5\x86\x8b\xff\x09\x96\x6c\x88\xc3\xc5\xd6\x5b\x32\x20\xd0\xf5\xec\xf3\x08\xd0\xdd\x96\xb8\x83\xb5\xc5\xe4\x57\x58\x90\xb9\x3c\x1f\x2a\x0f\x1d\xd6\x0b\x3b\x96\x84\xae\xac\x00\xea\xd1\x50\x0e\x40\x1d\x32\x1a\x45\xed\xef\xf4\x55\x60\x05\x81\x36\x93\x25\x11\x24\xc4\xf5\x3c\x59\xe8\x40\xcc\x31\xa4\x55\xb2\x1d\x48\x09\x65\x55\x72\x1b\x5d\xd8\xaa\x15\x29\xea\x8b\xd4\xce\xa9\x27\x92\x5b\x57\x63\x8e\x39\x7e\x1d\xc8\xd9\x4f\x03\x23\x62\x0c\x6a\xf1\xe2\x35\xf5\x31\x42\x0a\xc1\x8e\x38\x3a\xee\xcc\x8a\xab\x5a\x08\xc5\x41\x68\x25\x97\x34\x31\x54\x06\xe6\x8d\x10\x57\x30\xbb\xcf\xea\xe7\x85\xb7\x9c\x5f\x3b\x26\x33\xf9\x36\x9c\x39\x56\xd5\x21\x64\xaa\xec\xa1\xe5\x84\x52\x58\xbb\x6d\x51\x42\x25\xcd\xf2\x00\xbc\xd1\x22\x03\x5e\x19\x0f\x97\x1e\xa9\xe0\x19\x2b\x25\x3e\xaf\x6b\x5c\xde\xa3\x3c\x27\xd3\xfc\x1e\xb1\xf3\xdf\x2e\xcf\xf1\x64\x4c\x2e\xcf\xf1\x82\x9f\xfd\xb1\x7c\x48\x4e\xcf\xe9\x8b\x3e\x13\x01\xd0\x1c\xf7\x9a\xf7\x0a\x8e\x57\xd2\x9c\x6b\x5f\xe4\xd6\xcd\x48\xb3\x02\x74\x90\x79\xf7\xe6\x68\xd9\x27\xca\x1c\x7f\xe5\xf4\x09\x4d\x39\x3d\x70\xb6\x58\xaa\x3b\x3a\xfa\x26\x84\x67\x40\x7b\xa1\x9b\x48\xbe\xc8\x43\x81\x5e\xf5\x94\x6e\xc4\x25\x34\xf5\xcd\xc7\x48\xe4\x6f\xcd\xf7\x9f\x42\xfa\x9c\xb3\x97\x18\x25\x11\x22\x34\xe0\xec\xe7\x09\x4f\xa2\x43\xcc\xd3\xa2\xc0\xd5\x33\xac\x92\x77\x1e\x4d\x3c\x36\x75\x7f\xe5\xec\x9f\x13\x63\x60\xfa\x5a\x72\xdb\xb7\x13\xad\x06\x2d\x4f\xb7\x53\x6e\xbf\xc9\x9e\xfd\x51\x5f\x16\xad\x33\xf8\xa5\xb9\x2f\x7b\x7a\xa1\x6e\x5f\x4e\xf0\xc7\x75\x92\xff\x1d\x3f\x8d\xf9\x76\x2f\x02\x32\x27\x05\x84\xcc\xfe\xaa\x1f\xbe\xfd\x86\x14\xf8\x65\x92\xff\x5d\xfd\x40\xf8\x4b\x1d\xac\xb4\x09\xe0\xf1\xaf\xdf\x11\x02\xd9\x5f\x2e\x4f\xcf\xe9\x87\xfb\xba\x18\x9c\x99\xc9\xbe\xbd\x0a\x7a\xcd\x3f\xac\x7b\xe8\xc5\x19\x26\x97\x8b\xcb\xe5\xb1\x1c\xcf\x1f\x4e\x4e\x2f\x7f\x2b\xa8\xf3\x5f\x17\xc3\xcb\xcb\x25\x5c\x4e\x5f\x5e\x9e\xce\xec\x0b\xea\xcb\x9b\xe9\xdf\x55\xf8\xcd\xf4\xef\x88\x94\xf4\x05\xb7\x65\x01\xf2\x8c\x7c\x8c\x5f\xf0\x49\x7a\x88\x45\x56\x59\x4f\x0e\xfe\xd9\x34\x7f\xc2\x68\x91\x44\x67\x7e\xb6\x5f\x4a\xc2\xa1\xfb\xd1\x98\x56\xa9\x18\xae\xf2\x62\x6f\xd4\x16\xa3\x86\x05\x88\x8a\x85\xc0\xef\x42\xf3\x8b\x95\x09\x22\xae\xa9\x13\x3b\xda\x7e\xe7\x9c\x21\x2f\x8a\x96\xc2\x30\x4a\x76\x67\xca\x0a\xff\x4c\x1e\x68\x88\xd0\x64\xf7\x32\x89\xd7\x89\x78\x9f\xdf\xc6\xe2\xae\x24\x6b\x88\x72\x06\xa6\xbc\x88\x94\x40\x33\x1c\x3d\xf6\x82\x03\xea\x9a\x64\x8b\x8d\xa7\x7a\x8c\x10\xa1\x9c\x0d\x67\x35\x70\x1a\x67\xc3\x69\xe9\xf5\xd6\x90\xb7\x8b\x9f\x95\xd5\x7d\xa9\x69\x54\x49\xf7\x5e\x6b\x18\x1e\xe3\xbd\x07\x97\x35\x9f\x2a\x41\x84\x09\xd0\x38\xc1\x9c\xfa\xec\x67\x43\xfe\x82\x1b\x2f\x40\x74\x05\xdc\x57\xdf\x1d\x8f\x41\x7d\x37\x60\x3f\xf3\x05\x5f\x52\x8f\x75\x47\x09\x8d\x83\x1a\xab\xc6\x41\x72\x52\x38\x88\x8c\xd1\xef\x9f\x97\x88\x90\xa3\x60\x83\xd6\x90\x04\xf2\x1b\x32\x86\xc8\xad\x5a\x31\x51\xd2\x9f\x79\xbf\x75\x9d\xcc\xfc\x06\xde\x96\xd4\x13\xec\x1c\x0c\xa9\xcf\x23\xfa\xc4\x67\xc3\x19\xfd\xd9\xa3\x7b\xce\x66\xf4\x2d\x67\xdf\xd2\x50\xb0\x63\x28\x39\x62\x34\x9b\x7c\x37\xf9\x1b\xa2\x5b\xfe\xfb\x2e\x75\x66\x74\xbb\x4e\x76\xa9\xf3\x1d\x0d\x76\xb9\xf3\x37\xea\xef\x02\xf1\x06\x4c\x68\x02\x9e\x6e\xce\xe2\xc3\x76\x9d\xc0\x45\x9e\x2f\x50\xe9\xbe\x9b\x88\x9b\x3d\x4f\x82\x9d\x64\x37\xbe\xfd\xf6\x1f\x4a\xa9\x74\xe5\xb1\x77\x13\x30\x37\x95\x07\xfa\x8b\x90\xcd\xdc\x77\x93\x4f\xb2\xa2\x7d\x8b\x0c\xa4\x6e\x10\x7b\xe1\x2d\x14\xd4\x82\xca\x73\x09\xc6\x2d\xca\xa0\xff\x71\xc8\xce\xf1\xe2\xd2\xb9\x3c\xbb\xfc\xb4\x1c\xe3\x09\x91\x8b\xee\x49\xc8\xce\x7f\xdb\xee\xfe\xc0\x95\xbd\x78\xc4\x8e\xdb\xdd\x21\x13\xb1\xe0\x57\xc2\x41\xf0\x0c\xee\x3f\xe0\x49\x24\xb9\x48\x4d\xe8\x95\x48\x51\x49\x3f\x78\x72\xc7\xfb\xfd\xf3\xab\xb5\xe4\xbf\xe9\x73\x99\xe3\x05\x5e\x5c\x5e\x9f\x2d\xc7\xe4\x32\x7b\x78\x79\x3e\x7f\x84\xe7\xce\xc5\xe5\xf9\xe5\xec\x51\x21\x0f\x81\xf7\x1e\x3b\xbf\x28\x46\xff\x35\xbf\xbc\x1e\xbb\xe7\xf4\x69\xc8\xce\x21\x81\x23\x53\x9c\xd3\x67\xf0\x3e\x1f\xf2\x54\xf0\xc2\x4b\x0b\x7f\x17\x17\x62\xeb\x89\xa0\x58\xa5\xc5\x7a\x1b\x15\x20\x1a\x2d\x24\x1b\x51\x6c\x45\xce\x8b\x3d\x4f\xf9\x96\xe0\x2a\x8b\xc5\x6f\x8f\x96\x0f\xc9\xe5\xf9\xa3\xf3\x68\x4d\x07\x5b\xce\x8e\x4a\x18\xe2\x2c\x66\xf4\xc1\x45\x06\xb3\xea\x64\x7b\x88\xf3\xf5\x3e\x16\x0c\x99\x27\xf4\xe8\x01\x45\x17\xe7\xea\xfb\x23\xb4\xa4\xf9\x4a\xf0\x40\x26\x42\x17\x60\x96\xf8\x08\xc9\xef\xfa\x71\x49\xfd\x5d\xec\x2c\xbe\xa9\x3e\x5e\xf8\xbb\x38\x4a\x77\x87\xbd\x8a\x56\xbd\x59\x29\xf2\xb4\x91\x20\xf7\x76\xc1\xad\xce\x14\x1e\xed\xa8\x81\xb3\xf8\xb6\x1d\xf5\x22\x4f\x75\xf4\xf4\x51\x4f\x9a\x4f\x46\xd9\x61\x31\xa5\x08\x51\x84\x96\xa5\xbb\xe5\x93\xdd\x3e\x87\x9a\x30\xf5\xbc\xde\x25\x32\x14\x52\xcb\xa0\x3c\xdc\xed\x72\xf9\x60\x6a\x0c\xcf\x1c\x22\xc2\x77\xd9\x0b\x90\x62\x05\xaf\x01\xcc\xa6\x77\x9c\xbd\xb3\x3d\x0d\xa4\x82\x07\xb7\x0d\xbb\x4d\x8b\x82\x26\x47\xbf\x28\xb0\xaf\xbc\xfa\x11\x83\xbc\x38\x9c\xb9\x20\xfd\x8f\x45\x0e\xd2\xf6\x7f\x4e\x20\x13\x30\xaa\x9f\x67\x4a\x52\xb6\x3b\xe4\x98\x1b\xbf\x03\x72\x3b\x7b\xf6\xd3\xeb\xa7\xbb\x24\x17\x49\xfe\x6a\xc7\x03\x11\x20\x49\x5b\xbf\xc3\x3f\x13\xf8\xaa\x6c\xa0\xc1\x75\xd9\xc0\x9c\xd5\x1d\xf4\x67\xc5\x35\x2a\xd4\x42\x9b\x21\x56\xbc\x20\x18\x7a\x54\xf7\xe9\x72\xe7\xf1\x34\xe3\x47\x4f\xe4\x8e\xb3\x44\x25\x15\x9f\x9d\x9e\x55\x38\xbd\x60\xde\xfc\x09\x64\x2c\xf9\x12\x47\x3f\x42\xd5\xb5\x42\x11\x5c\xb8\xa9\x67\x67\x4a\x65\x79\xce\x26\xa2\xd9\x2e\xcd\x1d\x49\x83\xec\xd2\x9c\x2a\x42\xc4\xa9\x48\x92\x92\x3e\xf1\x94\xfd\x55\x35\x51\x4f\xd4\x14\x15\xc1\x09\xa0\x53\x8b\xe0\x24\x58\x67\x80\x5f\x72\x22\x7b\xf0\xa7\x24\xbe\x3d\x49\x01\xec\x44\x04\x27\xbb\xbd\x48\x90\xc5\x9c\x37\x40\xb5\x9e\x78\x8b\x17\xd8\x23\x4b\xe6\x95\x4a\x92\xf8\xde\xd7\x65\xc1\x1a\xd3\x05\x9d\xa8\x59\x73\x92\x8b\x9b\x5c\x2e\xca\x13\xef\x90\xe7\xbb\xe4\x24\xdc\xa5\xdb\x93\x40\xe4\x7c\x1d\x67\x77\x16\xf1\xde\x5f\x78\x4b\x75\xe1\x23\x0b\x38\xf5\xd9\x11\x44\x6f\xba\x17\xd0\xd6\x3c\x22\x0a\x82\xb0\x2a\xdc\x3c\x42\xf8\x3a\x71\x94\x78\x0d\xe2\x38\x4a\xc0\x95\x44\x6f\x41\xb4\x98\x38\x68\xaf\x1e\x50\xe9\x0e\xb6\xf8\x08\xd0\x72\xbf\x78\x54\x31\x61\xcf\xe4\xdb\x95\x47\x57\x3c\x83\xc7\xc6\x24\xb5\x69\xdc\x95\xb7\xf0\x26\xb0\x09\x2f\xdb\xc6\x28\xf2\x24\x6c\xa1\x7f\xbc\x93\x0c\x9d\x07\x97\xc7\x55\x81\xeb\x64\x25\xd2\x75\x2e\x02\x28\xe8\xb1\x47\x15\xe0\x6a\xcf\x64\x79\xa2\xa4\x0d\x1e\x20\x28\x80\x5f\x9c\xa2\x78\xec\x61\x6f\xa2\x28\xf5\x37\xbb\x40\x14\x85\x47\x17\xc8\x78\x59\xa9\xac\x97\x55\x74\x39\x91\xec\x2f\x5f\x28\xa3\x91\x09\x29\x8a\x3b\x3e\xbd\xd9\x7d\xd0\x60\x0f\x92\xde\xf2\xd5\xfd\x7d\x2c\x52\xe7\xad\x4f\x8d\x6d\x5e\x5f\x49\xb2\xe6\xd4\x32\xdf\x23\xa5\xee\x7b\x79\x20\x3b\xcd\x7e\xf3\x26\xf5\x27\x75\x56\x73\x52\x52\xc3\x84\x3a\x37\x1e\xf5\xb3\xcc\xe9\xea\x0c\x46\x9e\xd6\x05\x7c\x8c\x7d\x42\x3c\x05\x64\x02\x30\xab\x4a\x07\xa9\x36\x61\xd2\x1f\x4a\x3a\xe0\xed\xe2\xeb\x3b\x72\x6f\x92\xec\x02\xf1\xe1\x76\x0f\x9a\x50\xc1\x90\xb1\xb7\x7c\x34\xfa\x46\x41\xa1\xfe\x5d\xfe\x28\x9a\xe4\x05\xe6\x84\x3e\xf1\x16\x01\xc0\xa4\x43\xd9\xfe\x1c\x7b\x8a\xe9\xa7\x5e\xd3\x48\x98\x03\x12\xbe\xfe\x3a\xa3\xdd\xa6\x1a\xf3\x8a\xaa\xb6\x0a\xf4\xd5\x9b\x70\x13\x25\x93\x74\x8c\x24\x17\x82\x97\xb9\xd8\x82\xa0\xf7\x96\x4c\xb2\xbd\xf0\xd7\xe1\x5a\x04\xf3\xc0\xb9\xae\x74\xae\x4c\x4f\x34\xab\xe0\x5b\xc8\xe5\x0d\xa2\x88\x58\x3a\x42\x51\x33\xcd\x37\x84\x56\xf6\x49\xd7\x92\x9a\xdf\xa7\xbb\x7d\xa7\xe7\xaa\x22\x7b\xba\x1d\x3a\x5c\xee\x10\x0d\x74\xd7\x4a\x1d\xd4\xb2\xce\xf3\x48\xa5\xa7\x50\x8f\x81\x11\xb2\x31\xc6\xf6\xbc\x28\xe4\xef\x5b\x3e\xe7\x13\x99\xa3\xde\xf0\x1d\x84\xca\x46\x00\xf3\x4a\x6f\x72\x1a\x5c\x59\x56\xbb\x5e\x89\x09\x1d\x34\xe0\x96\x61\xd2\x19\xb3\x40\xe0\x6c\x27\x66\x23\x1d\x8d\x90\xda\xe1\xe4\xf1\x73\xcd\xab\x9a\xf9\xea\x88\xf0\xf4\x71\x99\xb5\xae\xfd\xcd\xf6\x0b\x5e\x6c\x41\x7e\xa8\xae\x3c\x8b\x42\x55\xcf\xd2\xa8\x05\xf9\x8d\xd1\x2b\x85\xdb\x13\xbf\x36\x90\x55\xea\x58\xe6\x7a\x96\x97\x74\x95\x6f\xef\xaa\x78\x95\x68\x9d\x24\x22\xfd\xe1\xc3\xeb\x57\xee\xc1\x03\x7f\xa2\xc4\xb5\x02\x65\x2e\x62\xbb\xcf\x6f\x9d\x9f\xfd\xce\x86\x55\x9f\xd7\x72\xfc\x2c\x71\x6e\x7d\xd9\x49\x35\xbc\xb6\x96\x42\x6b\xe3\xe6\x9f\xfd\xd1\xe8\x0a\x7f\xc3\x2a\xa8\xb3\xd1\x48\x06\xdf\x78\xea\xf7\xad\x3f\xe7\x4e\x60\xdc\x7f\xc8\x5e\x56\xb6\xd0\x53\x57\x5c\xac\x5c\xa1\x24\xd9\x1e\x63\xec\x17\x8f\x28\xd7\x40\x00\xf7\xaa\xa7\x29\xb8\x08\x51\x36\x7c\xf5\xc7\x90\xf2\x45\x58\x3b\xf3\x96\xc1\x25\x08\xba\x82\x2b\x77\xc5\xae\x94\x11\xa5\xb6\x3c\x5a\xd1\x19\x71\x56\xee\x00\x32\x62\x53\x37\xbc\x58\x29\x3f\x93\xda\x3a\x4b\x65\x1a\x2e\xc1\xe4\xc3\x15\x4c\xcc\xc5\x38\x72\x22\x4b\xf4\xdf\xaa\xad\x55\x47\xeb\xba\x00\xea\xa0\xb6\xfb\xe6\xb9\x62\x61\x5d\x9c\xd4\x3e\xd3\xd5\x62\x09\xcd\xc5\xd6\x07\x0f\xa3\x5d\xc2\xd3\x28\x53\x4c\xe6\x2b\xbf\x32\xaf\x5e\xb1\x6b\x0f\x83\x09\xa4\x1b\xb2\xd5\x04\x80\x74\x33\x6d\x5a\xb6\x9a\xac\x00\x8d\xc2\x8d\x8a\x02\xd7\xaf\xec\x87\x10\xfb\x20\xa3\xaa\xb1\x42\xa6\x17\x96\xd6\x90\x3c\x86\xe7\x81\x2d\xc7\x5f\x04\xca\xd6\xdc\x60\x1a\x9f\x9d\xb9\xe4\x18\xb0\xd5\x22\x56\x72\x85\x0d\x0b\x17\xc1\x12\xfc\x05\xc9\x07\xb6\x58\x52\x54\x93\xfc\xa0\xd6\x59\x14\xa8\x66\x0d\x20\x64\x2e\xdb\x1b\x47\xa0\x13\xd9\xb1\x41\xe1\x93\x54\xc8\xa3\x24\xf8\x00\x28\xc3\x60\x0b\xe4\x6b\x97\xb4\xda\x27\xaa\x3c\x61\xf8\x3a\xc9\x64\x5f\x14\x45\x04\x53\xb1\x24\x4e\x8d\xf9\xaf\xb6\x63\x10\x62\x83\x12\xc1\x2b\x8d\xba\x8b\x03\x1a\x81\x88\x6d\xa0\xea\x4d\xdc\x4d\x75\x2d\x52\x96\x74\x17\x86\xce\x4f\x3e\xdd\x25\xa2\xe1\xef\x4a\x4e\x74\xce\x9e\x28\x25\x39\x90\x36\x57\x03\x17\x82\x33\xbf\x5d\x18\x82\x08\xda\x35\x8f\xe0\xb2\x47\xc7\x0d\xe0\x54\x03\x1e\xf4\xd7\x75\xbe\xea\xf3\xa4\x45\x05\xe3\xd6\x09\x2e\x97\x28\x97\x33\x06\x40\x65\xb0\x4f\x1a\x97\x46\xc1\x5c\x4c\xd6\x49\x26\xd2\xfc\x89\x08\x77\xa9\x90\x45\x4c\x6c\x0c\x60\x47\x18\x9e\x17\x5c\x67\x61\x9f\x82\x06\xaf\x5f\xca\xb3\x59\x86\xa4\xa2\x09\xb3\x62\xed\x5d\x7c\x02\x31\x64\x2d\xda\xdb\x97\xd9\x73\x61\xab\xad\xf7\x30\x6b\xd7\xf2\xd5\xd9\x2f\xe7\x61\x2f\x22\xe0\x44\x7f\x7d\xa6\xe5\x56\x72\xe3\xab\x8b\x2b\x8a\xc5\xb2\xa4\x7c\xbf\x17\x49\xd0\xd7\x49\xf6\xb6\x0f\x47\xac\xda\xf2\x67\x33\xe5\x66\x43\x19\x6e\xbc\x03\x4d\x4f\x3d\xb9\x95\x8a\xae\x5f\xab\xe8\x0e\x04\xdc\xa1\xf1\x89\x2a\x45\x77\x8f\x9c\x07\x25\x80\x89\xf7\x14\xbd\x0e\x71\xab\xe9\x75\x75\xc2\x75\x9a\xe5\x90\xc9\x5d\x63\xc5\x3b\x23\x05\xd7\xa7\xf4\x3a\xe5\xfb\x56\x41\x3e\x7b\x82\x7d\x32\x11\x9f\xf1\x94\x4c\xfc\x78\x97\x08\x4c\x16\xd3\xa5\x6b\x0a\xb3\xa6\x07\xb8\xd1\xed\x0e\xb1\xdf\x68\x16\xaf\x88\x29\xe7\x57\x8f\x4a\x72\xbb\xe1\x85\x8c\x1c\x7f\x95\x87\xeb\x70\x4a\x4a\xca\x43\xc9\x9d\xf7\x76\x79\x7b\x66\xf6\xf4\xb2\x32\x94\xf2\x6b\x77\xbd\x8d\x6d\xd4\x5f\x84\x4b\xb7\x35\x61\xa3\xd6\x84\x75\x03\x16\x95\x25\x35\xf7\x23\xce\x1f\x86\x04\x57\xaf\xb7\x1e\xcd\x77\x51\x14\xeb\xd7\xf6\xca\xf4\x47\xa3\x6d\xe3\x1e\xb1\x31\x02\xaa\x86\x83\xc0\xbd\x02\xc0\x30\x1c\xb2\xe1\x8d\xa7\x1c\xdc\xbb\x38\x9c\xff\xe1\x39\xb7\x1e\x51\xfe\xe7\x49\x49\x55\x4b\x7b\x26\x2f\xf8\xed\xab\xfb\x81\x8c\x46\x33\x25\x5f\x33\x53\x63\xce\x41\x78\x5e\xd2\xa4\x41\xcb\xd8\xb3\x5f\x7e\xd1\xe8\x54\xba\xe5\x0a\xce\xa9\xd5\xf3\x36\x46\x45\x0d\x66\xf5\x81\x47\x92\xba\x9b\xf7\x07\x63\x9f\x38\x72\xf5\xc0\xbc\x71\x3e\x7a\x34\x4f\xd7\x51\x24\x52\x8d\x49\xd4\xe9\xb3\xfa\xd8\x56\x57\xe7\x45\xe1\xd3\x48\x9e\x27\x8a\x54\x8e\x18\x8e\x94\x6e\x88\x3a\x55\xc8\x68\x14\x2d\x56\x4b\x22\xd8\xf1\x6e\xa4\x77\xe5\x91\xb3\x0f\xec\x7d\x9d\x3d\x6b\xc3\xbd\x77\x8c\x1c\xe0\xca\xaa\x37\x8b\x12\xfc\x00\xbc\xdc\x6e\x45\xb0\xe6\xb9\xb8\xc3\x21\x80\x06\xf0\xee\x46\x7a\x9f\xef\xf6\x7b\x01\xaa\xdd\xb2\x26\x7d\xf9\xe8\x28\xf7\x55\xea\x9e\x9c\xcb\x8e\x9f\x82\x5b\x65\x4b\xb0\xd2\x38\xf9\x0e\x2f\xa9\xea\x66\xb0\x4a\x78\x8b\x85\x9c\x7d\xd4\x67\xbf\x73\x1c\x29\x95\xab\x85\x58\x9a\x1b\xf1\x80\x38\x92\x84\x68\xe0\xa6\xf8\xe4\x28\x26\xf7\xd6\x1d\x93\xa2\xf0\x35\xa8\x13\x87\xe3\xc7\x66\x3c\x61\x5e\xd9\x74\x9c\x6f\xd1\x71\xda\xbc\xae\xa2\x08\x68\xc4\xa6\x34\x6e\xd0\x73\xd1\x45\x0c\xd8\x33\x57\x78\x45\xe6\x78\xc5\xb8\xa2\x74\xa2\x25\x55\x89\xe9\x63\xbc\x02\x7f\x5a\xec\x09\x5e\x11\x42\x9c\x37\x3e\x5e\xd1\x76\xac\xea\x9c\x90\xb1\xe7\x2b\x50\x71\x2e\x5d\xab\x5a\x13\x6f\x9d\x04\xb6\x7c\x68\xb2\x4b\x1a\xdf\x0f\x49\x37\x46\x18\x96\xc4\xfd\xc8\x6d\xa1\xd2\xfe\xd0\xd0\x70\x1e\xf8\x6a\x7a\x2c\xbe\xe7\x5a\xdf\x10\x96\xe2\xc7\x75\x40\x96\xcc\x2f\x69\xc3\xe8\xa6\xe9\xc5\xbf\x2f\x49\xb5\xad\x76\x8f\x50\x48\xc2\x59\x4f\x22\x57\x2b\x4f\xab\x18\xcb\xfa\xc4\x54\x42\xd6\xdb\x90\x2d\xda\x93\x59\x81\xdb\x74\xe6\xe4\xc9\x47\x5e\x2e\xcb\x25\xfd\xe8\xb3\xf3\xdf\x16\xbf\x5d\xe2\xe5\xc3\x4b\x7c\x99\x3d\xc4\x8b\xdf\x2e\xc9\xf2\x21\xb9\x24\xe7\x5b\xba\x8d\xd8\x39\x3d\xa7\x49\xa4\xc1\xf4\x3f\xcd\x09\xbe\x7c\x3f\x9e\x93\xcb\xd9\x65\xf6\xf0\xf4\x9c\x7e\xf0\xd9\x39\xc6\x97\xe7\x97\xe7\x93\x87\xa7\xa4\x90\x4f\x0f\x17\x97\xd9\xe5\xfb\xe5\xc3\xf9\xe5\xc3\xcb\x73\x42\xce\xb7\x11\xfd\x01\x6e\xa5\x2c\xfe\xdc\x0d\xbd\xc9\xe9\x29\x4f\x92\x5d\xce\x73\xc1\x7a\xb7\x15\xf7\x0e\x13\x1e\x8d\x3e\x08\xd0\x12\x3a\x4b\x10\xc1\x2f\x96\x2e\x1c\xb2\xc6\x13\xe3\x3a\xc4\x06\x6b\xfa\x7b\x40\xa9\x08\x8a\x02\x80\x2a\x94\x5d\xc7\xcb\x50\xb2\x0a\xf4\x07\xae\x2c\x8c\xfc\x3c\x58\x23\x49\x7a\x49\xc2\xb1\x56\x4b\xae\xa4\xfe\x1f\x7c\x3a\x40\x48\x7e\xf6\xb5\xb9\xef\x47\x5f\x92\x56\xfe\x62\xb6\xd4\x67\xc6\x36\x22\x2d\x52\xc7\x24\xb6\x0d\x08\x74\x13\x85\x22\x7b\xe0\x1c\x27\x65\x7d\xcd\x26\xd4\x75\x8a\xd6\x9a\xf1\x2b\x90\xe6\xb3\x19\x7d\xcf\x31\x5f\xf8\x4b\x8a\xc2\x04\x11\x38\x50\x95\x95\xdf\x54\x6e\x03\x8e\xfc\x0a\x9f\x80\x92\xaf\x98\x0b\x98\x16\x6f\x02\xe8\x7f\xa3\x3b\x44\xe8\xc7\x86\xa2\x7b\x03\x03\x49\x41\xd2\xa5\x8f\x5f\xb4\x51\x8d\x2d\x25\x23\x72\x2c\x03\xf0\x53\x7e\xeb\x06\x13\x7f\xc5\xd7\x09\x3c\x59\x4b\x47\x12\x40\xb7\x54\x29\x46\x3b\xb7\x34\x15\xd9\x61\x2b\x9c\x5b\xba\xe7\x87\x4c\xfe\x1a\xc1\xab\xdc\xe3\x56\x36\x19\x19\xc8\x3d\xc4\x1c\x5d\x0d\x75\xbd\x86\x17\x4d\x0e\xfa\x63\x1a\xc3\x12\x5c\x5b\x96\x36\xae\x2e\xfd\x20\xda\x7a\xbb\xca\x32\xfb\x23\xa7\x7e\x85\xbe\x6f\x9a\x7c\xaa\x00\x58\xc5\xbb\x83\xe4\x63\x65\xfb\x2d\xbc\xbe\x81\x55\xb5\x26\x00\x9f\x3d\x59\xd9\x70\xa6\x19\x8c\xef\xb1\x4f\xe6\x36\x19\xe1\xfc\x08\x21\xce\xa2\xbb\x19\x2b\x68\x80\xe1\x94\xca\x71\x65\x72\x2e\x58\x23\x57\x95\xb4\x02\xe5\x7f\xbf\x43\x8e\x04\x4a\xa3\x53\xd2\x50\x0a\xf2\x46\xd5\xe4\xc7\x10\xfb\x20\xcf\x31\xea\x31\x44\x9e\x0d\x08\xd1\x15\x43\xc8\x6d\x40\x4e\x2a\xd1\xd6\x90\xb1\xe1\x50\x80\xdf\x61\xcc\xe7\xe1\x98\x61\xe3\xfd\x72\x8e\x4e\x90\x83\x10\x19\xfb\xce\x6a\xcc\xf0\xaa\x13\xac\x8c\x57\x9a\xc8\xce\xe1\x68\xf4\x87\x07\x87\x87\xbb\x1a\x8d\x6e\xe5\xe3\x4a\xb1\x31\x6a\xbf\x03\x5f\xe5\x92\xca\x34\x8e\x38\x8d\x9a\x96\xc6\xe7\x76\x6e\x29\x9c\x7d\x92\x89\xba\xa5\xfb\xb5\x7c\x06\x51\x75\x55\x48\xa5\x04\x9b\x8c\x46\x09\x26\xee\x86\x6d\x40\xa5\x6f\x33\x09\xd3\xdd\x56\x92\x1b\x7e\x96\x61\xf5\x26\x39\xb3\x7c\x57\x87\xe5\x3b\xe5\x21\xb2\xd2\xa2\x29\x8a\x8d\xad\x2d\x43\xd6\x21\x8e\x59\xfd\x99\x0e\x12\xd6\x88\x40\x37\xba\xdb\x23\xd0\x23\xa4\x31\x0b\xf1\x86\xc6\xa0\x9c\x91\xc0\x73\x02\x9c\x61\x5c\x14\x09\xe1\x80\xa8\x1a\xd1\x0d\xa1\x9a\xcf\x89\x08\x9d\x59\x42\x99\xd1\x48\x34\x5c\xa3\xe0\x55\x03\x87\x21\x00\xdd\x20\xfa\x4e\x00\xf4\x78\xba\xbb\x5a\x07\xa2\xab\x2c\xef\x37\xbc\x6d\x1b\x70\x33\x11\x54\xb8\xc2\x99\xd1\x16\x50\xc8\xbe\x58\xd9\x28\x34\xa1\xd0\x9a\xd3\x5c\x4e\xa8\xd1\x08\x4d\x80\x03\xb6\xec\x75\xd5\x7e\xfa\x26\x00\x04\x30\x3f\x13\x31\xec\x99\xda\x8f\xce\x18\x9d\xd5\xe0\xc8\xe0\x39\xb9\xaf\x2e\x8b\xa0\x06\x6a\x5e\xb2\xd0\xe5\x15\x52\x5b\x48\x05\xd1\x70\xeb\xbe\xc1\x5c\x55\xc8\x6a\xac\xa5\x62\x07\xbe\x71\xbb\xd0\xed\xc6\x39\x5a\x2b\x71\x03\x42\x5e\x81\xab\x6a\x32\x9b\x8c\x46\xe7\xf8\x32\x1b\x17\x97\xe7\x24\x89\x74\xed\x85\x09\x39\x57\x9a\xc6\xfd\xb9\xda\x56\xdf\x8d\x6e\x49\x22\x3f\xce\x10\x1d\xa0\x3a\x43\x44\x9a\x0e\x4d\xdb\x79\xb5\x30\xe6\xcd\x46\x0d\xee\x70\x9a\xc3\x6d\x69\x6f\xf1\x4a\x0f\x55\xdb\x3b\xc6\x2e\x77\x80\xfc\x8a\xd9\xd4\x8d\x6b\x87\xa6\xb1\xe1\xa2\x36\x4c\x2c\x62\x38\x25\x65\xff\x6d\x2a\x9e\x83\x1c\x63\xb6\xa9\x5d\x4b\xc6\xec\x6a\xb7\x0e\x4e\xa6\xe5\x30\x2e\x8a\xb8\x71\x23\x10\x4f\x24\xdd\xbe\xde\x1d\xb2\x26\x03\x02\x16\x2a\xd0\xa1\xa5\x98\x8b\x09\x30\x82\x98\x13\x47\x9e\x09\xc0\x0d\xd7\xba\xae\xc7\x5d\xe2\xf0\xc9\x2e\x81\xf5\x0d\x72\x0e\x58\xe3\x7c\xb2\x5f\x27\xd4\x6c\x01\xdc\x80\xf5\x9b\x23\xa4\x79\xae\x8a\x24\x18\x8d\xe0\x07\x93\x92\xaa\x4b\xe1\xa6\x46\x27\x8d\xc9\x71\xc5\x56\xa3\xd1\x13\x70\x6c\x21\x99\x90\x27\x38\x22\xee\x8a\xad\x8a\x22\xd2\x6d\xc2\xc4\xf5\xb5\x02\x68\x6d\xee\xae\xb4\x88\x29\x52\x72\x27\xfa\x92\xe3\x98\x90\x92\x36\x29\xb5\x7b\xcb\x18\x7c\x7d\x21\x32\xd7\xba\x0c\x75\xe7\x6d\x13\xd4\x16\x17\xa7\x4c\xf0\x28\x52\xd2\x2f\x99\x46\x10\xdb\x5a\xc9\x28\x53\xc2\xc1\x58\xf3\xc0\x0d\xf2\x3c\x22\xc7\x88\xbd\x94\xdc\x82\x1b\x55\x3b\x1c\x5b\x7b\x18\xde\x60\x52\x52\xd1\xae\xa6\x4f\x91\x89\x8a\x68\x54\x49\x03\xbe\x94\xbd\x15\x4b\x95\x60\xef\xa1\x7d\x85\x58\xdf\x55\x39\xc6\xfa\xae\x55\x88\xec\xf6\x98\x41\x9f\xb9\x71\xa3\x15\xf5\x9b\x2c\x20\x6e\x57\xa1\x11\xd0\x1d\x0e\x9f\x22\x53\x22\xa2\xb1\xec\x43\x6d\x98\xd8\x2e\x9e\x6e\xc8\x71\x23\x2b\xb0\x21\xfa\xc8\x61\xea\x67\x3e\x78\xab\x4f\x1d\x2a\x88\x23\xe0\xe4\x61\xf2\xcf\xfc\x2d\x9c\x3c\x34\x22\x4e\x24\x43\xc5\x76\x0f\xe5\x08\xa8\x57\x23\x40\x9e\x1b\x72\xe7\xd0\x3a\x36\x9d\x0d\xc4\x1a\x14\xa3\x09\xbe\x51\x1a\xa4\x4b\xfa\xfe\x6e\xaa\x4e\x11\x74\x40\xdd\xf5\xc9\x67\xac\x64\x65\x93\x90\x0b\x9a\x42\xcc\x9a\x3d\x17\xe9\x68\x54\x3f\x2f\x34\x36\x22\x52\x38\xba\xc8\x41\x1a\x22\x18\x2d\xd5\x12\x0d\xba\x2c\x3e\x88\xa6\xca\xce\x0a\xb7\x3f\x83\x58\x49\xa9\xb8\x6d\xd7\x99\xe8\x13\x13\x88\xd4\xb8\x3f\x84\x17\xe6\x1b\x34\xe3\xe6\x9e\xab\x2c\xf5\x34\xb8\x71\xd9\x22\x3a\x6d\x79\x09\xc4\xae\x8b\xc4\x9a\xc6\x04\xc9\x0e\x45\xa0\xc6\x84\xee\x62\xf3\x1a\xe9\x16\x3a\xf2\x12\x44\x68\x83\x0a\x9e\xfd\x2b\x13\xd7\x68\xee\xdc\x22\x6e\xad\xb9\x18\x5a\xa7\xc1\x0a\x48\x62\xfb\xe6\xab\x5a\x0a\x00\x78\x5d\xa9\x0c\xd7\xe1\x84\xd6\xcf\xda\x68\x31\xb4\x17\x08\xa4\xb3\xd5\x88\x1b\x5f\x65\x6a\x7b\x79\x99\x0c\x24\xa9\x85\x7d\xa0\xb5\xe4\x8b\x8c\x96\xef\xf4\xd7\x08\x7c\x86\xc2\xa8\xbb\xda\x06\x53\xb7\x2a\x2e\xc3\x89\x1f\x0b\x9e\x1c\xf6\xa0\xf9\x95\x81\x71\x25\xac\x2c\x2b\x7d\xa8\xc9\xbb\x2a\x7f\xa0\xef\xa8\x8e\x58\x43\xdf\x44\x34\x06\x5a\x3f\x30\x50\xc9\x60\x03\xea\xac\x60\x16\xae\x14\x45\x15\x29\x8e\x54\xb2\x21\xeb\x58\x2e\xaf\x67\x7e\xad\xe9\x68\x91\x5a\xe8\xb4\x72\xb6\xf4\x31\x5d\xbf\x55\xc1\x29\x52\xe2\xd4\x5f\x01\xca\x08\xcf\x9d\x1b\xf0\x26\x47\x40\xbb\xe9\xd3\x92\x9c\xaf\xe9\x4f\xa1\xce\xdf\x5c\x61\x23\x42\x07\xbf\x28\xe8\xa3\xf7\x63\x22\x29\x0c\x9e\x5d\x66\x63\x7c\x79\x3d\x26\x64\x7e\x7a\x4e\x4f\xef\x5e\xbc\x3d\x0e\x40\xfa\x8c\x06\xc9\xd1\x9f\x0f\xfd\xea\x54\x1f\x8d\x7c\x9b\xee\x79\xa2\x2c\x00\x17\xd3\x25\x71\x7c\x70\xe0\x01\x0e\x39\x6a\x3b\x98\x1d\x20\x00\xfd\xba\x0e\xf2\xd5\x78\x06\x9d\xc4\x03\x86\x2c\x87\xc6\xe7\x0a\xa8\xf6\xd4\x63\x47\xa4\xaf\x40\xcf\x64\x41\xc8\xe1\xc1\x18\xb9\x92\x48\xcc\x44\xce\x0e\x79\x78\xf6\x77\x54\xd2\x9f\x43\xd0\x0c\x2d\x7e\xbb\x3c\xe2\xf9\xf0\xf2\x48\xce\xe9\xbb\x90\x1d\xd1\x02\x39\xe7\xcb\xd3\x73\x8a\x8e\xc8\x39\x2f\x4f\xcf\x4b\xfa\x16\x62\x92\xcb\xe5\x65\xf9\x80\xce\x2f\x93\x73\xba\x8b\xa0\xfb\xc0\xd3\x03\xa1\x2d\x9f\x3d\xed\x86\x1b\x1f\x5a\xbb\x08\xa3\x58\x44\xdc\xbf\x05\xdb\xad\xb2\xa4\xaf\x38\x0b\x80\xb5\xce\x45\xba\x07\x35\x83\xd7\xeb\xe4\x79\x9a\x6a\x69\x44\x15\x8a\x88\xfb\x8a\x4f\x20\x97\x37\x3b\x25\x3f\xeb\xf1\xd1\xf5\x8a\x4b\xf2\x4e\x7d\x56\x25\xc8\x54\x90\x4d\xca\x7a\xf7\x92\x57\xe0\x23\x49\x7e\x47\x00\x07\x69\xd3\x8c\x8a\x33\xdf\x83\xfb\x94\xc5\x6f\x97\xf3\xff\x5a\x3e\x24\xf8\x72\x8e\x17\xbf\xc9\x27\x32\xc7\xff\x85\x27\x0f\xd5\xd4\xf8\x10\xb2\xa3\xec\x0a\xe7\xef\x53\x0a\xde\x0c\x9d\xef\xbe\xfb\x96\x86\xf9\xde\xf9\x66\x56\xd2\x67\xa0\x00\x57\x3b\x3d\x20\xf4\x73\xc4\x8e\xa7\xa7\xab\x7c\x1b\xff\xc5\x19\xce\xa8\x24\xc3\x41\x0e\x21\x5f\xb8\x97\x7d\x4c\x63\xe7\xb9\x87\x25\x9d\x09\x2f\x88\xd0\x43\x1a\xb7\xbd\x86\xd8\xd7\xbe\xc6\xcf\x59\x1a\xbb\x8a\xdf\xd8\x6b\x60\x2a\x4e\x5c\x90\x80\x68\x2b\x64\xb0\x8e\x93\x71\xf7\x3c\x5f\xe1\x1e\x30\x6c\x19\x97\x40\x9a\x6f\x96\x45\xd1\x97\x52\x21\x8f\x63\x7f\xf1\xad\x42\x7c\x54\x94\xf1\x8a\xcb\x33\x0f\xc0\xc9\x50\x93\x98\x2e\x6b\xf0\x73\xd5\x26\xf3\x8a\x88\xc2\x38\x57\xa1\xf2\x11\x11\x05\x40\xae\xe3\xed\x52\x08\xe1\xf9\xca\xf9\x3d\x80\x10\x9e\xaf\x9a\x4b\x8c\x33\xed\x64\x1f\x54\x01\xaa\xb1\x73\xaa\x0b\x7f\xc0\x2e\xb7\xc1\x8b\x38\x00\x95\xf3\x92\x18\x50\xf5\x96\xfc\x50\xa3\x0a\xb5\x79\x17\x8d\x2e\x34\x75\x9a\x1d\xae\xf2\x50\x00\xb0\x33\x47\x43\x2b\x15\xc5\x2f\x72\x68\x78\x43\x4e\x45\x1b\x29\xd8\x2d\x0c\x8d\x51\xc3\x78\xaa\xe2\xaf\x38\xe6\xf4\x58\x12\xda\xb0\x59\x02\x2a\x53\x29\x5f\xf8\x16\x36\x83\x58\x96\xed\x4c\x35\xc2\x93\x5a\x0c\xcf\x3c\x8c\xd6\x59\x2a\x5b\x1e\xa1\x36\x02\xf3\x15\x00\x9d\x69\x8d\x0e\x7f\x6e\xc9\x2c\xab\xdc\x16\x7c\xe9\xb4\x03\x98\x5f\x1a\xfe\x08\xac\xf2\x05\x6e\x0d\x35\x40\xcf\xab\xc1\x92\x8f\xbd\xfb\xe1\x5d\x23\x56\x12\x73\x7b\xda\xa1\x22\xaa\x05\xc2\x6a\xf4\x5f\x75\xdd\xee\x6e\xf1\x62\x1d\x50\xdf\xa7\x9e\xbf\x6c\x09\xf7\x6a\x22\xa9\xc9\x5c\x7f\x8e\x88\x6b\x7d\x05\x2f\x28\x82\x0d\xec\x7d\x7a\x1d\xe2\x61\x67\x0a\xb4\x86\x5e\xa6\x02\x81\xe6\x90\x31\xcf\x2f\x0a\xe3\xd1\x16\x96\x35\xa9\x07\x21\xd9\x41\x54\x54\xb9\x50\x57\xe5\xc9\x21\xd0\x1a\x1f\x6d\x0d\x02\xb9\x84\xff\x0d\x7b\x86\x72\x66\x46\xe8\xc7\x90\x19\x8d\x6d\xab\xe2\x3e\x8f\x63\xfa\x4b\xef\x27\xb8\x20\xa0\xbf\xf6\x7e\xf3\xd6\x49\x40\x5f\x79\x2c\xe4\x98\xb8\x5b\x8c\xc6\x27\x67\x27\x0f\x4f\xce\x4f\xfe\xfb\x84\x31\x76\x32\x64\xec\x04\x7e\x4e\x2e\x4e\x1e\x9d\x5c\xb0\x93\x47\xec\x64\x34\x3a\x29\x8a\x93\xe1\x09\x3b\x29\xfa\xf5\xf8\x38\x39\xbe\xd2\x2a\x4f\xba\xfe\x69\xc4\x8e\x89\x83\x2e\x13\x44\x43\x07\x5d\x86\x88\xa6\x0e\xba\x4c\x11\xcd\x1d\x74\x99\x23\x7a\xe5\xa0\xcb\x2b\x44\xd1\x03\xe4\xa0\x07\x88\x3e\x40\x0f\x9c\x07\xe8\x41\x49\x85\xdf\xf5\x38\xa9\xb5\x6c\x18\x2f\x5d\xe1\xdb\xb4\x2f\x18\x6e\xa6\x07\xd0\x3a\x13\x3e\x8d\xc5\x4d\x97\x12\xce\xc5\x4d\x6e\x60\xe4\xd7\xda\x38\x5e\xf2\xe0\xea\xe3\x6e\x23\x92\x8c\x0d\x8c\xc0\x11\x22\x5c\x54\xe9\x0c\x83\x4e\xe4\x30\xb3\x3a\x58\x6f\x27\x75\x12\x42\xc1\xae\x9f\xf1\xa2\x40\x0f\xd4\x76\xa9\x85\x37\x3c\xd0\x53\xdc\x5a\xee\x2a\x5d\x56\xa1\xd8\x15\x05\x9a\x68\xef\x4f\xcd\x4f\x6a\xab\x16\x62\xa3\x44\x18\x3a\x43\xfd\xb1\x93\xdf\xcb\x40\xb9\x33\xa8\x63\xaa\x90\x4e\x44\xcc\x29\x92\x8c\xc4\x62\x39\xa1\xae\x33\x47\x3a\x85\xea\x0c\x0d\x50\x06\xcd\x72\xea\x16\x2a\xd5\x2d\x6e\xf6\x1c\x08\x1b\x8f\xdb\x39\x83\x8f\xd4\x6c\xcf\x7d\x51\xd5\xc3\x8e\x69\x14\x3f\xc6\x56\xc3\x68\xc0\x7c\xeb\xfd\x1b\x42\x05\x7b\xe5\x2d\xe4\x6a\x96\xbf\xc1\xd2\x7d\xa5\x94\xe0\x44\x51\x84\x73\xcc\x59\x38\x0f\x1c\x31\xf7\x1d\x7d\xf3\xf2\x35\xb5\xa6\xbb\xbd\x48\xb9\x9c\x25\x72\x7e\xda\x2d\x60\x83\xea\x3e\x42\x25\x83\x75\xfb\x3c\x4d\x77\x29\x46\x1f\x13\x71\xb3\x57\x8a\xb4\x89\xb8\xc9\x4f\xe4\xb0\x73\x3f\x17\xe9\x09\xa2\x76\x19\x75\x76\xb3\xca\xe8\xd6\xaa\x5b\x49\xd7\x59\x2f\x2b\x03\x96\x1b\xb5\xab\x75\xc9\x85\xc8\x3e\x68\xca\x52\xe4\x9c\x9a\x35\x38\x25\x55\x14\xef\x4c\xd3\xf9\x3d\x13\x74\xcc\xc1\xef\x09\x35\x53\xab\x87\xc7\x41\x53\x74\x21\xa7\x20\xfa\x07\x7a\x04\xbf\x35\xae\x9b\xb9\xd8\x91\xe9\xeb\x21\xee\xcb\xe3\x04\xe9\x55\x70\x99\x56\x4f\x79\xf5\x94\x54\x4f\x57\xd5\xd3\x61\x3a\xe5\x53\x78\x83\x5b\xdb\xa0\xff\x5a\x1e\x71\x5d\xb9\x3f\x64\xe5\x8a\x02\x3d\xd6\xef\xff\xd6\xef\x9f\x4c\x86\xa7\x55\x5e\xcf\x6f\xf6\x3f\x99\x71\xef\xc9\xf1\x0c\x69\xcc\x7f\x40\x41\x94\x69\xdb\xeb\x52\x72\xa1\x66\x36\x74\x6e\xd6\x03\x16\x98\x14\xb2\x83\x5d\x9f\x3d\x96\x3b\x3a\xca\x4e\xd0\xd8\x1f\xa3\x33\x34\xb6\x7a\x1f\x9d\x2c\xf4\x3b\x0c\x4f\x0d\xf2\x21\xb3\x1a\xa3\x25\x72\xd0\x09\x1a\x07\xda\x91\xc3\xbf\x25\x99\x7c\x03\x44\xa9\x2c\xac\x4a\x47\xdc\x92\xd6\x1b\x40\x43\x8f\xd2\xa8\x29\x33\x84\xa8\xcf\xac\x6a\xdd\xbb\xad\x69\xe1\xc2\x0b\x7c\xdf\xd6\xa6\xa0\x1d\xe5\x06\x15\xb4\xbb\x28\x20\x84\x8f\x59\x50\xaf\x6d\xe5\xec\x5f\xaf\x6c\x48\x27\x10\x68\x68\xe9\x74\xd6\x90\x60\x61\x25\xb6\xb6\x10\x3b\x4a\x40\x46\x23\xd1\xde\x14\x05\x19\x8d\x20\xdb\x8a\xac\xe3\x16\x4e\x4a\x23\xcb\x61\x6f\x9e\x45\x31\xe8\xc9\xb4\x28\x90\x40\xc3\xfe\x4c\x15\xf1\xa4\x89\xab\xd6\x26\xf1\x52\x99\x6a\x9e\x88\x1b\x45\x42\x23\xed\xc2\x44\xef\x7b\xe5\x5d\x9b\x94\x6f\xf6\x26\x03\x48\xe0\x0c\xa7\xca\xcd\xaa\x53\x4f\x40\xa2\x06\xbc\xb5\x2a\xec\xf1\xfe\x53\x43\xed\xdf\x7b\x86\xb9\x56\x8f\xa9\x93\xc3\x27\xa3\xd1\xb0\xd9\x51\xbe\xe9\x8d\xaf\x6a\x24\x57\x8d\xb4\x66\xbe\x86\x42\xb5\x8f\xce\xb5\x2c\x6b\x1d\xae\x85\xda\x9e\x55\x93\xdb\xb6\x19\x8d\x9b\x94\x4e\x83\xc7\x63\x4b\x17\x0c\x21\x2a\x18\xa7\x21\x1b\xce\xbe\xa2\x4f\x56\x6c\x70\xef\xc1\x2e\x98\x18\x83\xa2\x6b\x48\xd0\x01\xb0\xa0\xe6\x38\x64\x7d\x6b\xd9\x3e\x07\xec\x43\xe1\x2f\x84\x1a\xdf\xee\xe7\x8b\xcb\x80\x9f\x85\xcb\xe3\x77\xe5\xf9\x9a\xe8\xe5\xd4\x37\x9b\x0e\xc9\x5a\xf2\x66\x27\x22\xf3\xf9\x5e\x9c\x2c\x2e\x2f\x0f\x68\x1c\xca\x9d\xa2\x79\x7c\x7d\x47\x83\x31\x53\x7d\x05\x52\x96\xa7\x2b\x9e\x3e\xdd\x05\x02\x03\xe5\xf8\x32\xc9\x71\x48\x67\x7f\x25\x84\x38\xc1\x98\xa5\xd1\x62\xb5\x2c\x8a\x95\xea\x9a\x0a\x98\xf3\xf2\x52\x79\xcb\x08\x25\x75\x0d\x4b\x79\x1d\xe2\x95\xc2\x27\x68\x74\xf1\x17\xa6\xb2\xe8\x99\xca\x41\x25\x43\x2a\x83\x31\x5b\xf5\x2d\x8d\xc6\x81\x9b\x8b\x74\xbb\x4e\xb8\x3c\x72\x3f\x1f\x76\xb9\x40\x00\x89\xeb\x2a\x88\x83\xe6\x19\x9a\x2b\xbd\x95\x9b\xda\x4b\x90\xa1\x13\xfd\xd2\xcd\x26\x6f\xd3\x5d\x94\xf2\x2d\x43\xfa\x01\xb9\xd9\xe4\xf9\xcd\x3e\x15\x59\x06\xda\x34\x3c\x87\xfb\x11\x36\x40\x3d\xa1\x32\xf2\xe3\x2c\x5b\x47\x89\x7c\xab\x23\x30\xd4\x17\x2a\x63\x3f\xdd\x25\x01\x80\x94\xf1\xd8\x8e\xde\x1b\x2c\xe3\xbf\xda\x45\x6b\xbf\x19\xb7\x13\x24\xe3\x3d\x59\x27\x3c\xbd\xb5\xa3\xb5\x43\x64\xac\x8f\xed\x48\x1f\xbb\x71\x9e\xf2\xb8\x59\xb5\xc6\xbb\x8c\xf1\x5a\xc8\x25\x6e\xc7\x69\x87\xc8\x58\x2f\xab\xe5\xca\x50\xfd\x0c\x6d\x52\x8e\x85\x19\xd2\x0f\xd0\x8b\x69\xca\x1b\x35\x6b\x05\x20\x35\x54\x60\xad\x0d\x63\x05\x4f\x32\x54\x31\x6d\x76\xd2\x76\x88\x8c\xf5\x61\x05\xdb\x7b\x15\xa7\xf9\x2e\x63\xbc\xf9\x1e\xb0\xbe\xde\xf2\x94\x6f\x45\x2e\x6b\xdd\x0e\x41\xee\x20\xb3\xd9\x0a\x9e\xe5\xf7\xf3\x11\x9a\x6d\xa8\x67\xa0\xfc\x0b\x5a\xc3\xfa\xfc\x53\x53\x0e\x13\x77\x3a\xd4\x7a\x65\x7a\xd9\x98\x9b\xd0\xce\xd4\x5f\x67\x27\x3c\x39\x39\xd4\x14\x27\x24\x40\x36\x8d\xbb\x98\xd6\x0a\xef\x1c\xc4\x2a\xb2\x90\xfe\x63\x61\xb1\x74\x81\x6b\x99\x5e\xf4\x95\x3e\xac\x4f\x69\x54\x22\x8a\x08\xa2\xc8\x45\x54\xee\x2e\xa3\x91\xbe\xc0\x80\x28\xa2\xbb\x34\x30\x21\x74\x68\x3e\x82\x47\x3e\x17\x19\x39\xd4\x11\xd4\xe1\xaa\xb5\x47\xbd\x5d\x70\xeb\xf0\xb2\xa4\x3d\xf9\xf4\xc0\x1f\xeb\xd4\x3d\xeb\xd1\xca\x40\x1d\x26\xca\x45\xd4\xd3\x15\x5f\x27\x18\x34\xe0\xea\xf7\x7b\xce\xc9\x3a\x17\xac\xb9\x71\xd3\x86\x02\x11\x97\x70\x7d\x14\x68\x57\xb0\xdc\xee\x6d\xab\x02\x5d\x4d\x2d\x48\xc5\xab\x9d\x01\x93\x92\xd6\x6f\x6d\xfb\xc2\x8a\x91\x4c\xe5\x1a\x6d\x57\x84\x21\x85\x9d\x6e\x3a\xa3\x6f\xbf\xa1\xb1\x08\x25\xe5\x90\xae\xa3\x95\x3e\x5c\xed\xc2\x6b\x6e\x07\x31\x54\xda\x8d\xd0\x65\xde\x51\xa3\x58\xed\x3f\x3f\xbd\xc3\xe0\xfc\xa9\xc1\x73\x98\xea\xcd\x91\x02\xaa\xeb\x74\xa7\x9a\xa8\xf2\x00\x38\x6c\xc1\x04\x9b\x90\x39\x0e\x7a\xe2\x99\x86\xf5\xee\x8c\x34\x17\x99\x6c\x19\x8f\xa1\xaa\xb9\x70\x7c\x38\x54\xc4\xe7\x83\xec\xc9\xa0\x24\x0e\x2f\x69\x55\xd1\x7b\x86\x5a\xc7\x79\xfc\xe6\x59\x67\xa8\xf5\x58\x9b\x8a\x74\xb6\x5d\x3a\xa8\x3b\xb0\x28\x50\x4f\x6f\xdb\x99\x97\x56\xff\xd6\xe1\xf7\x4d\xc2\xcf\x07\x1e\xaf\xf3\xce\xc8\x8f\x46\x5f\xaa\x57\x5d\xad\xd1\xa8\xaf\x5a\x75\xce\x76\xa5\x4c\xe8\x3d\x55\x02\x3b\x0c\x18\x0a\x39\xf4\x6e\x3d\xbc\x6a\x4a\x32\x44\xd1\x50\xfe\x61\xfa\x91\x35\x6b\xda\x3e\x91\xea\x8a\xfa\xb0\x6d\xf6\x54\xd5\x2e\xd1\xae\x6c\x1d\x7e\x4f\x75\x79\x20\x67\xce\x95\xe8\xab\xec\x05\xa2\x08\x6c\xa0\x65\x4d\x1f\xfd\xd9\x8a\x0e\x7a\x56\x56\x55\x98\x5d\x4f\x13\x7a\x4f\x2d\xb5\x11\x19\xdc\xcd\xf4\xd7\x75\x8c\x00\xcf\xe7\x7f\xd9\x95\xed\x72\xec\x6a\x36\xbf\xdd\x53\xd9\x83\xda\x8b\xba\x75\x7c\x88\x28\x3a\x47\x14\xfd\xf7\xff\xba\x9e\xba\x08\xbb\x7a\x87\xde\xdd\xc8\xad\x34\xf1\x7b\x7a\x8b\xa2\xa1\xdc\x5a\x4c\x3d\x3e\xde\x55\x0d\x65\x69\x47\xf7\xca\xcf\xf9\x70\x4a\x8d\x38\xb7\x59\x19\x47\x9f\xd7\xeb\xad\x7a\xa7\x03\xfd\xdc\xad\x55\xa3\x32\x18\x91\xb9\xa9\x60\xe3\x2c\x6a\xed\x83\x04\x11\x2d\x58\x32\x29\x17\x88\xcc\xcd\x3c\x96\xa4\xd0\x33\xe1\xc7\x3c\xe5\xaa\xa8\x66\xd4\x63\x1d\x55\xc1\xb7\x98\x08\x86\xce\xce\xda\x78\x3b\x16\xf7\xad\x24\x06\x73\xb8\x55\x68\x26\x5a\x34\xaa\xa8\x22\x2e\x75\xce\x3a\x6d\xcd\x92\x99\x0a\xd4\x21\xb8\x19\xd5\x64\x6b\x22\x9a\x77\xdc\x23\x50\x4b\x76\xf9\x09\x3f\xd1\x3d\x7c\x52\x1f\x0b\x9a\xcc\xd1\x92\xce\x8a\x95\xeb\x4c\x46\x8c\x28\x5a\x20\x8a\x26\x72\x32\x22\xac\x20\x78\x65\xf5\xe7\xd6\x89\xd9\xa4\x6b\xa9\xcf\xe3\x58\x08\x79\xa6\x18\x79\xbe\xae\xbe\x64\x90\x1e\x9b\x30\x18\xfa\x9e\xa1\x43\x8b\xfe\x42\xda\x84\x31\x55\x03\x04\x2e\x17\xd4\x58\x38\xdd\xa3\xcf\xdf\x6d\xf7\x87\x5c\x04\x92\xcd\x6d\xcd\x93\x25\x14\x36\xb1\x0a\xfb\xf3\x65\xd9\x43\x64\x95\x35\x2b\xbb\x03\xf1\xf2\xf5\xdb\x9f\xde\xbf\x7f\xf9\xe4\xd5\x73\x64\xd3\x07\x6a\x26\xb7\xe4\x8f\x0b\xbe\xac\x47\xe4\x0b\xbd\xdc\xad\x47\xdd\xeb\xdc\x64\x3f\x9c\x96\xcd\xc5\xe4\xc0\xde\xd2\x4b\x76\x5a\x5a\x22\x3e\x58\xed\x58\x63\xd6\x25\x63\x94\x86\x39\x22\xc8\x50\xdd\x72\x46\x7d\x90\xb4\xaf\x59\x0f\xc7\x60\x77\x72\x77\x49\x83\xeb\xd5\x3a\x16\xb8\x51\x39\x8a\x88\xe5\x1f\xc9\x16\x56\xf4\x53\x51\xd5\xba\x72\xb9\xd5\x13\x3d\xac\xfe\x3a\x3b\x51\xeb\x41\x71\xfc\x75\x5c\xb8\xba\x6e\x92\xc4\x35\x9f\x45\xc1\xd9\xb2\xda\xdd\xca\xb2\xe6\xb8\xef\xa4\xa6\x35\x2f\xa6\xf9\xf1\xd6\xd2\x57\x16\xc6\x25\x6d\xef\x44\x77\x76\xed\xf2\xde\xae\x3d\x1a\x31\x9e\x62\x2d\xe4\xa4\x56\xc2\xa2\x3b\xbb\xbc\xbc\xab\xc7\x3b\xcb\xa3\xd5\x23\x2d\x36\x92\x6a\x80\xbb\x0c\xd8\x0d\xbd\x40\x7a\x1a\x41\x01\x9c\x19\x95\x7f\xa6\x19\x65\xd5\x8c\x41\x3d\xff\x2b\x84\xb1\xcd\x3a\x09\x1c\xb4\x4e\xd6\x39\xd2\xd3\xba\xbd\x31\xfa\x93\x8d\xb8\xed\xdf\x1c\xbb\xdb\xad\x15\xb9\xbb\xe5\x36\xa6\x8f\x96\x14\x6d\xc4\x6d\x6b\xfb\xec\x50\xe2\xae\x76\x27\xd2\xc3\x04\x19\x6d\xb5\xaf\x1d\x88\xb2\x33\x10\x6d\xa6\xdc\x6c\x4a\x6b\xa1\xc6\xe2\x0e\x11\xba\xd1\xd9\xf8\x37\x46\xd9\x6d\x92\xf3\x1b\x44\x35\xe5\xc0\xa9\xdf\x94\xa2\x41\x68\x9f\xc0\xcd\xaf\x24\xd4\x6a\x21\x1c\xb6\xa2\xad\x24\x51\xd9\x75\x35\x38\x60\x52\x95\x7d\x10\x3b\x81\x6c\x09\xbb\x25\x64\xd4\xdd\xc0\x89\x3b\xf0\xfb\xd7\x6f\xcd\xae\xd3\x13\xf5\xb4\x4e\xa2\x93\x05\x1a\xf3\x31\x5a\xb6\x46\xc5\xda\xc5\xcc\x94\xb3\x27\xe8\x7f\x52\xd7\xee\x55\xd3\x62\xba\xec\xdc\x21\x19\x3c\x5c\x3b\xb6\x8c\xf2\x78\x25\x78\x80\xa7\x15\x60\xae\x4a\x08\xa1\x9d\xd4\xda\x5e\xbd\x5b\xbb\x47\x70\x44\xd8\x35\xe0\x4b\xe3\xf1\x08\x6a\xe9\x6a\x59\xa2\x5f\x14\x2b\x65\x23\x2e\x7f\x84\xfa\x09\x8b\x62\x88\xfd\xa2\x08\xd4\xed\x5e\xa5\xce\x62\x80\x61\x87\x33\x60\xbc\x1b\x6b\xb9\xd5\x1e\x43\x84\x41\x37\x9b\x6f\x64\xde\xa8\xaa\xc1\x3c\xd7\x77\x60\x15\x21\xe4\x1c\x51\x9e\x1e\x04\x72\xfa\xf7\x4a\x79\x4a\x0f\x34\xd8\xff\x5d\x51\x66\x25\xd5\xee\x7a\xfb\x23\x28\x53\xd1\x43\x12\x88\x70\x9d\x88\xe0\x8e\x58\xd7\x25\x45\xb2\xc2\x75\x2e\x4d\x31\x56\x59\x96\x6e\x16\x34\x6f\xbe\x41\x2f\xae\xd7\x96\x57\xe6\x44\xf5\x62\xe7\x59\xfe\xe4\xb0\x8e\x03\x91\xca\x47\x39\x97\x21\x58\xa9\x20\x1c\x13\x71\x93\xbf\x0c\x9c\xa9\x3e\x99\x33\xe7\xa8\xfa\x3b\xc9\xd6\x57\xe2\xe9\x4a\xf8\x9b\xcc\xf1\x69\x98\x38\x32\xe7\xcc\x59\x2c\x95\x44\x67\xb1\xa4\xbb\xeb\xc4\x39\x96\x46\xcc\x71\xf7\x77\x80\x09\x92\x5f\x4a\xf7\x23\x16\x34\x98\x9c\xaa\xa2\x8c\x49\x02\x42\x74\x55\x55\x29\x12\x0c\xa9\x0c\x91\x9a\x36\x9f\x03\x2c\xf4\x35\x32\xd4\x78\xa2\xa8\x9a\x75\x12\x55\x11\xa9\x96\xc5\xab\xa6\x18\xfa\x3b\x15\xfe\x21\xcd\x04\x5e\xd1\xb0\x0a\x91\xb3\xe5\x13\x0e\xc1\xd6\x26\x4c\xb4\xc4\x84\xe9\x6b\xb9\x48\x24\x92\x71\x10\x35\x2e\x9e\xc9\x7f\x80\x32\x7a\x45\x63\x44\xdc\x15\xdb\x05\x58\x80\x52\x1e\x71\x03\x53\x61\xd5\x42\xd4\x72\x1e\x62\x46\x43\xc8\xb2\xd0\xd8\x57\xf1\x73\xb1\x10\x4b\x76\x57\x67\x99\x38\x56\x2b\x85\xb1\xdc\xa8\xda\xe7\x06\x55\xe3\xc0\x82\x27\xb0\x5a\x56\x65\xa0\xea\x64\x00\x0f\x5c\x3e\x01\x38\xdd\x97\x00\x0d\xe0\xf6\x77\x67\x98\xa0\xc6\x38\x6c\xf9\xda\x84\x98\xf2\x04\x71\x43\xf6\x00\x3d\x50\x3d\xf6\xf1\xfd\xf3\x31\x3a\xd1\xdd\xf7\xfe\xc3\xbb\x97\x4f\x3f\x8c\x1f\x20\xf7\x32\xd1\xdf\xd5\x38\xbf\x05\xfe\x0b\x93\x31\x82\x86\xdc\xd3\xdf\x61\x82\x28\xca\x68\x4c\x39\x5d\x23\x32\x0e\x55\x3c\xa8\xf8\x8b\x24\x93\x39\x18\xb5\xc2\xc4\x45\x6e\xa8\xfc\xa4\xd6\xc9\x4f\x8d\xcf\x7e\x24\x92\xec\x90\x8a\xf7\x3c\x14\x8a\x70\x7e\xc3\xb7\xa2\x11\xac\x4e\xac\x46\x90\xc9\x07\x51\x14\x89\x5c\xdd\xa7\x80\x8c\x58\x8e\x7f\x1d\x4d\x09\xe3\x40\xb5\xf2\x46\x66\xb0\x0e\x9f\xa9\x75\x8d\x28\xda\xc7\x87\x0c\x51\xa4\xbe\x84\x84\x68\xab\x14\x55\x2d\xfa\x4f\x4e\x9f\x70\x1a\x07\x74\x13\xd0\x6d\x40\xff\x19\xd2\x24\xa0\xcd\xd5\x68\xf5\xfe\xb5\x1b\x4e\x62\x2d\x4c\x4f\x03\xe8\xf8\x8a\x74\x60\xa2\x7a\xac\x74\x8e\x4b\xfa\xf1\xfd\x73\x07\x1d\x32\x81\xa8\x1a\x0a\x47\xdb\x4c\x22\x6a\x7a\xb0\x9f\x1a\x62\xd6\x6c\x50\xb3\x86\xaa\x0d\xc4\x6d\x1b\xb4\x69\x4a\x01\xc6\x11\x6e\xb8\x19\x1a\x07\xdd\x71\xf4\x29\xca\x10\x80\x3a\xd7\x16\x54\x26\x69\x98\xe8\x32\xd8\x02\x8d\x7d\x83\x9a\x06\xa0\x69\xae\xad\x40\x5f\xb9\x1a\xa6\xed\xec\x7b\xd5\x28\x2a\x1b\x54\x0c\xf5\x22\x47\x3d\xc7\xe4\x32\xd3\xf3\x8f\x13\x15\x24\x57\x9c\x7c\x41\xa5\x8b\x0c\xbb\xa3\xa2\x74\xbb\x67\x50\xf5\x8f\x46\x83\xd3\xdd\xa4\xf7\x4a\xda\xb4\xc7\xd2\x6d\x0c\xc6\x88\xe9\x31\x97\xb5\x99\xa8\xfb\x3b\x2c\xc8\x58\xf2\x93\x96\x30\xb6\xb2\xd4\x53\xfd\xc9\xed\xde\x70\x91\x83\x50\x49\xeb\xfa\xdf\xa9\x91\xae\xf6\x14\xbe\x84\xb6\xb6\xb2\xec\x89\xd0\x2d\x03\xb6\xa0\x2f\xe6\x2e\x63\x59\xa3\xa2\x37\x84\x1e\x2a\x81\xae\x34\x1c\x04\x8d\xe9\x46\x1d\x44\x09\xdd\x2b\xff\xad\xb7\xc6\xc7\xf9\x63\x5c\x6d\x48\x84\x80\x13\xe7\x9e\x1d\x7c\x1d\x7e\xc2\x68\xad\xc9\x9d\x98\xff\x71\xab\xd6\x1e\xf6\x0d\xe3\xac\xd8\x5b\xb5\xc4\x21\xa6\x95\x69\x9d\xea\x5d\xb5\x57\x9a\x1a\x82\xd3\x54\xb8\xfb\x34\xaa\x9e\xca\x63\x91\x52\xf0\xac\xee\x2e\x9c\x2d\xe6\xd0\x6e\xcb\xbe\x14\xf4\x3e\x36\xd5\x7e\xe8\x5b\xa4\x34\xbd\xa6\xd7\x2d\x37\xac\xbc\x24\x6e\x00\xd0\x11\xd0\x7d\x46\x9b\x60\xbe\x99\xf8\x87\x54\x19\x1e\xa9\x2f\x30\x71\x62\x8a\x5c\x44\x9c\x4d\xb5\x9d\xc7\x72\xb6\x28\xb6\x43\xd7\x4c\xd3\x0c\xce\x5e\x93\xa7\x6a\x6a\x69\x6c\x29\xbd\x95\x70\xd3\x4b\x7b\xe2\x0a\xbc\x6f\xe5\xd0\x92\x96\x39\x8d\xed\x9d\x4f\x0c\xaf\x7e\x47\x63\xf6\x8c\x4f\x8c\x7c\x6d\x8c\xb0\x51\x70\x31\x7b\x20\x8e\xe9\x14\xa6\xf9\xd7\xd4\xa4\x2d\x3f\x6c\x57\x25\x16\x61\xb7\x1a\x11\x54\xa3\x15\x13\x24\x8c\x77\xd6\x58\xeb\xf6\x54\xf5\x56\x3a\x52\x72\xaf\xc6\x11\x8d\x89\xa3\xb4\x80\xda\xdf\xeb\x36\x45\x74\x30\x25\x63\xab\xdd\x3d\x6d\x76\x64\x5f\x44\xb2\xe5\xe3\x56\x07\xc5\x5f\xdb\x1d\x1d\x59\xbf\xd3\x5d\x17\xee\xa6\xdd\x3f\xbe\x0c\x83\x85\x32\x1a\xb5\x9a\xe1\x3b\x9b\x49\xb2\xcb\xb1\x4f\xe8\xa6\xb9\x10\x74\x87\xf9\x72\x15\x80\xdb\x20\xbb\x1e\xbd\x97\x32\x5f\xaa\x4b\x2e\x32\xab\x2e\x7e\xa7\xc0\xea\x32\x87\xf6\xd4\xa6\xbe\xdd\xb9\xa3\x4a\xb5\xe8\xa3\xaf\x1e\x01\xa0\xc1\xfb\xea\x44\xae\x88\x31\x30\x9e\x84\xa3\x74\x8e\x32\x64\xdf\x90\xe1\x9e\xad\x26\x12\xf9\x0f\x4d\x31\x2a\x8a\x11\x1d\x28\x1c\x02\x32\x46\xf3\xd8\xc9\x10\xa1\x41\xb5\xe9\xb0\xe1\x8c\x06\xf0\x55\x83\x15\x10\xf7\x9f\x1c\x9b\x47\x3d\x24\x9d\xaa\x14\x85\x1a\x92\xcd\x1d\x05\xea\xf4\x0d\x9b\xc1\xbb\xf3\x42\x59\xc3\x15\x5a\x38\x1a\xcd\x86\x8c\x85\xa3\x91\x4a\x62\x8a\x4a\x76\xc9\xd3\xd6\x56\x99\x59\x45\x6d\xec\xad\xf5\x0b\xb1\x29\x3a\x96\x88\xc8\xf6\x55\x73\xf9\x4b\xf9\x03\x10\x15\x38\x94\xb0\x37\xf0\xde\x54\x56\x07\x10\x17\x6f\xf4\x59\xdb\x62\x46\x8a\xe2\x85\x67\xfa\x99\xc8\x7c\x79\x10\x3c\x6f\xd1\x75\x72\x02\x75\x67\x51\x5b\x86\xea\x44\xac\x39\x75\x1a\xf3\x82\x14\xc5\xa0\x39\xcf\xbe\xb0\x04\x94\xc0\x89\x46\xf6\x2e\x64\x46\x0f\x86\xe2\xcd\x21\x8e\x71\xd4\x18\x5b\xc0\xc2\x30\x53\x8a\xc4\x6c\x53\x4f\x4b\x3b\x6b\x23\xe3\xa5\xb1\x0c\x6f\x52\xa7\x18\xc2\x1a\x9d\x50\xd3\xbc\xf2\xe3\x5d\xd3\xa2\x75\x7c\xca\xad\xb0\x33\x19\x7a\xe2\xe8\x29\x40\xf7\x6c\x33\x69\xd3\xd3\x77\xe7\x6a\x6d\x7d\xd4\x74\xba\x59\x48\x53\xb3\x90\x8c\x1f\x3b\x58\x48\xa6\xcd\x7a\x45\x7d\xfd\xe4\x8e\x68\x3b\xf1\x57\xcc\xf1\x6e\x22\x3a\xd0\x73\x7d\xcf\xbe\x2e\x81\x42\x2c\xb8\x6f\xce\xb6\x6a\xd5\xdb\x83\xfb\xc6\xe2\xda\xd7\xbb\x5b\xcf\xb6\xd3\xcc\xcf\xc6\x00\x92\xf3\xae\xca\x04\x55\xa2\x07\xa0\x3e\x01\xdb\x81\x0e\x87\x61\x7b\xdf\x6f\x48\xf3\xfb\x36\x5a\xae\xe9\xde\x39\x80\x2f\x18\x0d\x89\x89\x92\xfb\xeb\x5e\x4b\x18\x40\x68\xd4\x84\x44\xd6\x83\x84\xb0\xe9\x5d\x41\xf2\xfc\x48\x2a\x59\xa4\x9c\x61\x31\x9c\xa0\x89\x4d\xb3\x12\xd4\x9a\x4d\xe0\xba\xdf\xc1\x8d\xb5\x13\xb1\x63\xa9\x6a\x62\xaf\x22\x55\x4f\x1a\xd3\xe8\xbe\x05\x1a\x13\x8b\xda\x83\x7e\xb4\x97\x56\xc5\xe3\xc4\xc4\xbd\xbb\x95\x76\xa3\xac\x6a\x35\xc9\x13\xdd\xd4\x9e\x39\x00\x9e\x96\xc0\x35\x9a\xec\xd3\xf9\xdd\xb3\xaa\x7f\xf3\x8b\xcc\x86\xa6\x16\xe9\x56\x4f\x58\x13\x4a\x55\xb6\xe0\x99\x5d\x6f\x3c\x7d\xdd\x4c\x9c\x3b\xfa\xdf\xfd\xaa\x79\xfb\x67\x26\x23\x69\xcd\xc4\x3e\x7d\x17\x27\x6e\x6e\xcf\xae\x1c\x63\xe0\x26\xf6\x81\xa6\x85\x48\x2d\x26\x8d\xc1\x51\x42\x9b\x4c\xd4\x04\xe5\xbd\xc3\x6f\x75\x5e\x73\x1a\xb4\xa9\xcd\x18\x1a\xdc\xd3\xfd\x5f\xd5\xe3\x9d\xc4\x0d\xb1\x82\x55\x0b\xf7\x6b\x87\xd0\x22\x3b\xe3\xd6\x16\x22\xb0\x5f\x14\x7b\x38\x89\x67\xed\xae\x6e\x5e\xa1\x38\x89\x41\x86\x34\x77\x29\xff\xf1\xbc\xe6\x6a\x0e\xef\x19\x5a\xb4\xa6\xd0\xf2\xab\xc8\xe1\xf6\x9d\x42\x5d\xb5\xfa\x72\xe1\xae\xca\x29\x76\xe8\x8e\x2a\xfa\xf6\xd2\x33\xfc\xd3\x46\xdc\x1a\xa7\xec\x03\x9b\xde\x9c\xab\x4f\x70\xe1\x86\x24\x6d\x2f\xdf\x14\xb3\x35\x46\x0e\x02\x70\x1d\xd5\xca\x63\xab\x95\xe5\x57\xb5\xb2\x29\xe3\x75\x9a\x29\x50\x86\x64\x1a\xf8\x69\xa4\x6a\x2b\x2f\xb6\xd3\x5d\x21\xb9\x2f\xca\x9f\x12\x2c\xf3\x9b\x94\x66\x3f\xf8\xe3\x18\x4d\xd0\xd8\x37\x32\xe3\x9a\x3d\xdd\x5d\x27\x6e\xdb\xa5\x0e\x28\xd0\x63\xb1\x08\x96\x8d\x45\x39\x9c\x51\x3e\x46\xa3\x91\x61\x0b\x75\xef\xfa\x64\x8c\x4e\xd6\xc9\x09\x5c\x89\x10\x64\xc1\x27\x2d\x82\x65\x25\x3e\x6e\x56\x4a\x12\x46\x0d\x63\xbb\x3e\x7e\x99\x53\xc4\x10\xf5\x81\x6b\xa6\xfd\x57\xd7\x5d\x99\x4d\xd7\x3d\x91\x81\x26\x68\x44\x5b\xf0\x25\x6b\xd0\x7f\x20\x33\xe8\x48\x46\xac\xe8\x25\xad\x58\xc2\x7e\x11\x55\xcd\x31\x42\x4f\xd0\x6e\x2f\x11\x54\x52\xc9\x97\xf6\xa7\x07\x8e\xd5\x24\xf5\x55\x6c\x2d\x29\xe8\xb6\xb9\xaf\xbf\x8c\xf4\x14\x51\x0e\x7d\x26\x6b\xfc\xa9\x63\xd4\x52\x79\xaa\x23\x3e\x26\x1d\xb3\x8e\x66\xbe\xae\x46\x48\x43\xeb\x10\x43\xae\xe4\x88\x88\x0b\xe9\xf4\x87\x12\x29\x12\xc6\xbc\x43\x7e\x92\x93\xc2\x84\x5a\x71\xe4\x44\x4d\x76\xbd\x56\x3f\x43\xac\x27\x0e\xc4\x90\x9b\x74\x2f\xe2\xe6\x18\x0d\xc1\x10\x18\xa2\xb5\xa8\xb5\x3b\x40\x37\xd5\x94\x2f\xa9\x7f\x67\xe4\x41\x23\xf6\x02\xba\x7d\x89\x4a\xba\xed\x66\x6b\xb9\x83\x0d\xe6\x7d\xf2\x29\x59\xb4\x5a\xa8\x5d\x6a\x52\x01\x57\xf4\x9c\x26\x5f\x37\xb0\x6a\x1e\x75\xc9\x08\x3d\xca\x77\x30\x07\xff\x51\xde\x16\x6f\xd1\x9f\x7f\x8f\x98\xf6\xeb\x73\x7f\x51\xa7\xe9\xcb\xbb\x71\x48\xfe\x47\x05\x34\x8f\xd9\xaa\x94\x76\xdf\xf5\xcd\xc3\x4e\xff\xa2\xf1\x40\xae\x45\x38\xa6\x91\x9d\xc7\x1d\x5d\xdc\xc9\xc7\xea\x4b\xb5\xac\xbb\x59\xf5\xf6\x66\x27\xa3\xfa\x0a\xa4\x91\x4d\x93\x51\xec\xf6\x97\x3e\x30\x78\xfb\xc2\xa3\x91\x4d\xa3\x77\xee\x1e\x80\x4e\x9d\x9a\x3d\xdd\xac\x98\x25\xfe\xb9\x4f\x80\xac\x04\xef\x5d\x24\x89\xc8\xe6\x19\xaa\x34\xa5\xca\xf7\x71\xdf\x71\x52\x5f\x8a\xf6\x64\x17\xd4\x1d\xe1\xcb\x5c\x94\x66\xc1\x73\xd8\x96\xdf\x89\x48\xdc\x38\xe7\x8b\xdf\x4e\xf8\xd9\x1f\x8f\xcf\xfe\x3d\x3d\xfb\xc7\xf2\x3c\xa2\x03\x3b\xce\x8b\xde\xd1\x01\x6b\x1d\x8c\xa6\xd3\xe9\x54\xd2\x0d\xbe\x36\xca\x01\x04\x82\xda\xe8\x7d\xf6\x57\x42\xb4\x41\xd4\xd9\x77\xb2\xab\x21\xc7\xb6\x06\xc3\xf7\x35\xcc\x03\x7a\x20\x73\x33\x98\x95\xfa\x20\x6a\xd5\x97\x76\x82\x5f\x24\x64\x8c\x1e\xc0\x8d\xea\x2f\x16\x64\x84\x6d\x7d\xef\xd6\xfb\xbe\x2e\x09\xee\xc5\x21\x78\x66\x07\xab\xcb\x70\x19\xae\xb1\x03\xaa\x2f\xb0\xfd\x82\x6e\x4d\x4d\xe4\xdb\x90\xa0\x3a\x5a\xfd\xb1\xb6\x75\x14\x99\x8f\x88\xab\x00\x95\x5f\xf6\x23\x82\xa3\x2b\xfb\x3e\x43\x1f\xcb\xe3\xb1\x6b\x8c\x36\xeb\xd5\x0f\xf7\x1c\xfa\x2a\x06\xfb\x73\xc4\xd0\xd8\x77\x90\x45\x78\x04\x25\xd5\xb1\xef\x52\xe4\x57\xd7\x1e\x7d\xd7\xa4\xcb\xb2\x74\x07\xf9\xff\xe5\x45\x7c\x7d\x83\xc0\x2c\x0d\x53\x8b\xd1\x63\x7e\xef\xc5\x39\x55\x26\x69\xfa\x86\x7c\xc5\x1a\xdc\x4e\x48\xdc\xd0\xbe\xab\x86\x05\xe5\x86\xa3\x11\x8e\x14\x87\x1e\xf6\xde\x54\x5b\x37\xcb\xa0\xbc\x96\xec\x0f\x39\x13\x6e\xd4\x7f\x8f\xac\xb2\x8d\x15\x61\xae\x4a\x6a\x4a\xe0\xf5\x28\x58\x94\x79\xdd\x58\xb8\x20\x0c\x99\x9c\x72\xc2\xbe\x1e\x99\x5b\x43\x52\x3a\xb3\xce\xe7\x78\x31\x5d\xf6\x75\xb5\xbb\xc5\x71\x5d\xba\x20\xc7\x80\x09\x8d\xf5\x5d\x8f\xbb\x0b\x1e\xe2\xcd\xc5\xff\x1d\xe7\xf7\x0a\x60\xfb\x20\x61\x04\xd1\xf5\x8d\xe5\x20\x22\x7f\xfa\x52\xb6\xff\x9e\xac\xed\x4b\x83\x46\x0a\x16\x17\x0a\x22\x4d\x43\x6f\x59\xb4\xf9\x64\x5d\x70\xb9\xfd\x57\x57\xe6\x82\xc8\xce\x03\xf8\x95\x8a\x2b\xf2\xc9\x5d\x57\x41\xa6\xd6\xec\x8e\x3b\x21\x25\x2b\x5f\x20\x50\x9c\xb6\x2f\x3a\x96\x38\xb4\xb2\xed\xdc\xeb\x18\x72\xbf\x9d\x2f\x30\xed\xb4\x53\x1c\xf0\xd7\xa6\x2c\x6f\xdd\x2d\x4c\xf6\x5b\x5d\x5c\xf7\xde\xe4\xff\xbe\xbc\x81\x5d\x60\xff\x05\x89\x0d\x24\x8d\xb4\x91\xcd\xdc\x41\x4b\xdc\x2a\x2d\x17\x59\xde\xd2\x50\xb1\xae\x47\x3a\x5f\xea\xbb\x11\x62\x55\xc1\xba\x10\xd1\xe5\x56\x97\x0f\x74\x65\xaf\x31\xba\xb2\x55\x08\xed\x18\x77\xc9\xd4\xe1\x44\x6d\xe4\x71\xa7\xfc\xfc\xae\x7e\xd6\x92\xf0\xe1\x8c\x0e\x87\x01\xa1\xb5\x84\xbb\x28\x70\x57\xb6\xdb\xaa\x70\xd8\x11\x6c\x5a\x19\x00\xa6\x7f\xab\x34\x13\x99\xd8\x11\x7b\x29\x70\x98\x37\xed\xd6\xdd\x45\x92\xcb\xc8\x83\x4e\x4f\xdd\xdd\x3b\x2d\xf1\xa9\xee\x9b\xe8\x7e\x71\xa8\xde\x57\x57\xd6\xae\x4b\x4a\xd9\x0e\xb5\xd1\xd7\xcd\x3d\xed\x95\xb6\xd6\x31\x8b\xa2\xdb\x31\x5a\xde\x29\x19\xd7\x2a\xde\xdc\xda\x87\x24\xe1\xb4\xaa\xad\x40\x52\xa8\x2a\x9b\xba\xdb\x8b\xc8\x98\x47\x8f\xc7\x5b\x92\x6a\x4c\xdc\xc5\x76\x59\x25\x22\x2e\x67\xa1\x46\xa0\xbf\xa6\x29\xad\x01\x71\xfd\xf9\x51\x0b\xa9\x9c\x6b\xa5\xa7\x7c\xad\x15\xdc\x78\x29\xff\xb7\xca\xdf\xab\x9d\x30\x65\x61\x15\x40\xb7\x86\xb6\x18\xb2\x54\xcb\x5a\x8e\x4f\x38\x4e\x2b\xe9\x57\xb3\xff\xe3\x00\xeb\x68\xad\x0f\x5b\x79\x2e\x99\xd6\x65\x6c\xea\x66\x76\xc3\x32\xb2\x55\x0d\x7b\xc2\x71\xb4\xc8\x96\x75\xf9\x83\x46\x36\x32\x1f\x28\x1d\x8a\xd0\x6d\xae\xeb\xb2\x25\xcd\x52\xcb\xba\x1f\x54\xb3\xb7\xa5\xb3\x2d\xef\x95\x6c\xde\xb7\x5d\xd1\xe1\x94\xce\xee\xde\xb3\x1a\xbd\x19\xd5\xbd\x29\xaa\x00\x39\x50\xf5\x4b\xdd\x90\x76\x5f\x05\x75\x9b\x88\x5b\x3d\x2e\x52\x98\x68\x4b\xc6\xdd\x76\xbb\x60\x38\xef\x12\x23\xb6\x67\x7f\xaf\x34\xf1\x8e\xc9\xdf\x9a\x21\xb6\xb7\x82\x3b\x66\xe8\xaa\x33\x43\x2d\xff\x03\x55\x85\x57\xa5\xb3\x2a\xef\x94\x2e\x56\x35\x1e\xe8\x2a\xdf\x21\x65\xd4\x95\x3e\x6e\xc4\xad\xd3\x10\x1b\x7e\x9d\xd4\x50\xaf\x85\x55\x5b\x56\x09\x62\xc4\x7b\x9b\x7e\x2c\x7b\x9b\xbe\x90\xad\x96\xf9\x2f\x19\x3c\xe9\xb3\x5e\xa7\xbf\xbf\x13\x5a\xc2\xc7\x36\x67\x54\x0b\x57\xfa\x07\xbd\x23\x85\xec\x64\x60\x5a\xd1\xce\x46\x94\x8e\x28\xcb\x92\x2a\x4a\x62\x8c\xfa\xe5\x33\xb6\x72\x95\xe2\x0a\x03\xc6\xab\x17\x37\x60\x8f\x71\x40\xe6\xe3\xc0\x99\x76\x9a\x19\x94\x4e\x50\xe5\x7f\xf6\x35\xf9\x0f\xee\x2c\xe0\xec\x8b\x05\x0c\xff\x44\x03\x86\x56\x01\x77\x65\xaa\x68\x90\x56\xb7\x58\xf4\x69\x4d\xe4\x52\x85\x59\xac\x90\xa5\x19\xaf\x02\xdc\xff\x8f\xb6\xb7\xef\x6b\x1b\xc7\x16\xc7\xff\xe7\x55\x24\xbe\xac\x2b\x35\xc2\x84\xce\xee\xde\xbb\x76\x35\x59\x4a\xa1\xb4\xd3\xd0\x6e\x61\x66\x76\x36\x78\xe6\x27\x2c\xd9\xce\xc6\x71\x82\xed\x10\x02\xf6\xef\xb5\x7f\x3f\x3a\x92\x1f\x13\x68\x67\xee\x5d\xfe\x20\xb6\xac\x87\xa3\xa7\xa3\xa3\xf3\x28\xa8\x57\xbf\x44\x34\xe6\x28\x6a\xf8\xf3\xe5\x65\x8b\x51\x61\x47\x75\x8b\x07\xff\x87\x2d\xa2\x63\x14\xe1\x51\x64\x0f\xf1\x01\x3a\x46\x02\x8f\x84\x3d\xfc\x5a\xfb\x2f\x7f\x47\xfb\xa2\xd1\xf6\xcb\x46\xcb\xdd\x16\xd4\x52\x2b\x5b\x38\xec\xb4\xb0\xf7\xad\x4d\x1c\x7e\x73\x13\x7f\xfa\x83\x9d\xf8\xd3\x37\xb7\x40\x29\xfd\x83\x6d\x50\x4a\xbf\xb9\x95\xfe\x1f\x6e\xa5\xff\x3b\x5a\xf9\x5f\x74\xe5\x77\xf4\xe4\x8f\xce\x7a\xff\xdb\x1b\x79\xfd\x07\xfb\xf1\xfa\x9b\x5b\xf8\xfe\x0f\xb6\xf0\xfd\xb7\xf7\xe1\x8f\x4e\xc6\xeb\x6f\x1f\xa7\xef\xff\x68\x1b\xdf\x7f\x7b\x1b\xa6\xf9\x2d\x6d\xec\xed\x68\xc4\x34\xbf\xb9\x91\x3c\xff\x83\x1d\xc9\xf3\x6f\x68\xa3\xbe\x40\x3e\x6d\xc5\x53\x7d\xa8\x1c\xdd\xfb\x94\x55\x2f\x23\xaf\x7a\xb4\x79\xf5\x58\x89\xde\xca\x06\xfd\xc2\xf6\x8b\x42\x93\x25\xcf\x9f\x62\xcd\x73\xfc\x39\x1a\x7f\xb7\x81\x64\xc3\x8a\xa8\x5b\x71\x58\x3a\x6c\x0f\x69\x60\x9a\x10\x66\x39\x18\x05\x76\xe8\x08\xa5\xf4\x23\x4c\x33\x34\xcd\x7e\x38\x61\xae\x69\x22\x70\x42\xfa\x58\x60\x27\xa0\xe1\x08\x5c\x94\xae\x1d\xcf\x34\x25\x19\xdf\xa0\x78\x78\x0d\x63\xa8\xed\x25\x35\x8c\x41\x61\xef\x05\xc5\x73\x52\x9f\xaf\x03\x2a\x4f\xbf\x98\xb2\x2a\x81\x2c\xc9\xdc\x51\x57\x96\xd8\x34\xd1\x92\x7a\x8d\x4f\x74\xc6\xd1\x12\x93\x7f\x32\xb4\x24\x3e\x26\x75\xa7\x62\xd3\xec\xc7\x93\xa5\xec\x94\xfc\xa1\xe0\xf6\x95\xca\x47\xf2\x86\xa1\x79\x93\x8a\x6d\x74\x27\x56\xdd\x59\x92\xc6\xfd\xe2\x6b\x32\xaf\x9a\xb1\xde\xed\x52\x15\xa6\x25\xa0\xac\x7a\x69\x68\x5b\x05\xa6\xd9\x0f\x54\xd8\x19\xf9\x03\x03\x1f\x69\x8f\xbb\xc1\x48\x26\xd9\x6b\x07\x71\xe0\x20\x78\x18\xc3\x3c\x44\x0d\xe2\x46\xd4\x80\x07\x0a\x70\x8f\xb4\xce\x7e\x6d\x1d\xf4\x8d\x04\x54\xc9\xa1\x1b\x85\xb2\x65\x4d\x4b\xe1\x42\xbb\x87\xf2\xbd\x2d\x96\x9e\xd2\x02\x07\x0f\x51\x7b\x9a\xbb\xaa\xef\xd2\xd4\x6b\x7b\x8c\xe2\xa5\xbc\x3e\x03\xc7\xe4\x29\xaa\x8b\x56\x8a\xd5\xd9\x89\x62\xf5\x26\x94\x5b\x5e\xba\x1c\xc9\x8c\x19\x47\xe5\x57\xe2\x61\x1b\xca\xb6\x92\x0a\xc7\x7f\xd2\x63\xa9\xef\x29\x83\xe6\x27\xf5\xef\x1b\x6d\x5a\x9a\xcf\x5c\xba\x4e\xd3\x80\x77\x59\x14\xb8\x28\x1c\x70\xeb\x0a\xff\xe4\xb0\xfc\xe2\x97\xde\x6f\x6b\x07\xb0\x30\x07\x9f\x7c\x72\xa2\x7c\xac\xa7\x9e\x30\x30\x59\x30\xfa\x78\x7e\x35\xfe\x68\x1b\x61\x36\x8f\x0c\x72\x72\x79\x69\x1b\x5e\x9a\x1a\xe4\xc7\x2f\x1f\x6d\x63\x95\x44\x06\xf9\x72\x7a\xf9\xe9\xc7\x2f\x27\xa7\xbf\x41\x52\x22\xd2\xc5\x2a\xf1\xc4\x8f\xf2\xd3\x87\x4b\xdb\xf8\x77\x6a\x6c\x3b\x6e\x27\xfb\xf4\x9f\xda\xf3\xae\x0e\x49\x82\x0c\x66\x60\x72\xcf\xe9\x31\x43\xff\xb0\x4a\xb7\xd8\x56\x98\x08\x1f\x3b\x1b\xde\x74\xf3\x5e\x39\x56\x77\x9d\x1f\x76\xfa\x7f\x77\x9d\x87\x56\x01\x59\x5b\x24\x93\xdf\xd4\xc9\x7b\xcd\x74\xb8\x50\x79\xd4\xb0\x0c\x12\x06\xf4\x71\xb3\xd9\x6c\x6c\xc6\x90\x71\xb6\x8a\xa2\x5f\x04\x4b\x0c\xf2\x67\x4c\xb6\xd2\x5e\x91\x21\xc4\x0f\xea\xa6\x1f\x61\x32\x1e\x8f\xc7\xf6\xf9\x0d\x32\xc6\x8b\x38\x0b\x0d\x48\x68\xbc\x43\xb1\xf1\x18\xca\xe9\x94\x57\x50\xac\x99\x72\x24\x53\x38\x87\xa4\xb7\x10\x32\xe2\x15\x26\xcd\xd7\x23\x4c\xce\xcf\xe1\xfd\x7c\xb1\x4a\x52\xf8\xde\x7a\x3f\xc2\x24\x0c\x5b\x19\xc8\xc1\xd1\x2b\x4c\x5a\x69\x47\x2a\x6d\x3e\x57\x6d\x4f\xe3\x55\x26\x54\x5d\x9d\x94\x23\x4c\xd2\x14\x92\x2e\x85\xb7\x88\xb9\xca\xd4\x49\x81\x4c\xa9\x2e\x18\x45\xd3\xb4\xfc\xf0\x1d\x26\xa7\xa7\xa7\xa7\x30\x08\x6f\xd9\xc6\x80\xd7\xea\x0d\x06\x84\xed\xde\xf3\x47\xaf\xbe\x87\xd0\x4d\x00\x2f\xc2\x23\xcf\x3a\x1e\x7f\x1e\x5f\x4e\x86\xae\x5d\x3e\x1e\xb9\x05\xf9\xd7\xd6\xe1\xcb\xe8\xc1\xd1\xcb\xca\x63\x11\xa3\x68\xf8\x9a\xee\xb1\x91\x31\x50\x61\xb0\xd0\xbb\x1b\x34\x66\x59\x38\x19\xbe\x66\x23\xc3\x8f\x16\x8b\xc4\xb0\x0d\x4f\x4c\x23\xc3\x45\xec\xf0\xaf\x43\x4c\x5e\xe1\x81\xce\x64\xb1\x9b\x14\xb1\x3f\xa9\x44\x5c\x90\xf5\xda\x3e\xe3\xe8\x15\x26\xf0\x7b\x84\xc9\x3b\x7b\xea\x91\x77\xfa\x7f\xf9\xf3\x6e\x77\x8f\x86\xdf\xab\x60\x54\xe5\x92\x81\x4e\x9d\x7e\x39\xbe\x38\x1e\x9f\xea\x7e\x55\x6f\x47\x6e\x51\x90\x20\xa0\x87\x08\x8d\xec\xc9\xaf\x9b\x31\x3f\x0f\xe7\x29\xfb\xd7\xe9\xfa\xdd\x0b\x77\x80\x73\x34\xb2\x5f\xc0\x97\x17\x6e\xfe\xe2\x05\x7e\xf9\x02\x92\x4e\x07\xf9\x66\x90\x8f\x07\x39\x1f\xe4\xe7\x83\x3c\x1c\xe4\xf3\x41\x9e\x0e\x72\x96\xff\x2b\x7f\x37\xc8\xd7\x03\x8c\x91\xf5\x12\x1f\x12\x1f\x62\x04\x1e\x8c\xae\xf9\x60\xff\xd0\x39\xde\xbd\x6d\x40\x47\x33\xa0\xb7\x0c\x9d\x61\xc2\xe1\x21\xbd\xc1\xce\x49\x2b\xb7\xf2\x4a\xad\xf7\x92\x90\x79\x1e\x13\xa1\xec\xcd\x6c\xe3\xd4\x20\xbb\x65\x62\x53\x1f\xf5\x3d\xd8\xe5\xa6\xd9\xf7\xac\xfb\x68\x1a\xcf\xce\xe5\x9e\xdf\x66\x1d\xa8\xdc\x06\x03\x77\x18\x93\xa1\x0b\x21\x13\x2e\xd8\x5c\x58\xd9\xe2\xe3\x62\x2d\x92\x13\x96\x0a\x84\xcb\xa0\xaf\xc6\x44\x71\x9d\x7b\x97\x3f\xbd\xd3\x91\xe2\xb4\xff\x48\x17\x7c\xbc\xde\x29\x7e\x28\x02\x4c\xbc\x44\x86\x84\xc1\xc0\x78\x64\x00\x0c\x36\xbc\xda\x2a\xd5\xf1\xac\x45\x8c\x0c\x2f\x9a\x7a\xb3\xb6\xf7\x72\x1d\xb2\xcd\xc7\x79\xce\xac\x76\x70\x54\x88\xe8\x53\x14\x05\x26\xd9\x0d\x7d\x2c\x9c\x39\x7a\x73\xf3\x74\x6c\x3e\x46\x20\x84\x1e\xb3\xf6\x41\x9c\x83\x7c\x88\x67\xde\x68\xc9\xb7\xf6\x53\x91\x21\x8f\xf4\xfb\xa0\x48\x27\x87\xa2\x8c\x48\x6f\xf4\x29\x2b\xe5\x75\x1b\x86\x8c\x38\x38\x30\x06\x1e\xc4\x16\x75\x0c\x4f\x9e\x01\x4a\xee\xca\x80\x7d\xdc\xda\x26\xbe\xac\x39\x0e\xc6\x0b\x2e\x22\x79\xbe\x4f\x84\x6b\x9a\x5c\x7f\x2a\xb0\x93\xdd\x4c\x84\x4b\xb7\x28\xbe\xc6\xd4\x1e\x1b\x64\x99\x4c\x17\xc9\x34\xdb\xd8\x47\xc3\x21\x81\xd1\xf3\xa1\xe7\xce\x1c\xed\x7b\x9d\x3e\x67\x37\xad\xf0\xa3\x55\x85\x3b\xea\xa8\xcb\x95\xa6\xe6\x46\x1c\x7c\x66\x99\x24\x85\x61\x11\x98\x26\x78\xf2\x97\x1d\xd0\xc9\xb5\x4f\x7f\x88\xd1\xd7\xfc\xa2\x7c\x6d\xfe\x3b\xc0\xb8\x1a\xcc\x46\x75\x64\x0f\x22\x1b\x43\x94\x31\x24\x26\x47\x2e\x11\x93\x57\x6e\x45\x6e\x15\x8d\x89\xf1\x9e\x98\x18\x56\x4e\xb8\x33\x47\x13\x23\x4d\x3c\x83\xc8\xff\xa9\xc8\x0c\xa2\xd6\xd1\xae\x78\xe7\xd5\x7c\x31\x18\xec\xe7\xc7\xe6\x6f\x7f\xeb\x0c\x8d\x26\x4b\xb5\x6d\x3d\x09\x28\x73\x54\x53\x6a\xb6\xbf\xb2\x07\xca\x2d\x20\xda\x5b\x00\x44\xc2\x46\xb5\x15\x0d\xe2\x5b\xfb\x72\x99\x4f\x02\x97\x36\x77\x07\x09\xab\x10\x2f\xfb\x8b\x9b\x54\x24\x77\xa2\x1b\x29\x71\x84\xf4\xf0\x04\xc4\xc3\xe4\x67\x06\x74\xbb\x6e\x2e\x24\xfe\x24\x70\x31\xb6\x9b\x10\x57\xd9\x55\x58\x32\x3d\xa0\xb2\x7f\xef\x6f\xe8\xe3\x3e\xe3\xfc\x44\x05\x67\xb1\x37\x10\x21\x43\x12\x90\x65\x4a\x7b\xa1\x31\x6b\x1f\xb4\xe2\xbd\x82\xec\xeb\x98\x37\x75\xc9\x54\x64\x3f\xb1\x68\xca\xe5\xa0\x6e\xc8\x9e\x7c\x7f\x3b\x4d\xe0\x45\x3e\x7f\x4e\xa6\x69\x36\x8d\x85\x7e\xbd\x5c\xdd\xcc\xa7\x59\x26\xb8\xbd\x29\x9c\x77\x2d\xac\xa7\xf9\xd8\x06\x31\x60\x88\x52\xf9\x90\xaa\x10\x94\x75\xe4\x4e\xd2\x0e\x5b\xa2\x70\xe4\xa7\x5d\xe1\x51\x26\xc6\x7e\x36\x9d\x8b\xc5\x0a\x6a\x54\x28\xb5\x19\xf4\x81\x37\x90\x86\x68\xe8\x96\xc0\xe8\x8d\x38\x7a\xa1\xa4\x8d\x86\xfb\x02\x6b\x91\xb6\xcd\x11\x2b\x9f\xf3\x7c\x53\x86\x73\x53\x9c\x68\x7f\x91\xcc\x0d\x52\xed\x65\x36\x32\x4e\x8f\x4f\x0c\x40\xd7\x89\xb8\x5d\x4d\x13\x61\x4f\x74\x26\xe3\xd7\x5f\x47\xf0\xe4\x92\x3a\x3c\x8e\xfd\x8e\x6f\xe3\x75\x0e\x7c\xcd\x3a\x78\xd1\x2f\xb2\xfd\xf2\x65\x7e\xa3\x35\x0f\x68\xa8\x74\xd9\x0d\xf9\xdf\xb0\xe5\xca\xb0\xe2\xe0\x6c\x91\xcc\x47\x86\xfa\x35\xec\x7e\xe9\xe2\xfc\x71\x99\x88\xb6\xa0\xa8\xd2\x09\x9a\xd3\x70\x32\x04\x37\x34\x7d\x64\x30\xc8\x60\x4c\xe3\x9e\xaf\xcf\x81\x46\x44\x18\xb5\x26\x94\xb8\xa6\xb1\xc7\xe6\x96\x24\x4b\xe7\xd3\xec\xa7\xa9\x58\x2b\x6d\x27\xec\xec\xcd\xad\xd6\xc4\x23\x65\xbb\xbc\x85\xe1\x1d\x2e\x0f\x22\xc6\xf9\xa9\x4c\xff\x38\x4d\x33\x11\x83\xb9\x13\x14\x34\x48\x46\xfa\x47\xd8\xe1\x70\x7c\xec\x73\x39\xce\x8b\x4d\xcb\x44\xab\x15\x1e\x15\x2a\x53\x6b\xf5\xb9\xfa\x0a\x49\x77\x1e\xc9\xcd\x81\x42\x88\xc5\x32\xb7\xf6\xf7\x55\xd8\x3a\x39\x6e\xd8\x6a\x6c\x13\x34\xc7\xda\x4f\x6e\x30\x12\x68\xae\xf6\x04\xb6\x37\xa0\xc7\x90\x22\x46\x20\x14\x53\xb5\x7d\x83\xd6\xf6\xd5\xd9\xfb\x80\x6a\x21\xf7\x1a\x93\x76\x63\x56\x67\x13\xa2\xb9\xdc\xe8\x29\xad\xdb\x22\xaa\x15\x50\xea\x7f\x66\x20\xba\xd5\xb6\xb6\xac\xec\x85\x6a\xde\xf9\x8c\xe6\xe4\xfd\x8d\xc6\x0c\x85\x5b\x90\xa9\xa0\x9f\x38\xc2\xe4\x0e\x7e\x25\x1d\x39\x0d\xe8\xe1\x35\x7f\xfc\x73\x71\x30\x19\x1e\xb9\xd7\xfc\x60\x32\x3c\xf8\xce\xbd\xe6\x57\x93\xe1\xc1\x2b\xf7\x9a\xdb\x93\xe1\xc1\x5f\x1a\xbf\xd7\xd6\x35\x1f\xa0\xc9\xe0\xc0\xed\x64\xc8\xff\x85\x0f\xc9\x5e\x0a\xc1\x7e\xfc\x6c\x99\x87\x99\xfe\x97\x62\xfb\xfa\xf0\xfa\x10\x5d\xaf\x07\xf6\xe3\x90\x1c\x15\xd7\xeb\x97\x7f\xc7\x23\x15\x24\x4a\x96\xfe\x9b\x3b\x90\xaf\x87\xf9\xf5\x21\x9a\x5c\xaf\xff\xab\x6f\x5b\xa3\x01\x35\xff\xf4\xf7\xfe\xf5\xc1\xf5\xa1\xab\x02\x04\x65\xb2\xe2\x09\x3b\x78\x18\x1e\xfc\xad\xff\x5f\xfb\x7f\x32\x5f\xbc\x1c\x5c\x1f\xd2\xd1\xaf\xbf\xfd\x7f\x8f\x79\xf1\xff\x5b\x07\xee\xe0\xef\xfa\xb3\x8b\xf4\xc3\x81\xfb\xb2\x4c\x92\x0d\x58\xcf\x7e\xc7\x2f\xf7\x0f\xa7\x64\x55\x86\x81\xbe\x3e\xc8\xaf\x01\x2c\x3e\xc8\xd1\x35\x7f\x89\x64\xc7\x5f\x62\x8c\xd1\x44\x9c\xba\xb2\xff\x92\x0c\xc4\x23\x15\x23\xfa\x33\x87\xb0\x57\x72\x1c\xf1\x81\xfc\x7d\x55\xff\xee\x1f\x92\x7f\x74\x3e\x5f\xf3\xf2\xe7\x4a\xfd\xd8\xea\x07\x8d\xec\xf2\x49\x36\xf7\x78\x44\xbe\x2b\xf0\x08\xfa\x1f\x79\x8d\x2a\x7e\x56\x99\xf6\x0f\xc9\x97\xed\x9a\xf7\x0f\xc9\xa5\x4e\xfd\xa6\x9a\xaf\x38\x7d\xec\x28\x24\x36\x59\x1e\xff\xbe\x69\xbd\x3b\xff\xf6\x90\xc0\x05\xe1\x2c\x13\xf6\xec\x06\x19\x1c\x90\xf6\xde\x67\x4e\x7e\xb8\x41\x9f\x39\x99\x18\xf2\x46\x68\x10\x63\x3c\x36\x88\xc1\xb9\xe1\x62\x02\x49\x07\xe3\xf1\x01\xe7\x06\x26\x50\x44\x62\xee\x03\x20\x9a\x8d\xaa\x1a\x99\xa6\x92\xc8\x3f\xa0\xba\x7f\x70\x55\xb4\x37\x1e\xf7\x38\xef\x9d\x9f\xf7\xe6\xf3\x5e\x9a\xf6\xd2\x34\x6d\x46\x51\x69\x35\x70\x75\x7e\x6e\xcf\xe7\x76\x9a\x5a\x32\x17\x26\xb2\x52\x68\x41\x3e\x18\xe4\x12\x2a\xbe\x94\x70\x9e\x9f\x1b\xc4\x98\x4b\x74\x2d\xef\xe8\x86\xcc\x2e\x61\xed\x94\x5f\x0b\x31\x83\xf2\xf2\xc1\x20\x51\x97\x46\x9b\xfa\x48\xb0\xa6\x56\xa0\x53\xaa\x1c\x3e\x46\x9e\x15\xb1\x34\x7b\xaf\x63\xa6\x28\x95\xb6\xc8\xab\xe2\x4a\x35\x43\x1a\x0f\xb8\xa4\xa3\x7c\xf9\xfb\xca\x25\x21\xe5\x74\xa8\xa3\xcb\x0f\xc9\x8c\x9e\x72\x08\x85\x49\xff\xfb\x25\xf2\x0f\x8e\x30\xc4\x61\xe6\xd4\x6b\xdc\xf4\x48\xa8\x5e\xf5\x0d\x14\xcc\xb8\x20\x41\xdf\x36\x11\x26\x51\x99\xa3\xbe\x6a\x36\xdc\x2a\x49\x92\x4e\x5e\x95\x91\x20\x43\x65\x26\x09\x6f\x78\xe0\x13\xae\xd9\x9f\x45\x29\x9e\xbf\x60\x17\x85\x1e\xf3\x9f\xd7\x6b\x03\x93\xbd\xb9\xbc\x86\xc3\x30\xcd\xd5\x85\xfc\x0b\x8c\xf3\x97\xf6\x7a\x68\x2c\x05\x03\x93\xb8\x1b\x47\xa3\xb9\xec\xde\xf3\x8a\x63\xeb\x74\x97\xa0\x50\xe8\x2f\x55\xda\xbf\xd4\x50\x15\x19\x32\x5d\x25\x6b\xfd\xc5\x1d\x5c\x21\x61\xed\x4f\xd3\xd3\xf9\x12\x4c\x17\x54\xf0\xa0\x55\xa0\x62\xe0\x32\x3c\x82\xd2\x67\xd1\x82\xc9\x37\x7b\x5d\x40\x53\xf2\x20\x07\xc2\x77\x47\xad\xf2\x24\x6d\x55\xa9\x92\x7e\x52\xb1\x5b\x92\xc5\xba\x17\xdd\x20\x09\x9f\x3f\x57\xf1\xd4\xda\x21\xad\x6a\xaf\x78\xb0\x18\x8e\x11\xb7\xe6\xd3\x18\xe7\x39\x97\xd7\x8c\x69\xac\x35\x79\x25\x14\xe0\xaa\x8c\x65\x8b\x24\x95\x59\x76\x05\x8b\x6b\xc1\x91\xe7\x77\x10\xbd\x99\x7d\x4f\x83\xc2\xe1\xf5\xa1\x65\xcc\xa7\x71\xfb\x5a\x76\x8c\x18\x36\x4d\x80\x19\xfc\x26\x37\x07\x81\x1c\x0d\x31\x76\x02\xaa\x3e\xf6\xa7\xe9\x05\xbb\x90\x03\xc5\xec\x75\x03\x28\x15\x90\xb5\xec\x00\xbb\xc7\x79\xbe\x07\x3d\x60\xf7\x65\xd8\xde\x4e\x0f\xd8\xfd\x37\xf5\x20\x92\x3d\x78\x4d\xa3\x4e\x0f\xd8\xfd\xef\xed\x41\xf4\x4d\x3d\x28\x3a\x41\xe2\xbe\x8a\x06\xb7\x56\xe2\x2a\x89\x8c\x4e\x5f\x57\x49\x44\x77\xa9\xb6\xb2\x3c\xaf\xc2\x56\x35\x3a\xce\x71\x9e\xa7\x7a\x45\x72\x09\x92\x98\xb3\xe9\xff\x0e\x28\xa8\xa1\x0b\x16\x24\xfe\x5e\xc0\xb2\x26\x60\x09\xe3\xd3\x45\x57\x34\x48\x04\x7e\xbc\x43\xca\xc6\x16\x9b\x66\x19\xa5\x1d\xe8\x56\x32\x18\xc4\x37\xf8\x19\xfe\x80\xa4\xe8\xf4\x0d\x1c\x82\x86\xcb\x8b\x47\x45\x67\x72\xad\x02\xc2\x4c\x53\x2b\x6d\xaa\xed\x99\x88\x98\x37\xa3\x67\xb7\xeb\xa1\xba\x18\xa5\xb2\xfb\x65\x65\xed\xf5\x74\xa7\xdc\x14\x55\x75\xe1\x82\x40\xe9\x9b\xc5\xfd\xce\x71\x57\xd2\x22\x15\x6d\xfa\x03\x47\x11\x61\xc4\x88\x83\xab\x64\x25\xb4\xc3\x23\xb9\xf6\xab\x57\x1d\x35\xbd\xce\x78\xc6\xa2\xb4\x99\xb3\x7e\x07\xfa\xf7\xc9\xe1\xe9\x0e\x48\xb3\x9b\xbf\x77\x54\xda\x83\x51\xcf\xf2\x8e\x5d\xa9\xd4\xd7\x8b\xaf\x61\x42\xbd\x60\x66\x0c\x31\xb2\x37\xd3\x50\x7c\x0d\x1b\xb3\xd1\xcc\x8e\x0b\x5c\x90\x70\xca\xb9\x88\xed\x0d\xb9\x59\x65\x19\x84\xc6\x57\x44\xbc\xbd\x91\x17\x2e\x21\x7f\x7d\x79\x6f\xda\x14\xe4\xd4\x93\x57\xc9\x9b\x64\xb1\x4e\xc1\x59\xd5\x7e\x1a\x4f\x7d\x5f\x3d\x56\x1e\xac\xb6\x6e\x83\x1d\xe9\x5f\x9b\xdb\x56\x5f\xdf\x46\x9a\xbb\x63\xb8\x8a\x77\xd0\xbe\x4b\x55\x73\x1f\x4d\x86\xae\x69\xa2\x2b\x3e\x39\x43\x81\x1a\x76\x37\xcf\xaf\xb8\xf2\x2a\x58\xe6\x9b\x0c\x5d\xe2\x11\x15\xc3\x1c\xe8\x6f\x72\x07\xd4\x71\x96\xac\x44\x0e\x76\x00\xb9\x24\x21\xf7\x0f\xc9\x85\xf8\x5d\x5c\xa3\xdd\xdc\x41\x3d\xa6\x77\x7a\x8f\x7a\x96\xb6\x47\xc1\xa3\x6d\x26\x96\xe2\xe8\xe8\x85\xcf\xac\x7d\x71\xc7\x22\xe4\x57\x25\x70\x61\x77\xcb\xd4\x3c\x9d\x32\xd7\x2e\xc6\x4e\x59\xe5\x5e\xc9\xdf\x21\x31\xc4\xf5\x2f\x65\x19\x3b\xa2\x19\x36\xfb\x79\xb2\x83\xf3\xa9\x6e\xa2\xf2\x96\xf6\x66\x1a\xf3\x69\x1c\xa8\xbb\xb1\x87\x77\xc4\x0b\x16\x1a\xd2\x46\xee\xf7\xb1\xbf\x40\x82\x48\xa8\x65\x0a\x76\x04\x15\xf2\x0e\xec\x35\xfb\x23\xbf\x74\xf6\x9a\x9c\x49\x1d\x01\x96\xde\xc9\x03\xc3\x30\x6c\x56\xe8\x79\x5c\x42\xa7\x9a\x6c\x0a\xb2\xb3\x8f\xf5\xb4\x6c\x5b\x39\x70\xfc\xe8\xed\xe8\x17\xdf\xee\x17\xaf\xd5\xb7\x7c\x85\x4f\x43\xc5\x63\xd2\x90\x5f\x89\xf9\x52\x02\x81\x25\xf2\xd8\xea\xbb\x4f\x78\x43\x57\x31\xc5\x8e\x4f\x7d\x39\x00\x61\x03\x03\xb6\xeb\xe9\x84\xe3\x7f\x7e\x28\x16\x30\x14\xa9\x27\x1a\xbb\x6e\xef\x89\xc1\xa8\x85\xfc\xed\xc5\xbd\x35\x36\x0d\x3e\x9d\x57\x4d\xd0\x79\x36\x8f\x80\xaa\x6d\xa5\xec\x58\x51\x88\x41\x08\xd5\x26\x9d\x25\x6f\xd3\xdb\x63\x2d\x9e\x5c\x43\xfc\xb9\x35\x04\x80\xd4\x0b\xa8\x65\x10\x2f\xac\x30\x9b\x47\x08\x24\x16\x57\xc9\x2a\xcd\x04\x64\x47\x21\xf2\x30\x06\xb0\xca\x81\x1b\x77\xd9\xfe\xc7\x35\x22\x32\x4a\x34\xb4\xc5\xdc\xd5\x58\x4c\xe3\xef\x93\x90\xc5\x81\x28\x39\x1f\x5d\x3c\x0b\x5b\x01\x76\xb6\x3c\x66\x54\x5e\x68\x1e\x93\x5b\x41\x67\x1e\x32\x94\x28\x29\x55\x2f\x9f\x38\x37\xc8\x10\x93\x44\xbd\x9e\xde\x89\x18\x44\x54\x99\xa0\x17\x0c\x3d\x61\xa6\xe3\x55\xcc\xe1\x93\x68\xc1\x66\x06\xd9\x5b\x63\x87\xb5\x82\x6a\x1b\x71\x70\xe0\xc1\x47\x68\x7a\x25\xe8\xe4\x2b\xc8\x0e\x78\x82\x76\x7f\xd8\x64\x9e\x19\x7f\x6f\x20\xc1\xbf\x0c\x87\x72\x08\x3f\x78\xf4\xb1\x20\xeb\x80\x3e\xde\x44\xab\x44\x16\xf0\x17\xde\x2a\x05\xf7\xd8\x73\x7d\x86\xf6\xf8\x4d\xa4\x1e\xe6\x8b\x55\x2a\xf8\x62\x1d\xab\xa7\xd5\x52\xfd\x2e\xee\x44\xa2\x9f\x56\x99\x7a\x90\xb0\xab\x27\x21\xb7\xb8\x7a\x8c\x04\xbb\x13\xbd\x99\xd8\x40\x15\x33\xb1\x59\x2d\xe5\x7f\xd8\x58\x3d\x75\x5a\xf5\xa0\xf9\x9e\x04\xa6\xe7\x2d\x96\x9b\x9e\xb7\xca\x7a\x4b\x96\x66\xe2\xc9\x98\x9f\xdb\x7c\xed\x0f\xde\xc4\x73\x6b\x19\x11\x31\xf6\x93\xc5\x22\xbb\x54\x6c\xd2\x26\x2f\xfb\x1b\xf7\x52\xc3\x20\x90\xa3\x70\xe2\xb9\xc0\x2d\x96\x13\xbf\x63\xf1\x73\xb9\xf4\x61\x6e\x9b\x78\x4a\xc9\x88\x1a\x93\x16\x20\x8f\x3c\xee\x03\x7b\xcf\xe6\x05\x2e\x9c\xbd\x75\x00\xea\x25\x40\x7a\x86\x2c\x15\x23\x4f\x2d\xbd\xe3\x74\x13\x7b\xc8\xc7\xb6\x57\x71\x13\xcb\x1d\xa0\x59\xd5\xf7\x80\x40\x2a\xee\xef\x8e\x03\x02\x24\x37\x5a\xf2\x2d\x27\x39\x4b\x58\x9c\x7a\xd1\x8a\x0b\xdb\xa8\x58\xca\xd5\xda\xf8\xeb\x70\x48\x74\x0c\xac\x48\xe6\x6e\x8d\xce\xfe\x7e\x16\xdd\xc8\xd4\xf6\xbe\xda\xe5\x7b\xaf\xde\xe0\xc2\x8a\x83\xf7\x7e\x87\x57\x1f\xe5\x79\x63\xab\xc1\x11\x19\x51\xdf\xf1\x26\xa5\xd3\xc6\xc1\xc0\xad\xc4\xf6\x27\x8b\xb9\x12\xdb\xf7\x44\xcc\x7b\xb2\x36\xbb\x67\x0c\x54\xbd\x03\xb9\x26\x9c\x80\x3e\x7a\xd1\x22\x16\xb6\x57\x38\xcc\x82\x65\x27\xa1\xb2\x14\x97\x0f\x61\xc2\x71\x81\x6d\x34\x33\x4d\x34\xd3\xbb\x0b\x61\x32\x53\x32\x05\x12\x99\x26\x8a\xac\x92\x55\x08\x57\x7d\xf5\x21\x90\xf9\x69\x72\x83\x02\x0b\xaa\xc7\x84\x59\xb0\x90\xd1\x4c\x07\xfd\x6f\xcc\xaa\xaa\xad\x90\x38\x16\x4a\xab\x89\x72\xc9\x06\x66\x28\xd3\xa7\xc3\x17\x71\xbb\x12\xa9\x62\xe2\xc7\x5e\xb8\x48\x2e\x3d\xb9\x45\x01\xeb\xef\x98\xc5\x27\xb0\xfe\xe9\x49\x93\xa8\xf9\x73\x67\xce\x76\xce\x70\x03\x19\x70\x66\xc5\x8b\xc5\xf2\xd9\x83\x43\x62\xeb\xf7\x31\x54\x92\xe7\xbe\x95\x26\x1e\x09\xa8\x6f\x2d\xe2\x68\xc1\xb8\xc4\xc4\x24\xa2\xbe\xc5\x56\xd9\x22\x85\x0e\x6c\xed\x06\xb9\x20\xe6\x24\x21\x99\xaa\x31\xa5\x43\x72\x47\x56\xe4\x96\x3c\x34\xb7\xc2\xca\x34\xd1\xaa\x9e\x91\x55\x19\xa4\xdf\x34\xd1\x5d\x73\x46\xee\xf4\x87\x5b\x70\x48\xa4\xe6\xe0\x76\x7b\x0e\x56\xe5\x1c\xac\xe8\x2d\xb9\x55\x65\x80\xf6\x56\x4b\xb1\xe1\x20\xb7\x62\xe9\x37\x4a\xf7\x8f\xe1\xca\x1c\x99\x66\x5f\x68\xd4\x1f\x81\xc6\x1c\x2e\xc8\x92\x0e\x06\xa9\x13\x8e\x10\x43\xa1\xdc\xfd\x9d\xa6\x15\x33\x63\x49\x29\x4d\x4b\xac\x24\xac\xfd\x58\xac\x11\x76\x12\xab\x9c\x7c\xca\x1c\x46\xb3\xa6\xe0\x8a\xe1\xc7\x07\x84\x9d\x3d\xae\x17\x2d\x53\xe8\xc5\xd7\xf5\xcf\xe5\xd9\x7b\x47\x3d\xe7\x96\x32\xe7\xce\xda\x17\x73\x89\x05\xf7\xa7\x6a\x62\x34\x55\xf1\x71\xc1\xb8\xe0\x86\x66\xed\x00\xd8\x41\xc7\x21\x13\x00\x66\x9a\xe8\x01\x1c\x1f\xec\xae\x06\xbc\x8a\xcb\x5a\x70\xf1\x74\x26\xbd\x7c\x55\x73\xd8\x86\x0a\x1b\xfd\x6b\x48\xd2\x5c\xf2\xf9\x77\xd0\xae\xed\x05\x7d\x20\x57\x74\xe3\x34\xd7\x0b\xb1\x7b\x9e\x57\xaa\x72\x87\x97\x3f\xbd\x3b\xd4\x77\x6b\x79\x4f\x6b\x04\xd1\x1f\x21\x6e\x09\xb8\x81\x63\xc2\xd0\x58\x52\x3f\x25\xb4\xe4\x9f\xd8\xf2\xc2\x69\xc4\x2f\x16\x5c\xa4\xb8\x33\x2d\xdc\x62\xcb\xa5\x88\x39\x84\x61\x7d\xf4\x57\xd9\x2a\x11\x9f\x01\x9d\x94\xb8\x94\x17\x72\x04\xb8\x22\x59\xea\x6a\x65\x3b\xda\xad\x1b\xc4\xf5\xc0\x92\x76\x81\x01\x79\x50\xa4\x40\xbd\x6f\xff\x32\x24\x7b\x5b\x9b\xb0\x21\x8a\xdd\xb6\xdc\x6c\x92\x24\xef\xe3\x69\xa6\xc5\xfe\x1f\x7f\xdf\x0d\xe8\x9b\x09\x25\x75\x74\x69\x36\x04\xaf\xc8\x66\x49\x32\x49\x72\x8c\xf4\x0c\x12\x52\x6d\x94\xdd\xa7\x54\xdd\xdc\xa7\x73\x12\xd0\x70\x74\x25\xcf\x2d\xff\xd9\x7b\xec\xd4\x47\xfd\x3b\x60\xfb\xa9\x2d\x33\x71\x1d\x66\x9a\x73\xc4\xf4\x79\x1f\xb4\x4f\x7b\x66\x9a\x9e\x36\xdb\x19\x5d\x21\x86\x6d\xd6\x30\xaf\xf5\x8a\xaf\xf3\x1b\x75\xd6\x0f\xc0\xc1\x52\xfe\x72\xfc\x8a\x51\xf9\xcc\x1d\x9e\xe5\x79\xbf\x74\x98\x0b\xd7\xb2\xf9\x0d\x95\x14\x07\x30\x84\x0c\xf2\x03\x87\x37\x1d\x10\xc1\x20\xbf\x30\x78\x5f\x6a\xc9\xae\x41\x3e\xa8\xec\x7c\x9a\x64\x1b\x83\x8c\x39\xdd\x83\xef\x02\xc8\x63\x83\x44\x37\xf4\x3d\xaa\xe6\x02\x93\xfb\x40\x5d\x0a\xb4\x68\x57\xdc\x7b\x02\xb4\xed\xce\x59\xcc\x23\x75\x41\xaf\x04\xc0\x0d\xa1\x70\x45\xf1\x34\x64\xc1\x0d\x09\x6f\x83\x0e\x32\xf6\x6f\xbb\x82\xe2\xad\xbb\x7e\xc9\xaa\x51\x0a\x9a\x4a\x77\x71\x2e\x01\xfc\xa9\x8e\xe4\x50\x73\x41\xa8\x8a\xce\x6a\x5d\xb0\x8b\x32\xca\x7c\xc2\xd6\xe3\x3a\xff\x5a\x27\xd7\x3c\x34\xfa\xa8\xc3\x55\xec\x33\x49\xe5\xfc\xb4\xe3\x83\x5e\x38\xb4\x8c\x8e\xde\x98\xdc\x3a\x6d\x07\x25\x5f\x7f\x5c\xc5\xd9\x62\xe5\x85\xe0\xe9\x4f\x27\x55\x09\x47\x65\x2b\x7a\x9e\xea\x2c\x30\x51\x75\x06\x80\xb9\xfe\xaa\xe7\xb9\xfe\x2e\x24\xe6\xac\xa1\xde\x4f\x57\x9e\x27\xd2\x66\x3f\xd4\x4c\xd3\xbd\x72\x14\x40\x5b\x20\xd6\x8c\x3e\x38\x4d\xfb\x47\xb8\xb2\xc9\x6f\x4a\x27\xe9\xfb\x1b\xa0\xf3\x96\xd4\x87\x4d\x0f\x43\x8a\x49\x42\x97\x5a\xd0\x4e\x32\xba\x24\x29\x4d\xc8\x0f\x80\x7d\xe5\x11\xab\x7c\x4d\x94\xc0\x88\xec\x93\x56\x32\xed\x6c\x3d\x74\x6b\xed\x57\x91\xed\x21\xee\x62\x20\xe4\xd8\x5e\xc2\xff\x72\x4f\x36\x9a\x1d\x18\x08\x1b\x92\xbe\x69\xa7\xed\xef\xef\x2f\xb1\x81\x9d\x8c\x76\x49\x73\x4e\x97\xb2\x53\xf7\x10\x47\x19\x71\xea\xc9\xbd\xde\xb0\x87\xef\x46\x54\xbd\x47\x32\x3f\x1e\x05\x88\x91\x47\x59\xad\x7d\xdb\x5c\x74\x05\xb6\xe5\x09\xd9\x4a\xc3\x45\x51\x05\x5b\x2e\x87\xa4\x29\x3b\x58\xc4\xa5\x1f\xfd\x0a\x64\x72\xcf\x90\xbc\xed\x97\xb3\xa3\x99\x7d\x9b\x72\x7a\x9f\xc4\x03\xbd\x3b\x15\x2b\x5f\x47\xeb\x2e\x3d\x50\xe4\x39\xeb\x03\x8f\x4f\x76\xf9\x81\x0e\x9d\x73\x8e\x1e\xbd\x2c\x89\xc0\xba\x97\x94\x5b\xd4\x16\x64\x2f\x15\x59\x57\x75\x44\x5e\x57\xfa\xc3\x82\xac\xe2\xed\x8f\x5c\x44\x22\x13\x3d\x99\xa7\x20\xe5\xb6\xb6\xc3\xd2\x07\x71\x53\x7d\xa4\x89\xff\x6f\x1b\x2b\xf8\xb6\xbd\xbe\xc3\xd6\xdd\x52\x90\x0f\x37\xd8\x09\x6b\x95\x09\x41\x7e\x61\xb8\xa8\x6b\x07\x45\x95\xdd\x55\x0f\xdb\x55\x1f\x6d\x55\xfd\x0b\xeb\x54\x2d\xdb\xba\xed\x88\xde\xcb\x36\x50\xb3\xd5\x1f\xab\x4d\xdb\x6e\xb9\xb1\x73\x6f\x3b\x5b\x3b\xb4\x52\x91\x95\x0d\x49\xe4\x5a\x7d\x35\xe0\xb5\x7c\x69\x36\x73\xf5\x7c\x23\xc3\x4e\x23\x47\xdb\x8d\xb4\x9a\xa8\x5b\xac\x1a\x91\x84\xf1\x0d\xf3\x66\x15\xd7\x99\x36\xdd\xfa\x05\x96\xc7\x62\x4f\x44\xe8\x07\x18\x97\x1a\x97\xca\x41\x8a\x94\xee\xb5\x52\x09\xa9\xca\xcb\x7c\x6a\xb9\xd6\x03\x56\xca\x60\x9a\xfd\x50\x52\xb4\xf6\x46\xc9\x73\x2d\xbe\x69\x27\x97\xde\xe6\x6f\xbb\x28\x9b\x78\x32\x0d\x6a\x27\x9c\xb6\x0a\x11\x80\x51\xe3\x0e\xd3\xac\x9f\x2d\x16\x45\x8b\xb5\x8e\x21\x0d\x93\x9d\xac\xe2\x1a\xb3\xab\xcd\xfb\x44\xdf\xea\x13\xc8\xc7\x8f\x22\xcf\x3d\x15\x9f\xa5\x0d\x2e\xf5\x47\xcc\x5e\xb7\x51\x40\x1f\x02\xbc\xcb\x8a\xd7\xc9\x34\x13\xd0\x83\xab\x05\x1c\x75\x48\xdd\xc2\xaa\x23\xa9\x09\xcc\x96\xb6\x7e\x43\xdb\xa9\x44\x5f\xfd\xa1\x33\x47\xb7\xcd\x53\x8b\xec\xba\x2c\x69\xff\xa1\x5c\xc2\x11\x3a\x01\x30\x0d\x1a\x8e\x3f\x46\x7b\xfd\xa1\x8d\xa0\xa2\xce\x51\xd7\x61\x76\x06\xc8\x2b\x95\xd1\x40\xeb\xa6\x82\xc8\xaf\x20\x9a\xb8\x44\x54\x60\x3d\x59\x5b\x75\x17\x9f\x81\x01\xb6\xa7\x1c\xec\xcc\xf2\xbc\x7f\x8f\x66\x70\xb5\x68\x0a\x58\xbb\xf5\x18\x64\x86\x9d\x00\x85\x64\x8d\x1d\x5e\x7a\x2b\xec\x5e\xb5\x02\x75\x0f\x2a\xda\x8c\x5f\xb9\x4d\xe0\xcb\x11\x2e\xb0\x62\x1c\x6a\xcf\x29\x33\xb9\x36\x10\xdf\xbe\xb3\x85\xa0\x10\xb1\xc1\x76\x88\x64\x7d\x55\x9f\x03\x35\x26\x12\xc5\x3e\xc0\xf4\x36\x14\xe9\x94\x6b\x95\x2a\x6b\xa8\x3c\xae\x43\x46\x20\xd8\x1f\x06\x03\xed\x1d\xe6\xc1\x69\xb6\x55\x2f\xf5\x5a\xc2\x97\xe7\x86\xa2\x9c\xe4\x18\xdd\xa1\x15\xc6\x81\xbe\x86\x69\x37\xfd\x7a\x1a\x57\x79\x8e\x9e\x5c\x0c\x5b\xd3\xb7\x73\x7e\xf6\x9e\xcc\x8f\x89\x6c\x74\x85\xc9\x4a\xaf\x9a\xfe\xb0\xc0\x08\x8f\x04\xc2\x23\x1f\xc1\xd8\x1c\xe9\xff\xe5\x6a\xee\x68\x92\xd1\x5d\xdd\xac\x70\x8a\xd3\x44\x36\x53\x1f\x3d\xbd\x0d\xfb\x70\xa2\x19\x5a\x47\x52\xe6\x0b\x59\x7a\x01\xe1\x3b\xeb\x9e\xe0\xa7\xcb\x53\xd8\xe3\xe5\xc1\xa0\x03\x4d\x37\xf0\x3c\xa9\x49\x9c\x54\x1c\xc7\xfc\xa7\x5a\x84\xec\x3c\xf1\xa9\xdb\x35\xef\x39\x0c\x39\xf5\xd1\x8a\xde\x21\x0f\x8f\xd6\x76\x7f\x88\xeb\xa8\xfc\x43\x87\xbf\xbe\xad\x2f\x23\xda\x8e\x9d\x0f\x06\x78\xea\x23\xa8\x52\x7f\x9a\x70\x17\x79\x98\xc8\x3a\xf0\xe3\x4a\xae\x68\xf0\x7f\x59\x74\x11\xaa\x69\xee\xc2\xa7\xa6\xd9\xc1\x58\xe0\x52\xd7\xd9\x53\x7a\x2a\x6d\x34\xea\x7f\x3b\x1a\x6d\x11\xd3\x1e\xf8\x52\x6a\x37\xe3\x6d\x21\x45\xf1\x34\x52\xdc\x81\x9a\xbd\x6f\x42\xcd\x0c\x3f\x6e\xe3\x64\x36\xf2\x76\xe0\xe4\x67\x9a\x2f\xea\xb9\xde\xfa\xdc\x9c\xec\x74\x8b\xda\xd3\xe8\x78\x9b\xe4\x6f\x81\x98\x25\x9b\x47\x86\x70\xe1\x01\xd7\x87\xe3\x47\x0f\x64\xee\xcd\xc3\x7f\xc7\xbe\x81\x3d\xd9\x3a\x88\x99\xd3\x9c\x9f\x7e\x63\x82\x56\x4b\xb9\x30\x3f\xc5\x5a\x3d\x33\xcf\x65\x57\xb9\xb8\x59\xac\x62\x4f\x54\x75\xab\x91\x44\x1e\x2e\x9c\x3d\xdd\xdf\x27\xf2\xb4\x54\x47\xf5\x7a\x6d\x9d\xb2\x8e\x30\xcd\x63\x24\xac\xb2\xbc\x52\x3a\xaf\xdf\xc9\x4f\x48\xe0\x11\xa7\xc2\xfe\x09\x89\x89\xe7\xc2\xf3\xc4\x73\xe1\xd5\xe0\x0a\x4c\xc3\x55\x74\x78\x2b\x05\xb7\x70\x03\x1f\xfd\x40\x03\xd4\x26\x89\xb6\x74\x56\x0b\xc2\xb1\x1d\x55\xcc\xea\x5d\x59\xec\x5d\xfa\xaf\x3b\xeb\xc2\x85\x53\x4b\x47\xbb\x1b\x3d\xd3\x8a\x5e\x5e\x9f\xb6\xf7\xce\xd6\xfa\xef\x7c\x57\xf4\x83\xdc\xc1\xed\x6c\xbb\x36\xd3\x8a\xae\x9d\x1a\x4f\xdc\x36\xaf\x99\x44\xd0\xf2\x04\x23\x3e\xf5\x1c\x71\x70\xe0\x60\x9f\xf2\x89\x70\x91\xdf\x26\xdb\x94\xc9\x22\x6a\x2d\xa0\xbd\x67\xf0\xa4\x4f\x1a\xc4\x1c\xd9\xb5\x21\x7d\xb2\xa9\x43\x7f\x7a\x05\x2e\x5c\xf2\x03\xf0\xd4\x76\x89\x34\x76\x4a\x84\x9b\xc2\xf9\x8a\xd7\x63\x68\xed\x6a\xf9\xa0\x13\xf5\x0d\xb1\xad\x70\x7d\x1f\x34\xb8\x46\x3b\x25\xcb\xde\x13\x9a\xd7\x1d\x72\xb8\xad\x92\xfd\x14\x77\xab\x21\x69\x01\x35\x6b\x8f\x2a\x8d\xe3\xa0\x75\x65\x70\x82\xd6\x9d\x16\x85\x93\x57\xae\x69\xca\xff\xd5\x56\x01\xe1\x62\x43\x2d\x39\x68\x59\x0d\x68\x65\x9a\xe6\xb8\x05\x95\xee\x31\x33\xcd\xe0\x79\x9d\xe3\x00\x6c\x2f\xe4\x8a\x7d\x52\xbd\xb8\x5b\x43\x5b\xbd\x38\x00\x57\xd8\x7b\xcb\x45\x9a\xd9\x6d\xb9\x69\xa7\xff\x53\x1f\x05\x0d\xec\x13\x6c\x23\x1f\x2c\xac\x45\x8c\x76\x7c\xe8\xf6\xee\x49\xcc\xd4\xd1\x7b\x91\x5d\xba\x89\x56\x89\xd1\x72\x65\x17\x54\x97\xa2\x3c\x47\x6c\xb7\x88\x2a\x68\xde\xa8\x1a\xe2\xaa\x76\x7a\xa5\x4a\x4d\x36\x01\x3d\x44\xd7\xe9\x20\xff\x15\x6b\x4c\x04\x6f\xfb\xf8\x90\x7c\xfa\x2a\x2f\xb3\xb1\x46\x9b\x7c\x32\xcd\x13\xdb\xa5\x94\xd5\x60\x88\x94\x1c\x8f\x90\xa1\x92\x99\xea\x59\xed\x6d\x80\xb1\x73\x8c\x5a\xb9\xeb\x21\x1f\x3d\xf1\x41\x1f\x04\xb4\xaf\x63\x86\x6e\x65\xa0\x57\x4f\x94\xac\xfc\x69\x6e\x82\x96\xd7\x77\xfe\x4c\x23\xa5\x4f\x18\xa3\x67\x14\xb8\x0c\xf0\xfd\x4c\xf6\xc2\x2d\x0a\x72\xac\xd8\xcf\x4d\x49\x51\xbd\xbf\x4f\xbf\x2b\x30\x79\x08\x14\x23\xb2\x44\x07\x98\x1c\x97\x0a\xdd\x93\xeb\xf4\xfa\xd2\x1d\x8c\x30\x1a\xd9\xd7\xe9\x80\xa5\xd7\xe9\xa0\x4e\xc4\x23\x95\x1c\x24\x8b\xd5\xf2\x3a\x1d\xdc\x6c\x76\x7e\xe6\xd3\x94\xdd\x44\xe2\x3a\x1d\xac\x43\x11\x77\xb2\x5c\xa7\x03\x7f\x91\xc8\xc4\x91\x8d\x26\xd7\xfb\xd7\x6b\x57\xfd\x7f\x09\x66\x86\xd7\x48\x81\xd1\x4c\xbf\x4e\x5f\x92\x9d\xa9\xd7\x18\xe3\xeb\x74\x30\x6d\xb7\xa1\x80\xc8\x12\xe6\xcd\x76\xc1\xb8\x7f\x48\xde\xb7\x45\x16\x3b\x15\xa1\xb6\x6c\xe9\x44\x23\xc5\xaf\xd8\xa7\x41\xe9\xff\x5b\x44\xc2\xcb\x4a\x7a\x42\xb9\x44\xac\xce\x00\x6d\x05\x1e\xb1\x1b\x11\xd1\x3d\x6d\x04\x0e\x83\x48\x85\x7a\xd1\x43\xc6\x69\x50\x5f\x77\x6a\xd1\x37\x5c\xeb\x52\xd3\x7c\x0b\x2a\xd4\x1e\x65\xca\x65\xb6\xd7\x74\x3e\xc6\x7b\xd3\xb8\xc7\x30\xdb\x76\xa3\x6e\x9a\xc6\xbe\x62\xdb\x37\x4c\xd9\x34\x87\x9d\x37\x0e\x1e\x25\x28\x63\xda\xac\xed\x38\x50\xb7\xc9\xb9\xbe\x41\x3e\x04\xc8\x98\x8a\xfb\xa5\x41\x18\xb9\x67\x88\x6b\xc7\x9c\x09\x9d\x4f\xfe\xe2\xe6\xf9\x7c\xf2\xdf\x2e\x49\xe9\x7c\xf2\x57\xd7\x61\xf4\xb0\xc7\xd2\x9e\x16\xd5\xcc\x27\x43\x49\x8f\xcc\x27\x47\xca\x4a\xe9\x8e\xce\x27\x7f\x73\x1d\x4e\x3d\x34\x9f\xbc\x72\x47\xf2\x83\xad\xfd\x8d\xae\x25\x6a\xf6\x80\xfd\xc6\xc9\x8a\xde\xc9\x97\x3b\x4c\x6e\xe9\xdd\x68\xa7\x1a\xd7\x0a\x09\x79\x43\xdc\x65\xd9\xfe\x8e\x81\x48\xe7\x81\xee\x2c\x78\x8b\x18\xb9\x87\x14\x79\x29\xd5\xa0\xc8\x5e\x1c\xb9\x98\x1c\xc3\xfb\x77\x2e\x68\xa2\x90\x4f\xf0\xf6\x67\xfd\x76\x0e\x6f\xff\xe3\x62\xf2\x86\x3e\x16\xe4\x9e\xa6\x1d\xc8\xde\x4c\x52\x97\x7a\xce\x9b\x49\xd2\xf0\x68\xf6\xa6\xb0\xf7\x9a\x30\x76\xbf\x56\xb1\x8e\xe5\xa2\x7d\xb3\xb1\xef\x08\x68\xc6\xc0\x8b\x72\xac\xfc\x20\x53\x7e\x96\x33\x23\xd7\x49\x6a\x7b\xe8\x7c\x87\x8a\xc4\x44\x0e\x3e\xcb\xf3\xe6\xba\xa0\xe0\xe9\xda\xaf\x09\x9c\x80\x0e\x9d\xe0\xb5\xef\x04\x83\x41\x65\xe7\x47\x29\xe5\xa3\xc0\xe6\x93\xc0\x25\x33\x7a\x8f\xd8\x24\x74\x49\x88\x49\x48\x6f\xd5\xf3\x0c\x8c\x95\x40\x28\x03\xeb\xa2\x31\x5e\x21\xdd\x20\x41\x66\x98\xd4\x19\xe4\x78\x81\x50\xfd\x53\xeb\xcb\xac\x45\xe7\xc8\x1e\x69\x14\xd4\x14\x8b\x95\x80\xeb\xc0\x91\x8f\x05\xe1\xf4\x1c\x09\x2c\x7b\x45\x02\x1a\x23\x2e\xc1\x2a\x3d\x94\x69\x87\x65\xa1\x33\x2f\x7b\xb3\xa4\x9c\x52\x1a\x8c\xe6\x76\x30\x99\xbb\x24\xa1\xf7\x88\x4f\x96\x2e\x59\x62\x92\xd2\x35\x12\x24\xc1\x64\x49\x6f\x51\x2a\x1f\x32\x80\x3d\xc1\x64\x45\x8f\xd5\x43\x02\x30\x27\x32\x73\x2c\xd6\x3d\x1f\x2d\x49\x4a\x32\xb2\x22\x49\x15\xc5\x5a\x92\x1e\x93\xa5\x4b\xd3\xd2\xf4\x6d\x9a\x89\x79\x6a\x33\xd2\x40\x02\x63\xb6\xb4\xbd\xba\x87\x67\xc9\x62\x5e\x9d\xca\xbb\x96\xab\x37\x79\x40\x0c\xbb\x05\xd9\x0b\x1a\xb7\x16\x59\x4c\x55\xb0\xab\xcc\xdd\x88\x33\xcb\x5b\x2c\x37\x88\xd5\xc8\x46\x92\xe4\xb5\xd6\xaa\xfc\x53\x57\xd2\x2d\xe7\x08\xea\x18\x31\xe4\xd2\xd8\xf5\x0d\xd0\x53\x1d\x85\xbb\x75\x32\xb7\x35\x47\x4a\xca\x53\xf5\xde\x20\x5b\xfa\xa1\x0d\xfa\x47\xfb\x36\x69\xe2\x38\x65\x59\xa9\xb9\xe7\xd4\x73\xbc\x1a\x19\xb2\xea\xd1\x61\x0a\x7b\xf6\x29\xf5\xd4\x93\x69\x22\xfd\x44\xf5\x37\x1d\xd8\xbb\x54\xc2\xd3\xa9\x72\xd6\xee\x34\xe1\xae\xe3\x93\x43\x51\xa5\xf0\xcc\x9a\x88\xbb\xc1\x6a\x5a\xd6\xc2\x51\xcf\x34\xcf\x24\xed\xa0\x4d\xc3\x31\x6c\x15\x4e\x3d\x5b\xde\xb0\x94\xc2\xc8\xc5\x82\x0b\xd4\x3f\xc2\xc4\x1b\x31\x6b\x1a\xa7\x22\xc9\xde\x08\x7f\x91\x08\xc4\x89\x27\x27\x44\xc9\x98\x4f\xc2\x69\xc4\x01\x73\x56\xb2\x91\xaa\xc1\x04\xee\xdc\x7a\xe9\x7b\x0e\x73\xb0\x47\xf7\x18\x78\xa0\xbe\x9c\xde\x44\xd3\x38\x20\x3f\xdf\xc8\x8d\xcc\xa8\x57\x97\x4a\xeb\xad\x7f\x6b\x9a\xb7\x93\xa1\x2b\x37\x8b\x69\x9e\x6b\xca\xd2\xcb\x73\x0e\xbc\x11\x87\x81\xce\x3f\xc4\xc7\x66\x2a\x3e\xb6\x67\x9a\xff\x23\x13\xa0\x67\x57\x92\x38\x74\x30\xa3\xad\x26\x2b\x47\x07\x75\x8b\x77\x15\xdf\xe9\xde\x34\x57\x56\x22\x18\x2f\x2d\x1c\xef\xe9\x89\x55\x6f\x69\x54\xc6\x38\x87\x0d\x1c\x4c\x86\xae\xe5\x4f\x93\x34\x83\x41\x70\x3e\x49\x4a\x77\x99\x08\x10\xbd\xdf\x62\x87\x53\x50\xea\xbc\xb7\x60\x2b\x59\xfe\x22\x39\x65\x5e\x5b\xaa\x0b\x98\x8a\xcc\x1c\xa6\x4e\xce\x11\x0a\xa9\x37\xd1\x2f\x2e\x09\xf3\x1c\x85\x74\x89\x02\x18\x03\x52\xaf\x60\xe2\x63\xc2\x69\xd8\x1a\xc9\xb0\x5a\x38\x90\x87\x34\x6b\xa2\x8f\xf0\x5b\x4a\xff\xc3\xd2\x8b\xb7\xea\x56\x95\xdc\xe8\x4c\x81\xc9\x8c\x2e\x51\x68\x35\x0b\x92\xd0\xda\x55\x90\x94\xdb\x8e\x08\x4c\xe4\xe2\x9f\xe1\x27\x72\xd2\xbd\x59\x13\x66\x6c\xa3\x59\xbb\x7b\x9d\x5a\x38\x6d\xe7\x2f\xb0\xa3\x1d\xb2\xcc\xc4\x26\x45\x1e\xde\x39\xa8\x09\xf2\x26\xcc\xdd\x09\x00\xb0\xb6\xe5\xa4\xac\xeb\xfb\x2b\x50\x04\xeb\xb6\x29\x8f\x3a\x41\xda\x4b\x01\x9d\x58\xfa\x28\x1b\x81\xae\x7b\x88\x6d\xb9\xea\x42\x9c\xe7\x68\xdd\xd1\xd0\x0f\x31\x69\xb4\x80\x15\xbe\x5a\xd3\x99\xa4\x17\xa6\x3e\x5a\xab\x16\x56\x74\x26\xd7\xf4\x8c\x46\x56\xe9\xa3\xa0\x3a\xe2\x6e\xc9\x03\x1d\x92\x0d\x0d\x94\x9e\x47\x22\x62\x24\x0f\xf1\xd2\x9b\xb7\xf3\xf0\xfa\xd8\x79\x50\x0c\x40\x60\x78\x6e\x26\x0f\x6e\xe9\xf4\xf5\x96\x6e\x2c\x71\x8b\x1e\x74\xf4\x1b\x68\xfc\x13\xed\xf7\x6f\xc9\x39\x7d\x83\x3a\xfb\x1b\x3b\xe7\xb2\x1c\x32\x46\x86\x56\xcb\x23\x27\x94\xa3\xc8\xaa\x68\x69\x12\x40\x84\xca\x11\x5a\x7f\x4d\xd3\x00\xdc\xe0\x97\xca\x06\x64\x65\x01\x87\xac\x2b\x3d\x62\xf8\xf1\xb9\x2d\x51\xa1\x4d\x8d\xc5\x40\x7e\x25\xaf\xad\xf2\xbe\xb7\xab\x00\x62\xf4\xde\xda\x7d\x28\xc9\xb9\x34\xcd\x7e\x8d\x72\x25\xc2\xd8\x51\xff\x10\x2e\xb6\x8d\xe9\xde\xe6\x48\x07\x30\x48\xea\xc0\xf6\x74\x44\x25\xb2\x05\x46\xfb\xb0\x9c\x30\xb7\xdb\xbc\x26\x1a\x00\xe0\x1d\x27\xa2\x72\xe5\x5a\xeb\x85\x90\x6a\xcd\xc9\xa2\x8a\xd3\x74\x22\xaf\x8f\x5a\x56\xd2\x12\x9b\x7d\x90\x13\x54\x9f\x99\xa5\x59\x62\x33\xd1\x9a\xb3\xe5\x2e\xb5\x92\x13\xab\x43\x9b\xa9\x30\x54\x4d\xd6\x40\x63\x3d\x83\xf2\x50\x6b\x76\xb7\xa9\xb6\x67\xa6\xc4\xd9\xf3\xc0\x8b\x49\x39\x2a\x23\x40\xa4\xf5\x79\xd6\x18\x44\xd3\x44\xe7\xb5\x8a\xdd\xa7\x3c\xbf\xad\xdf\xea\x52\xed\x32\xc4\xdb\x35\xc3\xad\xd4\xec\x38\xcb\x92\xe9\xcd\x2a\x13\xc8\x28\xf3\x18\xa4\x7e\xc4\xd8\xae\x25\xe4\x9f\x46\x1d\x18\x9a\x48\x9e\xa8\x75\x21\xa9\xe8\x5b\xed\x1e\xa2\xae\xb0\x3f\x94\xa9\xca\x0e\xaa\x95\x8a\x6d\xd4\xe9\x4b\x55\xe5\x79\x55\xe5\x48\x52\xe6\x3b\xeb\x3c\xdf\x59\xe7\x57\x16\xf0\xd6\xe2\xd4\x2b\xda\xad\x0e\xc4\xd6\x52\x1d\x75\x20\x6c\x0c\xc1\x73\x8b\x17\xc6\x6d\xe7\xb2\x45\x5b\x9c\x91\x1d\xab\xae\xb5\x80\x8b\x16\x4f\xa1\xbd\xfe\x9c\x4f\x23\xd4\x80\x8e\xa1\x5b\x8c\x3c\x39\xda\x5d\xfd\x73\xc5\x62\xc1\xd8\xbe\xdd\x85\xfa\xee\x50\xad\xce\xdf\xd8\x57\x00\x58\x7d\x31\x21\x77\x5a\x2d\xf0\x8d\x68\x38\xfc\xe9\x6a\x21\xc9\x0f\xc1\xb6\x02\xac\xa2\x54\x0f\x1f\x8b\xc3\x80\xf8\xf4\xf0\xd7\x75\x28\x62\x34\x9e\xc6\xab\x14\x8f\x90\x35\xc0\xfb\x87\x25\x39\xda\xa6\x2b\x4b\xd7\x84\x25\x91\x32\x53\x0c\x31\x15\x7f\x47\xd9\x13\x28\x6f\x7a\x91\xe5\x2d\x56\x71\x46\x96\x34\xd2\x5a\x6e\xb2\x09\x49\x8b\xc0\x2a\x69\x26\xca\x9b\x40\x64\x2d\x7c\x3f\x15\x59\x9e\x0f\x49\x4a\x43\xcd\x47\x5a\xe2\x3c\x7f\x2c\xc8\x5a\x52\x36\xc7\x72\x3f\x65\x2c\xc9\x2e\x37\xf3\x9b\x45\x04\xba\xad\x9e\x25\x62\x5e\xbd\xdf\xd2\xe3\x41\x3c\x30\x0e\x8c\x41\x32\x58\x91\x07\x5a\x6a\xe5\xde\xb7\x63\x49\x34\xb8\x58\xbe\x32\x7d\xf6\x74\x5c\x4e\x8a\xf8\xe4\xc8\x1d\x19\x07\xca\xc7\xd4\x19\xe2\x93\x57\x2e\x26\xe9\x84\xbb\xb4\x0d\xf7\xc4\x73\x01\x25\xee\xcd\x51\x4b\x66\xc9\xf1\xe3\x5a\xe6\xf6\x50\x1d\xd5\x45\x90\x5b\xc8\x1b\x96\x4b\x2e\x26\x5d\xd9\x84\x68\x9a\x88\x82\xef\x1f\x25\x08\x13\xd8\xf1\xf3\x5c\xf4\xa6\x71\x2f\xcd\x73\x04\x51\x42\xa3\x55\xc2\xa2\x13\x96\x21\x71\x90\x60\xec\x08\x4a\xe9\x7d\x9e\xfb\xa6\xf9\x13\xba\xaf\x24\x68\xf7\xf2\xf8\x7f\x40\xb2\xa6\xf5\x44\xb8\xe4\x0e\xf9\x78\xa4\xbd\xb0\x7b\xa6\xc9\x2d\x2e\x6e\x56\x01\xf8\xd0\x81\xfa\xa6\x0f\xc2\xee\xc5\x8b\x5e\xb2\x8a\x44\x4f\xc7\x73\xe9\xf9\x8b\xa4\xf7\xc2\x18\x88\x81\xf1\x42\x05\x7c\x5b\x62\xf2\x40\x37\x64\x86\x30\xb6\x1f\x68\xd5\x1f\x5f\x12\x45\xf7\x54\x94\xfa\xd9\x27\xa2\x65\x2e\xb0\x53\x09\xbb\x9c\x01\xe0\x8e\x7d\x11\x4b\xc1\x32\x03\x13\x41\xb7\x94\xe6\x66\x64\x4e\x96\xf8\x91\xc9\x51\x15\xce\x4c\x1e\x95\x93\x99\x4b\xe7\xc0\x31\x9e\x82\x25\xbb\x27\x1f\x81\x48\x84\xf0\x23\xf0\x1a\xb1\x34\xa3\x1e\xa5\x74\x79\x70\x24\xdf\xe7\x53\xce\x23\x41\xfb\xa8\xcc\x9a\xe7\x3a\x97\x62\x3d\x73\xae\xbe\x89\x3b\x11\x43\x2d\xc8\x33\x8f\x30\x2e\x76\x5e\xca\xf6\x7e\x9f\x05\xc0\xd1\xe9\x77\xad\x7b\x5c\xa5\xf4\xff\x9c\x6d\x44\x68\x95\xe3\x42\xa2\x27\xf5\xf6\x55\x06\xbb\x07\xc1\xca\x7b\x86\xa4\x8e\x03\xcd\x54\xea\x30\x19\x9f\xe2\xdd\x3d\xc1\x76\x7c\x92\xa5\x07\xee\x25\xb4\xf2\x83\x66\x57\xf1\x92\x5b\x15\x28\x4a\x2d\x06\x82\x92\x2c\xe9\x6c\xf2\xca\x25\x09\x9d\x4d\xbe\x73\x49\x4a\x67\x93\x3f\xbb\x64\x46\xe3\x0a\x3e\x34\xb2\xd1\x75\xfa\x52\x31\x19\x07\x38\x6f\xf2\x23\x07\x1d\x4e\xe4\x40\xf3\x20\x77\xb5\x3d\xe5\xd0\x7a\x8c\x35\xcf\x6b\x06\xfc\x24\x80\x61\x03\x30\xc8\x12\x89\x69\xa2\xfe\xe1\xaf\x93\x7d\x15\xf8\xe9\x37\xb7\x7c\x1a\x1e\xfc\xed\x37\xf7\xe5\xbe\xe6\xa0\x25\x38\xcf\x0f\x7f\x85\x8d\x92\x57\x81\x8d\x20\x20\x51\x7e\xad\x56\x5b\x7e\xad\xd7\xcf\xb5\x5e\x53\xf9\x35\x2c\xa3\xfc\x1a\xd6\x4e\x7e\x2d\xd7\x52\x7e\xad\xe5\x15\xf9\x35\x88\x96\x64\x61\x8e\xeb\x46\x70\x0d\xfe\x0d\xe3\xe0\x5f\xd5\x20\x7b\x9a\x33\x07\x2a\xfd\xe4\x98\xdc\xd3\xc7\xfd\x29\xb7\xdf\xb1\xc2\x49\x47\x2b\xca\x50\x8a\x6d\xf4\x04\x93\xed\x1d\x83\x30\xc0\xc7\xbb\x74\xec\x58\xb1\x6d\x59\xc3\x40\x19\x15\x14\x51\x57\xa6\x89\x6e\x69\x5b\x05\x1c\x3f\x6e\x4c\x13\xdd\x4f\x36\x2e\xf5\xb0\x73\x3f\xb9\x73\x29\x77\xee\xcb\xfd\x26\x9c\x8a\x27\xc8\xc8\x3d\x2e\x4a\x27\x35\xe0\xa1\x92\x6d\x9f\x5b\xcb\x2d\x23\x81\x19\x59\x92\x0c\xcc\xfe\xc8\x8a\xdc\x43\x41\x72\x42\xde\x91\x0f\x64\x4c\xde\x93\x33\xf2\xd1\x49\x60\xa3\x27\x2e\x55\x3c\xb0\xb7\x0c\x85\x18\xbf\xa7\x21\x59\xd2\xdb\x3c\x7f\x50\x7a\x24\xf2\x56\xf2\x51\xa2\x26\x48\x3c\x26\xef\xe9\xc4\x25\x21\xce\xb4\x67\xac\x90\x7c\xac\x38\xb2\x1f\x9b\x1c\xd9\xf7\x8a\xdc\xfd\x88\x9d\x13\xfa\xbe\xbc\xba\x7c\xa4\x10\xf6\x00\x9d\x60\xb8\xed\xcc\xe8\xd0\x99\xbd\x3e\x71\x66\xea\x36\xf3\x8e\x86\x94\xd2\xf7\xa3\x99\xfd\x7e\x32\x73\xc9\x07\x1a\x4e\xde\xb9\x64\x4c\x97\x48\x42\x3d\x93\x87\xc4\xd8\xc5\x67\x54\xfe\x10\xad\x65\x08\xcf\xf7\x93\xb1\x4b\xcf\xc8\x47\x89\xb4\xce\x14\x33\x79\xea\x23\x99\xaa\xd7\xc0\x1c\x7d\x24\x7b\x1d\xa5\x6c\x66\x01\x81\x60\x9a\x28\x9d\x30\x6b\xca\x5d\x2a\x09\x5f\xc2\x91\xc1\x57\x4b\x91\x1a\x24\x20\x63\xf2\x01\x3b\x50\xeb\xe3\x94\xdb\x63\x6d\xa3\xb6\x26\xca\x6a\x67\x5d\x38\xd0\x70\x7f\x58\xc8\xce\xac\xe0\x04\xc1\x8f\x12\xbe\x95\xeb\x8c\x69\x72\x83\xce\xb4\x05\x8e\xe3\x69\xeb\x8f\x31\x8c\xf4\x58\xd2\xaf\x6a\xf1\x4a\x82\x04\xeb\xb1\x20\x4b\x3a\x2e\x47\x6a\xf6\x7a\x09\xc3\x32\x9e\xcc\x5c\x6b\x7f\xff\xe2\xdd\x6f\x5f\x4e\xc7\x9f\x7e\x3a\x7d\x4b\xfb\x43\xe7\x4c\x81\xde\x30\x35\x29\xbe\x79\x38\xcf\xa8\xec\x10\xd1\x55\xe0\xc7\x15\xcd\x1c\xbe\xe8\xad\xe8\xaa\xc5\x2a\x59\x87\xd3\x48\xa0\x95\x69\xae\x5a\xad\x63\x47\x77\x69\x32\x74\xfb\x74\x25\x69\x3c\xa0\xc3\x1a\x7d\x55\xb6\x20\x6f\x50\x86\xb1\x93\xd1\x32\xbb\xfe\xd5\xdd\x3b\x38\x72\x1d\x81\x34\x0c\x64\x46\xee\xc8\x07\xb2\x21\xef\xc8\x09\x56\x7a\xb1\x4d\x1b\x15\x79\xde\xeb\x9c\x94\x2b\x9f\xb5\x92\xf0\x69\x52\x73\x0e\x9b\xb0\x86\x05\x96\xef\x78\x95\x61\xca\x5e\x0b\x1a\xbf\x04\x9f\x32\xe7\x7e\x72\x06\xb3\x7e\xf6\x14\x24\xd8\x49\xe9\x7d\x69\x16\xf2\xf6\xab\x16\x6b\xad\xd3\xab\x7b\x78\xed\x30\x01\x01\x3b\xca\xda\xd8\xec\x32\x5c\xb4\x23\xee\xb2\x89\x37\x32\x1a\x34\xad\x61\x1b\xa5\x44\xda\x70\x11\x07\xed\xcd\x70\xca\x85\x41\x1e\x33\x31\x5f\xc2\x07\x91\xda\x65\xf2\x41\x09\x6b\x51\x92\x0c\xeb\xff\x74\x17\xce\xa7\x5c\x6c\x77\xa1\x02\xda\x6e\xf5\xe6\x0f\x75\xe1\x14\x84\x81\x3b\xcc\x4b\x14\x10\x5c\x8e\x63\xb6\x89\x44\x4b\x67\x8d\xe3\x47\x6e\x9a\x4c\x29\x5c\xce\x11\xef\xd0\x92\x9e\xe5\xa5\xa9\x04\x06\xa2\x6b\x83\xb5\x86\x4c\x60\xb8\x00\x4d\x41\x4c\xce\xbe\x61\xdc\x2a\xcb\x94\x4b\x08\x31\xf6\x84\xb4\xb7\x71\xa7\x51\xc1\x96\x58\x2a\x52\xfa\x28\x7b\xf6\x84\x8d\x50\x15\xc3\x05\xe2\xc2\x44\x10\x9f\x5d\xfe\x8b\x77\x1f\x51\x8d\x06\x94\x35\x8a\x27\x90\x47\x8e\x70\x51\xb4\x2d\x1b\x15\x94\x79\x2e\xac\xc5\x36\xa1\xcc\x89\x70\x38\x1d\x02\x86\x16\x34\xaa\x74\xce\x5e\x0b\x67\x30\xe0\x98\x95\x7a\x37\xd1\x84\xbb\xd8\xe1\x55\x8e\xaa\xc8\xac\x5b\x44\xdb\xd2\x25\x37\x28\x98\x70\xb7\xc4\x89\x33\xf9\x5c\xa3\x30\x07\x2a\xa4\xa5\xad\x62\x8a\xb5\xd2\x65\x8c\x22\xc2\x31\x2e\x82\xba\x99\x59\xfd\x88\x42\xea\xab\x71\x9c\x18\x7d\x63\xb0\xe7\xb9\x79\x5e\x25\x8c\x40\x75\x68\xde\xb4\xa0\x03\xfd\x8f\x9a\x94\xac\xd7\x12\x2c\xe7\x59\x15\xb4\xaf\xb4\x21\xd2\x94\xa6\xc3\x27\xfc\x1b\x6c\x3c\xd5\xb8\xfe\x1c\x8a\xd8\x06\x03\x4f\x1d\xf9\x46\x9d\x17\x1c\x34\x30\x14\x62\xe2\xc4\xaf\xcd\x3c\xc1\x3a\xb6\x5c\xe2\xef\xb4\xbc\xfb\x79\x6a\xf7\x55\xd3\x1e\xea\xd7\x7a\xd9\x3d\xbf\x69\x1b\x7e\xda\x45\x63\xd0\xb8\xd5\x84\xdc\xa5\xcf\x7c\x03\x59\xdc\x33\xdf\x75\x87\x1b\xd0\xfb\xa4\xb4\x24\xf0\x94\x19\xfa\xf9\x7f\xb4\x83\x7b\xdb\x3d\x1c\x19\x8d\x2e\x8d\x8c\x4e\x1f\x46\xc6\xb7\x00\xfd\x41\x01\xdd\x30\xfd\x3b\x3e\x79\xc2\xfe\x4c\x7b\x62\xed\xfb\x9a\xf6\x80\xdb\xd7\x55\x55\xb7\x81\x91\xb1\x48\x96\x21\x8b\x0d\x72\x2f\x29\x4a\xec\xf8\x2d\xbe\x9c\x57\x5a\xfe\x39\x5e\xc3\x98\x0f\xa0\xf8\x77\xcb\x28\xf7\x84\x79\xe1\x57\x2d\x14\xdb\xd2\xad\x6d\x75\x28\x89\x01\x8d\x4c\xdc\x67\x87\x71\x70\x50\xd6\x6c\x50\xca\x41\xc1\x46\x52\x49\xcb\x55\x86\xb8\x35\xe5\x04\x9c\xc9\x80\xb3\x13\xc5\x11\x09\xe8\x63\x8b\xf5\x6d\x6f\x88\xe6\xd3\xd8\x9b\x82\x9c\x04\x1d\xef\x9f\xcf\x69\xbc\xd4\xdc\x12\x30\x3e\xf1\x41\x56\xf9\x23\x73\x44\xa9\xe3\x72\x92\x25\x11\x7d\x13\x38\xc2\x5a\xc5\xb3\x78\xb1\x8e\x15\xdf\x89\xbe\x41\x4f\x0a\x02\xb1\xb3\x27\x2c\x05\xcf\x8f\xad\x32\x2d\x5c\x40\x8d\x51\xcf\x18\x00\x69\x3f\x30\x7a\x23\xa3\xdb\x02\x70\xca\x3c\x90\x95\x6a\x36\x5d\x27\x83\x16\xc8\x81\xba\xa4\xf7\x8c\x7e\xd5\x6e\x58\x36\xa0\xc1\xa4\xce\xc5\x27\xa0\x94\x45\xdb\x20\x95\x88\xc3\x34\xbb\x5f\x4a\xae\x58\x01\x95\xee\x60\x08\xee\x6c\x0b\x55\x77\x17\xd5\x15\x28\xbe\x8b\xc5\xeb\x81\xaf\x0b\x96\xea\x62\x1e\x1e\xa1\x27\x2a\x24\xe5\xa0\x10\x43\x3b\x22\x16\x6a\x59\x97\x5d\xd8\xe6\x6d\x96\x8c\xd7\x6e\xde\xaf\xb5\x61\x18\x18\xdb\x3b\x47\x57\xa9\xb0\x0a\x8b\x71\xde\x1d\x54\x38\x34\xaf\x18\x62\xe4\x85\x5e\x30\x3d\xe5\xc5\xe6\x05\x76\x4a\x2d\x72\xd4\x02\x43\x5e\xd2\x4a\x86\x56\x20\x32\x50\xea\x18\x3a\x3e\x6c\x0f\x46\xf8\xe0\x48\x0f\xba\x04\x74\xab\xb5\xca\x2c\x4d\x17\x05\x5f\x7e\x47\x72\x60\x46\xc8\x2f\x67\x8d\xe9\xc1\xda\x6e\x7a\x8d\xb1\x5d\xb6\xe4\x1d\x00\xcb\xa4\x31\x0f\xbb\x24\x32\xfd\xb2\x25\xb9\x53\x67\xcf\xeb\xa6\xb5\x9c\x21\xed\x92\x7a\x37\x68\x99\x93\xe0\x79\xa3\x5b\xa1\xc5\x5c\xb5\x91\x89\x72\x3b\xd3\xdc\xc6\xbe\xe3\xef\xf2\x55\x15\x36\x96\x1c\xf2\x5b\xdc\xe0\xd2\x3f\x16\x28\x4f\xb7\x76\xd5\x2e\x7d\x5d\xbf\x2b\x91\x6b\xca\xf2\xe0\xa0\x75\xf6\xa6\x3e\xe2\x95\xe4\x4d\xb6\xfd\x0c\xfb\x1c\x24\x3e\x9e\xe5\x4f\x63\xde\x54\x33\x68\x51\x14\xe5\x4a\x56\x08\x33\x0d\x4b\x89\x7c\x43\xa4\xc3\x0a\x27\x7c\x4e\x70\xc2\x35\xd2\x93\xcb\xe3\xb9\xf6\x40\x50\x56\x89\x37\x8e\x11\x57\x33\xad\xdb\x03\xcd\x64\xed\xcf\x82\x5e\xb0\x8b\x9d\x5a\xca\xe0\xc8\xbc\x31\xc2\x79\x3e\x83\x50\x30\xcd\x41\xcf\x73\x14\xd0\x7f\xb3\xf6\x4c\x10\xbf\x21\xda\x74\xa2\x56\x25\x05\x28\xac\xfe\x0e\x29\x61\xa1\x8c\x92\xb7\xdd\x2a\x7d\xed\x44\x7b\xde\x2f\x16\x1c\x26\xda\x2f\xa1\x1e\x13\x75\xb4\xb0\xca\x9d\xdc\x5e\x7f\xa8\xac\x64\xf4\xaa\x65\x48\xe9\x5a\x20\x0c\x2e\x52\xfc\x3c\xe7\x6d\xd7\x56\xe5\xe7\x4a\xdf\xa7\x7b\x78\xb5\x79\xf5\xcb\x1a\xe5\x28\x3b\xa6\x65\x73\x03\x34\xe4\xcf\x70\xa4\x86\x2c\xdd\x25\x94\xc2\xa6\xa9\xdc\xbd\xb5\x84\x95\x4a\xab\xcd\xab\x89\xc7\x25\x9d\x5b\x9c\x65\x0c\x19\xfb\x2a\xe3\x49\xb5\x5b\x0d\x9c\xe7\xf3\x2a\xe7\xd3\xb9\xe4\x86\x5d\x9a\x66\x0b\x48\xe5\xe3\x54\x07\xc7\xdc\xe5\x39\xaf\x39\x49\xc7\x28\xc1\xb2\x7c\x13\xfb\xa1\x04\x3b\x09\x65\xce\x4c\x51\x2f\x8a\x97\x34\xaa\x57\x63\x87\x53\xdd\x19\x70\x89\x22\x95\x66\x73\xa7\x56\x0f\xeb\x1a\xed\x59\x35\xbf\x1a\x3d\xec\x3c\x76\x3b\xc5\xab\x22\x7b\x4f\x4c\x49\xa5\xeb\x1b\xed\x88\xd0\x50\x93\x52\x47\x05\x26\xef\xbc\xaf\xa9\xfc\x56\x04\xec\xe8\xab\xbe\x9d\xc0\x43\x88\xce\x0f\x42\xcb\xb6\xe7\xc6\xea\xcb\xae\x6b\x5f\xbf\x2e\x99\xe7\x4d\xd7\xa4\x1e\x2e\x48\x73\xea\xca\x5c\x1d\xc2\xa4\xe5\x10\x53\xf6\x9f\x9c\xfd\x1f\x76\xad\x5e\x47\x3e\x09\xc1\xd9\x82\x0e\x29\x20\x77\xd9\x52\x3d\xb6\x16\xd8\xb2\x8c\x38\xd0\x5c\x62\xef\xc0\x95\xe7\xf0\x75\x89\x3d\x40\xff\xa7\x11\x91\xc0\xf8\xd5\x18\xb0\x81\xb1\x2f\xe9\xbe\xa9\x8f\x94\x44\x13\x02\x47\x37\xa8\xf0\x32\x96\x01\x46\x46\xbc\x48\x44\x00\x3c\xed\xbd\x50\xa9\x80\x02\x25\x4e\x59\x9e\x6f\xf9\x08\xed\x78\xd1\xd4\xf0\xed\xbe\x81\xb7\x46\x3f\xcf\xef\x20\xf2\x85\xaf\xbd\xf3\xa9\xb5\x45\xde\xff\x67\x46\x97\x1e\x1c\x75\x5d\xa6\xaa\xb1\x6a\x8f\x24\xa3\xbf\xc8\x23\xa6\x14\x7f\x31\x3c\x3a\x38\xb2\xd9\x57\xfa\x5c\xd5\xb5\xbb\xd7\xc3\xef\xfd\x3c\xef\x74\xbd\xf4\x89\xf4\x9a\xfa\xaa\xdb\xe7\xff\xa1\x6e\x0f\xbb\xae\x6e\x77\xf5\xda\x87\x5e\x4b\x92\xad\xdb\xd1\xbd\x2d\x47\xbb\xcf\xf5\xf4\x89\x4e\x7e\xaf\x3b\xe9\xfc\xc3\x62\x71\xb0\x8a\x58\x62\xdd\x2c\x16\x59\x9a\x25\x6c\x39\xf2\x16\x71\xba\x88\x84\x15\x2d\x02\x64\xfc\x7c\xfc\xe5\xe2\xfd\xc5\x3b\xbb\x77\x95\x4c\x05\xef\x65\x8b\x5e\xb4\x60\xbc\xa7\x4b\xf5\xe6\x8b\x44\xf4\xb2\x90\xc5\xbd\x45\xec\x09\xcb\xc0\x36\xf2\x04\xc2\x44\x08\xc4\x19\x26\x9c\x59\xf3\x05\x5f\x45\xe0\xbf\xef\xa3\x96\x46\x4f\x5c\xd2\x88\xed\xd4\xee\x76\x79\x2e\x79\x30\xf5\x03\x6a\x18\x5a\x8f\x8d\x59\x20\x68\xf8\xe4\x23\xc3\xaa\xf4\x22\x0f\x8e\x24\x49\x3a\xb4\xcb\x5d\x76\xe0\x1d\x1c\x15\x9a\xb4\x40\xb5\xf8\xfb\xf1\xed\xf1\xd5\xe9\xd5\xfb\xf1\xe9\x6f\x67\x9f\xbe\x8c\x8f\xaf\x2e\xed\x47\x08\x33\x64\x4f\x8c\xe3\xb1\x41\x8c\xcf\x63\xc3\x25\x6f\x8f\x7f\xb1\x8d\xcb\x55\xcc\xd9\xa6\x37\x5e\xc0\xcf\xd5\x4a\xa4\xf2\xf7\x67\xc1\x63\xf5\x74\x15\xae\x12\x78\x38\x4b\xa6\xf2\xe7\x92\x65\xab\x84\xb3\x4d\xcb\x77\x5a\x19\xea\xc7\x9e\x18\x4a\x0f\xb1\x77\x12\x26\x53\x70\x47\x75\x1c\xc7\x8b\xde\xdb\xc5\x7c\x1a\x4f\x0d\x57\x66\x84\x4c\x27\xf2\xcb\x5b\xc3\x25\x67\xef\xbf\x5c\x5e\xbd\x3d\xfe\xe5\xd3\xd9\xcf\xa7\xa7\x3f\xd8\x7f\x25\xe3\x4f\x17\x57\xe7\xb6\xf1\x81\xc5\x2b\x96\x6c\x7a\x67\xe2\x26\x81\x87\x31\x4b\xbc\xb0\x77\xbc\x4c\xa6\x51\x6f\xcc\x36\xbd\x0f\xab\x58\xf4\x3e\xac\xa2\x4d\xef\x78\x15\xac\xd2\xac\x77\x29\x96\x19\x04\x89\xeb\x7d\xf2\xb2\x85\xfc\xbd\x58\xdc\xa9\x84\xb7\xc2\x83\x87\x16\xcc\x7b\x97\xe7\x9f\xbe\x5c\x95\x63\x20\x07\x40\xf6\x5e\xf6\x5c\xf6\x59\x76\x57\xf6\xb5\x55\x04\x4a\xd4\x00\x4a\xe0\x24\x5c\x12\xaa\x12\x26\x09\x92\x84\x48\x82\x23\x01\x91\x40\xc8\xf6\x5b\xf5\xc8\xae\x9e\x5e\xbc\xfd\x72\x7c\xf1\xee\xd4\x9e\xfc\x85\xfc\xd5\x25\xfe\x2a\x8a\xde\xb2\x4c\xd8\xc6\xe9\xe9\xe9\x29\xe9\x8d\xc7\xe3\x71\x8f\x93\xde\xc6\x20\xd1\x22\x0e\xd4\xa7\x46\xe2\x5c\xf0\xe9\x6a\x0e\x49\x90\xd2\x0b\x95\x7b\xf4\x1e\x2b\xbf\x55\x45\x5a\x25\xae\xa6\x73\x61\x1b\x8d\xcc\x46\x1a\x2e\x92\xcc\xb0\x8d\xf1\x21\x3f\xdc\xa8\x7a\x64\x3a\x24\xeb\x3a\xe0\x8b\x4e\xaa\x2b\xe8\x31\xa3\x20\x17\x3f\x8e\xdf\x9c\x7e\xa9\x57\xd9\xc9\x8f\x5f\xbe\x9c\x5e\x9c\xfc\xf2\xdb\xe5\x2f\x63\xdb\xd8\x37\xc8\xdb\xd3\x93\xf7\xe3\xe3\x8f\xbf\x5d\x9e\x7e\xb6\x0d\xcb\x20\xef\xbe\x7c\xfa\xf1\xb3\x7a\x23\x06\xf9\x7c\x7c\x75\x75\xfa\xe5\xe2\xd2\x9e\x3c\x06\x97\xd3\x07\x61\x7f\x47\xa2\xf2\x61\xce\xee\xcf\x12\xe6\xc9\xa7\x69\x0c\x4f\x43\xf9\xf4\x3e\xce\xec\x23\x12\x8b\xe0\xb3\xc4\x43\x07\x86\x7c\xbc\x5c\xf9\xb6\x61\x90\xe5\x22\x85\x44\x78\x52\x69\x05\xd9\xae\x78\xaf\xac\xf9\x55\x55\xf3\xab\x1d\x35\x5f\xaf\x86\x43\xf6\xe7\x5d\xf5\x97\x5f\xea\x56\xdc\x82\x4c\xb9\x6d\x88\xf8\x60\x95\x1a\xa4\xd2\x4e\x68\x05\x00\x2a\xb1\x21\xcb\x87\x24\xa4\xc2\x59\x53\x4a\xe5\x29\x19\x52\x88\xce\x35\x9f\xc6\x48\xe2\x00\xf2\x1d\xc6\x0e\xa4\x2c\x17\x6b\x74\x34\x6c\xc4\x1d\x3c\x02\x53\xc0\x21\xa5\xe1\xc8\x58\xc4\xc2\xb0\x8d\x45\x16\x8a\xc4\x28\x0a\x5c\xb8\x98\xbc\x41\xff\xc4\x70\x4d\x6a\x5d\xb6\xfe\xc5\xd1\x3f\xc9\x83\xa7\xec\xe6\xd1\x7a\x1a\xf3\xc5\x9a\x94\xf1\xe7\xb0\xd3\x57\x29\x15\x52\xdc\xdf\xf7\xd2\x25\xc2\x56\xbc\x78\x1f\x47\xd3\x58\x00\xb7\xde\x34\x3b\xb9\x34\xd7\x08\x95\xf5\x58\xa1\x60\x1c\x57\x1c\x98\x17\xaf\x53\x59\xac\x07\xb1\x01\x15\xf3\xca\x4b\x53\xe3\xfb\xbf\x7b\x21\x4b\x52\x91\xf5\x8c\x1f\xaf\xce\x0e\xfe\xc7\x70\x26\x71\x70\x7d\x6d\x83\x1f\x4a\x97\x4c\x4a\x97\x94\x2e\x99\x48\x52\xf8\xa0\xf1\x7e\xdf\x78\xb1\xca\x47\x62\xd5\xc9\x90\x1a\x4e\xb9\xb0\xe3\x45\x86\xac\x8e\x80\x02\x3f\xf2\x69\xba\x8c\xd8\xc6\x8e\x17\xb1\xe8\xf5\xa7\xf3\xe5\x22\xc9\x58\x9c\x39\x05\x40\xe0\x2f\x92\x79\x95\xe5\x26\x5a\x78\x33\xa7\x90\x75\xe8\xe2\x07\x69\x38\x9d\x3f\xde\x4d\xd3\xe9\xcd\x34\x92\xf7\x1a\xe5\x19\xb9\xcc\xe3\x85\x8b\xe4\x71\xb9\x48\xa7\x72\xc8\x6d\x76\x93\x2e\xa2\x55\x26\x9c\xe2\xf5\x21\x0c\xc3\xf7\x2f\xb0\xb3\x77\x78\xf8\x5f\x3d\x15\x56\x70\xcc\x96\xcb\x69\x1c\xfc\xf8\xe5\x23\x2d\x87\x73\x3e\x8d\xad\x7f\xcb\x33\x7c\xb9\xf7\xff\x02\x00\x00\xff\xff\xa9\xe5\x1a\xf2\x17\x41\x02\x00") func uiLibAngularMinJsBytes() ([]byte, error) { return bindataRead( @@ -425,12 +425,12 @@ func uiLibAngularMinJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "ui/lib/angular.min.js", size: 147735, mode: os.FileMode(420), modTime: time.Unix(1483467521, 0)} + info := bindataFileInfo{name: "ui/lib/angular.min.js", size: 147735, mode: os.FileMode(420), modTime: time.Unix(1491905519, 0)} a := &asset{bytes: bytes, info: info} return a, nil } -var _uiLibD3V3MinJs = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xbc\xfd\x7b\x73\xdb\x36\xf6\x38\x0e\xff\xff\xbc\x0a\x5b\xdf\x56\x03\x90\x87\x14\x29\xdb\x49\x4a\x05\xd2\xa4\x69\xda\x66\x37\x76\xb2\x75\xb3\xbd\x68\x55\x0f\x4c\x41\x12\x13\x0a\x54\x41\xd0\x96\x6a\x69\x5f\xfb\x33\x00\x78\x01\x25\x39\xc9\xee\xce\xe7\x97\x99\x58\xc4\xfd\x7e\x70\xee\x38\x9d\x15\x3c\x96\x49\xc6\x11\x7e\xa8\x3e\x4f\x38\xe2\xf8\x41\x30\x59\x08\x7e\xc2\xbb\x5d\xc4\xfd\xec\x9e\x33\xf1\x5d\x16\x17\x4b\xc6\xe5\x76\xcb\xfd\x69\xf3\x8d\xeb\xc0\xab\x94\xa9\x9f\x5d\x5d\x91\xfc\x74\x45\xdd\xee\x5e\x84\x3f\x65\x33\x5a\xa4\xf2\x9f\x09\xbb\xb7\x5b\xe9\x76\xb9\x0e\x36\xa9\xb8\x69\x84\x21\x0e\xb2\x6e\x46\x0e\xf9\xc8\x0b\x23\x3e\x94\x23\xf5\x97\xc8\x51\x10\x5d\xd1\xab\x26\xbb\xb0\xfb\x54\xa4\x29\x21\x84\x8f\xae\xe8\x55\xe4\xf2\x26\x53\xd1\x64\x3a\x4d\xf2\x2b\x7a\x85\xb8\xd5\x62\xd2\xa4\x3e\xa4\x6c\x26\xa3\x7a\x12\x25\x30\x10\x50\xe0\x87\x59\x26\x10\x15\x73\xdd\xfb\xdc\x4f\x19\x9f\xcb\xc5\xf3\xb3\x6e\x17\x09\x12\x60\x38\x48\x39\xef\x76\x51\x41\x64\x19\xc4\x83\x62\x28\x06\xf8\xe1\x8e\x8a\x93\x84\x08\xb7\x18\x0e\x87\xe1\x80\x23\x39\x4e\x26\xc0\xf0\xf3\x60\x24\x48\xe2\x86\x51\x41\x92\x5d\x39\x12\xb1\x03\x91\xcc\x17\xff\x5f\x77\x65\x18\x8c\x0a\x92\x44\xba\x3b\x4d\x57\x76\xcd\x54\x51\x7b\xb6\xcb\x3a\x9b\xd4\x4c\xa5\xaa\xfe\xa9\xea\x25\x09\x07\xdc\x91\x5f\x87\x03\x2c\x1d\x12\x06\x83\x6a\x45\x9b\xfc\xa9\x59\xea\xaa\x04\x3b\x49\xf8\x89\xc4\x6f\x6f\x3f\xb0\x58\xef\x9d\x84\xb3\x77\x22\x5b\x31\x21\x37\x88\xfb\x2b\x91\xc9\x4c\x6e\x56\x0c\x18\x3c\xdc\xd1\xb4\x60\x91\x1c\xb3\x09\x30\x5e\x2c\x99\xa0\xb7\x29\x8b\x4e\xc3\x9d\xb5\xae\x31\xc2\x0f\x72\x91\xe4\xfe\x0d\x29\xeb\x8c\x05\xa3\x92\x21\xb5\x4f\xac\x7c\x79\x33\x28\xc4\x5d\xd2\xe9\x60\x42\xc8\x9a\x6e\xb7\x7c\x1c\x4c\x08\x21\xb7\x74\x74\x4b\x5d\x1e\x59\x1b\x6a\x76\x50\xa4\xce\xca\xfd\x3c\x4d\x62\x86\x42\x6c\x17\x58\x58\x13\xa7\xda\x53\x23\xd5\x5d\x6b\xb2\xcc\xed\x3a\x89\xca\xd4\xe4\xea\x76\xa7\x2c\x65\x92\x95\xc1\x31\x9f\x34\xe5\x56\xc8\xac\x27\x27\xe3\xc9\xa0\x9e\xfd\x93\xba\x2c\xe6\xfe\xaa\xc8\x17\x68\x86\x24\xc6\xd5\x2a\x58\x5d\xbb\xab\xcb\x07\x47\x8b\xbb\x2e\x3f\x52\x6a\x8a\x9a\x85\xe3\x56\xee\xf2\x94\x85\x65\x91\xd3\xa0\x29\xb2\xfc\xc2\xf5\xd8\xd8\x9b\xac\x89\xbe\x54\xbb\x05\x58\x9d\x64\x81\x3a\xd5\x09\x41\x98\x4f\x57\xab\x74\x83\x64\x73\x0a\xea\xf1\x0a\x42\x88\x1c\xf1\x48\x58\x9b\x79\x6d\xb6\x5f\x32\x43\x7a\xb8\x1c\x57\x3b\x74\x20\x89\xf4\xe3\x05\x15\x2f\x24\x0a\xb0\x2f\xb3\xf7\xab\x15\x13\x2f\x69\xce\x10\x76\x65\xbd\xbe\xf5\x6c\x31\x12\x80\x20\x37\xb4\x3c\x10\x03\x31\x64\x03\xd7\x65\xa6\x5f\x05\xb9\xa1\x63\x36\x71\xe5\x20\x99\xa1\xa2\xd5\x50\x61\x75\xe6\x16\xe1\x87\x26\x74\xd3\x0a\xdd\xeb\x73\xd5\x40\x61\xeb\x90\x81\x20\x0c\x0a\xe2\x85\x90\x10\x51\xb5\xef\xba\xc5\xf3\x64\x80\x91\x24\x62\x5c\x4c\xfc\x8c\xe3\x6e\x57\x56\x93\xb3\x48\xf2\x23\xf3\xc3\x77\x66\x20\xe3\x09\x08\xc2\xd9\xfd\x49\x5c\x9f\x57\x3f\xe3\xc4\x02\x43\x45\x09\x3d\x80\x12\xe1\xcf\x99\x44\xb2\xae\xe4\x00\xf8\xf4\x47\xb4\xdb\xa5\x7e\xc6\x23\x44\xbb\x5d\xa4\xbe\x88\x5a\x6c\x60\x84\x95\xd3\x18\x40\x42\x98\x9f\xf0\x29\x5b\xbf\x9d\x21\x8a\xb1\x1f\x67\x3c\xa6\x12\x55\x19\x12\x37\xc4\x18\x84\x2f\xd8\x32\xbb\x63\x6a\x0f\x43\xd1\xed\x32\xb3\xa7\x85\x9f\xab\x1e\xc0\x43\xc6\xa3\x62\x87\x31\x70\xbc\x03\x0b\xc2\x5c\x23\xfc\x90\x51\x9f\xdd\xa9\xdb\x68\x25\xf4\xef\x77\xe6\xda\x41\xd6\x8e\xfb\x68\x6f\x66\x90\xa4\x2a\x32\xe0\x44\xfa\x79\x56\x88\x98\xbd\xd2\x61\x2c\x09\x3f\x02\xc8\xae\xda\x80\x4f\xcd\xdf\x0d\x98\x5d\xb1\x3f\x27\x6a\x63\x3c\x17\x03\x2c\xc7\x75\xca\x98\x4d\x26\xe4\xde\x9a\x47\xe9\x67\xb3\x66\xca\x19\x88\xc3\x3d\x5f\xe0\x07\x29\x36\x25\x1c\x2f\xec\x3e\x36\x9d\x2f\x7c\x49\xc5\x9c\x49\xc2\xa1\x8a\x23\x05\xc8\x71\xe1\x2b\x28\x3a\x29\x37\x84\xaa\x7e\x37\x4b\x38\x4d\xd3\x4d\x3d\x57\x24\xd9\xed\x5a\x13\xf9\xca\x3a\x93\xd7\x14\x71\x78\x41\x31\x58\x87\xf3\x45\x93\xde\xa9\x22\x3b\x84\xa8\x86\xb2\xd9\x09\x1f\xf1\xc8\x3a\xae\x65\x3d\x1f\x55\x3d\x6a\x3f\x62\xeb\x1c\xbc\xfc\x2f\x2a\xba\x3a\x56\xd1\x5f\xe5\xe5\xd2\xe0\x15\x25\xf4\x31\x1b\xe9\x85\x94\x22\xb9\x2d\x14\xf4\xc1\x36\x36\x71\x3c\xd3\xd5\x35\xe2\x7e\xbe\xa2\x31\x03\xee\xa7\x59\x4c\x6d\x78\x55\x54\x85\x72\x26\xad\x6a\x41\xb6\x70\x8c\x23\x79\x0e\x6b\x6d\x95\xa1\x25\x64\x63\xe4\xb1\xc3\x6b\x10\x1e\x36\x7a\x64\x5c\xd1\xb1\x5e\x31\x6c\x5f\xd8\xff\x4b\x0b\x47\x26\xe5\xb0\xc5\x23\x63\x64\xb8\xc2\x2d\xb8\xda\xac\x3c\xf7\xff\x2c\x68\x9a\xcc\x14\xdc\x07\xd3\xa0\x1c\x95\x99\x47\x22\x62\xd1\x91\x8d\xd0\x64\xc8\x22\x1a\x55\xdf\x49\x54\x34\x83\x7b\xd3\xc2\x55\xa4\x48\x96\x08\xfb\x82\xad\x52\x1a\x33\xd4\xfb\x57\xee\xf6\xe6\xd0\x39\xe9\x58\xd3\xf1\xa7\x5d\x82\xdd\x9f\xfc\xc4\xe6\xaf\xd6\x2b\xd4\x41\xa3\xe8\x8f\xed\xbf\xfe\x95\xbb\xb8\xe3\x66\xd4\x17\xec\xcf\x22\xd3\x13\xec\xaa\x24\x95\xb0\xfd\x0a\x77\xa0\x33\xb7\x2b\xfb\xb9\x85\x22\x74\x3a\xb8\xea\x42\xbe\x4a\x13\x89\x7a\x7f\x6c\x55\x17\xac\x02\x3f\x1d\xd9\xb0\xcd\x0d\xe3\x85\x1a\x72\x14\x03\xcc\xc7\x6c\x62\xd6\x49\xee\xed\x5c\x3b\x37\x88\x47\xd7\xf4\xa0\x1e\x81\x77\x9c\xa8\xfe\xfa\x4b\xba\x42\xdf\xe1\x81\xb9\xb7\x78\x7d\x9f\x3d\x76\x1c\xa5\x5a\x9e\xa6\x0f\xdf\xa9\x21\x1b\x10\xa8\xa6\x72\xb0\x0f\xb4\x34\x24\x53\xb7\x20\x61\x7e\x9c\xd2\x3c\x7f\x93\xe4\xb2\xba\x0c\xc5\xa8\xf0\xe9\x74\xaa\xb6\x6d\x51\x01\x7b\x5e\x75\x85\xa9\x9b\xa6\xd9\xc5\x1d\x5d\xba\x83\xb7\xdb\x4e\x67\x20\x46\x48\xfa\x29\xcd\xe5\x6b\x75\x89\x90\x00\xa4\x2f\x59\x2e\x51\x81\xb7\x5b\xd6\xde\xfd\x65\x39\x78\x83\x0a\xb7\x73\xd2\x71\x39\xc6\x38\x7a\x3c\x4f\xbd\x5b\xa4\xde\x28\xd8\x06\x2f\xef\x2a\x6c\xe4\x10\x76\xe4\x72\x93\xb2\x72\x08\x0d\xfe\x7a\x14\x60\xe8\x9c\x39\x93\x4d\x36\x5d\x69\x1b\x6e\x18\xec\xe6\xd3\x27\x54\x8c\x3e\xd5\x74\xf4\x68\x6b\xc2\x3e\x8d\xe5\xd1\x13\xc7\x0f\x5c\xeb\x70\xbd\x3f\xb2\x59\x2d\x14\xb5\x85\xa0\x56\x13\x33\xe6\x13\x22\xdb\xb3\xf0\x65\xc0\xa7\x5d\x71\x54\xd5\xc5\xf6\x3b\xfe\x08\xa4\x28\x22\xd1\xb4\xfa\xe1\x00\x97\x32\x1b\x56\xcf\x50\x8b\x7a\x05\x66\x22\x39\x5d\x32\x0d\xc0\xde\xff\xf4\xba\xda\xd2\x8c\x10\xf2\x92\x2a\xac\x6a\x8f\x58\x6e\xe5\xd6\x99\x46\x15\x9a\x5b\xe6\xd0\xcb\xd1\x8e\xba\xba\x46\x0c\x78\x8b\x06\x6e\x08\xe0\x83\x7e\x1d\x94\x3d\xb8\x99\x3e\x79\x7d\xa2\x43\xa0\x8b\x4b\xf0\xc9\x22\x6b\x79\xbe\xaf\xc9\x02\xdd\x85\x15\x15\xaa\xb5\x6c\xca\x06\x5c\x11\xfa\x66\x8f\xbd\x5c\x24\xe9\x14\x99\xab\xb7\x2e\xf9\xa3\x45\x4f\xdf\xdc\x4c\xa9\xa4\x37\x37\x11\xb7\xce\xce\x5b\x0b\xce\x1e\xde\xe6\xaf\xa8\xd9\x08\xdc\x3e\x6e\xaf\xad\x22\xfb\x28\xd5\x76\x8b\x38\x61\x18\x6c\x5a\xb9\x99\xbf\x6e\x97\x8d\x38\x92\x7e\xd5\x13\x60\xf5\x27\x8e\x4e\xa5\x77\xca\xac\x66\x7e\xdb\xa3\x48\x35\x0a\xc7\x6d\xbc\x9e\xb9\x2e\xae\x92\x0b\x48\x88\x82\xa2\x40\x49\x00\x19\x49\xaa\x7c\xd9\x90\x0e\xa8\xeb\x62\x54\x90\x64\x4c\x27\x0a\xfb\x46\x05\x50\x60\xc7\xc8\xaf\xdf\xf7\x31\xab\x37\x6d\xcc\xea\x9f\x35\x50\x05\x76\x00\x51\x05\x14\x90\x98\x64\x0a\x19\xe1\xe3\x64\xe2\x17\xab\x29\x95\x0c\x52\x92\x55\xfd\x51\xfd\x4d\x4e\x09\xeb\x76\x11\x23\x09\x48\x12\x60\x28\x86\x44\x76\xbb\x48\x92\xc2\x0d\xf1\xe0\x14\x51\x92\x8d\xa5\xea\xaa\xeb\xca\xe7\xe9\xa0\xc1\xe9\xad\xd9\xf9\xf5\x28\xcc\x6b\xce\xcf\x98\x4e\x06\xba\xd2\x06\x59\xd0\x28\xa9\x02\xf3\x8c\x33\xa1\x8b\x4b\xff\x2b\x0c\xf6\x89\xa6\x13\x7c\x08\x14\x0a\x92\x22\x09\x31\x6d\x58\x1d\x8a\x76\xf5\x63\x9a\xa6\x66\xbb\x69\x7c\x4f\x5d\x18\x07\x2d\x98\x3a\x49\x01\x85\xff\x95\xda\x16\x85\x7f\x63\x83\x9d\x0a\xa2\xaa\xf3\x6d\x5f\xf2\x7f\xdc\xdc\x64\x1c\x8d\xff\xf0\x27\x47\xae\xf9\xaf\x3a\x0d\xb5\x27\x2a\x6a\x17\x2b\xca\x91\x08\x7f\x49\x65\xbc\x40\x0c\x57\x3d\xd7\x3d\x10\x93\xc1\xa3\xd3\x20\xc7\xe1\x04\x74\xff\xda\x33\x21\x26\x3b\x4d\x86\x51\xd2\x51\x9d\xe9\xb8\x5c\xad\x69\x4d\x1c\x75\xfc\x0e\x86\x94\x7c\x35\xc8\x86\x41\xb7\x8b\x38\xe1\x35\x0d\x95\x61\x73\x53\xc6\xe4\x4f\xaa\x89\xb2\xe6\xf6\x8d\x75\xd6\x18\x52\xf2\x2d\x86\x6c\xa4\xc1\x61\x24\x47\xb7\x51\xd2\xcc\xc9\x57\x2d\x9e\x5b\x73\x5f\x57\x77\x4f\x4d\x52\xd4\xf4\x01\x03\x39\x0e\x26\x06\x34\x54\xc7\x69\xa0\x28\x12\x6e\xc3\x72\x79\x84\xb2\x68\xf1\x93\xbe\x35\x0d\x9b\xb3\x66\x7a\x71\xb0\xc7\xb9\xbd\xc5\xf4\x71\x14\x2c\xa5\x92\x4d\x7f\xd6\xd4\xcd\x40\x68\xde\x17\x21\x72\xbb\x7d\xd6\x15\x7e\x9c\x2d\x15\xac\xaa\xa0\xe5\xbb\x2c\x4f\x0c\x50\xc0\x1a\x1f\x30\x3b\xa8\x0d\x5c\x7e\x69\x46\xda\xf1\xa7\x82\xce\xf3\x62\xb5\x12\x2c\xcf\xbd\x8e\x7b\xe2\xba\x3f\x51\x28\x48\x27\x4e\x93\xf8\x63\xc7\x15\x90\xa8\xe9\xc8\x59\xca\x62\x89\xa4\x5a\x76\x3f\xe3\xa8\x23\xb3\x22\x5e\xa8\xa5\x56\x59\xae\x4d\x9c\xae\x4a\x52\x21\xad\x38\x53\xd0\x8a\x1d\x24\x33\x64\x2e\xb0\x9f\x15\x8d\xfc\x33\x25\x9d\x8c\xdb\xb9\x12\x7e\xc2\x46\xa7\x61\xb4\x56\x24\xb1\xba\xc2\xa1\x53\xe4\x4c\x5c\xeb\x2c\x1d\x8c\xe1\x67\x5a\x42\x00\xa2\x96\xac\xcc\x93\x11\x3a\xfe\x99\x4e\x06\xfa\x2f\xe9\xf0\x8c\xb3\xce\xee\xc8\xd4\x26\x33\x94\xf8\x1a\x92\x68\x2e\x0c\xe8\x4e\x98\x42\x99\x22\xa7\xcb\xb9\xb7\xc0\xb4\xce\x5e\x98\xec\xbb\x41\x19\xb2\xd2\xaf\x11\x06\x45\x5d\xc3\x69\x80\x21\x67\xf2\xe7\x64\xc9\xb2\x42\x51\xe9\x01\xb6\xd7\xfe\x6f\x9a\x18\x79\x60\x7e\xbc\xa0\x7c\xce\xa6\x3f\xab\x19\x64\xb9\x06\x52\xfb\x91\xe3\x60\x62\x36\xb8\x5a\x7e\x7d\x1b\x5e\xff\xf3\x87\xf2\x06\xdc\x6e\xb9\x9a\x43\x51\xde\x8b\xd7\xff\xfc\xe1\x5d\x96\x70\x59\x9d\xc6\xfd\x78\xa4\x67\x3c\x18\x7e\x47\x2b\x36\xa8\x3e\x2d\x7a\x1e\xf2\x58\x64\x69\xfa\xeb\x76\x5b\x7d\xfe\x86\x1f\x84\xb5\xdc\x9d\xdb\x6c\xba\xe9\x60\xb5\xc5\x19\x9f\xa2\x4e\x7e\x37\xef\x94\x13\x8e\x1e\x56\xe5\x4e\x8b\x3a\xf4\x36\xcf\xd2\x42\xb2\x0e\xc8\x6c\x15\x05\xa0\x99\xca\x01\x2c\xa9\x98\x27\x3c\x0a\x60\x45\xa7\xd3\x84\xcf\xa3\x00\x6e\x33\x31\x65\x22\x2a\x97\x07\x3a\xc9\x72\x95\x09\x49\xb9\xec\x98\xe1\x52\x22\xc6\xc1\x64\x1c\x4c\xd4\xa1\xbe\x8e\x05\x63\xfc\xe5\xcf\x97\x08\x0f\xbe\xa3\xe4\x14\x51\x7f\xb6\xdd\x52\x9f\x59\xec\x11\xbc\xab\x16\xf9\x3b\x3a\x42\x85\xbf\x26\xcc\x5f\xd1\x39\xfb\x15\x0a\x7f\x53\x7e\xff\x86\xa3\x32\x25\x4e\x13\xc6\x65\x95\x66\x42\xbf\x61\x28\x48\xa1\x80\x9a\x48\xd6\x3f\x0b\xca\xf3\x59\x26\x96\x88\xef\xf5\xc0\x4f\xf8\x1d\x13\x39\x43\x18\xc3\xb8\xf0\xd7\xaa\x8e\x89\x86\x5e\x0a\x64\xcd\x99\xfc\x36\x2b\xb8\x1a\xe5\x4b\x5d\xeb\x4f\x6a\xfa\xaa\xb3\x3d\xae\x5b\xf6\xd4\x1d\x35\x93\x1e\x2f\x23\xde\xb0\x99\x84\xba\x27\x5e\xe6\xcb\x6c\x55\x27\xfe\x9c\xad\x2c\xac\xf2\x87\x06\x63\xa8\x39\x3c\x07\x9b\xc6\x4f\xa6\x8c\xcb\x64\x96\x30\x0b\x05\xfc\xbb\x4d\xe6\x0d\x83\x51\x18\x05\x46\xca\x60\xf1\x2a\xff\xd1\x66\x36\x22\x05\xed\x3c\xae\xb6\xa1\x83\xd8\x38\x54\xdf\xe1\x04\x7b\x1a\x94\x9b\x6f\x15\x5f\xe5\x69\xea\xe1\x2d\xe1\xcb\x30\x1c\x05\x91\x17\x0e\xf9\xe8\x03\x8d\x2e\xa9\x5c\xf8\x34\xce\xf2\x16\x6d\x20\xf7\x0b\xbc\xa5\xa6\x84\xf7\xb6\x2a\x92\x27\xbc\x55\x84\x59\x45\x10\xe2\x44\xe7\x62\xeb\x95\xc2\xec\xbc\xb0\xc7\x71\xaf\x6f\x21\xe3\x9f\xc8\xec\xee\x67\x2e\x1e\xcb\xdc\x77\x74\xdd\xb8\x87\xb8\x1b\xda\x2c\x0b\xde\x62\x62\xeb\xfc\xba\xbb\xbd\x3e\xc6\x8e\x85\xd5\x68\x48\x61\x49\x02\xf8\x1e\x73\x57\xc1\xfa\x93\x84\xe7\x92\xf2\x58\x61\xae\x29\x1f\x19\xb4\x62\x41\x5c\x73\xc7\xfb\x39\x71\x25\xdc\x65\x89\xc1\x3f\xfd\x94\xb8\x0c\xe3\xe8\x08\x0f\x92\xef\x55\xa4\x6e\x7d\xd5\xa0\xbf\x00\xee\xe7\x0a\x6d\xc6\xd1\x0d\x47\x1d\x75\xdf\xde\x73\x48\x39\x8e\xaa\x2c\x7b\xd4\x58\xcc\x8f\x60\x40\xf6\x72\x9d\x3d\x09\x46\xdc\x23\x67\x4f\x02\xb5\xa7\xd4\xcd\xeb\xaa\x00\x86\x27\x6a\x8b\x25\x2e\xa2\x5e\x82\x1d\xde\x7b\x12\x44\xe1\x33\x15\x45\xa3\xfe\xb9\x9d\x84\xfa\xe7\x81\xc7\xb1\xca\x90\x1c\x95\x5f\x9d\xe8\x39\x15\xea\x70\xa1\xfe\xc5\x85\xa3\xda\xc7\xbb\x92\x23\x5b\xa3\x97\xa4\x92\x72\x8d\x82\x08\xf1\xaf\x75\x1f\x9e\x07\x23\xee\xaa\x9e\x71\x90\x65\xba\x54\xe9\xc1\x50\x8e\x82\x48\x0e\xc3\x51\x18\x29\xa4\x28\x18\xb2\x51\x10\x31\x1d\x66\x40\x89\x7f\x31\x24\x6c\xc4\x1c\x14\xba\x12\x47\xcc\x95\x1e\x73\x24\x24\xa4\xef\x30\x8f\x82\x9a\xa9\x0d\x47\x85\xda\x08\x7d\x85\x57\x22\xae\xff\x78\x2a\x64\x0b\x59\x3e\xb7\xc2\xf9\xe1\x0a\xc7\xff\xd5\x0a\xe7\x66\x85\xf3\x6a\x85\x63\xb3\xc2\xad\x3c\x0b\x3e\x5a\xa9\xf4\x14\xb8\x4f\x81\xfb\xb7\x38\x5a\xe9\x1d\x7e\xad\xff\x2a\xec\x6f\x7e\xab\x29\x23\x01\xdc\x9f\xeb\x1c\xd8\xce\x5d\xb5\xb0\xb7\x41\x66\xfb\xa3\xac\xd6\x41\x23\x61\x01\x86\x6a\xde\x35\xea\x1d\x60\x3d\x7d\x0b\x8e\x18\xe8\x65\xd5\xc0\xc0\x21\xaf\x29\x76\x24\x34\x87\x07\x3b\x36\xa7\x67\xf1\xb9\x99\x5c\x54\x33\x99\xd6\x33\x49\xdb\x33\x79\xfb\x65\x33\xb9\x30\x33\xb9\xd8\x9b\xa9\xfd\xd9\x9e\xed\xcd\xb4\x99\xc3\x0d\xdf\x9b\xbf\xa8\xaa\x6b\x6f\xce\xe6\xf5\x78\xcc\x05\xaf\x76\xd2\x13\xdc\x0b\xc3\x27\x50\x10\xe1\xca\xde\x45\x10\x40\x42\x84\xc7\x7a\xfd\xa0\x16\x23\x16\xe4\x8e\xa3\x02\x3b\xff\xa0\x20\xd4\xa7\xc0\x0e\xcf\x20\x51\x9f\x09\x76\x64\x56\x6d\xcc\x25\x47\x67\x7e\xff\x3c\x38\xbf\x38\xef\x3b\x85\x17\xfa\x17\x67\x4f\xc3\xb3\x67\x17\x8e\xf0\xfc\xf3\x6f\x9e\x5d\x9c\x85\xe7\x4e\x82\x61\xc9\x91\xe7\x7f\xf3\xe4\x9b\xfe\x93\x27\x4e\xe1\x86\xfe\xb3\xa7\x4f\x82\x30\x78\xe6\x08\xd7\x0f\xce\xc3\x8b\x8b\x27\x65\x26\x3f\xb8\xb8\x78\x72\x7e\x76\xee\x14\x9e\xdf\x0f\xce\x83\xfe\xc5\x37\x8e\x70\x43\x3f\xb8\x78\xda\xef\x5f\xf4\x9d\xc4\xde\xf3\xab\xfd\x95\x52\xb7\x4d\xb9\x73\x0c\x28\x97\x94\xf7\x11\x03\x89\x9d\xdf\x68\xb9\xe0\x7f\x0a\x89\xa4\x23\x5d\xe6\x30\x85\x7f\x55\x3b\xed\x8a\x5e\x81\xfa\x6f\x03\xfe\xbb\xf6\x5d\xe1\xf7\x83\x27\xcf\xbe\x39\x0b\xce\xce\x47\xdc\xe1\x8e\x22\xf5\xbd\xf3\x5e\xff\x1b\xdc\x7b\xea\x3f\x7d\xf6\x34\x38\x7b\x6a\x89\xef\xf6\x8a\x06\xc1\xb3\x67\x17\x4f\x46\xba\x0b\xab\xec\x1e\x71\x08\x7b\x67\x38\xaa\x0a\x3a\xdc\x55\x35\x59\xb2\x3c\xfe\x38\x48\x42\x7e\x10\x9c\x05\xe7\x43\xc2\x47\x61\xdf\xff\xa6\xef\xf0\x48\x4d\xd0\x85\xd3\xaa\xbd\xef\x9f\x63\x4f\x45\xdb\x33\xb6\xf9\xdc\xde\xde\x54\x7b\x5b\x90\x7f\xff\xbb\xdc\xdc\x73\xf2\xef\x7f\xb7\x77\xf7\xbf\xff\xfd\x25\xdb\x7b\x63\xb6\xb7\x6a\xd3\xde\xa6\xd5\x55\xb0\xe1\x10\x97\xf3\xbf\x39\xdc\xb5\x97\x7c\x8f\x59\xac\xf2\x0c\x87\xe1\x13\xe0\xc3\xe1\xb3\x6e\xff\xe2\x02\xfa\x17\x17\x5d\x7b\xb9\xd6\xad\x39\xe3\x9a\xb0\xec\x58\x12\x40\x3b\x39\x7c\x32\xe4\xa3\x4e\xd0\x71\xf5\x9c\x2d\xe9\x1a\x05\xc0\xb1\x2f\xb3\x6b\x29\x12\x3e\x47\xe1\x13\x6c\xb0\x81\x65\xc2\xd5\xa4\xef\x27\x5a\xa2\xc4\xf6\xf1\x82\x02\x92\x92\x5f\x11\x40\x4a\x02\x8d\x3a\x93\x1e\x1a\x53\xef\xaf\x89\x8b\xff\x85\x90\xef\xe0\x7f\xe1\x9e\xcf\xd6\x2c\xd6\x34\xa6\xcc\xde\x64\xf7\x95\xf8\x13\xe3\xfc\x3e\x51\xe4\x6e\x41\xc4\xb8\x3f\x29\x99\xd9\x1d\xe8\x60\x10\x0a\x0b\x7a\x88\x69\xce\x3a\x8b\x3c\xed\x44\x15\xab\x0c\xad\xa8\xc8\xd9\xf7\x69\x46\x25\x2a\x14\x76\x04\xad\x88\x70\x82\x7b\x61\x10\xb4\x23\xfb\x26\x12\x0f\x74\x75\x62\x7e\x5b\x57\x27\xd1\x15\x2f\xab\xd1\x1f\x61\xf5\xd1\x9f\xe0\x8a\xf3\x85\x12\x52\x64\x25\x19\x8c\x47\x12\x25\xbe\x80\xc4\x9f\x43\xa2\x96\xb7\x24\xb6\xf8\x76\xdb\xf9\x7f\x9d\x53\x42\x78\x23\xe9\xdd\x6e\x0d\x78\x4e\x88\xee\xcc\x6b\x2e\x51\x23\xcd\x87\xf0\x89\xa2\x20\xd1\x39\x21\x35\x47\x68\x84\x28\x41\x67\xcf\xce\x83\x6e\x82\x87\xc3\x73\xa0\x84\x0e\x87\xe7\x5b\x0a\x19\xe9\xab\x48\xc8\x48\xa6\x22\x32\x48\x49\x78\xd1\x4d\x20\x25\xe9\xf3\xe7\xe7\xdb\x14\x47\x4f\xad\x6a\x14\xc5\x45\x50\xf8\xe4\x69\x18\x3e\x79\x66\xea\x0a\x9f\x40\x46\xd0\x93\x8b\x7e\x19\x7e\x06\x29\x51\xfb\x29\xc1\x8a\xb8\xa2\x90\x41\x6a\x9f\x9b\xfb\xc3\x45\x26\xf5\xf6\xe0\x3d\x55\x14\xa4\xf9\x61\xfa\x07\x03\x25\xf5\xd6\x32\x45\x15\xc9\xe8\xa9\x2e\x22\xea\x26\xb8\xd7\xaf\x20\x6d\x36\x42\x85\x42\x02\xd2\x51\xd6\xd3\x49\x51\xd6\x43\x7d\x4f\xa1\x2b\x8a\x1a\x27\x84\x8e\x90\xf4\x18\xee\x65\x2e\x62\x43\x39\x7a\x12\x05\x38\x92\x3a\x9a\x29\x54\x26\x73\xfb\x0a\x12\x49\xf5\x75\x0e\xc2\x21\x4f\x02\x1c\x21\x41\x14\x34\x2b\x48\x3a\x0c\xba\xdd\x70\x98\x8e\x82\x48\x98\xeb\x30\x35\x6c\x2d\x5b\xc2\x76\x5d\x0f\x8f\x93\x8f\xea\x98\x80\x54\xbf\x12\x03\x53\xbf\xac\xa2\x0d\xa7\x1c\x21\xff\x3c\xec\x9f\x5f\x3c\x39\x77\xb8\xeb\x9f\x5d\x3c\xbd\x78\xfa\x24\x74\xa4\xeb\x87\xcf\x82\xf3\xb3\xa7\x17\x0e\xc3\xbd\x7f\x50\x45\xe2\xe8\xbc\xfd\xb0\xff\xe4\x69\xff\x1b\x95\xf7\x69\x78\x11\x5e\xf4\xfb\x2a\x6f\xf0\xb4\x1f\x9a\xac\x3c\xc3\x90\x98\xac\x41\xf8\xcd\xd9\xd9\x99\xce\x1a\x86\xdf\x84\xdf\xe8\x9c\xdf\x5c\x28\x48\x17\xaa\xac\x32\xab\x59\x17\x0b\x8e\xc2\xf0\x89\xba\x6d\x9e\xc0\x45\x10\x38\x48\x78\x05\x86\xbe\xfa\x2a\xbc\xd6\x0d\xf1\xb1\x85\x2f\x9b\x95\x79\x4e\xfc\x40\xdd\x57\x23\xde\xd3\xe0\x33\xaa\xc1\x26\xe2\xae\x06\x98\x3d\x0d\x4e\x41\x41\x50\x4b\x06\x6d\x71\x4a\xac\xb3\x54\x33\x82\x3a\x5f\x77\x88\xb5\xdb\xab\xbd\xe7\x85\x78\x64\xc3\x6f\xff\xe2\xc2\x91\xd8\x66\x04\xbf\xe2\xff\x85\x48\xd6\x66\xf7\xbe\xe0\xc7\xf8\xbd\x5a\xa1\xa9\x8e\xee\x13\x72\x20\x2a\xef\x76\x8f\x34\xc7\x34\xb7\x87\x01\x23\x86\x5f\xf1\xd2\xd4\xc4\x41\xb4\xa4\xc8\xe5\x86\x51\x2d\x1c\xf0\x16\x15\xfe\x9b\xfa\xb9\xa4\xb2\xc8\x15\xf8\x3b\x95\xdd\xee\x1b\x8e\x52\xbc\xdd\xca\x21\xe9\x07\x41\xb7\x7b\x16\x04\x43\xb9\xdd\x9e\x05\xea\xb4\x4b\x23\x6b\xe7\xa4\xe4\x1e\x25\x6a\x6f\xc6\x9a\xe9\xd7\x0c\x40\x5d\x3f\x27\xd4\x67\x42\x64\xa2\xca\x26\xf0\x8e\xfa\x69\x46\xa7\x55\x04\xc7\x3b\x96\xe6\x6c\x3f\x5f\x5a\x22\xf0\xe4\x61\x07\x54\x21\x9f\xd3\x24\x5f\xe9\xfa\x3b\xb7\x6c\x96\x09\x96\x33\x3e\xed\x40\x67\x25\xb2\xb9\x60\x79\xde\x81\x8e\xaa\xb5\x03\x1d\x5d\x4d\x47\x1d\xdd\x87\x1d\xa4\x9a\x9f\xf9\xeb\xe5\x9b\x1f\xa5\x5c\xfd\xc4\xfe\x2c\x58\x2e\x21\xd6\xf3\x54\x69\xe3\xe8\xfb\xf1\xd7\xef\xb2\x25\x4d\x78\x99\x63\xbb\xed\xdc\x27\x72\xf1\x52\x30\x4d\x2a\xd3\x34\xef\x24\xfc\x24\xdd\x6e\x4f\x7b\x7f\xa0\x85\x94\x2b\x94\xe3\x51\x84\x47\xff\xea\xfd\xab\xd7\x33\x92\x35\xae\xe0\x60\xd9\x5a\xab\x2e\x0c\x9d\x8c\xeb\xae\xa9\x2a\x46\xa9\x6f\x42\x44\x7d\xe8\xae\x92\x22\x52\xdf\x82\xd1\xe9\x46\x2d\x00\x33\x14\xbb\xcd\x5e\x4a\x7d\x9d\x7a\xad\x52\x87\x67\xdd\x6e\x81\xf0\x0e\x54\xa1\x6a\xf4\xe4\x90\x33\x78\xc8\x9f\xe4\x9a\x19\x49\xfd\xaa\x90\x35\xd5\x07\x1c\x49\xb9\xdb\x41\xe2\x2f\x18\x9d\x32\x61\x55\x6e\x71\x44\x39\xa9\x44\xb8\xf6\x5d\x78\xa8\x6c\xd7\x1f\x65\x63\x3e\xa9\xae\x18\x59\x09\xae\x74\x64\xa6\xc5\x5f\x6e\xa7\x03\x09\x56\xed\x2d\x93\x25\xfb\x79\xb3\x62\xad\xe1\x3c\x22\xe1\x18\x21\x49\xca\x6b\x6b\xa4\x7e\x23\x6e\xea\x89\xa4\xaa\x49\xb0\x7c\x95\xf1\xfc\x3f\xa8\x2d\x26\x5c\x95\x8e\xed\xd2\xc7\x4a\x32\x95\x6f\x07\xe3\xce\x9c\x49\xb5\xff\xb2\x5c\x76\x26\xfe\x2c\x13\xaf\x68\xbc\x40\x2d\x36\xa2\x1a\xdd\x21\x18\x48\x7c\xb5\x75\x4b\x96\x70\x02\x63\x3e\xa9\xd4\x7b\xda\xac\x7d\xbc\xdb\x61\x30\x99\x5b\x8a\x2f\x50\x68\x0e\xe5\x17\x43\x07\xa1\xb5\x1d\x85\xba\x97\x34\x74\x48\xfd\x6c\xc5\x54\x4d\x5c\x73\x23\xcb\x75\xd9\x6e\x3b\x34\x8e\xd9\x4a\xf3\x56\xb3\xed\x16\x65\xbe\x09\xab\xf5\x01\xa7\xe7\x74\x54\xc9\x9c\xc9\x72\x5b\xff\xa8\xb7\x46\x2d\xf6\x51\x08\xe9\x49\x86\x0f\x73\xa0\x1c\xb2\x71\x3e\x69\xa4\x3c\x45\x9a\x9e\x12\xd9\xed\xa6\x7e\x76\xc7\x84\x48\xa6\xec\xb2\x5c\xf5\x63\x71\xea\x3e\x33\x45\xe2\x6e\x17\xa5\xed\x75\x8d\xab\xb4\xa2\xdb\xd5\x3c\xd7\xf2\xec\x43\x61\xf8\xca\x06\x20\xd8\x4b\x52\xe8\x6d\xa8\x60\x0e\x06\xea\x37\x80\xa4\x39\x0a\x7a\x90\x7c\x8a\x2a\x11\xb2\xde\x5a\x02\xab\x25\x4f\x7c\x7a\x9b\x09\x79\x64\x49\x53\x93\x82\x74\x36\x2d\x26\xb9\x4d\xf8\x14\x25\x40\xd5\xe1\xef\x54\x93\x2c\x46\x49\x94\x68\x1c\xec\x2f\x45\x9c\x59\x17\xd5\x5f\x2d\x3c\xd7\xc6\xa6\xda\x02\x3c\x8e\x1a\xb9\xae\x61\x36\xdb\x0a\x95\x6f\xac\xe3\xcf\x5b\x53\x35\x68\x24\x7f\x1d\xc9\xd6\x52\x21\x79\x72\xd4\xe4\x89\xac\xec\x6c\x6d\x5d\x74\x7f\xee\x11\xa2\x07\xaa\x5b\xfd\xa1\xa8\xe8\xf6\x33\xfd\xc9\xc8\x77\x54\x32\x9f\x67\xf7\x08\xd7\xaa\x0a\xae\x84\x84\x3c\xc4\x11\x07\x19\x15\xc0\x75\xdf\x77\xb5\x38\x2d\x1b\xd1\xcc\xe7\x24\x89\x92\x8c\x24\x40\xd5\x9f\x4c\x6d\xc1\x34\x23\x71\xca\xa8\xa8\xb8\xe5\x69\x86\x21\xcb\x48\x08\x71\x86\x7e\xe6\x58\xcd\x76\xa3\x5a\xc2\x6b\xd9\xec\x4f\x1c\x29\x64\xe8\x3b\x8e\xb0\xc7\x07\x72\xd8\x3f\x1f\xa1\x24\xff\x3e\xe1\x89\x64\x86\xcd\x70\x50\x6b\x9a\x11\x8b\x2b\xff\xb3\x82\x73\xba\x29\x85\x95\xd9\x2d\x5a\x9a\x29\xdc\xd6\x8f\xb3\xc6\x0c\x92\x24\xd9\x40\x0e\x30\x1f\x12\xe9\xcb\x6e\x57\xfa\xb1\x42\xf5\x7c\xc3\xe0\xf0\xe3\xf2\x18\x4a\x22\xfd\x63\x4a\xa4\xdf\xf1\x3d\xc5\xbb\x24\x03\x46\xc2\x5e\xa0\xea\x94\x7e\x3c\x42\xd2\x97\xcf\x8d\xdc\x52\x55\x0a\x92\x20\x4e\x24\xf6\xb9\xc2\x30\xf9\x88\xfb\x5c\xd5\xac\xe6\xd2\x6a\x80\x66\x84\x83\xa5\x96\xf2\xae\x0d\xcc\xa5\x87\xb8\x41\x79\x62\x96\xa4\x86\x10\x4f\xb3\x39\xe2\xb8\xa7\xbf\xdf\x5c\x85\x01\x8e\x6c\xae\xe6\x7b\x6e\x8b\xa9\x6a\x74\x2c\x0c\xe0\xcc\xb9\xa4\xe8\x99\xd7\x28\xd6\x3e\xe4\x31\x4d\x59\x24\x87\xcf\x46\x47\xe0\x29\xef\xb1\x5d\x74\x2c\xde\x61\x3b\xc8\x37\xcb\xdb\x2c\x6d\x09\xca\x3f\xb4\x36\xf9\x94\xc5\xc9\x92\xa6\x0a\xf5\xf1\xe5\x22\x2b\x72\xca\xa7\x46\x20\x36\x17\x59\xb1\x4a\xf8\x1c\x0a\x85\xe0\x15\x42\x30\x1e\x6f\x20\x21\xa2\xdb\x65\xa3\xf6\x8d\x56\xcb\xae\xeb\x63\x07\x09\x19\x57\x22\x6c\x31\x0e\x26\x9a\x2a\x2c\x14\x5a\x6e\xe4\x8c\xa9\x9b\xb9\xe1\x50\x76\xbb\x28\x6b\x48\x86\x10\xa4\x97\xaa\x5d\x69\xf4\x30\xb9\x9f\x17\xb7\xb9\xa1\x3e\x0b\x8f\x64\x50\xb8\x19\xc6\x70\x8a\x50\xea\x92\xcc\x0d\xf1\x50\x4d\x11\x56\x0d\x50\x45\x5f\x84\xf8\xeb\x4a\x5b\x75\x32\xa8\xef\x0a\xc1\x4a\x91\x82\xff\x21\x4b\x14\x5a\xbf\x8b\x36\x8f\x89\x03\x19\x99\x65\x25\x8d\xaa\xc8\x10\x36\x0e\x27\xdb\x6d\xe7\xa4\x03\x94\xb0\x71\x5f\x7d\x0f\x3b\x90\x11\x36\x3e\x53\xdf\x5e\x07\x52\xc2\xc6\xe7\xea\xbb\x03\x31\x61\xe3\x8b\x09\xe4\xc4\x65\xe3\x27\x13\x98\x11\x36\x7e\x3a\x81\x05\x61\xe3\x67\x13\x98\x13\x36\xfe\x66\x02\x2b\x12\xc2\x1d\xe9\x74\x60\xaa\xfe\x2c\xc9\x69\x08\x1b\x72\x1a\x0c\x4a\xf2\x57\xd1\x6c\x0b\xe2\x2e\xac\x71\x87\x18\x03\x8a\xb7\xdb\x4e\xa0\x10\x6d\xd1\xed\x76\x88\xfa\xa0\xfa\x10\x12\x41\x3a\x81\xea\x5c\x87\x74\x30\xcc\x4b\x3a\x99\x77\xa2\x19\x39\x0d\x60\x4e\x3a\xf3\xce\xe0\x56\x30\xfa\xd1\x50\xbc\x5f\x77\xa2\x15\x51\x54\xf1\x94\x74\xbe\xee\xa8\xf4\x59\x2b\x7d\x75\x90\x2e\x5a\xe9\xb7\x9d\x48\xff\x66\xe5\xef\xba\xfc\xfd\xb5\x13\x75\xfe\x9f\xea\x55\xda\xed\xa2\x3b\xd5\x25\x77\xbe\x47\xe0\x9b\x0a\xe2\x4e\xb4\x21\xa7\xa1\x09\x4c\x3b\xd1\x52\x75\x73\x41\x02\xbb\x91\x5c\x75\xc2\x0b\x4d\xeb\xbb\xce\x57\x4d\xbd\x8a\x3e\x87\x29\x31\xd4\x79\x47\x74\x4e\xc9\x7c\xbb\x5d\x6c\xb7\x48\x0f\xb4\xba\xc9\xd4\x1c\x76\xe6\x1d\x42\xe6\xa3\x85\xbd\xb3\x1a\xbe\x46\x08\x0b\x8c\x23\xd4\x61\x2a\xd3\x76\xdb\x99\xa9\x5f\xac\xa7\xde\xe2\x8b\x34\xf9\x03\x95\x1f\x63\x98\x93\x85\xa1\xff\xe7\x78\xbb\xfd\x9e\x6b\xc8\x7c\xa9\x6e\xd5\xd9\xe3\xdb\x69\xaa\x48\x81\x65\xb7\xcb\xbf\x0e\x4b\x95\xb4\x4e\xa7\x04\xe9\xc1\x90\x6f\xb7\x81\xba\xa9\xba\xdd\x60\x18\xf6\xf8\x08\x71\xe2\x71\xe8\x78\x1d\x1c\x75\x3c\x35\xee\x6c\xd4\xe9\x44\x99\x91\x2c\xae\x4c\x95\xa9\x42\x4b\x67\x99\x58\x52\xf9\x4e\xb0\x59\xa2\xe8\xec\x05\x1e\x70\x45\x7b\x28\x20\xa1\x36\x2e\x53\x01\x7d\xee\xdd\xa9\x21\x0d\xb8\x43\x56\x03\x4e\xe6\x26\xb3\xaa\x67\x0d\xb7\x70\xa3\x4e\x6b\xa5\xe2\x56\xaa\x02\x98\xc6\x6e\x4c\x63\xf7\x64\x33\xda\xcb\xc2\x3a\x38\xf2\xc2\x41\x30\xbc\x1f\xa1\x35\xe1\x70\x4b\x3a\x1d\x1c\xa9\x4f\x6b\xd3\x06\x70\x8f\xe1\xb6\x15\x75\x8f\x4b\x2a\x65\x3f\xe7\x8d\xca\x29\x5d\x3b\xf2\x46\x2b\x8f\xa8\x89\xed\x76\xd1\x9a\x24\x68\x0d\x61\x2f\x28\xef\xc2\x6b\x72\x57\x9e\x71\x77\x5d\x7d\xdc\x56\x1f\xe8\x72\x14\x44\x45\x65\x96\x02\x1f\x49\x3e\xbc\xd6\xec\xb8\x17\x42\xd0\x0d\xba\x26\xb9\x77\xed\x86\x25\x24\x10\x38\xea\x74\xaa\xa5\xbb\x2c\x9b\xfa\xe8\xae\xe1\x63\x85\x3a\xe4\x5e\x55\x73\xa4\x3b\x00\x85\x4b\xee\x80\x93\xb5\x7b\x0b\xa8\xf3\x5c\x1f\xc4\x51\xe1\x72\xf7\x63\xd4\x19\x9a\xd0\x47\xb7\x70\x79\xd4\xf9\xa3\x0c\xb5\x86\x7a\x3d\x1c\x92\x10\xbb\xba\x80\x95\x70\x8d\xa3\x42\xf5\x9c\x47\x1f\x5d\x8e\xb1\xcb\x6c\x79\xf6\xf7\x2d\x88\xde\x62\xed\xfd\xc8\x1b\xd3\x07\x35\x46\x75\x83\x1e\x18\xf1\x0c\xc3\x91\xbe\x59\xdf\xff\xfc\xf2\xb8\x3e\x5c\xc3\xd0\x6c\xcb\x18\xdf\x1e\x93\x4a\xd5\xd7\x95\x66\x93\x08\x92\x20\x06\x61\x63\x0e\xe1\xc9\xa1\xf4\xd8\x88\xd9\xaa\x71\x05\xb2\xf8\xae\x48\x95\x54\x7d\x5d\x65\x88\x79\x0a\xb6\x85\xd8\xbe\x54\x13\x23\xbd\xaf\xb3\x73\x52\x66\x76\xd5\xb6\x6e\x69\x30\x51\xad\x67\x58\xa9\x29\x11\x2d\x21\xca\xc8\x78\xa2\x65\xee\xc3\x50\xe3\xd5\x03\x31\xa4\x03\xcc\x10\xc5\x5f\x27\xdb\x6d\x56\xde\x2a\xd5\x54\xb9\xb4\x64\x7b\x85\x78\xa0\xb7\x66\x53\xe4\x53\x59\x2b\x06\x56\xcb\x42\xc9\xcc\x94\xa2\x0e\x57\x19\xf9\x91\x57\x5a\x05\xec\xfe\xe4\xc7\x1a\x83\x10\x6a\x9d\x80\x22\x51\x32\x7d\x4b\x8a\x71\x95\x69\xdc\x67\xb7\xe3\xfe\x2c\xcd\x32\x41\x38\x70\xc3\x37\x21\x02\xb8\x46\x27\x48\x01\xdc\xcf\x66\xb3\x9c\x49\x92\xa8\x54\x4d\xde\xd2\x81\x01\x08\xdc\x2f\x64\x4c\x5e\x73\x4b\x3d\x27\x2d\xab\x4a\x21\x2d\xab\x7a\xad\xf6\x3b\xa4\xa6\xba\xd7\x1c\x15\x9a\x8c\x31\x55\xbe\xe6\x28\x51\x41\x53\x6d\x66\xcf\xf2\xeb\xc7\xb8\x2c\x5f\x32\x58\x09\x1c\x09\x60\xd8\xbf\x39\x1c\xac\xa5\x1d\xc7\xf7\x94\x27\xdb\x21\x5b\x71\xae\x64\x33\x8f\x27\x90\xa9\x2b\x42\xa1\x14\xae\x9b\x3d\x17\x03\x7c\xf6\xb4\x66\x43\xbd\xcc\xa6\xec\x85\x44\x19\xd6\xb6\x21\x15\x22\xa1\xf9\xad\x29\x28\xfc\xc1\xdc\x13\xa8\x20\xcb\x6c\xcc\x1a\xde\x95\xeb\x66\x78\x82\x35\x56\xd8\x8a\xc3\x80\x12\xf2\x62\xcc\xca\xb4\x04\xc9\x92\x18\x29\x46\xfa\x0a\x21\x6c\xd4\x39\xe9\x44\x9d\xa0\x13\x15\x58\x11\x45\xba\x49\x86\x21\xd5\x38\x4a\x8d\x3f\x1e\xeb\x0a\x35\x90\xa8\xd3\x31\xbc\x1a\xb1\xaf\x1d\x7d\x22\x7d\xcd\x75\xb3\x4c\x65\x2a\x3a\xe2\x61\x13\x85\xdf\x04\x01\x2c\xa3\x00\xa6\x51\x08\x3f\x46\x01\x5c\x46\x01\x5c\x47\x01\xbc\x89\x02\xf8\xdd\x90\x08\x50\x10\x86\x04\xa8\x0d\x1a\x68\xe0\x5e\x9c\x36\x76\x7b\x16\x45\x39\xe8\xac\x14\xdd\xaa\xd5\x9e\xfc\x1f\x89\xf0\x7f\xfc\x3a\xec\xbb\x61\xdf\x11\xfe\xca\x00\xde\x84\x98\x89\x13\xfe\xef\xdd\xee\x2a\x3b\x25\xe4\x47\x0e\x54\x2d\x3b\x4a\x46\x3f\xf2\x68\x55\xb3\x2a\x3b\x1f\x74\x55\x23\xaa\x68\xd9\xef\x8b\x34\xfd\x8d\x51\x81\x84\xbf\x81\x00\x84\xff\x01\x47\x9d\x5f\x74\x86\xed\xb6\xf3\xde\xe4\x44\x9d\xfb\x32\x06\x09\xff\x9e\x94\xe9\xa3\x30\x0a\xd4\x1c\x1d\xd6\x12\x1e\x8f\xae\xca\xa9\x4a\xdc\x27\xf8\xeb\xa7\xee\x53\x47\xf8\xbf\x78\x48\xab\xaf\x7d\x47\x37\x08\xbb\x17\xf8\xeb\xa7\x91\x4a\x57\x49\xef\x5b\x49\xaa\x04\xc6\xd1\x61\xcd\xc2\x5f\x82\xf0\xa7\x65\xa3\x3f\x66\x85\xc8\xd5\x2c\xb9\x48\xf8\xbf\xf7\xc2\x20\xd8\x06\x18\x84\x7f\xe9\x0a\xff\xf7\xaf\x15\xfe\x24\xfc\x6b\x10\xfe\x1b\x0c\xc9\x88\xfa\x37\x11\xdd\x81\xac\xe5\x28\x47\x88\x5f\xde\x32\x8a\x61\x16\x93\xb1\x51\x09\x05\x5a\xca\x56\xaa\xc5\x53\xf8\x66\xb5\x59\xd2\x61\x36\xd0\x2c\x0d\x31\x24\x71\xb9\xaa\x5e\xa8\x57\xbb\xb4\x39\xab\x0e\x85\xeb\x62\xd0\x67\xc5\xb0\x40\x68\x63\x92\xa6\x93\x12\xf2\x72\x4c\x4f\x12\x7e\xb2\xcc\x46\xad\x94\x88\x4e\xe0\x34\x51\xcb\x43\x34\x8c\x06\x81\xf1\xf3\xa0\x6e\xca\x5c\xed\x66\x77\x31\xbb\x41\xe1\xba\xb8\xc9\x55\xc1\x86\x96\xa1\xad\x01\x9d\x37\xb6\xb2\x7d\x09\x51\x6e\x0c\x2a\x5e\xd9\xc6\xb1\xc6\xd0\x50\x8c\x10\xf7\xef\xc9\xbd\x46\xc7\x14\x79\xb1\x87\x6e\x02\x73\x75\x6c\xb9\xcf\x23\x2f\x6c\xa9\x3d\x98\x26\xd7\x47\x9a\x5c\x7f\xae\xc9\xdb\xff\xa6\xc9\xa4\x6a\xf2\xea\x48\x93\x57\x9f\x6e\x72\x49\x5e\xfd\x37\x4d\xd2\xaa\xc9\xeb\x23\x4d\x5e\x7f\xae\xc9\x8f\xff\x4d\x93\xe6\x1a\x6c\x98\xd7\x6a\x23\xbf\xf0\xe3\x46\x82\x88\x75\xf2\x9e\xa5\xee\x41\x81\xf5\xe3\x05\xe2\xa3\x05\x7e\x7d\xbc\x40\xde\xe6\xbd\x5c\x1a\xd3\xc2\x6a\xd8\xc0\x5c\xd2\xc7\xfb\x94\x4a\x4b\xfd\x5f\x8c\xbc\x30\x42\xdc\x5f\x11\x6d\xd3\xa0\xaa\x99\x29\xa2\x99\x4a\xf6\x73\xb2\x64\xb0\x28\x03\x30\x57\xe4\xb3\x8a\x59\x11\xee\xaf\x98\x48\xb2\x69\x0e\x77\x3a\x75\x93\xc3\x54\x21\xbd\x8b\x4c\x28\x40\x93\xc3\x92\x70\x7f\x99\x71\xb9\xc8\x61\x53\x25\x5c\xea\xf0\x40\xea\xbb\xdc\xa6\x23\x6c\xb8\xb0\x7f\xe9\xca\x12\x3d\x6a\x6e\x0b\x85\x61\x28\x34\xed\xf0\xc2\x2d\xed\x3d\x2c\x24\x81\xed\xdf\x2d\x47\xea\x17\x26\x8f\x55\x4a\xf3\x63\x8e\x5c\xe8\xc0\x1a\x10\x27\xea\x4f\x60\x0a\xf6\x2d\x8b\x54\x26\x44\x8f\xad\xfc\x8e\x65\x49\x3e\x65\x54\x9b\x07\x61\x58\x93\x7f\x72\x74\xa7\x88\x81\x5f\xf5\xef\x8d\x0a\x4f\x31\xdc\xab\xf0\x14\xc3\xb5\x0a\x2f\x15\x4e\xff\xab\xfe\xbd\x52\xe1\x0d\x86\x57\x2a\xbc\xc1\x83\xd5\x11\x0e\x32\x48\xfc\x70\xa9\x8d\x39\xf7\x04\xce\x20\xf1\xce\xdc\x6a\x2f\xc8\x03\x3d\xc6\x3c\x99\x8e\x79\x7d\x31\x4c\x76\xf0\xe2\x58\x9e\xbb\x76\x9e\xdb\x63\x79\x36\x26\x8f\x5e\x5e\x9d\xeb\xdb\x63\xb9\x96\xfb\xb9\xe2\x48\xa2\x19\x86\x69\x74\x54\x72\xf0\x3b\x47\x65\xcb\x52\x0f\x06\xfa\x78\x07\xec\x3f\xc8\xfb\xe3\xa7\xf3\x9a\x1b\xae\xca\xfc\xfa\x8b\x32\x7f\x1d\xf6\xb7\xdb\xb0\x5f\x96\xf9\xf0\x68\x99\xd0\x9d\x67\xea\x50\xbc\x9d\xe9\xeb\x95\xab\x56\xce\xf0\x0e\xde\x7c\xba\x95\xcb\x24\x4d\x93\x9c\xc5\x19\x9f\x9a\x9e\xa9\x32\xcb\xcf\x94\x31\xd3\xe9\x86\x65\xa7\x2e\x3f\xd7\x04\x2f\x24\x6b\xc6\xbd\x3a\xb6\x52\xab\xb1\xdb\x1a\xf6\x90\x84\x7d\xb5\x60\xd7\x9f\xae\xfb\xda\xea\xb9\xaa\xfb\xfd\xa3\xd9\xe7\x99\x9f\x17\x7c\x6f\x82\x54\x91\xfb\xa3\x3c\xbe\x7a\x03\xee\xe0\x97\x4f\xd5\xb9\xcc\x8e\xd5\xb9\x8e\x24\x5a\x60\xf8\x35\x92\x68\x8e\x61\xf3\xe9\x31\xd4\x28\x11\xd6\x48\x8e\xa9\xe1\xb7\x2f\x2f\xc3\xce\x41\xc2\x39\xde\xc1\xef\x51\x26\xa1\xf3\x75\xe7\x50\xc2\xdb\xf9\xba\xb3\xdb\xc1\x4b\x75\x26\x05\xbc\x88\x0a\xb8\x8d\x12\xf8\x36\xa2\x10\x47\x19\x4c\x23\x29\x81\xa9\x3f\x3f\x46\x42\xc2\x6b\xf5\xe7\x43\xc4\x24\xbc\x89\xa8\x84\x65\xc4\x25\x5c\x46\x85\x84\x55\x94\xc3\x75\x94\x48\x78\x1f\x7d\xcb\xe1\x3e\xfa\x8a\xc3\x2f\xd1\x2f\x1c\xd6\x51\x0a\xbf\x46\x31\x6c\xa2\x1f\x38\xfc\x16\xfd\x8d\xc3\xef\xd1\xdf\xb9\xee\x48\x2a\x77\x47\x0c\xb0\x7f\xdf\x63\xdd\x07\x43\x3e\xea\x78\x9d\xa8\xd3\x81\x82\x20\x31\xf2\x78\xa4\xb5\x6d\x20\x21\xc5\x1e\xde\x2e\x5c\xc4\x86\x89\xc5\x7a\x60\x5e\x52\x33\x1e\x24\x76\x8b\xa8\xb0\xae\xa9\x7f\xee\xab\xfd\xd4\xe6\x23\x68\x14\x75\x5c\xae\x41\x64\x63\x3c\x52\x56\xd3\xd9\x76\xb0\xdb\xc1\x1d\xe8\x24\xb6\x89\xe8\xaf\xfc\xd0\x6e\x3c\x86\xd2\x7a\x93\xef\x1b\x8c\x1b\xe8\x38\x66\x7b\x17\xbd\x65\x55\x64\x4d\xc8\x57\xf5\x84\x6c\xb2\x23\x68\xc5\x26\xdb\xc3\x2b\x80\xb9\xe1\x01\x06\xa5\x11\x88\x4f\xe1\x11\xdf\xfe\x87\xad\xec\xb5\xf0\xfe\xf3\x2d\xfc\xf2\xbf\xb5\xf0\xcb\xe7\x5b\xf8\xdb\x7f\x3e\x53\xe7\x7b\xad\x6c\x3e\xdf\xca\x0f\xff\x79\x2b\xfd\x83\x56\xfe\xc1\x91\x6e\xe1\x93\xb8\xdd\xdf\xf7\x54\xe8\x7a\x7f\x8c\x5d\x6f\xf2\xaf\xe9\xc3\xf9\xee\xab\x52\x7e\x2f\x89\xdd\xce\x05\xc6\xaa\xfa\xdf\x89\x27\x75\xa8\x55\xdb\x3f\xda\x4c\x2d\xc4\x87\x4f\x9e\x8d\x14\x35\x1b\xf5\xd9\x99\xad\xe7\x2e\xff\xe7\xf1\x2d\xb5\xf4\xc1\x0b\x3f\x35\x38\xf9\xbf\x37\x33\xfd\xfc\x62\xb1\xff\xbc\x95\xb3\xbd\x56\x3e\x7c\xbe\x15\xf1\xbf\x8f\xe5\xc7\xcf\xb7\x52\xfc\xef\xad\x5c\x7e\xbe\x95\xe4\x7f\x6f\xe5\xfa\xf3\xad\xd0\xff\x7d\x5d\xde\x7c\xbe\x95\x4c\xda\x42\xb7\xb9\x11\x95\xfe\x95\x71\xf6\x56\xf3\xe0\x14\xc4\x25\x72\x18\x98\xfb\xc5\xed\x80\x20\x97\x14\x49\xdc\x7b\x12\x6c\x03\x28\x4c\xe0\xeb\x27\xb5\xa2\x32\x73\x7f\xe7\x48\x40\x27\xe8\x40\x1f\xab\xef\xa2\xfc\xb6\xa8\xab\x7a\x5c\x97\xc7\xc6\x75\xf9\x39\x60\xdd\x1a\x4c\x6b\x2c\xb1\xdc\xbb\x61\x2a\x96\x44\xed\x50\x40\x1a\x47\x00\x95\x31\x1f\x2a\x03\x87\x66\x78\x87\x66\xb1\x63\x36\x19\x9c\x8a\x71\x38\x41\x12\x0f\xb0\x8a\x70\x5d\x56\x8b\xf3\x54\x97\x14\x79\x63\x91\x78\xb2\x65\xf3\x31\x93\xed\x3b\x9b\xf9\x39\xe1\xae\x84\x82\x08\x8f\x6b\x85\xef\x62\xc0\x7c\x49\xb8\x97\xb8\x48\x7a\xf6\x2d\xbc\x90\x06\x85\xe1\xdd\xee\x7d\xe6\x2f\x68\xfe\xf6\x9e\x5b\x9e\xa2\xe4\x66\xc5\xb0\x4a\x1a\x9b\xef\xc9\x9e\x33\x8e\xb9\xdc\xd3\x96\x34\xfe\x73\x6a\x95\x38\xa6\x6d\x3d\xa5\x9f\x26\x9c\x5d\x4b\x2a\x24\xc2\x95\x4f\x1d\x35\xca\x62\x02\xd2\x5f\x69\x5b\x32\xbd\x97\xd4\x14\x80\x18\xf7\x27\x78\x60\xca\xbc\xe2\x53\xdb\xbb\xcc\x4a\xda\xe2\xe3\xf6\xe5\x6e\x1a\x5a\x65\xe9\x66\x9e\xf1\xa6\x2d\x7d\xe3\xcf\xcd\x75\x0f\x12\x42\x55\x73\x99\x69\xaf\xf2\x3b\xb9\xe7\xea\x4d\xcf\x8b\x43\x5e\x53\x90\x44\x3a\xaf\x69\xaf\xef\x7e\xa0\xbd\xf3\x41\x29\x0d\xf0\x04\x50\xc2\x86\x24\x18\x85\x91\x17\x42\x46\xa8\xc3\x20\x25\xb5\xf9\x81\xc4\x10\x37\x76\x3b\x12\x43\x4e\x12\x27\x86\x19\x29\x9c\xd4\xcd\x9d\x3a\x5f\x86\x61\x41\x72\x87\x3a\x75\xde\x0c\x0f\x3e\x66\xda\x85\x83\xa5\xdb\xbe\x80\x19\xd6\x6a\xa2\x50\x90\x14\x12\x12\xef\x4a\xdb\x5b\xd0\x4a\xaa\x83\xab\xcc\xcc\x64\x43\xda\x52\xc8\xf0\x43\x1d\xcd\x41\x10\x24\x09\xc5\xce\x6b\xaa\x0f\x57\xd5\x3c\x41\x8c\x64\xb8\x19\x1f\xae\x34\x5e\x4d\x57\x76\x70\x95\x55\x6b\x61\xf3\xf1\x0c\x47\xdc\xda\x94\x53\xfb\xb4\x6b\xc8\x40\xb8\x5e\xcf\xa6\xad\x1a\xc1\x1a\x0b\xc7\x9e\x27\xe1\xd8\xf3\x54\x7f\x33\x6c\x59\xa9\x2d\x65\x5b\x91\x6c\x1c\x4c\x1c\x39\x0e\x26\xae\x6a\xc4\x91\xe3\x50\x7d\xf5\xd5\x57\xdf\x2a\xb5\x69\x95\x1a\x97\x79\xfb\x13\xaf\xcc\x1b\x4e\xa0\xfc\x2a\x2d\xce\x74\x2a\x94\x5f\xa5\x45\x9a\x4e\xb5\x2a\xbd\xac\x0e\x8d\x6a\x9e\xa8\x44\x50\xd9\xd4\x67\x59\x9f\xfa\xb4\xbb\xb1\xde\xef\x86\xaa\x1e\x4c\xdd\x65\x07\xac\xdc\xb7\xd6\x4c\x36\xa6\x0c\xba\x10\xaf\x47\xcc\xeb\x11\x73\x7d\x60\x54\x4a\x8f\x98\x4a\xcd\x6f\x5f\xfd\x5a\xea\xeb\x96\xd3\xc1\xb1\xb5\xb1\xb8\xe9\xb4\x42\x86\x24\x47\xba\x32\xab\x2f\xf7\xed\x69\xbf\xa4\xba\x1f\x9e\x1a\x34\x7e\xfe\x8e\x76\xbb\x3a\x26\x54\x31\xa1\x8e\xb1\x74\x8d\xa5\x75\x86\x06\x96\xca\x87\x5e\x75\x6d\x9c\x33\xf8\x28\x11\x6b\xb6\x02\xc7\xc0\x1c\xcb\x5a\x07\xac\x6d\x61\xeb\xfa\xd6\x50\xc7\x75\x5f\x65\xf0\x32\x73\x09\xe2\xde\xcb\x0c\xf7\x5e\x65\xf0\x97\x0a\x49\xef\x2f\x13\x7a\xa3\x42\xcc\x7b\xa3\x43\x96\x8a\xef\xc1\x59\x2f\xec\x7e\x26\x4d\x3f\x0b\xdd\x4f\xa0\x24\x69\x75\x33\xab\xc2\x65\x47\xd3\xe6\xc8\x14\xf5\xb9\x37\xf3\xdb\xac\x20\x8a\x09\x73\x52\x4f\x38\x19\x76\x62\x17\xc5\x44\x38\xd4\x93\x4e\x5a\x86\xa4\x93\x79\xcc\xa1\xd8\x89\x31\x48\x87\xba\xcc\xc9\x5c\xe1\xa4\x78\xf0\x22\x73\x49\x0c\x7f\xaa\xbf\x0e\x92\xae\x3e\xc5\x18\x7e\x36\x61\xe6\xea\xf3\x8b\xe1\x27\x13\x16\x2e\x12\x24\xc5\x18\x3e\xca\x52\x33\xb8\x01\x14\x83\x0f\x07\x40\x42\x7b\x3d\x28\xea\x91\xd3\x66\xe4\x89\x59\x21\x49\x68\x33\xf2\x42\x5d\xd9\x16\xa4\x2a\x70\x75\xbc\x55\x28\xc1\xf0\xa1\x01\x37\x4d\xfb\x96\x06\xb4\x9a\xf7\x3a\xcf\xb5\xb5\x3b\x5f\x3c\x0a\x7d\x8f\xef\x1c\x05\x7b\xf7\x56\x84\x3d\xb6\x22\x1a\x12\x17\x4e\xea\x25\x4e\xa6\xa1\x30\xf5\x84\x93\xc2\x8c\x08\x27\xf3\x0a\x87\xc2\xc2\x3a\x66\xb1\x13\xbb\xb9\x93\xbb\x33\x67\x86\x61\xae\x96\xc8\x2d\x9c\xcc\x4d\x9c\x14\x56\x64\xd1\xed\x7a\x9c\xa3\x39\xee\x2d\xe0\x8e\xb4\xa0\xf3\x1c\x0f\xbe\xcb\x5c\xb2\x72\x62\x78\xa7\x7f\x73\x78\xaf\x7f\x67\xa0\xd6\xef\x4e\xaf\xdf\x5d\xb9\x3e\xd5\xfa\xdd\x39\xa8\x70\x51\x51\xaf\xdf\x9d\x83\x12\x17\x25\xd5\xfa\x19\xa7\x14\x7b\x80\xfe\x70\x0d\x35\xa0\x97\x84\x02\x23\x99\xbd\x02\xb4\x9e\x3e\xeb\x5a\xca\xcc\xb2\x0a\x92\x36\xd3\xa7\xd5\xf8\xd3\x66\xfa\xe8\xde\x1d\x60\xf5\x45\xd5\xff\xe8\x6d\x60\x27\xbe\x92\x60\x2f\xb4\xa5\x51\x2e\x0f\x3c\xde\xd8\xfa\xeb\x8c\x18\xf7\x46\x20\xb5\x19\x30\x30\x05\x57\x6a\xff\x34\xc6\x58\x5a\xf3\x63\xab\x2f\xc4\xca\xcf\xe3\x8e\xde\x18\xa9\xb2\x9a\x6a\x59\xb7\xcb\xeb\x88\xa6\x81\x96\x48\xfe\x2f\x59\x73\x67\x6c\xb7\x8b\x6f\x64\x25\xa6\xaa\x7d\xf7\x19\x85\x2f\x23\x81\xe7\xc7\xf5\x79\x67\xe8\x14\xa1\x06\x61\xf4\x42\xfc\x9c\x04\xd8\x72\x9d\xa1\x31\x1f\xc2\xc7\x52\xd7\x72\x6f\xfa\x89\x1f\x8a\x16\xd6\x54\x61\x8c\x19\x09\x06\x72\x98\x0d\x5c\x37\xc3\x45\x89\x3b\x21\x55\x49\x36\xc1\xf5\x68\x06\xb6\x2a\x7d\x61\x61\x52\xa5\xf0\x9c\xdd\x9f\xfc\x2c\xb5\x2e\xaf\x56\x6c\x3d\x0d\xd4\x01\x69\x62\x55\x5c\x0a\xa7\x21\x1e\xa4\x7e\x46\xe2\x4a\x35\x2d\xad\x05\xbd\x31\x86\xba\x16\x51\xd7\x12\x5a\xb5\x88\xba\x96\x40\x0b\xdd\x8f\xd7\xb2\xd3\x0a\xb5\x79\x26\xa4\x3a\xa3\x7f\x4a\x05\x41\xfe\x94\x7a\xfb\x55\x04\xc5\x83\x35\x70\x48\x09\x83\x98\xd4\xde\x21\xe3\x72\x1e\xe8\x38\x9b\xf8\x8c\xa4\xe4\x34\xad\xe7\x29\x87\x19\x2c\x48\x32\x0e\x26\x83\x41\x53\xc9\x9c\x2c\x60\x45\x4e\x83\xc1\xdc\xbf\x1b\xe0\x64\x86\xd0\x9c\xcc\x7d\x8e\x09\x21\x95\x64\x78\x90\x93\xb9\xff\x17\xb4\x67\x7f\x9a\xa9\x75\x9c\xfb\x77\x64\xee\x67\xfe\x9d\xd6\x34\xf3\x99\x5e\xdc\x15\xb6\x7b\x18\x93\x7c\xbf\x77\xf5\x2a\xcd\x48\x5e\xad\xd2\x4c\xaf\x92\x16\x20\x0a\x34\xf7\xd7\x30\xf7\xb9\xbf\x86\x10\x0a\x3c\xd0\x3d\xd2\xc2\x45\x53\xfd\x83\xea\xd0\xca\xff\xcb\xda\x02\x79\xbd\x97\x06\xd9\x90\x04\x03\xcf\xfb\x44\x33\xbb\x56\x33\x2b\x7f\x0d\x5e\xdd\xce\x6a\xa7\xfe\x2a\xa0\xa8\xc6\xbc\x22\xa7\xab\xdd\xfd\x22\x49\x19\x3a\x9d\xfb\x77\x78\x60\x6f\x1d\xeb\x04\xff\x29\xcb\x8d\xdd\xec\x6a\xdb\x91\x26\x03\x41\x14\xfd\xa6\x36\xf6\xc0\x75\x85\xa2\x8c\x0a\x9f\x13\xb5\x4b\xc5\x04\x98\xbf\x22\x05\x14\x84\x0d\xaa\xc8\xa0\x8c\xb4\x9a\xf8\x59\x36\x12\x61\xad\xee\xb3\x26\xa5\x8d\xe2\x5f\x44\x9a\x8f\x8c\x30\xf3\xc1\x88\x30\x1f\x77\xe4\x34\x34\x5f\x95\xab\x25\x2d\xbe\xb7\xd4\x6f\xad\x5a\xf7\xa9\x32\x7d\x11\x5a\xa2\x44\x8b\x9e\x2a\x74\x60\xc0\xb5\x1b\x50\x8d\xd8\x6a\x0b\xbd\x6e\x37\x29\xe7\x5c\xee\xf9\x02\xb4\x88\x94\xc2\xb8\x62\x99\x96\x39\x2d\x88\x63\x89\x04\xf1\xc3\xa6\x84\x94\x19\x4c\xed\x8d\x67\x8b\x01\x9b\x4c\xb4\xcc\xb4\x47\xc0\xe4\x65\xbb\xe6\x74\x8d\x39\xc8\xd2\xd5\x47\xdd\x8b\xf5\x27\x7a\x31\x43\x5a\x3a\xdc\xb4\x0d\x77\x64\x6c\x21\x82\x0b\x84\x1f\x72\x74\x67\x9c\x68\x80\xfe\x0d\x27\x18\xd6\x4d\x4f\x06\x95\xee\xf1\xda\x8f\x53\x46\xb9\xa6\xef\x2f\xfd\xdb\x62\x36\x63\x02\x69\xdd\xd2\xea\x6c\x24\x33\x74\xe7\xaf\xb2\x15\xc2\xb0\x32\xdd\xbd\x53\xed\x69\x98\x21\xd4\xb9\x0c\xbb\xea\xfa\x27\xaa\xa3\x46\x75\xd0\x22\xf5\xbc\x10\x28\x31\xa2\x7e\x31\x0c\xcc\xce\xbb\xdd\x6e\x51\xb2\x47\xfd\xc1\x2d\x51\xd0\x27\xd9\xa3\x3e\xa9\xa2\x08\xab\x95\x43\x6a\x9b\x52\x73\x5a\xb4\x92\xe5\x20\xb1\xf7\xbc\x39\x3a\xc3\xb0\xdb\xed\x77\x65\xed\x2b\x95\x99\xae\x5b\xfe\x55\x17\xc9\x4c\x22\xad\x2f\x59\xe5\x98\x25\xa9\x64\x02\x7d\x27\x4b\x9f\x02\x73\x58\xc1\x1d\x4c\x89\x86\x71\x4b\x52\x54\x57\x50\x4d\xf7\x62\xd8\x90\x07\xdd\xa9\x88\x42\xdd\xe3\x28\x85\xb2\x3b\x51\x0c\xf6\xf0\x6c\x39\x42\xb5\x2f\x72\xd8\x34\x63\x25\xb3\x32\xa4\x2e\xe3\x05\xcc\xd5\x4d\xb5\x52\x2b\x0a\x0d\xf9\x7b\xac\x12\xda\xaa\x24\xb5\x2a\x89\x61\xae\x45\x97\x4c\xcc\x19\x9a\x97\xcb\x4d\xde\x4a\xb4\x84\x15\x1e\xcc\x6b\x9b\x98\x4f\xac\xc5\x1b\x89\xe6\xf0\x5e\x02\x07\x06\x09\xc6\x11\xef\x76\xbf\x78\xe9\x80\x95\x66\x18\xea\x4f\x08\x49\x95\xac\x97\x0a\xc3\x6d\xb7\xdb\x54\xa3\xe3\x54\x25\xa1\xc2\xe1\x4a\x30\x00\xf9\x6a\xc1\x04\xb3\x07\x7d\xd0\xee\x97\xb7\x08\xed\xc6\x76\x3b\xb8\x24\xef\xa4\x16\xea\x4a\x74\x69\x1a\xaf\xee\xe1\x8d\x05\xd9\xbe\x93\x47\x3c\x7f\x0f\x2d\x4e\xd3\x3b\x69\x59\xd7\x8d\x2b\x2e\xd0\x43\xb3\x25\xac\xfe\xcb\x52\xc1\x8a\x8c\x27\x58\x2d\xac\xda\x3d\x6d\x8d\xb5\xd2\x65\xf5\x58\x02\x53\x59\xaa\xcd\x74\x0b\xe6\x58\xda\x95\x95\x2e\x04\x6b\x19\x88\xda\x31\x95\x97\xe1\x1d\x08\xf6\x21\x4b\x78\xbb\xf1\xaa\xf3\x0a\x1d\xd3\xcd\xc8\xf6\xc9\x90\xcd\xc9\xb0\xef\x8f\xf7\x2d\x9a\x12\x69\xdb\xe8\xb5\x3a\x82\xcf\x83\x91\xa6\x25\xdf\x52\xef\x1d\x8d\xde\xd2\xca\x37\x8c\xe6\xb3\x57\x39\x64\x2b\x87\x6c\x43\xb1\x0f\xd2\x72\xf2\xa6\x0d\x63\x2b\xf3\xd8\x2b\x7a\xf5\xc9\xa9\xe4\xad\x95\x97\x24\x3c\x98\xcf\x04\x4a\x47\x47\x19\x49\x86\xc1\xe8\x03\x8d\xbc\x0f\x54\xd3\x19\x28\xf1\x18\x1e\x5c\x52\x94\x7a\x1f\xa8\x22\x82\x47\x88\x57\xa0\x16\x04\x41\xc2\xa5\xb8\xd7\x1f\x06\xda\x05\xcd\x5b\x8a\xa1\x4a\x2d\x14\x46\xca\xad\x4d\xd5\xee\x45\x95\x2d\x33\xd9\x4c\x20\xd1\xc8\x31\x09\x70\x54\x9c\x12\x92\x75\xbb\xe9\x90\x7c\xa0\xdd\x2e\xba\xa4\x88\x79\x85\xa1\xca\x11\xf3\x48\xe1\xbc\xa3\x8a\x84\x46\x89\x97\x95\xb1\x89\x47\x32\x1d\x2b\xc8\xf7\xba\x6f\xa0\x06\xf5\x5f\x75\xc7\x38\xdd\xa8\x46\x49\x12\x50\x54\x0d\x14\x24\x6b\x36\xd9\xc1\xec\x9a\x4a\x19\xd1\x6b\xb2\x03\x7d\x4b\x1c\x31\x79\xed\x7b\xb2\xa5\x0e\x6c\xdd\xda\xb5\x66\x98\xe5\x11\xc7\x6b\xe4\x76\x97\x14\x51\x3c\x7c\x47\x47\x35\x69\x86\x90\x45\x06\x3a\xc8\xa2\xec\x05\xc6\x8e\xc5\x6a\xf2\xea\x6f\x81\x1d\x54\xd8\x7c\x3c\x6c\x13\x96\xb8\x87\x0a\x27\x71\x28\xc6\x11\x92\xae\x68\x79\xf9\xf9\x71\xbf\xa7\x8d\x4b\x32\x8e\x0b\xc2\x9c\xb7\x14\x44\x39\x65\x6a\xef\x28\xf2\xb9\x0c\x06\x76\xa0\x9d\xf4\x81\x42\xd0\x0a\x79\xad\x72\x76\xc8\xdb\x4b\xf5\xda\x65\x4d\x9b\x83\x4a\x71\xad\xc5\xcc\x19\xbe\xab\xdd\x78\xa9\xc8\xe7\x2a\xb2\xdc\xe3\x03\xd5\xf5\xa4\xd7\x6f\xea\x49\x1e\xed\xba\x4a\x29\xaf\xcd\x0a\x39\x52\x37\xdc\xde\x31\x7d\xdb\x62\xe4\xd6\x14\x50\x38\x81\x82\x8c\xad\x45\x01\xcf\xe2\x1d\x42\x30\x81\x84\x04\x40\x49\x30\xf8\x98\xf9\x82\x69\x19\xc2\xa0\x4d\x20\x48\x5b\x3f\x50\xa1\xdf\x0f\xc6\x9b\x9f\x1c\x67\x13\xc8\x49\x6c\x61\x20\x79\x8d\xb9\xcf\x48\xac\xba\xb0\x20\x33\xf5\x33\x27\x0a\x6f\x2e\xb9\xa1\xb0\x6a\x76\xda\x1c\x57\x44\xbf\xea\xd0\x1c\xc3\x94\x84\x8a\xba\x98\x12\x42\xf2\x6e\x17\x4d\xf5\x91\x20\xf1\x78\x6a\x90\x96\xa5\x19\xd9\x46\x8f\xac\xaa\xef\xb2\xa9\x6f\xa3\x2e\x8b\xba\xbe\x8d\xba\x33\x96\xde\x02\x6e\xc8\x6d\xcd\x55\xbe\x27\x37\xce\x2d\x5c\x93\xfb\xe1\x07\x0a\x1f\xc9\xca\xb9\x54\x3d\x3f\xe4\x0e\x7f\x74\x6e\x9a\x4d\x7a\x8f\xe1\xce\x59\xbb\x1f\x1b\x02\xff\x5e\xe1\x26\x89\x4b\xae\x47\xb7\xee\x8d\xf3\x3d\x8d\x6e\xe1\xfa\x8f\xc5\x90\xb0\x3f\x96\x43\x52\xe2\xb9\x57\x64\x23\xd1\xd4\xa8\xe0\x68\x7f\x0f\x83\x5b\x89\xae\xcc\x35\xff\x4a\xa5\x15\x70\xa5\xe3\x5e\x55\x5a\x44\xe8\xfa\x0f\xdd\x53\x2f\x8c\x42\xec\x48\x8e\x5e\x69\x4e\x24\x12\xc3\x17\xdb\xad\x20\x84\xbc\xe8\x76\xd1\xd5\x38\x98\x6c\xb7\x57\x6a\xfd\xb5\x76\xb2\x4b\xca\x52\x6a\x7c\x78\xa7\xc8\xe3\xa9\xeb\x62\x63\x0d\xb3\x20\x4b\x35\xe1\x70\x47\xd6\x30\x23\xbc\x72\xc1\x86\xbc\x77\x74\x98\x6c\xb7\xea\x6f\xb7\x1b\x0c\x3f\x66\xf8\x8f\xb0\x6b\xb1\x1a\x5f\xef\x6b\x50\xb7\x79\x96\x35\x97\xc8\xe6\x3a\x0f\x93\x5d\x5b\xcf\xcc\xa8\x5b\x27\x90\x42\x0c\xf9\x27\xef\x8a\x58\xd1\x9a\x21\xe4\x47\x2e\x89\x19\x2c\x4c\x4d\x73\x85\x6d\xcd\x60\x31\x81\x3b\x22\x75\x34\x4c\x09\x1d\xdd\x8d\x82\xa8\xd0\xc1\xe8\x6e\x54\xa0\x99\x8b\x82\xe1\xac\x3c\x67\x58\xc5\x6a\x3f\x22\xa7\x4c\x9b\x3a\xa5\xe4\x0e\x77\xbb\x6d\x20\x7c\x77\x6a\x6c\x83\xe6\x44\x20\x06\x2b\x0c\x86\x63\x30\xc7\xdb\xed\xbd\x44\x2b\x98\xeb\x69\x5e\x69\xd6\xf4\x3b\x0a\x2b\xcd\x98\x7e\x47\x75\x2f\x54\xac\x8e\x51\xdb\x41\x57\x84\x73\x12\xc0\x9d\xba\xae\xec\x36\x54\xdd\x2b\x6d\x7b\x50\x9e\xe1\xb9\x3e\x17\xba\x60\xd4\xb4\x7c\x98\x6a\x5f\x1e\x0a\xd0\xcf\x6b\x58\x93\x75\xbb\xac\xdb\xa5\x7f\xdc\x99\xd9\x59\x0e\xa6\xdd\x64\xbb\x3d\x45\x4b\xd3\x14\x9c\x06\xda\x27\x88\xea\x0e\xdd\xef\x4e\xd5\xce\xb2\x24\x3e\x96\x15\xf1\xd1\x24\x84\x65\x42\x38\x39\xe8\x46\x84\xbe\x24\xdb\x23\x57\xdd\x7e\x93\x18\xef\x4e\xef\xb6\x5b\xd6\xed\xea\x59\x5f\xe1\xed\xb6\xca\xda\x4c\x2e\x30\xb2\x82\x94\xdc\x41\x42\xa6\x47\x6f\xc3\xb4\x5a\xd4\xea\x42\x34\xf8\xe9\x63\xf7\x61\xbe\x45\x71\xb7\x9b\xe2\xe7\xcf\x43\xfb\x5e\x14\x6d\xa9\x9f\x3e\xb4\x50\xa8\x5f\x89\x81\x92\x71\x08\x81\x02\x99\x99\x3a\xbb\x42\xc1\xe8\x94\x2c\xd5\xe5\x9d\x61\x88\x49\xa6\x7a\x9b\x93\xd4\x8b\x9d\x58\xef\xb8\xbc\x7a\x70\x84\x75\xbb\x46\x13\x72\x46\x12\x27\xed\xe5\xb0\x20\x5e\xe2\xc4\xbd\x1c\xe6\xaa\x26\xaa\xca\xaf\xc8\x5a\x7d\xcd\x14\x40\x5c\xab\x3a\x17\x78\x70\xa9\x76\xdf\x9d\x81\x0d\x53\x32\x87\xa5\x6a\x6d\x05\x53\x45\xd8\x2c\x25\x9a\xaa\xaf\x4b\xb2\x74\x96\xde\xc6\x41\x3a\x69\x85\xbd\x50\xeb\xe7\x9f\xa2\x60\x78\x59\xb2\xc4\xd6\x16\x2f\x56\xa3\xd1\x6b\x55\x16\x79\x4b\x6f\x8d\x7b\x1b\x9d\xfd\x52\xa2\x5b\xb5\xff\x6e\xc9\x8d\x44\xb7\x18\x4e\x59\xa5\xd5\x7f\xab\x5b\xbf\x81\x7b\x03\x79\xaf\x8d\x70\xe6\xa3\xb9\x5a\xae\xb4\x7c\x66\x70\x3f\xbc\xee\x76\xd1\x0d\xb9\x87\x7b\x72\x0d\xd7\xe4\xa6\x02\x71\xd7\xde\x3d\xbc\x50\xd8\xdc\xab\x12\x8b\x83\x97\xe4\x85\x06\x3a\xaf\x74\x27\x5f\x74\xbb\x1f\x87\x57\xba\xec\x47\xf8\x48\xae\xe0\x8a\xdc\x60\x78\x39\x7a\x31\xfa\xe8\x5e\x0d\x83\x3f\x6e\xc7\xe1\xe4\xb9\xba\x54\x6f\xd5\xa5\x7a\xaf\xf1\xc0\x8f\xd1\x15\x8e\x3e\x3e\x27\x2a\xad\xdb\xd5\x39\xc8\x55\xf4\x6a\xf8\x81\xfe\x81\xee\x55\x74\xa0\xa3\x83\xc9\x73\x72\x5d\x4e\xc0\x5f\xf5\x88\x5d\x33\xe2\x0a\x8c\x49\xf4\x97\x1a\xf5\xf8\x16\x6e\x24\xfa\x0b\x4f\xec\xbd\x50\xd8\xfc\x0a\x3a\xe2\xd1\x07\xea\x71\x28\x48\x25\x3c\xf7\xc4\x50\x8e\x8a\x2d\x09\x23\xa9\xed\xad\x8b\x2d\xe9\x63\xf0\xc4\x90\xa9\xd8\xf3\x88\x55\xb1\xcf\x30\x14\xbb\x3d\x19\x08\xd7\xf2\x8f\x61\x00\x99\xc6\x75\x15\xaa\xa0\xb6\x37\x43\x1c\x9e\x38\x9a\x99\x6c\x7a\xf8\x93\xe1\xf8\xa7\x40\x47\xe3\x00\x3c\x3e\x89\xc6\x0a\xe3\xe0\xde\x87\x96\x67\xe2\xdf\x3e\xc5\x85\x69\xde\x44\x29\x7c\x0a\x19\x29\xfc\x5b\x48\x09\xf5\xd7\x9a\xf1\xb7\x81\x9c\x64\xbe\xba\x1b\x32\x7f\x03\x0b\x12\xc0\x9c\x84\xb0\x22\xb9\x97\xc2\x1d\x99\x79\x7a\x2b\x27\x84\x7b\x29\xac\x14\x74\x49\x86\x01\x36\x9e\x59\x7b\x64\x05\xda\xa0\x30\x99\xa1\xc5\x30\xa9\x98\x7d\x73\x75\xa1\xa0\x39\x49\x70\xad\xce\xbf\x1a\x06\xa6\xc8\x70\x5e\xe5\x4a\x86\xc6\x4a\x35\xd1\xf7\x55\x42\x58\x55\x7f\x30\x4c\x8e\xd4\x7f\xbc\xe4\x7e\xfd\xc7\x7b\xa1\xeb\x97\x5e\x0c\x77\xfb\xfd\xbf\x83\x60\x78\xf7\x05\xfd\xbf\xfb\x7c\xff\x45\x55\xbf\xdd\xff\xa6\xfe\x4f\xf7\xff\xee\x93\xfd\x2f\x17\x74\xa1\x0d\x9e\x0b\x9f\x92\x87\x75\x94\xba\x0b\x67\x05\x9b\x28\x76\x17\xce\xdd\x0e\x43\x38\x9c\xeb\xc4\x5b\x93\x38\x2f\x13\xe7\x3a\xb1\xd8\xe9\x7f\x8d\x42\xa2\x3c\xea\x80\x46\xb3\xe0\x1b\xac\x5f\x2b\x3c\x71\x7d\xe4\x8a\x61\x30\x0a\xa2\xb3\xa8\x8a\x65\x75\x6c\x3f\x0a\x4d\x6c\x38\xf1\x64\x1d\x1b\x46\x41\xa4\x7e\xcf\xa2\xfe\x9e\xf5\x42\xe3\xf7\x03\x71\x7f\x0d\x8a\x04\xdd\x33\x36\xb0\xb9\x7c\xa1\xa2\xaa\xd4\x39\x6c\xec\x9f\xd8\x29\x21\x62\xc4\x3c\x11\x05\xda\x66\xaa\x96\x28\x47\xa1\x0e\xd7\xd8\x77\xd4\x2f\xc3\xa5\x20\x35\xaa\xe5\xd1\x07\x9e\x86\x33\x6b\x1a\xd2\xb6\x4e\x4a\x00\x8c\x4c\x2b\xbd\x94\x1a\x9f\x0e\x06\x6c\x58\x0c\x5c\xb7\xa8\xd1\x5d\x75\xba\x42\xc8\xc8\x74\x5c\x4c\x2c\xef\xe6\xe5\xad\x30\x48\x87\x74\xe0\xba\x14\x27\x24\x1b\xd3\x09\xc4\x1a\x68\x89\x51\x32\x0e\x27\x0a\x4a\xfc\x03\xc5\x90\x00\xc7\x6a\x85\x5d\x57\x46\x89\x49\x6f\x12\x9e\x07\xdd\xae\xe7\x49\x88\x49\x52\x4d\x44\x70\x4a\x6c\x51\x74\x8c\x12\xc8\x14\x9e\x65\xe6\x4f\x5d\xfa\x33\xe3\x40\xcd\x10\x4b\x89\xc6\x04\x0a\xed\x5a\x03\x9f\x12\x82\x66\xa4\x40\xda\x51\xd7\x76\x4b\x55\x59\xfc\x3c\xf8\x23\x55\xfb\x70\x9a\x9d\xc4\x15\x19\xa2\xb0\xf0\xed\xf6\x4c\xfd\x8c\x78\xc4\x20\x1f\x86\x23\x11\x49\x3c\x30\x2c\x6d\x94\x13\x94\xbb\xa9\x7b\x8e\xbf\x3e\x57\x95\xce\xca\x2d\x5d\x95\xd7\x37\x62\xd6\xa6\x53\x72\xc3\x16\x2e\x47\x51\x0c\x09\xef\x76\xd9\x50\x7b\x0e\xd1\x5e\xdf\xc5\x90\x24\x36\x0b\x55\x6f\x09\xc3\x87\xed\x76\x4b\xe9\xd7\x9e\xca\xcc\x02\xe1\x87\x97\x25\xaf\x6d\x05\xd3\x6e\x77\x6a\x58\x27\x4b\x32\x9e\x60\xb8\x26\xa7\x01\xdc\x2b\xe4\xf2\x96\xdc\x90\xd6\xfb\x7c\x73\x84\x1f\xee\x14\x6a\x87\x36\x70\x89\x61\xdd\xed\xde\x77\xbb\xaf\x7c\xc3\x97\x51\x88\xa1\xa9\xe7\x55\xcd\x70\xc5\x18\xaa\x86\x66\x70\xaf\xfa\x73\x4c\xa5\xa6\x94\xb4\x36\x66\xe0\xde\x8f\x59\x63\x08\xfe\x63\x06\x1c\x2b\x62\xff\xd1\x64\x89\x2b\x26\xb3\x19\xb7\x5a\xc5\x69\xb7\xbb\xb4\xb9\xd0\x70\x8d\x37\x84\xc3\x25\x91\xb0\x26\x4c\x0d\x32\x04\x85\xe1\x66\x2d\x9c\xcb\x9e\xaf\x86\x48\x55\xa8\x16\xb6\x93\x74\x4a\x65\x10\x48\xa3\x87\x75\x74\x0b\x9b\xe8\x66\x07\xb7\xea\x9b\xc3\x26\x92\xbb\xdd\xe0\x05\x12\x78\x84\xee\xb5\x4b\x9a\x63\x8d\x08\x5f\xdd\x29\xea\xef\x06\xdb\xb1\xb7\x3a\xf6\xd6\xdf\x60\x60\xdb\xad\x35\x65\xf0\x91\x9c\x86\x38\xfa\x74\xb7\x4d\xa6\xdd\x2d\xe1\x70\x43\x24\xdc\x13\xa6\xef\xd2\x3b\x98\xc2\x12\x36\x70\x09\xda\x04\x1d\xee\xe1\x1a\x3e\xc2\x15\xc9\xe0\x95\xe1\x19\xbe\x20\xd6\xa5\x08\x2f\x2b\x46\xf0\xcc\x62\x04\x2f\x6a\x44\x72\xfe\x28\x23\x38\x23\xaf\x34\xd7\x1e\xa6\xea\xcf\x47\x72\x1a\x3c\xc6\xed\xcd\xc8\x15\xdc\x35\xdc\xdc\x12\x6d\x93\x24\x55\x2b\x26\x34\x0a\xfb\xb1\xdb\x95\x50\xd4\x96\xe7\x03\xc4\xb6\xdb\x02\xeb\xe1\xef\x31\x4d\x0f\xe7\x24\x6e\x31\x4e\x33\x35\x49\x16\x5d\x50\x74\xbb\x6f\x24\xba\x83\x04\x24\xc4\x26\xd5\x66\xa5\x2a\xa4\x72\x4a\x96\x06\x29\xae\x75\xd4\x5f\x5a\x77\xc2\x3f\x2d\x05\x19\x05\xf4\x3e\xd0\xde\x19\x08\x92\x31\x83\x01\x0b\x23\xaf\xa9\x4e\xad\xbf\xa2\x82\xa6\x29\x4b\xf3\x2f\xf2\xe9\x24\x90\xd1\x5f\x72\x3e\xd0\x5e\xf8\x2c\x28\xd5\x98\xca\x10\x8e\xc6\xb2\xf7\x81\x3a\x3a\xa1\xfc\x98\xec\xc0\x7a\xcf\xe5\xd7\x43\xf1\xf6\xbe\xcb\x13\x8d\xdb\x26\x5e\xdf\x29\x6c\xbd\x27\xdc\x2b\x6a\xaf\xde\x16\xc3\xc9\x21\x05\x06\xea\xb5\x94\x1d\x26\xa5\x65\x93\xad\xef\x50\x10\x24\xdc\x56\x75\x7d\x48\x48\xe8\x0a\x07\xf5\x9d\xc2\x13\xb5\x9f\x42\xd3\x7a\xd3\xda\xc9\xa1\xfc\xdc\xea\x30\xf5\x2a\x86\x70\x4b\x67\x08\x18\xee\x15\x20\x39\x42\x89\x87\xb8\xc3\xb5\x93\x55\xa7\x70\x0a\xdc\x53\xcd\x61\x3c\xd9\xd9\x02\xf5\xaf\x8e\x69\x77\xbc\xce\x5c\x52\x38\xdc\x13\x8e\x2c\xf5\xda\xa4\xad\xea\x30\xf8\xea\x40\xd1\x41\x73\x60\xbf\x6a\x14\x1c\x24\x11\x24\x01\x46\x0a\x42\x77\xf0\xd5\x97\xa9\xa9\x7d\x5b\xae\xcf\x6f\x99\x76\x2b\xfd\x5b\x46\x38\x06\x3e\xfc\x67\xd6\xed\xa2\x7f\xea\xc0\xef\x99\xf6\xd1\xf2\x7b\x46\x24\x06\x39\xfc\x55\xa5\xfc\xaa\x02\x96\x32\xfd\xb1\xf1\x94\x62\xed\xce\x65\x07\x38\x74\xa0\x03\x12\x12\xdb\x1f\xf9\x63\xb9\x6a\x10\x42\xd8\x6e\x7f\xd7\x54\xb9\xdf\x34\xb9\x6d\x02\x10\x3f\xd4\x93\x61\xd3\x02\x4d\xb9\xdf\x3b\x95\x47\xbc\xbf\x49\x74\xee\x6b\x6f\x95\xda\x94\xbc\x84\x30\x1c\x8e\x32\x38\xaa\x5a\x65\x43\xbe\x8a\xc7\xa1\x4e\x3d\xef\xc5\xa3\xe0\xa6\xce\x22\xa0\xe9\xb1\xe1\x9d\xfc\x44\xa7\x49\x91\x1f\x33\xf4\xd1\x9d\xe6\x18\xb2\x1d\x08\x96\x17\x69\xab\xd5\x64\x86\x68\x2d\x7c\x36\xa2\xa8\xc6\xb2\xbc\x36\x40\xd7\x32\x8c\x5d\x03\x45\x2c\x1d\xb0\xbf\x59\x82\x98\xce\x32\x80\x8e\xcb\xdd\x0e\xd5\x7f\xcd\xf7\x49\x70\x12\x42\x78\xa2\x52\xbc\xbe\xf3\x78\xa2\x4e\xfb\xcb\x72\x52\xf1\x43\xb9\xd4\x2f\x33\x97\x70\xad\x90\x26\xc1\x75\xdf\x58\x6d\xff\xfd\x60\xff\x54\x1c\x63\xc2\x3d\x69\x7c\x34\xb7\xce\x6b\xe1\x14\x6e\xe2\x24\x78\xf0\x67\xe6\x12\xea\x20\xe9\x72\x75\xc0\x7f\x36\x21\xa6\xf9\xd0\x5a\x83\x88\xc2\x0f\x52\x01\x30\x60\xa4\xd1\xfc\x1a\xfc\x72\x70\x94\x34\xfe\xfc\x4b\x73\x94\x74\x29\xa1\xce\x92\x7d\x58\xfe\xa1\xfa\x59\xe7\xfa\xc1\x42\xe1\x38\x3b\x72\x02\x1a\xcd\x58\x45\xc3\x14\xad\x11\x30\x87\xb5\x46\x20\x5a\x23\x28\x5c\xd9\x8c\x80\xd6\x60\xe1\xbb\x26\xaf\xd6\xaa\x2a\x73\x6a\xcd\xaa\x33\x47\x8f\xb5\x84\x1c\x2d\x2d\xa9\x23\xe3\xd5\xa0\xe3\x60\xbc\x15\xf4\xc0\x3b\xf8\xe5\xcb\xc0\x87\x7e\xc6\xa6\xe5\xab\xc1\x48\xd9\x96\xd9\x1d\xfb\x39\x43\xd2\xa5\x86\x6f\x46\x45\xac\x89\x61\x0a\x01\x7c\x4f\x5b\x2f\x52\xed\x95\xd0\x0e\x63\xcb\x7e\xb5\xac\xc4\xcb\x7c\xaa\x57\x65\xbe\xf6\x19\x6f\x0e\xa9\x45\xb6\xa8\x12\x71\x9a\xe5\xec\x1d\x95\x8b\x52\xe3\x87\x92\x73\xff\xa2\x39\xf3\xf2\xd3\x67\x9e\x35\x67\xbe\xf8\x82\x33\x9f\x7c\xfe\xcc\x17\x60\xc1\x93\xcf\x9c\x79\x4a\xb8\x75\xde\x6f\x8f\x1d\x5c\xb6\xbf\x04\x8d\xe3\xd7\x6c\x24\x22\x86\xdb\x6f\x3a\xa0\x86\x8e\x4b\xd4\xe4\xb7\xb5\xc4\x1a\x75\xb3\x43\xdd\x88\x16\xa8\x3d\xa2\xb1\xf6\xa9\xb2\x2d\x20\x7d\xa9\x65\x90\xd7\xe5\x24\x24\x20\x8f\xeb\x78\x24\xa8\x96\x1c\x25\x64\x2a\xd1\x98\x69\x54\x8c\x96\xcd\x0c\x0a\xa4\x10\xc8\x4d\x89\x42\x5e\x12\xaa\x9a\x5b\x13\xaa\xe8\xbc\x0d\x61\x70\xab\xf5\x9d\xe0\x86\x28\x92\x0c\xee\x49\x32\xee\x4f\x40\x61\xe8\x75\x07\x2f\x61\xbd\xf7\x2c\x66\xd5\x29\x06\x47\x35\xee\x53\x84\x1f\xfe\x7f\x02\xe1\xba\xf3\x31\x5c\xd7\xeb\x9a\xef\x59\xa9\xe3\x87\x04\xcd\x08\x87\x85\xba\x38\xe7\xe4\x12\x56\x64\x0d\x77\xe4\x16\xa6\xe4\x06\x96\xe4\xbe\x99\x01\x9b\xc2\xc2\x0f\xed\x71\xcd\x61\x05\x33\x30\x28\xb3\xee\x7c\xd3\x20\x05\x5a\x6e\xe9\x19\x2c\xa0\x54\xa9\xd8\xc7\xac\xab\x6d\xce\xac\x6d\x2e\xea\x2d\x4d\x1f\xdd\xd2\xfb\xc6\x03\x65\xbb\xa5\x1e\xc4\x63\xbb\xbc\x6d\x4d\xd0\x2a\x23\x9a\x6b\xe7\x7a\x8f\x53\x07\xc2\xd0\xbf\xa0\xd5\xd4\x9a\x91\x98\xc5\xdf\x90\xdc\x93\x70\x49\x66\x1e\x83\x35\xd9\x38\x1b\xf7\xd2\xc8\x7d\xd6\xc3\x73\x27\xe9\x76\xa7\x9e\x67\x32\xde\x92\xcc\x9d\xc3\x0d\x49\xdd\x15\xdc\x93\xd8\xbd\x83\x6b\x0b\xe2\xde\x3a\xb7\xee\x8d\x73\xe3\xde\x3b\xf7\x8a\x30\x69\x9e\x3c\xb9\xef\x91\x6b\x0c\x57\xe4\x92\xa2\x4b\x8a\xee\xb1\x17\xe2\xe7\xef\xe8\x76\x7b\x49\x91\xf0\x16\x46\x7e\x2d\xdc\x05\xee\x95\x1e\x93\x0d\xce\x77\x03\xb7\x18\x5e\x11\x8e\xae\xe0\xa3\xa2\x58\x5e\xa9\xbd\xf6\x92\xbc\x52\x7b\xed\x2f\xf2\xc2\x93\xf0\x86\xbc\xf4\x18\xfc\x49\x2e\x9d\xbf\xbc\x8d\xf3\x66\x80\xfe\x74\xfe\xec\xad\x87\x89\xae\x19\x6d\x9c\xbf\xdc\x4b\xe7\x0d\xee\xad\x3d\xff\x02\x0f\xfd\xb3\xed\x96\x0e\x33\x67\xee\xa6\xce\xca\x8d\x9d\x3b\x45\x5a\xb4\x27\xe7\x05\xbc\x84\x2b\xb8\xed\x91\x6b\xb8\x51\x7f\xee\xf5\x14\xc1\xb2\xdc\xcc\x2f\xe0\x25\x86\x02\x95\xb9\xf4\xe2\xef\x4f\x27\xde\x95\xd8\x8f\x7f\x01\x96\x6a\xf3\x59\xe0\xbc\xa6\x18\x32\x12\x3e\xb1\x9c\xce\x08\x16\x27\x79\x62\xbf\xd1\xfc\x29\xcf\xaf\x19\x41\x09\xe1\x8e\xe1\x83\x84\x4f\x40\x96\x6e\xe4\x4b\xf4\xba\xe5\xde\x44\xb0\x86\x5e\x61\x0c\xb5\x35\x34\x2a\x55\x10\x34\x96\xce\x6f\x14\x98\xf3\x1b\x55\xb0\xe7\x98\x7f\xb5\x32\x2a\x65\x48\x0b\xe8\x6c\xfe\xaf\xf1\x94\x60\x1e\xa7\x14\x8c\x2e\x6d\x84\x30\x61\x36\x37\xab\xbe\x05\x0e\xd5\x61\xb8\x6f\xe2\x50\xa9\x29\xf2\x69\x25\x89\xcf\x09\xfa\x77\x8f\x1e\x35\xbe\x77\xd4\x1e\x3b\x5c\x7c\x4f\xc5\xc6\x02\x5d\xcc\x9a\x8f\xcc\x9a\x52\xcb\xc1\x0c\xb6\x01\x59\xf6\xe8\xa5\x71\xc2\x49\x66\x8c\x2b\x5e\x53\x63\x92\xa1\xf6\x86\xb1\xd1\x58\xb8\x29\xc4\xc6\x06\x64\x31\xd9\x13\x17\x36\xa5\x2b\x5d\x2e\x23\x4d\x4f\x71\x6f\x01\xc8\x94\xc2\xbd\x05\x06\xde\xed\x9a\xda\x7e\x2b\xeb\xff\x8d\xee\xbd\xe9\x99\x91\x97\x12\x51\x32\x63\x68\xa9\x20\x19\x86\xa4\xd2\xae\x4a\xd0\x1d\x4c\x1b\x17\x57\x64\x6e\x8c\x54\x16\x10\x93\x95\xb1\x03\x59\x40\x81\xf6\x10\x83\x4a\x6c\xd4\xed\xa2\xdc\xbf\xa3\x69\x32\x35\xd2\xca\xd2\x85\x68\xf5\xc6\x4d\x03\x82\x5a\x9b\xb2\xed\xae\xd9\x30\x42\x8f\x4e\x07\x86\x05\x09\x2f\x02\x98\x93\xf3\x67\x01\xac\x48\xff\x22\x80\x3b\x12\xc0\x94\x04\xb0\x24\x01\x5c\x92\x00\xd6\x24\x80\x5b\xf2\x7d\x06\x37\x64\x03\xf7\x46\x99\xe8\xda\x76\xa4\x7d\x22\xab\x0d\x7b\x64\xa3\xb7\x47\x80\x21\x27\x29\x43\xb7\x88\xc2\x0c\xdd\xa8\x03\x80\x31\xd4\xc9\x01\xe4\x3b\x90\x7e\x9c\x26\xab\x17\x7c\x9e\x7e\xa1\xff\xe6\xdb\xda\x1b\x34\xba\x27\x1c\xbe\xcf\x70\xf4\x5a\x22\x74\x4f\x5c\x8e\xf5\x3e\x28\x10\xc6\xd1\x7d\x55\xf3\xab\xb5\x64\x36\x56\xf9\xa9\xaa\xaf\x35\x13\x88\x8f\x7e\x37\xa6\x3b\xc6\x4a\x48\x4b\x11\xf5\x2e\xa8\xac\x86\xd4\x2e\x89\x36\xa6\x9d\x6b\xd5\x8e\x76\x69\xf8\x65\x4d\xe8\x07\x7e\x84\x2a\xb9\xd0\xee\x96\x04\xe5\x79\x4a\xe5\x17\x96\x9e\x13\x57\x4b\xc9\x56\xc4\x35\x86\x5a\xaa\xa2\xf1\x1c\x56\x13\x3d\x5c\xc6\x65\xcb\x8b\xf7\x27\x6a\xba\xd3\x0c\x93\xaf\xcf\x9e\x28\xb8\x0a\x53\xcd\x30\xa9\x42\xa6\xd6\x3b\xb5\xf9\xa7\x7a\xe7\x83\xf4\x45\x26\xbf\xb8\x97\xcb\x56\xdd\x97\xad\xba\xd7\xb5\x4e\xe8\xb0\x3f\xe2\xe3\x7e\x95\x10\x05\x65\xb3\x4b\xfd\x1a\x8c\xfa\xb3\x36\x6d\x37\x6e\x96\x25\xcc\xa0\x53\xc3\xfc\x0e\x86\x43\x10\x92\x10\x7e\xdc\x7f\x20\x54\x26\x05\x24\xa9\xcd\x10\x98\x6a\xd2\x82\x50\xa9\x0d\x24\x34\x04\x3e\x50\xcc\x33\xea\x31\x6a\x20\x4c\xed\x35\x1b\xdf\x8c\x59\xdb\x60\x0c\x6c\xfb\xb0\x7c\x2f\x71\xf8\x81\x8e\xb8\xf7\xbd\xd6\x21\x18\xf2\x11\x77\xbf\xa7\x51\xbb\xc4\x8c\xed\xbf\x9f\x33\x92\xdb\x2d\x1b\xbd\x94\x68\xae\x99\x66\x2b\x43\x96\xe0\x68\x6e\x9e\x3b\x57\x89\x65\x5c\x94\x5b\x6c\x89\x05\x7b\xd4\x37\x5e\x75\x9e\x15\xcd\x3b\x96\xaa\x4f\xb2\xea\x93\x1c\x49\xd5\x27\x09\x6c\x62\xcd\xd0\xdc\xba\x15\x17\x2d\x77\x3b\xd5\xec\x2e\x18\xf2\x38\xb6\x6f\xd2\x15\xfb\x2c\x77\xad\xb4\x29\xcc\x6c\xf9\x65\x63\x99\x59\x3e\x03\xc5\x0e\x6c\x33\x63\x47\xb8\x99\x53\x1c\x61\x76\xa5\x4e\xe2\xe5\x0e\x85\xcc\x11\x5e\xec\x14\xda\x4c\x2e\x77\x12\x37\x75\x68\x9b\x13\x57\xca\x4a\x8b\x16\x5f\x2e\x69\xf5\x8a\xda\xad\x7e\x11\x03\xee\x7f\x1b\x53\xe2\xa5\x0e\x3d\x3e\x26\x37\x36\x63\x72\xf3\x7a\x4c\xc2\xcb\x9c\x62\x8f\x75\x77\x77\x7c\x86\x79\xcb\xf2\xeb\xc8\x13\xe5\xa5\xff\xb6\xca\x83\x2b\x75\xe4\xa0\x74\xbb\x3e\x42\x05\x99\x2a\x12\xaa\xd0\x4f\x82\xa8\xaf\x04\x03\xa2\xc3\x60\x94\x0c\x8b\xa8\x18\x26\x1a\x15\x54\xd4\xfe\xf7\x5a\xcd\xae\x20\xdc\x55\xdf\x90\x10\xee\xf9\x17\x4e\xda\x28\x7d\xc5\x90\x93\x62\xa0\x8a\xe6\xc3\x24\x4a\x86\xf9\x20\xf7\x48\x5a\xcb\x0b\x50\x4c\x6e\x34\x1d\xe5\x59\x06\xa7\x39\xae\x83\xaa\xef\x39\x9e\x60\xad\xff\x1d\x6b\xc2\xcd\x32\x68\x6d\x8d\x5c\xab\x55\x0c\xf4\xcb\x84\x84\xc3\xad\x6c\xde\x4a\xe1\x1c\x79\xb6\xd9\x0d\x52\xc1\xfe\xe4\x79\x30\xf2\x44\x24\xb0\xdb\x37\x6d\xbd\x7b\xed\xbd\xa3\xf8\x6b\x54\x07\xad\xe3\xbe\x64\x6d\x5d\x0e\x05\xa6\x28\x9f\xeb\x58\xef\x1d\x05\xd6\xa8\xd4\x7e\x0a\x31\x14\xda\x69\x4a\x73\x2c\xdb\xf0\xc3\x1e\xdb\xe6\xff\xb8\x41\x09\xbc\xdd\xe0\x65\x0b\x67\xf2\xf3\xac\x10\xb1\xb5\xcb\xd6\xed\x64\xa9\x1f\xa4\xb5\x2c\x62\xd9\x9e\x62\x65\xeb\x58\x24\xad\x6d\x4f\x6d\x15\xcf\xea\xc8\x18\xbd\x4e\x48\x49\xd1\x32\x1a\x8c\x49\xd1\x32\x1a\xcc\x6d\x63\x47\x86\x61\x66\x1b\x3b\x32\x85\xf0\x94\xab\xa7\xe9\xa8\x06\xdf\xa7\x1c\x09\x4f\x62\xb7\x70\xa8\x43\xb9\x7e\xad\x47\x3b\x4f\x0e\x7b\x75\xe9\x05\x86\x15\x59\xb4\x7c\x99\xdb\x16\xbe\x86\xd5\xbf\xc0\xce\x1c\x58\x13\xb5\xf0\xb8\x8a\x11\x84\x39\xa9\x2b\x9d\x1c\x0a\xc2\x9c\xd8\x95\xce\x4c\xdb\x3f\x26\xae\x74\xb2\x23\xa7\xbb\x00\xd1\xbc\x83\x66\xa2\xec\x47\xd1\x84\x23\xdc\xc2\x29\x30\xd6\x77\xe2\xa1\xc2\xd1\x98\xab\xc2\x52\xa7\x56\x8b\xbf\xf2\xa7\x89\x79\xef\x8b\x2c\x60\x65\x59\x15\x1f\xf0\x01\x6b\xd3\xb8\xc6\x4a\xb4\xb2\xd8\xb4\xed\x48\xb5\x2e\x49\xf9\x46\x9f\x27\xb1\x6d\x39\x9f\xe1\xc1\xdf\x32\xf7\x11\x1b\xda\x8c\xb4\x2c\xe5\xb1\x93\xb9\x28\x23\xc2\x49\x3c\xe6\x50\x27\xc5\x4e\x86\x41\xcd\x8c\xd0\x21\x30\xac\x50\xad\x9d\x6c\xd9\xc1\xfe\x70\xdc\x0e\x56\x92\x42\xdf\xc6\x96\x49\xab\xe9\xba\x05\xe0\x13\x0c\x3f\x58\x2c\xec\x1f\x8e\xb2\x0d\xeb\x1c\x56\xf2\xad\x75\x1a\xee\x0f\xaf\x31\xdb\x65\x9f\xb5\xb7\x0b\xdb\x7a\x5e\x01\x40\x24\x9c\xa2\x36\xa3\x4f\xda\x22\x24\x48\x9c\x96\xf1\xfc\x27\xee\x97\x76\x63\xc6\xc0\xbc\x14\xe3\x40\x41\xa4\x3a\x2c\x49\xcb\xa6\xb9\xb5\x7a\xc7\x44\x42\x4e\x02\xc2\xa1\xa5\xcd\xb6\x3e\x1f\xa2\xdb\x65\x4e\xd2\x13\x7b\x37\xca\xf5\x23\x77\xb8\x82\xe2\xde\x5b\xea\xbe\xa3\x43\xf3\xa0\xba\x09\xe0\x48\x0e\xb5\xba\xbf\x8e\xd3\x5f\x95\xc4\x99\x9a\xe3\xb5\xca\xee\x51\xa1\x87\x8f\x8f\x48\xd0\x12\x87\xef\x09\xd0\x54\xcc\xf1\x8b\xfb\x08\x88\xd3\x19\x24\xe5\xe8\x03\xed\x9d\xbb\xbc\xd7\xc7\x3b\xb5\x0c\x84\x10\x39\xb2\x40\x87\x21\xfe\xd3\x6c\x8e\x44\xcf\x56\x1d\xef\xd5\xf1\xaa\x87\xbd\x42\x91\x2d\x40\x89\x70\xac\x9e\x2b\x2c\x01\xf7\x6a\x65\x89\x64\x74\xc4\xa4\xb5\x2d\x92\x03\x41\xfe\x8e\x92\x4a\x2f\xdd\x5e\xbc\xc7\x84\x75\x09\x54\x90\x4b\x8d\xa5\x6e\x9c\xf6\x04\x84\xbd\x04\x63\xef\xad\x42\x8f\x19\x8e\xae\xac\x95\xfa\xf8\x49\x6c\x2b\x69\x44\x83\xd6\x74\x17\x6a\xba\x13\x7b\xba\x8b\x47\xa7\xfb\x70\x16\x91\xf0\x5a\xb3\x87\xa4\xa7\x71\x28\xd1\x2b\x5c\x6e\x69\xf9\x6b\x33\x87\x51\xcc\xa2\x4f\x4f\x55\xf2\x29\xe9\x65\xe2\xfd\x1d\x15\xc7\xe6\x50\x4f\x84\xe5\x2c\x60\x1f\x17\xaf\x97\xb4\xbd\x37\x64\xaf\x8f\x6d\xd7\x09\xaf\x98\x6d\x8b\xa2\x39\x16\xda\x06\x4e\x13\x78\x0a\x92\x37\x04\x1b\x24\xe6\xd5\xe8\x92\xc0\x6c\x10\xc3\x3d\x62\xb0\x92\x74\x89\x92\x2e\x61\x16\x51\xd2\x3c\x59\xab\x55\x8d\x46\x76\x85\x5a\x1c\x8f\x23\x16\x71\xed\xb3\xf2\x90\x4e\xac\x2a\x2e\xfe\xa7\x8a\x1f\x21\x91\x8d\x0c\x22\x39\x56\xb5\xf6\xc7\x4b\x08\xab\xcc\x49\x4b\x5b\x89\xd2\xcc\xe6\x03\x75\x04\xd2\xb7\x36\xc2\x83\x04\x8d\xc7\xa9\x42\xbf\x32\x48\xc7\xe1\xc4\xcb\x26\xa0\xc3\xae\x09\xbb\xd9\x64\x52\x59\xec\x49\xfd\x0e\xa0\xee\x5a\x2d\x09\x6c\xf7\xcf\xf4\xdb\x72\x3f\xd0\x5e\xe3\x4f\xad\x30\x78\xdc\x5a\xe4\x97\x2d\xc4\x65\x1c\x58\x49\x7f\xb5\x93\x42\x2b\xe9\x0d\x7b\xd4\x9b\xd0\x38\x00\xed\x34\xa5\x0f\x05\xe9\x0f\xe4\xb0\x18\x14\xae\x6b\xf2\x0e\xb4\x25\xe2\x3f\x10\x1f\xb3\xb1\xf0\xfa\x93\x09\x98\xaf\x50\x7f\x15\x13\xfc\x9c\x04\x03\xec\x79\x62\xc0\xc6\xc2\x75\x27\xa4\x68\x6e\x00\xe3\xf0\x28\x68\x79\x8a\xfd\x93\x1d\xb8\x54\xd1\xda\x68\xdb\x6d\xad\x88\x66\x59\xe4\xee\x91\x90\xe6\x91\x6e\x69\x1e\xf2\xb6\x3c\x80\x98\x47\xbd\xa5\x79\xc8\xbb\x31\x2f\xb1\x8c\x70\x0f\x70\x39\xcd\x85\x48\xb4\xb1\x27\x50\xad\xb2\xeb\x15\xe5\x13\x2a\xfa\x19\x45\xcd\x9d\x88\xf5\xcb\x24\x90\x6b\x25\x5e\x4f\x7b\x6f\x50\x1f\x31\x2c\x08\xca\x1c\x94\x7a\x31\xf6\x66\xe5\xb3\x80\x3d\x34\x73\xa8\x97\x39\xf5\xde\x1d\x17\xee\xc2\xa1\x90\xba\x0b\x27\xb7\xc6\xf4\x1d\x3b\xe2\xb2\xa6\x31\x33\xad\x6c\xef\x4e\xcd\xa3\xe5\x4c\x4f\x8d\x6e\x7e\x4f\xc6\xf3\x4e\x21\x41\x42\x68\x36\x01\x2e\x8d\x92\xa7\x73\x66\x8c\x90\xf3\x44\x96\x5f\x71\x22\xe2\x94\xed\xd9\x24\xbf\xb7\xfa\x10\xa7\xc6\x7e\x6e\xbb\xe5\xec\xfe\xe4\x1d\xb3\x78\x64\xaa\x12\x6e\x53\xc2\x1f\x74\xb9\x6f\x35\x54\xa1\x69\xf5\x6a\xbd\xc2\x69\xd3\xd2\x28\x10\x83\x10\x2d\x51\xd8\xf7\xf6\x70\xcb\xde\x00\x23\xd2\x5f\x83\x20\xd2\x8f\x37\x50\x90\x87\x75\xc4\x60\x13\x09\x7d\xc9\xf9\xef\x80\x12\xee\x5f\x41\x46\xc6\x7c\x32\xd0\x4d\xd6\xa4\x57\x4a\x92\x41\x5a\xd6\xa2\xdd\xc0\x30\xaf\x0a\xfa\xeb\xda\x37\x8c\x68\x22\xe3\x8d\x8a\x1d\xe0\x84\xa4\xfe\x3b\xc8\xfc\x82\x1b\xeb\xc0\x14\xc3\x07\xa6\xfe\xaa\x1a\x5b\xd1\xdf\xaa\xe8\x86\xd6\x23\x74\x10\xb7\x1b\x8c\x8f\x35\x18\xef\x37\x48\x49\xac\xc6\x50\xfb\x2e\xf8\xc0\xd4\x5f\x55\x5d\x13\xf7\xad\x8a\x1b\x94\x9e\x03\x6a\x95\x48\xdd\x76\x4e\xc2\xc1\x6c\x98\x0f\x5c\x37\xc7\x31\xc9\xc6\xb9\x56\x9a\x1c\xe7\x5e\x38\x01\x2e\x50\xac\xd7\x1a\x52\xbd\x46\x10\x9b\x9f\x02\x0f\x52\xa3\x63\xaf\x4a\xcc\x54\x56\x93\x8f\xfc\x9d\xa1\x76\x56\xcd\x13\x2d\x30\x7c\xa5\xe7\xe0\x2b\xd5\x0f\xcb\xa2\xac\x0d\x28\x2a\x27\x20\x84\xfb\x6b\xbd\x34\x1b\xc8\x08\x4d\xfd\x9b\x41\xa6\xdd\x19\x08\xf2\x96\xa1\x0c\x28\xf6\x12\x10\xc3\x77\x14\x67\x24\xf3\xdf\x0c\x2a\x67\x02\x05\x49\xbc\xd7\x26\x03\x9c\xa2\x42\x65\xc0\x0f\x62\xe8\xbd\xa3\x23\x24\x49\xe6\xbf\x03\x46\x32\x1c\x15\x75\x8c\x0a\xfb\x57\x38\x92\x84\x91\xcc\xbc\x58\xa3\x2d\x76\x32\xff\x27\x85\x2d\x57\x51\xaa\x95\x9f\x4a\xe7\x12\x7a\x3f\x6b\xb8\x9e\xfa\x09\xcf\x99\x90\x48\x82\x42\xc4\xb7\xdb\x0a\xca\x2b\x78\x5f\xee\xec\x6f\x99\x79\x7b\xf4\x3d\x43\x66\x93\xeb\xcd\x5c\x96\x4b\x81\x61\x48\xcd\xb4\xb1\x7a\xf6\x4c\xbe\x72\xbe\xf5\x84\x49\xac\xdf\x2c\x3e\xf9\x8a\x29\xa2\x5c\x9b\xcf\x60\xcb\x03\x06\x4a\x1f\x29\x8b\x07\xa6\xf9\x6f\x59\x45\xcc\xc7\xa4\xcc\x91\x93\x58\xab\x99\xc7\x5a\xcd\x9c\xfb\x6b\x2f\xd7\xee\xae\x37\xde\x0c\x56\xea\x0e\x57\x99\xee\xc8\x4a\x27\x4c\xc9\x4a\x27\x2c\x49\xdf\x41\x0b\x67\xea\xcd\x9d\x3b\x0c\x1b\xb2\x70\x16\xee\xdc\x99\xc3\x25\xb9\x73\xee\xdc\xa9\x33\x85\xb5\x3a\x5f\x68\xea\x6c\xbc\xb9\x73\x89\x7b\x4b\x37\x87\x4d\x84\x16\xce\xa5\x77\xe7\x6c\x54\x78\xb6\x1b\x70\x81\xcc\x60\x21\x86\x15\xac\xeb\x19\xf8\x3b\x43\x71\xe5\x6b\x63\x8d\xa1\x99\x10\x0e\xab\x3a\xd6\xcc\x86\x9e\x08\x8b\xdc\x78\xdb\xc2\xdb\xb8\xe9\xbd\x42\x45\xd6\x1a\x0d\xd9\x40\x42\x0a\x4f\xea\x99\xab\x74\xba\x4f\x44\xe9\x0f\x88\xfb\xef\x74\x02\xad\x5c\xda\xa3\xb0\x17\xe0\x01\x23\x54\x57\x33\x30\x37\xb5\xaa\x2a\xd5\x55\xc5\x24\x2d\xab\xaa\xbc\xf2\x9f\x64\xe6\x5c\x91\xcc\x13\x30\x23\x61\x2f\xf1\xc2\x9e\x82\xdb\x79\x2f\xae\x79\x0b\x23\xe4\x2d\xdc\x06\x15\x5b\x38\x0b\xaf\xef\xcc\x1c\x94\x3b\x79\x0f\x79\x7d\x27\xc6\x5e\xea\xc6\xbd\xbe\x5b\x78\x89\xba\x85\x71\x6f\xe6\x8a\x08\x09\x37\x6b\x59\x60\xbe\xde\x1b\xe9\x95\xea\x49\xbd\x1b\xde\x32\xfd\x44\x78\xc5\xb7\x31\x03\xa8\x59\x19\x1b\x8d\x8d\x0a\x7f\x1d\x85\x3d\xcb\xeb\xcb\x6f\x96\x68\xad\x84\xc2\x15\x80\xcf\x5b\x1e\x12\x7e\x3f\x7e\x56\x5b\x82\x96\x4a\x12\xb0\x20\x95\x0c\x60\x4e\x2a\xa9\xc0\x8a\x94\xf2\x00\xb8\x23\x49\x0a\xd3\x46\xf5\x72\xea\x79\xfa\x78\x27\xe4\x6e\x3c\x9d\x40\xa2\x3d\x4f\x08\xb6\xa2\x82\x21\xac\xd5\xba\x33\x92\x98\x1e\xd9\xfa\xdc\x94\x04\x5a\x99\x1b\xe7\x5a\x93\xdb\x67\x5a\x44\x2d\x48\xae\xd7\x3d\xd7\x8b\x95\x8d\x5d\x97\x7e\x9d\x4e\xfc\xbc\xb6\x7c\x56\x3b\x9f\xe9\x9d\x8f\x34\x3c\x95\x78\x58\x4a\x87\x0b\x8f\x69\x3b\x51\xad\xef\x99\xaf\x34\x4a\x41\x21\xd0\x8f\x0d\x4b\x81\xfe\xc1\x50\x52\x1e\x1f\xd0\x25\x67\x06\x2a\xaf\x3c\x05\x6a\x46\x0f\xeb\x68\x06\x9b\xe8\x92\x22\x69\x52\x46\x2c\x5a\xed\x22\x5d\xef\xca\xe4\x5c\x78\xa2\xcc\xa9\xc1\xbb\x8e\x1d\xc9\x68\x01\x9b\x32\x67\x29\x9f\xee\x76\x0b\x6f\x5e\xe6\x5c\x54\x75\x2e\xca\x3a\xe7\x65\x9d\x73\x93\x53\x78\x33\xbb\xce\x79\x59\xa7\xea\xca\x7c\x67\xde\x43\x84\xa4\x01\xc5\x18\x83\xeb\xda\xa8\xe1\x3f\xdb\x58\x92\xf4\x29\x9f\xa7\xcc\xe3\xe6\xd7\x52\xfc\x3c\x44\x02\xd6\xe6\xde\xdf\x98\x1f\x2a\xe2\x03\x8c\x60\xb3\x87\x0d\x7c\xd5\xba\xa2\xdf\x41\xbd\x87\x65\xb7\x5b\x93\xec\x25\x8c\x2a\xaa\x93\x9c\x94\x00\x49\x7b\xc4\x38\x25\xa4\x79\x20\xc8\x5f\x6b\x13\x9a\x0d\xa4\x44\xf8\x6b\x8f\x42\x4c\x84\xbf\xf1\xb4\x17\x2c\x1d\x9e\x91\x44\x87\x17\x0a\x74\xa5\xce\xcc\x8b\x9d\xbc\x34\xc9\x5a\x0c\x89\xf7\x9e\x96\x46\x49\x73\x92\x3a\xa9\x1b\x3b\x31\xac\x48\xe9\x1d\x0b\xee\x08\x9a\x39\x73\x2f\x76\x56\xb8\xb7\x80\x29\x41\xa9\xb3\xf2\x72\x47\x3b\xc7\x9a\x91\xa9\x9b\xc1\x92\xe4\x2d\x8c\xe6\x57\x36\x58\xea\x69\xe0\xb0\x34\xb3\x50\xc0\xd2\x5f\x93\x3b\x97\xc2\xd2\xdf\x90\x99\x05\x01\x4a\x90\x89\x61\xa9\x66\x69\x06\x15\xc2\x42\x96\x35\x42\x60\x26\x0f\x2e\x49\xaa\x6e\xc0\x4b\x7d\x44\x96\xfe\xe6\xf9\xa5\xbf\xd9\x6e\x97\xfa\x3c\x5f\xfa\x9b\x6e\x77\xe9\xaf\x9f\x93\x4b\x7f\x6d\x9c\x31\x5d\xfa\x6f\xf0\xc3\x86\x5c\xfa\xef\xca\xdb\xeb\x92\x5c\xfa\x6f\x6a\x87\x3b\xa7\x97\xea\x6e\xdb\x90\x4b\x2b\xf5\xa7\x5d\x5a\x5f\x4a\x1b\x58\x62\xd8\x6c\xb7\x28\x4b\xc9\x12\xb7\x4c\x55\xbe\x3d\x82\x5f\x0d\x34\x2b\xc3\x7f\x67\x0a\x48\xff\x0a\x43\x5a\x63\x6b\x12\x43\x5e\x62\x6b\x52\x63\x6b\x12\x37\xe3\xdc\xa3\x50\x7e\xd9\x87\x2e\xa4\x48\x41\x68\xbd\xf1\xcf\x48\x17\x35\x8c\x2f\x21\x49\xa1\x20\x89\x24\x6c\x5c\x4c\x00\x9d\xfe\x8d\x21\x09\x1c\x6f\xb7\xa7\xaa\x69\x7d\xc4\xa5\x4f\xfd\xb5\x27\xfd\x5b\x0b\xa5\x52\x71\x1b\x1d\xa7\x11\x2a\xf3\x22\x25\x25\xd2\xbf\x2d\xbd\x43\x54\xb0\xa0\x80\xd0\xf6\xd3\xf7\xb7\x3d\x60\x7c\x6b\x03\xe3\xd3\xd2\x29\x6b\x89\xce\xd0\x12\xf3\xd7\x46\x18\x1a\xc7\x37\x0f\x28\xca\x72\x50\xb1\x89\xd3\x14\x00\xf7\x15\xfa\xcf\x7d\xa1\xee\x10\x7f\x0d\x73\x0d\xcb\x56\x64\xe6\xaf\xe1\x8e\xcc\xfc\x8d\xda\x8c\x0b\x77\x85\x7b\x7d\x58\x12\x34\x77\xef\x70\xaf\xaf\x7d\xce\x10\x42\xe6\x46\x75\x74\x38\xdd\x6e\xa7\x43\x92\xd5\x86\x4e\x33\xb4\xa8\xcc\xb7\xcc\x5f\x7f\xd3\x3c\x2c\x53\x1a\x3f\xa9\xdb\x7b\x0a\x9b\x28\xdd\x0d\x58\xf5\x1d\xef\xea\xad\x53\x17\x7c\x9e\x1e\x2f\x17\x5b\xe5\xd2\xdd\xae\x36\xa9\x12\x04\x2d\xbc\x15\xee\xa1\x3b\x6f\xae\x96\x6b\xe9\x09\x67\x0a\x5e\x38\x14\xdb\xad\x18\x86\xf8\x8b\x3b\x87\x52\xaf\xc0\x3d\x61\x75\x11\xc5\x55\xcc\x97\x76\xd4\x2e\x51\xd6\x61\xd5\x6a\x99\x81\xcd\x5b\x1d\x5a\x37\x93\x69\x55\x46\x15\x2d\xe1\x50\xb7\x28\xab\xca\x74\x38\x73\x8b\xc3\xce\xac\x9f\xd3\xc3\xf2\x4d\x7e\x53\xbe\xa9\xaf\x71\x09\x47\xf5\xfb\x60\xb7\x84\x81\xed\xac\xed\x87\x72\xf3\x69\x38\x9b\x56\xb7\xb6\xa8\xbc\x47\x51\x03\x80\x6f\xf7\xe0\xef\xdf\x0f\x89\x53\x76\x5f\xd5\x55\x5b\x14\x94\x67\xb6\x30\xde\xe4\x04\x2a\xa0\x7c\xf8\x5f\x94\x41\xa9\x9f\x51\x87\x24\x1d\x73\x3f\x99\x98\x9b\xb9\x79\x5e\x4d\x96\x25\xb0\xce\x21\x1f\xcb\x21\xb5\xe9\x8d\x65\x5a\xf0\x8f\x3d\xa1\x4d\xdd\xb5\x16\xa7\x43\xa8\xb1\x81\xd0\x13\x52\xf5\x54\x60\xb0\x54\x4b\xb9\x68\x06\xc9\x7d\xba\xdd\x72\xff\x76\xc4\xfd\xd4\xd8\xa0\xf9\xb7\x44\x44\x6a\x56\x45\x84\xf4\x0f\xa8\x24\x09\xdc\x17\xc4\x66\x8b\xc9\x3d\xfb\x63\x75\x86\x0b\x7d\xca\x1b\x02\xb8\x9c\x75\x73\xe1\x95\x13\xaf\x95\x33\xd8\xc8\xe2\xc7\x31\x0d\x5d\x36\xc0\x34\xe4\x59\xe3\xc8\xf4\x45\xda\x79\x0a\x7f\xed\x09\x6d\x9b\xb3\xf1\x0a\x7f\x83\x6d\xcd\x34\x75\xb5\xa9\xab\xae\xf0\x37\x9e\xf0\x37\xb6\xf2\xa7\xb0\x9e\x0b\x6c\x2d\xb4\x26\x8d\x1f\xb8\xff\x9e\x70\xff\x25\xe1\xfe\x1b\xc2\xfd\x9f\xd4\x95\xab\x2e\xdc\xbd\xbc\x85\xb0\xe1\x98\xd4\xc4\xf2\x4f\x1a\xaa\xbe\x1f\x14\xa3\xc2\x7f\xa3\x27\x4e\xfd\x8a\xa8\xf0\x7f\xd2\xd3\x77\x43\x04\x08\xff\x3d\x29\x80\xf9\xef\x89\x00\xa6\xe2\xfd\x37\xea\x57\xbb\x2c\xfc\xc9\x7f\x4f\xd4\x86\xf1\xdf\xd8\x5a\xff\xc9\x91\x96\xde\xfc\xc7\x2d\xbd\x21\xc2\xff\x49\xfd\xea\x96\xde\x54\x2d\xfd\x64\xb7\xa4\x5f\xc4\x30\x5c\x25\xee\xbf\x19\x60\xae\xe6\xe0\xc8\xc3\xc2\x99\xdd\xa3\x9a\xf8\xd4\x2e\xfb\x52\x81\xcd\xe5\xae\x2f\xe4\x22\x25\xe3\x09\x24\xc6\x2f\xa0\x79\xff\xa1\x76\x0e\x07\xd4\x44\x33\x01\x69\xf5\x35\xd0\xd7\x75\x41\xb2\x54\xe1\xb3\xe8\xb4\xd8\x6e\x15\x40\x2a\xd4\xdd\x9d\xe8\xbb\xbb\x50\x77\xb7\x82\x0b\x85\xbf\xc6\x58\x41\x88\x53\x42\x98\x4e\x3d\x25\x44\xa8\x6b\x28\x49\xc7\x89\x9f\x4c\x74\x95\xbf\x31\x94\x60\xf8\x51\xff\x65\x0a\xbd\x01\xa1\x90\x1b\x2d\x34\x29\xfb\x59\xdf\xf1\x45\xe9\x6f\xe2\x7b\x86\x0a\x85\x90\xe0\x9d\xba\xa6\x7f\xd1\x37\xf2\xef\xea\x2f\x2e\xa9\x9f\x87\x98\xa5\x69\x1e\x25\x29\xe8\x13\x1a\x15\xd6\x03\xd4\x29\x49\x53\x52\xa4\x44\x8d\x59\x5d\x83\x96\x3f\x8a\x54\xec\xe1\x8c\x1b\x8f\xab\x81\x49\x7f\xed\x71\x7f\x6d\xe9\x79\x88\x3d\xae\x9a\x22\x35\x99\xbf\xc6\x0e\x2a\x0b\x61\x4f\xc7\x49\x1d\xc7\xca\x38\x4b\x17\x44\xb4\x04\xa7\x56\xd5\xb3\x76\xca\xc6\x52\xe2\x10\xb5\xa8\xef\x21\x65\x74\x16\x9d\x06\xc0\xb3\x29\xcb\xa3\xf1\xa4\xf4\x67\x61\xe8\x49\xf3\xb3\x31\xaf\xea\x59\x8a\x1b\xa2\xf1\x83\x09\x06\x7c\x9f\x72\xd4\x44\x54\xe8\xa7\x7f\xe1\x20\xe6\x6a\x59\x9f\xfa\x14\x6e\x82\xb5\x87\x16\xdd\xd6\x20\xd5\xb6\xef\xba\xae\x54\xf3\xde\x40\x68\x85\x01\xcd\xcd\xad\x13\xc2\x09\x50\x5d\xad\x4e\xe8\x37\x09\x7d\x55\x22\x03\x0a\xaa\xd2\xf1\x59\x93\x70\x36\xd1\x14\x97\xf6\x56\x6a\x29\x8e\xb4\xfa\x5c\x7b\x72\x82\x54\x3f\x92\xbd\x27\xe1\xd6\xea\xcc\xa5\x2e\x69\xe9\xc1\x33\x1f\x26\xdb\xed\x6c\x48\xd5\x85\xbc\xd8\x6e\x8b\xe1\xdc\x18\x4e\xeb\xa7\xaf\xd4\x94\x99\x0a\x57\x70\x47\xa4\x5a\x62\x98\x12\x45\x23\x6c\x60\x59\x11\xff\x0a\xc5\x48\x87\xb5\x8a\x6f\x83\xe9\x2a\x3c\x72\x20\x88\xf4\x36\xea\xa4\x7b\x8a\x1a\x97\xee\x06\x28\x61\xee\x06\x32\xb2\xda\xed\x2a\xac\xef\x92\x70\x33\x79\xb0\xd6\x33\x9a\xbb\x0b\x0c\xb7\xfa\x73\xe6\xce\x31\xdc\x10\x39\x24\x6b\xb8\x27\x6c\x48\xb4\xd7\x98\xe7\xcf\xc3\xed\x0d\x7c\x24\xd7\xee\xf9\xe0\xe3\xf0\x7a\xe0\xba\xd7\xea\xd4\x71\x72\x39\x3e\xeb\x5e\x4f\x70\xf9\x06\xf3\x59\xf7\xda\xbc\xa3\x7c\x12\x44\xd5\xd0\xd7\x70\x8b\xad\x37\x8a\x4f\x42\x9d\xb2\xd6\x93\xd2\x4e\xe9\x97\x65\x6e\x61\x0d\xf3\x56\xca\x59\x59\xe6\x56\x4f\xe4\x6e\xb7\xd3\xef\x97\x9a\xf9\x07\x4b\xa3\xff\x4e\x54\x56\xa8\x19\xf5\xc5\xfc\x56\x3f\xd6\x53\x7d\xcb\x4a\xda\xa7\x10\x3e\xfd\x46\xb7\xb9\x66\xd4\x34\xf9\xc6\x4e\x46\xfa\x73\x4f\x28\xb4\xd1\xbf\xf5\x8a\xc7\xd5\x15\x3a\xff\xaf\xe3\xde\x96\xc2\x2f\xfd\x42\x28\x62\x6e\xe2\x70\x8c\xf7\x62\x85\x4b\x8f\xc4\x16\x6e\xe6\xb4\x95\x6e\xa7\x6d\xd8\x48\x1e\x76\x50\x90\x87\x9d\x06\x87\xec\x24\xe1\x27\x1c\xeb\x1f\x39\x12\x63\x36\x21\x97\xa2\xf4\x42\x3f\x66\x13\x1c\x15\x2a\x4a\x7b\xfe\xaf\xb3\x4b\x93\x9d\x6f\xb7\x48\xa7\xea\x8c\xc7\x86\x53\x97\x10\x58\x67\x54\xd5\x5b\x3a\x38\xb6\x23\xcd\xa5\xd8\x53\xe8\x74\x39\x48\xe2\xda\x66\x10\xd6\xe3\xe9\x28\xf4\x18\x76\xa5\xc3\x6c\x55\x91\x23\x37\xc0\x22\xb5\x5e\x57\x98\xdb\x81\x40\xfb\x66\xd4\xaf\xd2\x82\xba\x11\xf4\xe8\xb8\x4b\x3a\x1d\x90\xea\xef\x00\x31\x55\xba\x7c\x6f\x5c\xc1\x70\xa1\x2a\x30\xcf\x32\x60\x3c\xc0\xa8\x20\xc2\x4f\x54\x5d\x58\x7b\x15\x28\xea\x27\x56\xb4\xd3\xa9\x6c\x4c\x27\x23\xf5\xc7\x25\x45\xa4\x99\x17\x13\x52\x60\x40\x4c\x8b\x0f\x30\x21\x04\x09\x2d\x39\xc0\x23\x2b\xab\xa8\xb2\x8a\x08\x95\x5f\xc6\x3f\xad\x41\x8f\x1e\x92\x88\xc2\x3a\x5a\x0a\x6d\x67\xb1\x53\x78\x59\x6b\x54\xb5\x64\xf6\x79\xe5\x5e\xaa\xdd\xb1\x47\xbb\x55\xb1\x62\x9e\xf7\x47\x0a\xc6\x8d\x90\x24\xea\xd7\x5f\xc3\x11\x49\xb3\x44\xfa\x65\xa5\x1d\x3e\xe2\x02\x46\xee\x22\x55\xb6\xe2\xec\xec\x6f\x86\x6a\x07\x06\x03\x39\x14\x03\xd7\x15\x38\x1b\x23\x46\xd2\xb1\x98\x60\x75\x3f\x32\x7f\x6d\xed\x8f\xac\x79\x81\xd5\xba\x49\x2e\xcb\x75\xb6\xeb\xcb\xa8\x9f\x70\xc9\xc4\x2a\x4b\xa9\xcc\x44\xed\xdb\xd6\xf3\xc4\x90\x04\xdd\xee\x29\x62\x07\x79\xc6\x62\x52\x9a\x70\x37\x0a\x6e\x96\xa2\xcf\xde\x99\x19\x6b\x97\x5f\x13\xeb\xd1\x08\x7d\x9e\xcb\xcf\xea\x9d\xfc\x84\xd7\xc8\x04\xd4\x2f\xb9\x9a\x83\x43\x82\x41\x36\x64\x03\xd7\x65\x58\x98\xd5\x6c\x9d\x33\x93\x6b\x90\x94\x59\xda\xa7\x6e\x40\xed\x68\x95\xff\xd1\xd3\x66\x35\xf3\xb9\x23\x77\x2b\x8e\xea\x48\xd6\x51\xc1\x90\xc8\x51\x10\xc9\x21\x09\x47\x61\xc4\xdb\x4f\x7b\xdc\x7c\xa6\x70\xe8\x71\x14\x7a\xad\x22\xf7\x9f\x2e\xa2\x6e\x07\xff\x62\x28\x47\x1c\xf5\x1d\x89\xa3\xbe\xc7\x51\xdf\x53\x9f\x76\x25\xd7\x2d\x6c\xc1\xb1\x30\xc0\x8f\x7b\x29\x76\xda\x95\x28\x3d\x01\x07\x43\xc2\x2b\x2e\xab\x71\xe4\x30\x24\xd5\xeb\xef\x27\x61\xf5\x70\xa3\xc3\x81\x11\xe9\xd4\x82\xfc\x73\xdd\x33\x3e\x62\xd1\x99\x83\xb8\x27\xb1\xcb\x3c\xff\xe9\x85\xb5\x29\x5f\x7d\x66\x3a\x6a\x45\x06\x45\x2c\x59\xc3\x79\x61\x97\x0b\x1b\x9d\x02\xee\xbc\xb5\x8d\xf1\x5e\x8a\x7d\x4d\x0f\x55\x57\x1f\xc2\x40\xf5\xa7\xc5\xcc\xf8\xeb\x48\x8d\xfa\xfa\x0e\x3d\xee\xd8\x52\xb6\x37\xf6\x0e\x1f\x3c\xa2\xd7\xfc\xbc\xaf\xb5\x59\xfc\xf3\x0b\x0c\x07\x3a\xcf\x8c\xc8\xde\xf7\xd4\x52\x34\x0b\x7b\x1c\x47\x88\x93\x50\x4d\x5f\xef\xdc\xd2\x55\x6e\x5c\xe8\x84\x2e\x77\xac\x11\x78\x61\xe0\x08\xcb\x71\x21\x12\x1e\xc3\xce\xf7\xb4\xd7\xda\x3a\x7f\xb6\xd6\x76\xbb\x55\x6d\xf8\x4f\x83\xf0\xe2\x99\xd5\x86\x85\xc7\x3a\xd2\x41\x88\xbb\x21\x76\xa4\xd7\x9a\xef\x9f\x5b\xb3\xd3\xeb\xfb\x4f\xd5\xba\x3e\xf5\x2f\x9e\xf4\x2f\xd4\x96\x89\xfa\x7b\x71\x88\x7b\x24\xf4\x2f\x74\x2c\x76\xb8\xeb\x3f\xbd\x88\xfa\x65\xb8\x9d\xab\xef\xf7\xad\x6c\xdf\x9c\x3d\xbd\x88\x5a\xa9\x4f\x5a\xc9\xcf\xce\xcf\x9e\x5e\x58\xc2\x66\x1b\xb3\x58\xc4\x69\x8d\x59\xa8\x6f\x0b\xb3\xd0\xfe\x52\xfc\x58\x63\x16\xa9\xc6\x2c\x16\x25\x66\x11\x97\x98\x45\xda\x60\x16\x49\x7e\x45\xaf\x90\xe6\x83\x51\xfd\x80\x8f\x89\x10\x78\x24\xfd\x38\x52\x74\xbf\x0e\x27\x78\x84\x12\xed\x9f\xc0\x84\x99\x4a\x5f\x44\x0c\x47\xc9\x30\x7c\x16\x8c\x12\x8f\x9c\x3d\x09\x22\x2f\x7c\x16\xe8\x9b\x2e\x71\x55\x18\x1f\xbb\x1a\x66\xdc\xa0\x2a\xa0\x51\x13\x30\xa8\x88\xba\x2b\x2c\x59\x76\x6b\xa4\xb9\x35\xd2\xfc\xc8\x48\xf3\x23\x23\xcd\xff\xb3\x91\xe6\xff\x27\x23\x8d\x3f\x3f\xd2\x77\xf6\x48\x53\xda\x60\x8b\xea\xdb\x1a\x69\x0a\x16\x53\x42\x8f\x34\x2d\x47\x4a\xbf\x04\x5b\x3c\x99\x7f\xbe\x2b\xef\xf7\xe8\x3c\x8f\xf0\x63\x88\x95\x85\x45\x72\x85\x5d\xd9\x27\xe7\x83\x68\x98\xc6\x63\xd5\x5d\xee\xdf\x4e\x80\xa9\xef\x18\xb8\x3f\x9d\x80\x20\x3f\x0a\xa3\x0a\xf8\xbd\x31\x0a\x86\x44\xc5\xbc\x55\xd8\x8a\x04\xaf\xc0\x78\xbb\x0d\x06\x72\x1c\x4c\x1c\x36\x0e\x27\xcf\x59\xf5\x78\x8d\x02\x31\xea\x5b\x21\x64\x2a\xac\x3f\x84\xfe\x5b\xa8\xbf\xa5\x94\xa2\xb4\xc6\x40\xc2\xe6\xb7\xe8\xa7\x6c\xb4\xe6\x86\xcd\x69\xf1\x1a\x0b\x57\xad\x60\xaa\xcb\x37\xea\x44\x63\xee\x33\xe0\xfe\x6c\x52\xb2\x7d\xb4\xf2\xd2\x58\x40\x52\x45\x7c\x64\xf7\x24\x69\xb1\x75\x20\x51\x15\x45\x16\xe3\xee\x7b\xf1\xb9\x87\x7e\x2c\xf1\xb8\x38\xf6\x52\x8e\xae\x81\x63\xfb\xf9\x5e\xb4\xf7\x3c\x4e\xcb\xa8\xe0\xad\xd8\xb7\x8e\xd0\xde\x13\x99\x63\x3d\xed\xc3\xca\xc7\x82\x2c\x51\xa3\x38\xe2\xc8\x79\x54\xb2\x1a\xdc\x0e\x74\xa2\x8e\xe5\x13\xe0\x37\x8b\xe7\xa6\xae\xc7\x71\x30\x39\x25\xa4\xd1\xb6\xd1\x81\x70\x52\x71\x1d\x4b\x4f\xe3\x9d\x7a\x6e\x51\xc7\xc8\x78\x3b\x50\x7d\xe0\x0e\x1e\x88\x1a\x7f\x2d\xbc\x73\x83\xc1\x72\xe3\x6e\x35\x98\xe0\x1d\xe8\xf8\x7e\x15\x1f\x56\x6e\x58\x8d\xe3\x23\x24\x6b\x7d\x16\x5c\xbb\x36\xb7\x1b\x74\xa5\xab\x1a\xb1\x04\x9c\x36\xdf\x50\x75\x78\xa4\x2e\x6d\x7d\xc2\xa5\x3e\xd1\x91\xf4\xb8\x0a\xaa\xf9\x2e\x8f\x78\xd3\xc3\xb2\x85\xd7\x02\x31\xec\x76\xcc\xa6\x43\xd6\x60\xea\x8e\xea\x87\x8a\x71\xd4\xf8\x5b\xdf\x2b\x72\xd0\xaf\x7f\x1e\xf4\xeb\xb1\x56\xd5\x06\xfc\xf5\xf1\x46\x0f\xdb\x2c\x0b\x1c\x34\xf9\xeb\x7f\xb5\x9c\x55\xa5\xea\x5c\xfc\x1f\x2c\x68\x58\x77\x21\xac\xda\x3f\x18\x8f\x69\xfa\x60\x3c\x5f\xb5\x18\x8f\xe3\x89\xc6\xcc\x1b\xc5\xbf\x8c\x9a\x53\x3e\xcb\xc4\xb2\x06\xb7\x4d\x8c\xc4\xa0\xf6\xb7\xa5\xcf\x68\x19\xa3\x19\x9f\x46\x6a\xef\x94\x90\xa6\x36\x00\x33\x29\x6a\xf5\x34\x64\x00\x69\x7e\x74\xec\xaf\x3a\x56\x6b\x4a\x96\x26\x71\x26\x9e\x13\xa3\x25\x78\x94\x04\x92\xd5\x03\x74\xa2\x79\xf2\x55\x3f\x36\xc7\xc6\xfa\xed\x86\xc2\x50\x43\xb2\x45\x0d\xb1\x86\x1a\xb2\x44\x79\x7b\x80\x9d\x20\x05\xdb\x89\xcb\xf1\x76\x1b\xf6\x8e\x51\xcf\x5a\xe9\xbf\x67\x3f\x74\xf3\xcb\x7f\x5c\xc7\x49\xed\x65\x2b\x68\x7c\x6c\x85\x50\x56\xdd\xc2\xd7\xff\x26\xf6\x35\x08\x8d\x49\x85\x96\x18\x1b\xf3\x09\x10\xe4\xef\xe5\x85\x51\x90\xb1\x9c\x0c\xe4\x29\x21\x62\x80\x25\x91\xfe\x8a\x0a\xc6\x25\x14\x95\xf0\xb1\x96\xa9\x5a\xcf\xfa\x32\x93\xbd\xa8\xa4\x7b\x09\x04\xaa\x2e\x46\x58\x59\xbc\x21\x7e\x1a\xa9\xcb\x5e\xb7\xc6\x5a\xa7\xae\xca\x6f\x0c\x80\xd8\x00\xcb\x5a\x45\x8d\x13\x76\xa4\xc6\x26\xdd\x02\xd3\x7f\x2f\xe7\x53\x33\xb0\x08\x91\x15\x79\xc1\x07\xcd\x73\x8a\xba\x7d\x10\xea\x57\x1a\xc1\xa7\x79\x65\x42\x6d\x09\xf3\x65\xf4\x42\x07\x05\x21\x24\x19\x60\x6a\x9e\x22\xd9\xcf\xd5\x68\x8d\x36\xc2\x97\x52\x60\x30\x4b\xd6\x6c\xba\x25\x96\xce\x09\x2f\xac\x94\x2e\xf1\x9e\x5a\x32\x92\xa2\x55\xe8\x1c\xb8\xbf\x5a\x6b\xe5\x2d\xee\xaf\x36\xa4\xc5\x95\x65\x7b\xd5\x58\x58\xac\x28\xda\xa2\x96\x40\xbb\xf5\xd3\x4f\x0e\xc5\x0b\xb5\xd6\x24\x80\x53\x75\x05\xd1\x59\xcb\xc9\x5f\xc5\x2d\xcc\xea\x37\x73\x20\x35\xcf\x55\xa6\xcf\xb3\x01\x4e\x08\x1d\xa7\x13\x30\xab\xa2\xf0\x32\x51\xa0\xc4\x08\xb2\xaa\x8a\x5d\x92\x94\x5f\x20\x9a\x6f\x27\xf1\xe3\x35\x14\xed\x08\xe3\x9b\xb5\xe6\x86\x9a\xee\x28\x92\xc2\xc4\xf8\xeb\xd2\xa2\x43\x50\x3e\xcd\x96\x08\x7b\xfe\x45\xe5\x66\xd7\xdf\x1c\xa6\xd5\x0a\x59\x0e\x1b\x57\xd9\x34\x5b\x68\x32\x68\x3a\x57\x26\xbc\x34\x93\x10\xab\x3e\xc6\x4e\xdd\xa0\xea\x61\x13\xdc\xec\xb8\x1f\xaf\x89\xe8\x55\xc5\xd5\x20\x37\xa4\xa8\xc3\x96\xc0\xa7\x68\x9d\xdc\xc6\x68\x54\xad\x42\x27\xcf\x84\xec\x40\x27\x5e\x24\xe9\x54\x30\xde\x81\xce\x1d\x4d\x0b\xd6\x51\xb3\xa6\xe7\x9b\x70\xe3\x4d\xf8\x63\x4e\xf2\xc2\x46\x19\x92\x62\x8f\xc5\xa2\xd5\x2a\xcd\xfc\x23\x5e\x6d\x43\xac\x25\x23\xda\xf3\x11\x52\xb8\x6b\xd5\x90\x61\x96\x55\xc7\x13\xd7\x2b\x2d\xa0\x28\x19\x32\x03\x5c\x42\xfb\x62\x2c\x6c\xfd\x54\x7a\xac\x5d\x03\xe2\x8f\x37\x2e\xea\xf3\x87\x92\xbd\x1e\x14\x24\x39\xe8\x81\xf1\xc8\xaf\x37\x16\x7d\x5e\xd4\xbd\x48\xc6\x74\x52\xf2\x5f\xea\x66\x44\xdd\x8c\x6c\xe9\xa6\x66\x45\x0b\x9b\xaa\x5a\xb4\x44\x2a\xed\x0c\x7a\xca\x2d\x39\x4a\xb1\x27\x70\xd1\xe9\xde\x41\xbe\xdc\xae\xa5\x76\x7f\xc7\xdb\x66\x6c\xdc\x92\xc6\x54\x1d\xd9\x6e\xc7\x13\xfc\x88\xb5\xdb\x83\x01\xbd\x11\x07\x03\x78\x23\xb9\xdb\x29\x14\xc6\x92\xc5\x14\x8f\x49\x69\x16\xc5\x63\x52\x9a\x79\x7d\xe8\xb9\xbf\x09\xb4\x00\x76\x63\x4b\xf0\x56\x7b\x43\x29\xed\xf7\xaa\xc5\xb1\xb8\xeb\x45\x1b\x26\x7b\x61\xf9\xea\x58\xe3\x2a\x74\x3c\x19\xb8\xae\x7c\xce\x06\x58\x8c\xe5\xa4\xf6\x1a\x7c\x62\x09\x8d\xa7\xc5\xbe\xfe\x49\x68\xbd\xf3\xa4\x70\x91\x86\x85\x57\xb3\xdb\xb4\x2b\x3d\xa6\xb5\x50\x86\x85\xde\xbe\x4c\x3b\x6b\x3a\x52\xff\xb2\x3d\x11\x82\x4d\x8b\x98\xa1\x4d\x01\x81\x35\x94\x4d\x7b\x99\xb9\xdb\x26\x07\x2e\xdb\xc9\x6b\x15\x34\xac\x1f\x96\xa4\xa8\x56\xea\xaf\x39\x88\xc6\x38\xe7\xcd\x55\xdf\x6d\xb1\x7a\xd6\x07\xc7\x45\x3f\x35\x6b\xac\xe5\x0b\x62\xb4\xdd\x05\xee\x49\x48\xcc\xcc\xb1\xe7\x44\x0e\x70\x32\x66\x13\x52\x38\xcc\x15\x35\xf9\x6c\x31\x05\xad\xe1\x8d\xd5\xc6\x33\x06\x87\xea\x8b\xae\xb5\x4b\xbf\x86\x05\xb8\x37\xc8\x72\x2f\xcb\xfd\xbd\x7c\x5f\xb4\xd5\x6b\x6e\x56\x34\xfe\x78\xc3\xd9\x5a\x0e\xec\x00\x91\x20\xcb\xe0\x4a\xb0\x3b\xc2\xeb\xa0\x4e\x65\xc0\xec\x54\xeb\xbe\xbd\x2e\xeb\xff\x64\x65\x16\x9f\xb0\xd5\x9d\x52\xd2\xa9\x25\xd8\x5a\x66\xa9\xc9\x70\xe1\x4a\xbf\x9a\x1d\xff\x9b\x6f\xbe\x71\x0a\xa7\x18\x32\x35\x65\x8e\xb5\x15\xae\x8a\x43\x5f\x1d\xb9\xcd\x09\x56\x55\x0b\xc8\x31\xcc\x1a\xbf\xa4\xdc\x5f\xbb\x2a\x76\x86\xab\xe7\x1c\x4d\xde\x8d\xce\xbb\xd0\x0e\x89\x9a\xbc\x1b\x9d\x77\xae\xfd\x21\x23\xb6\x07\xe2\xe2\x5a\x5f\x0a\xb7\xc4\x1e\x8d\x26\x27\x09\x7b\x01\xcc\x88\xd1\x85\x85\x85\x0e\xce\xcb\xa0\x56\x72\xaa\x9f\x02\x7c\xa5\x9f\xc8\xd4\x64\xb3\xf0\xd7\xc4\x13\xbe\x00\xe1\x6f\x48\x00\xda\xc6\x2e\x1e\x86\x1a\xa6\x6a\xdb\x86\xc2\x5f\x93\xc2\x17\x50\x94\xe9\x85\x4a\xef\x1b\x30\x9b\x10\x36\xee\x4f\xe0\xaf\xa2\x7c\x88\x11\xf4\x43\x52\xf7\x2a\x98\x28\x2a\xcb\x5a\x93\x44\x45\x6b\x61\x49\x41\x84\xb5\x76\x40\xc9\xd9\x20\x1e\xd2\x01\x75\x5d\xfc\x50\xd5\x44\x98\x86\xd2\x5a\x78\x49\x02\xb8\x23\xa1\x7e\xd6\xc2\x28\x95\x16\xf6\xa6\xca\x4e\x09\x29\x06\x19\xc9\xec\x3a\xef\x5c\x57\x5d\x18\x1f\x0b\x94\x69\xc9\xef\x8a\x84\x8d\x9e\x78\x48\x88\x79\x1e\x2f\x25\x76\x0f\x07\xe9\x29\xa9\x6b\x51\x11\xdd\xee\xe9\xc7\x02\xa5\x90\xe0\x41\x4a\x52\x2b\x01\xa6\xae\x8b\x07\xab\x11\x9a\x0e\xef\xb6\xdb\x3b\x42\xa6\xdd\x6e\xe1\x8b\xe7\xc2\x17\xa3\x6b\x3d\x00\x92\xe1\x48\x7d\x11\xad\x43\x4f\x3d\x0f\x47\xa8\x9a\x95\x82\x24\x7a\x9a\x8c\xcb\xa8\x25\x41\xb9\x3b\xc3\xbd\x3e\x6c\x08\x5a\xb8\x73\xf5\x75\x49\x02\x3d\x52\x4a\x82\x7a\x66\xcc\x8c\x40\xe2\xaf\x3d\xb2\x84\xc4\xdf\x78\x64\x53\xbd\xda\xa1\x36\xcf\x25\xfc\xff\x99\xfb\xf7\xe6\xb6\x71\xe4\x51\x00\xfd\xfb\x9e\x4f\x91\xf0\xcc\x68\x09\x11\xa2\x48\xc9\x92\x6d\x2a\xb0\x2a\x9b\xc9\xcc\xce\x4e\x92\xc9\x26\xf3\x66\xf4\x4b\xc1\x12\x24\x71\x4c\x03\x0a\x09\xda\x56\x6c\x7d\xf7\x5b\x68\x80\x24\x28\xd1\x8e\xf3\xbb\x5b\xa7\x6e\x25\x65\x91\x20\x9e\x0d\xa0\xd1\xdd\xe8\x47\xe2\x67\x96\xa2\x62\xe2\xdf\x74\x13\xff\xc6\x4b\xfc\x6d\x37\xf1\xb7\x08\x4d\xb8\x9f\x91\xd7\xb8\x5e\x03\xcf\x1b\x3e\xf5\x5e\x1a\x3a\xcf\xda\x54\xfc\x9e\x2d\xf5\x1c\xb2\x2e\x58\xca\x24\x7b\x62\x97\xc0\x7b\x69\xaa\xa0\x25\xd5\x2e\x0e\x94\x98\xaa\xf5\xad\x69\xb4\x1b\x22\x3d\x92\x75\x35\x21\xba\x25\x4c\xbf\x6c\x31\xf7\xb3\x2e\xc9\xb0\xe5\x2a\x9a\x40\xb4\xb5\xa2\xe6\xa7\x92\x67\x74\x82\x5e\x14\x6e\x11\x27\x33\xd3\x88\x25\x24\x2f\xf6\x75\x82\x32\x8f\xa9\x15\x5d\xe1\x83\xa4\xc4\x07\xa0\xac\x0a\x3e\xe7\xef\x6a\x8d\x01\x69\xf2\x0b\x62\x1c\x1e\x4e\x68\x97\x50\xac\x3a\x65\xe2\x98\xfa\x23\xcf\xcd\x7a\x14\xdc\x8c\x8a\x3a\xc2\x36\x44\x0b\xa8\x99\xa7\x41\x17\xbc\x06\x0a\xd4\x73\xb3\x1e\x11\xa8\x9b\xf5\x68\x97\x22\x53\x6a\xc2\x7c\x20\xc2\xbd\xb4\x5b\x78\xf3\x6e\x82\x99\x0f\xb4\xb8\x97\x76\x93\xde\xbc\x5b\x68\xfd\xb3\x32\x53\x56\x7e\xb6\x44\xfc\xfb\x18\x5a\x73\x2f\xa4\x62\xac\xa6\xa1\xed\x4c\xfc\x53\xd1\xd0\x0b\x2d\x67\xa2\xa2\x55\x8c\xe8\x08\x1c\x81\x73\xdf\xc2\xc0\xbf\x14\xb6\x05\xe1\x41\x51\x57\xd6\x88\x6a\xca\x62\xd9\x0b\xf7\xca\xbf\xdb\x9b\x0e\xd6\x77\xa5\x9f\xf4\xb8\x9f\xa0\x89\xf4\xe7\x3d\x92\x29\xe6\xda\x23\x40\x0a\x7b\xf0\xf6\xd9\x03\x57\x70\x97\x9e\x4d\x6a\x7c\x77\x70\xf6\x07\xe5\xd9\x5f\xf5\x09\x5b\x9c\x63\xaf\x97\x00\x35\x2a\x89\x5e\x25\x76\xad\x98\x79\x44\x35\xea\x66\xea\xd7\xb6\x75\x79\x5b\xec\x8b\xe1\x7c\x5a\x41\xb6\x06\x2d\xf7\x69\x64\xf5\xed\x57\x9b\x6e\x08\xbd\xf2\x40\x6d\x93\x2d\xab\x39\xb4\x63\x85\xb5\x52\x1c\x75\xb9\x26\xa1\xe1\xdf\xec\x70\x80\xfa\x25\x89\x63\xc9\x2b\x1f\x9e\xdd\x4e\xa7\x9a\xe0\xef\x0b\x57\x4b\x54\xad\x2d\xfe\xaf\x87\xa7\xf8\x09\x83\x7b\xa2\x7a\x9a\xff\x55\xb8\x7a\xa6\x1b\xb5\xfc\x6c\x0d\xe5\xf6\x26\x52\x1b\x6d\x1b\xa9\x0d\xbd\x50\x2f\x8b\x1b\xbc\x50\xaf\x0b\x3b\x0e\xdd\x8f\x7b\xd4\xc3\x8d\x27\xe3\x21\x84\x61\xf2\xb7\x9e\xd4\x94\x8e\x2a\x0a\xa6\x7c\x3d\xf8\xa6\x08\xbc\xc5\x16\xec\xf9\x7a\x32\x1e\x54\xf2\xa1\x00\x68\x3b\xe6\x91\xa2\x3f\x50\x9c\x29\xc2\x5a\xcc\xaf\x38\x46\xf0\x42\x1c\x20\x5c\xda\x95\xa9\x1e\x15\xaa\x3b\x89\xd5\x97\x3f\x8b\x47\xd9\xe1\x3d\x61\x67\x72\x0a\x91\xec\xa2\x98\x35\xfc\xdb\xfc\xb5\x37\x95\x8a\x14\xd6\x86\x9e\xd3\xc6\x9b\x8b\x22\xd5\x96\xa1\x95\x6d\x9a\xef\xb7\x03\x9c\xc9\xb4\xe4\x0d\xdc\x78\xe1\x84\x64\x56\x20\xab\x07\x2e\x0d\x12\xb0\xe7\xb6\xf1\xfd\x1f\x45\xf3\xc6\x5b\x6f\x9b\x2a\x94\x65\xa2\xa3\xa2\x52\xc2\xe3\xa2\x1a\x68\x72\x06\x31\xdc\x48\x86\x33\x2d\xa0\x00\x1f\x06\x09\xf8\x46\x55\xdc\x79\x9c\xcd\x88\xf4\x97\xa9\x50\x94\x01\x02\xe3\x4f\xb5\x99\x14\x95\x4b\x91\xcd\x71\x7e\xd3\x00\xcc\xf4\x16\x8a\x44\xf7\x5d\xa4\xea\x0a\x65\x9f\xa3\x2e\xdf\x61\x55\xdd\xbd\x59\xa1\x2d\x93\x73\x17\xbd\xb7\xb4\x25\xff\x79\x00\x49\xb8\xde\x87\x40\xc9\xc1\xc3\x37\xfa\x3d\x4d\x77\xf0\x58\xcc\x9e\x71\x50\x0f\x83\xd8\x80\x5a\xcb\x02\xf9\x19\xbb\x62\x59\xce\xc0\x48\x45\x1e\xa6\xea\xe0\x9e\x44\x4c\x90\x11\x6b\xa9\x19\xa4\x60\xa5\xa7\x48\x1c\x54\x46\x20\x56\x33\x09\xc9\x12\x92\x0f\x26\xb3\xda\x14\x82\xfa\xe7\x49\xce\xe6\xda\x35\x7b\x88\x85\xea\x60\x39\x43\x31\x9b\x81\x96\x8e\xdb\x94\xcb\xfd\x5e\xb4\x86\xab\x68\xb8\x2d\x69\x1f\xfc\xd9\x60\xfa\xcf\x22\xfa\xad\xc0\x29\xc9\xa6\xbf\x67\xd1\x3f\xb3\xda\x8b\xb1\xae\x14\xec\xe1\x04\xc4\x98\xe0\x38\xc5\xaf\x33\x84\x2d\x0e\x23\xb1\xdd\x68\x29\xde\x1a\x8e\x54\x2c\xaa\x1e\x1f\x1a\xca\xd7\xec\xa3\xca\x8f\x13\x7f\x21\x2e\x69\x62\x39\x40\x94\x0f\x38\xe6\xe2\x44\x02\x3f\xfc\xa6\xb8\x3c\x67\x99\xf1\x94\xc6\x55\x2d\xb0\xbb\x1e\xe7\xdd\x4b\x12\xae\x0b\xca\xaa\xe0\x3b\x51\xd8\xce\x34\xac\xad\x55\xb2\xb8\xc8\x52\x38\x61\xee\xaf\x19\x74\x7d\x9e\xd2\xcb\xcd\xe3\x1a\xcd\xca\x46\x33\x55\xd0\xaa\xeb\x71\xc5\x59\x59\x9c\xa9\xe2\x32\x99\x5f\xe4\x6d\x10\xfb\x8f\xde\xf7\x65\x9e\xef\x45\x76\x49\x2d\xe0\x37\x0e\xba\xc4\x9c\x7c\x2a\x33\x4f\xe6\xac\xad\xbe\x1f\x74\x7d\xe0\xee\x4f\x8d\x57\x6c\xb6\xe4\x50\x51\xc8\x5a\x7f\xbb\xa6\x67\xc0\x7f\x3f\x28\xd4\x02\xd0\x3a\xe6\x17\xa6\xc0\xc1\x8e\x05\x1a\x07\x3b\x00\x61\xfb\xd2\xe0\x87\x66\x8d\x80\xe8\xbe\x29\xdc\x9f\x74\x72\x3c\x50\x7b\xae\x35\xd1\x42\x50\x3f\x95\x4c\x26\x58\xfe\x6b\xbf\x1f\x61\x50\x5e\xe2\xc2\xc1\x00\xfc\x53\xa8\xed\xaf\x4b\x7f\x28\x1b\x71\xed\x86\x46\x48\xae\xb1\x96\xe5\x7f\x43\x56\x8c\x7d\x18\x80\x2e\x97\xec\x67\x95\x67\x2f\x3f\x1c\x9d\x91\x64\x5a\x74\x49\x18\x44\xfe\xb0\x7c\x19\x45\xfe\xb1\x7a\x56\x14\x69\x97\x0c\x10\x56\xad\x91\x1a\xd5\xa9\xd7\x7e\x81\xba\x05\xdc\x7e\x12\xab\x61\xf5\x0e\x5f\x3c\x7f\x04\x9f\x07\x33\x52\xd8\xfe\x4e\xfe\x73\x08\x78\x05\x64\xe3\x0e\x41\x50\x6c\x60\x60\x41\xb6\x5a\x10\x86\x70\x33\x39\xb4\xfd\x8c\x41\x25\x4b\xa1\xb5\xe6\xb4\xc9\x6b\x51\x86\x5a\xc5\x4e\xee\x10\x42\x8a\xf8\x64\x56\x3a\xe2\x11\x54\xb1\x22\x97\x54\xbe\xcd\xd8\x32\xb9\xa9\x09\x65\x13\x22\x07\x82\x84\x66\x3a\xbc\x59\x25\xd3\x8f\x8f\x67\xa0\x87\x78\x3c\x23\x8e\xef\x78\x32\x71\x13\x7d\x0f\xe3\x66\x30\x89\x08\xab\x26\x88\xb3\x74\x30\xab\x5b\x70\x8b\xea\x36\xa5\xf5\x7a\x9f\x55\xb5\x70\x84\xbc\xc4\xcf\xb7\x97\xe7\x22\xdd\xed\xf6\x9b\x63\x89\xab\xaa\xc7\x19\x84\x91\xab\x2b\x35\xa4\x39\x71\xb0\xee\x13\xf4\xc5\x73\x96\xce\xa4\x86\xae\xe9\x49\xc3\x56\xc1\x42\x8e\xbd\xb6\x45\xc3\xad\x25\xe3\xf9\x41\x68\xdb\x10\x24\x0d\xb9\x46\xe2\x4a\x88\x72\x58\x6e\xdd\x27\x09\x7f\x72\x91\x9a\x3b\xed\xf3\xdc\x65\x3d\x99\x34\x20\x2c\x4b\x08\x4b\x0d\x61\xe4\x3d\xf1\x5c\x87\x39\x4f\x09\xe1\x28\x62\xbd\x41\xd7\x75\xbe\x55\x53\x66\x8b\x43\xb3\xa4\xf5\x18\xa9\x25\x93\xc6\x80\x42\xf5\x3d\x38\xe3\xd3\x20\xe2\x28\xea\xd5\xc3\x81\x18\x48\x3d\x6e\xfb\x9f\x91\xa8\xfd\xac\x30\x35\x95\x4a\x54\xa6\x16\xfd\xda\xe3\x0d\x77\xd1\x16\x41\x0c\xee\x6c\xaa\x70\x4f\xf4\xe0\x6c\xb1\x9c\x6e\xbb\xbc\x74\x90\xaa\x4a\x60\xfa\x55\xa7\x0c\x83\x1b\xcd\x33\x12\x60\x6e\xca\xb9\x6e\xd6\x3c\x79\xb4\x58\xb6\x40\x08\x53\x40\xe9\xd4\x3f\xa7\xb9\x85\x42\xd9\x83\xe7\x8f\xc7\xea\x9a\x33\xbb\x26\xa9\x6a\x6a\x22\xe3\x92\x46\xfd\xa3\xa8\xb2\x62\x0d\xbe\xe8\x65\x6d\x80\x53\x55\x27\x11\x2e\xbb\x9a\x20\x4c\x55\x7d\x7b\xa7\x45\xe9\x76\xe5\xcf\xc2\xcd\xaa\xd0\x0c\x5c\x5b\xbe\x19\xaf\x17\xd6\x6a\x2d\x5c\x81\x10\xce\x2d\xac\x54\xb8\xa9\xda\x67\x44\x7e\x1b\x4e\x07\x11\x98\x5d\x27\xf9\xf7\x09\x4f\x24\x73\xf3\xde\x5c\xab\xa8\x33\x63\xe7\x91\x9f\xcd\x27\x73\xcf\xab\x78\xfb\x35\xf8\x35\x58\x4f\xd6\x9e\x87\x4c\xbc\x88\xc4\x9d\xa3\xee\x1a\x4d\xac\x57\xb3\xe5\x40\x4a\x62\xa5\xaa\x9a\x9e\xe5\x13\xab\xb2\x65\x2f\x9c\xac\xcf\x82\xc9\xba\xd7\xdb\xaf\x4e\x65\x9a\x93\x60\x42\xe3\xf9\xec\x99\x80\x4e\x18\xcf\x0a\xe5\xbd\xd4\x84\x82\x3f\x85\xb3\x74\x92\xf7\x7a\x68\x42\x09\x35\xf4\xdd\x1c\xe7\xf5\x2a\x2b\x21\xb8\x7f\x96\x82\x3b\x2b\x30\x52\xdf\x9b\xe0\xf2\x8a\xf0\x4d\x3a\x39\xd4\xc0\x9b\x32\xf2\x26\x8d\x9c\xb2\x16\xe7\x29\x91\xdb\x0d\x13\x4b\xe0\xb9\x6c\x9c\xc6\x50\x69\x32\x5e\xed\xeb\x10\xcb\x2e\xef\x9b\xf9\x74\x51\xa5\x92\xda\xc2\x18\x18\x33\xfa\x7e\xd2\x50\x26\x07\xf7\xb5\x15\x93\xd8\xf3\x47\x67\xb4\x0b\x6e\x6b\xba\x44\x2d\x9b\x33\x42\xa7\xe0\x89\xd3\x71\x76\x6a\xd4\xf7\x9c\xf6\x0a\x4d\xc0\x37\x45\x13\x9b\x43\xff\xdf\x85\x4b\xb1\xbd\x6f\x8b\xea\x30\xa9\xd1\x4b\xcb\x56\xd6\xa7\x4a\x92\x68\x8f\x7a\x49\xe2\x86\x7d\x4b\x50\xff\x15\x1b\x3c\xfb\x3a\x32\xb2\xda\xd6\xec\xbe\x6d\x9d\x01\xa9\x95\xed\x6f\x1e\x6e\x93\x5a\x4c\x0d\xd9\xe4\x39\x5c\x1e\xd2\x26\xb5\x18\xd6\x74\x59\xb6\xb7\xbb\x6d\xb7\x86\xa6\x4f\x3f\xe8\x8a\x21\x33\xbb\xd9\x08\xde\x70\x6d\x44\x1f\x18\x96\x86\x24\xa1\x16\x2c\x6b\x3c\xc3\xec\xa1\x49\x55\xf9\x3d\xf3\x5b\x34\xe7\x57\xcf\x6e\xd6\x98\xdd\x24\xf9\x92\xb6\xb1\x9c\xd6\x28\xbd\x07\x28\xfe\x3e\xad\x59\x9a\x1c\xf8\xfb\xaa\x91\x67\x12\xbb\x6e\xe1\xaf\x98\xda\x0f\x77\x77\xae\xa1\x18\x41\x32\x23\xa7\x85\x9f\xab\x0f\xd8\x84\x9b\x67\x08\x45\x6f\xe8\x1b\x84\x7a\x21\xfa\xb6\xbc\x2f\x6c\x38\xbd\xb6\xc9\xdf\xc3\xcb\xab\x7b\xee\xe3\x9e\x48\x8f\x75\xf9\xce\xac\x55\x9c\x60\x5a\x2b\x71\xec\xaf\xb9\xec\x61\x8c\xc0\x27\x5c\xeb\x9e\x73\x76\xfd\x64\x3e\xb1\x6f\xcd\xc1\x7c\xc1\xd2\x20\xa1\xcf\x80\xa5\x5c\xd3\xdc\x4d\x48\xa6\x78\xc6\xbb\x3b\x3d\xde\xa4\x1c\x6f\x52\xef\x65\x16\x4b\x5f\xce\x2a\x5f\x57\xd2\xa7\x68\x87\xd9\xd7\xf0\x44\x09\xe1\xc0\x2a\x4b\x72\x2b\xa3\x92\x30\xa7\x51\x95\x11\xdc\xb4\x25\x55\xa5\x6f\x45\xc2\x65\x6e\x7b\x32\x14\xe8\xb6\x55\xdf\x58\x10\x43\x58\xa7\xa4\xd0\xae\x69\x8a\xca\xa0\xba\xc4\x89\x6e\x4a\xdc\xd4\x9b\xa3\xfe\x00\x07\x28\x72\xe7\xbd\x14\xf5\xdd\x5a\x5c\xe1\x89\x6a\xa0\x09\xc9\xdc\xd4\xcb\xbb\xa2\x3f\xc0\x39\xda\xef\xb1\xee\xd5\x7e\xbf\xab\x4e\x03\x87\xf1\x5f\xef\xb9\x39\x2d\x35\x8a\x35\xc3\x40\xf7\x8d\xe3\x2e\x68\x8e\xc4\x2a\x0a\x83\xf2\x54\xa1\x5e\xb3\x4c\x37\x87\x1a\x0f\x87\x6b\x8d\xe7\xde\x31\xff\x93\xf2\x45\x73\xb4\x38\x7d\x60\xbc\x07\x7a\xe1\xcf\x86\x9d\x8e\x9b\x12\x51\x6a\x46\x28\x10\x3c\x2b\x74\x1c\xdf\x22\x9e\xf7\x82\x19\x5e\xaa\xc4\xde\x7c\x86\xd7\xc4\x5d\xf6\x72\x7b\xc8\xc2\x1b\x74\xd3\xc6\xe4\xe5\xde\xba\x9b\xe2\x35\xc2\xf3\x4e\x27\xb1\x84\x2b\x94\xac\xbb\x6e\xd8\x13\xc8\x1e\x20\x74\xfe\xe1\xe9\xfc\x7f\x3b\x3e\x8b\x2e\x6a\x1f\xea\xde\x58\xed\x95\xb1\xec\xe5\xd6\xc4\x0a\x45\xa3\xa8\x69\x6d\x03\x85\x55\xcc\x40\x05\x1d\xcc\xfb\xc3\xb0\x51\x5f\x5b\x50\x3b\xad\x32\xec\x7b\xcc\xab\xb2\xfc\x59\xb8\xd2\xa7\x5a\xf3\x8f\xdd\x77\x44\x18\x9c\xad\x72\x98\xd3\xa5\xa1\x56\xb1\x8f\xd1\x13\xb7\xe4\x64\x02\x20\x4e\x2d\x3f\x57\xa2\xbc\xcc\xce\x26\x48\xc4\xac\x17\xce\x14\x0d\xf4\xa9\xa0\x5c\x26\x8a\x61\xc3\xac\x9f\xb5\x69\x46\x51\x5b\x46\x03\xfa\xdf\xa0\xe4\x36\x05\x9f\x4c\x41\x24\xe3\x5a\x8e\x26\x70\xe9\x0a\xb2\x12\x4b\x7d\x1d\x3b\x50\x0a\x9d\x32\xe4\x2f\x93\x54\xb2\xcc\x2d\x90\xb6\x46\x66\x08\x27\x46\x02\x45\xbf\x56\x02\x95\x18\x09\x54\x3d\xda\xbc\x05\xd2\x42\x65\xd0\x84\xce\xfe\x94\xd5\x67\x99\x22\x62\x40\x4d\xe9\x67\x45\x78\xe3\xe0\x8c\x4d\xe3\x37\xf4\x0d\x7e\x43\xdf\xcc\xa2\x98\x9d\x05\x53\x0d\xda\x48\xcb\xb9\x9f\x95\x16\x62\x2a\x59\x25\x5a\x52\xef\xd9\x03\x84\x9f\x28\x67\x3d\x69\x44\xeb\x79\x98\xd2\x63\x71\x9b\x7e\x21\xb5\xa5\x28\x49\x17\x3c\x6e\xa2\x86\x23\xcb\xc2\x76\x89\x5f\x5e\x45\x18\xd7\x9c\xb4\x4a\xe8\x85\x38\x2b\x43\x4b\x4c\xf6\x08\xa9\xc7\x31\x63\x9c\x78\x20\xe3\x51\x4c\x59\x5c\x57\x3b\xd3\xd2\x36\xed\xc4\x1a\x67\x5f\x33\xb9\xb6\xa8\x2e\xbb\x67\xee\x6c\x0d\x4d\x56\xcd\x9d\x54\xdb\x5c\xd1\x4e\x6f\xe8\x9b\x48\xf6\x13\x8f\xe3\x58\x62\xe9\x85\xfd\x64\xf6\x00\xc1\x96\xd6\x92\xbc\x86\xf0\x6d\xfe\x10\x65\xc5\xce\x20\x36\xb0\x2d\x6e\x66\x68\x16\xe9\xfd\xb3\xbb\x97\xc2\xf9\xc2\x3e\x51\x54\x02\xff\x4a\xd2\x03\xbc\x25\xc3\x56\x60\x5f\xbb\xd2\x63\x0e\xeb\x1a\xf3\x98\xa9\x95\x7b\x2f\xbe\x9a\x57\xf8\xca\xd2\xca\x4a\xee\x0b\xce\xe2\xf1\x5d\x75\x4d\x6a\x38\x10\x89\x65\x09\x0a\xb9\x3f\xb6\x87\x57\x97\x26\xbb\xd5\xcc\x02\x64\xe4\x23\x64\xb7\xf2\x6b\x64\xb7\xf2\xbe\x31\xc3\xf8\x1a\x11\x81\x96\x49\xfd\xd5\xb2\x7d\x58\x27\x8d\x7b\xac\x84\x73\x96\xe9\x58\x69\x96\x5e\x58\x33\x8f\x28\xe4\x61\x9e\x4d\x33\x0f\xf8\xf6\x7a\xde\x74\x57\x75\xd5\xcc\xc2\xf8\x62\x2f\xc3\xa2\x91\xa1\xd3\xe1\xfe\x86\xee\xe7\xb9\xb4\xc4\x54\x46\x30\xc5\x7b\x0c\x75\x65\xcf\x95\xbd\x0c\x75\xb5\x1c\x2a\xb4\x14\xb8\x92\xda\x0c\xbf\x14\x4f\x56\x4e\x42\xe1\x12\xcc\x38\x0f\xc5\x82\xb8\xc5\x34\x8b\x7a\x99\x11\x61\x69\x5d\x8b\x6e\xe2\xd1\x2e\x45\x38\x25\xa2\x4b\xf1\x9c\xf4\x44\x37\x51\x64\x60\x1c\xcc\x3c\x70\x0a\x14\x87\x33\x6f\x8e\xd7\x20\x35\xf2\x52\xbc\x02\x35\x78\x6f\x8e\x37\x04\xac\xe5\xfb\x03\x70\x5b\xa5\xb5\x3f\x16\x64\xdd\xcb\xf1\x25\x59\xf5\x96\x78\x4b\x16\xdd\x85\x77\xd9\xbd\xc4\xaf\x09\xeb\x65\xf8\x86\xe4\xdd\x55\x6f\xdd\x5d\xe2\x73\xe2\x06\x67\x97\xd3\x5e\x18\x85\xb6\xb3\x60\x1b\x95\x76\x5f\x77\xb7\xbd\x9b\xee\x0d\x42\xf8\x23\x71\x6f\xba\x97\xbd\x45\xf7\x1c\xf5\xb7\xf8\x9a\xb8\xbd\x9b\xee\xa2\x77\xa9\x5f\xdf\xc3\x47\xcf\x7c\xbc\xd0\x1f\x3d\xf3\xf1\x0d\xf9\xd8\xdb\xe0\x97\xe4\xba\x77\x85\x9f\x93\xf7\xbd\x0d\x7e\x41\x2e\x7a\x57\x25\x2a\x7d\xd3\x7d\xe3\xbd\xec\xbe\x3c\x7b\xde\x7d\xee\xbd\xe8\xbe\xe8\x74\xdc\x8f\xe4\x3d\xbe\x26\x17\x08\xc7\xf1\xc7\x5e\x8a\xaf\x15\x5d\x14\x7f\xec\xb2\xfe\x6b\x7c\xad\xfe\xce\x6c\xcd\xb8\xfd\x1d\x66\xe3\x22\xea\xa2\xdb\x79\x1d\x96\x34\x71\xb9\x9b\x23\x2c\x10\xaa\x1c\x0f\xa4\x78\xae\xb8\xa5\x5c\xfd\x59\x2a\x06\x69\x5d\xdb\xe8\xae\xc8\x4b\xf0\x8d\xbf\x51\xbf\x19\x9a\x78\xde\xf2\xd9\x5a\x31\x4c\x73\x9a\xa6\x3a\x72\x4a\x4a\x64\xbc\x9c\xe1\x25\x9a\x1a\x1f\x37\xb1\xb7\xb2\x3f\xe3\x25\xc2\xde\x66\x2f\x65\x86\xa2\xbc\xb6\xb6\xa6\x2e\x82\xe6\x2b\x02\xa4\xfe\xa6\x3e\xcd\xcb\x6d\x3e\xaf\x44\xc5\xda\x6b\x85\xa6\x75\x5e\x30\x9c\x91\xcf\x0c\x17\xe4\xb3\xc4\x09\xb9\x51\x6c\x5e\xe2\x5f\xb0\x2d\x16\xc4\x3f\xae\x35\x31\x6e\x1e\x7f\xac\x48\x38\x54\xa4\xbf\x7d\xfc\x9d\x93\x04\xf1\xa4\xf4\x17\x6c\x99\x70\xd6\x7a\xc7\xd5\x26\x48\x80\x82\xc5\x0e\x82\xce\x7c\xe5\x55\x15\x25\xb5\x78\x8b\x94\xe2\x2d\x3e\x4d\x08\x8f\xdc\x84\xfc\x92\x02\x3b\xcf\xd1\xdd\xdd\x4d\x82\x00\x1c\x12\x45\x14\xb0\x1e\xe3\x5f\x13\x0a\x0d\xba\x28\x1a\x18\xee\x26\x69\x31\x8f\x3a\x0b\xa7\xdc\x4c\xd0\x2b\x35\x43\x9e\xf3\x97\x65\x23\x75\xde\x2c\x52\xe5\x6b\xe6\xfa\x98\xb8\x07\x51\xef\xb9\x1d\xf5\x1e\x6e\x89\xe2\x4c\xfd\x3a\xd8\xc1\x59\x1c\xce\x2a\xf5\x56\x73\x33\xec\xfc\xcb\xc1\x70\xf5\xe1\xa9\x89\x89\xe5\x0c\x29\x2a\xbb\x3f\xc0\xce\x6f\xba\x40\xcd\xce\x9f\x85\x9d\x8e\x55\x4a\xdf\x97\x58\x17\x12\x55\xbf\xae\xff\x1b\xfd\xfa\x4d\xf5\xcb\xf4\x28\x9c\xe1\xaa\xc5\x3a\x98\xf5\x61\xc3\xef\xff\x6b\x00\xa9\x40\x71\x08\x87\xb6\x86\x2f\x92\x3d\x35\x28\xc3\xc7\x1d\x4d\x61\xf2\x23\x40\xc6\xcf\x13\xb7\xbc\xc1\x0f\x71\x2f\x44\xf8\x45\xb2\x7f\xdb\xf5\xe6\x9e\x7a\x86\xd3\x73\x53\x4f\x00\xf5\xb8\x46\xda\xc2\x61\x0e\x38\x54\x15\x5b\x24\xf3\x60\x36\x2b\xa3\x96\x70\x45\x8f\x84\xb3\x19\x6a\xb6\xf4\xf2\xde\x96\x6e\x1a\x2d\xf1\x96\x5e\x3e\x4f\x2a\xf3\x93\x12\xf7\x3d\x0b\xef\xee\xca\x3a\x9e\x92\xda\x37\xc4\x61\x9a\x37\x28\x05\x4f\xd0\x50\x6d\xa3\xba\x97\x0f\x67\xc4\x71\x70\xe5\x12\x1b\xee\x00\xb4\x63\x3c\x2c\x08\xc5\x29\x09\x27\x3a\x26\xbe\x9b\x79\xc4\xf9\x8f\xe3\xb9\x89\x3a\x3d\x07\x5d\xc5\x26\xf6\x87\x60\x77\xa8\xd2\x42\x9d\x16\x56\x69\x2a\x9b\x79\x08\x41\xec\xa5\x7e\x52\x32\x40\x95\x02\xc2\x59\x88\x6e\xb5\xe7\x3d\x68\x38\x9d\xe1\xd4\xf3\xb0\x6a\xe6\x85\xe3\xb9\x8a\x0f\xf7\x80\x17\xd5\x4d\x28\xe6\xdc\x53\x0d\x54\x4d\x06\xb3\x9e\xa8\xbf\x43\x17\x44\xf5\xbd\xd1\xbc\xe5\xd1\x79\x30\x99\x57\x3e\x35\x26\x73\xcf\x53\x6d\x22\xd3\xbc\xea\xcc\x7c\x06\x3d\x78\xff\x95\x2d\xec\xea\x8b\xd2\x1c\x2a\x9b\xd8\xe0\xf2\x06\x5d\xb1\x0f\x2e\x48\xab\xc1\x95\x97\xb5\xe5\xaa\xb6\x92\x9b\xb1\x54\x2c\x93\x43\x67\x19\x20\x4e\x04\xe7\x0c\xa0\xf4\xc4\x6b\x8a\x06\x0b\x12\xe2\xb4\x56\x8f\xf7\x3c\xf1\x2c\x9d\xa0\x5a\xa7\x87\xc7\x62\x56\x9a\x4a\xc6\x45\xd7\xa5\xa5\xbf\x71\x84\xe1\xad\x74\x39\x3e\x6b\xd3\x9c\xff\x9c\x18\x27\x0c\xf5\x72\x3e\x5c\x6c\x12\x9c\x07\x1c\xa2\x85\x4c\x2f\xb4\x4c\x2f\xb4\xb8\xc0\xea\x1f\x60\x82\x10\x30\x81\xea\x7b\x9c\x60\xf5\x0f\xf0\x06\x4e\x55\x26\x85\x46\x12\xec\xbc\x72\xf0\xbb\xc4\x7d\x9b\x62\x8a\x20\x49\xbf\x08\x64\xbc\xbe\x94\xbb\x55\xf1\x05\x08\x10\x0e\x61\x13\xa4\xb1\x0c\xa6\xd5\x85\xb5\xb9\x2c\xd2\x98\x55\x54\xc9\xa2\x4c\x0e\x67\x08\x7f\x97\xb8\x29\x78\x87\xaa\x2f\xd9\xb4\xc9\x56\x5a\x07\x48\xcf\xd4\xdb\x21\x96\x7a\x75\x00\x9e\xa3\x26\x78\x6c\xbd\x46\xb0\x7c\xec\x85\x96\x8a\x16\x4e\x88\x9e\xc8\x38\x50\x48\x33\x7b\x36\x9c\x20\xa9\x75\xb6\x8c\x3e\x91\xbe\xe0\xa5\xe5\x4b\x68\x6c\x5e\x8c\x11\x8c\x86\x49\xa2\x97\x55\x09\x2d\x84\x7b\x3d\xf0\xd3\xf2\xac\xb0\x6a\x2b\x47\xbe\x57\xef\x1e\x9c\x64\x09\x10\x06\x7e\x94\x5a\xcc\x18\xab\xa1\x7f\x4a\x0e\x3c\x12\x1f\x0c\xae\xf0\x8e\xca\x8b\xc7\x58\x0f\xf0\x48\xad\x4c\x1e\x67\xdf\x16\xb3\xb2\x4d\x66\xe6\xc6\xbc\x94\x43\x94\x24\x6e\x9f\xff\x6a\x78\x49\xa3\xae\xbd\x91\xb0\xf6\x19\x67\xe5\x00\x65\x63\xc6\x65\xcb\x00\x7f\x49\x9a\x4a\x8c\xa5\xc8\x40\x2b\x4a\x58\x06\x52\x66\x3f\x96\x5b\x52\x1b\xac\x08\x6d\x9c\x52\x45\x19\x00\x43\x15\x70\x92\x0b\xa6\x4c\xf3\x6a\xb9\xce\xd5\x4e\x99\xf7\x19\x9c\xc5\x44\x76\x35\xe5\xa0\x76\x7a\xd7\x4d\xbc\xa2\x2b\x10\x6c\x0e\xf8\x12\x56\x5f\xa8\x57\x58\x12\x57\xd8\xa5\x96\x6a\x6e\xf2\x25\x2b\x77\x8f\xc7\x03\xf5\x34\x50\x4f\x43\xf5\x34\xb4\x43\x17\x24\xb5\x75\x90\xde\x01\x2f\x00\xfe\xef\x52\x2c\xab\xc9\x78\x07\x1a\x63\xe6\xe5\x3b\xfb\xcb\x77\xf6\x97\xb7\xf6\x97\xb7\xea\x8b\xad\x95\xdb\xe8\x28\xac\x3e\x13\xda\x54\x47\x45\xe0\xcd\xe8\x0e\xbf\x3e\x40\x8c\x80\x15\x8d\xbe\x74\x69\x1c\x6f\x00\xd5\xb7\x09\x38\x03\x68\xd8\x21\xb9\xd4\x73\x29\x7c\x01\x4c\xc9\x63\xe9\x81\x0a\x45\x7f\x50\xa1\x41\x95\x8d\xda\xce\x2d\xff\x3e\x5c\xf3\x30\xfd\xa0\x7f\x08\xbd\xc3\x42\x6d\x82\xd4\x5e\x2e\x06\x21\x4b\xd5\x16\xe0\x62\x1e\x0b\xd5\x14\xa8\x6d\x80\xc3\x68\x1a\x8b\x19\xa1\x90\x4a\x82\xc8\x65\xea\x79\xd6\x97\x38\x33\x89\x7d\x09\xb1\xb9\xc0\x92\x05\x17\x67\xa7\x60\xd5\x31\xec\x4a\x8b\x79\x2d\x10\x86\x5a\x8a\x2e\xc3\xa6\xa6\xa2\x9b\x19\x0f\x45\x82\x98\x6e\x90\x74\x82\xc0\xc6\xa8\x12\xd0\xa5\x58\x78\x21\x9a\x69\x60\x5b\x6c\xa7\xe8\xe9\x54\xd4\x77\xc7\x5d\x37\xf4\x54\xe5\x5d\xf5\xa7\x56\x75\x8c\x8b\xbb\xbb\x00\x5a\xed\xaa\xa7\xfa\xf8\xb0\xf4\x06\xbf\x6f\x23\xd4\x5b\x28\x22\x00\xac\x1d\x9a\xa0\x0d\xd0\xda\xfc\x9a\xef\x99\x5f\x4b\x50\x6e\xc5\x5a\x97\x03\x67\x3a\x84\xc7\xcf\x14\xac\xda\x89\x15\x29\x28\x43\xa0\x5f\x4b\xac\x70\x42\xb5\xc4\xd9\x56\x77\x7e\x88\x9b\x4d\x5d\x74\x7b\x55\x73\xb3\xc2\xe5\xee\x25\x52\x1c\x66\x8e\xe7\x2e\x77\x17\x96\xc2\xa8\x4a\x75\xfe\x72\x6a\x3e\xd7\xc4\x8e\x56\x8b\x65\xa1\xfe\x5c\xaa\x3f\x5b\x35\xa8\xd7\x35\x89\x76\x63\x18\xde\x73\xf5\x5b\x28\x96\x9f\x11\x42\xb2\xa9\x25\xf7\xf9\x3f\xa6\xcf\xab\x5d\x04\x4c\x31\xbe\x26\x60\x70\x3c\x3d\x94\x0d\x6d\x20\x0b\x2c\xfc\xed\xb3\xd7\x13\x44\x2d\x36\x78\x4d\x64\xbc\x9d\xe1\x2d\x9a\xba\x0b\x33\xa1\x2b\xe2\xdd\xd8\x39\xf0\x56\x71\xde\xde\xf9\x5e\xda\x0c\xc2\x64\x6b\x56\xfb\xe3\x7e\x7e\xef\xfa\x20\x37\x8a\x16\x35\xaf\x9d\xba\xa8\x1e\x7e\x05\xff\x3a\x83\xfa\x5e\xfa\xa6\x9f\x5e\xdd\xcf\x70\xbf\x50\x0c\x77\x80\x13\xc5\x79\x53\xc5\x79\x0b\xc5\x79\xa7\x44\x00\xab\x39\x27\x02\xe7\x44\x1d\xdc\xcb\xff\x1d\x0f\x6e\xb3\xd4\x37\xc1\xd7\x73\xee\x37\xe1\xd7\xb3\xee\x8f\xe4\xf6\x0b\x92\xe8\x42\x09\x14\x7a\x64\xe7\x6c\x56\x7f\xfb\xc8\xce\xd9\xed\x7c\x95\x5c\x81\xea\x82\xf4\x7f\x25\x57\x48\xdb\xe5\x0a\x82\xf0\xc8\x15\x6d\x72\x85\x39\x11\xe5\xbe\xbb\xbb\x53\xf3\x2e\xfc\x79\x2a\x72\xb6\x98\x3a\xaf\x9d\x48\x2d\x02\x89\xa2\xf4\xab\x25\x0f\x4b\x3d\x88\x65\x43\xf2\xf0\x63\xb2\x67\x0c\xd0\x94\x8d\xfe\x69\x7d\x8e\x8d\x05\x94\x6d\x4a\xd0\xaa\x4f\x51\x1b\x78\xb4\x07\x04\xde\x47\x6d\x7b\x81\xd1\x0c\x72\x6b\xe0\x35\x3b\x14\xee\x6f\x96\x38\x78\x7c\x64\xd9\x0e\xd4\xe9\x8e\x76\x0b\x6f\x09\x42\xbe\x49\xda\x9c\xdf\xf0\xfe\xdf\x15\x51\xe8\xbc\x0e\x30\xf8\xfa\x78\x0e\x7f\xf5\xf3\x93\xe0\x49\x88\xc3\x27\xea\x4b\xef\xfe\x4f\xb2\x29\x74\xf9\xe7\x43\x50\x81\x90\x8a\xae\x04\x8f\xda\x31\x9f\x69\x3b\x75\x19\x33\x22\x7d\x3a\x97\xc9\x15\xd3\x49\xbe\x4c\x2e\x59\xe6\xcf\xb5\xff\x8e\xf2\x55\x92\x37\xf4\x0d\xee\xf5\xa4\x3f\x17\x05\x97\x53\x63\xd9\x26\x63\x36\x8b\xca\x67\x5d\x2f\x2e\xab\xf3\x88\x3f\xc2\x99\xcf\xae\x18\x97\x9d\x8e\x79\xd0\x8b\x38\x2b\x36\xd2\x42\x6e\xda\xf5\xf3\xc7\x05\x95\xf4\xe3\x47\x5c\xfa\x95\x6c\xe8\xeb\x27\x7b\x46\x47\xef\xa9\xcb\xf1\x9f\x29\x18\xf3\xd3\x4b\x96\x6f\xe8\x9c\x81\xf1\x75\xb2\x20\xcc\xd6\x5c\xfe\x77\x72\x68\x65\x97\x2c\xe0\xf4\xab\x0a\x96\x58\xed\x4f\x97\xe3\x96\x1d\xc3\xac\x70\xa0\x3a\x58\x2e\x8f\x93\x59\x5c\xcc\x7c\x79\xcd\x18\x07\x1d\x13\x89\x15\x2b\x01\x43\xe2\x98\xd7\x83\x51\xd9\x11\xda\x29\x52\x24\x83\x50\xa5\xd6\x7e\x69\xab\x85\x35\x2d\xd2\x7f\x68\x6c\x12\x1d\x76\x0d\xcc\x2d\x9c\x66\x28\x6c\xed\xe1\x89\xdd\xc8\x17\x82\xc3\x4d\x10\xb7\x80\xf7\x53\x4b\x25\x53\xe7\xe3\x47\xf0\xfd\x92\xa8\x2c\x1f\x3f\x3a\x51\x33\xc1\xf1\xb8\xe7\x7c\xfc\x68\xad\xad\xff\x34\xee\x04\xac\x9b\xea\x6a\x75\x5f\xf9\x0b\x96\xd2\x6d\x2d\xfa\x95\x44\x7a\x29\xe6\x67\x44\x4e\x29\x38\x0e\x84\xcb\x32\x37\xf7\xe7\x84\x36\x34\x56\x2b\x6d\xe9\x8d\x59\x3b\x38\x21\x9b\xb8\x98\x4d\xc0\x0d\x59\x73\x45\x26\x7b\x2b\x72\xa3\x57\x64\x69\x6b\xa9\x8a\xe1\xa4\x5c\x75\x49\xfb\xaa\x6b\x4c\x51\x52\xae\xb7\x8a\xc5\xa4\x4f\x12\xfe\x64\x03\x1e\x16\xce\x3c\xe3\x83\x78\x4e\x36\x31\x9d\x4d\xe6\xcd\xce\xcc\xbf\xd4\x19\x3a\xdb\xa9\xe1\x0a\xfc\x89\xbb\x2d\x37\x4e\xfe\xbc\xd3\x11\x2e\xbb\xbb\x0b\x11\x04\xd1\x37\xd5\xe6\xba\x42\x84\xc3\x1d\x0e\x70\x8a\x70\x09\x17\x92\xe1\xab\x72\x6c\xe6\x41\x5f\x1b\xb5\x8c\x4b\x22\xbc\x52\xe4\xc1\x95\x59\x60\xa5\x9d\x6b\x7d\x0d\xa7\xf6\x84\x9b\x91\xac\xb5\x30\xea\x74\x56\xa5\x5b\xfa\x1d\xc2\x6b\x72\xe5\x33\x9a\x33\xbc\x54\xf3\x5c\x64\x54\x55\x61\x69\x30\xb8\x45\x4d\x65\x26\xa4\xe8\x2f\x31\x25\x6b\xf0\xb9\x4a\x56\x25\x9d\x29\xce\x82\x09\x5a\xc5\xbd\x9e\x98\x95\x4d\xd6\x9c\x71\x72\x46\xc2\xa9\x7b\x30\x3a\xc6\x17\xed\x63\xab\x80\x3d\xad\x80\x9d\x55\xb8\x08\x3c\x8b\x86\xa8\xbc\x9c\xd5\x97\x23\xc6\x55\x34\x44\xf0\x61\xb3\xbb\x3b\xf0\x3f\x4a\x6e\x35\x64\xa3\x00\x43\x6d\x51\xb0\x43\xf8\x8a\xa8\xca\x26\x57\x77\x77\x6e\x4a\x0a\x98\x63\x9c\x93\x4f\x1c\x9c\xeb\xa4\xe5\x77\x72\x0b\x80\x8d\x40\x37\x0d\xab\x4c\x51\x0a\x3f\x59\x94\x63\xd8\x0a\x51\xa1\xb7\x04\x2e\x01\xa6\x12\xcc\x23\x56\xd0\x8c\x0a\x0d\x54\x58\x81\x91\xdc\x29\xa6\x4b\x2d\x00\xcf\x33\x83\xb3\xad\x0d\x68\xcd\x4b\x52\x29\x33\xe3\x05\x6c\x29\xb2\x4b\xa7\x81\x57\x4c\xf8\x99\xda\x79\x52\xc3\x5d\x58\xad\x7a\x9c\xa1\x69\x16\x69\x15\x7f\x07\x07\xc8\xb1\xad\x2e\xe5\x7f\xa3\xb1\x00\xdf\xd7\x5c\xb3\x31\x46\x1b\xa4\x80\x14\x3f\xbe\xff\xf9\xbd\xcc\x12\xbe\xb2\x2f\xe7\x33\xfa\x05\x05\x59\x1b\x58\x85\x1d\x3c\x97\x6b\x6e\x58\x4b\xd2\xfa\x0a\xb9\xd4\x97\xf8\x3f\xa5\xb8\xb0\x74\x90\xc8\x4f\xa5\xf7\xde\x69\x2c\xfd\x2d\xa3\x19\xd8\x7d\xdc\xa7\xe9\xc8\xfb\xc3\x70\x34\x1c\xb3\xf1\x0e\x61\x86\xe2\xc1\x6c\x16\x25\x53\x19\x17\xfd\x9f\xd2\x38\xe9\x85\xb3\x67\xea\x77\xd6\x2f\xa6\x49\x2f\x8c\x92\x59\x14\xcb\xb9\xb6\x23\xd1\x99\x77\x8f\xd0\xdb\x2d\xe8\x7f\x47\x71\x57\x82\x1a\x6b\xf5\x6a\xf4\x76\x69\x9b\x86\xed\x7d\x2a\x10\x4f\x4b\xbf\x91\x9d\xce\xd3\xd2\x3a\x93\xe1\x82\xba\x1e\xf3\x42\x84\x65\xa9\x60\xad\xf5\x4b\x48\xa5\x9f\x8b\x30\x25\x7f\x16\x1a\x19\x94\xe7\x4f\xe1\x52\x1c\x06\x28\x72\x38\xe8\x11\x5b\xf4\x69\xa7\xa3\x55\xa3\x2b\x5b\x11\x38\xf0\x84\x56\x39\x01\x49\x72\x05\x02\xf7\x0f\x70\x85\x74\x16\xb6\x99\x4c\x82\x36\x3d\x73\x15\x35\x68\x2c\x26\xc1\x9f\x0d\x29\xa8\x2b\x7b\x61\x2d\xb0\x6a\x31\xa1\xb4\x8a\x6a\x0b\xca\xaa\xa4\x27\x3d\xbb\xe8\x2e\x32\x6a\xc7\xfb\x4a\xcf\xb5\xb8\xeb\xcf\xc2\xad\x01\x01\x61\x0e\x2a\x08\xb0\x7b\x20\x30\xd5\xfa\xcc\x51\x09\xe4\x4e\x27\xbe\x85\x07\xd0\x87\xa8\xcd\x4f\x01\x30\x89\x06\x4c\x02\x80\xa9\x66\x05\x16\xbb\x9a\x98\x38\x9c\xa9\xb9\x09\xcf\xe4\x34\x8c\xe4\xbd\xca\xd7\xb5\xbe\xc8\x03\x6a\x33\x6a\x07\x7e\x41\xcf\xb9\x68\x6c\x65\x76\xfd\xe4\x3b\x85\x08\x1a\x9a\xd0\x76\x8e\x7f\xbf\xff\xf9\x8d\xbf\xa1\x8a\xcf\xe7\x7e\xc6\xf2\x8d\xe0\x39\xfb\x85\xdd\xd8\x5b\x99\xd2\x9a\xc4\xc8\xa9\x3f\xcf\x18\x95\xec\x9d\x36\x0d\xb6\x42\x6f\xb2\x94\xcd\xe5\x1b\xb1\x60\x6e\x4e\xfd\x73\xb1\xd8\x22\x2c\x4d\x66\x20\x8a\x6e\x64\x41\xd3\xef\x33\xba\xba\x84\xc0\xb2\x7b\xad\x81\xb2\x1b\x25\xb7\x8a\xf7\x51\x78\xda\x19\xfa\x23\x3f\x1c\x3b\x3b\x9c\x52\x12\xcf\xf4\xd5\x18\x9e\xd3\x36\x86\x27\x35\xc2\x00\x8e\x76\x38\x37\x11\x6b\x16\x62\x0e\x1b\x71\x92\x2c\xdd\x9c\x22\x99\x6d\x6f\xe7\x54\xf5\xac\xfc\xf0\x32\x65\xea\x47\x5b\x92\xab\x6e\xe7\x28\x0e\x66\xe0\x99\xea\x97\xed\x86\xed\xe6\x54\xaa\xb3\x9a\xa2\xdb\xbd\x46\x5b\xc3\xd1\xd6\xd1\x3c\x24\x9a\xc8\x5e\x6f\x82\x58\x2c\x67\x20\xc2\xaf\xbd\x7b\xef\x92\xa5\xab\xa6\xc3\xe7\xe2\xfa\xee\xae\x7a\x3c\x9c\x68\xaf\x9c\xb8\x1d\xc2\xa6\xf3\x15\xe0\x4d\xbf\x5d\xe7\xbb\x1f\x7f\x73\x90\x9f\xcb\x6d\xca\x14\xed\xfa\x36\x13\x1b\x96\xc9\xad\xeb\x88\x0d\x9d\x27\x72\xeb\xe0\x00\x3b\x0e\x32\x03\x59\x1b\x32\x6a\x65\xe0\x53\x0e\x7f\x93\x09\x29\xd4\xba\xc7\x1b\x4a\x56\x54\xd5\xf4\x5c\xca\x2c\x39\x2f\x24\xc3\x57\x07\x49\x6f\xde\xe3\x85\xa9\xe1\xc5\xfb\xf7\xef\x55\xe3\xdf\xb1\x79\x4a\xf5\x91\x6a\xd5\x76\x49\xc9\x82\xda\xfd\x9a\xec\xd5\xb4\xb7\x57\x37\xb6\x40\x87\x63\xe9\xa9\xae\xe3\x83\xd6\x1b\xa5\xf4\x01\xd3\x2c\x87\x99\x2e\xd9\x6c\xfc\xa0\xd8\xe5\x61\x73\x6a\x3f\xed\x04\xf5\x69\x3e\x67\x7c\x91\xf0\x15\x61\x58\x50\x7f\xc1\xaa\xf7\x66\x8f\xcb\x3d\x76\x26\xa7\xbd\x30\x92\x67\x5c\xed\xef\x33\xc2\xa7\x41\xf4\x86\xbe\xd9\x61\xed\xbd\xa8\x0d\x25\xb5\x48\x00\xb5\x17\x18\x72\xa0\x86\xaf\x31\xa1\x91\x0f\x26\x4b\xd7\x38\x08\xcb\x40\x52\x88\x3a\x9d\xec\x8c\x64\xe8\x96\x91\xcc\x78\x93\xb1\xb3\xef\xe7\x65\x67\x99\xb6\x96\xd7\xb6\x4a\xf7\x56\x5d\xd3\xb2\x8a\x94\x2f\xd0\x63\x9b\x69\x29\x67\x35\x59\xa3\x37\xed\x7b\xe2\xff\x8f\x00\x93\x9d\xb1\xff\xd7\x80\xb1\x9a\x6c\x00\x86\xed\x87\x05\xdf\x0f\x29\x01\x7e\x66\x1e\x0d\x1d\xf0\x42\xd3\x84\x4e\x62\x43\xa7\xd8\xef\x38\x14\xd8\xcf\xed\xd6\xd3\x88\x33\x70\x62\x51\x90\x0c\x35\x81\x75\xd0\x92\x35\xe8\x64\x86\x13\xf4\xf8\x56\x5b\x4a\xde\xd7\x83\x52\x7c\x84\x8b\x19\x80\x2f\x2f\x2e\xdb\x61\x07\xf2\x55\x2b\x74\x82\xbe\xfb\x6a\x85\x9d\xe9\x13\x55\x53\x58\xb8\x8c\x78\xe0\x16\x41\xab\x12\x30\x1d\x1c\xe9\xc9\x41\x1e\xab\xcf\x74\x86\x29\xaa\xf3\x57\x17\xd1\xb0\xee\x19\x6d\xc7\x08\x09\x44\x04\xa9\x3a\x68\xae\x5e\xe8\x97\x3a\x29\x14\xe0\x0a\x90\x6d\x70\xb8\xd1\x98\x26\x1e\x61\x51\xaf\x97\x36\xfa\x69\x65\xb3\x3a\x2a\x66\x20\x1b\xa9\x8b\x94\xc7\xe9\x34\xe9\xa7\x25\xe7\x86\x2d\xdd\xf6\x56\xf2\xca\xb2\xfc\x40\x5d\xe9\x85\x38\x6b\x58\x7d\x23\x5c\x28\x08\x66\x3d\xd0\x97\x60\xbd\xda\xe9\xdb\xb4\xf0\x92\xae\xcb\xe3\x6c\xd6\x2b\x40\x9a\x0b\xf0\x59\x24\xad\x10\x4a\x2a\xab\xcf\x12\x44\xe9\x23\xe6\x10\xdc\x77\x16\x6e\x02\xe0\x49\x67\x6a\x56\x4a\x93\xcb\xe6\x44\x5a\x19\x2d\x00\xa5\x33\x9c\xa2\x66\xa1\x4a\x1b\xbf\x54\x47\xb7\x34\xff\x69\xa5\x61\xef\x8f\x90\x0d\xbf\x2b\x9a\x25\x94\x1f\x50\xf8\x66\xe6\x9b\xf3\x1e\xe0\x94\x04\x70\xb5\x8a\x73\xed\xbc\xf4\xa1\x01\xce\xed\xf9\x9f\xc3\x00\x5d\x05\x65\x81\x85\x47\x92\xbe\xe7\xe5\x38\xf5\x48\xd2\x75\x59\x4f\xa0\xe6\x90\xe7\xad\x6b\x62\x3e\xc3\x73\xf4\xa5\x6a\x4a\xe1\xc9\x59\x38\x4d\xfb\x6e\xde\x0b\x1b\xa3\x5d\xb0\xab\x04\xa8\x81\x43\xfb\x5d\x0b\x16\xed\x02\xe2\xea\x12\x6b\x6a\x49\x6a\x51\xc4\x77\xa0\x9c\xb1\xa5\x24\x71\x19\x9a\x54\xcc\xe3\x2b\xb6\x94\x64\xab\x26\x63\x29\x71\x95\x5a\x33\x97\xef\x92\xd5\x1a\x32\x64\xea\xa1\xce\x21\xb2\x56\xc7\x19\x00\xea\xca\x45\xb9\xa5\xc6\x9c\x59\x86\xf9\x86\x91\x53\x8c\x87\x46\x39\xeb\x62\xb9\xdc\xdb\x1b\x8a\xc2\x70\x93\xc3\x59\x03\xd3\x1d\x4b\xbd\x64\x00\xfe\x7f\x24\x09\x2c\xd9\x97\xf1\x36\xd7\x93\x13\x85\x5b\x9a\xfe\x5e\xbb\x49\xaf\x77\x17\x80\x56\x4a\xe2\xc9\x19\xd6\x3f\xea\x18\xd3\x6f\xea\x87\x64\xf5\x4d\xa0\xea\xdf\x86\x65\x97\x87\xe4\x56\xed\xb3\xd1\x52\xa9\xaa\x89\x58\x85\xe7\x14\x11\x9b\xe9\x38\x30\x32\x66\xb3\x59\x13\x93\x6d\x68\x92\xe5\xed\x74\xb1\xf1\x7b\x65\x5d\x67\xd7\x37\xd9\x55\x0b\xc1\x59\x36\x0d\xa2\x0c\x4d\xb2\x33\x66\x7c\x42\xc6\x12\x9c\xf8\xf0\xd8\xf3\xac\xe6\x12\x68\x0e\x64\x1a\x1b\x91\x37\x2f\x5e\x20\xe4\x58\xad\xa6\x81\x8c\xc2\x4a\x5c\xab\x4e\x19\x37\x9e\xa5\x27\x49\x4c\xd1\xfe\x38\xcd\x45\xba\xe5\xa3\xd5\x58\x36\x02\xfd\x5e\xe5\x2c\x10\x9c\x53\xc5\x04\x89\x38\x99\xc1\xc9\x68\xd1\xf6\x1a\x26\x9f\x93\x4d\x9b\x0d\x8a\xd5\x7b\xb7\x5e\xea\x50\xe2\x82\x6d\x9b\x40\x2c\xdd\x41\xd7\xbe\x9a\x75\x80\x2c\x59\x1a\x8c\x5a\x5c\x33\xec\xa6\xb4\x60\x5f\x55\x03\xb7\x83\x65\xe9\x4a\x18\x97\x59\xf2\x75\xb5\xdc\x5e\xb0\x6d\xa4\xf8\x83\xb4\x60\x91\xaa\x72\xb7\x57\x27\x38\x8c\xbd\x6f\x79\x00\x99\x67\xe9\xd6\x00\x4d\x13\x94\xf0\xa5\x1e\x40\xd7\x36\xb9\xb2\xf9\x2b\x8a\x26\xbd\x5e\x01\x7e\xd3\xd4\x27\x4d\xc4\x61\x59\x5b\xa2\xf6\x7a\x52\xfb\xf8\x8d\x7b\x3d\x3a\x83\x79\xac\x59\x30\xc0\x23\xaf\x8d\xbd\x1a\x3d\xcf\x27\xe2\xd0\x0a\x4a\xef\xdf\x64\xe9\xb6\x5a\xde\x31\x12\x1e\x9a\xe4\xe9\x30\x35\x1c\x73\xb5\x95\x31\x98\xfc\xf4\x19\x21\x24\xec\x07\x48\xae\x33\x71\x0d\xac\xf8\xcb\x2c\x13\x99\xeb\x24\x7c\x09\x02\xb9\x27\xda\x66\x15\x95\x01\x7e\xb5\x03\x28\xe1\xbe\xa6\x2e\x43\xa8\x22\x52\x78\x97\x24\x58\xaa\x3f\x4c\xfd\x09\xce\xb4\xc6\xce\x44\x0d\xdd\x63\x5d\xcf\xa3\xe8\x4c\x56\x1a\xaa\x59\xbf\x71\xb4\x59\x99\x9e\xed\x65\x2a\xc5\x5b\x86\x20\xdf\xb4\x9e\xee\xda\xec\x57\xf5\xe2\x49\xc2\x73\xa9\x30\xb7\x58\x3e\x99\xa3\x16\x69\x36\x94\x02\x56\xd4\x84\x09\x98\x94\x31\x70\x61\xe2\xfc\x24\x37\xe1\x2e\x8d\x1b\xc3\xc7\xd3\xfa\x36\x51\xad\x1b\x28\x80\x94\x6e\x1e\x68\xd6\xe7\xea\x40\x33\xab\xa3\x00\x8c\x5d\x65\xae\xae\x18\xb8\xc9\x4f\xb5\xeb\xab\xbd\x65\x72\x43\x89\xf3\xf1\x23\xb0\xb4\x1f\x3f\x3a\xf8\x9c\x12\xe7\xc3\x4d\x10\x38\x93\xd4\x9d\xe3\xdb\x35\xcd\xa3\x35\x5e\x31\x19\xb5\x1c\x25\xfa\x42\x2d\xce\xc1\x63\x2d\xce\x1b\x99\x6c\xff\xcb\x56\x36\x22\x77\x58\xc7\xbb\x8e\x56\x58\xe1\x85\x68\xa3\xf7\x57\x1e\x1d\x9c\xa3\x36\x82\x83\x88\x78\x50\x0f\x32\x2a\x4e\xa6\x56\x69\x79\x5f\xd9\x61\xb3\xc9\xbf\xb6\x2e\xd8\xe8\x60\xe6\xa5\xf7\x7a\x55\xf7\xce\xae\x3c\x4f\x3e\xb3\xe8\x0a\xb3\xcb\x8d\xdc\x46\x0b\x6c\x96\x46\xd4\xba\xfd\x1b\x6d\xd4\x3c\xb8\x36\x25\xab\x7a\xbe\xdb\x81\xd3\x5f\xce\xf2\x86\x8c\xac\x96\xc5\x1b\xad\x37\xb5\x4d\xc5\x59\xed\x6b\xbb\xc4\xc7\x53\x73\xa7\x52\x60\x8a\x22\x36\xad\x48\xb3\x88\x4e\x6a\x63\x0d\x73\x1f\xa1\x56\xe1\xa6\x76\xfd\x7e\x45\x92\x58\x78\xde\x0c\x2f\xcc\xea\xf7\xbc\xd5\xb3\xcd\x04\xb9\x6b\xb2\x80\x0b\xfb\x94\x5c\xb9\x39\xa1\xf1\x6a\xa6\xa8\xe7\xb5\x06\x54\x8e\xa2\x05\xac\xa5\x14\xc7\xb9\x85\x61\xa7\x6e\x4e\xa4\x8b\xf0\x92\x34\xaf\x7d\xf2\xd2\x13\x80\x22\x2f\xc0\x88\x04\x45\x6e\x4e\x6e\x77\x87\x39\xe1\x0c\x36\xd9\x76\x08\x2f\xea\xad\x87\xb0\x75\x61\x2f\x2b\xff\x1e\xec\x10\x20\xdc\x78\xe6\x00\xb5\x32\x1a\x33\xcf\xab\xc3\x56\xb4\x6d\xe5\x02\xdd\x66\xd6\x0a\xe0\xe5\x52\x54\x5b\x8f\xa1\x9d\xea\x47\x31\xcd\x34\x54\x5b\x97\x76\xe1\x72\x6d\x29\xa1\xfe\xaa\xc1\x69\xa3\x47\x8d\xfb\x6f\x77\xa5\xa6\x59\x1d\x3d\xa3\x68\xe2\xa0\x86\xed\x18\x44\xf0\x09\xd0\x0e\x17\x87\x87\x55\x9d\x4d\xba\xdc\xd5\xa8\x0c\x33\x1c\x20\x53\xe0\x82\xb5\x2a\xa3\x24\x95\xeb\xf6\x42\xe5\x52\x03\xf9\x69\xff\x30\x2e\x89\xfd\x38\xa9\x8d\x2c\x09\xaf\x0b\xfc\x76\x78\xfa\x96\x18\xa4\xcc\x96\x89\x34\x2d\x5a\xfd\xad\x65\x26\x8b\x26\x22\x99\x6c\x39\x7e\xd5\xf2\xbb\x04\xe4\x8b\x6a\x7a\xcd\x26\xad\x80\x78\xf2\x3c\x86\xa4\x4f\x17\x8b\x83\xb3\x3d\x75\x2f\x4b\x3c\x45\x17\x8b\x87\xf1\x94\x47\x1c\x07\xcd\xc8\xd3\x00\x73\x0b\x0f\x99\x59\xdf\xfc\xb7\x76\x78\xb9\xaf\xcf\xd9\x9a\x5e\x25\x02\x62\x81\x56\x1e\xd6\xee\x23\x51\x71\x46\x14\x09\xb9\x7f\x2c\x94\x7a\xc1\x3c\x66\xf5\xb7\x38\x9b\xcd\xc8\x6b\x38\xc3\x1b\x61\x41\x0d\x07\xf1\x91\x92\xd8\xb9\x66\xe7\x17\x89\x74\xb0\x73\x99\xab\x3f\xe2\xb3\x83\x9d\xd7\xf0\x57\x38\xd8\xf9\xd9\x99\x29\xa2\x60\x91\xe4\x1b\x2a\xe7\xeb\x06\xf6\x31\x3d\xe2\x30\x33\x1f\xb1\x21\x2e\x5b\x3a\x06\x24\x25\x8f\xeb\x6e\xc9\xd9\x8c\x5c\x5b\xd1\x54\xf8\x0e\x7f\xac\xa5\xa5\xbe\x68\x95\x0a\x10\x5e\x59\x8e\x3a\xbe\x83\xc0\xe8\x61\xa2\xf7\x77\x00\xca\x23\xa5\xc5\x08\xdc\xfe\xd4\x2e\x20\x03\xac\xe8\x87\x2a\xd0\x60\x8b\x4b\x1f\xa3\x2a\xe2\x83\x03\x90\xc8\x7e\x33\xee\xd3\x06\xad\x52\x25\x23\xdf\x21\x44\xc2\x82\xe4\xe5\x4c\x23\x98\xee\x35\xcd\x7f\xbe\xe6\x95\x1c\x9a\xa3\x4e\xa7\x51\x73\x23\xfc\xba\xfa\xb2\xd3\xe4\xe7\x15\xe8\x4b\x14\x69\xaa\x97\xc2\xa7\x42\xb4\xeb\x57\x71\x3f\x63\x9b\x94\xce\x99\x7b\x4d\xb1\xf3\xe1\xc3\x37\x1d\x07\xe9\x69\xbd\xa6\xa4\x1f\x7f\xf8\xf0\xe1\x7f\x3e\x7c\xf3\xa1\xfb\xc1\xfb\x30\xfd\x70\xf7\x21\xfe\x30\xfb\xe0\x7e\x40\x1f\xfc\x0f\xb7\x1f\x76\xb3\xfe\x0a\xbf\xa7\xe4\x76\xe7\x57\x07\xfa\xb4\x09\x70\x5e\x7f\x21\x72\x17\xdd\xb3\x14\x75\xf8\x59\x5e\x86\xc1\xdc\xe1\x0b\xda\x2e\x15\x96\xfe\xa7\x82\x65\xdb\xf7\x70\x29\xa2\x40\x85\x76\xf8\xcd\xe3\xf2\x3e\x37\x37\x19\x2f\xf7\xb3\x97\x6b\xe2\x52\xad\x4b\x96\xdf\xdd\xf1\xf8\xc6\xe5\xd8\x31\xef\x65\x79\x07\x95\x38\xd5\x3d\xa8\xa2\x52\x82\x37\xf4\x91\x22\xd3\xf4\xcf\xa4\x45\xef\xe6\x7d\xf2\xf9\x73\xca\x3a\x1d\xf7\xbe\x51\xea\x0c\xda\x63\x21\x84\x74\x2a\xd2\x14\xc6\xa9\x3f\xa8\x21\xe8\x27\x7f\xaf\x8f\x48\x23\x3d\xf5\xb2\x27\x28\xa8\x99\x26\xfd\xb9\xe5\xca\xc6\x4c\xfa\x73\x4a\xec\x4a\xea\xdd\xa4\x0e\x95\xe7\xe5\x97\x43\xb4\x6a\xa9\x3a\x4f\x38\x79\x6e\x9b\x36\x18\xa7\x36\xb0\x9a\x9b\x7e\x6d\x6e\x4b\x63\x03\x12\xcf\x10\x2e\x9d\x2c\xbf\x11\x0b\x06\x12\x4b\xb5\xcc\xe9\x0c\x59\xc9\x35\x99\xa1\xea\x9c\xdb\x8e\x72\xd2\x67\x73\x1d\xbf\x37\x4e\x67\x68\xea\x96\xac\x1d\xe1\x25\xc9\x52\xd4\x7a\x16\xda\x0a\x82\x75\x3a\x4e\x99\xe4\x24\xfc\x09\xf8\x11\xae\x32\x91\x3a\x3f\x42\x51\xc9\xe7\xa9\xcd\x56\xca\x96\x5f\xba\x09\xda\xe1\x0a\x26\xcf\xd3\xb4\x1d\x2c\x1a\x24\x2f\x6c\x90\x18\x1a\xbd\x09\x12\x20\xb5\x6b\xa0\xc1\xf0\x8b\x59\x25\xb5\xdc\xb3\xdf\x31\x5a\xe0\x5a\xb9\xcd\x40\x71\x0e\x37\x99\x6a\xb8\x10\x58\xa1\x1c\xae\xc0\x05\x42\x7b\xf0\xad\x79\xde\x97\x6e\x66\xe6\xfe\x05\x25\xce\x5a\xca\x4d\xd4\xef\x5f\x5f\x5f\xfb\xd7\x43\x5f\x64\xab\x7e\x78\x7a\x7a\xda\xbf\x59\xcb\xcb\xd4\xc1\x9f\x29\xb9\xcd\xaf\x56\x51\x4b\xb6\x41\x10\x04\xfd\xfc\x6a\xe5\x60\xc8\x1b\xbd\xa0\xf8\x26\x4d\xf8\x45\x5b\x5e\x5d\xa5\xfa\xea\xe0\x9b\xcb\xb4\x2d\xcb\x1f\xaf\x5f\xa9\x6c\x27\xfd\x4a\x9d\x0d\xb2\xf2\xfc\xde\xb6\xe1\x6b\xdf\xd9\xa9\x73\x86\xe7\xe4\x76\x03\xfe\x26\xa3\xcf\x14\x7f\x2a\x68\x9a\x2c\xb7\x51\x0b\x2d\x50\x1f\x05\x91\x83\x30\x23\xb5\xeb\x6c\x38\x0d\x1c\xa8\xd4\x79\x4a\x08\xac\xa4\xf2\x20\x00\x35\x22\xcb\x3b\xb0\xf4\x42\x84\xf0\x67\xba\x8f\xac\x19\x9a\xde\x42\xdf\xa3\xcf\x34\x66\x33\x9c\x8a\x39\x4d\x23\xbe\x8b\xf8\x0e\x16\x0e\x95\x32\xdb\xc3\x01\x6d\x0c\xf2\x00\x92\x9d\x1c\x74\x47\xac\x0b\xf5\xca\x2d\xa4\x5a\x46\x5c\x2c\xac\x9b\x63\x90\x0a\xf2\xdc\x37\x43\x87\x60\x57\x3e\x34\x3f\x65\x8a\xdc\xb6\x2e\xff\x5c\xee\x43\x1f\xcb\x0c\x28\x6a\xe6\x80\x6b\x6e\x91\xb9\xd2\xc8\x2a\x54\x63\x4c\x11\xb6\x9f\x5d\x89\xc1\x66\xb3\x79\xfc\xd8\x44\x90\xc9\xa7\x8d\x19\xd5\x88\xe7\x29\xcd\x73\xb6\x4f\x94\xfc\xff\x38\x68\x9c\x11\x97\x93\x5f\x14\x0f\x5c\xb2\x1b\x85\x61\xf3\x25\x61\xba\xcd\x57\x49\x2e\xad\xeb\xad\x0c\xae\x55\x9e\x4a\x7f\x2e\xb8\xa4\x09\xcf\x5d\x60\x7d\xcd\xe1\xfe\x34\xac\xd9\x5a\x55\x43\x03\x1c\x0e\xd4\xe7\x20\xbb\x9e\x4f\xba\xb8\x2f\x59\x0e\xea\x2c\x65\x35\x06\x30\x4f\x83\x76\x08\xbe\x7b\x24\x04\xdf\x59\x10\x84\xab\xe9\x86\xf7\xc1\x5a\x07\xf4\x80\x66\x4a\x96\xee\xf0\xac\x68\x40\xf2\xa9\x05\xc9\x81\xf6\x9d\xae\x88\x54\x40\x4d\xd9\x7e\x07\xdf\x2a\x02\x23\xce\x66\x8a\xf4\x69\x74\x51\x11\x33\x67\x95\x13\x85\x96\x05\x28\xdd\x04\x29\xb8\xbd\x10\x97\x9b\x42\xb2\x05\x5c\x6a\xbb\x89\x26\x57\xd4\x87\x72\x93\x00\xb9\xaf\xd6\x98\xa2\xc3\x0e\x87\xfe\xd6\x8c\x50\x0f\x7e\xd3\x76\xf3\xfc\x95\xeb\xc7\x6e\x42\xf7\x39\xe6\x9a\x5b\x3f\x98\x9f\x5f\x1f\x39\x3f\xbf\x5a\xf3\x23\xd9\x4d\xab\x97\xeb\x03\x1d\xa6\xba\x78\xab\x3a\xfb\x63\xb5\xbf\x27\x87\x4a\xb2\x9a\x98\x9c\x3a\x4e\x24\x77\x51\xa9\x97\xf3\x90\x5a\xad\xe3\xec\xa2\x87\xd5\x6e\x35\x39\x6b\xe0\x65\x7f\x83\x31\x2b\x84\xff\xff\x7e\xcc\xe0\xa0\xe4\x5f\xbf\xbc\x7e\xf5\xc8\x11\xd7\xf9\xdb\xc6\x6b\xd5\xb6\x37\xda\xea\x8b\xc6\xd9\x9b\x0d\x6b\x77\x11\xce\xc9\xdf\x10\x34\x10\x82\xcd\x6a\x32\xeb\x90\x04\x83\xaf\xba\x8e\x17\xeb\x24\x5d\xb8\xf7\x0c\x11\xed\xf4\x72\x4a\x78\xde\x74\x9b\x6e\x2b\x49\x98\x06\xc9\xf3\x4a\xcc\xf3\x70\xbb\xba\xb2\x7f\xb2\xa5\xc8\xd8\x7d\x0d\x63\xd9\x9e\xae\xe9\xd0\xb2\x5b\x9a\x97\x6d\x21\x31\xeb\x19\xfe\x5e\xe7\x54\x34\xc8\xfd\x4a\x78\xb5\x3a\xa3\x8e\x71\x54\x0b\xb0\x97\x95\x6f\x27\x3b\xa4\x12\xc5\x4b\x84\x57\x96\xe0\x7a\x89\xf0\xa6\xf9\x7a\xd5\x14\x6b\xab\x43\x40\x37\xb1\xc0\x97\x5a\xf6\x84\xb7\xcd\x2c\x5a\xe2\x0d\x26\x70\xd9\x33\x0a\x54\xa4\x42\x7a\xea\x8c\xbf\x04\xcf\x8b\x8b\xf2\xf6\xbc\x41\x45\x66\x08\x4d\xaf\xe2\x6c\x46\x8a\xe8\x12\xe4\x4e\x0b\x5c\x20\xbc\x55\x29\x8b\xbd\x4a\x97\x50\xe9\x25\x08\xba\xaa\xca\x18\xc4\x3f\xca\xc0\xcf\x34\x9a\x16\x4f\x09\x79\xaa\x18\xd0\x15\x54\x69\x35\x44\x12\x14\x81\x62\xee\xbf\xdc\x04\xe1\xb2\xa9\xa7\xc1\x61\xc7\x01\x7f\x6f\x3b\x1d\xdd\x90\xea\x09\x2a\x6b\x85\x8e\xc2\xa8\x6a\x05\x83\xaa\xe8\x7a\x82\x0a\x63\x07\xac\x7b\x54\x4c\x5d\xbb\x7d\xac\xfb\x64\x75\x43\x07\xd6\x5b\x9e\x81\xa1\x2d\x32\xc9\xaa\xa8\xf9\x42\xcd\x97\xaa\xd9\xdd\xc6\x2f\x36\x0b\x2a\x19\x59\xe1\x8d\x4d\x88\xae\xec\x97\x2b\xfb\x85\x5b\x2f\xa5\x79\xee\xa6\x32\xba\x5e\x21\x6c\xfc\xb9\x5c\x69\x3d\x37\x4b\x93\xc3\xa6\xab\x5b\xfd\x70\xc2\xf0\xb9\xbd\x0a\x2a\x86\x23\x98\xd5\x0e\x75\x8d\x0e\x05\x70\x15\x5a\x67\x83\xc7\xc9\xcc\xe6\x0c\x6a\xc9\x03\xa8\xda\x91\xbf\x5c\xc5\xc9\xa4\xe4\x25\xfc\xe6\xfa\x57\xf5\xa1\x0d\xdf\x21\x5b\x51\x83\x95\x1d\x48\x66\xd8\x10\xf1\x19\xce\x2c\x10\x58\xaa\xfd\x7b\x97\xce\x87\xe5\xab\x7e\xa5\x3e\xe3\x92\x65\xed\x0e\xe5\x52\x9f\xdd\x24\x6d\xda\x92\xf9\x0e\xa7\xe5\xe6\x6d\xe8\x7e\x7c\x01\xb3\x6f\x2a\x6d\xb9\x8a\xaf\xc2\xdc\x20\xd3\x96\x6f\x1a\x41\x68\x57\x7a\xf7\x71\x94\x8a\x79\x6a\xf1\x92\xac\xcd\x45\x7e\x56\x24\x9f\x15\x3d\x36\xd8\x9b\x7b\x7a\x96\x4c\x12\xcf\x43\xb7\xc5\xfd\x7c\x26\x2b\xa1\xd6\xca\x67\x6a\xd5\x81\x12\x13\x4d\xd2\x33\x31\x11\x9e\x87\xdc\x8c\x30\xcd\x7c\x59\x53\x65\xf1\x5b\x09\xea\x74\x64\x65\x66\x50\x31\x5a\x85\x1e\xb1\xc8\x16\xcd\x29\xa9\x45\x60\xbd\x10\xcb\x3d\xb6\x90\x3f\x93\x35\x5b\xa8\xd8\xc9\xd2\x22\xa9\xa8\xd8\x5f\x1d\x76\x38\x2e\x66\xd5\x25\x9e\xcb\x74\xc4\xe1\x4e\xc7\x4d\x3a\x9d\xe4\x29\x21\xcc\xe7\xec\x46\xbe\x4f\xce\xd3\x84\xaf\x3a\x9d\xc4\x5e\x59\x8d\x73\x81\xe1\x04\x29\x3c\xd0\xa4\x79\x80\xf4\x14\x7b\x01\x3c\x38\xf9\xf1\x9e\x03\x7a\xef\xa6\xb8\x39\x22\x90\xe3\xc1\x28\xe4\x4c\x0b\xbb\x79\xa3\x31\x0d\x20\x57\x03\x4b\x9d\x25\x6d\x2b\xf0\x4f\x23\xff\xb4\x44\xdb\x10\x82\xdb\xc8\x46\xb1\xac\xe7\x03\x5c\x53\x1b\xfe\x83\xb6\x71\xe9\x8a\x71\x6e\x51\x97\x28\xc7\x06\x76\xf7\x60\xd1\xa5\x4f\x59\xdd\xaf\xcb\x8d\x6c\xd1\x26\x7e\x6a\x51\x0e\x90\x4f\x3d\xb6\xcf\x75\xb0\x37\xd5\xf2\x8c\x4f\xb8\xe5\x22\x9d\x55\x33\xad\xe3\xf6\x54\xab\xb0\x38\xcb\x26\x99\x5a\xd6\x7a\xd5\x2b\xb4\x0b\xce\xd7\x51\x75\xb9\x6f\x59\x45\xe9\x99\x4b\x3e\x1f\x78\x92\xe7\x75\xa4\xcd\x7d\x58\xa2\x5b\xcf\xe3\x3b\x84\x8d\x7c\xf7\x15\xdc\x28\x34\xc4\x42\x1a\xab\xfc\x85\x0f\x13\x2d\x89\xd1\x2b\x8a\x5f\x55\x04\x53\x45\x3a\xa9\x34\x0d\xbc\x12\x8a\x2a\x05\xc0\x64\xc0\xa5\xde\x61\xa2\xcc\x84\xa9\x77\x18\x81\x19\x09\xbc\x1f\xca\xa1\x0e\xcc\xee\x4b\xed\x26\x90\x9f\x34\x97\x20\x88\x50\x6e\x33\xe2\x16\x1a\xc8\x62\x86\xcc\xf9\x54\x79\xba\x38\xc4\x15\x45\x1b\x86\x30\x4a\x45\x56\x90\xba\xf9\xb3\x7c\x82\xdc\x84\x14\xf1\xdc\x92\x44\x65\xf1\x7c\x46\x6a\x71\x94\x7d\xb6\x25\xf5\x52\x9d\x63\x81\x90\x25\xbb\x21\xf5\xb7\xfb\x84\x50\x14\xed\x14\x40\x1e\x22\x14\xef\xb9\x59\xff\x0d\xa6\x1d\xa1\x9a\xce\x6c\xaa\xef\x1a\x55\x9c\x3d\x48\x97\x32\xd3\xd2\x30\x66\x9f\xc3\x92\x53\x97\x91\xf8\x82\xba\x12\xe7\x14\xcd\x30\xb3\x41\xd8\x22\x77\x8c\x54\x76\xb9\x97\x4f\x35\x83\xf0\x4b\x37\x66\x33\xbb\x17\xad\x32\xb6\xfb\x3a\xc2\xa7\x5a\x24\xf6\x86\xba\x5c\x75\x65\x6f\x36\x5b\xbb\xa2\x65\x68\x7b\x39\x01\xe0\xaa\x33\x72\x66\x10\x38\x6f\xd1\x98\xce\x9e\x64\xf7\x30\xe0\xd9\x03\x0c\x78\x06\x33\xf1\x34\x34\x6e\x5b\xf6\x39\xd0\x3f\x5c\x06\x4e\x2d\x15\x7b\x79\xc8\x80\x67\x66\xc7\x9b\xa3\xbf\x64\x67\x9d\x8f\x1f\x05\x77\x3c\x30\x86\xcd\xfc\x8f\x13\x46\x9e\x86\x87\x4c\xeb\x1f\xa6\xeb\x46\xf8\xf7\x09\x04\xbf\x97\x74\xe3\xde\x5e\x8a\x22\x67\xb0\x99\x23\x07\x9e\xc5\x15\xcb\x1c\x0c\x8f\x29\xa3\x57\xac\x4c\x2e\xa4\xb3\x43\x93\x9c\x76\x3a\x9f\x68\xcb\x7d\x27\xba\x75\xa0\x1f\x6a\x50\x26\x93\xe6\x1b\x14\xbb\xaf\x15\x34\x7e\xa1\xf8\x1d\x25\x81\x42\x2e\x50\x65\x1b\xa6\xff\xb7\xcb\xf1\x85\x5b\xf6\xf3\x3b\x73\xc4\x73\x7a\x95\xac\xa8\x14\x59\xa7\xd3\xff\x9d\x9d\xff\x94\xc8\xbe\x11\xbf\x34\xbe\xfa\x45\xce\xb2\xe7\x2b\x35\xbb\xd3\x5e\x18\x41\x4b\x52\x14\x8d\x33\xe5\x4b\xaa\x29\x12\x4b\x72\xe1\x22\x7f\xbe\xa6\x7c\xc5\x16\xbf\xa8\xe2\x4c\x71\x4a\xb6\x93\x17\xd0\x85\xad\xbc\x49\x25\x67\xc5\xc4\xf3\x0a\x94\x2c\x21\x62\x88\x0e\xfe\xbf\x60\x5c\x26\xcb\x84\x65\x84\x10\x86\xac\xd1\x65\x7a\x8d\x97\xf7\x77\xfe\x22\xa3\xab\x7b\x2e\xe8\x0d\xb7\x2a\xb8\xab\xe7\x60\x21\xae\x39\xe4\x77\x70\x82\x20\x19\x46\xa7\xad\x27\x75\xba\x6d\x94\xca\x8c\xb5\x6b\x82\x69\x9b\x45\x75\x95\x4f\x94\x87\x04\x08\xb0\xa5\xbb\xc6\x57\x68\x92\x01\xd1\x95\xc5\xc1\xac\xf7\x5a\x07\xca\xcb\xe2\x50\x3d\x87\x33\xbc\xb9\x23\xfc\x8e\xe1\xd7\x24\xc3\x2b\xf7\x56\xad\xf0\xc8\xd1\xcd\xdf\x44\xe0\xb1\x66\xae\x4a\x6c\x23\xf0\x51\x33\x57\x25\x16\x37\x11\xc7\x8b\x6d\xc4\x1a\xa6\xc1\xa9\x1a\x21\x34\x07\xdc\x97\xe0\x6e\xe2\x2d\x8c\xd4\x48\x70\x97\x96\x2f\x78\xab\x78\x81\x46\x53\x8c\x2f\x9c\x9d\x89\x25\x31\xc7\xb9\x3e\xb2\x97\xa4\xbc\x0c\xf3\x75\x7c\x6c\x7f\x2e\x32\x6d\x24\xb3\x48\xf8\xca\xec\xfc\xbb\xbb\xbd\x5c\x78\x4d\x72\x1b\x45\xaf\x48\xe6\x8b\xa5\xdb\x60\x94\x75\xc4\x5a\x0e\xfe\x2a\x1c\x0d\x6b\xcf\xdc\xe4\x5d\x4d\x1d\x27\x72\x7a\x8e\x77\x85\xf0\x65\x7d\xa1\xe2\x32\x77\x89\x50\x39\x28\x51\x8d\x48\x0d\x87\xfc\xae\x98\xd7\xd7\x25\xac\x8b\xa9\x3b\x27\x85\xa1\x40\x1a\xcd\xce\x49\x3c\xf7\x6f\xf4\x0c\xcc\xfd\x2d\x80\x7f\x86\xa2\x39\x89\x03\x1c\xcc\x9a\x20\x81\x65\xe0\xec\xd0\x4e\x73\x48\xe4\x8d\xcb\xb1\x99\x16\xeb\x3b\xae\xc0\x87\x4a\x4b\xcd\x84\x30\xf7\x1c\x97\xbb\x12\x4b\xac\x57\x9b\xda\xbc\x8e\x79\x2e\x36\x0e\x78\x60\x76\x7f\xc0\xe5\x9e\xc2\x5b\xac\x97\x9f\xc9\x07\xcf\x50\x6f\x4d\x53\x89\x2c\x59\x3d\xd6\xca\xaf\x20\x10\x31\xa2\xb0\xae\xb3\xd5\x6e\xc1\x0a\xad\xe8\x2d\xa3\x5b\xd8\x37\x51\x7b\xf8\xd8\x53\x5b\x59\x56\x7b\x78\x3a\xa7\xae\x3c\x0c\xae\xae\x09\xb0\x7f\xeb\xc8\x57\xd5\x05\x9f\xb5\x85\xa5\xf5\x82\xd9\x0e\x45\xf1\x4c\x23\xa8\xb7\x94\x84\xac\x37\xc6\xbf\x52\xf2\x96\x76\xdf\x52\xfc\xb7\x51\x8c\x7b\xfb\x23\xfe\x9e\x92\x41\xf7\x6f\x8a\xff\x45\xc9\xf7\xb4\xf7\x96\xe2\x9f\x29\xf9\x9b\xf6\x07\xf8\x47\xf8\x0d\x4f\x02\xfc\x27\x25\xe1\x49\xd0\xff\x9b\xe2\xbf\x4c\xb9\xf7\xff\x79\xf7\xcb\x00\xff\x46\xc9\x00\xff\x41\xc9\x91\xc2\x60\x96\xcf\x8c\xbf\x84\xb8\x47\x3b\xff\xc0\xd5\x11\x8f\x07\xda\xb1\x1d\x84\xf8\x91\x3a\xc4\x8f\x54\x89\x39\x11\xbd\x02\x2f\x49\xda\x4b\xd4\xca\xef\xe6\xde\xb2\xbb\x54\x87\xd7\xaf\xf4\x6c\x8d\x8c\xee\x79\x2a\x56\xee\xbc\x4f\x51\xff\x2f\x8a\xdb\x10\x75\x5c\x78\xbc\x9b\xe3\xc4\xe3\xdd\x25\xa6\xda\xdb\x04\xbb\xd9\xb8\x7f\xd1\x2e\xef\x66\x68\xb6\x03\xa6\x55\xdb\x4b\x59\x3e\x23\xd6\x6a\x27\xb9\xf3\xee\xbc\x47\xbb\xd4\xfb\x83\x76\xd7\x10\x29\x97\x76\x7f\xa3\xdd\x15\xc2\x57\xd5\xb7\x5e\xf5\x6d\x6e\xbe\x2d\xea\x8e\xd5\xf5\x6d\xba\x1b\x2f\x44\xbd\x8d\xda\x79\x2d\x9f\xaf\xba\x57\xea\xb3\x42\x67\xc4\xbd\xec\x2d\x5a\x86\x63\x64\x8f\xdd\x4c\x61\x38\xee\x2e\x10\x16\x84\xf6\x5d\x68\xb3\xeb\xb2\x6e\xc1\xd5\x98\xa4\xb7\x40\x3d\xa6\x3e\x97\x0b\x24\x2e\x3c\x01\x00\x10\x00\x00\xd6\xcf\xaa\x8c\xb3\x9d\xe5\x4a\xdb\x98\x4a\x93\x90\x0d\x55\x1b\x4d\xdc\xff\xb9\x31\x9f\x0d\xdc\x0f\x91\x9b\x05\x77\x5f\xe1\x25\xa0\x8e\x7f\x52\xcf\x81\xfc\x0e\x5e\x69\xdc\xbf\x38\x4f\xe7\x69\x32\xbf\x30\xa9\x1b\x48\x7d\x87\xd7\xcd\x13\xa0\x9a\x30\x70\x66\xd9\xbb\xf0\x6f\x50\xff\xc2\xbf\xc0\x3a\xb6\xfc\x85\xbf\x85\xd7\x46\xc4\x14\xcb\x69\x49\x1c\xcc\xba\x17\xfe\x85\x77\xe1\xdf\x40\x7c\x52\xf3\xb2\x6d\xf8\x6c\xe7\xe8\xf6\xc2\xbf\xa8\x43\x16\x3d\x57\x6b\xae\x92\xe2\x3d\x57\x4b\xaf\xe1\xcf\xc9\xf8\xf9\x92\x24\x73\x25\xc2\x17\xfe\x8d\x67\x79\x66\xbe\xf0\xb7\x5e\xed\x9c\xb9\x11\x13\x0c\x48\x7d\x8a\x6e\x15\xb7\x37\x5f\xd3\x4c\x7e\xfc\x48\x6e\x6f\xa2\x0b\x88\x41\x7b\xe1\x6f\xf1\x45\x74\xe1\x5f\xec\x70\xe1\x56\x61\x67\x06\x70\xf9\x9b\xb8\x0b\xa2\xf8\x42\x2c\x2d\xf4\x2c\x11\x7e\x71\x16\x00\x92\x90\x7e\xed\x36\xc2\x45\xd5\x9c\xb9\x2f\x80\x8c\xd4\x17\xfd\xfa\xc4\xb0\x03\x1e\xb8\xe8\xf6\xbc\xd3\x39\x2f\x0d\x63\x6f\xca\x58\xaf\xf7\x18\x5a\xbb\xbc\x02\xfe\x4e\xe7\xb9\x31\x36\xd1\x08\xe1\xeb\x4e\xe7\xba\xac\xe8\xe3\x63\x2a\xda\xda\x15\x7d\xac\x2a\xb2\xcf\x56\x8e\x6e\x3f\x7b\xde\xdd\x1d\x2f\x0f\x09\xb5\x4e\xaa\x43\xa2\xca\x38\x57\x19\x85\x8b\x70\x23\x9f\x83\x21\x78\x9e\x02\x28\xae\xac\xe1\xa3\x58\xc1\x1a\xa6\xdf\xaa\x20\x57\x15\xf4\x7a\x9f\xef\xee\xdc\x46\x15\xfa\x88\xc6\x0b\x4d\x52\x5b\x1e\xc9\xf7\x89\x1c\x41\x42\x9c\xb8\xe5\xf9\xe3\x16\x3a\x3e\x86\x6b\x93\x32\x99\x2a\xa3\xd6\xf7\xa7\x9a\x3c\xf8\xc5\x10\x07\x2b\x57\x20\x9c\xab\xec\xfa\x62\x4c\x8b\x27\xc8\x77\xea\x0c\x2f\xec\xc3\x54\x90\x40\x93\x08\xe5\x0a\x70\x0b\x7d\x40\x7f\xc2\xdc\xd4\x98\x21\xbc\x26\xcc\xee\x0b\xc2\x2b\xf2\xbb\x5b\xa0\xc9\x8f\xa9\xe1\xe6\x10\x4e\x1b\x7d\x5b\xef\x8f\xa7\xb2\xd4\x30\x07\x8f\xbb\xa9\x4e\x95\x15\x51\x00\x6d\xd3\x17\x54\xdb\xbd\x3e\x64\x14\x15\xbd\xe8\x74\xdc\x45\x6c\xa7\xce\x08\xf8\x1e\xd8\x35\xe2\x5a\xca\xea\x02\x65\x8f\xac\x99\xd8\x6b\x5d\x0d\xef\x06\x67\xf0\x7b\x8e\x05\xc2\x1f\x0d\xe7\x5b\x8b\x6f\x58\x5d\x41\x93\xf8\x35\xf4\x2e\xdb\xa7\x77\x17\x31\x8b\x8b\x59\xa3\x7f\x6a\x46\x4c\xf8\x1c\x45\x2b\xcd\x49\x69\xa1\xeb\xa2\x52\x37\x39\xb5\x75\xa1\x46\x41\x70\x36\xef\xbd\x2e\x1d\xa8\xa6\x71\x30\x9b\x50\x77\x83\x73\xbc\x88\x73\xbb\xe6\xd6\x00\x9c\x17\xfe\x45\x15\x4d\x71\x80\xbc\x10\xe1\xf7\x2e\xda\xbd\x26\xf3\x5d\xa9\x37\x9d\x5a\x2e\x67\xeb\x26\xd4\xe1\xa7\xb0\xd2\x9a\xe4\x0a\xef\x2c\x55\xd2\x8a\xe4\x0a\xe9\x2c\xe3\x70\x36\xb9\x24\xeb\xee\xda\x5b\x75\x57\xbb\xe6\x0a\xd4\x44\xb2\xc1\x43\x7b\x13\x5c\x2e\x8f\x0d\xda\x93\x27\x52\x5b\x9e\xe8\x79\x02\x67\x7a\x43\x24\x4b\xa3\xd5\x81\x33\xb2\x88\x6d\x72\x63\xa6\x5d\xff\x22\x30\xf0\x9b\x70\xc2\xb0\x24\x99\x62\x02\xb3\x72\x10\x6e\x4e\x58\xe5\x12\xb1\x9b\x7b\xf0\x5e\xba\x4b\xec\x2a\x42\xf8\xb2\xd3\xa9\x8f\xc1\xbc\x7f\x89\x26\x9c\xe8\x23\x00\x22\x5f\xa0\xfe\x40\x9f\x00\x60\x5d\x8f\xfa\x83\x19\x96\x24\x06\xe9\x97\x97\x95\xdf\xc1\x37\x64\x56\x7e\x2f\xdc\x65\x77\xa5\xa0\xab\x69\x46\x1d\x22\x76\xee\x5e\xed\xa1\xc4\x64\xe9\xd6\xeb\x50\x83\xa7\x21\x88\xdf\x5b\xaa\x7b\x2b\x6d\x2f\x58\x4c\xa9\x9c\x69\x5c\xa2\x2c\xc0\x8c\xc6\x86\x54\xad\x64\x03\x3b\xa6\xe4\xb3\xc0\x96\x8a\xbb\x68\x67\x0b\x13\xdc\x8f\xb0\xfa\xb7\x06\x6d\x5c\xdb\xa7\xab\x3a\x36\xf1\x1b\x57\xe1\x11\x73\xc3\xb0\xc2\x1b\x8d\x49\xae\x34\x26\xd9\xd8\x98\x64\x41\x6e\x77\xf8\x92\x04\x78\x4b\xf4\xa1\xdc\x73\xbc\x7b\x86\x14\x07\x76\x87\xf1\x0d\xb1\x88\x66\x6f\x8b\xcf\x49\x4d\x38\x7b\x5b\xfc\x91\xc4\x33\x7c\x6d\xe1\xa8\x0d\xc2\x6f\xc8\xef\x6a\x55\x49\x57\x21\x9e\xab\xaa\xe3\x15\x1e\x7c\x87\xed\x63\x69\x55\x21\x20\xe8\xf6\xbe\xac\x76\x3b\x9d\xa7\x8c\x66\xbf\x24\x97\x8a\xa3\x77\xb7\x28\x72\xcb\x95\x0b\xf2\x21\x7c\x45\x98\xbb\x20\x97\xc0\x24\x69\x1c\x68\xe4\x46\xea\x40\x51\xac\x4b\xce\x64\x59\xda\xa2\x5c\xb6\xc6\xeb\x0f\xe8\xdd\x8d\x02\xd8\x89\xcd\x83\xd8\x0f\x82\x41\xf7\x1b\xea\x22\xa4\x88\x08\x38\x94\xf1\x95\x5a\x41\xb6\x67\x85\x8d\x8d\x3e\xad\xe6\xb1\x24\xed\xbb\x7e\x42\x4b\x09\x16\x03\x87\x9b\xe5\x24\x80\xa7\xd7\x9f\xd8\x76\x6a\xc5\x10\x47\xbd\x30\xb2\xa3\x8f\x2b\x8c\x01\x73\x7d\x85\x17\xf8\x12\x6f\xf1\x6b\x7c\x83\xcf\xf1\x47\x7c\x8d\x2f\x14\x61\x11\xe0\x6d\x14\xe0\x8b\x28\xdc\xe1\x97\x24\x3e\x1d\x07\x78\x14\x04\x33\xfc\x9c\xfc\x4e\xf1\x0b\x32\x18\x05\xf8\x33\x09\xf0\x2b\x62\x31\xe7\xfa\xe8\xfc\x44\x6a\x0e\xca\x24\xfd\x42\x4a\x46\xca\x24\xbc\x23\x36\xf3\xae\xd3\xbe\xd3\x3c\x5b\x7d\x4e\x63\x73\x16\x57\xe7\x69\x75\x90\xfc\x93\xde\xdd\xb9\xff\xa4\xc4\x11\xfc\x7a\xcd\x58\xea\x80\xd8\x65\xea\x7e\x43\x0f\xc5\xd4\xbd\x0a\x2a\x0b\x96\x4a\xfa\x67\xd7\x6d\x26\xbc\x16\x0b\x36\x0d\x07\x41\x14\xa2\x1d\x76\x74\x75\x28\x72\x04\x87\x1e\x7f\xb1\xfa\x27\x55\x6d\x90\xf5\x3b\x55\xe5\xce\xf0\x8d\x65\x65\x5f\xec\x97\xa4\x49\xba\x03\x25\xe2\xd7\xaa\xdc\xdb\xe4\x86\xa5\xef\xe7\x99\x48\x53\x07\x21\x6c\xa8\xaf\xe6\x7d\x84\x96\x6c\x1d\x08\xba\xdb\x96\x3d\x96\xe4\x62\xf2\xaf\x74\x6a\x9d\x88\x6a\x55\x35\xc9\x3e\xad\xaa\x60\xcf\x87\x55\xf7\x05\x31\x1e\xde\x0c\xe1\x79\x77\xd7\x5c\x20\xa0\x70\x8a\xb4\x9b\x2a\x17\xa6\x2b\x3a\xa8\x43\x1f\xb2\x2f\xb5\xfb\xbe\x97\xda\x3b\xfa\x62\xba\x88\x83\x59\xc4\xc0\x91\xb7\x7a\x09\x67\x51\xd6\x1f\xe8\xe3\x65\x8f\xf3\x73\x63\xb7\xb0\x08\xf8\xa4\x22\x03\x31\x03\x1a\x1e\xab\xef\x52\x7d\x97\xfa\xbb\x54\xdf\x25\x7c\x97\xfe\xc5\xec\xde\x00\xf4\x19\x51\x6c\x31\x16\x84\xf5\xb3\x78\x30\x9b\x34\x87\x4a\x60\x33\x14\x3d\x75\x2e\x74\x05\xde\x46\x49\x4f\x1d\x0a\x5d\x81\x2f\x22\xb1\xd3\x1b\x78\x57\x82\xaf\xf6\x52\x76\x30\xfc\x5c\x83\x48\xe7\x63\x7c\x71\x5f\x8e\xc8\xdd\x6f\x1f\xa0\x0b\x0d\x01\x82\x81\xfb\x1d\xee\x57\x64\xe9\xe3\xe4\x0b\x30\x0a\x4f\x6a\xc9\x94\x07\x0c\xb1\xe1\x17\x80\xf8\x45\x16\x71\x8b\xb9\x0e\x1d\xfd\x15\x15\xdb\x4c\x88\xbe\x89\x29\x5c\x4f\xc1\x54\xd7\x0d\xed\x98\x5a\xef\x0f\x0b\x75\x58\xf7\xf3\x4a\xdd\xe5\x77\x1a\xc5\xba\xf7\xd0\x77\xc5\x52\x45\xcf\x55\x9d\xf3\xbd\x4b\xdf\x87\xaa\xbb\x24\xb2\xd3\x39\xa8\xe6\x12\xba\xd6\xb8\x35\x7a\xa8\x92\x97\xad\x95\xbc\x54\x95\x54\xdc\xee\xa3\x2a\x7a\x41\x3c\x10\xf9\xbc\x50\x45\x6f\x1e\x57\xe6\x9c\x48\x7c\x43\x64\xe9\xc2\x67\x1f\x4f\x73\x14\x9d\xab\xda\xb6\x8f\xab\xed\x9a\x48\xfc\xf1\xc1\xda\xae\x9b\xe2\xa8\xef\x8c\x38\x0a\x68\xdc\x6f\x28\xfe\x27\xc5\xbf\x53\x12\x07\x38\xec\x07\x70\x6b\x36\x17\xa9\xc8\x88\xe0\xd8\x56\xa7\xf6\xa5\xd0\xbe\xc0\xee\xd3\xa1\xc9\x56\xe7\x2e\xf2\x1c\x07\x1a\x5b\xe7\x29\x49\xb5\xb5\xd1\xbf\x29\x49\x6d\xb5\x6c\xce\xae\x9f\x08\x3e\xf9\x37\xf5\xcf\xc1\x1e\x9b\xb5\x5a\x61\xf3\x3a\x72\xbd\x7f\x7c\x60\x69\x39\xe5\x51\x88\xb0\xaa\x29\xe5\x7a\xa7\xad\x8d\x3a\x91\xfe\x49\xfb\xea\x08\xff\x37\xf5\x17\x34\xbb\xf8\x2f\x37\xc0\xbb\xba\x09\xdd\x40\xb6\x3a\x6f\x0b\xdb\xd5\xde\x2b\x2d\x02\x5c\xcf\x53\x92\x6b\xd8\xfc\x40\x49\xde\x02\x9b\x1f\xbe\x00\x1b\x76\xfd\x24\x6f\xb6\x30\xaf\x65\x15\x61\x10\x98\xe6\xbc\x9f\x68\xf7\xe0\x8a\x00\x46\x86\xd0\x0e\xff\xf0\x20\x74\xee\x6f\x02\xbc\x69\xeb\x06\x7a\x5f\x6a\xa0\x1d\x3a\xcb\xfd\x8a\x0d\x74\xf4\x12\x02\x18\xa5\xf4\x9c\xac\x35\x8c\x7e\xa2\x24\x3c\xc1\xff\xa1\xc4\x3f\x1d\x05\x47\xc7\x98\x2b\x56\x5b\x0a\x12\xfa\xc1\xc9\xc9\xc9\x10\x33\x41\xd6\x2d\x30\x64\xe2\x8b\x30\x5c\x73\xf7\xeb\xa0\xa6\x73\x50\xfd\x73\x8e\x76\x98\x89\x2f\xc0\xb0\x6a\xe2\x71\x50\x6b\x6b\xa0\x1d\x86\x2b\x03\xc3\xf4\xa0\x88\xd0\x60\xdf\x1a\x5b\x3f\x41\xb6\x2d\xd0\xc9\xee\x81\xce\x23\x76\x85\x09\x90\xa1\xf7\x7c\xa9\x2a\xb1\x32\x6a\x1e\xfe\x39\x2e\xc8\xb0\xba\xa7\x97\x77\x77\xec\xee\x2e\x9b\xba\xb2\xd3\x29\xce\x24\x08\xaa\x0a\x30\x64\x28\x8c\xe7\x9b\x02\xe1\x4c\xbd\x65\x60\xc9\x54\xe8\x3d\xb7\xb5\x26\x66\x30\x1a\x61\xd9\xe7\x08\x37\x52\xd8\x41\x4a\xd6\xe7\x08\xa1\xc8\x14\x87\xc8\x1c\x68\x87\xb3\x07\x27\xe8\x91\x28\x60\xcb\x5d\xb3\xe9\xb3\x72\xf7\xaf\xca\x87\x73\xdd\x88\xc2\x77\x87\x93\x74\x6d\x26\x29\xc3\xa6\x90\x5d\xe4\x7e\x7c\xea\xfc\x5f\xc7\x3b\x2f\x8b\xa2\xea\x71\x55\x3f\x9e\x1b\xec\x5d\x88\xea\x0e\x94\xa6\xc9\x9c\x9d\xa7\x05\x8b\xc2\xd1\xf1\xe9\x60\x78\x32\xc4\x94\xcb\xe4\x53\xc1\xae\xd7\x89\x64\x51\x38\x3e\x3a\x3a\x1a\x1e\x8f\x30\xfd\x54\xd0\x68\x3c\x1a\x0d\xf5\xe3\x25\xcd\x12\xce\xa2\x93\xe1\xc9\xc9\x68\x7c\x84\xe9\xe7\x22\xd3\x55\x1c\x85\xc7\x23\x7c\xce\x92\x95\x2a\x1b\x86\xa7\x83\x71\x80\xcf\x93\xfc\x93\x6a\x61\x7c\x7c\x1c\x0c\x8e\x8e\xf0\x79\x4a\xe7\x17\x51\xa0\x7e\xf9\x7c\xcd\x16\x34\xbd\x14\x7c\x01\xdf\x07\xc1\xd1\x08\x43\x7f\xd4\xec\xa8\x87\xab\x44\xa4\x4c\x46\xa7\xc1\x68\x34\x08\x06\xf8\x3c\x13\xd7\x3c\x0a\x83\x93\xc1\xd1\x60\x78\x84\xcf\x8b\x2c\xdd\x5e\x0b\xb1\x88\xc2\xa3\xd1\xe9\x78\x30\x0c\xf1\x9c\x2e\x98\x84\x2a\xc6\x83\xf1\x78\x34\x38\xc1\x40\x4d\x65\xac\xc8\x75\x87\x87\xa3\x01\x9e\xaf\xc5\x1c\xa8\xcb\x28\x1c\x1e\x9f\x9c\x1e\x1d\x07\x78\x2e\x32\x9a\xaa\x4e\x1c\x1d\x0d\x8e\x07\xea\x95\x2f\x53\x71\xcd\x32\x5d\xd7\xe8\x34\x3c\x3d\x09\x21\x39\x4f\xd2\x0b\xe8\xed\x68\x78\x72\x82\xe7\x59\x72\x99\x0b\x1e\x85\x47\x47\x83\xa1\x42\x08\xf3\x2d\xe5\x06\x54\x6a\x15\x69\xe8\x0e\x4f\xe1\x05\xbe\x0d\x47\xc7\x83\x21\xbc\xae\x44\xba\x60\x3c\x53\xdd\x1f\x04\xa7\x83\x53\x93\x6b\x95\xd1\x6d\x14\x86\x61\x78\x1a\x84\xc7\x26\x85\x31\x1e\x0d\x46\xe3\x20\x28\xdf\xf7\x72\x5c\xac\xe9\x45\x12\x85\x83\xa3\xe1\x70\x30\xd2\xd5\x5c\xd2\x15\xe3\x92\x46\xa7\x61\x70\x3a\x3e\xd2\x2d\x8a\x34\xb9\x62\xba\xb6\xd1\xe8\xf4\xf8\xf4\x54\x67\x15\xda\x43\xa1\x1a\xfd\xf1\x68\x10\x98\xb4\xf9\x3a\x59\x44\x61\x10\x1c\x05\x41\x38\x80\xb4\x8c\x2d\xa0\xba\x51\x70\x04\xef\x39\xcc\x5d\x14\x8e\x86\xc1\xc9\x51\xa8\xcb\xe5\x8c\xea\x06\x4e\x8f\xc2\xd3\xd3\x50\x37\x00\xe4\x2a\x80\xe2\xe8\x78\x78\x34\x3c\x3a\xae\x53\x61\xb4\x0a\x72\x47\xa7\x23\x3b\x95\x35\x53\x65\x91\x7d\x2a\x44\x92\xb3\x68\x34\x38\x3d\xd2\x69\xe5\xe2\x18\x9f\x9e\x8e\x14\xec\x18\xdb\x6c\x12\x0e\x93\x13\x8e\x4f\x55\x23\x8c\x6d\xf2\x8b\xad\x6e\xf8\x34\x1c\x85\x78\x91\x5c\x42\x83\xe3\xd3\xe0\x64\x30\x1e\xe9\x77\x66\xbd\x8b\xc5\xca\xcc\xf9\x20\x08\x86\xe1\xe9\x29\x5e\x26\x19\x3b\xcf\x92\xf9\x45\x14\x2a\x00\x85\x47\x63\xbc\x4c\xd5\x6a\x29\xf7\xc8\xf1\xf1\xe8\x74\x10\xe0\xa5\xc8\x58\x2e\xcd\x54\x0d\xc6\xc3\x93\xa3\x01\x5e\x2a\x46\x37\xa1\xd0\xa3\xf0\x74\x38\xc2\x2b\x9a\xf0\xfc\x5c\x64\x42\x2d\x98\xe3\xa3\xa3\x71\x80\x57\x6b\x91\xcb\xb2\xae\x61\x38\x1e\x1f\x87\x58\xad\x0c\x55\x68\x3c\x3e\x1e\x04\xd8\x5a\x27\x47\xc3\xc1\x69\xa8\x92\xd4\x20\x4e\x8e\x06\xa1\x9a\x0a\xdd\xe6\x70\x70\x3c\x3e\xd1\xcf\x5b\x96\xa6\xe2\x3a\x0a\xc3\xa3\x60\x18\x8c\x46\x18\x86\x58\xe6\x5e\x0b\xce\xb6\x0b\x76\x6d\x36\xec\x38\xc0\x6b\x21\x4b\xb8\x0d\x4f\x8e\x8f\x02\x9c\xf0\x45\x42\xb9\x9a\xed\x70\x78\x34\x3a\x19\x0d\x8e\x20\x69\x25\x00\x8a\xc3\x61\x80\x93\x2b\x91\x6d\x61\xec\xc7\x83\x20\xc0\x66\xf9\x8d\x8e\x4f\x8e\xc7\xe3\x00\xa7\xf4\x8a\xf1\x05\xcb\xa2\x70\x14\x0e\x07\x6a\x65\x94\x29\xe7\x69\x91\xaf\xa1\xdc\x70\x38\x1e\xe1\x94\x5e\x73\xdd\xfb\x93\xf0\x34\x38\x3d\x1e\xe3\x94\x5d\x0a\x3e\x5f\x27\xcb\xa5\x5a\x58\x0a\xb6\x27\x27\x23\x9c\xaa\x63\x47\x6f\xa5\x70\x78\x3a\x1c\x8c\x8e\x74\x92\xd9\xb5\xa3\xe3\x71\x38\x1a\x8e\x4d\x9a\xda\x64\xe1\xd1\xf1\xd1\x68\x74\x7a\xaa\x93\x2a\x00\x96\x80\x19\x1f\x1d\x9d\x0c\x54\xb7\xe0\x2b\xec\xb7\xe1\xc9\xc9\x60\x38\x18\x96\x49\x7a\x05\x9f\x9e\x0c\x46\xe3\x2a\x69\x3f\x57\x09\xb4\xd1\xc9\xd1\xd8\xf4\xb1\xdc\x11\xe3\xe3\xd1\xe0\x78\x3c\x30\x89\xe5\x96\x18\x84\x47\x83\x93\x53\xd3\x6c\xb9\x30\x4f\x4e\x83\x60\x78\x64\x5a\xa9\xb7\xc4\xf1\xc9\x70\x78\x3c\x1a\x36\x92\xd9\x7e\xb2\x64\x2c\x35\x60\x19\x9d\xa8\xad\xa5\xd3\xab\x61\x1e\x1f\x1f\x87\x27\x2a\xf1\x52\xe1\xb0\xc1\x49\x00\x8f\x66\xbd\x0c\x07\xa7\x6a\x2a\xd3\x84\x33\x0e\x20\x19\x8d\x8f\x03\x5c\xa2\x8d\x6a\xc9\x5e\xd2\x4c\x08\x0e\xb8\x73\x1c\x9c\xe0\x4b\xb6\x48\x8a\x4b\xeb\x14\x18\x1f\x0f\x8f\x87\x83\x81\xf9\x60\xb6\xce\xc8\xbc\x96\x58\x64\x30\x08\xd5\xca\x36\xa9\x9b\x22\xdb\xa4\x2c\x3a\x1d\x8f\x07\xe3\x93\xa1\x49\xac\xa0\x34\x3c\x3d\x3e\x09\x4e\xcb\xbc\x35\xea\x38\x09\x4e\x8e\x8f\x4f\x83\x32\x7d\xa3\x0e\x42\x5d\x62\x7c\x14\x8e\x8e\x4c\x7a\x8d\x28\x8e\x8e\x8f\x07\xc3\xa0\xcc\xaf\x91\x85\x5e\xd3\xc1\xd1\x71\x78\x3c\xc4\x97\xc9\x82\xd7\x0b\x6b\x7c\x74\x74\x1a\x0e\xf0\x65\xc2\xe5\x3c\x63\xf4\x52\x9d\x60\x83\xf0\x64\x14\xe0\xcb\x24\x97\xdb\x4c\xe4\xe5\x21\xa6\x8a\x8a\xf9\x9c\xe6\x09\x37\x29\x83\x53\xcc\xe9\x15\xfd\x5b\x54\x38\x61\x7c\x32\x3e\x19\xa9\xc4\x6d\x14\x0e\x4e\xb0\x48\x17\x29\x9d\xab\x2f\xe3\xa3\xe1\x68\xa4\x12\x92\x2b\x06\x7b\x72\x78\x3c\xd6\x6f\x8b\x8c\x9e\x47\xc7\xc1\xd1\xc9\xf1\xf0\x14\xd7\x28\x79\x34\x54\xd8\x45\xbf\x43\xf7\xc7\xc7\x83\xd3\xe1\xd1\x11\x2e\x61\x7b\x34\x0c\x47\x6a\xea\x37\x34\x65\x16\xaa\x18\x8d\x47\xc7\xe1\x30\xd0\xc9\x00\xa6\x30\x08\x06\xa3\x93\x13\x9d\x54\xc3\x29\x0c\x47\x83\xd3\xd3\xf1\x18\x92\x2d\x30\x1d\x0d\x4f\xc2\x41\x30\xc4\x1b\xba\xa1\x5b\x7a\xbd\x4e\x36\x7a\xe3\x06\xc7\xc7\x78\xc3\xe8\x7c\xbd\x29\x96\x4b\x18\xeb\xf1\xf8\x78\x88\x37\x2c\x2b\x14\xbe\x18\x9f\x9c\x9e\x86\xb8\xdc\x1b\xe3\x30\x18\x8e\xf0\x26\x2d\x2e\xd5\x19\x3d\x38\x1a\x0f\x8f\xf1\x46\x5c\x2f\x0c\x92\x0d\x43\x75\xb2\x86\x01\x36\x4b\x42\xad\xb2\xe3\xe1\x18\x67\xec\x9c\xcd\xe7\xd4\xa4\x8e\xc7\xa7\xc7\x27\x27\x21\x36\xc3\x0f\xc3\xf1\x49\x80\x33\x91\x6f\x0d\x3d\x30\x18\x8e\x8e\x47\xe1\x29\xce\xc4\x96\xea\xfd\x70\x34\x38\x19\xab\x63\x22\xa7\x8b\x45\xca\x74\xb6\xd3\x70\x70\x1c\x9e\x1c\xe3\x6a\x8f\x1e\x85\xe3\x93\x93\x01\xce\x29\x5f\x94\x35\x8d\x83\xe1\xe0\x64\x7c\x84\xeb\xc5\x18\x8c\x82\xe1\xe0\x58\x25\xe4\x6b\x96\x02\x89\x70\x7c\x34\x1e\x9e\xe0\x3c\x61\x9c\xd3\x28\x0c\x46\xc1\xf8\xf8\xf4\x18\xe7\x49\x7a\xa5\x50\xde\x60\x3c\x1c\x28\xac\xd1\xd8\xdf\xc3\x10\xd7\x0b\x79\x7c\x7a\x1c\x04\x63\x93\xa2\x37\xfb\xf0\x78\x70\x7a\x74\x84\xad\x7d\x5e\xa6\x70\xb3\x91\x47\xa7\xc3\x00\x37\x16\xfd\xe8\x28\x38\xc6\x35\x0a\x38\x1a\x0f\x82\xd3\x93\x00\x4b\x85\xfe\x86\x6a\xb3\xa8\x17\x46\xd3\x68\x38\x38\x39\x1d\x03\x1d\x29\x53\x16\x85\x47\x83\xe0\xe8\xe4\xe4\x04\x4b\x71\x49\xa5\x00\xac\x7f\x1c\x9c\x8e\xb0\xb5\x73\x06\xa3\xf0\x64\x34\xc6\xe6\x80\x0d\x47\xe3\x61\x18\x9c\x8c\xf1\xf5\x9a\x51\x09\x94\xdd\x50\x8d\xa8\x3e\x00\x8f\x07\xe1\x48\xbf\xe6\x97\xe2\xa2\x24\xfe\x4e\x46\xd8\xc2\x44\xe3\xd3\x71\x60\xde\xcb\xe5\x18\x1e\x8d\x82\xe3\xa3\x1d\x9a\x14\xe2\x1e\xa7\x40\x85\x30\x5e\x81\x5e\x83\xb2\xa4\x76\x01\x01\x59\x44\x46\x5e\x72\xf5\x76\xb3\xce\xc8\x73\xee\x6e\xe1\xd3\x22\xbf\x7a\xd0\x0e\x07\x27\xe8\xb6\x55\x01\x2e\x21\x0c\x1b\x25\xc8\x89\x36\x4d\x7e\xa1\x95\xe6\xb4\x1c\x8a\x4d\xb3\xa8\x80\x08\xf8\x96\x23\xbf\xcc\x76\xc0\xfb\x80\xd9\x00\xad\x1c\x16\x1b\xcd\x29\x97\x11\x8e\xa0\x46\xae\x23\xa7\xd3\x56\x35\x84\x27\xec\x4b\xfe\x95\x8b\xb6\x98\x21\xf2\xa0\xbc\x6c\x94\xc7\xdc\x0e\xcf\x91\xd8\xe1\xd9\x81\x2d\xa0\x48\x07\x1c\xe2\x8d\x38\x0f\x75\x43\x42\xab\x20\x72\x34\xfd\x87\xf3\x0f\xaf\x76\xad\xd0\xff\xe0\xf4\x57\xf8\x1f\x8e\xf3\x0f\xe4\xfd\xc3\xf9\x47\x54\x9a\x8b\x28\x76\xe8\x1d\x5b\xbd\xbc\xd9\xb8\xff\x88\x55\x09\xcf\xf9\xc0\x67\x0e\x82\x00\x61\x8a\x3a\x7f\x21\x16\xec\xb9\x74\x03\x4b\x07\x09\xfa\xdd\xa2\xf1\x93\xed\x65\x79\x27\xae\x73\x97\x63\xdb\x52\x14\xae\xe2\xb2\xca\x9d\x8f\x4a\xea\x19\x0e\xb4\x80\xbe\x7c\x5f\x66\x76\x16\x0e\x76\x4c\xbe\x5b\xc7\xdb\xf7\x14\x6f\x29\x59\x81\xaf\x6b\xad\xda\xaa\x0d\x8d\x3d\x27\x7a\xb2\x88\x21\x88\xcb\xcc\xd9\x19\x80\x39\xd8\x41\x9e\xb3\x73\xd0\x24\x23\x72\xda\xec\x53\x65\x31\xaa\xa6\x0c\x33\xb4\x8b\x8a\x9d\xe2\xd5\xeb\x61\xdc\xbf\x6e\x61\x44\xf9\x19\x99\x57\x6e\x39\x26\xc9\xd2\x2d\xca\xb7\x82\x3c\x0d\x71\x62\x58\xec\x1c\xb4\x71\x8f\xc0\x1b\xa1\x05\x5b\x89\x1a\x8e\xfb\x26\xcc\xf3\x9e\xcd\xc1\xac\xf7\x30\x2f\x43\xd0\xe0\xf0\xe8\xe9\xfe\x07\x2f\x44\xe6\x72\xd6\xf3\xd8\x2e\x27\xcc\x1b\x18\xe7\x40\x07\xf9\xca\x79\x0a\x87\x10\xb9\xcb\x2d\xc8\xd3\x00\x87\xc1\x41\x5b\xde\x00\x75\x3a\x9e\x97\xa3\x08\x3e\x66\xe0\x9f\xf5\x69\x80\xb0\x65\x76\x8e\x19\xaa\x17\x99\xa3\x17\xd9\x3f\xb4\xbd\xf6\x64\x7e\x96\x4f\xaa\x58\x01\x76\xcd\xb9\xe7\x21\x2c\x74\x34\x57\x5d\x35\x52\x15\x57\x9e\xc5\x74\xc7\xd0\x3d\xfd\xca\x51\xa7\xe3\x7a\x5e\x8e\x3d\x4f\xd4\xde\xc8\xb2\xa7\x84\xa4\x68\x2e\xb8\x4c\x78\xc1\x6a\x75\x3f\xd3\x53\x9c\xf7\x44\xa5\xb3\x5e\xa5\xd6\xb1\xcf\xb4\xf1\xd6\xed\x0e\x53\x70\x5e\x43\xe2\x19\x9e\xd7\xb6\x80\x39\x68\x69\x04\x13\x37\x23\xcc\x45\xe8\x29\x21\x74\x52\x4f\xda\x1a\xfc\x1d\x3d\x25\x24\xe9\x74\x32\xfd\x6d\x5d\xda\xde\x60\x28\x31\x91\x9d\x8e\x41\x2f\x6b\x50\xb0\x5c\x7a\x1e\x42\x77\x77\xc6\xa8\x6c\x5d\xf5\x4c\xa8\x65\xb7\xdc\x0f\xb8\x0f\x73\xde\x74\xb7\x06\xe1\x31\x51\xb5\xe1\x74\x11\xd8\x71\x12\x95\xf3\xce\xae\x9f\x5c\x6a\x03\xa6\x0a\x87\xb4\xe9\x78\x34\x3c\xfc\x70\x94\x81\xc5\xa1\x44\x77\x77\xa5\x5b\x39\xf0\x42\xa4\x31\x7c\x5c\xec\xa1\xa1\x2a\xe6\xb0\x3c\xd0\x60\x2c\xb7\xc0\x7d\x41\x1e\xa8\x2b\x63\x3e\x43\xbb\x1a\xa5\xa1\x72\xb3\x7e\x00\xf5\x4a\x7b\x58\xed\x9e\x63\x54\xcd\xc9\x5e\x21\x90\x98\xcd\xf3\x2b\xa2\x8f\x1c\xb5\xf3\xb1\x23\xd9\x8d\xec\xcf\xf3\x2b\x07\x4e\x22\x69\x7d\xfd\xff\x94\x5f\x25\x3d\xef\xe5\x6c\x43\x33\x2a\xd9\xa2\xa7\x5d\x24\x19\x2f\x7e\x89\xc0\x54\x60\x21\x70\x2a\xf0\x5c\x3b\x12\x89\x6f\xf4\x7d\x9e\x93\xb1\x4f\x05\xcb\xe5\x73\x9e\x5c\xc2\x35\xc3\xf7\x19\xbd\x64\x0e\x9a\xdd\xdd\xd9\x3d\xb6\x2e\xa8\x39\x0e\x8f\x11\x38\x89\x80\x98\x26\xb6\xb8\xe8\xd3\x3d\x26\xb1\x5a\xd3\x14\x22\xe2\x2c\x15\x93\x66\x97\x79\xc7\x5d\x84\xbf\xe3\x46\xce\x9a\x89\xe2\xc0\xe3\x52\x39\xf9\xfa\xda\x19\x72\xb8\xbc\xeb\xca\x5a\x5a\x16\x82\x47\x09\xd4\x97\x91\x9d\xc5\xc8\xa4\x72\x41\x62\x67\xeb\x60\xe7\xb3\x83\x1d\xea\x60\x67\xe9\x60\x67\xe3\x60\x87\x3b\xd8\xf9\x70\x73\x3e\x72\xb0\x73\xe9\x60\xc7\xc1\xce\x85\x83\x9d\xd7\x0e\x76\x7e\x70\xb0\xf3\x8b\x83\x9d\xb7\x0e\x76\x5e\x3a\xd8\xf9\xcb\xc1\xce\x9f\xce\x0c\xa6\xeb\x57\x0e\x9e\x5e\xf5\xcc\xbe\x05\x17\x19\xad\x0e\x71\x4a\x99\xa3\xcb\x89\xc7\xd5\x8e\x0f\xce\xc0\xe6\xae\x4b\x7a\x21\xc2\x52\x07\xaf\xa0\x65\x5f\xf1\x5b\x5d\x18\x21\xcc\x48\xe8\x59\x37\xea\x21\xeb\x85\x03\xaf\xba\xa8\xe7\xd5\x35\x7d\x18\xa8\xbc\x95\x34\xb7\x37\x38\xb2\x04\x90\x47\x78\xd8\xb5\x2a\x71\xd5\x31\xd5\x1f\x22\x55\x7f\x2e\xe2\x13\x8f\xf5\x87\x46\xdb\x76\x29\x48\xdf\x9d\x46\x6e\xfc\x3f\xb7\x33\x34\x75\xe3\x67\x67\xe4\x7f\x66\x48\x3d\x79\x1f\x7a\x4f\x20\xe9\x9b\xff\xab\x7e\x02\x34\x75\x3f\x2c\x3c\x34\x75\xb1\x7a\xf2\x7b\x53\xfd\x16\xd3\xde\xe7\x6f\x67\x68\xda\x4f\xf0\xba\x16\xff\x9d\xb7\xf9\xf5\xe2\x95\x90\xd1\x1d\xa0\x1d\x9e\xb7\xe5\xd1\xdf\xfd\x65\x26\x2e\x5f\x18\x9c\x09\xfa\x0f\xe2\x0b\x15\x9e\xa0\x1d\xbe\xf9\x42\x9e\x70\x8c\x76\xf8\x8f\x2f\x67\xf2\xa5\xf8\x75\xb3\x61\xd9\x0b\x9a\x83\x15\xda\xaa\xdd\x4f\xa2\x2a\xf4\x36\x63\xf3\x24\xd7\x18\x63\x87\xd9\xfd\x19\x5f\xde\x6c\x04\x67\x5c\x26\x34\x85\xac\xcb\xfb\xb3\x7e\x9f\xdc\xb0\x05\x64\xca\x5a\x33\xdd\xb3\x72\xaa\x92\x96\x84\xbf\x5e\x11\x01\x64\xec\xba\xa1\xa7\x56\xd4\x08\x42\xab\x6b\xc7\x67\x2b\x98\x35\xb5\x3d\xd5\xd1\xb1\x11\xa0\x5f\x36\xf9\x97\x2d\xa5\xbf\x5d\x31\xa9\x52\xa3\x7b\xee\xda\x3e\xfa\x2b\x26\x7f\xfd\xe5\x05\x44\xf5\x50\x00\x53\xd9\xb7\x5f\xce\xbd\x35\x99\xbf\x2f\xd2\xf4\x4f\x46\xb3\x2f\x95\x28\xf3\x99\x62\xff\x12\x45\x96\x7f\xa9\x0c\x64\x32\x05\x5e\x27\x69\x9a\xe4\x6c\x2e\xf8\xe2\x8b\xe5\xec\xbc\x55\x71\x5e\x48\xf6\x88\x92\x90\xad\x2c\x24\xb8\x5c\x7f\xb1\x88\xca\x64\x0a\xbc\x7f\x5c\xff\xde\x37\xba\xa6\xb0\xf3\x83\x25\x54\x06\x2b\xef\x67\xc1\xd9\xcf\xcb\x65\xc3\x07\x68\x55\x2a\xd8\x69\x17\x7b\x3f\x2f\xef\xaf\xd2\x64\x50\x55\xe6\x87\x8b\xe3\x0a\x78\x2b\xb3\x22\xac\x43\xc1\xff\xd8\x38\x16\xf2\x83\x75\x62\x15\xdc\x3e\x58\xae\x6d\xc9\x54\x85\xcb\x8f\x0f\xd6\x70\xb0\x7a\xaa\xe2\xf0\xe5\xc1\xb2\xf7\x2d\xa4\xaa\x0a\x3b\xc3\x17\x6a\x3a\x58\x53\x56\x25\xf0\xed\xe1\xf2\xfb\xcb\xab\x2e\xad\xbe\x3c\x58\xb6\x65\xa5\x55\xa5\xdf\x3f\xa2\xef\xfb\x8b\x4e\x17\x56\xa9\xf7\x16\xd3\x87\xce\x95\x46\x32\x35\x86\x99\xac\x04\x44\xd5\x22\x3f\xf3\xd6\x78\x5a\x64\x25\xfc\x05\x35\x6e\x98\xca\x51\xbb\x01\x0e\x11\xe6\x3b\xdc\x44\x92\x90\xa1\xc2\x14\xdc\xb7\xf0\x8b\x8b\x3c\xc0\xbd\x6d\x07\x40\x23\x1b\xa0\x45\xe8\x51\x4e\xcc\x83\xd6\x20\xaf\x92\xfd\x42\xce\xab\x4f\x85\x9c\xd7\x9f\x17\x74\xbb\x3f\x8c\xda\x71\xe6\x46\xb8\x03\x36\xc4\x41\x23\x44\xd1\xbd\xbd\xc5\xf0\x6e\x90\x83\x7e\xd1\x28\x16\x61\xd9\x3a\x6c\x1d\x56\xa9\xce\xf7\xe0\x70\x75\x96\x5e\xa8\x07\xbb\xa0\xdb\xdc\x80\xb9\x31\x96\x6a\xa4\xea\xc3\xfe\x40\x7f\x5e\xaa\x8e\xb6\x18\x7f\x18\xc8\x58\x86\xe9\x36\x39\xc2\x7b\xb2\x37\x66\x47\x5d\xdd\xd5\x26\x3e\x72\x51\x4f\xb6\xa5\x22\xd4\x3f\x19\x1f\xb1\x11\xda\xe1\xd8\xc9\x0b\xbe\xa0\x5b\xb0\xa4\x32\x0f\xb2\x60\xb9\x7e\xba\x66\x0b\x5e\x3e\xcb\x75\x91\x99\xc7\x65\x96\xe8\x87\x9c\xca\x22\x53\x8f\xb3\x7b\x04\x43\x92\x1c\xf7\xe4\x44\x93\x71\x2b\x11\xf3\x59\xfb\xaa\x74\xad\x55\x89\xda\x80\xdf\x2b\x5f\xb6\x30\x11\xdf\x1e\xdf\xb7\x58\x0f\x66\xed\xb8\xdb\xd0\xa9\xdc\x9b\xc3\xb2\x67\x25\x84\xab\x46\xda\x40\x6d\xcf\x93\xcb\x91\xe7\x32\xdd\x95\xfe\x31\xea\xb9\xec\x29\x21\xe0\x13\x5b\x0d\xd3\x73\x72\x67\x46\x58\x35\xbf\x26\x05\xa6\x9f\x35\x66\x5e\x7d\xd1\x35\x3a\xb3\x83\xb9\xff\x6f\xf4\x4c\x93\x25\xfe\x35\x63\x17\xaa\x36\x3d\xdb\x65\x4a\x5e\x27\xd5\x6b\x11\x3e\x94\x2b\xd5\x7c\x6c\x2c\x56\x95\xc1\xac\xd6\x2a\x87\x7e\x87\x99\xbe\x14\xe4\xd6\xe9\x39\x91\xe3\xe0\x8f\x91\xf3\xc4\xc1\x41\xe4\x04\xce\x0e\x6f\x05\xe9\xff\xcf\x87\xbc\xfb\x61\xe1\xf5\xf1\x6b\xf5\xf2\x6d\x5f\xd1\xff\xe0\xe9\xad\xcd\x88\xeb\x56\x87\x6d\xd3\x81\xd4\xa2\xbf\x39\x18\x43\x27\x97\xcc\x24\xfc\x09\x8c\xa2\xf1\xe4\x0d\x84\x97\xae\xc9\xbd\x5d\xb0\x79\x72\x49\xd3\xc8\xf1\x1d\x2c\xd7\xa2\xc8\xa9\x42\xcd\x8a\xfb\x5b\x65\xa2\xd8\x24\x7c\x15\xc5\xc3\x19\x9e\x17\x59\xc6\xf8\x7c\x1b\xc5\xce\x37\x8a\x6b\x99\xe1\x05\x95\x0c\x30\xb1\xf3\x2d\x7d\xf2\xed\xf9\x93\x6f\xd9\x93\x6f\xff\x78\xf2\xed\x9f\x0e\x7c\x89\x9c\x6f\x2f\xfb\xdf\x2e\xfa\xea\x5d\xea\x5c\xff\x8a\xbe\x7d\x1d\x7d\xfb\xde\xc1\x1b\x96\x25\x62\x91\x47\xb1\xf3\x5c\xb1\x3d\x6f\x5f\x43\x6d\x5b\x95\xf0\xbe\xdc\x60\xaf\xcb\x0d\xf6\x4b\xb5\xc1\x7e\xb7\x36\xd8\x2f\xf5\x06\xfb\xbe\xdc\x60\xef\xab\x0d\x86\xff\x4f\xbe\x16\x99\x5a\x02\xa6\x4e\x5d\xa1\xae\x4d\xd7\xa4\xeb\xd0\xc5\x75\x59\x67\x86\x2f\x15\xc6\x53\x45\xfe\x4d\x79\x41\x33\xa8\x9d\x9d\x67\xe6\xf1\x35\xcd\xe6\x6b\x07\x3b\xcf\x37\x59\x92\xc2\xbb\x4a\xfd\x77\xc1\x19\xfc\xa4\xea\xed\x79\xb1\x2a\x72\xa9\x2a\x64\x1b\xc9\x20\x90\x1e\x76\x7e\x9e\x4b\xa1\x9f\xde\x88\xab\x32\xf1\x3b\x36\xd7\x8f\x33\x0c\x9d\x7d\x6d\xb5\xad\xdb\xd5\x4d\xea\x06\xed\xe6\x74\x6b\xba\x31\xdd\x92\x6e\x43\xd7\xaf\xab\x76\x66\x3b\x8b\x5f\x24\x37\xc2\xb7\xd7\x87\x62\x79\x57\x4c\x28\xba\x3b\x97\x36\xbd\x9d\x47\x01\x96\x51\x70\xe0\x20\x79\x09\x5e\xec\xc1\xbd\x18\x3e\x17\x08\x2f\xa5\x7b\x2e\x4a\x7d\x2e\xfd\x53\x3a\xb2\xd2\x1e\x65\xa4\x47\xce\x85\x2f\xb5\x0b\x99\x1c\x9e\x77\x38\x63\x7b\x74\x9f\xf9\xaa\x4b\x90\x2f\x93\x7f\xb9\x59\xc1\xe7\x5a\x02\x9b\x83\x5d\xcc\x8a\x09\x3f\x97\x19\xa3\xfb\xe6\x94\xbc\xd3\xf9\x28\x0e\xfc\xf0\xfa\x6a\xa4\x68\xfa\x51\xc4\xfa\x71\x06\x99\xa3\xb5\xf1\xd3\xaf\x1d\x23\x0b\x72\xfb\x3d\x53\xcb\x69\x9f\xb3\x52\xd9\x54\x8b\x97\x4c\x66\x5b\xf0\xb4\x60\xf2\xbd\x10\xa9\x71\xa7\x71\x9f\xb7\x5c\xc2\xfd\xa5\xce\x9b\xe3\x8c\x40\x1c\x10\xb6\xe7\xbc\x79\x2d\xc1\x17\x53\xa3\x81\x1d\xbe\x16\xe4\xf6\xfd\x66\xcd\x0e\x3a\x23\xfd\x1c\x92\x15\x31\xfc\x56\x24\x7c\xdf\xaf\x3e\x27\xdc\x9f\x0b\x91\x2d\x12\x4e\x25\xcb\xb1\xf4\x37\x2a\x17\x98\x8e\x80\x09\x20\xe6\xf1\x60\x86\x76\xf8\x75\x91\xca\xa4\xad\x06\xbb\xf3\x76\x4d\xf7\xf4\x9f\x6b\x2f\x54\xf7\xb6\xf3\x2a\xe1\x4c\xb3\xbb\x7b\xed\xac\xa4\xbb\xd7\x55\xf0\x57\x0e\xfd\xba\xb7\xd0\x57\x76\x6e\xa5\x81\x6b\xaa\x7e\x2b\xd2\xed\xea\x60\xb2\x36\x07\xfd\xa8\xa1\xd3\x96\xff\x2b\xbb\xb0\x29\xbb\x80\x76\xf8\x07\x33\xc7\x8f\x5a\x38\x66\x41\x24\x5f\x5c\x3a\xb0\x62\xca\x5d\x41\x33\xd6\x1a\x21\xf2\xbd\x20\x01\x6e\xec\x1c\x97\xe3\x37\x02\xe1\xf7\x42\xaf\xff\xf7\x02\x5f\x94\x5b\x0c\xbf\x11\xe4\x36\xdf\x5b\x7e\xe8\xf6\xbd\xf0\xc8\x51\xf7\x6f\xaa\x38\x77\xb5\x6e\xce\xe1\xd2\xfd\xbd\xa4\x59\xf9\xfc\x92\x2f\xa2\x73\xbc\xd1\x70\xd3\x1f\x6c\x25\x7c\xe1\x03\x3a\x70\x11\x7e\x23\xfc\xaa\x2c\xb9\x92\xbb\xb2\x8c\xaa\xe0\xc0\x24\x60\xd0\xbd\x10\x13\xd5\x78\x70\xc6\xa7\xaa\x03\x1e\x8f\x78\xb3\x0a\xf3\xf2\x92\x2f\xd4\x23\x74\x8f\x9c\xd7\x50\x39\x17\x05\x5f\xe4\xf7\x99\xea\x2a\xc8\xbf\xd6\x02\xdc\x1b\x12\xe7\x84\xe3\x35\xe1\x33\x84\x97\xa0\xb6\xb7\x24\x12\x61\x79\xb6\xea\x74\xdc\x15\xb1\x6f\xad\x74\xb0\x74\x23\xb4\x5f\x48\x37\x96\xdd\x1f\x29\x66\xdd\x1f\xa9\x76\x23\x76\x59\xba\xfa\xdc\x4a\xf7\x12\x67\x08\x27\x24\x2e\xd4\xce\xe8\x15\x6a\x93\x04\x33\x4c\xd5\xa7\x04\x17\x68\x72\x2e\x5d\x8a\x30\x25\x1f\xd5\xaf\xb1\xc0\x93\xbd\x0d\x9e\x93\xf4\x2c\x98\x86\x51\x2f\xc4\x57\x84\xc6\xc1\xac\xfb\x27\xed\xce\xc1\x98\xda\x4d\xd1\x59\x78\x02\x01\xb2\x16\xff\xe3\x5e\x9d\xcd\xbb\x9b\x4e\x67\xde\x95\x67\x57\x26\xbc\xc8\x96\xd0\x38\x54\x05\x26\x5b\xd3\xfb\x2d\xaa\x2c\xeb\xae\x88\x7b\xe5\x0d\xc7\x01\xfa\x76\x38\x0e\x7a\xe1\x49\x80\xef\xab\xa4\x57\xd6\xb2\x3c\xdb\x02\x38\xca\x5a\x96\xa0\xc7\xb8\x24\x0c\x61\x66\x1a\x60\x68\xb2\x98\x6e\xce\xe4\x54\xb8\x6a\x1f\x9d\xa9\x9f\x35\xea\x74\xdc\x35\x91\x28\x12\xae\xc4\x6b\x2b\x31\x57\x89\xeb\x33\x92\x4f\xdd\x1c\x40\x9d\x6b\x50\xaf\x4d\x01\x14\xc9\xb3\xcd\xe3\xab\xd2\xbd\xd2\x81\x13\x26\x97\x24\xc3\x1b\x22\x77\x8d\xfb\xa7\x73\xb3\x32\x64\xd3\x2e\xf0\x26\x0e\x66\x24\xc7\x37\x71\x38\x23\x6b\x5c\x66\xe2\xf8\x12\x2e\x52\x0f\x22\x3a\xd7\x53\x9b\x11\xde\xdb\x4c\xb6\x9e\x9a\x8d\x0c\x66\x63\x9a\x79\x6e\x76\x16\x4c\x87\xe3\x20\xea\x29\xf0\x46\x99\xee\xd6\x15\xe1\x78\x41\xd8\xa4\x5c\x9d\x50\x15\xd6\x3f\xf6\x2d\x26\xba\xb5\xd7\xb5\xdb\xb8\xbb\x44\xb7\x85\x7b\x85\x17\xd5\xee\x79\xc9\x17\x2e\xc2\xaf\xa9\xbb\x45\x67\x6f\x29\x40\xa1\xe7\xae\x49\x78\x12\x20\x84\x9b\x83\xda\x1f\x8a\x68\x08\xf9\x64\x8f\x70\xf4\x2c\x98\x4a\xb5\x22\x22\xd9\xb0\x42\xb6\x05\x86\xa5\x95\x77\xc3\xfa\xd8\x96\x9b\xc7\xc1\xec\x19\x38\x2b\x98\xea\x47\xde\xe9\x70\x9d\x10\xf1\x67\x12\x3c\xa4\xab\x97\x67\xfa\x4e\xb5\x8a\x86\x8e\x1b\x16\x5c\xe4\x56\xa3\x17\x6e\xa1\x17\x56\xa1\x97\xec\x5e\xf4\x52\x4e\x5c\x81\xcf\x2d\xcc\x90\x98\x37\x85\x1a\x28\xde\x92\x00\xc3\x14\xd4\x55\xa8\x93\xb4\x1d\xfb\xd4\x19\x35\xa4\xeb\x95\x61\x37\xc0\xac\x06\x32\x1c\x9c\x5d\x88\xa9\x35\x11\x78\x49\x7a\xee\x8a\x9c\x06\x08\x45\xdb\xb3\xb7\x74\xaa\x9e\xa3\xde\x5b\x6a\x36\x53\xef\x34\xd8\x9b\xab\xdd\xee\xc0\xce\x87\xa3\xdb\x15\x59\x93\x9e\x9b\x93\x25\x44\x54\xc2\xaf\xc1\x5b\xd6\x1e\x3a\x3f\x2f\x15\x94\x5f\x5b\x2e\x8d\x00\xb7\x81\xe3\xb6\xd4\xb2\x15\x36\x11\x25\x5e\x6b\x9f\x13\x71\x31\x9b\x48\xe3\x05\x92\x91\xd7\xea\x4c\x99\x9b\x00\xce\xe8\xee\x4e\x3d\x86\xea\x71\xea\x0a\x17\x50\x17\x18\x9d\x9e\x99\x17\x85\xd2\xd4\x16\x54\xbf\x60\xc6\x8a\xb0\x30\x85\xdb\xb3\x05\x33\xb0\x7e\x45\x28\x32\x2e\xe5\x0b\x85\x37\x2a\x67\xea\x98\xe1\x0d\xe9\xb9\x30\x4c\x49\xea\xc0\x23\xc6\xb3\x5a\x12\x4b\xd5\x59\x92\x4d\x0a\xc2\xb0\xee\x71\xa2\x7a\xec\x52\x22\xa0\x13\x58\xd7\x7e\xb6\xe9\x74\xdc\x0d\xa1\x58\x1b\xdb\xe2\x35\x81\x2e\x94\xd7\x87\xaf\xc9\x8d\xb1\x79\xd4\x51\xaa\xee\xee\x96\xfa\x61\x1a\xc7\x6f\xe8\x1b\xfc\x86\xbe\x99\xe1\xea\x69\x16\xc5\x71\x8e\x97\x33\x1c\xaf\xf1\x6a\x36\xdb\xed\x5c\x54\x82\x7f\xce\xb8\xcc\x44\xd2\x74\x33\xfb\x52\x90\xe7\x82\xbc\x10\xe4\xb3\x20\xaf\x04\xf9\x24\xc8\x2f\x82\xbc\x13\xe4\x3b\x41\xde\x0a\xf2\x6b\xdb\x61\xfc\xb7\x28\xa7\xef\x3b\x81\x19\x79\x2b\x70\x46\x7e\x15\xb8\x20\xb2\x2b\x3d\xd6\x65\x5e\xd6\xad\xd4\x06\x7e\xa5\xe0\x0d\x5a\x92\x4f\x2a\xeb\x2f\x2a\xeb\x3b\x81\xdf\xd2\xb3\xe7\x02\x92\x5f\xa8\xe4\xcf\x2a\xf9\x95\x40\xcd\x2a\xb0\x2a\x8b\xa6\xd5\xc8\xa2\x58\x47\x02\x93\x94\x0f\x5c\x86\x25\xea\xfe\x49\xb1\xe4\x6e\xd6\xaf\x0d\x90\x0b\xa4\x52\xcd\x2d\xce\x4b\x81\x9f\x0b\xfc\x42\xe0\xcf\x02\xbf\x12\xf8\x93\xc0\xbf\x08\xfc\x4e\xe0\xef\x04\x7e\x2b\xf0\xaf\x02\xff\x5d\x13\x0f\xe7\x86\x52\x78\x2f\xad\xbd\xfc\x46\x56\x9b\xf9\xa5\xbc\x77\x37\xff\x6d\x1f\xef\xcf\xef\xa5\x10\x1a\xd9\xde\xc8\xdd\x0e\x7f\x2f\xc8\x3b\xe9\x7e\x96\xf8\x6f\x89\xff\x25\x71\xdc\xfb\x9b\xe2\xde\xdf\xb4\x3f\x98\x21\xfc\x2f\x41\x42\x76\x5a\x52\x05\xf3\x34\xd9\xec\x5b\x73\x35\xad\xc4\xb5\x63\xba\x5b\x3d\x47\x6d\x97\x39\x10\x88\xd5\xbf\xa2\x69\xb2\x20\x4f\x43\x05\xea\x04\x22\xea\x94\x49\x01\x2e\x76\x58\x87\xb4\xad\x8b\x8b\x07\x4c\x9a\x12\xf2\x97\x74\x39\xf1\x44\x1c\xcc\x74\x58\x75\xfd\xa8\x96\xb5\x7a\x0c\x67\xda\xfe\x50\x3f\xaa\xcd\xd6\xec\x82\x71\x0a\x84\x30\x45\x51\x1c\x73\x2c\x67\x38\x66\x38\x53\x4b\xb6\xd6\xf8\xd1\x1d\x72\x63\xed\x85\xa8\x32\x8d\x55\xe4\xba\x5b\xc2\x46\xf0\x64\xfe\xf2\x53\x41\xd3\xe7\x0d\x8a\xb2\xea\xfa\x6f\xd2\xfd\x43\xa2\x1d\xf2\x33\x7a\x4d\xfe\x28\xd9\x4b\x9f\xa6\xe7\x2c\xcb\xdb\xad\x4c\x0f\xeb\x75\x91\x9f\x09\x49\x25\x73\xe3\xd3\x31\x0e\x66\xc8\x98\xc3\xb9\x71\xcf\x1f\xe3\xe1\x89\x7f\xac\x5d\x7d\xd2\x34\x65\x69\xee\xc6\x83\x53\x7f\x84\x8f\x46\xfe\x68\x86\xb4\x31\x9e\x1b\x06\xc7\x81\xbe\xcf\xad\x5b\xff\x35\xa7\xf7\x7b\x65\xd1\x7e\x18\x81\x4d\xa1\xe0\xa8\xa4\x92\x8e\x6a\x74\xc0\xdc\x04\x53\x84\xe5\xdd\x9d\x9b\x99\x47\x74\x77\x57\x98\xc7\x5d\x33\x80\x46\xa3\x59\x17\x69\xb3\xcf\x07\x87\x19\x8e\x8e\x9a\xe3\x1c\xe0\xd1\x09\x8c\xc7\x1a\xe6\x68\x84\xc7\x23\x85\x47\x1f\x51\xdd\x71\xb3\xba\x21\x0e\x4f\xfd\xd3\x66\x75\x27\x38\x3c\x01\x4f\xb7\xe6\x60\x6d\xaa\xf4\x48\x12\x73\xcc\xac\xf5\xc1\x8d\x3b\x92\x16\x51\x6b\x62\xa0\x8e\x30\x23\x49\x6d\xc1\x69\xdc\xfa\x2b\xf2\x40\x7b\x27\x90\xb8\x20\xda\x43\x8d\xf6\x4f\x50\xfa\xfd\x73\x8b\x33\xe2\x87\x83\x4e\xc7\x1f\x0c\x8f\x14\x0a\xcb\xce\x48\xcf\x3f\x1a\x8c\x3a\x9d\x9e\x3f\x08\x8f\xce\xb2\x29\x8d\x20\xcf\x78\xbc\x97\x69\x10\x1e\xa9\x4c\x61\x38\x3a\xcb\xa6\x22\x4a\x90\xe9\x25\xdc\xd8\xf2\x43\x69\x80\xd5\x65\x83\x61\x55\xa7\xa9\xf5\x96\x91\x1a\xfb\x96\x52\xc3\x43\x08\x15\x8a\xe7\x2e\x49\xb6\x02\x61\x66\xbf\x64\xd6\xcb\x0e\x1f\x72\x4c\x35\xb7\x8e\x59\xfd\x98\x59\x3c\x7c\x8d\x16\x1b\xc5\x2c\x0a\x10\xb3\xc6\x5b\xd6\xa0\x0e\x2b\x4c\x7a\x50\x5a\x93\x2c\xcc\x7a\xce\xea\xe7\xdd\xbd\x68\x57\xee\xd1\x46\x30\xde\x46\x42\xf6\x48\xea\x49\x36\x89\x27\xd6\x7c\xcd\x1a\xaf\xbb\x9d\x9a\xc3\x4d\x79\xc1\xfd\x38\xeb\xcf\xa4\x2e\xe0\x4a\x84\x69\xf3\x55\x34\x5f\x39\x50\x1b\x55\x0a\xfa\x4a\x23\xe1\x72\xe1\x43\x3b\xfa\xd1\x1f\x8e\xba\xd0\x4e\xf5\xc5\xb2\x69\x76\x1b\xbb\x03\x48\x1d\xb3\x73\xee\x37\x7d\x6e\xf5\x7e\x5d\xba\x89\xb5\xab\x9b\x68\x5f\xa6\xf5\x66\xcc\x89\x36\xe7\x5d\x12\x30\xe8\xad\x94\x0b\x1b\x7b\x54\x22\xeb\xc0\x73\xe3\x38\xef\xf9\x47\xa3\x51\x77\x8e\x97\x3d\x7f\x30\x3c\xe9\xce\x67\x38\xce\xbd\x32\xcd\x33\x69\x0a\xd1\xea\x3d\x92\x22\xbd\xd8\x71\x46\xa8\x55\xad\xaa\x67\x18\x1c\x9b\x32\x41\xd8\x9d\xcf\x5a\x1a\x1a\x8c\xba\x73\xef\x2d\x55\x79\xc2\x01\x3c\xaa\xd6\x60\x57\x77\xe7\x3d\xfd\x61\x30\xd4\xcf\x6d\x6d\x16\x44\xec\xb5\x39\x08\xca\x7e\xaa\x0a\x5b\xda\x84\xaa\xcb\x36\xc7\x63\xab\xd1\x30\x1c\x3d\xaa\x51\x5e\x2d\x12\x73\xcc\x00\xe0\x7f\x16\xf8\x47\x81\xff\x14\xf8\x2f\x81\x7f\x13\xf8\x0f\x81\xbf\x11\x25\x66\xfd\x5a\x89\xc8\x8f\x8a\x10\xfc\xc6\x26\x61\xbe\xb9\x97\xd2\x69\x66\xab\xe5\x1d\xdf\x54\xf2\x0e\xfc\xb3\x00\x56\xf4\x47\xd1\x1f\xa0\xdd\x0e\xff\xb3\xea\xd7\x3f\xe5\x63\x3a\x76\x6e\xb7\x7c\xbe\xc3\xbf\x57\xe5\x7f\xb0\xcb\xff\x54\xd3\x6f\xff\xb9\x9f\x7e\xfb\xdd\xee\x2e\x67\xf7\x8d\xea\xf7\xb2\xf7\x3f\x48\xdc\x28\xf2\x53\xf5\xae\x06\xf9\x1f\x59\x0b\x73\x36\x54\xae\xef\x3f\xdf\xcb\x43\xac\xd3\x69\xf3\xe3\x2e\xc0\x9b\xb6\x6a\xf0\x1d\x5d\x24\x45\xee\x7a\xe2\x9e\x98\x0e\x98\x76\x3a\x54\x93\x55\x77\x77\x2e\x25\x85\x9b\x20\x74\x40\xb4\x83\x7b\x32\x3f\x63\x79\x91\x36\x98\x75\x59\x13\x3e\x54\xd3\x15\xbc\x8e\xfe\xa8\x88\x4a\x2c\xc8\x91\x3f\xb2\xdc\x57\xdf\x23\xb7\xfb\xb9\x8d\x55\x28\xdc\x6f\x04\x42\xf8\x67\x51\x3a\x10\x38\xe0\x3f\x4c\xe9\xaf\x62\x40\x0a\xf7\x77\x55\xeb\xaf\x62\x1a\x7f\x27\xfa\xbf\x2a\x72\xbe\xff\xab\x98\x45\xef\xc4\x34\xfe\x24\xfa\xef\x14\xa1\xdf\x7f\x27\x66\xd1\x2b\x31\x8d\x5f\x88\xfe\x2b\xc5\x02\xf4\x5f\x89\x59\x54\x31\x13\xaa\x3f\xfb\xb2\xb6\xba\x37\xbf\x09\xf2\x87\x20\x3d\xf7\x4f\x41\xfe\x12\x9a\x8f\x3d\xec\xc3\x3f\x55\x1f\xe2\x18\xf6\xd7\x0c\xc7\xb0\xc3\x66\x33\x7d\x3c\x88\xbf\xf7\xc3\xa5\x3d\xa0\xae\xee\x16\x46\x41\xbd\x24\x0e\xee\xee\x32\xe6\x72\x14\x6d\xb1\x74\xb5\xbe\x3a\x87\x90\x42\x8f\x0d\x02\xe3\x26\xc6\x9b\x83\x9b\x41\xb5\xec\xfa\xc9\xef\x12\xac\x6e\x21\xf0\x12\x6e\x71\x7d\x7f\xb0\xdc\x04\xd2\x8d\x67\x30\xa0\xfa\xc3\xe3\x4e\x21\x41\x5a\x96\xb4\x9c\xca\xc8\xdd\x5b\xd4\x12\x61\x4f\x1f\x7a\xa2\x09\x39\x77\x9f\x50\x76\x11\x2a\x81\x60\x9c\x55\x97\x73\x02\xe8\x76\x29\xb2\xb6\x98\x02\x07\x1c\x51\x23\x5c\x72\xc1\x6c\xbf\x64\x26\x50\x11\x2b\xa3\x4b\xd4\x31\x86\x77\x3b\x5c\x30\xfb\x2a\xea\x80\xf8\x92\xe5\x7d\x11\x34\x57\x11\x5b\xb2\x9d\xd8\xb2\x72\x7e\x89\xc0\xb2\xb2\x7e\x91\x9c\xda\xcb\xfb\x25\x02\xaa\xd1\xdf\x47\x11\x4a\x87\x25\x0c\x51\x54\x4e\x85\xb5\xf2\x29\x3b\x4c\x7c\x5d\x48\x2a\x45\x46\x04\xab\xd8\x37\xf6\xa9\x48\x32\x36\x97\x94\xaf\x8a\x94\xb6\xc5\x94\xa0\xcc\x9d\xb3\x92\x7f\x9b\xb3\x92\xe6\x9f\x57\xf5\x03\x8b\xb1\xbf\xd9\x6c\xe1\x77\x2d\xf6\x23\x1c\x94\xac\xbb\x3f\x52\xac\xe8\x8f\xee\x8f\x8a\x55\x52\x09\xe4\x4f\x93\x02\x0f\x95\x4e\x39\x59\x32\xe0\x16\xbe\x1d\x8e\x03\x55\x88\xeb\x42\xb8\x54\x22\x3f\x1b\x4c\x79\x3c\x50\x49\x51\x80\xb0\x3c\xe0\x47\x1a\x4d\x97\x7c\xc0\xa3\x7a\xa0\xfe\xe7\x2d\x83\x9d\x27\xd9\x3c\x65\xf7\xfa\x71\xd6\xf7\x10\x2d\x9b\x2f\x9b\x66\xed\xe7\x47\x94\x61\xa9\x86\x09\x3e\xde\x54\xb7\x7a\xe5\x20\x83\x92\x73\x69\xe8\x9b\x6b\x9b\x1a\x30\xd3\xc1\x21\x6e\x65\xd4\x8c\x8e\x39\x27\x5a\x6a\x8c\x30\x2f\x07\xc8\xcd\x00\x77\x3b\x84\x8d\x07\x47\x73\x77\xe5\x60\xeb\x8a\x2a\x8a\x8b\xd9\x6e\x67\xc5\x3a\x04\xf6\xbf\x20\xe3\xff\x9d\xc7\xdf\x4c\x7b\xfc\x05\x54\x46\xf9\xca\x06\x5f\xf6\x40\x31\x46\xae\x98\xeb\x4a\xe2\x65\x48\x81\xa3\x80\xb9\xe2\x28\x92\xf7\xb0\x00\x5f\xac\x0b\xae\x5d\xdc\xc2\x54\x88\x8c\x17\x62\xd3\x27\xf7\xd4\x12\x0f\x2c\x12\x1d\xc0\xbd\xdd\x07\x2f\x81\x25\x64\x9c\xf2\xa9\x9e\x91\x72\xca\x12\x62\x16\x15\x36\x6e\x7e\xf3\x44\xf5\x0b\x0b\xfd\x36\x17\xb9\x7a\x4b\xeb\x6f\x05\xc2\xf3\xfa\x5b\xa1\x28\xf4\xea\x5b\x82\xf0\xb2\xfe\x96\x34\xf5\x55\xb4\x18\xae\x96\xbc\xb9\x8c\x2c\xbb\x14\x75\x99\xe7\x32\x32\xef\xe6\xbd\xb4\xbb\xec\x0a\xd4\x65\x08\xa7\xdd\xdc\x9b\xc3\x5b\x35\xbe\x55\x46\x65\x32\x2f\x1e\x58\xc8\x06\x7d\xeb\x35\xb2\x77\xd5\xda\x5c\x2b\x0a\x61\xb5\xd2\x33\x82\x1a\x07\xa7\xb5\x6b\xb6\xa4\xbf\x40\xdd\x05\x2e\xf0\x42\x3b\x34\x5d\xa3\xd2\xd4\xa1\x25\xf3\xbc\x7f\x89\xba\x97\x38\xc5\x97\x3a\xf3\x0a\x3d\x94\x3b\xeb\x6f\x50\x77\x83\x19\xde\x20\x13\x7d\xa6\x4d\x69\xef\x35\x75\xf9\xb7\x0b\x74\xf6\x96\x1a\x97\xaa\xf9\x83\x95\x8a\xfe\x15\xea\x5e\x61\x8a\xaf\xbe\x58\xe9\xa5\x55\xe9\xd2\x38\x2c\xb7\x88\x38\x9c\xe2\x39\xae\xee\x31\x48\x18\xe0\x2b\xb2\xc1\x0b\x72\x1a\xe0\x4b\x32\x1c\x07\x78\x4b\x06\x36\x99\xa7\x0e\x90\x36\xe9\x98\xbc\xd7\x5d\xac\x99\xab\xfb\xa6\x89\xef\xb4\x37\x2d\x51\x48\x55\xf7\x61\xd5\x0f\xe2\x83\xb5\x9b\x54\x70\x5a\x29\xc6\x47\x1b\xfb\x84\x08\xaf\xdd\x02\xf9\x19\xbb\x62\x59\xce\x5c\x2b\x7d\xe5\xce\xdb\xd2\xd1\x0c\x38\x78\xf6\x78\xdf\x58\xdc\xbf\xa4\x7f\x8b\xcc\x70\x6c\x12\xf9\x97\x09\xb7\x5e\x23\xde\x48\x80\x31\x5a\x05\x1e\xc9\xb5\x6b\xbe\x18\xae\x1f\x34\x6b\x0c\x8e\xd8\x4d\x6a\x38\xc3\xa9\x49\x0d\x67\x38\x31\x12\xf5\x04\x27\xa4\xc0\x05\x91\x08\xcf\xcf\x52\x48\x9a\xe3\x39\x49\x71\x4a\x80\xc5\xaf\x65\x08\x5b\x84\xa2\x38\x4e\xb0\x62\x9c\x0b\x9c\x6a\x22\xd5\xea\xf4\x63\xb1\x68\xd5\x47\x56\xf7\x51\xd4\x7d\xa4\x75\x1f\x33\xb8\x71\x95\x24\xc3\x19\xd8\x79\x4a\x84\xc5\x19\x85\x24\x81\x05\x51\xe8\xa9\xb5\x8f\x19\x16\x20\x06\xa6\xba\x8f\xb9\x64\x9b\xaf\x99\xa3\xf7\x92\x6d\xaa\x19\x32\x2f\xe5\xfc\xc0\x6b\x3d\x3b\xef\x1f\x5b\xb5\xbb\x30\x32\x8b\x4b\x3d\x3c\xf0\xe0\xb6\xc0\x97\x35\x10\x1f\x5f\xd5\xc6\x54\x75\x65\x55\xb5\xc1\x57\xb3\xff\x85\x4c\x69\x4b\x3c\x89\x73\x72\xc9\x5c\x81\x29\x3e\x85\xfb\xbb\x2d\x73\x33\xcc\xf0\x16\xe1\xb5\xfa\x30\xc7\x29\x7c\x58\xa9\x0f\x09\x2e\xd4\x07\xc5\x55\xec\xad\x50\x37\x8e\xe1\x5a\xbd\x77\x1a\x68\xc1\x83\x7a\x39\x0d\x8c\xa8\xc1\x5e\xdb\x65\xc6\x13\xf8\xa8\x33\x9e\x40\xa1\x99\x8d\xda\x19\x95\xcf\xb3\xf9\xe3\x30\xfb\x7d\xd8\x22\x96\x77\x77\xf7\x10\x2c\x98\xdd\xdd\x15\xed\x9f\x1a\x44\xc3\x6b\x86\x0b\x72\x63\x59\x0d\x1e\x1e\xaa\xfb\x32\xff\x32\x87\xfb\xbf\x6a\x5d\x8b\xea\x44\x91\xd9\x4d\xb0\x07\x77\x14\xc3\xb2\x8d\x58\x63\x53\x45\x5e\x45\xac\xa2\x5a\xb4\xa3\xe5\xc7\xc7\x37\x60\xed\xfc\x17\xd4\x2a\x2b\xba\xa3\x65\xc9\x3d\xb0\xc5\xa2\x60\x87\x79\x35\xcd\x96\xcb\xc8\x76\xd3\xb4\x73\x4d\x39\xdb\x54\xf3\x3e\xe1\x5b\x55\xa6\x9b\x68\x0d\xd3\xd2\xc6\xff\xff\x20\x10\xfe\xb7\xd1\x06\xfa\xb7\xc0\x3f\x1c\x5e\xe3\xd9\xe2\xad\x8f\xec\xb1\x62\xa4\x9f\x04\xb9\x66\xed\x07\x6c\x49\xe6\x0c\xfa\x6e\xe8\xf1\x7d\xe5\x63\x93\x6d\xa0\x35\x94\xa9\x22\x9e\x78\x7f\x80\x76\x68\x52\xb1\xb1\x9f\x93\xcb\x42\xae\x69\xfa\xd0\x4d\x15\x65\xee\x4f\xa2\xe4\x74\x7e\x12\x30\xbe\xff\x1c\xf4\xc9\xdc\x9c\x43\x4b\x8a\x30\xb3\xc2\x9c\x75\x3a\xb2\x5f\x91\x6f\x8a\xf7\xdc\xb6\xf7\x20\xd1\x0b\xbd\x2d\x4a\x1f\x65\xee\x7f\xaa\x3e\xfc\x47\x34\xaf\xd9\x5e\x08\x0e\x3a\x9b\x6d\x7e\xb4\x7e\x93\xee\xfb\x8a\x4d\x7b\xcf\x0e\xee\xe7\x1e\x68\xf3\x37\xe9\x5e\x54\x45\x2f\x18\x8c\x9b\xa7\xf7\xcc\x45\xd8\xe7\x3b\x5c\x91\xa0\xf5\xf8\x56\x5c\x5c\xaa\xa6\xda\xc7\xc4\xd3\xb2\x7e\x9e\xe2\x37\xec\xf0\xe2\xa8\x5e\xb9\x31\xc7\xe5\x44\x4a\x6a\x9c\x9c\xb1\x1b\x75\x94\xa0\xde\xcf\x74\x56\xdf\x3c\x5e\xb2\x6c\x0e\xec\xec\x61\x8b\x2f\x99\xfb\xa6\x1a\xd1\x1b\x3d\x22\xd9\x1c\x51\x3d\xa0\x72\x38\x79\x62\x0d\x47\x64\x72\x2d\x56\x19\xdd\xac\xef\x1b\x92\xac\x86\x24\xb5\x2b\x74\x76\x3f\xc8\x60\xd1\x3e\xb8\x66\xd5\x50\xb9\xbd\x62\x73\xc9\x32\xf6\x70\x0f\x58\xd5\x03\x96\xe2\xe7\x0f\x03\xb5\x27\xdb\xa1\xca\xf7\xa1\x0a\xd2\x1c\xa0\xda\x5e\xb7\xc0\x57\xf3\xb7\x2f\x99\xfb\x9c\x21\xac\x78\x6a\x7d\x9f\x88\x19\xe1\xe6\xaa\xb1\xc6\xf7\xfb\x0e\x4b\x2d\x99\xeb\x54\xba\x71\xcf\x28\x7f\x06\xb3\x19\x8a\x80\x59\x45\x38\x86\xb4\x9e\x4e\x54\x28\x52\xd7\xd9\x5e\x07\x73\x63\x4b\x89\xb4\x29\x11\xf0\x4e\x83\xe8\x34\xd0\x15\x33\x5d\xb1\xad\x6e\xda\x53\xdf\x76\x98\xb9\x8a\xb3\xc5\xf0\xa2\x01\xf9\xbc\x64\xf4\x2f\xc1\x64\x5d\x3f\xfa\xeb\x62\x2f\x44\x99\xc5\xee\x70\xb8\x8f\xe1\x95\x6f\x0d\x73\x11\x13\xcf\xf4\xa2\xc3\x05\x79\xc9\xc1\x91\x86\xfa\xcd\x90\x1d\x0d\x17\x2c\xe2\x53\xc5\xdb\xeb\x98\xe4\xc1\x84\x9e\xc9\x89\xf4\x3c\x64\x6c\xd8\x63\xaf\xb0\x83\xb7\xc5\x72\x86\x25\xc2\x5e\xd2\x92\x28\x4d\x90\x56\xa1\x55\x78\x3e\xc1\xf4\xd4\x15\x9a\xf8\xaa\xb1\x88\x25\x90\x8d\x3d\x78\x08\x67\xb3\xf2\x8e\xe8\x15\x83\xe8\x0a\xea\x37\x55\xb4\x4c\x1e\x07\x33\x42\xc8\x5c\x2b\xc4\xe4\x71\x5e\xa9\xd7\xe8\xe4\x79\xfd\x8e\x57\xf5\x10\xea\xe4\x89\x3c\x23\xc1\xa4\xd7\x93\x68\x65\xc4\x11\xb1\x88\xe7\xb1\x9c\xcd\xe2\xc1\xcc\x74\x56\x12\x6f\x39\x91\xcf\xaa\xba\x21\x8e\xa4\x9d\x3f\xaf\xf3\x9b\x69\x5f\x69\xc6\x8a\xbc\x50\x24\xc6\xe7\x6a\xb5\x1d\x86\x2e\x75\x39\x8a\x5c\x69\xbb\x9b\x7d\x48\x62\xcb\x08\x28\x7a\xb3\x1d\x96\xb6\x4f\xd9\x87\x8a\x64\xba\x48\xb6\x2b\x63\xea\xc1\x52\x31\x27\x5a\xab\x66\x2d\x75\x39\xce\xd2\x2a\x02\x63\x96\x92\xbd\x52\x96\x88\x33\x9e\x4d\xb2\x74\x4f\xd8\x6f\xc5\x99\xc4\x87\x31\x38\xcb\x20\xa2\xac\x07\x0e\xa7\x83\x32\x26\x27\x07\x2e\xc0\x44\xe6\xc4\x85\x0e\xba\xd2\xcd\x4a\x09\x46\x37\xab\x2f\x02\xfd\x51\xb7\xd8\xe1\x2c\x6d\xbf\x2a\xa8\x49\x3b\x50\x32\xb6\x9b\xd6\x51\x5a\x03\x6c\xec\xf8\x8b\x5e\xa8\x17\xc4\x3e\xd4\xee\xee\x5c\x4e\x7a\x61\xdf\x1d\x6b\xcf\x90\x14\x94\x14\x10\x2a\x15\x95\x35\x7b\x02\x75\x64\x8a\xcd\x01\x8a\x45\xc4\xe1\xac\x27\xd4\x13\x10\xed\x89\xa7\xe5\x2f\xa0\xee\x82\xba\x0c\x53\x48\x08\x67\xa0\xe9\x82\xba\xe5\x9a\x88\x93\x2e\xc7\xb4\xcb\x67\x7a\x44\x69\xb2\xf9\x52\x60\x49\x2c\xc8\x77\x20\xa0\x4f\xd5\x08\xe7\xf6\x08\x7b\xdf\x95\x0e\xea\xb5\x45\x42\x3c\x57\x43\xf4\xbc\xf4\xd9\xdc\x38\xad\x50\xc8\x50\x33\xb9\xa8\x42\x46\xa0\x87\x06\xd9\xd3\x19\xc8\x86\xdc\x3a\xe6\x41\x4f\xa0\x1e\xe8\xea\x40\xb8\x66\xf6\x2c\x9b\x20\x4a\x64\xcc\x66\xf8\x17\xe6\x52\x9c\x83\x1a\xdd\x2f\x8a\x71\xc8\x41\xb9\x8e\xeb\x5d\xf1\x0e\xd4\x4e\x20\x0d\x18\x38\x95\x46\x11\x8a\xaa\x9c\x9d\x4e\x5b\xce\x84\xd0\x89\xa8\x3e\x81\xe4\x0a\xe7\xa4\xa8\x04\xad\xc6\x55\x66\x8a\x93\x14\xd3\x14\x8b\x14\xa7\x29\x9e\x2b\xdc\x84\x73\xc0\x50\x7f\x5a\xf2\x77\x45\xb8\x6e\x68\xd6\x1e\x01\xb5\x8c\x7f\xca\x16\x2b\x88\xf3\x50\xc5\x78\x60\xbd\x9e\x5a\x8c\x10\xd9\x41\x7d\xc4\xdc\x3f\x57\x3d\xa2\x77\x77\xd2\xcf\x37\x00\x3a\x86\x43\xdb\x08\x51\x61\xb2\xdf\x14\x26\x33\x75\xec\xb0\xcc\x1a\x16\x29\xfb\x32\x75\xdb\x1e\x44\xb5\xe1\xa7\x84\xe8\xee\xe4\x89\x64\xd3\x3a\x9d\x46\xf5\xf3\xf9\x0e\xb3\xa6\xa0\xfd\xd1\xd5\x9c\x5b\xd5\xd0\xdd\x0e\x37\x22\xa5\xde\xea\xf0\x9b\x51\xab\x0c\x11\x17\x13\x75\x6c\xe8\x08\x20\xfe\x5b\x85\x4b\xfc\x37\x84\xfb\x6f\x30\xf7\xdf\x74\x3a\x2e\xf7\xdf\xf8\x6f\x35\x93\xfe\x86\x48\xcc\xfd\x77\x55\x7c\x6b\xff\xdd\x84\xfb\xaf\x14\x2c\xd5\x0f\xf7\x5f\x11\x69\x34\x9a\xfd\x77\x44\x4e\x18\xe1\xfa\x55\x1b\xba\x4e\x5d\x4e\x68\x66\xac\x5e\x15\x28\xdf\xea\x6b\x46\x68\x0e\x73\xf5\xaa\x6a\x50\x27\x38\x20\xcc\xb7\x04\xbe\x40\x16\x28\xa3\xbf\x81\xa3\x28\x58\xe7\x2a\xb7\xff\xae\xac\xe4\x57\xc5\x43\xf9\x2f\xc8\xd3\x00\x73\xd5\x78\xa7\xc3\xfc\x17\x13\x94\x11\xe6\xff\x8a\x19\x21\x24\xf3\x5f\x29\x9e\x28\xf3\xdf\xe1\xa2\xd3\x29\xfc\x17\x53\x97\xf9\x2f\x48\xa1\xca\x84\x38\x2b\x8b\x66\x70\x54\x13\xc2\xfc\x77\x9d\x8e\x5b\xe8\x0e\x63\x86\x30\xd7\x8e\xaa\xfc\x5f\x11\x66\x8d\x32\x89\xc9\x93\x21\x84\x22\x68\xe1\xd5\x23\x5b\x78\xd5\xe9\xb8\xc9\x23\x5a\x28\xac\x16\x74\x0e\xe3\x31\x1f\x72\xed\xb0\x8e\x7b\xd9\xd0\xf6\xb3\x27\x8f\xfb\x6f\xd5\xf4\xbd\x85\x84\xb7\x7a\x76\xf5\x7c\x72\x33\x09\x13\x0b\x01\xa9\xea\x71\xa2\x26\x03\x48\x84\x77\x13\x88\x1b\x93\x4c\xe9\x94\x66\x2e\x45\x51\x12\x51\x5c\x4c\x0b\xff\x15\x21\x84\xc3\x2f\x8b\x0a\xff\x1d\x61\x91\x99\x26\x86\x93\x4e\x87\x02\x57\xeb\xbf\x80\x91\x70\xf8\x7d\x45\x12\x9c\xc0\x3c\xb1\xa7\x84\x50\x35\x19\x30\x37\xfe\xaf\xd0\x24\x57\x20\xc7\xaa\x3e\x8e\x99\xff\x8e\x50\x4c\x55\x66\x14\xb9\x2a\x47\x81\x0b\xc2\x74\x1e\x05\xe5\x0c\xea\xe4\x44\x41\x0d\x86\xf5\x2b\x29\x10\x7e\xaa\x63\xa1\x72\xb5\x9b\x5f\xd8\xa1\x59\x5c\x0e\x90\x42\x93\x85\x80\x0c\xe5\x2e\xfa\x68\xbc\x2a\x99\xb4\xc2\x7f\xa5\xf7\x01\x29\xfc\x77\x6a\x35\x75\x3a\xae\xd4\x33\x51\x34\x67\xa2\x50\x54\x4d\xe1\xbf\x53\xeb\xf8\x55\xa7\x23\xfd\x57\xfe\x0b\x85\x3e\xde\xa9\xe7\x77\xfe\x0b\x74\x5b\x3f\xdf\xdd\xb9\xf0\x5d\x55\x23\x9b\x4b\x46\x5a\xd5\xc0\x42\x81\x76\xa0\x14\x34\x5a\xb7\xc6\x4d\x87\x27\xd0\xe1\x5d\x65\x15\xa1\x8a\xbf\x6a\xed\x6a\xd2\xec\xea\xab\x87\xba\x5a\xa7\xbb\x55\xe3\xb2\x39\x62\x69\x55\x63\x77\xd5\x0c\x2c\xb9\xb7\xab\xd5\xa6\x54\x53\x58\xf8\xbf\xee\xae\xd7\x49\xca\xdc\xa7\x6a\x8a\x26\x7a\xf2\x60\x6e\x76\xbb\x9a\x78\xb9\x12\x99\xe0\x22\x79\x80\xd4\xad\x8d\xc6\xb5\xcb\xa4\xf2\xa4\x03\x25\xb9\x4a\x82\x5a\x2a\xa2\x26\xa4\xd4\x43\xa5\xc4\xa8\xa1\x96\xd8\x5d\x64\xae\x0e\xe4\x82\xfc\x39\x4b\xd3\xfc\xd0\xec\x99\x61\xa1\xdb\x4b\xc9\xff\x97\xb6\x3f\x6f\x6e\x1b\x47\x1e\x80\xe1\xff\xdf\x4f\x11\xf3\xdd\x51\x01\x62\x8b\x26\xe5\x2b\xa6\x02\xab\xb2\x99\x99\xcd\xec\x2f\x4e\x66\xe3\x4c\x76\x67\xb8\x1c\x17\x4d\x41\x12\x12\x8a\x54\x78\xd8\x52\x6c\x7d\xf7\xa7\xd0\x00\x2f\x89\xf2\xda\x53\xcf\x53\x49\x59\x24\x8e\x46\x03\xc4\xd1\xdd\xe8\x83\xeb\xd3\x24\x64\x1c\x77\x60\x79\x08\x7b\x89\x5f\x85\x98\x1a\x47\x3b\x32\x71\x8d\xa8\x95\xa9\x2b\xd5\x92\x26\xc8\xad\x95\xa4\xf0\xfc\x0d\x75\x43\x6b\x75\xc1\xd2\x5e\x2f\xb4\x56\xaf\x98\x90\xbf\xeb\x0b\x56\xe0\xef\x2b\x16\x8c\x3d\x2f\x85\xc0\x07\x4f\xe8\xbf\x85\x0f\x5e\x0a\x85\xef\xbb\x9e\x3f\xca\x4a\x05\x7f\x2f\xf1\x37\x14\xf2\xce\x48\x7c\x2f\xf6\x3b\x58\xbb\x5f\x35\xbd\x02\xa9\x18\x4b\x87\xbf\x06\xb4\xff\x6b\x00\xeb\x66\x56\xd0\xca\x12\x6e\xbe\xd9\x50\x1d\xf6\xf3\x0d\x87\x82\x7d\xe7\x20\x58\x0a\x01\x2b\x20\x61\xd3\x68\xd4\x60\xb0\xd4\x76\x1e\x89\xf8\x6b\xa7\x8e\x85\xfe\x00\x54\x0d\xed\x23\xb7\x1b\xb1\x15\xc9\x85\x9d\x6e\x76\xe3\x69\x96\x77\xfc\x28\x73\x73\xe5\xe8\x46\x96\xf0\x41\x49\xcb\xf0\x3d\xb5\x84\x8f\x17\x0f\xb9\x95\xa7\x02\x2f\xda\xb2\x0e\xdd\x4b\x6f\x7b\x5e\x3c\x32\x2b\xd2\x9a\xd8\x50\x5a\xd7\x7a\x4e\x24\xe5\x34\xa9\xe9\x06\x4d\xc7\x25\xb5\xcb\xb1\x04\x09\x37\x45\x7f\x4c\x59\x86\x07\x7b\x30\xce\xac\xd4\xcd\xac\xa8\xa4\xe7\x0a\x96\x81\x60\x53\x2c\x1e\xed\x2b\x0c\xe9\x2b\x61\x89\x5e\x2f\x7d\x35\x95\x3f\x61\x4a\x02\x10\x30\xa5\xaf\x6c\xb9\xa8\x15\xb7\x15\x4b\x2a\x36\xf6\x84\x1c\x94\xd8\x9b\x5a\x42\x72\xb5\xe8\x26\xe1\xc9\x8c\x89\x62\x1b\x59\x4c\x4b\x5e\xe3\xa9\xec\x49\x20\x2b\x16\xba\x62\x21\x2b\x76\x69\xb1\x3f\x06\x21\xd1\x5a\x2c\xf1\x78\x1a\xb9\xc8\xeb\x24\x8c\xb1\x69\xa4\xc4\x98\x89\x04\xd9\x0e\x26\xf2\x08\xb0\x66\xeb\xf2\xa0\xd0\x1a\xe5\xb1\xbf\x05\xb4\xd7\x93\xfb\xc4\xa6\x32\xb6\x9d\x46\xcc\xf3\x06\x0e\x3f\x05\xf9\xc7\x07\x4f\x3e\xca\x27\x7f\x54\x6e\x5a\x13\x1e\x05\x45\x1c\x74\x0e\xcb\xd6\xc6\x46\x68\x3d\x0b\x95\x03\x27\x9d\xff\xad\x08\x26\x79\xca\xf9\x56\xfc\x68\x79\x2e\x37\x76\x40\xd1\xda\x0f\x05\x69\x29\xff\xcb\xdd\x4a\x4c\xc9\x81\xc8\xde\x07\xef\x09\xa7\xbd\x9e\x7e\x4c\x29\xd5\x02\x82\x60\x5a\x6e\x68\xb1\xb5\x82\x8c\xc5\xd6\x1a\x8f\xc0\x22\x8a\x0e\x18\x06\x8a\xbb\x0c\x48\x34\xe0\xd4\xbc\x0c\x48\x36\x48\xe9\x2b\xcb\x76\x68\xb8\xd3\x4e\x1d\x72\x75\xca\xb4\x72\xd0\x28\xb6\x56\x12\x5e\xf9\xae\xc8\x33\x59\x75\x0a\x91\xe4\x01\x74\x55\xd8\x85\x56\xd2\x8e\x2b\x79\xd0\x5b\x6b\x96\x96\x0a\x47\x25\x59\xd9\x51\xa5\x1a\x84\x66\x1e\xde\x72\xaa\x1e\x86\xcc\x3a\xe9\x93\xc2\x44\x91\x82\x7c\x0c\x4c\x94\x2a\xf0\x0b\x16\xc2\x9c\xa5\x17\x2c\x83\x19\x9b\xbf\x7a\xe5\x3c\x4c\x47\x6a\x68\xe4\x69\x26\x29\xda\x38\x99\xf0\xcc\x9b\xf9\x92\x55\xac\x5e\xd8\x3c\x25\x94\xc2\x74\x5c\xb0\xd0\x4d\x24\x8c\x71\xc0\x32\x37\x92\x0b\x75\x07\x83\x7d\x26\x63\x72\x41\x24\x14\x56\xf2\x37\xa2\xf5\xc8\xe7\xf4\x96\xe5\x30\x61\x1c\x16\x2c\x85\x35\x2b\x2a\xff\x87\x0b\xb6\x66\x03\x72\xcb\x26\x4a\x07\x6d\x2a\xd9\xa1\xb9\xfc\xb3\xac\x85\x38\x01\xc6\x0b\x9f\x31\x7b\xb4\xbc\x98\x8d\x4c\x73\x46\x33\x16\x7b\x33\x1f\x32\x6b\xf5\xea\xb6\xd7\x23\xb7\x2c\xb3\x56\x14\x32\x6b\xfd\x0a\x23\x3d\xb2\xcc\x5a\xcb\xd7\xd5\xc5\xa2\xd7\x23\x8b\x2a\x17\xed\xbc\xd6\x2a\x77\xaa\x36\x10\xcc\x9a\x97\xcf\x6b\xed\x98\x71\xbb\x3d\x1c\xf1\x1b\x66\x5e\x12\xdd\xf2\x8c\xc2\x35\x33\x57\x24\x83\x19\x1d\xdd\x5e\xdc\x20\x12\x37\x14\x26\x17\xd7\x88\xc0\x35\x85\x1b\xdd\xf8\x0d\x85\x6b\xdd\xf0\x75\xd5\xec\x4d\xd5\xe8\xb5\x1a\xcc\x3b\xb6\x18\xdc\xc2\x15\x5b\x0f\x26\xa3\xbb\x8b\xab\xf1\x9a\x4d\xcc\x3b\x77\xc1\x6e\xcd\x2b\x5c\xa5\x5f\xf1\xfb\xc8\x11\xfd\x6a\x05\x93\xb6\xd4\x40\x90\xaf\x10\x83\x79\x49\x62\x90\xc8\x82\xb9\x22\xb1\xc4\x50\x7f\x16\xba\x81\xaf\xd6\xad\xc8\x44\x7b\x53\x9a\xa5\x24\x86\xaf\xad\x42\x53\x11\x77\xaa\x2e\x2e\x53\xd9\x42\x25\xde\xab\xab\xcc\xe4\xee\xaf\xc3\x2a\xa9\x33\x43\x0e\xd7\xab\xe5\x88\x22\x4e\x72\xa4\xa6\xf2\xcf\x5c\xfe\x29\xab\x8d\x06\x83\x59\xb9\x22\xca\xc3\x07\x3b\x55\x07\xd5\x62\x73\x16\xb3\x4c\xad\xb0\xaf\x1b\x65\x8a\x96\xc8\xe3\x38\xaa\x05\x52\x24\x60\x3b\x1a\xda\x72\x47\xcd\x52\x88\xd8\x34\x85\x23\x79\x94\xa0\xef\x4f\x0c\xc5\x2e\xf9\x64\x66\x53\x39\x99\x25\x99\x2d\x9e\x7a\x3a\x24\x2c\x06\x81\xba\x7b\xe2\xa9\xe7\x42\xa4\xaa\x44\xb2\xca\xf6\x2d\xfc\x63\xf5\xca\xb3\x20\x67\x9c\xa5\x4c\x19\x0f\xb9\x24\x67\x66\x5c\x5f\x4a\xc7\x9a\xee\x4b\xe5\xa3\x53\x5e\xa7\xc7\xa5\x01\x92\xa0\x6e\x19\xe5\x0a\x6b\x7b\x5e\x0e\xbc\x24\xab\x24\x3e\x4f\x3e\x4e\xf6\x62\xa3\xe2\x4a\x22\x22\x65\xd3\x1d\xed\xa6\x83\x1c\x8a\x01\x97\x6d\xaa\x43\xa0\x71\x9b\xf6\x71\x76\xc3\x6e\xd3\xad\xc4\x0f\x37\x5f\x78\x98\xb3\xc9\x76\xfa\x7b\xf4\x9b\xc1\x16\xdb\xe9\x3a\x6a\xc9\x5a\xf9\x71\x99\x47\xec\xd0\x1b\x98\xfe\x98\x8c\xdd\xff\x4e\xcc\xff\x5a\xe3\xff\x4e\xfa\x0f\xf8\x63\x52\x32\x76\x3d\xfe\x93\x8f\xf9\xe8\xbc\xf0\x70\x06\xb3\xa8\xe9\x44\x78\x1e\xe9\x5b\x4d\x30\x66\x06\xdd\x8a\x14\xce\x2e\xb7\xda\x4e\xd2\x8c\x79\x1d\x22\x87\xea\x16\xb2\x9c\xa1\x86\xf2\xef\x6b\x48\x96\x78\x5c\x24\xca\x43\xa9\x95\x27\xef\x92\xbb\xd2\xcb\x20\x7d\x78\x38\xfc\x93\xfc\xff\x1f\xd2\xd9\xcd\x7f\xc9\xc3\x3c\x8b\xfe\x4b\xe8\xa1\x50\xee\x90\x73\x3a\xbe\x4d\xdd\x75\xea\xe6\x2f\x44\xac\xae\x6d\x93\xe9\x8b\x24\x96\xa9\x5b\x6e\x55\xe9\x78\x95\xba\x46\x82\x63\x88\xcd\xf5\x7a\xea\x68\xcc\xe9\x78\x92\xba\x8b\x94\x2a\x55\x4d\x7f\x6b\x14\xb1\x3a\x5b\xa9\x41\x5c\x76\x5d\x7a\xad\x37\x70\x1b\x55\xfe\x1d\x23\x11\xf3\x20\x75\x97\x11\xde\x2b\xba\x3f\xa5\x20\xcf\xf5\x0e\xc1\xce\x55\xba\x81\xb0\xb8\x11\x61\x47\xde\xd7\x74\x03\x99\x88\x3b\x72\x5e\xa7\x1b\xe0\xab\x65\x47\xce\x1b\x09\x0f\x15\x03\x3b\x32\xbf\xcb\x6a\x51\x90\xe5\x22\x74\xdf\xa5\x70\x13\x84\x5f\xdd\x6f\x29\xdc\x24\x45\x1c\x76\x95\xff\x94\x6e\x36\x14\x26\x75\xb7\x0c\x11\x1b\xee\x1a\x92\x22\x77\xaf\x53\x30\x44\x3c\x48\x8a\xdc\x70\xef\x52\x30\x92\x22\x1f\xc8\xdc\x8e\x35\x73\x97\x92\xeb\x14\x83\xe8\x29\x67\x2f\x3c\xc8\x3a\x03\xa2\x5b\x22\x9e\xf0\xd5\x87\x29\x31\x06\x06\x95\xfb\xd0\x05\xb3\xc7\xa5\x28\xd3\x96\x54\x5f\x2c\x77\xa8\x66\x6a\x6e\x3a\xd4\x95\x58\xd5\xf6\x23\xb7\x91\x35\xe3\x39\xe1\xf4\xe1\x61\x19\x41\xca\x26\xea\x3d\xa5\x0f\x0f\x6b\xb8\x49\x49\x4a\x4a\xf7\x6b\xb8\x6d\x46\x81\xba\xc2\xa8\x16\x36\x38\xe8\xf9\x71\x6b\x02\xbc\x0d\x23\xf6\x71\x7b\x6d\xbd\xcd\x22\xf6\xe3\x76\xe2\xbb\xe0\x86\xfd\xba\x9d\xf8\x11\x1d\xb7\xfe\x86\xc9\xdd\x4a\xca\xda\x87\x74\x60\x85\x29\x0f\x72\xfe\x53\xc4\x25\x36\xef\xaf\x48\x12\x58\x71\x66\x2d\xd1\x95\xaa\x95\xdd\xce\xd4\xd2\xd3\x2b\x67\x2f\xb8\x8a\xa4\x88\xd1\xa2\x8b\xe7\xaf\xf3\x3c\x15\x37\x45\xce\x89\x51\xd5\x30\x20\xa6\xda\x91\x57\x5e\xc3\xb1\x6e\x82\x8c\x7f\x0e\x22\x2b\x4c\xe2\x2c\x89\xc4\x44\x79\xad\x2c\x79\x30\x7e\xf7\xe2\x4b\x4a\xf8\x98\x5b\x8b\x20\x4f\xc5\xca\x5d\x44\x74\x43\x91\x86\xfd\x92\x3e\x29\x00\x9d\x51\x5b\xc5\x18\xa6\x72\xaa\x53\x26\x98\x06\xd5\x66\x82\x3a\x47\xbd\x99\x06\xcd\xbe\xf2\xbb\xff\x94\xa9\xf2\x45\xa6\xa1\x9d\x4b\x99\x26\x5f\x4c\x83\x1a\x8a\x5c\x5f\x44\xec\x3e\x70\x1d\xb8\x71\x6d\x08\x5d\x1b\x26\xae\x03\xdc\xb5\x61\xea\xda\x9b\xad\x8d\xeb\x53\x35\x82\x7f\x4b\x55\x34\xb3\x75\x52\xe4\xfa\xd6\x4d\xbd\x58\x37\x45\x3c\x89\xba\xf4\x45\x3a\x05\xf9\x92\x30\xe3\x0c\xed\xbf\xe3\xda\x01\x0a\x4a\xd6\x35\x43\xf6\xcf\x94\xc4\x1e\xf7\x69\x2d\x63\xde\x34\x9b\x0b\xe7\x49\x3a\x79\x5c\xb5\x17\xc2\x4a\x85\xef\x7e\x03\xb7\xb2\xc9\x09\xab\x14\x07\x05\x85\x45\x79\x17\xc6\x65\x5e\x2a\xff\xc4\xcc\x86\xb9\x12\xf3\xcf\x5f\x09\x7d\x5d\x10\x32\x1b\x09\x14\x24\x49\xc4\x88\x86\x26\x2b\xbc\xb9\xef\xcd\xfc\xd1\xad\x42\x36\xa4\xb0\x50\x4f\x0d\xf8\x14\x62\x93\x85\xe8\x61\x3b\xe8\xf5\x26\x8a\xd5\xed\xd4\xff\x08\xc8\xad\x17\xfb\x70\xeb\xe5\xc8\x73\x26\xbd\xde\x62\x8f\x6b\xb9\x78\x07\x4a\xad\x34\x93\x90\xc2\xcb\x7d\x09\x08\x7f\xb9\x84\xb5\xa1\x10\x33\xf2\x73\x30\xc8\xfa\x82\x1e\xc6\x10\x76\xf5\x6f\xca\xc2\x56\xff\xb4\x8f\x90\x89\x37\xf7\xe1\x92\x2d\xbc\xb5\xec\x2a\xac\x58\x21\x9f\x2e\x7d\xb8\x61\x21\x5c\xb3\xd0\x64\xab\x7e\x3c\x5a\x7a\x6b\xd3\x18\x18\xe6\xa5\xcf\xee\x71\x7b\x72\xd7\x90\x15\x37\xea\xf1\x12\x50\xa6\xf3\x5a\x72\x71\xee\x0d\xf0\x78\xa2\x1e\xaf\x95\x83\x28\x77\xb5\xd9\xa4\xde\xba\x59\xb3\x2e\x3e\xad\x8b\x87\xba\xf8\xad\xb7\xf6\x37\x10\x9a\x2c\xc3\x51\x6d\x76\x44\x11\xda\xf3\xad\x4e\xdc\xb1\xa5\x37\x47\xf4\x66\x3e\x5c\xb1\xa5\x37\xc3\x97\xb9\x3f\x22\x77\xca\x03\xe9\xc3\xc3\x95\x7a\xa0\xbd\x1e\x57\x9f\x50\xe7\xbc\xd2\x19\xe3\x52\x66\x72\x55\x0a\x4b\xee\x36\x6e\x99\x76\x57\xa6\x5d\x6d\xe8\x26\xea\xf5\x76\xec\x85\xf8\x23\x9f\x3d\x22\xa4\x54\x82\x52\x4d\x99\xa5\xf6\x92\x46\x09\x03\x7e\xb7\x4b\xe4\xdb\x25\xe8\xa6\x53\x7f\x15\x5d\x82\x55\x4e\xa4\x5f\x84\x7a\x2f\x7a\xaa\x20\x03\xa5\x11\xbd\x5e\x51\x72\x4e\x92\x72\x53\x6c\x2a\x0a\x28\x42\x6b\x19\x4c\x26\xad\xbd\xeb\x31\x78\x19\x8b\x5b\x10\x32\x09\x41\x8e\xcb\x3f\xd2\xa4\x58\x76\x8a\xbc\xba\x84\x24\x6d\x20\x41\x09\xe4\xaa\xb8\x99\x3d\x03\x4e\x82\x70\x4a\x28\x49\x09\xe5\x8d\xdc\x50\x9e\x08\x42\xd2\xe5\x1c\x3f\xb6\x04\x11\x49\x10\xe1\x56\xf5\xaa\x36\x7f\x78\x88\x09\x05\x2e\x0b\x6d\xa3\x59\x15\x4a\x55\x21\x49\x9a\x34\x37\xb9\x69\x92\x86\xfb\xd4\xbe\xbb\x82\x6b\x94\x52\x10\xbc\xa7\x42\xb9\xc0\x01\x63\x95\x79\x7c\x6e\x85\xab\x41\x6c\xad\x20\x90\x8f\xeb\x41\x6c\xad\x21\x61\xc5\x40\x32\x43\xa2\x2f\xcc\xa0\x8f\xb1\x1b\xa2\x8b\xa4\x9f\x1c\x2e\x10\xca\xed\x45\x25\x24\xc0\x18\xea\xe9\x8c\x1f\x46\xa3\xd8\x5a\xae\x06\x4c\xf4\x43\x88\xad\xe5\x7a\xc0\x82\x7e\xa8\x0f\xbf\x03\x7b\x53\xb7\xdd\xeb\x45\xbd\x5e\x0b\x02\x26\xbf\x79\x0c\x4c\x09\xa7\x6c\xad\xa5\xad\x8e\x77\x36\xcb\x55\x1d\xa8\x7e\x85\x35\xeb\xf7\x35\x44\x68\xb6\x87\x9e\x8a\x77\x16\x85\x5c\x12\x21\xfa\xbd\x17\xd9\x32\xc8\xab\xc0\xd2\x06\x18\xb9\x08\xbf\x1a\x60\x60\x34\x6f\xc8\x98\xe7\x80\xe3\xc3\x94\x59\xe7\x30\x67\xeb\x08\x66\xec\x32\x82\x25\x1b\x1c\xd9\x70\xcb\x56\x11\x4c\x98\xe5\xc0\x82\x59\xa7\xc7\xca\x67\xcb\xaa\x21\x14\x8d\x2c\x09\xac\xf9\xd1\xc4\x94\x90\xa2\xcf\xac\xf3\x73\xfa\xca\xb2\xed\x93\x2a\x6a\x81\x9e\x84\x16\x8f\x27\x44\xeb\x78\x4a\x0c\x20\x88\x96\xf3\xc0\x2d\x98\xbd\xa1\x70\x60\xeb\x8b\xa7\x14\x22\x3c\xcc\x6e\x51\x40\x72\x03\xd7\x95\x43\x18\xb8\x63\xab\xf2\x0c\x95\xdb\x60\xca\xec\xd1\x9d\x76\xfc\x12\xb1\x95\x97\xfa\x30\x67\x15\x5f\x32\x63\x91\xde\x42\x60\xcd\x66\xd6\x6a\x30\xb7\x56\x70\xc3\x66\xd6\x7a\x30\xb7\xd6\x40\x6e\xd9\xba\xbf\x36\x6f\xfa\x37\x14\x45\x11\x45\x3f\xf0\x52\xbf\x4f\xc8\x2d\xab\x35\xfb\x6e\x29\x1d\x08\x2f\xf5\xe9\xe1\x2d\xac\xfb\xec\x16\x6e\xe4\x1f\x09\x8c\xad\xfb\x64\xc1\xe6\xd6\x1d\x17\xb3\x79\x6e\xce\xf4\xc3\xb8\x4c\x39\x24\x3b\x79\xd4\xb5\x4e\x28\xc8\xf6\xd9\x4d\x7f\x01\x73\x6b\x65\x2a\x28\xce\x60\x41\x61\x6e\xad\x4d\x99\x8e\x12\x0b\xb2\x60\x45\x7f\x42\x95\xec\xc5\xb3\xfd\xc3\x21\xdc\xb0\xcc\x73\xe4\x03\x6a\x3a\x2c\x28\xd5\xb2\x83\xf4\xd5\xf5\x88\x46\xca\xed\x4d\x24\x41\x92\xf5\x20\xb2\x56\x68\xa4\x20\x41\x92\x9b\x41\x64\xad\x69\x7f\x21\xe1\x2e\xb1\x56\x5a\x90\x9c\x6d\x4b\x19\xc9\x25\x85\x02\x12\x8a\xf0\x4b\xb8\x44\x01\xa6\xd6\x54\xac\xf8\xe4\xe1\x21\x57\x52\x11\x12\x93\x88\x52\xfd\x0d\xea\xd2\x15\x16\x58\x7a\x4c\x22\x6b\xc5\x22\x6b\xb9\x92\x88\xc8\x87\x35\x75\x65\xda\x80\x11\x99\x3a\xc0\xbf\x4c\xe2\x4a\xfb\x53\x59\x46\x65\xac\x31\x43\x56\x58\xcb\x0c\x3a\x0a\x71\xa2\x95\x13\x47\xcd\x60\x3d\x73\x36\x74\x03\x91\x12\xc8\x3d\x6d\x43\xbb\x64\x31\x44\xd4\xbd\x94\xd5\xf6\xde\x42\xec\x56\x5b\xa9\x6a\x2b\x59\xed\xe9\xf2\x80\x4c\xd5\xca\xca\xc6\x7e\xdc\x35\xe0\x79\xa4\xf6\xbc\x4b\x5d\x37\x1e\xc7\xae\x89\x50\xe7\x12\x6a\xa5\xbd\xdc\x6e\x40\xb7\x77\x95\xa7\x7b\x75\x68\x77\xdb\x9b\x3d\xde\xde\x4c\xb6\x37\x4d\x05\x16\x78\x1a\xc4\x29\x53\x55\xa7\xb2\xaa\xda\xe6\x9e\x56\x71\xf9\x38\x2a\xcb\x1a\xde\xf3\x86\xf4\x96\xc5\x7d\xf5\xfd\x1b\x2b\x5c\x02\x9b\xa5\xc1\xad\xc8\x9f\x28\xac\x9a\xe8\x6e\x4d\x64\xcd\x7c\xce\xf3\x4e\xd3\xe7\xae\xf8\xe7\x3b\xad\x2f\xb0\x75\x9c\xcc\x4f\x14\x31\xc9\xb6\x8b\x71\x7c\x61\x8f\x0b\x16\xbb\x84\x5b\xa1\x76\xfc\x62\xe5\xec\x7d\xf0\x1e\x9e\xb2\xd7\x52\x37\xbe\xb0\x7b\x3d\x12\xea\x8b\x48\x5d\x4c\x9f\x11\x65\xc1\x78\x23\x39\xef\x6f\x31\x51\x1b\x3d\xa5\x12\xf5\x02\x57\x00\x9a\xb8\xef\x39\xad\x41\xdd\xbb\x1f\x70\x45\x72\xf3\xc6\xbd\x6c\x41\x21\x62\xf6\xa8\xb8\xc0\x4b\x2d\xca\xbd\xc8\x2f\x19\x13\x99\x1e\xea\x74\x7d\x8a\xaf\xbc\xc8\x1f\x71\x4f\x94\x64\x21\x52\xce\xbe\xa2\x5c\x85\xde\xd9\x29\xc8\x02\x9a\x50\x6c\x17\x50\xb5\xe8\x66\x53\xbb\xe6\x4a\x18\xf7\x72\x5f\x5d\xc0\x65\xd5\x05\x1c\x5e\xb0\x65\x18\x86\x49\x5f\x8e\x04\x78\xc5\xe6\xc5\x75\xdc\x9d\xa0\x65\xe6\x96\x06\xf1\x24\x59\x10\xda\x4f\x9b\x0e\x75\xea\x63\x2a\xac\x8e\x29\xad\xb3\x08\xb7\xb8\x79\x57\x1a\x95\xc5\x45\x8e\x4a\x85\x24\x65\x97\x92\x15\x52\xa8\xb3\x1c\x52\x7d\x54\x30\xbb\x2a\x1b\xea\xb2\x29\x5b\x49\xe4\x0d\xe5\x15\xb7\x61\xc3\xa9\x7b\xda\xeb\x91\xf2\x51\x6e\xc3\xfa\xd1\xa7\x5d\x35\xd4\x80\x61\x0d\x6d\x44\x20\x6b\xa8\x47\x9f\x82\x69\x96\xd5\x35\x3a\x98\xa2\x47\x59\xa5\xec\x74\x45\xf5\x04\xf4\xed\x92\xb5\xa2\x08\x7d\xc5\x62\x62\xac\x0c\x98\x52\x5a\x65\xad\x55\xd6\x5a\x66\xad\x0d\xb8\x6d\x64\x2d\x75\xb5\xe5\x8a\x49\x10\x75\xba\xae\xb3\x5c\x33\x59\x5f\x9e\x64\x42\x92\x23\x1d\xbb\xc4\x9c\x6e\x0f\x9c\xf0\x72\x9f\x99\xf3\x86\x7a\xea\x4a\xa9\xa7\xd6\x17\x17\x3b\xc5\xd1\xf7\x5c\xb0\xa7\x89\xd9\x4e\x13\x01\x36\x31\x7b\x6a\x13\x58\x7c\x26\x9b\x48\xf6\x34\xb1\xa4\xdb\xe3\x9b\x60\x13\xcb\x46\x13\x97\x5d\x4d\xb4\x8a\x2f\x6b\x52\xad\x22\x16\x2b\xc2\xb1\x83\x38\xd7\x3b\x11\xb1\x1c\xaa\x96\x79\xb2\x7c\xa4\x94\x8d\x85\x26\x69\xd0\x21\xd7\x91\x74\x3e\x49\x25\x8d\x71\xc3\xe7\xc1\xad\x48\x52\x2c\x48\xa8\x36\xd1\x25\x6b\x6a\x61\xec\xb7\x34\x98\xe1\x6e\xa2\x38\x00\x03\xfe\x95\xd6\x19\x65\x5a\x5e\x27\xf1\x78\x52\xa6\xc6\x05\xa5\xbb\xa1\xbf\x6f\x13\x31\x51\x3a\x66\xb2\xca\x22\x29\x32\x9e\xdc\xf2\xb4\x02\x55\xd0\x46\x46\x51\x35\xcb\x0b\xaa\x46\x36\xc5\xfb\xec\x24\xb0\x52\x2e\x39\x7b\x12\x41\x08\x46\x12\x1b\xfa\xe6\x77\x1d\xb1\xa1\x0d\x97\x11\x73\x60\x15\x31\xe7\xd0\x1e\xd5\x3c\xcc\x5c\xf0\x34\x48\xc3\xf9\x7a\xcf\xce\x58\xe8\x8d\x0d\x02\xe6\x15\x3e\xea\x59\xe3\x2a\x2a\xac\x09\x5f\xe6\x73\x66\x8f\x94\x98\x8e\x08\x16\x58\xcb\x64\x49\x28\xc5\x4d\x49\xab\x5d\x0b\x0a\x24\x64\x5c\xa1\x19\x83\x00\xa1\xea\x51\xb9\x34\xa2\x4a\xc7\xb9\x11\x62\x0e\x8d\x3b\x47\x83\x41\x74\xc1\xec\x11\x0d\xf4\x8d\x1d\x0b\xbd\xc8\xa7\x90\x59\xcb\x20\xe5\x71\xce\x04\x64\x1a\x01\x0d\xd0\x74\x46\x69\xaf\x47\x84\x62\xbc\xf1\x02\xc8\x0a\xe7\x22\x9a\xa4\x3c\x66\xa1\xba\x86\x6a\x16\x30\xd3\x5d\x9c\x1e\x1e\x6c\x0a\x13\x1e\xf1\x9c\xbf\xa8\x6b\x57\x7a\xd1\x05\x29\x76\xfd\xf4\x43\x31\xca\x31\xb2\x7c\x5c\x55\x40\x51\x05\x8a\x15\x72\x8c\x36\x2f\x99\x75\x8d\x37\x2d\xfd\xc6\x15\xdc\x64\xb1\x16\x12\x6c\x28\x24\x6a\x4b\x66\x61\x01\x9c\x25\x05\xa4\x2c\x2a\x1a\x31\xe2\x92\xe6\xc1\xf5\x98\x19\x56\xce\x78\x65\xd6\x5d\xf5\xfe\x49\xa6\x56\x5c\x19\x96\xa3\x83\x0e\x35\x42\x4f\xaa\xd6\xb4\x47\x4f\xf9\xde\x8a\x38\xf2\x05\xc9\xa1\xad\xe0\x57\xa2\x88\x2a\x54\xe5\x87\xdb\x50\x08\x5a\x45\xcb\x6b\x97\x51\x5e\x55\x40\x2d\xaf\xed\x0f\x99\x43\xde\xfc\x90\xb2\x4b\x8d\x61\x2f\x25\x34\x2c\xaf\x86\x1d\xd5\x47\xe2\x26\x47\xbf\x0c\xd2\x5c\xe4\x5b\x66\x64\x8d\xd5\x50\xb1\xf0\x15\xcb\x5e\x4e\x12\xe4\xab\x57\xa8\xc1\xb9\x66\x1a\x8f\x7e\x21\x31\x5a\xb1\x54\xfe\xac\x59\x01\xa2\xd7\x23\x41\xe5\x5e\x53\x7b\xfb\x2d\x25\x42\x03\x47\xb3\x26\x1a\xc1\x71\x7a\xa8\x9f\x5c\x7b\x64\x9a\xe1\xab\x60\x44\x63\x92\x30\xe1\x85\x3e\x70\x88\x58\xa2\x72\xfb\x29\xba\x48\x33\x59\xb4\xcd\x8d\x57\x1e\xb3\x35\x92\x20\x59\x4f\x31\x25\x5c\xdd\x96\x56\x68\x34\x74\x80\x14\x5f\x24\x5e\x15\x23\x79\x36\x96\x81\xa6\x52\xc8\x09\xf7\x44\x43\xda\xeb\x98\x69\x53\x51\x0b\x83\xa3\xaa\xd8\xa7\x69\x63\xb3\xe7\x8d\x98\xa7\x31\x09\xd0\x03\x33\x54\x9e\x49\x0f\x73\x4c\x92\x1b\xa2\xd6\xc3\xea\xd8\x96\x08\x85\x42\x31\xfc\x75\xf8\xce\xa7\xf3\x32\x05\x8b\x81\x23\xfd\x57\x14\xa8\xef\xd4\xfa\xd8\x62\x9f\xf0\x26\x50\x9d\x49\x20\x62\x41\x4d\x1e\x05\x6d\xa5\x2d\x54\x9f\x52\x2d\x9b\x79\x39\x07\xb1\x0d\x74\x0e\xd6\xe5\x09\xe9\x11\xcf\x15\x14\xa6\xac\xab\x4a\x31\xde\x63\xa2\xe9\x16\x74\x90\xc1\x9c\x55\x21\xc0\x94\x45\xd2\x4d\x46\xa6\xf4\x30\x82\xce\xf6\xc5\x58\xec\x01\x26\x28\x85\x19\x9b\xf7\x89\x7d\x31\x1d\x0f\x1c\xd7\xa1\xb0\x94\x9f\x23\x2b\x16\x24\xa4\x70\xcb\x96\x63\x32\x1d\x44\xfd\x19\x3d\x5c\xba\x76\x53\x50\x1f\x69\x41\x7d\xf9\x99\xf1\x34\xe0\x95\x40\x9d\x33\xc6\x6e\xa2\x71\xa7\x80\x35\xf4\x72\x7f\x10\x7a\xb1\xbf\xe9\x0e\x96\xc6\x49\xe0\xc5\x3e\x04\x5a\xee\x3e\xe9\x0c\x0f\xb9\xf0\x62\x9f\xdd\x4f\x82\x3c\x70\xb1\xb4\x5a\x31\x09\x93\x70\x9b\xf2\xea\xac\x96\x57\x67\x26\x4b\xfa\xb7\xe6\x0c\x96\x81\x4e\x99\x6f\x36\x14\x16\x7a\x13\x56\x37\xd1\xc0\xd9\x4d\xa4\xfd\xdf\xfe\x1c\x80\xa8\x85\xb5\x3b\x1b\xe4\x53\x77\xe4\xf6\x3e\xfe\xd4\xdd\xb8\xee\xc3\xf3\xb7\xe4\xb2\xcb\x4f\x37\xb7\xad\x0c\x6a\x83\xe7\xd4\x14\xaa\xa6\xd8\x94\x06\x39\x37\x11\xbb\xdf\x34\xc8\x8c\x2c\x0f\xda\x52\xb7\xc6\x6a\x43\x55\x27\xc9\xc7\x90\x79\xc5\xde\x54\x3c\x4c\xa2\x8d\xaa\x92\xbd\x8b\xef\xc5\xee\xe2\x0b\xf7\x05\xfb\xdc\x8e\x02\x5a\x5f\xcf\x78\xa2\x3e\x46\x38\x85\xa0\xf9\xe6\xe3\x45\xcd\xb4\x26\x63\x32\x88\xe8\x08\x65\x95\x4b\x9e\x2e\x8a\x9c\x93\x10\xa6\xb2\xe1\x46\x4a\x06\x53\x75\x37\x59\xa9\x4e\xb1\xb4\x59\x1f\x16\x68\x11\xd6\x94\x0c\x2e\x99\x3d\x5a\x5c\x2c\x47\xa6\xa9\x28\xe9\xa2\x2c\x2f\x0b\x7a\x4b\xc9\x90\x4d\xe4\x4f\xa6\x5e\x51\x21\x63\xc6\x9c\xd1\x5c\x6b\x2f\x35\xca\xcf\x54\x79\x93\x65\xde\x6c\xe0\xe8\xd2\x90\xa9\x74\x59\xb1\x52\x12\xd5\x93\x7e\x0d\x9c\x2d\x25\xe1\x71\x5b\x40\xc1\x66\xf2\x28\x98\x16\x10\xb0\x79\xb1\x35\xed\xb3\xe7\xcf\xfb\x24\x9d\x34\x8d\x17\x1f\x9f\xf8\x7b\xbc\x6d\x5d\xab\x5b\xf0\x9c\x3e\x3c\x2c\x8b\x6a\x6d\x24\x18\x3c\xea\xa9\xeb\x62\x0f\xe8\xbb\x1a\xf4\x6d\x51\x2d\x9d\xd5\xb3\x67\x7e\x53\x6d\xe8\xb1\x2a\x81\xaa\x12\x68\x17\x22\xcf\x5e\x9b\x3a\x76\x4a\x4b\xab\x21\x13\x13\xae\x74\x19\x76\xee\xe4\xd1\xcc\xac\xd2\xb1\x93\xb4\xa8\xac\x34\x29\x28\x9a\x48\xc8\xe7\x45\xa1\xbd\xe8\xaa\x1d\x3d\xa5\x8f\x5c\x8a\x15\x5e\xec\x0f\x0a\x2f\xf7\x25\xd5\xca\x6c\x88\x98\x0d\x21\xda\x36\x35\x8d\x2f\x53\xcd\xd0\x71\x16\xa0\xec\xe2\x22\x19\x93\xc4\x64\xc2\xe3\x3e\x84\x8a\xa4\xe7\x94\xba\x24\xd2\x69\x59\x95\x56\xce\xb6\xac\xe1\xf0\x44\x3b\x4b\x09\xe9\x06\x74\x62\x97\x96\x46\x85\x7f\xa5\x48\x5f\x83\xd8\x80\x31\xe1\xd3\xa0\x88\x72\xc3\x5d\x16\x1b\x0a\x77\xf5\xe8\x65\x22\x9a\x27\x05\xcf\x73\xde\x3d\x76\x38\x64\x95\x71\x5e\x5c\xaf\x59\x40\x56\x5b\x0d\x42\x75\x53\x6d\x8f\xc4\x05\x1f\x99\x26\x2f\x4d\xd9\x6c\xa4\xba\x0a\x6d\x3c\x9a\x9a\x2c\x56\xb7\xbf\xa8\xc0\x7f\x91\xf4\x7a\x24\x61\x29\x7a\x52\x55\x11\x99\x37\xdb\x70\x22\x8f\xfb\x8c\x24\x83\xc0\xe3\x3e\x3d\x1c\x56\xdc\xf1\x06\xee\xc4\x6c\x16\xed\xc5\xba\xe9\x2c\xa7\xee\xc1\x54\xb9\x61\x9e\xb3\x69\x99\x52\x99\x9c\xce\x3c\xdb\x67\x11\x0b\x99\x0d\x1c\x77\x95\xad\x7e\x14\xcc\x1e\x65\xfa\xc3\x16\xad\x7e\x94\x25\x04\xda\x2d\x4e\x65\xaa\xed\x0f\xa6\x68\x3f\xe9\xd9\x7e\x55\xeb\x5e\xdf\x7f\x40\xc0\x48\x5d\x7d\xa0\x1e\x07\x4a\xb5\xed\x90\x0c\xfb\x09\xad\x5c\xe3\x07\xa6\x2c\x9a\xd6\x45\xd3\x46\xd1\x64\x24\x4c\x16\xf4\x6b\x50\x9b\x99\x1c\xac\x68\xc0\x8a\xb1\x38\x2c\xfa\x89\x6b\x6b\x87\x32\x21\x8b\xea\x91\x2d\x7b\x26\x0b\x0f\x58\x58\xdb\xc3\x02\x5f\x2d\x83\x78\xf2\xfc\x79\xe0\x1c\x16\x35\x6b\xfc\xcc\x49\x80\x21\xe7\x9b\x92\x10\x59\xa4\xce\x3f\x64\xe9\xae\xb0\xa4\x5d\x84\x05\x3b\x93\x26\x91\xe3\x60\xd7\x9b\x3c\x7c\xe7\x69\xe2\xde\x16\x4a\x81\xa9\x22\xb2\xb3\x3c\x99\xa5\x4d\x17\xce\x5b\x52\x51\x51\xf3\xe5\xea\x8e\x4e\xc7\x1d\x97\x0b\x87\x43\x69\xc5\xd9\x24\xf9\x43\x40\x5f\x5b\x4d\x63\x6b\x9d\x28\x79\x0b\x98\x57\x2c\x3f\xcc\xaa\x29\x38\x70\x60\xc9\xf2\xb1\xe3\x3a\x87\x73\xe4\x3e\x66\x23\x1a\xb0\xc8\x13\xbe\x6c\x2f\x90\x2c\xd4\xd4\x13\xa6\xe3\x0f\x48\x60\xe1\xb3\x2f\x17\xcc\x5a\x71\x33\xb3\x0b\x1b\x87\xaf\xe2\x5d\xe6\x23\x2a\xc9\x3f\xe1\x43\x72\x81\x82\xcc\x5e\x2f\x79\x85\xa2\x4c\x64\xbf\x22\x2f\x09\xac\x1b\x91\xf1\x30\x27\x53\x48\xc0\x81\x19\x9a\x8f\x06\xd6\xda\x64\xcb\x72\x21\xc6\x2d\x76\x27\xd2\xa7\xe4\x81\x5c\x1a\x9a\x3e\x4c\xd9\x8d\x3c\x2a\x2f\xb7\x0f\xc8\xe7\x53\x78\xb8\x6d\x3d\xf5\x10\xfb\xa9\x74\xad\x8c\xa7\xd4\x8d\x88\x9f\xe8\xc7\xb2\x60\x3b\x22\xd5\x7c\xdc\xb1\x8d\xae\x0a\xa5\x41\xe8\x56\x0d\x21\x3d\x38\xc5\x40\xe2\x71\xb8\x7e\xea\xf1\x7f\x70\x50\x11\x00\x6d\x0e\x7b\x2f\x1d\x18\xd7\x4c\x24\x6f\x9a\xe5\xcb\xc9\x93\x60\x20\x1e\x88\x58\xa1\xbc\x49\x61\xcc\x89\x8c\x95\xba\xa8\xd5\xdd\x84\xbb\xe7\x8c\xdf\x95\xf5\xe5\x1b\x14\x65\x5a\x2b\x96\xc8\x99\x04\x41\x41\x92\x2d\xf1\x44\xca\xcc\x8c\x34\xa4\x34\x58\xe4\x7d\x41\x25\xed\xa9\x4c\x06\xd2\x3e\x91\xf3\xb6\x62\x94\x87\xfd\xc4\x4a\x0f\x23\x50\xbf\x21\x95\xfb\x75\x17\x60\x93\x4d\x9b\xf0\xba\x8a\x0c\x64\x91\x52\x69\xed\x8d\x2c\x10\x1d\x0e\x21\x3c\x1c\x82\x5a\x29\xfb\xdb\xd4\xec\x74\x0e\xbc\x9b\xa1\x56\xa7\xfb\xb5\xec\x07\xee\xea\x2d\xee\x3a\xde\xe2\xae\x9f\xca\x2f\xa4\x5b\x2e\x55\x1f\x9f\x1c\xea\xbb\xf1\x87\x87\x4e\x8f\x41\xdc\x35\x6b\xe2\x71\x47\x93\xe5\x7f\x39\xf6\xd2\x6b\xa3\x50\x91\x83\x9a\x73\xaf\x6d\x96\xb2\x35\xf7\xb4\x50\x27\x63\x41\x6b\xee\x15\xa5\x07\x07\x98\xb3\x9c\x4c\x51\x8a\x1f\x14\x64\x2e\x99\x84\xb9\x16\x2f\x59\x0b\x36\x98\x5b\xdf\x41\xc8\xf4\x94\x42\x48\x45\x41\xa6\x20\x1a\xd6\x25\x33\x36\x85\x25\x9b\xc2\x2d\x9b\x8e\x30\xb3\xfd\xb5\x57\xaf\x66\xd6\x0a\xa3\x39\x61\x04\xdc\xd5\xc5\x12\x5f\x97\xea\x15\x85\x49\x17\xb7\xea\x17\xaf\xfd\xd1\xbd\x89\x84\x3b\x61\x09\x99\xc1\x92\x1e\x0e\x07\x33\x6b\x05\x0b\x16\x79\xb6\x7f\x48\x96\xd6\xca\x4c\xc8\x12\x66\xf4\x70\x68\x4e\x28\xac\x59\x24\x8f\x12\xa2\x61\x3c\x3c\x38\xb4\x13\x0d\x46\x62\x6b\x65\x4e\x68\x7f\x01\xca\x02\x46\xc9\xb1\xd6\xf5\x4c\xcc\xb6\x64\x4c\x0d\xdb\x7f\x76\xff\xda\x55\xd7\x78\x5a\xde\xe4\x7a\xe8\x31\x80\x79\xdc\x2f\xa5\xc4\x39\x4b\x2b\x29\x71\x53\xec\x54\x4b\xd2\xb4\xf3\x83\x52\x48\x36\x4a\x2e\x82\x91\x69\x06\x34\x55\xfb\x32\x11\x5e\xe0\xb3\x82\xdd\x5f\xbb\xf2\x09\xd4\x17\x70\xf3\xba\x51\x52\x30\x99\xd3\x14\xc7\x16\xa5\x3b\x81\x87\x07\xcf\x07\x8d\x65\xa0\x7e\xbe\xbb\x36\x2c\xb4\x8e\xa5\x0a\xcb\x88\xc9\xc2\x0d\x36\xd4\x0a\x58\x41\x6b\xb9\x53\x09\xb1\x15\x8d\x89\x37\x15\x80\xab\x4e\xf0\x4a\xe4\xdb\x94\xbe\xc5\x96\x18\x73\x2f\xb6\xc4\xc0\xf1\xb1\x19\x25\x36\xd4\xe4\xea\xfd\x8f\x05\xd1\xfa\xac\x42\xf9\x65\xb0\xbe\x9b\xb9\x97\xd7\xee\x41\xac\xef\x48\x00\x8e\x49\x6c\x7d\x67\xa9\xf5\xdd\x4c\x48\x6c\x5d\x43\x6a\x5d\xcb\x69\xb2\x60\xb1\xf5\x7d\x20\xa8\x2b\x73\x45\x2d\xf2\xde\x2d\x4c\x47\x15\x76\xaf\x99\x5c\x27\x68\xa8\xa4\x13\x1e\x1e\x30\x9e\x44\x33\x5c\x17\x4e\x8e\x6b\x34\x8b\xfa\x6e\x56\x25\xe5\x1c\x59\x98\x75\x47\x17\xed\xa8\x5d\xb9\x8e\xdb\xd5\x08\xb1\x87\x34\x94\x24\x9e\x40\xf2\x40\x11\x2b\xb6\xc7\x48\x6f\xee\xd6\x02\x32\x26\xac\x05\x4c\x59\x60\x2d\x50\x3d\x66\x31\x0a\xd8\xa7\x82\x04\x14\x0a\xf6\xad\x20\x05\xfa\x0a\x2f\x46\x34\x92\x6f\x91\xa4\x2e\x3e\x15\x44\x52\x19\x56\xc0\x62\x74\x97\xff\xdd\x9c\x0e\x0a\xeb\xfb\x20\x34\x13\x12\x58\xd7\x50\xc8\x51\x4a\xf1\x0a\xf9\x63\x41\x7e\x2d\x48\x00\x18\x0f\x2c\xc6\x25\x6b\xb2\x14\x32\x53\x52\xe2\x53\x13\x1b\x0d\x4d\xc4\x63\x6e\xca\xc6\x65\x96\x90\x38\xf4\x7a\x07\xd8\x0e\xde\x24\xe4\x2c\x00\x21\x87\x60\x3a\xc8\x30\x26\xcc\x01\xe2\xd2\xeb\x91\xc8\xca\x59\x01\x91\xcc\x0b\x07\x73\x74\x08\x50\x2e\x20\xde\x8c\x3c\xa6\x56\x5d\x1f\x57\x6d\x6b\xc5\xc9\xe5\xaa\xec\x61\x1e\xdb\xc3\xd1\x95\x80\x3a\x9f\xd4\x33\x24\xec\x5d\x21\xc9\x34\xd4\x90\x52\x97\xec\x8d\x9d\x9d\x2f\x83\x74\xcb\xbf\xf0\xe3\xae\xaf\xf3\xca\x9d\xf5\xd3\x4f\x85\xb0\xf4\xd8\x1d\xb1\x9c\x8e\x85\x5a\x4e\x31\x75\x43\x65\x31\x12\x49\x68\x71\x32\xe1\x57\x7f\x11\x22\x42\x11\x0a\x62\x84\xd0\xf5\x66\x1f\xb4\x36\xfb\x30\x2a\xb2\x96\xcf\xa4\x3d\xb4\x06\x24\x2c\xdf\xa6\x36\x22\x34\xbb\x86\x90\xd9\xf2\xf4\x8e\x76\x6e\x7d\x9a\x4b\x7d\x94\xf7\x7a\x79\xad\xe9\x60\xad\xd8\x97\x42\x05\xa6\x58\xb3\xdf\xe4\x13\x75\x31\x35\x18\x87\x26\xe3\x88\xa6\x6b\x63\xae\x64\x83\xaa\x8d\x3c\x63\x3f\x17\xca\x5d\xd0\x5b\xfc\x9d\xb3\xcc\x5a\x0d\x94\x18\xe9\x70\x88\xc4\xf2\xca\xe4\x64\x0a\x59\x83\x07\x44\xe4\x8a\x71\xd7\x26\xae\xb4\xa9\xd2\x72\x5e\x91\xc8\x42\x8d\x42\x8a\x3e\x6a\x36\x6e\x67\x95\x39\x3d\x24\xb3\xc1\xbc\x59\xcd\x19\xc8\x9a\xe3\xd8\x5a\x1f\x46\xd6\xda\x75\xa8\x06\x50\x5f\x59\x3d\x6b\x7a\x72\x39\x3d\x53\x3d\x3d\x0b\x76\xe0\xfc\xf5\xc9\xd9\x12\x91\x3e\x83\x64\xa9\xdc\xc9\x6b\xe2\x56\xcd\xa7\xf4\xf9\xb3\x52\x81\x3a\x68\x82\x4a\x9b\xd3\x31\xdf\xa1\x3d\x16\xc1\x72\xef\x74\x6c\x06\x22\x45\x5e\x73\xe0\xa0\x7c\xa6\xd2\xf6\x28\x5e\x89\x11\x4d\xd1\xbd\xbe\x57\xf8\x7a\x58\xfb\xc4\xbe\xc8\xc7\xb6\x9b\x53\xe0\xca\xc3\x51\x69\x28\xfb\xf0\x60\x5f\xb0\x74\x6c\xbb\x69\xf3\xc0\xe6\xe5\xcd\x15\x6f\xdd\x5c\x89\x5e\xaf\xba\x94\x6a\xdd\x49\x4d\x09\x47\x85\x4b\x49\xfd\x88\xca\x27\xcf\x92\x39\x87\x36\xdc\x32\x03\x13\x0c\xc6\xd8\x6c\x1c\x5a\x93\x95\x6b\x4c\x9a\xef\x6b\x57\x15\x18\xd4\xa9\x4e\x8f\xab\x0d\x4e\xe5\x63\xa5\xea\x02\x43\xbe\x81\x4c\x57\x3a\x7a\x31\x99\xcb\xb7\x55\x5f\x26\x1d\xea\xeb\x3b\x0a\xca\xd3\x11\xb3\x47\x24\x62\xf3\x12\xe9\x0b\x7b\x44\xb5\x0c\x29\x60\x73\x2f\x1a\x38\x7e\x59\x52\xee\xe6\xf2\x17\x8c\xec\x5b\x11\xa4\x62\xba\x36\x0e\x18\x9b\x3d\x3c\x90\x84\xa5\x24\x83\x5b\x4a\x5f\xb1\xe5\x98\xcc\x15\x5d\x02\x4b\x96\x50\x97\xa8\xba\x03\x96\xa9\x54\x05\xa1\x90\xc5\x21\x84\x03\x87\xc2\x2d\xeb\xc0\x1b\xca\xd9\xc1\x4a\x2c\xd5\x58\xd1\x51\x99\xd1\xeb\x91\x0a\x8a\xdd\x51\x5e\x1e\x60\xe5\x2d\x47\xde\x74\x06\xcd\xcb\x6b\xd0\x74\xeb\xd6\x31\xed\xf5\xd2\xd6\xb7\x13\x10\xb0\x29\x46\xe3\x61\x69\xf5\xc9\x2a\x09\x55\x4c\x12\xe4\xa8\xfb\x81\x1c\xd5\xf2\x2e\x14\xa2\x72\x54\x05\x4b\x54\x97\x47\xa5\xa3\x33\x51\xe6\xca\x23\x10\xc7\x41\xcd\x7b\x61\x7d\xc7\xde\x44\x20\xac\xef\x63\x09\xd3\x95\x30\x21\x80\x83\x4a\x8a\x0f\xa5\x5b\x09\x56\x36\x40\x47\x69\xd5\x41\xde\xec\x60\xba\xb3\x08\x58\xac\x87\x1d\x25\x4b\x72\xca\x05\x72\x55\x24\xcd\x55\x11\xbc\x4a\x46\x14\xd7\x44\xe0\x63\x69\x3c\x99\xd1\x65\xaf\x50\x41\x52\x0b\x75\xd9\x59\xf3\xf2\x69\x9f\xa5\x90\xf7\x59\x0e\xe9\xb8\x62\xa2\xf2\x7e\xd1\x5f\x1e\xa6\x90\x1e\x92\xbc\x2f\xfa\x4b\x4a\x5d\xe7\xd0\xde\x21\x68\x4a\xce\x4f\xdd\x94\xb6\x1d\xd0\x71\x6b\x85\x5e\x35\xd6\x90\xb1\x7c\x1c\x11\x85\xfd\x61\x4e\x5d\x7b\xf4\xff\x43\x3f\x27\x8c\x5b\x93\x95\xea\x22\x49\x1f\x1e\xb2\x0b\x2e\x27\x0d\xc6\x10\xc5\x27\x94\x5e\x04\x23\x5a\xb0\xd8\x13\x3e\x14\x92\x37\x85\xc2\x5a\xb3\x10\x0a\x6b\xb2\x66\x19\x24\x92\x28\x99\xac\xea\xb9\xc7\xe5\xa9\x60\x4d\x56\x83\x04\xb2\x71\x44\x0a\xd5\x66\x46\x5d\x9b\x8e\x0a\xeb\x3b\xba\x3f\xb1\x26\x2b\x93\x35\x0a\x72\x6b\x6d\xb2\x0c\x64\x93\x03\x96\x21\x9d\xd8\xc6\x69\x55\xe1\xb4\xfa\x1f\x38\xad\x58\xa6\x08\xa5\xc9\xba\x89\xd3\xda\x44\xe0\xe1\x1e\x9c\x1c\xec\x8e\xc4\xa9\x2a\x28\xd1\x53\x38\xad\x24\x4e\x4d\x1a\xa9\x1c\x72\x16\x3c\x3c\x24\x04\x43\xfa\x16\x9e\x5d\x31\xac\xc2\x5a\x31\x81\xa7\xa9\x56\xed\x18\x13\x21\x11\x43\x77\x7b\x42\x22\x16\x7a\x8e\x4f\x5d\x4c\xc4\x77\x5b\x92\x8e\x49\xa9\xae\x20\xe7\x77\x4c\x64\xdf\x64\x89\xbe\x2c\x71\x28\xca\x65\x41\x82\x31\x77\x73\x2a\xcb\xcc\x51\x78\x54\x50\x28\x2a\x3b\xe5\xee\xeb\x6a\xed\x92\x1e\x9d\x8e\x40\xa8\xcf\x3a\x6d\xe3\x3c\x65\x1f\x0a\x98\xcb\x11\x98\xb1\x7a\x3f\x82\x25\x1a\xf6\x3b\x66\xad\x62\x79\x52\xcf\xd7\xe7\xd8\xf2\x86\xca\x22\x39\xdc\x80\xe8\x34\x01\x69\x1c\x05\x79\x43\x3f\x40\x52\x3f\xa2\xa1\x3f\xd1\xbc\xcc\x65\x8c\x8f\x3f\x48\x3a\xc6\xfd\xa5\x20\xf9\xae\x5e\x1e\x1f\x7b\x1c\xf0\x9f\xef\x36\xc3\xea\xf2\xc6\xe1\x89\x35\x63\xba\x79\x2c\xda\x56\xa6\x1c\xf9\xd5\xa6\xe1\xfa\xa0\xce\x58\x4c\xc7\x1f\x8a\x96\x60\x47\x1e\xb9\x5a\xbd\x96\x8e\x73\xb7\xc6\x89\x49\xde\x88\x79\x31\xe0\x3f\x1f\x38\x75\x39\x08\x39\x1a\xf8\x39\x9e\x6c\x3e\x32\xae\x3f\xa1\xab\xc5\x7d\x82\xba\xd1\x81\x96\xfd\xa1\x81\x75\x2e\xc2\xaf\x4f\xd4\xbd\x9d\x23\xc7\xa3\xf8\x4a\xd4\x81\x16\x16\x92\x3a\x4f\xd5\x2b\xc6\x8f\xba\x94\xd5\x16\xc9\xe4\x89\x53\x61\xc6\x62\xd3\x30\x64\xc5\x19\x12\x24\x02\x74\xd0\x02\xa5\x07\xca\xee\x63\x74\x7f\xdb\xe5\x52\x6d\xc7\xde\xbe\xfc\x28\x43\xed\x0b\xdd\xa1\xe0\xe0\x63\x2c\x4f\xac\x06\x49\x53\x7b\x64\x9b\x24\x2f\x38\xd3\x6e\x52\x4b\xcd\x53\xb4\x27\xdc\x4d\x2b\x58\x19\x69\x55\xfb\x55\x2a\x1e\x1e\x8a\x8b\xda\x7b\x5d\x6c\xe6\x7d\xde\xaf\xd7\xc6\x40\x83\x88\x92\x19\x29\xe8\x61\x41\x37\x1b\x88\x92\xd9\xfb\xad\xfe\x94\x1e\x56\xab\x2e\x5b\xaa\xc7\x5a\x03\x22\x09\x1a\xfa\x0f\x3b\xd1\x7f\xdb\xfe\x92\xd1\xbb\x2b\xa1\xb2\xa1\x1b\xf4\xe9\xbd\xcb\x10\xd4\xad\x88\xf4\x4e\xc4\x6f\xf1\x22\xf6\x11\xb8\x39\xa1\x87\xf1\x66\x03\x55\xe9\xae\x2b\xad\x26\xb1\x58\x99\x66\xda\xc0\x99\x3d\x8a\x2f\xf8\x88\x9b\x26\xcd\x4d\xd6\x1a\xcf\x86\x39\x26\x7e\x6d\x15\x6f\xef\x5e\xc7\x9b\x8f\xd8\xfd\x34\x4a\x92\xd4\x5d\x43\xc8\x45\xe4\xae\xf1\x8e\x1e\xcb\x58\xca\xe4\xbb\x43\x2b\xf2\xdf\x05\xf1\x6c\xb9\x89\xa9\xbf\x97\xa9\x24\x80\x14\xc0\xaf\x11\xbb\xcf\x5c\x07\x66\xae\x03\x4b\xd7\x81\x14\x8d\x54\x9d\x26\xd4\xa4\x53\xd1\x52\x90\xad\x76\x09\xb5\x26\xc9\x22\x10\xb1\x6a\x8b\x82\x63\xc3\x81\x0d\x72\xf7\xb4\x7d\xdd\xda\x7b\xbc\xb4\x43\xb7\xcd\x39\x31\x2c\x9b\x1b\x14\x7e\xaa\xba\xb4\x3b\x7e\x83\x3a\xfa\xc4\x20\xa6\x1b\xd5\xe5\x7d\xc5\x10\x08\x96\x6b\x60\xbf\x4c\xee\x3a\xb0\x2f\x3a\xb0\x07\x47\x0d\x0f\xad\x47\x1d\x67\x6b\xb7\x87\xf6\x0a\x3a\xa1\x72\x72\x25\x31\x8f\x73\x62\x9d\x34\x2b\x2b\x07\xf2\x5d\x96\xfa\x81\x20\x9e\x0f\xf7\xb9\x6b\xe0\xc5\x81\x01\x81\xeb\x79\xbe\xbf\x69\xd6\x0e\x83\x9c\xcf\x92\x74\xed\xd8\x8f\x21\xa0\xdb\x20\x54\xdf\x9c\xbe\x8e\xba\x60\x0c\x9f\x05\xe3\xcd\x1e\x18\x37\xcf\x01\xf2\x7d\x0f\x90\x2e\xef\xcd\x7b\x81\xbc\x8b\xf4\xbc\x79\x1d\x31\x6f\x68\x9f\x0e\x87\xa7\x36\x38\xa7\x67\xc7\xc7\x43\xfb\x14\x86\xe7\xc3\xe3\x93\x97\x2f\xc1\x39\xb6\x8f\x8e\xcf\x86\x2f\xe1\xfc\x6c\x78\xf2\xf2\xe5\x09\x9c\x3b\xe7\x67\xce\x91\x03\xce\xf1\xb9\x7d\x76\x74\x64\xc3\xcb\xa3\x93\x93\x33\xc7\x01\x67\x78\x74\x7a\xee\xbc\x3c\x05\xe7\xe4\xe4\xd4\x39\x3b\xf1\xf1\x1a\x6c\x15\x53\x78\xd3\x6c\xc0\x39\x3e\x39\x3e\x3e\x6e\xb4\xe4\x9c\x9e\x9d\x9c\x9f\x9e\x0d\xeb\x26\x6d\xdb\x79\x79\x7a\xde\x68\x5b\x16\xb1\xcf\x8e\x87\x15\x12\xce\xf0\xfc\xe4\xe4\xe5\xa9\x53\x63\x33\x7c\xf9\xf2\xc4\x91\x60\x4b\xb4\x9c\xd3\xe1\xd1\xb1\x73\x7e\x5c\xe3\x77\x64\x9f\x0f\x5f\xda\x67\x0d\x44\x8f\x8f\xed\x97\x27\x2f\xcf\x4b\x8c\xc1\xb1\x8f\x1d\xfb\x6c\xd8\x40\xfd\x7b\xc4\xbc\x23\xd9\xf8\xd9\x19\x9c\x1c\x9d\x9f\x9c\x3a\xe7\x70\x66\x1f\xdb\x67\xce\x39\x38\xf6\xf0\xf4\x78\xf8\xf2\x14\x4e\x4f\x9c\x73\xfb\xfc\x0c\xce\x87\xce\xe9\xc9\xf9\x31\x38\xce\xb9\x73\xe2\x38\x27\xe0\x1c\x9d\x9c\x9c\x9e\x1e\x9d\xc2\xf9\xd0\x1e\x9e\x9f\x1f\x81\x33\x3c\x1e\x9e\xbe\xb4\x65\x8b\xce\xcb\xd3\x13\xe7\x58\x3e\x9c\xdb\xe7\x47\x43\x78\x79\x7a\x7a\xea\x9c\x9e\x83\xe3\x1c\x9d\x9c\x1e\x9f\xcb\x9e\xd8\xc7\xe7\xa7\xc7\x47\xb2\xc8\xd9\xd9\xd1\xd9\x10\x5e\xda\x67\x67\xa7\x2f\x8f\xc0\xb1\x5f\x1e\x1d\x1f\x0d\x8f\x25\xfc\xe1\xcb\x13\x09\xee\xf8\xe4\xe5\xf9\xe9\xc9\x71\x8d\xf8\x3b\x89\xf8\xf0\xf8\xf8\xec\xe8\x08\xce\x6c\x39\x00\xb6\xec\x9e\x7d\x7a\x3a\x94\x78\xd9\x47\xc3\x63\x39\x6c\x27\xf6\xf9\x89\x7d\x72\x04\x8e\x6c\xfc\xec\xf4\x58\x3e\x0c\x4f\x86\x27\xe7\xf2\xe1\xe8\xd8\x76\x5e\xc2\xd1\xf0\xe4\xc8\x3e\x3b\x85\xb3\xd3\x93\xe1\xf1\x99\x84\x72\x6a\x9f\xd9\xf6\x11\x38\x47\x8e\xed\x9c\xd8\xc7\x70\x76\x7a\x7e\x32\x7c\x29\xb7\xa2\xa3\xf3\xe3\x23\x67\xa8\x46\x58\x62\xec\x1c\x1f\x1d\x0f\x5f\x9e\x3b\x72\x88\x8e\x4e\xec\x33\x38\x7f\x79\xfa\xf2\xfc\xc4\x96\x03\x71\x74\xfc\xf2\xec\x0c\x9c\xe3\xe1\xd9\x99\xfd\xd2\xa9\x30\xaf\x77\x97\x6f\x45\x10\xe7\xa2\xd3\x2a\x3f\xc1\x35\xee\xb5\xb6\x13\x55\xfc\x7b\xa7\x0e\xbc\x20\x76\xd7\x0e\x94\xcf\x53\x9e\xcd\x93\x68\xd2\x51\x27\x14\xc4\xb3\x4e\xfc\xdd\x4a\x62\xc2\xe3\xbc\x65\x57\x54\xd5\xc9\x04\x69\x16\xbf\x9d\x69\x27\x03\xd9\xed\xcc\x0a\x1e\x09\x94\xa1\x4e\xe2\x8a\xdb\xb2\xc1\xe4\xfb\x42\x40\x86\xad\x62\x7b\xf4\x25\x29\x64\x92\xad\xef\xca\x1a\x7c\x08\x60\xca\xf6\x44\x98\x94\x99\x5a\x65\x12\x35\x25\x07\x19\x85\x19\xcb\x2e\xa6\x63\xdb\x75\xd0\x8d\xd5\x45\x88\xf7\x2e\x21\x48\x52\x3a\x66\x4b\x0a\xf3\x0b\xf6\x36\xa0\xd5\xb1\x1d\xc2\x8c\x9a\x04\xbd\x02\x82\x33\x98\x51\xd7\x30\xa8\x69\xfc\x61\x28\xcf\x2a\xb5\x8b\x2c\x58\xc1\x0d\x5c\xc3\x1d\x5c\xc1\x57\x78\xcf\x6c\xf8\x89\xd9\xf0\x5a\xb2\xe1\xca\x52\x92\x98\x51\x37\x8e\x0f\x0f\x36\x3d\x1c\x52\x74\x2f\x25\x18\x63\xdf\xa2\xfa\x7a\x93\xc4\xfd\xd8\x0c\xfb\x21\x75\xcd\x3d\x9a\x9c\x30\x7b\x78\x20\x3f\xf5\xd9\xc0\xa1\x20\xbb\xf2\x13\xcb\x63\x32\x39\x0c\xfb\x55\x30\x85\x05\xa5\xca\xe5\xe8\x7b\x95\x15\xb7\xb3\x28\x84\xf4\x7e\xcd\x74\x85\x30\xc9\x48\x66\xfe\x44\xe1\x92\x35\x40\x60\xca\xaa\x59\x66\x3a\xf8\x89\xc2\x4d\xb3\x8c\x4c\xc1\x31\x79\xd3\x1a\xef\xc1\xb0\xff\x13\x7d\xc5\xbe\x04\xe5\x88\xff\xd4\xeb\x2d\x04\xd1\x03\x46\x19\x63\xb3\x3f\xdf\xa8\x09\xf3\x9d\x91\xcc\x9c\xd2\xc3\xe1\xa8\x85\xce\xf7\x2d\x64\xbe\x4b\x54\x6e\x90\xba\xd6\x4e\x45\xd7\xec\x52\xa9\x06\xc4\xf4\xfe\x9a\xc5\x4d\x2c\xdf\x53\xb8\x63\x71\x13\xcb\xf7\x14\xae\x9a\x65\x32\xf3\x3d\x85\xaf\xcd\x32\x32\x05\x7b\xf2\xae\xee\x49\x36\x98\x9a\xc3\xfe\xfb\x56\x4f\xde\x63\x4f\xf4\x27\x97\x3d\x71\x06\xb3\x3f\xdf\xa9\xbe\x7c\xab\xfa\xd2\x42\xe8\xdb\x16\x3a\xdf\x24\x32\x5f\x9b\x7d\xb9\x66\x77\xaa\x2f\xf3\x8b\x5f\x03\x9c\x9a\xbb\x0a\xbf\xe1\x20\xa6\x87\x43\x30\xf7\x05\x73\xa1\x17\x96\x6d\x3b\xf4\xfe\x96\x85\x17\xf1\x9f\x33\xc4\x57\x22\xf5\x89\x2d\xe1\x23\x5b\x4a\xe8\x5f\x82\x0b\x2d\x3e\xfa\x51\x33\x5e\x57\x63\xef\x1a\xee\x7c\xed\xee\x69\x35\xf6\xd6\x70\xe9\xbb\x1f\x39\xc1\x07\xf0\xae\xe0\xab\x0f\xde\x0a\x6e\x7c\xc0\x82\x14\x7e\x65\xeb\xc1\x8f\x92\xeb\xfe\x8d\x5d\x0e\x7e\xf4\x1c\x1f\xbe\xb0\x95\x4a\xf9\x99\xdd\xa8\x94\xb7\xcc\xa9\xc3\x7a\xd4\x81\x3f\xc8\xaf\xfd\x2f\xe6\x6f\xfd\x9f\xe9\x61\x23\x0e\xdb\xaf\xfd\x5f\xcd\xdf\xfa\xbf\xd1\x06\xe9\xff\xa5\xff\xc5\xfc\xb9\xff\x33\xa5\x72\x85\xc0\x87\x86\xcd\xb3\x6c\xa6\x2f\xff\x98\xb2\x9d\xfe\x8f\xa8\xe3\xf8\xb1\x1e\xac\x25\x90\x78\xf0\x81\x1e\x92\xb7\x03\x87\x52\xf8\xd4\xca\x09\x55\x8e\xe9\x50\xe4\x51\x95\x7c\x6b\xa5\xc6\xe3\x17\xb6\x16\xa4\x3d\x24\xba\xef\x38\x0e\x21\x7c\x82\x19\x85\xdf\x65\xa9\xc6\x68\xe8\xf4\xd1\x92\x31\xf6\x69\xfc\x5a\x49\xd2\x8c\x4b\x03\x7e\x91\xc3\x61\xbc\x36\xe0\x13\x18\x80\x7f\x5f\xd8\x2f\x6c\x30\xe0\x16\x8c\x17\x32\xdb\x51\xd9\x21\x66\x87\x98\x6d\xc8\x8d\xe6\xcf\x85\x20\xbf\x68\x4f\x60\xbf\xe8\xd8\x54\xbf\xeb\xf7\xdf\x4b\xb7\x60\xb2\xce\x0c\x01\xfd\x5e\x02\xea\x6e\xe7\x77\xcf\xf6\xa9\xfb\xbf\xf0\x72\xda\xe5\xd5\x8c\x6c\x54\x5a\x63\xd9\xcb\x86\x03\xc0\x2b\x35\x68\x7f\xe0\x70\x34\x26\x4a\x0c\x83\x8f\x72\x9c\x3e\x63\x06\x8e\x50\x7b\x62\xa9\xb1\xd3\xc5\x70\xd8\x3e\x56\xc3\xf6\xce\x80\xcf\x25\x7a\x1f\xb1\xc9\x8f\x5b\xdd\xf9\x5c\xf6\x36\xc6\xec\x58\x0f\x1b\x0e\xda\x67\x3d\x48\x9f\xf5\xa0\xfd\xa1\xdf\xff\x68\x0e\x9a\x33\x50\xc3\xf6\x47\x09\xa8\xbb\x9d\x3f\x5a\xc3\xf6\xbf\xf1\xfa\x63\x77\xd8\xde\x19\x70\x8d\x65\xef\xf6\x8f\xa7\x96\xb0\xae\x7a\xbd\x32\x73\x67\x46\xbc\x69\x7c\xeb\x15\x3e\xdf\x50\xe8\x68\x43\x83\xba\x6a\x81\x6a\x8f\xd2\xbb\xd6\x08\x5c\xe1\xdb\xd7\x8a\x91\x2c\xab\xfd\x61\x48\xf8\x5f\x12\x11\x13\xc3\x68\x79\x51\x69\xa8\x87\x1a\x97\x36\x18\x66\x6c\x1a\xaf\xf1\xaf\x7a\x56\x13\xc9\xcc\xe5\x13\x18\xe6\xe0\xf1\x6c\x1d\xb3\x99\xcd\x05\xa4\x6c\x26\xa0\x60\x53\x01\x82\x7d\x8b\x20\x60\x4b\x01\x09\xbb\x15\x10\xb1\x89\xa8\x6f\x8e\x44\x1c\xf3\xf4\x39\x21\x7d\x79\xad\x44\xc5\xb5\x12\xee\xf3\x00\x6c\x6b\x61\x85\x49\xfa\x4c\x14\x0a\xd6\x56\xaf\x5a\x06\x93\xe7\x54\x17\x2c\x47\xc2\xe0\x5b\x54\xab\x69\x89\xbf\x62\x2c\x10\xd4\x78\x04\xcf\x37\x18\x48\xea\xda\xc9\xf3\x8d\x06\xa2\xba\x76\xd4\x1d\x54\xbb\x24\x1c\xc9\x3e\x72\xd1\x7c\xb1\x97\x42\x3c\x1c\x42\xce\x88\xb9\x87\x4a\x34\x5f\xec\x0d\x42\x7e\x38\x1c\x7c\x28\x2d\xa7\xbd\xea\xa4\xce\x69\x3f\x86\x46\x40\x2a\x0c\x86\xa1\x55\xb1\xbf\x45\xcc\x08\x8a\x3c\x31\x46\x9a\x14\xee\x8e\x0a\xf9\xe2\x52\x90\xb5\x66\x49\x3f\xed\xb8\xda\x5b\x09\x30\xd4\xe3\x20\x8c\x92\x8c\x4f\x0c\xf7\x46\x40\x96\xf3\xa5\x7b\x2d\xc0\x90\x0f\x83\x1b\x3e\x4d\x52\x6e\xb8\x77\x65\x42\x30\xcd\x79\x6a\xb8\x57\x02\x6e\x82\x4c\x64\xee\x77\x01\x06\x3e\x0d\x92\x25\x8f\x0d\xf7\x5d\xf5\x5e\xc2\xfc\x26\x40\xb9\x02\x73\x3f\x09\x08\x03\xc5\x32\xbb\x3f\x09\x30\xca\x17\x5d\xf5\x6b\x33\xa9\xac\xfd\x5e\xc0\x22\x89\x93\x3c\x89\xb9\xfb\xb3\xd8\xd0\xd1\xa7\x68\x8f\x27\xac\xdc\xfa\xca\xd7\x18\x8a\x41\xd5\x65\x87\x1a\xc8\xdf\x0e\x95\xd3\xc3\xea\xe6\xfb\x63\xc4\x3c\x1b\x86\x87\x47\xe0\x1c\x1e\x81\xed\xc3\x8f\x98\x20\x5f\x86\x2a\xe1\x57\x9d\x70\xaa\x4b\x9d\xfa\xcd\x81\x46\xd5\xb3\xb6\xa0\x44\xb3\x1b\x82\xbc\x6d\xd8\x9f\x95\x2a\x6a\xb1\xb5\x2a\x8d\x3c\x63\x74\x51\xa3\xe2\xe8\xc6\xd6\xba\x4e\x5e\x43\xbc\x81\x3b\x51\x2a\x90\xb3\x2b\x01\x57\xf5\xdb\x9d\xa8\x79\x9e\xce\xe8\x67\x1f\xf0\x43\x37\x0b\xed\x45\xf2\xc3\x13\x91\x6c\x6e\x72\xb1\xb5\xb2\x1b\xb9\xf6\xd6\x16\x16\x5b\x2b\xa7\x91\xed\xec\xed\x62\x73\xb7\x88\xad\x75\x03\xe6\xda\x6e\xee\x05\xb1\xb5\x6e\x00\x5c\x3b\x5a\xa3\x53\xf6\xed\x31\x3f\x6f\x71\xed\x75\x3e\x57\xab\x4c\x40\x8c\x8e\x93\xcb\xf7\x00\xdf\x47\xe5\xd9\x61\x98\x91\xb5\xb4\xcd\x94\x44\x56\x0a\x91\xb5\x74\x20\xb2\x02\x67\x10\x59\x81\x4d\x4d\xc2\x49\x04\x21\x1d\x17\xcd\x5c\x7c\xb0\xa9\xdb\x48\x0c\xad\x14\x42\x99\x68\xa6\x44\x3f\xcb\xc4\xc0\x19\x84\x08\xa7\xa8\x53\xab\xfa\xc8\xc0\x6d\x1d\x69\x8d\xcb\x3e\xd6\xb2\x30\x02\xc1\x92\xf2\xbd\x00\x0c\x43\x15\x35\xdf\x25\x8f\x99\xb1\x70\x2b\x49\x77\xf2\x3e\x75\x05\x04\xb6\x1b\x40\xe0\xb8\x19\x2c\x6d\xd7\x13\x35\x3b\x10\x50\x10\x35\x33\x10\x50\x1f\x96\x4e\xab\x40\xd6\x2a\x80\x51\x22\x9b\x8a\x68\x0d\x3b\x8d\xd8\x0a\x6c\xc6\x72\x2b\xb0\x31\x30\x8c\x83\xcf\xce\xd6\x75\x6b\x6d\xfe\xb4\x7d\x22\x1b\xe6\x0b\x93\xf0\x8b\x2f\x01\x35\x0d\x70\x5e\x18\x66\xde\x79\x17\xaa\x2b\xff\xeb\x85\x0d\xb2\x8e\xf2\x2c\x21\xd8\x25\x87\x80\xad\x38\x24\xec\x17\x79\x58\x2f\x05\x84\xec\x56\xec\x4c\xf2\xbf\x74\xc6\x6c\x47\xa5\x7c\xfc\x98\x6c\x9f\x8e\xcf\x89\x3d\xb9\x7d\x32\x3e\xf7\x64\xdd\x3e\xdd\x9e\x77\xb2\x86\x75\xed\x70\xd3\x58\x6f\x13\x11\xcc\x92\x2d\xb1\x70\x97\x1a\xab\xd8\x52\x6a\x42\x0b\x1f\xbe\x9d\x94\x30\x22\xac\xb5\x19\x58\x6b\x79\x5c\x46\xcc\x13\x70\xbf\x72\x85\xb5\x82\xb5\x1c\xec\xfb\x95\x1b\x94\xcf\x41\xed\x41\x8b\xa9\x10\x11\x29\x05\x5c\xb2\x92\xe7\x32\xde\xc8\x07\xc7\x37\x8d\x17\xf2\x61\x58\x3e\x1c\xf9\x5a\x4b\xe8\x92\x03\x97\x33\x22\x65\xbf\x8b\xa6\x61\xfb\xd3\x23\x8c\xe6\x3a\xf8\x5b\xa9\x17\xfc\x9c\x6f\xb9\x4d\xf0\x35\x62\xfb\x3f\x91\xde\xab\x4c\x2a\x77\xbe\xc4\xde\x9d\x7d\xab\x1c\xa1\x90\xb3\xdf\x85\xd2\x0c\xad\xda\xaf\xc7\xa2\x0b\xa7\x47\xee\xf7\x38\xf9\x43\x90\x9c\xc5\xb4\xa1\x62\x2f\x9b\xcb\xd6\x8b\x9b\x64\xff\xf4\xa8\xd6\x2c\xf9\x4d\x5b\xbd\xb5\xe6\x44\x4a\xe9\xc3\xc3\xdf\x04\x25\x7c\x3b\x59\x7f\xc7\xff\xc8\x0e\x7c\x6e\x7c\x42\x0c\xcf\xf4\x97\x3e\xe0\xd3\x95\xb6\xb6\x3e\x9f\xa2\xa0\x7e\xab\x29\x28\xed\x2f\xf8\x6f\x02\xc2\x34\xc9\xba\x6e\xe7\x1a\x02\xb4\xc3\x93\x5a\x81\x4e\xce\xdf\xc1\x51\x3f\xc7\x8d\x6f\x90\x9b\xc6\x5b\xf5\xf3\xb9\x4c\x7e\x8b\x7c\xc9\xe7\x2a\x13\x13\x3f\x63\x62\x95\x55\x16\x1c\x34\xb3\x54\xf5\x3f\x8c\x0d\x4c\x44\xb0\x48\xba\x6c\x8a\x5a\x48\x91\x61\xff\xe7\x08\x43\x23\xe5\xfd\x9f\xa3\x51\x93\x9b\x92\x70\xdf\x19\x26\x37\x0d\x40\xd6\x12\x39\x25\xc3\x1c\x60\x82\x6c\x01\xf5\x08\x3a\xcc\xc0\x9a\x0d\x6c\xf5\xb9\xee\xf1\x3b\x84\xa7\x5f\x5e\x94\x2f\xba\x89\xea\x45\x36\x63\x94\xf1\x1e\x06\x93\xe4\x2e\xee\x30\x34\x6c\x75\xe8\x4b\xa4\x3a\xf3\x25\x6a\xb4\x2c\xb1\xe7\xcd\x36\x79\xb3\x1d\xf9\xd6\x6e\xa8\x58\xfe\xe5\x66\x06\xcd\x76\x5a\xcd\xa8\x56\x94\x21\x54\xbd\x62\x3e\xad\x97\x3c\x63\xbf\x45\x92\x6c\xcd\x88\xa2\x4c\xbf\x44\x8d\xb6\x8e\x28\xfc\xac\xdf\xf3\x20\x26\x47\x76\xff\x97\x80\x8e\x5e\x6b\xff\xc5\x62\x67\xe1\xb6\x82\xe2\xb1\xb7\xd1\xc3\x83\x69\xfe\x11\x41\xc1\xfe\x4f\x90\x58\x12\x11\x9e\x0f\x01\xfb\x10\x3d\x3c\xdc\xe7\x62\xc1\xdd\x1f\x83\x9c\x5b\x71\x72\x47\x28\xf0\x20\xe3\xee\xfb\x54\x92\x5c\xc1\xda\xb5\x61\x52\x28\xc5\x48\x77\x78\x62\x6f\x20\x61\x03\x07\xa2\x66\x44\xbd\x91\x69\x26\xaf\xa2\x11\xbd\x17\x8a\x57\xcf\x99\xa7\xa3\x42\x6a\xcf\x8e\x73\x91\x79\x89\x0f\x99\xac\x39\xad\x2c\xb0\x46\xa6\x99\xbd\x9a\xa2\xfa\x54\xe8\x65\x3e\xed\xf5\xfe\x25\x08\xc7\x08\x17\x29\x04\x14\xf2\xd2\x28\xb3\x54\x5d\xfe\xb7\xc0\xd8\xdb\x29\xdd\xc0\x6b\xed\x80\x38\x2d\x96\x9d\x4e\xef\x55\x2c\x37\xc9\x16\x94\xee\xe5\x7f\x89\xdc\xbf\x0b\x82\x9d\xa7\x9a\x09\x7a\x1b\xc1\x87\x08\x7e\x89\x98\xca\xa0\x14\x7e\x47\x0b\xb3\x3f\x22\x66\x8f\x7e\x57\x44\x15\x7b\xad\xec\x31\xe0\xf7\xc8\xe2\x8b\x65\xbe\x96\x09\xf8\x20\x53\xe2\x64\xc2\x65\x82\xfc\x95\xef\xb8\xa7\xbc\x0e\xf0\xb7\x72\x55\xbd\xfd\x6d\x9a\x54\x92\x24\x8e\xea\x42\xe3\xb7\xd1\xb8\xf9\x8e\x31\xd7\x5d\x39\x4f\x78\xc4\xf5\x7e\xda\xcc\xd6\x71\x4f\xea\x94\x46\xc8\xba\xdf\x11\x65\x55\x71\xd7\x51\xb6\x36\x28\xc4\x61\x12\x13\x10\xea\x29\x0e\x16\x3c\x5b\x06\x21\x47\xd3\xd2\x51\xcc\x5e\x93\xb8\xfe\x90\x8f\x7c\xf8\xe0\xaf\x7d\xf8\xb4\xfc\xf0\xa4\x52\x03\x4a\x21\xb5\xae\xaf\x27\x41\x1e\x5c\x5f\x43\x06\x09\xa5\x63\x62\x94\x09\x86\x50\xae\x5c\x78\x55\x84\xd5\xa5\x29\xe8\xe9\x83\x73\xc4\x13\xbe\x57\xf8\x8d\x49\x44\x5d\xfd\x88\x9a\xc0\x8d\x29\x15\xc8\x0a\x74\x53\x8f\xd6\xeb\xad\x08\xb1\x5b\x36\xad\xd5\xa0\x25\xdb\x83\x16\xa9\x41\x7b\xd3\x1c\xb4\x50\xb9\x4d\x6b\x0f\x5a\xf8\x2a\xab\xcd\x4f\xa6\x3a\x0a\xa5\x8f\x9e\x97\x1b\x66\x89\xe8\xbb\x78\x86\xde\x8c\x52\x36\xf5\xe6\x3e\xbd\x17\x2c\xf5\x12\xdf\x0b\x7c\xe8\x1e\xb0\x39\x84\x14\xa2\xae\x8f\xb1\x94\xb0\x6f\x2b\xa7\x2b\x23\xd3\x5c\xbe\xba\x1d\x51\x52\x30\xee\x2d\xf5\xda\x2b\x60\x09\x09\x04\x20\xaa\x61\x2b\x9a\x03\x15\xc9\x4c\x35\x50\x2a\xc4\xd4\xde\x69\xe5\xf9\xa3\x5a\x5d\xea\xa0\xd2\x95\x42\x85\x9d\x0f\x72\x01\x56\x68\xa9\x68\xa3\xcd\xd1\x09\x2e\xc4\x48\x98\x26\xbd\x2f\xba\xba\xa1\xc2\xa4\xa2\x6d\x25\xda\x3d\x57\xfd\x89\x2e\x92\x51\x62\x9a\x72\x4e\x71\x2f\xf1\x31\x76\xe6\xee\xf8\x24\x20\x68\x15\xd3\x29\x6d\x76\xae\x80\xad\x8f\xa9\xbf\xb2\xea\x6f\x7e\xc7\xf9\xf6\x12\xae\xd1\x91\x93\x21\xdd\x9a\x0c\xfb\xa2\xd9\xbe\x1a\xaa\x98\x93\x72\xc7\x20\x54\x19\x16\x2b\xf0\x48\x0e\xc5\xd4\xfd\x5d\x53\x3d\xda\xb4\xb0\x49\xa1\xe4\xad\xf2\x2a\x66\xa1\xdc\x04\xea\x43\xaa\xa0\xf7\x45\xab\x50\xc6\x95\x80\x74\xa3\x3a\x12\xe4\x79\xba\xd5\x8f\x06\x03\x47\xef\x95\xcf\x78\x04\x5c\x3b\xbc\x4f\x5a\xc6\x38\xdd\x85\xde\x5f\x91\xc4\x52\x23\x97\x58\x51\x12\x06\x11\x6d\x71\x6c\xf5\x96\xa7\xf7\x63\xee\x92\xd8\x64\x86\xb1\xad\xbe\x95\x97\xa1\x70\x67\x4d\x9f\xfb\x49\x6d\x06\x75\xc0\x58\x8c\x5a\x60\x01\xe1\x10\xd3\x96\x71\x84\x72\x64\xdf\xaa\x08\x39\x46\x4e\x90\xff\xda\x86\x2f\x5b\xf8\xa4\xcf\xc1\xa7\xa3\xb7\x7f\x0d\xbf\x5d\x40\x0d\x7c\xc5\x74\x27\xea\xee\xab\xa1\x36\xe9\x7e\x21\xe2\x17\x31\x55\x91\x77\xf3\x3c\x25\x39\x86\x8f\xae\xd5\xaf\xe6\x22\xd3\xf6\x3b\x8d\x70\x05\xb2\x9f\x7f\x4b\xdd\xcb\x54\x29\x8f\xc6\x99\xf5\xad\x08\x22\x31\x5d\x37\x54\xc5\xfe\x29\xd4\xfc\x33\x24\x58\xcb\x30\x25\xaf\xad\x51\x1b\x0b\xb7\xa8\xa7\xd1\xa7\x8e\x35\xd1\x12\x06\xf0\x86\xc2\x78\x83\x98\xd7\x4b\xab\xf5\x79\x8b\x86\x7a\x74\xaf\xf7\xf8\x17\x2d\x40\xc7\xc2\x68\xc9\x12\x9e\xde\xd8\xfb\x2b\x52\xe8\x21\x2f\xf4\xb7\x7b\x72\xe3\xbb\x75\x4b\x64\x94\xa0\x66\xdf\xa0\xaa\x20\x0d\x72\xc0\x48\x3d\xae\x1a\xc2\x38\x75\xb9\x3e\x7e\xf2\x75\xd4\x8a\x5b\xa6\x22\xe4\xd5\xab\xa8\xc4\x48\x96\xd3\x0b\xf0\xd7\x34\x59\xf2\x34\x97\x8d\x35\xe7\x37\xdf\x9a\xdf\x7c\x5c\xb8\x84\x77\xcd\x6f\xb4\x7e\x54\x01\x91\xe5\x30\xbd\x49\x16\xcb\x22\xe7\x93\x2b\xd9\x46\xbd\x13\x61\x5e\xd9\xd6\x67\x65\x51\x53\x6b\x08\x1f\x60\x20\x18\x52\xb0\xcb\x94\x08\xe0\xb4\xe5\x3b\xad\x81\x72\x56\xc3\x20\x31\xa0\x99\x52\xaa\xa6\xba\x9a\xaa\x3b\x7a\x9f\x62\x4a\x8e\x2e\x02\x34\xe3\x2b\x63\xdc\xd4\xc7\x09\xbd\x1f\x5e\x04\x48\x3b\x18\x86\x76\xab\xdc\x58\x15\xd8\x22\x49\x01\x03\xf7\xf1\xf6\xc2\x48\x99\x61\x6c\xb6\xe7\xbb\x42\x51\x7e\x18\x8e\xb1\x84\xca\x0f\xb2\x33\xcf\xb7\xbf\x4a\xd1\x6d\x37\x2e\x89\x85\xbf\x38\xb0\x15\xb6\x41\x63\x3e\x3e\x36\x94\x81\x1e\xca\xcd\xbe\x53\xe7\xa8\xd7\x23\xb2\xd7\x14\x9a\x53\xb1\xee\xb2\x5e\xd7\x39\x5f\x75\x92\xd3\xd5\x20\xc9\x02\x06\xc4\xf0\x0f\x3d\x42\x6a\x12\xee\x0a\x1f\xba\x0f\xc3\x9a\x2a\x37\x78\x3c\x69\xd0\xad\xbb\xbb\x2e\x86\xe7\xf5\x62\xdf\x0a\x93\x22\xce\x5f\x0d\x71\x47\xc5\xfa\xca\x64\xf3\x7d\x32\xe1\x78\x94\x2b\x0c\xde\xcc\x45\x34\x51\x83\xad\x4f\xba\x3d\x41\x72\xca\xf3\x9a\x3f\xf5\xbc\x76\x5a\xe7\x35\xf7\xbd\xdc\x47\xd8\x2e\xd9\x4b\xe2\xe8\x10\x3d\x5d\x8a\xbe\x14\xf4\xf1\x5e\x61\x96\xd2\xfb\xb4\x01\x96\xc5\x1b\xaa\x3a\x80\xdc\xd7\xff\x57\x3d\x50\xac\x9d\xc6\xa5\xd3\x6d\x74\x8d\x20\xe0\x04\x4f\x9b\x35\x99\xd9\x45\x5d\xc9\x72\x1b\x57\x79\x5b\xee\xea\x9f\xaa\x5a\x77\xb0\xd8\xb6\xb7\xfb\x7f\xb9\x8f\x25\xdb\xfa\x97\xba\x59\x22\x57\x69\x83\x39\xb0\xaf\xcf\xaa\xd3\xcd\x82\xb4\xbb\xff\x25\xcc\x6a\x08\xe4\x5a\x78\x1e\x59\xb9\x87\x26\x50\xc7\xcf\x87\x08\x04\x7b\x1b\x8d\xf2\x74\x7d\xff\x36\x62\x7c\x67\xb2\xe5\xaa\x93\x1f\x22\xa6\x49\xc9\xb2\x4f\x39\xe4\x5b\xdf\x91\x6e\xa6\x22\x0e\xa2\x68\x2d\x4b\x17\xf0\x36\x62\x42\xab\x04\x6d\x03\xad\x44\xbe\x9a\xf2\x1c\x11\xa1\x02\x2e\x3c\x3c\x94\x4f\xdd\x61\x15\xd0\xc3\xb6\x51\xf1\xf1\x06\xa5\xe8\x67\x56\x91\xab\xad\x0d\x1b\xf7\xa6\x0e\x5e\xba\x15\xac\x7e\x87\xa7\x45\x81\x47\xb0\xcd\xa5\xa1\xf7\x60\xe5\x36\xaa\xc9\x77\x84\x17\xd1\x28\x92\x7c\x87\xf6\x1c\x1b\xb7\xf8\x8e\xbc\x8a\xfd\x9f\x31\x1b\xa6\x75\x28\xfc\xe9\x45\x36\xca\x24\xdf\xc1\x59\xae\x79\x59\xc9\x81\x04\x92\xfb\x2c\x19\x52\xc9\x61\x2a\x21\x4b\x6a\xc9\x1f\x25\x60\x49\x71\xbd\x6b\x21\x4b\xaa\x16\x87\x99\x56\x93\xa4\x96\xba\xd4\x69\x1b\x4a\x21\xee\x90\x8a\x28\xa6\xad\xbe\xf0\x5b\x89\x6c\x7f\x58\x90\x58\xed\xc0\xdb\x5b\xb6\x8a\x7d\xa1\x38\x60\x52\x7a\xd6\x51\x61\xa8\xaf\xc3\x79\x90\xe6\xd7\xd7\x0f\x0f\x1c\xa6\x5b\x69\xf2\xc8\x4b\x96\x6b\x42\x61\xae\x15\xb7\xa2\xf1\x14\x5d\x9f\x67\xe5\xaf\xde\x07\xa7\x90\x50\x77\x5a\x6a\xd9\x53\x37\x82\x59\xe5\x3f\x45\x95\xfc\x19\x35\xeb\x5b\x2f\xcd\xba\x6b\x37\x87\x25\x0b\x6b\x2e\x9d\x18\x58\xd2\xa0\x96\x9c\xb8\x64\x0e\x53\xf4\x14\x69\x71\x39\xa3\x08\xb5\x54\xd0\x7e\x62\xcc\x0c\x30\x74\xbb\x06\x55\xe4\xb2\x11\x46\x41\x96\x95\xa1\x3d\xa8\xa6\x16\x8c\x64\x19\x84\x22\x5f\x1b\xf0\x6b\x40\x95\x93\xc9\x86\xb4\x65\x69\xf1\x95\xc8\x09\xed\x2c\x5d\x72\x63\x14\x16\x3b\xd5\xd0\xff\x5c\x57\x3d\x87\xc2\x65\xbd\x6f\x14\x60\x53\x33\x80\x15\xfb\xa3\x20\x53\xd4\x66\x6c\x75\xb5\xea\x00\x76\xd6\xb3\x7d\x0a\xd7\x8c\xdc\x54\xbd\x0d\x96\x4b\x1e\x4f\x88\xb1\x0c\xf2\xf9\x4e\x37\xcb\xca\x6d\x71\x11\xb9\xa1\x74\x74\x5b\xd5\x8c\x44\xcc\x0d\x0a\x75\x02\x9e\xf6\x4a\x16\xa9\xf5\x48\xe1\x27\x76\x5b\x4e\x92\xb2\xfc\x6b\xb6\xd8\x4e\x7a\xc3\x96\x55\x92\x02\x82\xa4\x05\x99\x51\xf8\xde\x00\xa0\xb2\xe0\x5d\x03\x80\x4e\xfa\xc6\x8c\x3c\x59\xa2\x45\xd5\xc3\x83\x11\xf1\x69\xae\xac\xab\x06\x8e\xd2\x75\x34\x6e\x92\x3c\x4f\x16\x65\x81\xb2\xec\x98\xc4\x2c\x0e\xe0\x8e\x19\x2b\x03\xbe\x32\x63\x6d\xc0\x15\x33\x56\x43\x03\xde\x33\x63\x3d\x34\xe0\x8d\x1e\x97\xc9\xda\x00\xfb\xe2\xdb\xd8\xb0\xf9\xc2\x70\x0d\xeb\xcc\xe1\x8b\x7a\x1a\x48\x24\x06\x41\x1c\xce\x93\xd4\x00\x63\x21\x26\x93\x48\xf6\xea\xba\xac\x6c\xe0\xcd\xd3\x0a\x6f\x9e\xc0\x30\xbf\xf5\x85\x69\x7c\xb6\xdf\xca\x24\xc7\x47\x29\xfc\xb7\xbe\x40\xc3\x7b\x96\x23\x36\x6b\xc4\x66\x85\xd8\xac\x15\x36\xab\x2d\x6c\x0c\xeb\x68\xb8\x17\x07\x44\x55\x6e\x97\x65\xbc\x81\x1d\x64\x10\x07\x28\x91\x7a\x6b\x7f\x2e\x91\x79\xab\x91\x81\x9f\x54\x85\xf7\xf0\xad\x5f\x50\xf8\xae\xde\xbe\xc2\xb7\xfe\x25\x85\xd7\xea\xed\x0a\x6c\xda\x2a\xf5\x4e\xbd\xdd\x55\xe9\xba\xfc\x54\x99\x38\xfc\x3d\x88\x27\x6a\xfb\xf8\xc4\xa6\xf0\x91\x7d\xaa\x93\x09\x3d\x1c\x8e\x32\x36\xed\xa2\x26\x3f\x91\x98\x9a\x1f\xf5\x69\x92\xd5\x75\xc6\x19\x9b\xba\x93\xf2\xe2\x7a\x0a\x99\x9c\x9c\x95\xcb\xca\x29\x85\x45\x9d\x37\x2d\xb9\x06\xed\x66\x68\xcb\x1a\x26\x65\x9f\x23\x28\xd8\x29\x08\x76\x0a\x01\x3b\x92\xbb\xbe\x83\x0e\x9c\xb6\x5c\x52\xa0\x79\xd2\x13\x6f\x81\x6a\x83\xff\x24\x15\xad\x68\xab\xff\xe3\xf2\x4e\xb2\x25\xff\x89\xc6\xb9\x69\x18\xee\xe7\xa8\x52\xdb\xc2\xdd\xb1\xcb\xc0\xa6\xe3\x12\x3a\x0c\x48\x43\xc9\xba\xbc\x8c\x96\x10\x3e\x6f\x79\xc5\x7c\xfc\x52\x38\xaf\x2e\x84\xeb\x4d\xf6\xf9\x1e\x35\x65\xdd\x1d\x4f\x05\x8f\xdb\xee\xf1\x31\x29\x98\x99\xcb\x63\xb9\x2a\x82\x9e\xf4\x2a\x1d\x34\x54\x31\xf9\xd4\x05\xf9\x11\x35\x36\xb3\x76\x01\x85\x3a\x28\xcf\xab\x2f\x74\x7d\x51\x76\xea\xd7\xe7\x78\x7b\x0a\x74\xed\xa0\x1a\x92\xe2\x66\x22\x6e\xc5\xa4\x4b\xf9\x6a\xbb\x7a\xaf\x17\x57\x77\x89\x9f\x23\x56\x6e\x68\xf0\x9f\x88\xdd\xe7\x09\x1a\xb3\x89\xd9\x3c\x77\x1d\x50\x39\xae\x03\x72\x1b\x2c\x8d\xdb\x6e\x67\xd6\x4d\x5a\x64\xf3\x7d\x8e\xc2\xe9\x7d\xde\x79\xce\xe7\xdb\xa7\x7c\xb9\xdf\x60\xf0\x2d\x9e\x0e\x90\x5e\x93\x47\x46\x10\x45\xf5\x6e\x34\xb8\xe3\x37\x5f\x45\x3e\xc8\x83\xe5\x60\x2e\x66\xf3\x48\xe2\x36\x08\x93\x08\x77\xc8\x74\x76\x13\x10\x1b\xf0\x1f\x35\x1a\xc1\x02\x26\xc9\x5d\xac\xf0\x34\x40\xa8\xf4\x3c\x29\xc2\xb9\x8a\x5e\x50\x65\x60\xc8\xb1\xe6\x59\x77\x13\x84\x5f\x67\x68\xfe\xda\x3c\xef\x46\xc1\xce\x61\x97\xf2\x30\xdf\x39\xec\x5a\xb5\x75\x07\x6e\x45\x26\x6e\x44\x84\xc7\xae\x31\x17\x93\x09\x8f\xeb\xcc\xb0\x48\x33\xec\x08\xde\xdf\xce\x03\x91\x4a\x46\xb9\x85\x91\x8a\xaf\xdc\xc4\xe6\x69\xb8\x54\xf5\xb6\x9b\x92\xd4\x82\x3e\x5b\x93\xad\xde\xa7\x3c\x13\xdf\x79\xd9\xd6\x2d\xac\xe9\x28\xd1\xb4\x47\x4d\x66\x24\x3b\xed\xcf\xb6\x1b\xdf\xdd\x7a\x0d\x05\xfa\x85\x61\xc6\x9b\x1d\x94\x3a\x76\xea\xbf\x45\x5e\xec\x6f\xf6\x74\x71\xd5\x55\xe5\xd0\xe3\x77\x7e\xad\x63\x37\x1e\x1c\x29\x9f\x24\x65\xa5\x75\x67\xa5\x3f\xbd\x38\xf3\xf7\x57\xba\x13\x93\x7c\x6e\xc0\x69\xf9\x3e\xc7\x68\x2a\x98\xf0\xd8\xe7\x85\xa4\xcc\x96\xbc\x47\x14\xac\x0d\x88\xd5\xdd\x1d\xa1\x63\x23\x4e\x62\x6e\x60\x3b\xea\x2b\x44\x30\xdd\xa2\xdc\x72\x49\xd4\xb6\x93\x02\x3a\x0a\x31\x72\xc4\x1f\x05\x09\x29\xcc\xeb\xa1\x88\x70\x4e\xb4\xf0\x8d\x3c\xc7\x1f\x60\x3a\xa4\x64\x4a\x29\x64\x65\xd5\xac\xae\xba\x6e\x57\x2d\xbb\xd6\xa8\x5b\x60\x5d\x4e\xa6\x2d\x19\x36\x57\xb4\x7c\xe7\xbc\x51\xa0\x1a\x61\x6a\x3b\x66\x42\x33\x86\xec\xd4\x33\x0f\x79\xfd\xd1\x14\x55\x33\xf7\xcc\xc3\x3f\xb3\x66\x22\x35\x36\xbb\x6e\xb9\x4a\xc2\xad\x5e\x21\xf5\xec\x40\xf4\xe3\x8e\x75\x04\x56\x7c\x21\xe7\x12\x58\xd9\x45\x6b\x4e\xe9\x91\x9b\xca\xde\x4f\xdb\x6e\xc0\x8a\xc7\xdb\x5b\x1b\x30\x7f\xa4\x3d\xae\xdb\xbb\x6b\xb7\x57\x0e\xf7\x5c\x36\x38\x6f\x37\x28\x9a\x5b\xaa\x7c\x39\x1a\xb2\x3a\x98\xe0\x57\xbe\x7e\x93\x4c\x78\xaf\x47\xde\x3c\x3c\x90\x4b\x65\x5d\xff\xce\xb3\xfd\x01\x93\xd8\xc3\x3b\x09\x91\x49\xb8\xf0\x86\x0d\x29\x5c\x11\xda\x80\x7d\xbb\x17\xdc\x90\xb1\x37\xbd\x1e\x91\x90\xcc\x1a\x92\x59\x42\xb2\xb7\x00\x4d\x9a\xfa\x3e\xb8\xe7\x92\x1b\x0a\x39\x3b\x70\x46\xab\x5e\x8f\xc4\x08\x66\x55\x86\xd4\x97\x8f\x8e\x4f\x41\xa2\x5c\x35\x1d\x44\xf9\xff\xf1\xf5\x98\x5c\x62\x3f\x3c\x22\xc7\xdd\x9c\xa2\x83\xdb\x21\x10\x39\x28\xe6\x5c\xbd\xf9\x14\x7b\xc8\xa6\x9e\x89\x90\x5f\x5d\xca\x11\x53\x18\xb2\x39\x26\x3a\x32\xd1\xf1\xa9\x4f\x5d\x35\x26\x14\x7e\xea\xf5\x16\x24\x86\x10\x6c\xe4\x8e\xc9\x57\xc4\xcf\xa6\xf0\x5a\x65\x64\xe0\x60\x5c\x92\x3a\x03\x23\x9a\xc8\xd7\xbb\x32\xca\x96\x3e\x2a\x16\xc9\x84\xbb\x6f\xc6\x6a\xf3\x74\xf5\x6e\x66\x6c\x9a\x03\xb2\x28\x15\x0b\xb5\xc3\x37\x10\x72\xc1\xe5\x14\x22\x26\x94\x53\x2d\xa1\x7c\x77\xbe\xf3\xb8\x0f\xb7\x8c\x8f\xe7\xee\x14\x26\xec\x56\x7e\xaf\xdb\x86\x63\x0f\xf9\x15\xa2\x01\xcb\x20\x1c\xb0\x89\x99\x49\x9a\x92\xf0\xf1\xd2\x9d\xd1\xda\x6d\x4b\x04\xb5\x17\x1e\x50\xf1\x88\x5d\xf9\x03\x6f\xc6\x05\x23\xa9\xc9\x32\x6a\x4e\x5c\x72\x89\xfe\x4c\xba\x6b\x0d\xfb\x97\x1e\xf7\x07\x29\xa5\x14\xd2\x8b\x4c\xd2\x34\x29\xa4\x2c\xa3\x6e\xc1\x32\x0a\x12\xa3\x03\xc9\xe3\x48\xfc\x0e\x58\x31\x26\x7c\x9c\xa8\x18\xf9\xda\xa3\x83\x2c\xc1\x52\x90\xf9\xac\x80\x03\x9b\xba\x18\xce\xa7\xe1\x3c\x66\x4d\xe8\xfd\x84\x50\xf8\xfa\xbf\xce\xfa\xae\xbd\xe4\x69\x3b\x28\xd4\x54\x85\x71\x93\x4c\xd6\xbb\x07\x9e\x2a\xf6\xad\xa6\x0d\xe4\x37\x2c\x49\x00\x25\x09\xaf\xb2\x8a\xe5\x6e\x06\xd2\x0d\xdd\x75\x30\x8b\xc7\x93\xdd\x9c\xaf\x7c\xdd\x24\x41\x5a\x19\x5b\x8d\xc0\x77\xb2\x3d\xdf\x24\xc3\xa5\xb9\x0c\xb4\x0e\x44\xd1\x07\x5c\x37\x28\xa8\x6a\x0d\x95\x81\xd5\xee\x58\x64\x25\x53\x72\xd3\xb4\x88\xfc\xda\xa8\x70\x43\xe1\x3d\xbb\x96\x07\x7b\xb1\x20\x14\x7e\x62\x07\x87\x7f\x92\xf8\x21\xa3\xe5\xee\xfb\x9e\xf6\x7a\x21\xbc\xc6\x74\xfe\x70\xd7\x4a\xcf\xe0\x0d\xbb\xb6\xf0\x70\xe7\x13\x52\x91\x16\xf0\x9d\xfd\x5b\x02\x7e\xd7\xda\x02\xbe\x35\x09\x3d\xc9\xe8\x77\x0d\x88\xe8\x18\x8d\x5b\x34\xa7\xaa\x7a\x16\xce\x25\x7b\x36\xf9\x84\x63\x9c\x8d\xbf\x75\x7f\x8c\x49\xf7\x97\x58\x53\x77\xcf\x17\x9f\x74\x7e\xee\xb5\x9c\xa4\x95\x40\x90\xb4\xa6\x64\xdf\xa0\xcd\x2c\x78\x43\xf5\x5e\x64\xfb\x03\xf9\x54\xee\x42\xf8\xea\xf8\xca\x69\xb5\x98\x92\xf7\x25\x87\x6a\x1e\xde\xd5\xa3\x09\x1f\x99\x79\xf8\x67\x5c\xbd\x8f\x56\xcc\x9b\x7a\xce\xe0\x93\x06\x36\xf7\x9c\xc1\x47\x05\xc9\x2f\x37\xbd\x4f\x55\x1b\x1f\x7d\xc5\xbc\x6e\xed\xa1\xbd\x1e\xb9\x64\xef\x4a\xa7\x57\x74\xb4\x7f\xc1\xe1\xd2\x79\xea\x8a\x7b\xda\x02\xbb\xde\x4a\xa0\xdb\xd3\x59\x49\x0e\x36\x14\x26\x3a\xfc\xad\x72\xa9\xfd\x9e\xc4\xd0\x2c\x00\xe5\x66\x5b\x2f\x02\xaa\x5d\x39\xd6\x6e\x84\x3c\x1b\xd0\x25\xad\xfa\x9d\xb1\x03\x1b\x96\xf2\xcf\x2d\xfb\x7b\xd4\xd8\x43\x63\x2d\xfe\x6d\xd2\x1f\x7b\xe4\x8f\x6a\xe1\x6c\x5b\x13\xe7\xec\x7e\xe5\x4e\x61\xed\xce\x41\xb8\x01\x7c\x91\x6c\x2f\xdf\x11\x4b\xaa\xdb\xa2\x86\x50\x32\x87\xb7\xd1\x78\x9b\xd1\x69\x90\x71\x54\xdf\x42\xb5\xf8\x90\x06\x46\x01\xe3\x96\x40\x9f\x5a\x5f\x30\xee\xc6\x0a\xe6\xe8\x59\x2b\xee\x1c\xd0\x0d\x2d\x2f\xd4\x30\xd9\xdd\x85\xa7\x58\xe3\x55\x4a\xa6\x90\x5b\x2b\x79\x94\xac\x52\x32\x87\xdc\x5a\xd7\x57\x7d\x2c\xd1\x83\xdb\x90\xab\x4f\x19\x06\x75\x22\x85\xa4\x44\x73\x6b\xcd\x52\xf9\x18\x77\x9d\x8a\xf5\x61\xb8\xd9\xd0\xc6\x25\x5b\x57\xe7\x72\xec\x5c\x6e\x7d\xf9\x5f\xa0\xb6\xf2\xf5\x86\x48\x5d\xd2\x3d\x10\x7f\x09\x1c\x5e\xd8\x3d\x39\xde\x45\xc8\x72\x35\xc9\x0e\xc2\x57\xaf\x9c\x87\x83\xcc\x2f\x75\xd4\x9f\x1a\xfe\x22\xeb\x84\x90\xa1\x05\x58\x14\x2c\x96\x4f\xc4\xa3\xd7\xcb\xc6\x64\xc6\x0e\x0e\x72\xb9\x5d\x2c\xf1\xc1\xf1\xa9\x1b\x8e\x31\xd1\xcd\xd0\x58\xfa\xe0\x40\x2b\xd1\xcb\xe2\xde\x0c\x96\xbe\x2c\xe0\x66\xe3\xa5\x76\xd5\x18\x6b\x0a\x75\x57\x92\xa2\xf5\xcd\xa2\x7d\x77\x5e\x88\x03\x5e\x3b\xd8\x3e\xa4\x2c\x47\xaa\x06\x53\xb8\x4a\x49\x91\x1c\x0e\x98\xc7\x21\xf5\x21\xb4\x44\x7c\xcb\x53\x15\x2c\x2e\x24\x5c\x4e\xc2\x90\xa4\x92\xb3\xb8\x48\x91\x2f\xe1\xc0\x91\xf4\x88\x28\x10\x7e\x80\x1b\xeb\xc3\x43\x7a\x80\x44\xa8\x24\xd0\xa6\x0a\x92\xe6\x63\x0a\xd5\xb0\x50\x0d\x87\x98\x82\x5e\xd1\x05\x12\x58\x14\x12\xe6\x15\x20\x7c\xc8\xea\x86\x0b\x96\x11\x8c\xfb\x91\x11\x41\x29\x14\x17\x02\x1b\x2e\xa0\x60\x02\x04\x36\x5c\x1c\xe0\x16\xfe\xf0\x20\x0e\x90\xe4\x95\x0d\xcf\x15\x24\x8a\x23\x89\xbd\x0e\xc6\x84\x2b\x8f\xec\x29\x0b\x70\xd8\x09\x47\x84\x21\x55\x34\x73\xbb\xb7\xfa\x45\x77\xba\x7c\xeb\xee\xbb\xee\x5e\x22\x09\xb1\x44\xf5\x30\x51\x2d\x14\x88\x19\x08\x45\x8a\xb7\xbb\x55\xc2\x54\xbd\x2b\xdf\xba\x3b\x49\xd1\x33\x42\x36\xf6\x3c\x0e\x85\x0f\x5e\x0a\xc2\x97\xd3\x02\x47\x57\xce\x1b\xd5\x5b\x35\x21\xbb\x5d\x22\x55\x44\xd8\xc3\x03\xd9\xde\x8c\xcb\x8d\x84\x42\xbc\x29\xa9\xb5\x5d\x10\x07\x07\x61\xaf\x27\x47\x8c\xe1\x80\x3d\x3c\x1c\x1c\x64\xbd\xde\x1c\x13\x64\xff\x9a\xe1\x1c\x63\x88\x9a\xe1\x1c\xff\x16\xb1\xfb\xd8\x35\xe2\x6c\xa0\x17\x36\x70\xd7\xe0\x77\xd5\x5b\xd6\xca\xbb\x6b\xe5\xc5\x77\xae\x11\xdf\x65\xbc\x4e\xe0\xae\x11\xf3\xac\x51\x9b\x6f\x95\xc8\xee\xda\x25\x36\xf0\xf7\x88\x79\x9e\x11\x1b\x60\x70\x03\x0c\x79\x9c\xde\xc9\x23\x15\xff\x60\x0a\xfe\xb9\x33\x7c\xf0\xb0\x84\x7a\x8a\xb1\xac\x0f\x9e\xef\xc3\xbf\x23\x36\x4b\xb4\x27\x27\xb6\x4a\xf0\x56\x4e\xc9\x42\xe1\x9f\x11\xfb\x77\x64\x15\x79\x08\xff\x88\xd8\x3f\x23\x62\xfc\xf0\xfb\xe0\x87\xc5\xe0\x87\xc9\xa7\x1f\xde\xba\x3f\x5c\xba\x3f\x5c\x59\x3f\xbc\xfb\xc3\xa0\xa3\x7f\x47\x96\xc8\x12\x86\x7a\xd3\x95\xda\xad\x95\x27\xbf\x5c\x7d\xb8\x42\x55\x95\x5e\xcf\x8c\xf9\xdd\x8b\x1f\x91\xc7\x1e\xda\xb6\x3d\xb0\x9d\x81\xed\x7c\xb2\x6d\x17\xff\x5b\xb6\x6d\xff\x61\xd0\x31\x0f\xdc\x7f\x44\xc0\x03\x6b\x19\xa4\x9d\x3a\x0b\x15\x94\x86\xca\x0d\xba\x59\x2d\xbd\x11\xe7\x1b\x59\x3d\x4f\x54\xbb\xec\x1f\x51\xf5\x0c\xb3\xc4\xca\x78\x98\xc4\x13\xf6\x21\x26\x1d\x12\x1e\x09\x7b\x99\x10\x87\x1f\xf5\x1b\x6e\xa8\xe2\x43\x87\x1f\x51\xba\x81\xf6\xdd\x34\xaa\x13\x7e\x12\x0b\x4e\x50\x5b\x11\x9f\xa8\xb9\x55\x37\x6f\xd7\x6b\xcc\xd9\x19\xcf\xaf\x10\x97\x8c\xd0\x0d\xad\x51\xcb\x58\xf5\xa8\x2e\x03\x1a\x59\xf2\x4b\x34\xb2\x8b\x3c\xac\x8b\x2c\x44\x5c\xe4\xfc\xf1\x8e\x9d\xf2\xe3\x76\xc7\x4e\xf9\xf1\x53\x3b\xb6\x55\xf7\xd1\x8e\x5d\x22\x2e\x55\xc7\x14\x6a\xd8\x31\xf5\xb8\x8d\x75\xd5\x31\x9d\xdd\xea\xd8\x3c\x29\xd2\xed\x6e\x95\x7e\x9f\x35\x7a\xdf\x93\x98\x7f\xc0\xe8\x53\x84\x1e\x9e\xd6\xb1\xe1\x54\xaf\x8f\x4e\xf9\x49\x9f\xb4\xfa\x2d\x93\x06\x39\x35\xf3\xa7\xf6\x1e\x61\x3c\xb5\xfb\x6f\x93\x22\xad\x3a\x2f\xd1\xc7\xae\xcb\x87\x76\xaf\xaa\x6e\x63\x56\xfb\x6b\x26\x71\x3e\xdf\xf7\x31\x65\x95\x49\xb0\x26\xb1\x92\xef\xe4\xb8\x1c\x1c\xdc\xe2\x3a\xfa\x72\x29\x41\xa9\xce\xa8\x47\xd9\xed\x47\xbe\x9d\x2a\xa3\xbf\x9c\x7c\x51\x1f\x4e\x3e\x6d\xe1\x57\x7f\x36\xcc\xac\x3a\x80\x1b\xe3\xff\x45\xcc\x73\xf8\x11\x9c\xf0\x23\x70\xe4\x9f\x23\x7e\x0c\xa7\xfc\x18\x8e\xf8\x09\x9c\xf3\x13\x70\x5e\xf2\x13\x90\xe3\x0a\x8e\x2d\x1f\x87\x8e\x7c\x3e\x3e\x1a\xf2\x13\x78\x79\x7a\x2c\xd3\xcf\x86\x32\xe3\xd4\x3e\xc6\xfc\x93\xf3\x21\x3f\x85\xb3\xb3\xb3\x53\x7e\x0a\x47\xce\xc9\xd1\x29\x3f\xf5\xe1\x5f\x72\xff\xab\xd6\x04\x7a\xc6\xab\xdf\x4e\x5a\x6f\x4e\xfb\xf5\xc8\x56\xaf\x6a\xd2\x95\x35\xf5\xdb\x49\x3b\xaf\xfd\x5a\xd6\x94\xdf\xad\xac\x87\xcf\x47\x8d\xe7\xd3\x66\x99\xa1\x7a\x99\x04\xeb\xb2\xbc\x7c\xd4\xa9\x77\x9c\x7f\xad\x9a\x97\x43\xd9\x7e\xd1\x40\xd7\x3c\x90\x8d\xf9\x10\x87\x72\x53\x5e\x14\x51\x2e\x88\xe7\x19\xd6\x0f\xef\x3a\xc5\xd5\x7a\x25\x46\x91\xc8\xaa\x7d\x46\x6e\xfd\xee\x0f\x57\xfb\xcb\x5f\xb5\x8a\xfe\xf0\x8b\xfb\xc3\xe5\x63\xc0\xcb\x65\xae\x0a\xbf\xf8\x61\xb9\xbf\x70\xb9\x28\xb0\x68\xf0\xe2\x87\xc9\xfe\xa2\x3f\x06\x6b\x42\x7b\x3d\xe7\x80\xe9\xd7\x9c\x97\x15\x6f\xf6\x55\xec\x2a\xfc\xf7\x47\x50\xd7\xb3\x1c\xcb\xfd\x6e\xc0\xf7\xdc\xf7\x29\xe4\x21\xbb\xc7\x19\xdc\x72\xc4\x59\x1b\xe6\xd6\x61\xcd\x6a\x67\x86\xf1\x21\xa7\x7d\x0e\xa6\x2c\x86\x16\x70\x45\x20\x57\xd7\x96\x63\xc7\x7f\x45\xf8\xfd\x58\xf9\x1d\xe5\x2c\x6c\xdf\xb6\xd6\xee\x18\x83\x0e\x87\x86\xff\x8a\x20\x0e\x35\xc9\xc1\x43\xf6\xaf\xa8\x1d\x3b\xb1\xea\x9d\x87\xa1\xb0\xe4\x81\x1d\x4b\x66\x7d\x43\x21\x0d\xd9\x3f\x9f\x3a\x5b\x7e\xfb\xf4\xe6\xb9\x13\xe6\xb7\x4f\x6f\x9e\x35\x67\xb0\x89\x67\x4c\x9b\xdf\x3e\xbd\x79\xc6\xcc\xf9\xed\xd3\x9b\xad\xc9\x83\x29\xcf\x98\x3f\x5b\xe5\x1f\x99\x42\xb2\x27\x5d\xb3\x68\xc4\xc3\xd6\xb7\xc6\xaf\x51\x7e\x6f\xdc\x31\x9f\xf8\xcd\x79\x08\x69\xa8\x8d\x9a\xf8\x2a\x67\xaf\xbb\x4f\x03\x2b\xe5\xd9\x32\x89\x33\xfe\x89\xaf\xf2\x0d\xca\x46\xbe\x64\xfb\x6c\xac\xde\xc8\x57\x23\x58\x2e\x23\x11\xa2\x16\xd5\xa1\x2c\x6b\x80\x08\x4a\x17\xf9\xf3\x7c\x11\x3d\x56\x57\xa2\x72\x28\x0b\x19\x10\x54\x95\x56\x8b\xe8\x7f\xa2\xf7\x9f\xcb\x77\x1b\xda\xa5\x77\x38\xe1\x53\x11\xf3\x5e\x4f\xfd\x5a\xc1\x62\x32\x46\x21\x85\x35\x39\x62\x49\x00\x2a\x99\x24\x01\xa5\xae\x91\xdc\x7c\xe1\x61\x5e\xd7\x5d\x24\x93\x22\xe2\xbd\x9e\xfa\x45\xf7\x9d\x69\x9e\x8d\xdb\xaf\x2c\x09\xdc\x1a\xe0\x86\xd0\xd1\xff\x13\x00\x00\xff\xff\x2d\xfc\xed\x61\xb4\x50\x02\x00") +var _uiLibD3V3MinJs = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\xbc\xfd\x7b\x73\xdb\x36\xf6\x38\x0e\xff\xff\xbc\x0a\x5b\xdf\x56\x03\x90\x87\x14\x29\xdb\x49\x4a\x05\xd2\xa4\x69\xda\x66\x37\x76\xb2\x75\xb3\xbd\x68\x55\x0f\x4c\x41\x12\x13\x0a\x54\x41\xd0\x96\x6a\x69\x5f\xfb\x33\x00\x78\x01\x25\x39\xc9\xee\xce\xe7\x97\x99\x58\xc4\xfd\x7e\x70\xee\x38\x9d\x15\x3c\x96\x49\xc6\x11\x7e\xa8\x3e\x4f\x38\xe2\xf8\x41\x30\x59\x08\x7e\xc2\xbb\x5d\xc4\xfd\xec\x9e\x33\xf1\x5d\x16\x17\x4b\xc6\xe5\x76\xcb\xfd\x69\xf3\x8d\xeb\xc0\xab\x94\xa9\x9f\x5d\x5d\x91\xfc\x74\x45\xdd\xee\x5e\x84\x3f\x65\x33\x5a\xa4\xf2\x9f\x09\xbb\xb7\x5b\xe9\x76\xb9\x0e\x36\xa9\xb8\x69\x84\x21\x0e\xb2\x6e\x46\x0e\xf9\xc8\x0b\x23\x3e\x94\x23\xf5\x97\xc8\x51\x10\x5d\xd1\xab\x26\xbb\xb0\xfb\x54\xa4\x29\x21\x84\x8f\xae\xe8\x55\xe4\xf2\x26\x53\xd1\x64\x3a\x4d\xf2\x2b\x7a\x85\xb8\xd5\x62\xd2\xa4\x3e\xa4\x6c\x26\xa3\x7a\x12\x25\x30\x10\x50\xe0\x87\x59\x26\x10\x15\x73\xdd\xfb\xdc\x4f\x19\x9f\xcb\xc5\xf3\xb3\x6e\x17\x09\x12\x60\x38\x48\x39\xef\x76\x51\x41\x64\x19\xc4\x83\x62\x28\x06\xf8\xe1\x8e\x8a\x93\x84\x08\xb7\x18\x0e\x87\xe1\x80\x23\x39\x4e\x26\xc0\xf0\xf3\x60\x24\x48\xe2\x86\x51\x41\x92\x5d\x39\x12\xb1\x03\x91\xcc\x17\xff\x5f\x77\x65\x18\x8c\x0a\x92\x44\xba\x3b\x4d\x57\x76\xcd\x54\x51\x7b\xb6\xcb\x3a\x9b\xd4\x4c\xa5\xaa\xfe\xa9\xea\x25\x09\x07\xdc\x91\x5f\x87\x03\x2c\x1d\x12\x06\x83\x6a\x45\x9b\xfc\xa9\x59\xea\xaa\x04\x3b\x49\xf8\x89\xc4\x6f\x6f\x3f\xb0\x58\xef\x9d\x84\xb3\x77\x22\x5b\x31\x21\x37\x88\xfb\x2b\x91\xc9\x4c\x6e\x56\x0c\x18\x3c\xdc\xd1\xb4\x60\x91\x1c\xb3\x09\x30\x5e\x2c\x99\xa0\xb7\x29\x8b\x4e\xc3\x9d\xb5\xae\x31\xc2\x0f\x72\x91\xe4\xfe\x0d\x29\xeb\x8c\x05\xa3\x92\x21\xb5\x4f\xac\x7c\x79\x33\x28\xc4\x5d\xd2\xe9\x60\x42\xc8\x9a\x6e\xb7\x7c\x1c\x4c\x08\x21\xb7\x74\x74\x4b\x5d\x1e\x59\x1b\x6a\x76\x50\xa4\xce\xca\xfd\x3c\x4d\x62\x86\x42\x6c\x17\x58\x58\x13\xa7\xda\x53\x23\xd5\x5d\x6b\xb2\xcc\xed\x3a\x89\xca\xd4\xe4\xea\x76\xa7\x2c\x65\x92\x95\xc1\x31\x9f\x34\xe5\x56\xc8\xac\x27\x27\xe3\xc9\xa0\x9e\xfd\x93\xba\x2c\xe6\xfe\xaa\xc8\x17\x68\x86\x24\xc6\xd5\x2a\x58\x5d\xbb\xab\xcb\x07\x47\x8b\xbb\x2e\x3f\x52\x6a\x8a\x9a\x85\xe3\x56\xee\xf2\x94\x85\x65\x91\xd3\xa0\x29\xb2\xfc\xc2\xf5\xd8\xd8\x9b\xac\x89\xbe\x54\xbb\x05\x58\x9d\x64\x81\x3a\xd5\x09\x41\x98\x4f\x57\xab\x74\x83\x64\x73\x0a\xea\xf1\x0a\x42\x88\x1c\xf1\x48\x58\x9b\x79\x6d\xb6\x5f\x32\x43\x7a\xb8\x1c\x57\x3b\x74\x20\x89\xf4\xe3\x05\x15\x2f\x24\x0a\xb0\x2f\xb3\xf7\xab\x15\x13\x2f\x69\xce\x10\x76\x65\xbd\xbe\xf5\x6c\x31\x12\x80\x20\x37\xb4\x3c\x10\x03\x31\x64\x03\xd7\x65\xa6\x5f\x05\xb9\xa1\x63\x36\x71\xe5\x20\x99\xa1\xa2\xd5\x50\x61\x75\xe6\x16\xe1\x87\x26\x74\xd3\x0a\xdd\xeb\x73\xd5\x40\x61\xeb\x90\x81\x20\x0c\x0a\xe2\x85\x90\x10\x51\xb5\xef\xba\xc5\xf3\x64\x80\x91\x24\x62\x5c\x4c\xfc\x8c\xe3\x6e\x57\x56\x93\xb3\x48\xf2\x23\xf3\xc3\x77\x66\x20\xe3\x09\x08\xc2\xd9\xfd\x49\x5c\x9f\x57\x3f\xe3\xc4\x02\x43\x45\x09\x3d\x80\x12\xe1\xcf\x99\x44\xb2\xae\xe4\x00\xf8\xf4\x47\xb4\xdb\xa5\x7e\xc6\x23\x44\xbb\x5d\xa4\xbe\x88\x5a\x6c\x60\x84\x95\xd3\x18\x40\x42\x98\x9f\xf0\x29\x5b\xbf\x9d\x21\x8a\xb1\x1f\x67\x3c\xa6\x12\x55\x19\x12\x37\xc4\x18\x84\x2f\xd8\x32\xbb\x63\x6a\x0f\x43\xd1\xed\x32\xb3\xa7\x85\x9f\xab\x1e\xc0\x43\xc6\xa3\x62\x87\x31\x70\xbc\x03\x0b\xc2\x5c\x23\xfc\x90\x51\x9f\xdd\xa9\xdb\x68\x25\xf4\xef\x77\xe6\xda\x41\xd6\x8e\xfb\x68\x6f\x66\x90\xa4\x2a\x32\xe0\x44\xfa\x79\x56\x88\x98\xbd\xd2\x61\x2c\x09\x3f\x02\xc8\xae\xda\x80\x4f\xcd\xdf\x0d\x98\x5d\xb1\x3f\x27\x6a\x63\x3c\x17\x03\x2c\xc7\x75\xca\x98\x4d\x26\xe4\xde\x9a\x47\xe9\x67\xb3\x66\xca\x19\x88\xc3\x3d\x5f\xe0\x07\x29\x36\x25\x1c\x2f\xec\x3e\x36\x9d\x2f\x7c\x49\xc5\x9c\x49\xc2\xa1\x8a\x23\x05\xc8\x71\xe1\x2b\x28\x3a\x29\x37\x84\xaa\x7e\x37\x4b\x38\x4d\xd3\x4d\x3d\x57\x24\xd9\xed\x5a\x13\xf9\xca\x3a\x93\xd7\x14\x71\x78\x41\x31\x58\x87\xf3\x45\x93\xde\xa9\x22\x3b\x84\xa8\x86\xb2\xd9\x09\x1f\xf1\xc8\x3a\xae\x65\x3d\x1f\x55\x3d\x6a\x3f\x62\xeb\x1c\xbc\xfc\x2f\x2a\xba\x3a\x56\xd1\x5f\xe5\xe5\xd2\xe0\x15\x25\xf4\x31\x1b\xe9\x85\x94\x22\xb9\x2d\x14\xf4\xc1\x36\x36\x71\x3c\xd3\xd5\x35\xe2\x7e\xbe\xa2\x31\x03\xee\xa7\x59\x4c\x6d\x78\x55\x54\x85\x72\x26\xad\x6a\x41\xb6\x70\x8c\x23\x79\x0e\x6b\x6d\x95\xa1\x25\x64\x63\xe4\xb1\xc3\x6b\x10\x1e\x36\x7a\x64\x5c\xd1\xb1\x5e\x31\x6c\x5f\xd8\xff\x4b\x0b\x47\x26\xe5\xb0\xc5\x23\x63\x64\xb8\xc2\x2d\xb8\xda\xac\x3c\xf7\xff\x2c\x68\x9a\xcc\x14\xdc\x07\xd3\xa0\x1c\x95\x99\x47\x22\x62\xd1\x91\x8d\xd0\x64\xc8\x22\x1a\x55\xdf\x49\x54\x34\x83\x7b\xd3\xc2\x55\xa4\x48\x96\x08\xfb\x82\xad\x52\x1a\x33\xd4\xfb\x57\xee\xf6\xe6\xd0\x39\xe9\x58\xd3\xf1\xa7\x5d\x82\xdd\x9f\xfc\xc4\xe6\xaf\xd6\x2b\xd4\x41\xa3\xe8\x8f\xed\xbf\xfe\x95\xbb\xb8\xe3\x66\xd4\x17\xec\xcf\x22\xd3\x13\xec\xaa\x24\x95\xb0\xfd\x0a\x77\xa0\x33\xb7\x2b\xfb\xb9\x85\x22\x74\x3a\xb8\xea\x42\xbe\x4a\x13\x89\x7a\x7f\x6c\x55\x17\xac\x02\x3f\x1d\xd9\xb0\xcd\x0d\xe3\x85\x1a\x72\x14\x03\xcc\xc7\x6c\x62\xd6\x49\xee\xed\x5c\x3b\x37\x88\x47\xd7\xf4\xa0\x1e\x81\x77\x9c\xa8\xfe\xfa\x4b\xba\x42\xdf\xe1\x81\xb9\xb7\x78\x7d\x9f\x3d\x76\x1c\xa5\x5a\x9e\xa6\x0f\xdf\xa9\x21\x1b\x10\xa8\xa6\x72\xb0\x0f\xb4\x34\x24\x53\xb7\x20\x61\x7e\x9c\xd2\x3c\x7f\x93\xe4\xb2\xba\x0c\xc5\xa8\xf0\xe9\x74\xaa\xb6\x6d\x51\x01\x7b\x5e\x75\x85\xa9\x9b\xa6\xd9\xc5\x1d\x5d\xba\x83\xb7\xdb\x4e\x67\x20\x46\x48\xfa\x29\xcd\xe5\x6b\x75\x89\x90\x00\xa4\x2f\x59\x2e\x51\x81\xb7\x5b\xd6\xde\xfd\x65\x39\x78\x83\x0a\xb7\x73\xd2\x71\x39\xc6\x38\x7a\x3c\x4f\xbd\x5b\xa4\xde\x28\xd8\x06\x2f\xef\x2a\x6c\xe4\x10\x76\xe4\x72\x93\xb2\x72\x08\x0d\xfe\x7a\x14\x60\xe8\x9c\x39\x93\x4d\x36\x5d\x69\x1b\x6e\x18\xec\xe6\xd3\x27\x54\x8c\x3e\xd5\x74\xf4\x68\x6b\xc2\x3e\x8d\xe5\xd1\x13\xc7\x0f\x5c\xeb\x70\xbd\x3f\xb2\x59\x2d\x14\xb5\x85\xa0\x56\x13\x33\xe6\x13\x22\xdb\xb3\xf0\x65\xc0\xa7\x5d\x71\x54\xd5\xc5\xf6\x3b\xfe\x08\xa4\x28\x22\xd1\xb4\xfa\xe1\x00\x97\x32\x1b\x56\xcf\x50\x8b\x7a\x05\x66\x22\x39\x5d\x32\x0d\xc0\xde\xff\xf4\xba\xda\xd2\x8c\x10\xf2\x92\x2a\xac\x6a\x8f\x58\x6e\xe5\xd6\x99\x46\x15\x9a\x5b\xe6\xd0\xcb\xd1\x8e\xba\xba\x46\x0c\x78\x8b\x06\x6e\x08\xe0\x83\x7e\x1d\x94\x3d\xb8\x99\x3e\x79\x7d\xa2\x43\xa0\x8b\x4b\xf0\xc9\x22\x6b\x79\xbe\xaf\xc9\x02\xdd\x85\x15\x15\xaa\xb5\x6c\xca\x06\x5c\x11\xfa\x66\x8f\xbd\x5c\x24\xe9\x14\x99\xab\xb7\x2e\xf9\xa3\x45\x4f\xdf\xdc\x4c\xa9\xa4\x37\x37\x11\xb7\xce\xce\x5b\x0b\xce\x1e\xde\xe6\xaf\xa8\xd9\x08\xdc\x3e\x6e\xaf\xad\x22\xfb\x28\xd5\x76\x8b\x38\x61\x18\x6c\x5a\xb9\x99\xbf\x6e\x97\x8d\x38\x92\x7e\xd5\x13\x60\xf5\x27\x8e\x4e\xa5\x77\xca\xac\x66\x7e\xdb\xa3\x48\x35\x0a\xc7\x6d\xbc\x9e\xb9\x2e\xae\x92\x0b\x48\x88\x82\xa2\x40\x49\x00\x19\x49\xaa\x7c\xd9\x90\x0e\xa8\xeb\x62\x54\x90\x64\x4c\x27\x0a\xfb\x46\x05\x50\x60\xc7\xc8\xaf\xdf\xf7\x31\xab\x37\x6d\xcc\xea\x9f\x35\x50\x05\x76\x00\x51\x05\x14\x90\x98\x64\x0a\x19\xe1\xe3\x64\xe2\x17\xab\x29\x95\x0c\x52\x92\x55\xfd\x51\xfd\x4d\x4e\x09\xeb\x76\x11\x23\x09\x48\x12\x60\x28\x86\x44\x76\xbb\x48\x92\xc2\x0d\xf1\xe0\x14\x51\x92\x8d\xa5\xea\xaa\xeb\xca\xe7\xe9\xa0\xc1\xe9\xad\xd9\xf9\xf5\x28\xcc\x6b\xce\xcf\x98\x4e\x06\xba\xd2\x06\x59\xd0\x28\xa9\x02\xf3\x8c\x33\xa1\x8b\x4b\xff\x2b\x0c\xf6\x89\xa6\x13\x7c\x08\x14\x0a\x92\x22\x09\x31\x6d\x58\x1d\x8a\x76\xf5\x63\x9a\xa6\x66\xbb\x69\x7c\x4f\x5d\x18\x07\x2d\x98\x3a\x49\x01\x85\xff\x95\xda\x16\x85\x7f\x63\x83\x9d\x0a\xa2\xaa\xf3\x6d\x5f\xf2\x7f\xdc\xdc\x64\x1c\x8d\xff\xf0\x27\x47\xae\xf9\xaf\x3a\x0d\xb5\x27\x2a\x6a\x17\x2b\xca\x91\x08\x7f\x49\x65\xbc\x40\x0c\x57\x3d\xd7\x3d\x10\x93\xc1\xa3\xd3\x20\xc7\xe1\x04\x74\xff\xda\x33\x21\x26\x3b\x4d\x86\x51\xd2\x51\x9d\xe9\xb8\x5c\xad\x69\x4d\x1c\x75\xfc\x0e\x86\x94\x7c\x35\xc8\x86\x41\xb7\x8b\x38\xe1\x35\x0d\x95\x61\x73\x53\xc6\xe4\x4f\xaa\x89\xb2\xe6\xf6\x8d\x75\xd6\x18\x52\xf2\x2d\x86\x6c\xa4\xc1\x61\x24\x47\xb7\x51\xd2\xcc\xc9\x57\x2d\x9e\x5b\x73\x5f\x57\x77\x4f\x4d\x52\xd4\xf4\x01\x03\x39\x0e\x26\x06\x34\x54\xc7\x69\xa0\x28\x12\x6e\xc3\x72\x79\x84\xb2\x68\xf1\x93\xbe\x35\x0d\x9b\xb3\x66\x7a\x71\xb0\xc7\xb9\xbd\xc5\xf4\x71\x14\x2c\xa5\x92\x4d\x7f\xd6\xd4\xcd\x40\x68\xde\x17\x21\x72\xbb\x7d\xd6\x15\x7e\x9c\x2d\x15\xac\xaa\xa0\xe5\xbb\x2c\x4f\x0c\x50\xc0\x1a\x1f\x30\x3b\xa8\x0d\x5c\x7e\x69\x46\xda\xf1\xa7\x82\xce\xf3\x62\xb5\x12\x2c\xcf\xbd\x8e\x7b\xe2\xba\x3f\x51\x28\x48\x27\x4e\x93\xf8\x63\xc7\x15\x90\xa8\xe9\xc8\x59\xca\x62\x89\xa4\x5a\x76\x3f\xe3\xa8\x23\xb3\x22\x5e\xa8\xa5\x56\x59\xae\x4d\x9c\xae\x4a\x52\x21\xad\x38\x53\xd0\x8a\x1d\x24\x33\x64\x2e\xb0\x9f\x15\x8d\xfc\x33\x25\x9d\x8c\xdb\xb9\x12\x7e\xc2\x46\xa7\x61\xb4\x56\x24\xb1\xba\xc2\xa1\x53\xe4\x4c\x5c\xeb\x2c\x1d\x8c\xe1\x67\x5a\x42\x00\xa2\x96\xac\xcc\x93\x11\x3a\xfe\x99\x4e\x06\xfa\x2f\xe9\xf0\x8c\xb3\xce\xee\xc8\xd4\x26\x33\x94\xf8\x1a\x92\x68\x2e\x0c\xe8\x4e\x98\x42\x99\x22\xa7\xcb\xb9\xb7\xc0\xb4\xce\x5e\x98\xec\xbb\x41\x19\xb2\xd2\xaf\x11\x06\x45\x5d\xc3\x69\x80\x21\x67\xf2\xe7\x64\xc9\xb2\x42\x51\xe9\x01\xb6\xd7\xfe\x6f\x9a\x18\x79\x60\x7e\xbc\xa0\x7c\xce\xa6\x3f\xab\x19\x64\xb9\x06\x52\xfb\x91\xe3\x60\x62\x36\xb8\x5a\x7e\x7d\x1b\x5e\xff\xf3\x87\xf2\x06\xdc\x6e\xb9\x9a\x43\x51\xde\x8b\xd7\xff\xfc\xe1\x5d\x96\x70\x59\x9d\xc6\xfd\x78\xa4\x67\x3c\x18\x7e\x47\x2b\x36\xa8\x3e\x2d\x7a\x1e\xf2\x58\x64\x69\xfa\xeb\x76\x5b\x7d\xfe\x86\x1f\x84\xb5\xdc\x9d\xdb\x6c\xba\xe9\x60\xb5\xc5\x19\x9f\xa2\x4e\x7e\x37\xef\x94\x13\x8e\x1e\x56\xe5\x4e\x8b\x3a\xf4\x36\xcf\xd2\x42\xb2\x0e\xc8\x6c\x15\x05\xa0\x99\xca\x01\x2c\xa9\x98\x27\x3c\x0a\x60\x45\xa7\xd3\x84\xcf\xa3\x00\x6e\x33\x31\x65\x22\x2a\x97\x07\x3a\xc9\x72\x95\x09\x49\xb9\xec\x98\xe1\x52\x22\xc6\xc1\x64\x1c\x4c\xd4\xa1\xbe\x8e\x05\x63\xfc\xe5\xcf\x97\x08\x0f\xbe\xa3\xe4\x14\x51\x7f\xb6\xdd\x52\x9f\x59\xec\x11\xbc\xab\x16\xf9\x3b\x3a\x42\x85\xbf\x26\xcc\x5f\xd1\x39\xfb\x15\x0a\x7f\x53\x7e\xff\x86\xa3\x32\x25\x4e\x13\xc6\x65\x95\x66\x42\xbf\x61\x28\x48\xa1\x80\x9a\x48\xd6\x3f\x0b\xca\xf3\x59\x26\x96\x88\xef\xf5\xc0\x4f\xf8\x1d\x13\x39\x43\x18\xc3\xb8\xf0\xd7\xaa\x8e\x89\x86\x5e\x0a\x64\xcd\x99\xfc\x36\x2b\xb8\x1a\xe5\x4b\x5d\xeb\x4f\x6a\xfa\xaa\xb3\x3d\xae\x5b\xf6\xd4\x1d\x35\x93\x1e\x2f\x23\xde\xb0\x99\x84\xba\x27\x5e\xe6\xcb\x6c\x55\x27\xfe\x9c\xad\x2c\xac\xf2\x87\x06\x63\xa8\x39\x3c\x07\x9b\xc6\x4f\xa6\x8c\xcb\x64\x96\x30\x0b\x05\xfc\xbb\x4d\xe6\x0d\x83\x51\x18\x05\x46\xca\x60\xf1\x2a\xff\xd1\x66\x36\x22\x05\xed\x3c\xae\xb6\xa1\x83\xd8\x38\x54\xdf\xe1\x04\x7b\x1a\x94\x9b\x6f\x15\x5f\xe5\x69\xea\xe1\x2d\xe1\xcb\x30\x1c\x05\x91\x17\x0e\xf9\xe8\x03\x8d\x2e\xa9\x5c\xf8\x34\xce\xf2\x16\x6d\x20\xf7\x0b\xbc\xa5\xa6\x84\xf7\xb6\x2a\x92\x27\xbc\x55\x84\x59\x45\x10\xe2\x44\xe7\x62\xeb\x95\xc2\xec\xbc\xb0\xc7\x71\xaf\x6f\x21\xe3\x9f\xc8\xec\xee\x67\x2e\x1e\xcb\xdc\x77\x74\xdd\xb8\x87\xb8\x1b\xda\x2c\x0b\xde\x62\x62\xeb\xfc\xba\xbb\xbd\x3e\xc6\x8e\x85\xd5\x68\x48\x61\x49\x02\xf8\x1e\x73\x57\xc1\xfa\x93\x84\xe7\x92\xf2\x58\x61\xae\x29\x1f\x19\xb4\x62\x41\x5c\x73\xc7\xfb\x39\x71\x25\xdc\x65\x89\xc1\x3f\xfd\x94\xb8\x0c\xe3\xe8\x08\x0f\x92\xef\x55\xa4\x6e\x7d\xd5\xa0\xbf\x00\xee\xe7\x0a\x6d\xc6\xd1\x0d\x47\x1d\x75\xdf\xde\x73\x48\x39\x8e\xaa\x2c\x7b\xd4\x58\xcc\x8f\x60\x40\xf6\x72\x9d\x3d\x09\x46\xdc\x23\x67\x4f\x02\xb5\xa7\xd4\xcd\xeb\xaa\x00\x86\x27\x6a\x8b\x25\x2e\xa2\x5e\x82\x1d\xde\x7b\x12\x44\xe1\x33\x15\x45\xa3\xfe\xb9\x9d\x84\xfa\xe7\x81\xc7\xb1\xca\x90\x1c\x95\x5f\x9d\xe8\x39\x15\xea\x70\xa1\xfe\xc5\x85\xa3\xda\xc7\xbb\x92\x23\x5b\xa3\x97\xa4\x92\x72\x8d\x82\x08\xf1\xaf\x75\x1f\x9e\x07\x23\xee\xaa\x9e\x71\x90\x65\xba\x54\xe9\xc1\x50\x8e\x82\x48\x0e\xc3\x51\x18\x29\xa4\x28\x18\xb2\x51\x10\x31\x1d\x66\x40\x89\x7f\x31\x24\x6c\xc4\x1c\x14\xba\x12\x47\xcc\x95\x1e\x73\x24\x24\xa4\xef\x30\x8f\x82\x9a\xa9\x0d\x47\x85\xda\x08\x7d\x85\x57\x22\xae\xff\x78\x2a\x64\x0b\x59\x3e\xb7\xc2\xf9\xe1\x0a\xc7\xff\xd5\x0a\xe7\x66\x85\xf3\x6a\x85\x63\xb3\xc2\xad\x3c\x0b\x3e\x5a\xa9\xf4\x14\xb8\x4f\x81\xfb\xb7\x38\x5a\xe9\x1d\x7e\xad\xff\x2a\xec\x6f\x7e\xab\x29\x23\x01\xdc\x9f\xeb\x1c\xd8\xce\x5d\xb5\xb0\xb7\x41\x66\xfb\xa3\xac\xd6\x41\x23\x61\x01\x86\x6a\xde\x35\xea\x1d\x60\x3d\x7d\x0b\x8e\x18\xe8\x65\xd5\xc0\xc0\x21\xaf\x29\x76\x24\x34\x87\x07\x3b\x36\xa7\x67\xf1\xb9\x99\x5c\x54\x33\x99\xd6\x33\x49\xdb\x33\x79\xfb\x65\x33\xb9\x30\x33\xb9\xd8\x9b\xa9\xfd\xd9\x9e\xed\xcd\xb4\x99\xc3\x0d\xdf\x9b\xbf\xa8\xaa\x6b\x6f\xce\xe6\xf5\x78\xcc\x05\xaf\x76\xd2\x13\xdc\x0b\xc3\x27\x50\x10\xe1\xca\xde\x45\x10\x40\x42\x84\xc7\x7a\xfd\xa0\x16\x23\x16\xe4\x8e\xa3\x02\x3b\xff\xa0\x20\xd4\xa7\xc0\x0e\xcf\x20\x51\x9f\x09\x76\x64\x56\x6d\xcc\x25\x47\x67\x7e\xff\x3c\x38\xbf\x38\xef\x3b\x85\x17\xfa\x17\x67\x4f\xc3\xb3\x67\x17\x8e\xf0\xfc\xf3\x6f\x9e\x5d\x9c\x85\xe7\x4e\x82\x61\xc9\x91\xe7\x7f\xf3\xe4\x9b\xfe\x93\x27\x4e\xe1\x86\xfe\xb3\xa7\x4f\x82\x30\x78\xe6\x08\xd7\x0f\xce\xc3\x8b\x8b\x27\x65\x26\x3f\xb8\xb8\x78\x72\x7e\x76\xee\x14\x9e\xdf\x0f\xce\x83\xfe\xc5\x37\x8e\x70\x43\x3f\xb8\x78\xda\xef\x5f\xf4\x9d\xc4\xde\xf3\xab\xfd\x95\x52\xb7\x4d\xb9\x73\x0c\x28\x97\x94\xf7\x11\x03\x89\x9d\xdf\x68\xb9\xe0\x7f\x0a\x89\xa4\x23\x5d\xe6\x30\x85\x7f\x55\x3b\xed\x8a\x5e\x81\xfa\x6f\x03\xfe\xbb\xf6\x5d\xe1\xf7\x83\x27\xcf\xbe\x39\x0b\xce\xce\x47\xdc\xe1\x8e\x22\xf5\xbd\xf3\x5e\xff\x1b\xdc\x7b\xea\x3f\x7d\xf6\x34\x38\x7b\x6a\x89\xef\xf6\x8a\x06\xc1\xb3\x67\x17\x4f\x46\xba\x0b\xab\xec\x1e\x71\x08\x7b\x67\x38\xaa\x0a\x3a\xdc\x55\x35\x59\xb2\x3c\xfe\x38\x48\x42\x7e\x10\x9c\x05\xe7\x43\xc2\x47\x61\xdf\xff\xa6\xef\xf0\x48\x4d\xd0\x85\xd3\xaa\xbd\xef\x9f\x63\x4f\x45\xdb\x33\xb6\xf9\xdc\xde\xde\x54\x7b\x5b\x90\x7f\xff\xbb\xdc\xdc\x73\xf2\xef\x7f\xb7\x77\xf7\xbf\xff\xfd\x25\xdb\x7b\x63\xb6\xb7\x6a\xd3\xde\xa6\xd5\x55\xb0\xe1\x10\x97\xf3\xbf\x39\xdc\xb5\x97\x7c\x8f\x59\xac\xf2\x0c\x87\xe1\x13\xe0\xc3\xe1\xb3\x6e\xff\xe2\x02\xfa\x17\x17\x5d\x7b\xb9\xd6\xad\x39\xe3\x9a\xb0\xec\x58\x12\x40\x3b\x39\x7c\x32\xe4\xa3\x4e\xd0\x71\xf5\x9c\x2d\xe9\x1a\x05\xc0\xb1\x2f\xb3\x6b\x29\x12\x3e\x47\xe1\x13\x6c\xb0\x81\x65\xc2\xd5\xa4\xef\x27\x5a\xa2\xc4\xf6\xf1\x82\x02\x92\x92\x5f\x11\x40\x4a\x02\x8d\x3a\x93\x1e\x1a\x53\xef\xaf\x89\x8b\xff\x85\x90\xef\xe0\x7f\xe1\x9e\xcf\xd6\x2c\xd6\x34\xa6\xcc\xde\x64\xf7\x95\xf8\x13\xe3\xfc\x3e\x51\xe4\x6e\x41\xc4\xb8\x3f\x29\x99\xd9\x1d\xe8\x60\x10\x0a\x0b\x7a\x88\x69\xce\x3a\x8b\x3c\xed\x44\x15\xab\x0c\xad\xa8\xc8\xd9\xf7\x69\x46\x25\x2a\x14\x76\x04\xad\x88\x70\x82\x7b\x61\x10\xb4\x23\xfb\x26\x12\x0f\x74\x75\x62\x7e\x5b\x57\x27\xd1\x15\x2f\xab\xd1\x1f\x61\xf5\xd1\x9f\xe0\x8a\xf3\x85\x12\x52\x64\x25\x19\x8c\x47\x12\x25\xbe\x80\xc4\x9f\x43\xa2\x96\xb7\x24\xb6\xf8\x76\xdb\xf9\x7f\x9d\x53\x42\x78\x23\xe9\xdd\x6e\x0d\x78\x4e\x88\xee\xcc\x6b\x2e\x51\x23\xcd\x87\xf0\x89\xa2\x20\xd1\x39\x21\x35\x47\x68\x84\x28\x41\x67\xcf\xce\x83\x6e\x82\x87\xc3\x73\xa0\x84\x0e\x87\xe7\x5b\x0a\x19\xe9\xab\x48\xc8\x48\xa6\x22\x32\x48\x49\x78\xd1\x4d\x20\x25\xe9\xf3\xe7\xe7\xdb\x14\x47\x4f\xad\x6a\x14\xc5\x45\x50\xf8\xe4\x69\x18\x3e\x79\x66\xea\x0a\x9f\x40\x46\xd0\x93\x8b\x7e\x19\x7e\x06\x29\x51\xfb\x29\xc1\x8a\xb8\xa2\x90\x41\x6a\x9f\x9b\xfb\xc3\x45\x26\xf5\xf6\xe0\x3d\x55\x14\xa4\xf9\x61\xfa\x07\x03\x25\xf5\xd6\x32\x45\x15\xc9\xe8\xa9\x2e\x22\xea\x26\xb8\xd7\xaf\x20\x6d\x36\x42\x85\x42\x02\xd2\x51\xd6\xd3\x49\x51\xd6\x43\x7d\x4f\xa1\x2b\x8a\x1a\x27\x84\x8e\x90\xf4\x18\xee\x65\x2e\x62\x43\x39\x7a\x12\x05\x38\x92\x3a\x9a\x29\x54\x26\x73\xfb\x0a\x12\x49\xf5\x75\x0e\xc2\x21\x4f\x02\x1c\x21\x41\x14\x34\x2b\x48\x3a\x0c\xba\xdd\x70\x98\x8e\x82\x48\x98\xeb\x30\x35\x6c\x2d\x5b\xc2\x76\x5d\x0f\x8f\x93\x8f\xea\x98\x80\x54\xbf\x12\x03\x53\xbf\xac\xa2\x0d\xa7\x1c\x21\xff\x3c\xec\x9f\x5f\x3c\x39\x77\xb8\xeb\x9f\x5d\x3c\xbd\x78\xfa\x24\x74\xa4\xeb\x87\xcf\x82\xf3\xb3\xa7\x17\x0e\xc3\xbd\x7f\x50\x45\xe2\xe8\xbc\xfd\xb0\xff\xe4\x69\xff\x1b\x95\xf7\x69\x78\x11\x5e\xf4\xfb\x2a\x6f\xf0\xb4\x1f\x9a\xac\x3c\xc3\x90\x98\xac\x41\xf8\xcd\xd9\xd9\x99\xce\x1a\x86\xdf\x84\xdf\xe8\x9c\xdf\x5c\x28\x48\x17\xaa\xac\x32\xab\x59\x17\x0b\x8e\xc2\xf0\x89\xba\x6d\x9e\xc0\x45\x10\x38\x48\x78\x05\x86\xbe\xfa\x2a\xbc\xd6\x0d\xf1\xb1\x85\x2f\x9b\x95\x79\x4e\xfc\x40\xdd\x57\x23\xde\xd3\xe0\x33\xaa\xc1\x26\xe2\xae\x06\x98\x3d\x0d\x4e\x41\x41\x50\x4b\x06\x6d\x71\x4a\xac\xb3\x54\x33\x82\x3a\x5f\x77\x88\xb5\xdb\xab\xbd\xe7\x85\x78\x64\xc3\x6f\xff\xe2\xc2\x91\xd8\x66\x04\xbf\xe2\xff\x85\x48\xd6\x66\xf7\xbe\xe0\xc7\xf8\xbd\x5a\xa1\xa9\x8e\xee\x13\x72\x20\x2a\xef\x76\x8f\x34\xc7\x34\xb7\x87\x01\x23\x86\x5f\xf1\xd2\xd4\xc4\x41\xb4\xa4\xc8\xe5\x86\x51\x2d\x1c\xf0\x16\x15\xfe\x9b\xfa\xb9\xa4\xb2\xc8\x15\xf8\x3b\x95\xdd\xee\x1b\x8e\x52\xbc\xdd\xca\x21\xe9\x07\x41\xb7\x7b\x16\x04\x43\xb9\xdd\x9e\x05\xea\xb4\x4b\x23\x6b\xe7\xa4\xe4\x1e\x25\x6a\x6f\xc6\x9a\xe9\xd7\x0c\x40\x5d\x3f\x27\xd4\x67\x42\x64\xa2\xca\x26\xf0\x8e\xfa\x69\x46\xa7\x55\x04\xc7\x3b\x96\xe6\x6c\x3f\x5f\x5a\x22\xf0\xe4\x61\x07\x54\x21\x9f\xd3\x24\x5f\xe9\xfa\x3b\xb7\x6c\x96\x09\x96\x33\x3e\xed\x40\x67\x25\xb2\xb9\x60\x79\xde\x81\x8e\xaa\xb5\x03\x1d\x5d\x4d\x47\x1d\xdd\x87\x1d\xa4\x9a\x9f\xf9\xeb\xe5\x9b\x1f\xa5\x5c\xfd\xc4\xfe\x2c\x58\x2e\x21\xd6\xf3\x54\x69\xe3\xe8\xfb\xf1\xd7\xef\xb2\x25\x4d\x78\x99\x63\xbb\xed\xdc\x27\x72\xf1\x52\x30\x4d\x2a\xd3\x34\xef\x24\xfc\x24\xdd\x6e\x4f\x7b\x7f\xa0\x85\x94\x2b\x94\xe3\x51\x84\x47\xff\xea\xfd\xab\xd7\x33\x92\x35\xae\xe0\x60\xd9\x5a\xab\x2e\x0c\x9d\x8c\xeb\xae\xa9\x2a\x46\xa9\x6f\x42\x44\x7d\xe8\xae\x92\x22\x52\xdf\x82\xd1\xe9\x46\x2d\x00\x33\x14\xbb\xcd\x5e\x4a\x7d\x9d\x7a\xad\x52\x87\x67\xdd\x6e\x81\xf0\x0e\x54\xa1\x6a\xf4\xe4\x90\x33\x78\xc8\x9f\xe4\x9a\x19\x49\xfd\xaa\x90\x35\xd5\x07\x1c\x49\xb9\xdb\x41\xe2\x2f\x18\x9d\x32\x61\x55\x6e\x71\x44\x39\xa9\x44\xb8\xf6\x5d\x78\xa8\x6c\xd7\x1f\x65\x63\x3e\xa9\xae\x18\x59\x09\xae\x74\x64\xa6\xc5\x5f\x6e\xa7\x03\x09\x56\xed\x2d\x93\x25\xfb\x79\xb3\x62\xad\xe1\x3c\x22\xe1\x18\x21\x49\xca\x6b\x6b\xa4\x7e\x23\x6e\xea\x89\xa4\xaa\x49\xb0\x7c\x95\xf1\xfc\x3f\xa8\x2d\x26\x5c\x95\x8e\xed\xd2\xc7\x4a\x32\x95\x6f\x07\xe3\xce\x9c\x49\xb5\xff\xb2\x5c\x76\x26\xfe\x2c\x13\xaf\x68\xbc\x40\x2d\x36\xa2\x1a\xdd\x21\x18\x48\x7c\xb5\x75\x4b\x96\x70\x02\x63\x3e\xa9\xd4\x7b\xda\xac\x7d\xbc\xdb\x61\x30\x99\x5b\x8a\x2f\x50\x68\x0e\xe5\x17\x43\x07\xa1\xb5\x1d\x85\xba\x97\x34\x74\x48\xfd\x6c\xc5\x54\x4d\x5c\x73\x23\xcb\x75\xd9\x6e\x3b\x34\x8e\xd9\x4a\xf3\x56\xb3\xed\x16\x65\xbe\x09\xab\xf5\x01\xa7\xe7\x74\x54\xc9\x9c\xc9\x72\x5b\xff\xa8\xb7\x46\x2d\xf6\x51\x08\xe9\x49\x86\x0f\x73\xa0\x1c\xb2\x71\x3e\x69\xa4\x3c\x45\x9a\x9e\x12\xd9\xed\xa6\x7e\x76\xc7\x84\x48\xa6\xec\xb2\x5c\xf5\x63\x71\xea\x3e\x33\x45\xe2\x6e\x17\xa5\xed\x75\x8d\xab\xb4\xa2\xdb\xd5\x3c\xd7\xf2\xec\x43\x61\xf8\xca\x06\x20\xd8\x4b\x52\xe8\x6d\xa8\x60\x0e\x06\xea\x37\x80\xa4\x39\x0a\x7a\x90\x7c\x8a\x2a\x11\xb2\xde\x5a\x02\xab\x25\x4f\x7c\x7a\x9b\x09\x79\x64\x49\x53\x93\x82\x74\x36\x2d\x26\xb9\x4d\xf8\x14\x25\x40\xd5\xe1\xef\x54\x93\x2c\x46\x49\x94\x68\x1c\xec\x2f\x45\x9c\x59\x17\xd5\x5f\x2d\x3c\xd7\xc6\xa6\xda\x02\x3c\x8e\x1a\xb9\xae\x61\x36\xdb\x0a\x95\x6f\xac\xe3\xcf\x5b\x53\x35\x68\x24\x7f\x1d\xc9\xd6\x52\x21\x79\x72\xd4\xe4\x89\xac\xec\x6c\x6d\x5d\x74\x7f\xee\x11\xa2\x07\xaa\x5b\xfd\xa1\xa8\xe8\xf6\x33\xfd\xc9\xc8\x77\x54\x32\x9f\x67\xf7\x08\xd7\xaa\x0a\xae\x84\x84\x3c\xc4\x11\x07\x19\x15\xc0\x75\xdf\x77\xb5\x38\x2d\x1b\xd1\xcc\xe7\x24\x89\x92\x8c\x24\x40\xd5\x9f\x4c\x6d\xc1\x34\x23\x71\xca\xa8\xa8\xb8\xe5\x69\x86\x21\xcb\x48\x08\x71\x86\x7e\xe6\x58\xcd\x76\xa3\x5a\xc2\x6b\xd9\xec\x4f\x1c\x29\x64\xe8\x3b\x8e\xb0\xc7\x07\x72\xd8\x3f\x1f\xa1\x24\xff\x3e\xe1\x89\x64\x86\xcd\x70\x50\x6b\x9a\x11\x8b\x2b\xff\xb3\x82\x73\xba\x29\x85\x95\xd9\x2d\x5a\x9a\x29\xdc\xd6\x8f\xb3\xc6\x0c\x92\x24\xd9\x40\x0e\x30\x1f\x12\xe9\xcb\x6e\x57\xfa\xb1\x42\xf5\x7c\xc3\xe0\xf0\xe3\xf2\x18\x4a\x22\xfd\x63\x4a\xa4\xdf\xf1\x3d\xc5\xbb\x24\x03\x46\xc2\x5e\xa0\xea\x94\x7e\x3c\x42\xd2\x97\xcf\x8d\xdc\x52\x55\x0a\x92\x20\x4e\x24\xf6\xb9\xc2\x30\xf9\x88\xfb\x5c\xd5\xac\xe6\xd2\x6a\x80\x66\x84\x83\xa5\x96\xf2\xae\x0d\xcc\xa5\x87\xb8\x41\x79\x62\x96\xa4\x86\x10\x4f\xb3\x39\xe2\xb8\xa7\xbf\xdf\x5c\x85\x01\x8e\x6c\xae\xe6\x7b\x6e\x8b\xa9\x6a\x74\x2c\x0c\xe0\xcc\xb9\xa4\xe8\x99\xd7\x28\xd6\x3e\xe4\x31\x4d\x59\x24\x87\xcf\x46\x47\xe0\x29\xef\xb1\x5d\x74\x2c\xde\x61\x3b\xc8\x37\xcb\xdb\x2c\x6d\x09\xca\x3f\xb4\x36\xf9\x94\xc5\xc9\x92\xa6\x0a\xf5\xf1\xe5\x22\x2b\x72\xca\xa7\x46\x20\x36\x17\x59\xb1\x4a\xf8\x1c\x0a\x85\xe0\x15\x42\x30\x1e\x6f\x20\x21\xa2\xdb\x65\xa3\xf6\x8d\x56\xcb\xae\xeb\x63\x07\x09\x19\x57\x22\x6c\x31\x0e\x26\x9a\x2a\x2c\x14\x5a\x6e\xe4\x8c\xa9\x9b\xb9\xe1\x50\x76\xbb\x28\x6b\x48\x86\x10\xa4\x97\xaa\x5d\x69\xf4\x30\xb9\x9f\x17\xb7\xb9\xa1\x3e\x0b\x8f\x64\x50\xb8\x19\xc6\x70\x8a\x50\xea\x92\xcc\x0d\xf1\x50\x4d\x11\x56\x0d\x50\x45\x5f\x84\xf8\xeb\x4a\x5b\x75\x32\xa8\xef\x0a\xc1\x4a\x91\x82\xff\x21\x4b\x14\x5a\xbf\x8b\x36\x8f\x89\x03\x19\x99\x65\x25\x8d\xaa\xc8\x10\x36\x0e\x27\xdb\x6d\xe7\xa4\x03\x94\xb0\x71\x5f\x7d\x0f\x3b\x90\x11\x36\x3e\x53\xdf\x5e\x07\x52\xc2\xc6\xe7\xea\xbb\x03\x31\x61\xe3\x8b\x09\xe4\xc4\x65\xe3\x27\x13\x98\x11\x36\x7e\x3a\x81\x05\x61\xe3\x67\x13\x98\x13\x36\xfe\x66\x02\x2b\x12\xc2\x1d\xe9\x74\x60\xaa\xfe\x2c\xc9\x69\x08\x1b\x72\x1a\x0c\x4a\xf2\x57\xd1\x6c\x0b\xe2\x2e\xac\x71\x87\x18\x03\x8a\xb7\xdb\x4e\xa0\x10\x6d\xd1\xed\x76\x88\xfa\xa0\xfa\x10\x12\x41\x3a\x81\xea\x5c\x87\x74\x30\xcc\x4b\x3a\x99\x77\xa2\x19\x39\x0d\x60\x4e\x3a\xf3\xce\xe0\x56\x30\xfa\xd1\x50\xbc\x5f\x77\xa2\x15\x51\x54\xf1\x94\x74\xbe\xee\xa8\xf4\x59\x2b\x7d\x75\x90\x2e\x5a\xe9\xb7\x9d\x48\xff\x66\xe5\xef\xba\xfc\xfd\xb5\x13\x75\xfe\x9f\xea\x55\xda\xed\xa2\x3b\xd5\x25\x77\xbe\x47\xe0\x9b\x0a\xe2\x4e\xb4\x21\xa7\xa1\x09\x4c\x3b\xd1\x52\x75\x73\x41\x02\xbb\x91\x5c\x75\xc2\x0b\x4d\xeb\xbb\xce\x57\x4d\xbd\x8a\x3e\x87\x29\x31\xd4\x79\x47\x74\x4e\xc9\x7c\xbb\x5d\x6c\xb7\x48\x0f\xb4\xba\xc9\xd4\x1c\x76\xe6\x1d\x42\xe6\xa3\x85\xbd\xb3\x1a\xbe\x46\x08\x0b\x8c\x23\xd4\x61\x2a\xd3\x76\xdb\x99\xa9\x5f\xac\xa7\xde\xe2\x8b\x34\xf9\x03\x95\x1f\x63\x98\x93\x85\xa1\xff\xe7\x78\xbb\xfd\x9e\x6b\xc8\x7c\xa9\x6e\xd5\xd9\xe3\xdb\x69\xaa\x48\x81\x65\xb7\xcb\xbf\x0e\x4b\x95\xb4\x4e\xa7\x04\xe9\xc1\x90\x6f\xb7\x81\xba\xa9\xba\xdd\x60\x18\xf6\xf8\x08\x71\xe2\x71\xe8\x78\x1d\x1c\x75\x3c\x35\xee\x6c\xd4\xe9\x44\x99\x91\x2c\xae\x4c\x95\xa9\x42\x4b\x67\x99\x58\x52\xf9\x4e\xb0\x59\xa2\xe8\xec\x05\x1e\x70\x45\x7b\x28\x20\xa1\x36\x2e\x53\x01\x7d\xee\xdd\xa9\x21\x0d\xb8\x43\x56\x03\x4e\xe6\x26\xb3\xaa\x67\x0d\xb7\x70\xa3\x4e\x6b\xa5\xe2\x56\xaa\x02\x98\xc6\x6e\x4c\x63\xf7\x64\x33\xda\xcb\xc2\x3a\x38\xf2\xc2\x41\x30\xbc\x1f\xa1\x35\xe1\x70\x4b\x3a\x1d\x1c\xa9\x4f\x6b\xd3\x06\x70\x8f\xe1\xb6\x15\x75\x8f\x4b\x2a\x65\x3f\xe7\x8d\xca\x29\x5d\x3b\xf2\x46\x2b\x8f\xa8\x89\xed\x76\xd1\x9a\x24\x68\x0d\x61\x2f\x28\xef\xc2\x6b\x72\x57\x9e\x71\x77\x5d\x7d\xdc\x56\x1f\xe8\x72\x14\x44\x45\x65\x96\x02\x1f\x49\x3e\xbc\xd6\xec\xb8\x17\x42\xd0\x0d\xba\x26\xb9\x77\xed\x86\x25\x24\x10\x38\xea\x74\xaa\xa5\xbb\x2c\x9b\xfa\xe8\xae\xe1\x63\x85\x3a\xe4\x5e\x55\x73\xa4\x3b\x00\x85\x4b\xee\x80\x93\xb5\x7b\x0b\xa8\xf3\x5c\x1f\xc4\x51\xe1\x72\xf7\x63\xd4\x19\x9a\xd0\x47\xb7\x70\x79\xd4\xf9\xa3\x0c\xb5\x86\x7a\x3d\x1c\x92\x10\xbb\xba\x80\x95\x70\x8d\xa3\x42\xf5\x9c\x47\x1f\x5d\x8e\xb1\xcb\x6c\x79\xf6\xf7\x2d\x88\xde\x62\xed\xfd\xc8\x1b\xd3\x07\x35\x46\x75\x83\x1e\x18\xf1\x0c\xc3\x91\xbe\x59\xdf\xff\xfc\xf2\xb8\x3e\x5c\xc3\xd0\x6c\xcb\x18\xdf\x1e\x93\x4a\xd5\xd7\x95\x66\x93\x08\x92\x20\x06\x61\x63\x0e\xe1\xc9\xa1\xf4\xd8\x88\xd9\xaa\x71\x05\xb2\xf8\xae\x48\x95\x54\x7d\x5d\x65\x88\x79\x0a\xb6\x85\xd8\xbe\x54\x13\x23\xbd\xaf\xb3\x73\x52\x66\x76\xd5\xb6\x6e\x69\x30\x51\xad\x67\x58\xa9\x29\x11\x2d\x21\xca\xc8\x78\xa2\x65\xee\xc3\x50\xe3\xd5\x03\x31\xa4\x03\xcc\x10\xc5\x5f\x27\xdb\x6d\x56\xde\x2a\xd5\x54\xb9\xb4\x64\x7b\x85\x78\xa0\xb7\x66\x53\xe4\x53\x59\x2b\x06\x56\xcb\x42\xc9\xcc\x94\xa2\x0e\x57\x19\xf9\x91\x57\x5a\x05\xec\xfe\xe4\xc7\x1a\x83\x10\x6a\x9d\x80\x22\x51\x32\x7d\x4b\x8a\x71\x95\x69\xdc\x67\xb7\xe3\xfe\x2c\xcd\x32\x41\x38\x70\xc3\x37\x21\x02\xb8\x46\x27\x48\x01\xdc\xcf\x66\xb3\x9c\x49\x92\xa8\x54\x4d\xde\xd2\x81\x01\x08\xdc\x2f\x64\x4c\x5e\x73\x4b\x3d\x27\x2d\xab\x4a\x21\x2d\xab\x7a\xad\xf6\x3b\xa4\xa6\xba\xd7\x1c\x15\x9a\x8c\x31\x55\xbe\xe6\x28\x51\x41\x53\x6d\x66\xcf\xf2\xeb\xc7\xb8\x2c\x5f\x32\x58\x09\x1c\x09\x60\xd8\xbf\x39\x1c\xac\xa5\x1d\xc7\xf7\x94\x27\xdb\x21\x5b\x71\xae\x64\x33\x8f\x27\x90\xa9\x2b\x42\xa1\x14\xae\x9b\x3d\x17\x03\x7c\xf6\xb4\x66\x43\xbd\xcc\xa6\xec\x85\x44\x19\xd6\xb6\x21\x15\x22\xa1\xf9\xad\x29\x28\xfc\xc1\xdc\x13\xa8\x20\xcb\x6c\xcc\x1a\xde\x95\xeb\x66\x78\x82\x35\x56\xd8\x8a\xc3\x80\x12\xf2\x62\xcc\xca\xb4\x04\xc9\x92\x18\x29\x46\xfa\x0a\x21\x6c\xd4\x39\xe9\x44\x9d\xa0\x13\x15\x58\x11\x45\xba\x49\x86\x21\xd5\x38\x4a\x8d\x3f\x1e\xeb\x0a\x35\x90\xa8\xd3\x31\xbc\x1a\xb1\xaf\x1d\x7d\x22\x7d\xcd\x75\xb3\x4c\x65\x2a\x3a\xe2\x61\x13\x85\xdf\x04\x01\x2c\xa3\x00\xa6\x51\x08\x3f\x46\x01\x5c\x46\x01\x5c\x47\x01\xbc\x89\x02\xf8\xdd\x90\x08\x50\x10\x86\x04\xa8\x0d\x1a\x68\xe0\x5e\x9c\x36\x76\x7b\x16\x45\x39\xe8\xac\x14\xdd\xaa\xd5\x9e\xfc\x1f\x89\xf0\x7f\xfc\x3a\xec\xbb\x61\xdf\x11\xfe\xca\x00\xde\x84\x98\x89\x13\xfe\xef\xdd\xee\x2a\x3b\x25\xe4\x47\x0e\x54\x2d\x3b\x4a\x46\x3f\xf2\x68\x55\xb3\x2a\x3b\x1f\x74\x55\x23\xaa\x68\xd9\xef\x8b\x34\xfd\x8d\x51\x81\x84\xbf\x81\x00\x84\xff\x01\x47\x9d\x5f\x74\x86\xed\xb6\xf3\xde\xe4\x44\x9d\xfb\x32\x06\x09\xff\x9e\x94\xe9\xa3\x30\x0a\xd4\x1c\x1d\xd6\x12\x1e\x8f\xae\xca\xa9\x4a\xdc\x27\xf8\xeb\xa7\xee\x53\x47\xf8\xbf\x78\x48\xab\xaf\x7d\x47\x37\x08\xbb\x17\xf8\xeb\xa7\x91\x4a\x57\x49\xef\x5b\x49\xaa\x04\xc6\xd1\x61\xcd\xc2\x5f\x82\xf0\xa7\x65\xa3\x3f\x66\x85\xc8\xd5\x2c\xb9\x48\xf8\xbf\xf7\xc2\x20\xd8\x06\x18\x84\x7f\xe9\x0a\xff\xf7\xaf\x15\xfe\x24\xfc\x6b\x10\xfe\x1b\x0c\xc9\x88\xfa\x37\x11\xdd\x81\xac\xe5\x28\x47\x88\x5f\xde\x32\x8a\x61\x16\x93\xb1\x51\x09\x05\x5a\xca\x56\xaa\xc5\x53\xf8\x66\xb5\x59\xd2\x61\x36\xd0\x2c\x0d\x31\x24\x71\xb9\xaa\x5e\xa8\x57\xbb\xb4\x39\xab\x0e\x85\xeb\x62\xd0\x67\xc5\xb0\x40\x68\x63\x92\xa6\x93\x12\xf2\x72\x4c\x4f\x12\x7e\xb2\xcc\x46\xad\x94\x88\x4e\xe0\x34\x51\xcb\x43\x34\x8c\x06\x81\xf1\xf3\xa0\x6e\xca\x5c\xed\x66\x77\x31\xbb\x41\xe1\xba\xb8\xc9\x55\xc1\x86\x96\xa1\xad\x01\x9d\x37\xb6\xb2\x7d\x09\x51\x6e\x0c\x2a\x5e\xd9\xc6\xb1\xc6\xd0\x50\x8c\x10\xf7\xef\xc9\xbd\x46\xc7\x14\x79\xb1\x87\x6e\x02\x73\x75\x6c\xb9\xcf\x23\x2f\x6c\xa9\x3d\x98\x26\xd7\x47\x9a\x5c\x7f\xae\xc9\xdb\xff\xa6\xc9\xa4\x6a\xf2\xea\x48\x93\x57\x9f\x6e\x72\x49\x5e\xfd\x37\x4d\xd2\xaa\xc9\xeb\x23\x4d\x5e\x7f\xae\xc9\x8f\xff\x4d\x93\xe6\x1a\x6c\x98\xd7\x6a\x23\xbf\xf0\xe3\x46\x82\x88\x75\xf2\x9e\xa5\xee\x41\x81\xf5\xe3\x05\xe2\xa3\x05\x7e\x7d\xbc\x40\xde\xe6\xbd\x5c\x1a\xd3\xc2\x6a\xd8\xc0\x5c\xd2\xc7\xfb\x94\x4a\x4b\xfd\x5f\x8c\xbc\x30\x42\xdc\x5f\x11\x6d\xd3\xa0\xaa\x99\x29\xa2\x99\x4a\xf6\x73\xb2\x64\xb0\x28\x03\x30\x57\xe4\xb3\x8a\x59\x11\xee\xaf\x98\x48\xb2\x69\x0e\x77\x3a\x75\x93\xc3\x54\x21\xbd\x8b\x4c\x28\x40\x93\xc3\x92\x70\x7f\x99\x71\xb9\xc8\x61\x53\x25\x5c\xea\xf0\x40\xea\xbb\xdc\xa6\x23\x6c\xb8\xb0\x7f\xe9\xca\x12\x3d\x6a\x6e\x0b\x85\x61\x28\x34\xed\xf0\xc2\x2d\xed\x3d\x2c\x24\x81\xed\xdf\x2d\x47\xea\x17\x26\x8f\x55\x4a\xf3\x63\x8e\x5c\xe8\xc0\x1a\x10\x27\xea\x4f\x60\x0a\xf6\x2d\x8b\x54\x26\x44\x8f\xad\xfc\x8e\x65\x49\x3e\x65\x54\x9b\x07\x61\x58\x93\x7f\x72\x74\xa7\x88\x81\x5f\xf5\xef\x8d\x0a\x4f\x31\xdc\xab\xf0\x14\xc3\xb5\x0a\x2f\x15\x4e\xff\xab\xfe\xbd\x52\xe1\x0d\x86\x57\x2a\xbc\xc1\x83\xd5\x11\x0e\x32\x48\xfc\x70\xa9\x8d\x39\xf7\x04\xce\x20\xf1\xce\xdc\x6a\x2f\xc8\x03\x3d\xc6\x3c\x99\x8e\x79\x7d\x31\x4c\x76\xf0\xe2\x58\x9e\xbb\x76\x9e\xdb\x63\x79\x36\x26\x8f\x5e\x5e\x9d\xeb\xdb\x63\xb9\x96\xfb\xb9\xe2\x48\xa2\x19\x86\x69\x74\x54\x72\xf0\x3b\x47\x65\xcb\x52\x0f\x06\xfa\x78\x07\xec\x3f\xc8\xfb\xe3\xa7\xf3\x9a\x1b\xae\xca\xfc\xfa\x8b\x32\x7f\x1d\xf6\xb7\xdb\xb0\x5f\x96\xf9\xf0\x68\x99\xd0\x9d\x67\xea\x50\xbc\x9d\xe9\xeb\x95\xab\x56\xce\xf0\x0e\xde\x7c\xba\x95\xcb\x24\x4d\x93\x9c\xc5\x19\x9f\x9a\x9e\xa9\x32\xcb\xcf\x94\x31\xd3\xe9\x86\x65\xa7\x2e\x3f\xd7\x04\x2f\x24\x6b\xc6\xbd\x3a\xb6\x52\xab\xb1\xdb\x1a\xf6\x90\x84\x7d\xb5\x60\xd7\x9f\xae\xfb\xda\xea\xb9\xaa\xfb\xfd\xa3\xd9\xe7\x99\x9f\x17\x7c\x6f\x82\x54\x91\xfb\xa3\x3c\xbe\x7a\x03\xee\xe0\x97\x4f\xd5\xb9\xcc\x8e\xd5\xb9\x8e\x24\x5a\x60\xf8\x35\x92\x68\x8e\x61\xf3\xe9\x31\xd4\x28\x11\xd6\x48\x8e\xa9\xe1\xb7\x2f\x2f\xc3\xce\x41\xc2\x39\xde\xc1\xef\x51\x26\xa1\xf3\x75\xe7\x50\xc2\xdb\xf9\xba\xb3\xdb\xc1\x4b\x75\x26\x05\xbc\x88\x0a\xb8\x8d\x12\xf8\x36\xa2\x10\x47\x19\x4c\x23\x29\x81\xa9\x3f\x3f\x46\x42\xc2\x6b\xf5\xe7\x43\xc4\x24\xbc\x89\xa8\x84\x65\xc4\x25\x5c\x46\x85\x84\x55\x94\xc3\x75\x94\x48\x78\x1f\x7d\xcb\xe1\x3e\xfa\x8a\xc3\x2f\xd1\x2f\x1c\xd6\x51\x0a\xbf\x46\x31\x6c\xa2\x1f\x38\xfc\x16\xfd\x8d\xc3\xef\xd1\xdf\xb9\xee\x48\x2a\x77\x47\x0c\xb0\x7f\xdf\x63\xdd\x07\x43\x3e\xea\x78\x9d\xa8\xd3\x81\x82\x20\x31\xf2\x78\xa4\xb5\x6d\x20\x21\xc5\x1e\xde\x2e\x5c\xc4\x86\x89\xc5\x7a\x60\x5e\x52\x33\x1e\x24\x76\x8b\xa8\xb0\xae\xa9\x7f\xee\xab\xfd\xd4\xe6\x23\x68\x14\x75\x5c\xae\x41\x64\x63\x3c\x52\x56\xd3\xd9\x76\xb0\xdb\xc1\x1d\xe8\x24\xb6\x89\xe8\xaf\xfc\xd0\x6e\x3c\x86\xd2\x7a\x93\xef\x1b\x8c\x1b\xe8\x38\x66\x7b\x17\xbd\x65\x55\x64\x4d\xc8\x57\xf5\x84\x6c\xb2\x23\x68\xc5\x26\xdb\xc3\x2b\x80\xb9\xe1\x01\x06\xa5\x11\x88\x4f\xe1\x11\xdf\xfe\x87\xad\xec\xb5\xf0\xfe\xf3\x2d\xfc\xf2\xbf\xb5\xf0\xcb\xe7\x5b\xf8\xdb\x7f\x3e\x53\xe7\x7b\xad\x6c\x3e\xdf\xca\x0f\xff\x79\x2b\xfd\x83\x56\xfe\xc1\x91\x6e\xe1\x93\xb8\xdd\xdf\xf7\x54\xe8\x7a\x7f\x8c\x5d\x6f\xf2\xaf\xe9\xc3\xf9\xee\xab\x52\x7e\x2f\x89\xdd\xce\x05\xc6\xaa\xfa\xdf\x89\x27\x75\xa8\x55\xdb\x3f\xda\x4c\x2d\xc4\x87\x4f\x9e\x8d\x14\x35\x1b\xf5\xd9\x99\xad\xe7\x2e\xff\xe7\xf1\x2d\xb5\xf4\xc1\x0b\x3f\x35\x38\xf9\xbf\x37\x33\xfd\xfc\x62\xb1\xff\xbc\x95\xb3\xbd\x56\x3e\x7c\xbe\x15\xf1\xbf\x8f\xe5\xc7\xcf\xb7\x52\xfc\xef\xad\x5c\x7e\xbe\x95\xe4\x7f\x6f\xe5\xfa\xf3\xad\xd0\xff\x7d\x5d\xde\x7c\xbe\x95\x4c\xda\x42\xb7\xb9\x11\x95\xfe\x95\x71\xf6\x56\xf3\xe0\x14\xc4\x25\x72\x18\x98\xfb\xc5\xed\x80\x20\x97\x14\x49\xdc\x7b\x12\x6c\x03\x28\x4c\xe0\xeb\x27\xb5\xa2\x32\x73\x7f\xe7\x48\x40\x27\xe8\x40\x1f\xab\xef\xa2\xfc\xb6\xa8\xab\x7a\x5c\x97\xc7\xc6\x75\xf9\x39\x60\xdd\x1a\x4c\x6b\x2c\xb1\xdc\xbb\x61\x2a\x96\x44\xed\x50\x40\x1a\x47\x00\x95\x31\x1f\x2a\x03\x87\x66\x78\x87\x66\xb1\x63\x36\x19\x9c\x8a\x71\x38\x41\x12\x0f\xb0\x8a\x70\x5d\x56\x8b\xf3\x54\x97\x14\x79\x63\x91\x78\xb2\x65\xf3\x31\x93\xed\x3b\x9b\xf9\x39\xe1\xae\x84\x82\x08\x8f\x6b\x85\xef\x62\xc0\x7c\x49\xb8\x97\xb8\x48\x7a\xf6\x2d\xbc\x90\x06\x85\xe1\xdd\xee\x7d\xe6\x2f\x68\xfe\xf6\x9e\x5b\x9e\xa2\xe4\x66\xc5\xb0\x4a\x1a\x9b\xef\xc9\x9e\x33\x8e\xb9\xdc\xd3\x96\x34\xfe\x73\x6a\x95\x38\xa6\x6d\x3d\xa5\x9f\x26\x9c\x5d\x4b\x2a\x24\xc2\x95\x4f\x1d\x35\xca\x62\x02\xd2\x5f\x69\x5b\x32\xbd\x97\xd4\x14\x80\x18\xf7\x27\x78\x60\xca\xbc\xe2\x53\xdb\xbb\xcc\x4a\xda\xe2\xe3\xf6\xe5\x6e\x1a\x5a\x65\xe9\x66\x9e\xf1\xa6\x2d\x7d\xe3\xcf\xcd\x75\x0f\x12\x42\x55\x73\x99\x69\xaf\xf2\x3b\xb9\xe7\xea\x4d\xcf\x8b\x43\x5e\x53\x90\x44\x3a\xaf\x69\xaf\xef\x7e\xa0\xbd\xf3\x41\x29\x0d\xf0\x04\x50\xc2\x86\x24\x18\x85\x91\x17\x42\x46\xa8\xc3\x20\x25\xb5\xf9\x81\xc4\x10\x37\x76\x3b\x12\x43\x4e\x12\x27\x86\x19\x29\x9c\xd4\xcd\x9d\x3a\x5f\x86\x61\x41\x72\x87\x3a\x75\xde\x0c\x0f\x3e\x66\xda\x85\x83\xa5\xdb\xbe\x80\x19\xd6\x6a\xa2\x50\x90\x14\x12\x12\xef\x4a\xdb\x5b\xd0\x4a\xaa\x83\xab\xcc\xcc\x64\x43\xda\x52\xc8\xf0\x43\x1d\xcd\x41\x10\x24\x09\xc5\xce\x6b\xaa\x0f\x57\xd5\x3c\x41\x8c\x64\xb8\x19\x1f\xae\x34\x5e\x4d\x57\x76\x70\x95\x55\x6b\x61\xf3\xf1\x0c\x47\xdc\xda\x94\x53\xfb\xb4\x6b\xc8\x40\xb8\x5e\xcf\xa6\xad\x1a\xc1\x1a\x0b\xc7\x9e\x27\xe1\xd8\xf3\x54\x7f\x33\x6c\x59\xa9\x2d\x65\x5b\x91\x6c\x1c\x4c\x1c\x39\x0e\x26\xae\x6a\xc4\x91\xe3\x50\x7d\xf5\xd5\x57\xdf\x2a\xb5\x69\x95\x1a\x97\x79\xfb\x13\xaf\xcc\x1b\x4e\xa0\xfc\x2a\x2d\xce\x74\x2a\x94\x5f\xa5\x45\x9a\x4e\xb5\x2a\xbd\xac\x0e\x8d\x6a\x9e\xa8\x44\x50\xd9\xd4\x67\x59\x9f\xfa\xb4\xbb\xb1\xde\xef\x86\xaa\x1e\x4c\xdd\x65\x07\xac\xdc\xb7\xd6\x4c\x36\xa6\x0c\xba\x10\xaf\x47\xcc\xeb\x11\x73\x7d\x60\x54\x4a\x8f\x98\x4a\xcd\x6f\x5f\xfd\x5a\xea\xeb\x96\xd3\xc1\xb1\xb5\xb1\xb8\xe9\xb4\x42\x86\x24\x47\xba\x32\xab\x2f\xf7\xed\x69\xbf\xa4\xba\x1f\x9e\x1a\x34\x7e\xfe\x8e\x76\xbb\x3a\x26\x54\x31\xa1\x8e\xb1\x74\x8d\xa5\x75\x86\x06\x96\xca\x87\x5e\x75\x6d\x9c\x33\xf8\x28\x11\x6b\xb6\x02\xc7\xc0\x1c\xcb\x5a\x07\xac\x6d\x61\xeb\xfa\xd6\x50\xc7\x75\x5f\x65\xf0\x32\x73\x09\xe2\xde\xcb\x0c\xf7\x5e\x65\xf0\x97\x0a\x49\xef\x2f\x13\x7a\xa3\x42\xcc\x7b\xa3\x43\x96\x8a\xef\xc1\x59\x2f\xec\x7e\x26\x4d\x3f\x0b\xdd\x4f\xa0\x24\x69\x75\x33\xab\xc2\x65\x47\xd3\xe6\xc8\x14\xf5\xb9\x37\xf3\xdb\xac\x20\x8a\x09\x73\x52\x4f\x38\x19\x76\x62\x17\xc5\x44\x38\xd4\x93\x4e\x5a\x86\xa4\x93\x79\xcc\xa1\xd8\x89\x31\x48\x87\xba\xcc\xc9\x5c\xe1\xa4\x78\xf0\x22\x73\x49\x0c\x7f\xaa\xbf\x0e\x92\xae\x3e\xc5\x18\x7e\x36\x61\xe6\xea\xf3\x8b\xe1\x27\x13\x16\x2e\x12\x24\xc5\x18\x3e\xca\x52\x33\xb8\x01\x14\x83\x0f\x07\x40\x42\x7b\x3d\x28\xea\x91\xd3\x66\xe4\x89\x59\x21\x49\x68\x33\xf2\x42\x5d\xd9\x16\xa4\x2a\x70\x75\xbc\x55\x28\xc1\xf0\xa1\x01\x37\x4d\xfb\x96\x06\xb4\x9a\xf7\x3a\xcf\xb5\xb5\x3b\x5f\x3c\x0a\x7d\x8f\xef\x1c\x05\x7b\xf7\x56\x84\x3d\xb6\x22\x1a\x12\x17\x4e\xea\x25\x4e\xa6\xa1\x30\xf5\x84\x93\xc2\x8c\x08\x27\xf3\x0a\x87\xc2\xc2\x3a\x66\xb1\x13\xbb\xb9\x93\xbb\x33\x67\x86\x61\xae\x96\xc8\x2d\x9c\xcc\x4d\x9c\x14\x56\x64\xd1\xed\x7a\x9c\xa3\x39\xee\x2d\xe0\x8e\xb4\xa0\xf3\x1c\x0f\xbe\xcb\x5c\xb2\x72\x62\x78\xa7\x7f\x73\x78\xaf\x7f\x67\xa0\xd6\xef\x4e\xaf\xdf\x5d\xb9\x3e\xd5\xfa\xdd\x39\xa8\x70\x51\x51\xaf\xdf\x9d\x83\x12\x17\x25\xd5\xfa\x19\xa7\x14\x7b\x80\xfe\x70\x0d\x35\xa0\x97\x84\x02\x23\x99\xbd\x02\xb4\x9e\x3e\xeb\x5a\xca\xcc\xb2\x0a\x92\x36\xd3\xa7\xd5\xf8\xd3\x66\xfa\xe8\xde\x1d\x60\xf5\x45\xd5\xff\xe8\x6d\x60\x27\xbe\x92\x60\x2f\xb4\xa5\x51\x2e\x0f\x3c\xde\xd8\xfa\xeb\x8c\x18\xf7\x46\x20\xb5\x19\x30\x30\x05\x57\x6a\xff\x34\xc6\x58\x5a\xf3\x63\xab\x2f\xc4\xca\xcf\xe3\x8e\xde\x18\xa9\xb2\x9a\x6a\x59\xb7\xcb\xeb\x88\xa6\x81\x96\x48\xfe\x2f\x59\x73\x67\x6c\xb7\x8b\x6f\x64\x25\xa6\xaa\x7d\xf7\x19\x85\x2f\x23\x81\xe7\xc7\xf5\x79\x67\xe8\x14\xa1\x06\x61\xf4\x42\xfc\x9c\x04\xd8\x72\x9d\xa1\x31\x1f\xc2\xc7\x52\xd7\x72\x6f\xfa\x89\x1f\x8a\x16\xd6\x54\x61\x8c\x19\x09\x06\x72\x98\x0d\x5c\x37\xc3\x45\x89\x3b\x21\x55\x49\x36\xc1\xf5\x68\x06\xb6\x2a\x7d\x61\x61\x52\xa5\xf0\x9c\xdd\x9f\xfc\x2c\xb5\x2e\xaf\x56\x6c\x3d\x0d\xd4\x01\x69\x62\x55\x5c\x0a\xa7\x21\x1e\xa4\x7e\x46\xe2\x4a\x35\x2d\xad\x05\xbd\x31\x86\xba\x16\x51\xd7\x12\x5a\xb5\x88\xba\x96\x40\x0b\xdd\x8f\xd7\xb2\xd3\x0a\xb5\x79\x26\xa4\x3a\xa3\x7f\x4a\x05\x41\xfe\x94\x7a\xfb\x55\x04\xc5\x83\x35\x70\x48\x09\x83\x98\xd4\xde\x21\xe3\x72\x1e\xe8\x38\x9b\xf8\x8c\xa4\xe4\x34\xad\xe7\x29\x87\x19\x2c\x48\x32\x0e\x26\x83\x41\x53\xc9\x9c\x2c\x60\x45\x4e\x83\xc1\xdc\xbf\x1b\xe0\x64\x86\xd0\x9c\xcc\x7d\x8e\x09\x21\x95\x64\x78\x90\x93\xb9\xff\x17\xb4\x67\x7f\x9a\xa9\x75\x9c\xfb\x77\x64\xee\x67\xfe\x9d\xd6\x34\xf3\x99\x5e\xdc\x15\xb6\x7b\x18\x93\x7c\xbf\x77\xf5\x2a\xcd\x48\x5e\xad\xd2\x4c\xaf\x92\x16\x20\x0a\x34\xf7\xd7\x30\xf7\xb9\xbf\x86\x10\x0a\x3c\xd0\x3d\xd2\xc2\x45\x53\xfd\x83\xea\xd0\xca\xff\xcb\xda\x02\x79\xbd\x97\x06\xd9\x90\x04\x03\xcf\xfb\x44\x33\xbb\x56\x33\x2b\x7f\x0d\x5e\xdd\xce\x6a\xa7\xfe\x2a\xa0\xa8\xc6\xbc\x22\xa7\xab\xdd\xfd\x22\x49\x19\x3a\x9d\xfb\x77\x78\x60\x6f\x1d\xeb\x04\xff\x29\xcb\x8d\xdd\xec\x6a\xdb\x91\x26\x03\x41\x14\xfd\xa6\x36\xf6\xc0\x75\x85\xa2\x8c\x0a\x9f\x13\xb5\x4b\xc5\x04\x98\xbf\x22\x05\x14\x84\x0d\xaa\xc8\xa0\x8c\xb4\x9a\xf8\x59\x36\x12\x61\xad\xee\xb3\x26\xa5\x8d\xe2\x5f\x44\x9a\x8f\x8c\x30\xf3\xc1\x88\x30\x1f\x77\xe4\x34\x34\x5f\x95\xab\x25\x2d\xbe\xb7\xd4\x6f\xad\x5a\xf7\xa9\x32\x7d\x11\x5a\xa2\x44\x8b\x9e\x2a\x74\x60\xc0\xb5\x1b\x50\x8d\xd8\x6a\x0b\xbd\x6e\x37\x29\xe7\x5c\xee\xf9\x02\xb4\x88\x94\xc2\xb8\x62\x99\x96\x39\x2d\x88\x63\x89\x04\xf1\xc3\xa6\x84\x94\x19\x4c\xed\x8d\x67\x8b\x01\x9b\x4c\xb4\xcc\xb4\x47\xc0\xe4\x65\xbb\xe6\x74\x8d\x39\xc8\xd2\xd5\x47\xdd\x8b\xf5\x27\x7a\x31\x43\x5a\x3a\xdc\xb4\x0d\x77\x64\x6c\x21\x82\x0b\x84\x1f\x72\x74\x67\x9c\x68\x80\xfe\x0d\x27\x18\xd6\x4d\x4f\x06\x95\xee\xf1\xda\x8f\x53\x46\xb9\xa6\xef\x2f\xfd\xdb\x62\x36\x63\x02\x69\xdd\xd2\xea\x6c\x24\x33\x74\xe7\xaf\xb2\x15\xc2\xb0\x32\xdd\xbd\x53\xed\x69\x98\x21\xd4\xb9\x0c\xbb\xea\xfa\x27\xaa\xa3\x46\x75\xd0\x22\xf5\xbc\x10\x28\x31\xa2\x7e\x31\x0c\xcc\xce\xbb\xdd\x6e\x51\xb2\x47\xfd\xc1\x2d\x51\xd0\x27\xd9\xa3\x3e\xa9\xa2\x08\xab\x95\x43\x6a\x9b\x52\x73\x5a\xb4\x92\xe5\x20\xb1\xf7\xbc\x39\x3a\xc3\xb0\xdb\xed\x77\x65\xed\x2b\x95\x99\xae\x5b\xfe\x55\x17\xc9\x4c\x22\xad\x2f\x59\xe5\x98\x25\xa9\x64\x02\x7d\x27\x4b\x9f\x02\x73\x58\xc1\x1d\x4c\x89\x86\x71\x4b\x52\x54\x57\x50\x4d\xf7\x62\xd8\x90\x07\xdd\xa9\x88\x42\xdd\xe3\x28\x85\xb2\x3b\x51\x0c\xf6\xf0\x6c\x39\x42\xb5\x2f\x72\xd8\x34\x63\x25\xb3\x32\xa4\x2e\xe3\x05\xcc\xd5\x4d\xb5\x52\x2b\x0a\x0d\xf9\x7b\xac\x12\xda\xaa\x24\xb5\x2a\x89\x61\xae\x45\x97\x4c\xcc\x19\x9a\x97\xcb\x4d\xde\x4a\xb4\x84\x15\x1e\xcc\x6b\x9b\x98\x4f\xac\xc5\x1b\x89\xe6\xf0\x5e\x02\x07\x06\x09\xc6\x11\xef\x76\xbf\x78\xe9\x80\x95\x66\x18\xea\x4f\x08\x49\x95\xac\x97\x0a\xc3\x6d\xb7\xdb\x54\xa3\xe3\x54\x25\xa1\xc2\xe1\x4a\x30\x00\xf9\x6a\xc1\x04\xb3\x07\x7d\xd0\xee\x97\xb7\x08\xed\xc6\x76\x3b\xb8\x24\xef\xa4\x16\xea\x4a\x74\x69\x1a\xaf\xee\xe1\x8d\x05\xd9\xbe\x93\x47\x3c\x7f\x0f\x2d\x4e\xd3\x3b\x69\x59\xd7\x8d\x2b\x2e\xd0\x43\xb3\x25\xac\xfe\xcb\x52\xc1\x8a\x8c\x27\x58\x2d\xac\xda\x3d\x6d\x8d\xb5\xd2\x65\xf5\x58\x02\x53\x59\xaa\xcd\x74\x0b\xe6\x58\xda\x95\x95\x2e\x04\x6b\x19\x88\xda\x31\x95\x97\xe1\x1d\x08\xf6\x21\x4b\x78\xbb\xf1\xaa\xf3\x0a\x1d\xd3\xcd\xc8\xf6\xc9\x90\xcd\xc9\xb0\xef\x8f\xf7\x2d\x9a\x12\x69\xdb\xe8\xb5\x3a\x82\xcf\x83\x91\xa6\x25\xdf\x52\xef\x1d\x8d\xde\xd2\xca\x37\x8c\xe6\xb3\x57\x39\x64\x2b\x87\x6c\x43\xb1\x0f\xd2\x72\xf2\xa6\x0d\x63\x2b\xf3\xd8\x2b\x7a\xf5\xc9\xa9\xe4\xad\x95\x97\x24\x3c\x98\xcf\x04\x4a\x47\x47\x19\x49\x86\xc1\xe8\x03\x8d\xbc\x0f\x54\xd3\x19\x28\xf1\x18\x1e\x5c\x52\x94\x7a\x1f\xa8\x22\x82\x47\x88\x57\xa0\x16\x04\x41\xc2\xa5\xb8\xd7\x1f\x06\xda\x05\xcd\x5b\x8a\xa1\x4a\x2d\x14\x46\xca\xad\x4d\xd5\xee\x45\x95\x2d\x33\xd9\x4c\x20\xd1\xc8\x31\x09\x70\x54\x9c\x12\x92\x75\xbb\xe9\x90\x7c\xa0\xdd\x2e\xba\xa4\x88\x79\x85\xa1\xca\x11\xf3\x48\xe1\xbc\xa3\x8a\x84\x46\x89\x97\x95\xb1\x89\x47\x32\x1d\x2b\xc8\xf7\xba\x6f\xa0\x06\xf5\x5f\x75\xc7\x38\xdd\xa8\x46\x49\x12\x50\x54\x0d\x14\x24\x6b\x36\xd9\xc1\xec\x9a\x4a\x19\xd1\x6b\xb2\x03\x7d\x4b\x1c\x31\x79\xed\x7b\xb2\xa5\x0e\x6c\xdd\xda\xb5\x66\x98\xe5\x11\xc7\x6b\xe4\x76\x97\x14\x51\x3c\x7c\x47\x47\x35\x69\x86\x90\x45\x06\x3a\xc8\xa2\xec\x05\xc6\x8e\xc5\x6a\xf2\xea\x6f\x81\x1d\x54\xd8\x7c\x3c\x6c\x13\x96\xb8\x87\x0a\x27\x71\x28\xc6\x11\x92\xae\x68\x79\xf9\xf9\x71\xbf\xa7\x8d\x4b\x32\x8e\x0b\xc2\x9c\xb7\x14\x44\x39\x65\x6a\xef\x28\xf2\xb9\x0c\x06\x76\xa0\x9d\xf4\x81\x42\xd0\x0a\x79\xad\x72\x76\xc8\xdb\x4b\xf5\xda\x65\x4d\x9b\x83\x4a\x71\xad\xc5\xcc\x19\xbe\xab\xdd\x78\xa9\xc8\xe7\x2a\xb2\xdc\xe3\x03\xd5\xf5\xa4\xd7\x6f\xea\x49\x1e\xed\xba\x4a\x29\xaf\xcd\x0a\x39\x52\x37\xdc\xde\x31\x7d\xdb\x62\xe4\xd6\x14\x50\x38\x81\x82\x8c\xad\x45\x01\xcf\xe2\x1d\x42\x30\x81\x84\x04\x40\x49\x30\xf8\x98\xf9\x82\x69\x19\xc2\xa0\x4d\x20\x48\x5b\x3f\x50\xa1\xdf\x0f\xc6\x9b\x9f\x1c\x67\x13\xc8\x49\x6c\x61\x20\x79\x8d\xb9\xcf\x48\xac\xba\xb0\x20\x33\xf5\x33\x27\x0a\x6f\x2e\xb9\xa1\xb0\x6a\x76\xda\x1c\x57\x44\xbf\xea\xd0\x1c\xc3\x94\x84\x8a\xba\x98\x12\x42\xf2\x6e\x17\x4d\xf5\x91\x20\xf1\x78\x6a\x90\x96\xa5\x19\xd9\x46\x8f\xac\xaa\xef\xb2\xa9\x6f\xa3\x2e\x8b\xba\xbe\x8d\xba\x33\x96\xde\x02\x6e\xc8\x6d\xcd\x55\xbe\x27\x37\xce\x2d\x5c\x93\xfb\xe1\x07\x0a\x1f\xc9\xca\xb9\x54\x3d\x3f\xe4\x0e\x7f\x74\x6e\x9a\x4d\x7a\x8f\xe1\xce\x59\xbb\x1f\x1b\x02\xff\x5e\xe1\x26\x89\x4b\xae\x47\xb7\xee\x8d\xf3\x3d\x8d\x6e\xe1\xfa\x8f\xc5\x90\xb0\x3f\x96\x43\x52\xe2\xb9\x57\x64\x23\xd1\xd4\xa8\xe0\x68\x7f\x0f\x83\x5b\x89\xae\xcc\x35\xff\x4a\xa5\x15\x70\xa5\xe3\x5e\x55\x5a\x44\xe8\xfa\x0f\xdd\x53\x2f\x8c\x42\xec\x48\x8e\x5e\x69\x4e\x24\x12\xc3\x17\xdb\xad\x20\x84\xbc\xe8\x76\xd1\xd5\x38\x98\x6c\xb7\x57\x6a\xfd\xb5\x76\xb2\x4b\xca\x52\x6a\x7c\x78\xa7\xc8\xe3\xa9\xeb\x62\x63\x0d\xb3\x20\x4b\x35\xe1\x70\x47\xd6\x30\x23\xbc\x72\xc1\x86\xbc\x77\x74\x98\x6c\xb7\xea\x6f\xb7\x1b\x0c\x3f\x66\xf8\x8f\xb0\x6b\xb1\x1a\x5f\xef\x6b\x50\xb7\x79\x96\x35\x97\xc8\xe6\x3a\x0f\x93\x5d\x5b\xcf\xcc\xa8\x5b\x27\x90\x42\x0c\xf9\x27\xef\x8a\x58\xd1\x9a\x21\xe4\x47\x2e\x89\x19\x2c\x4c\x4d\x73\x85\x6d\xcd\x60\x31\x81\x3b\x22\x75\x34\x4c\x09\x1d\xdd\x8d\x82\xa8\xd0\xc1\xe8\x6e\x54\xa0\x99\x8b\x82\xe1\xac\x3c\x67\x58\xc5\x6a\x3f\x22\xa7\x4c\x9b\x3a\xa5\xe4\x0e\x77\xbb\x6d\x20\x7c\x77\x6a\x6c\x83\xe6\x44\x20\x06\x2b\x0c\x86\x63\x30\xc7\xdb\xed\xbd\x44\x2b\x98\xeb\x69\x5e\x69\xd6\xf4\x3b\x0a\x2b\xcd\x98\x7e\x47\x75\x2f\x54\xac\x8e\x51\xdb\x41\x57\x84\x73\x12\xc0\x9d\xba\xae\xec\x36\x54\xdd\x2b\x6d\x7b\x50\x9e\xe1\xb9\x3e\x17\xba\x60\xd4\xb4\x7c\x98\x6a\x5f\x1e\x0a\xd0\xcf\x6b\x58\x93\x75\xbb\xac\xdb\xa5\x7f\xdc\x99\xd9\x59\x0e\xa6\xdd\x64\xbb\x3d\x45\x4b\xd3\x14\x9c\x06\xda\x27\x88\xea\x0e\xdd\xef\x4e\xd5\xce\xb2\x24\x3e\x96\x15\xf1\xd1\x24\x84\x65\x42\x38\x39\xe8\x46\x84\xbe\x24\xdb\x23\x57\xdd\x7e\x93\x18\xef\x4e\xef\xb6\x5b\xd6\xed\xea\x59\x5f\xe1\xed\xb6\xca\xda\x4c\x2e\x30\xb2\x82\x94\xdc\x41\x42\xa6\x47\x6f\xc3\xb4\x5a\xd4\xea\x42\x34\xf8\xe9\x63\xf7\x61\xbe\x45\x71\xb7\x9b\xe2\xe7\xcf\x43\xfb\x5e\x14\x6d\xa9\x9f\x3e\xb4\x50\xa8\x5f\x89\x81\x92\x71\x08\x81\x02\x99\x99\x3a\xbb\x42\xc1\xe8\x94\x2c\xd5\xe5\x9d\x61\x88\x49\xa6\x7a\x9b\x93\xd4\x8b\x9d\x58\xef\xb8\xbc\x7a\x70\x84\x75\xbb\x46\x13\x72\x46\x12\x27\xed\xe5\xb0\x20\x5e\xe2\xc4\xbd\x1c\xe6\xaa\x26\xaa\xca\xaf\xc8\x5a\x7d\xcd\x14\x40\x5c\xab\x3a\x17\x78\x70\xa9\x76\xdf\x9d\x81\x0d\x53\x32\x87\xa5\x6a\x6d\x05\x53\x45\xd8\x2c\x25\x9a\xaa\xaf\x4b\xb2\x74\x96\xde\xc6\x41\x3a\x69\x85\xbd\x50\xeb\xe7\x9f\xa2\x60\x78\x59\xb2\xc4\xd6\x16\x2f\x56\xa3\xd1\x6b\x55\x16\x79\x4b\x6f\x8d\x7b\x1b\x9d\xfd\x52\xa2\x5b\xb5\xff\x6e\xc9\x8d\x44\xb7\x18\x4e\x59\xa5\xd5\x7f\xab\x5b\xbf\x81\x7b\x03\x79\xaf\x8d\x70\xe6\xa3\xb9\x5a\xae\xb4\x7c\x66\x70\x3f\xbc\xee\x76\xd1\x0d\xb9\x87\x7b\x72\x0d\xd7\xe4\xa6\x02\x71\xd7\xde\x3d\xbc\x50\xd8\xdc\xab\x12\x8b\x83\x97\xe4\x85\x06\x3a\xaf\x74\x27\x5f\x74\xbb\x1f\x87\x57\xba\xec\x47\xf8\x48\xae\xe0\x8a\xdc\x60\x78\x39\x7a\x31\xfa\xe8\x5e\x0d\x83\x3f\x6e\xc7\xe1\xe4\xb9\xba\x54\x6f\xd5\xa5\x7a\xaf\xf1\xc0\x8f\xd1\x15\x8e\x3e\x3e\x27\x2a\xad\xdb\xd5\x39\xc8\x55\xf4\x6a\xf8\x81\xfe\x81\xee\x55\x74\xa0\xa3\x83\xc9\x73\x72\x5d\x4e\xc0\x5f\xf5\x88\x5d\x33\xe2\x0a\x8c\x49\xf4\x97\x1a\xf5\xf8\x16\x6e\x24\xfa\x0b\x4f\xec\xbd\x50\xd8\xfc\x0a\x3a\xe2\xd1\x07\xea\x71\x28\x48\x25\x3c\xf7\xc4\x50\x8e\x8a\x2d\x09\x23\xa9\xed\xad\x8b\x2d\xe9\x63\xf0\xc4\x90\xa9\xd8\xf3\x88\x55\xb1\xcf\x30\x14\xbb\x3d\x19\x08\xd7\xf2\x8f\x61\x00\x99\xc6\x75\x15\xaa\xa0\xb6\x37\x43\x1c\x9e\x38\x9a\x99\x6c\x7a\xf8\x93\xe1\xf8\xa7\x40\x47\xe3\x00\x3c\x3e\x89\xc6\x0a\xe3\xe0\xde\x87\x96\x67\xe2\xdf\x3e\xc5\x85\x69\xde\x44\x29\x7c\x0a\x19\x29\xfc\x5b\x48\x09\xf5\xd7\x9a\xf1\xb7\x81\x9c\x64\xbe\xba\x1b\x32\x7f\x03\x0b\x12\xc0\x9c\x84\xb0\x22\xb9\x97\xc2\x1d\x99\x79\x7a\x2b\x27\x84\x7b\x29\xac\x14\x74\x49\x86\x01\x36\x9e\x59\x7b\x64\x05\xda\xa0\x30\x99\xa1\xc5\x30\xa9\x98\x7d\x73\x75\xa1\xa0\x39\x49\x70\xad\xce\xbf\x1a\x06\xa6\xc8\x70\x5e\xe5\x4a\x86\xc6\x4a\x35\xd1\xf7\x55\x42\x58\x55\x7f\x30\x4c\x8e\xd4\x7f\xbc\xe4\x7e\xfd\xc7\x7b\xa1\xeb\x97\x5e\x0c\x77\xfb\xfd\xbf\x83\x60\x78\xf7\x05\xfd\xbf\xfb\x7c\xff\x45\x55\xbf\xdd\xff\xa6\xfe\x4f\xf7\xff\xee\x93\xfd\x2f\x17\x74\xa1\x0d\x9e\x0b\x9f\x92\x87\x75\x94\xba\x0b\x67\x05\x9b\x28\x76\x17\xce\xdd\x0e\x43\x38\x9c\xeb\xc4\x5b\x93\x38\x2f\x13\xe7\x3a\xb1\xd8\xe9\x7f\x8d\x42\xa2\x3c\xea\x80\x46\xb3\xe0\x1b\xac\x5f\x2b\x3c\x71\x7d\xe4\x8a\x61\x30\x0a\xa2\xb3\xa8\x8a\x65\x75\x6c\x3f\x0a\x4d\x6c\x38\xf1\x64\x1d\x1b\x46\x41\xa4\x7e\xcf\xa2\xfe\x9e\xf5\x42\xe3\xf7\x03\x71\x7f\x0d\x8a\x04\xdd\x33\x36\xb0\xb9\x7c\xa1\xa2\xaa\xd4\x39\x6c\xec\x9f\xd8\x29\x21\x62\xc4\x3c\x11\x05\xda\x66\xaa\x96\x28\x47\xa1\x0e\xd7\xd8\x77\xd4\x2f\xc3\xa5\x20\x35\xaa\xe5\xd1\x07\x9e\x86\x33\x6b\x1a\xd2\xb6\x4e\x4a\x00\x8c\x4c\x2b\xbd\x94\x1a\x9f\x0e\x06\x6c\x58\x0c\x5c\xb7\xa8\xd1\x5d\x75\xba\x42\xc8\xc8\x74\x5c\x4c\x2c\xef\xe6\xe5\xad\x30\x48\x87\x74\xe0\xba\x14\x27\x24\x1b\xd3\x09\xc4\x1a\x68\x89\x51\x32\x0e\x27\x0a\x4a\xfc\x03\xc5\x90\x00\xc7\x6a\x85\x5d\x57\x46\x89\x49\x6f\x12\x9e\x07\xdd\xae\xe7\x49\x88\x49\x52\x4d\x44\x70\x4a\x6c\x51\x74\x8c\x12\xc8\x14\x9e\x65\xe6\x4f\x5d\xfa\x33\xe3\x40\xcd\x10\x4b\x89\xc6\x04\x0a\xed\x5a\x03\x9f\x12\x82\x66\xa4\x40\xda\x51\xd7\x76\x4b\x55\x59\xfc\x3c\xf8\x23\x55\xfb\x70\x9a\x9d\xc4\x15\x19\xa2\xb0\xf0\xed\xf6\x4c\xfd\x8c\x78\xc4\x20\x1f\x86\x23\x11\x49\x3c\x30\x2c\x6d\x94\x13\x94\xbb\xa9\x7b\x8e\xbf\x3e\x57\x95\xce\xca\x2d\x5d\x95\xd7\x37\x62\xd6\xa6\x53\x72\xc3\x16\x2e\x47\x51\x0c\x09\xef\x76\xd9\x50\x7b\x0e\xd1\x5e\xdf\xc5\x90\x24\x36\x0b\x55\x6f\x09\xc3\x87\xed\x76\x4b\xe9\xd7\x9e\xca\xcc\x02\xe1\x87\x97\x25\xaf\x6d\x05\xd3\x6e\x77\x6a\x58\x27\x4b\x32\x9e\x60\xb8\x26\xa7\x01\xdc\x2b\xe4\xf2\x96\xdc\x90\xd6\xfb\x7c\x73\x84\x1f\xee\x14\x6a\x87\x36\x70\x89\x61\xdd\xed\xde\x77\xbb\xaf\x7c\xc3\x97\x51\x88\xa1\xa9\xe7\x55\xcd\x70\xc5\x18\xaa\x86\x66\x70\xaf\xfa\x73\x4c\xa5\xa6\x94\xb4\x36\x66\xe0\xde\x8f\x59\x63\x08\xfe\x63\x06\x1c\x2b\x62\xff\xd1\x64\x89\x2b\x26\xb3\x19\xb7\x5a\xc5\x69\xb7\xbb\xb4\xb9\xd0\x70\x8d\x37\x84\xc3\x25\x91\xb0\x26\x4c\x0d\x32\x04\x85\xe1\x66\x2d\x9c\xcb\x9e\xaf\x86\x48\x55\xa8\x16\xb6\x93\x74\x4a\x65\x10\x48\xa3\x87\x75\x74\x0b\x9b\xe8\x66\x07\xb7\xea\x9b\xc3\x26\x92\xbb\xdd\xe0\x05\x12\x78\x84\xee\xb5\x4b\x9a\x63\x8d\x08\x5f\xdd\x29\xea\xef\x06\xdb\xb1\xb7\x3a\xf6\xd6\xdf\x60\x60\xdb\xad\x35\x65\xf0\x91\x9c\x86\x38\xfa\x74\xb7\x4d\xa6\xdd\x2d\xe1\x70\x43\x24\xdc\x13\xa6\xef\xd2\x3b\x98\xc2\x12\x36\x70\x09\xda\x04\x1d\xee\xe1\x1a\x3e\xc2\x15\xc9\xe0\x95\xe1\x19\xbe\x20\xd6\xa5\x08\x2f\x2b\x46\xf0\xcc\x62\x04\x2f\x6a\x44\x72\xfe\x28\x23\x38\x23\xaf\x34\xd7\x1e\xa6\xea\xcf\x47\x72\x1a\x3c\xc6\xed\xcd\xc8\x15\xdc\x35\xdc\xdc\x12\x6d\x93\x24\x55\x2b\x26\x34\x0a\xfb\xb1\xdb\x95\x50\xd4\x96\xe7\x03\xc4\xb6\xdb\x02\xeb\xe1\xef\x31\x4d\x0f\xe7\x24\x6e\x31\x4e\x33\x35\x49\x16\x5d\x50\x74\xbb\x6f\x24\xba\x83\x04\x24\xc4\x26\xd5\x66\xa5\x2a\xa4\x72\x4a\x96\x06\x29\xae\x75\xd4\x5f\x5a\x77\xc2\x3f\x2d\x05\x19\x05\xf4\x3e\xd0\xde\x19\x08\x92\x31\x83\x01\x0b\x23\xaf\xa9\x4e\xad\xbf\xa2\x82\xa6\x29\x4b\xf3\x2f\xf2\xe9\x24\x90\xd1\x5f\x72\x3e\xd0\x5e\xf8\x2c\x28\xd5\x98\xca\x10\x8e\xc6\xb2\xf7\x81\x3a\x3a\xa1\xfc\x98\xec\xc0\x7a\xcf\xe5\xd7\x43\xf1\xf6\xbe\xcb\x13\x8d\xdb\x26\x5e\xdf\x29\x6c\xbd\x27\xdc\x2b\x6a\xaf\xde\x16\xc3\xc9\x21\x05\x06\xea\xb5\x94\x1d\x26\xa5\x65\x93\xad\xef\x50\x10\x24\xdc\x56\x75\x7d\x48\x48\xe8\x0a\x07\xf5\x9d\xc2\x13\xb5\x9f\x42\xd3\x7a\xd3\xda\xc9\xa1\xfc\xdc\xea\x30\xf5\x2a\x86\x70\x4b\x67\x08\x18\xee\x15\x20\x39\x42\x89\x87\xb8\xc3\xb5\x93\x55\xa7\x70\x0a\xdc\x53\xcd\x61\x3c\xd9\xd9\x02\xf5\xaf\x8e\x69\x77\xbc\xce\x5c\x52\x38\xdc\x13\x8e\x2c\xf5\xda\xa4\xad\xea\x30\xf8\xea\x40\xd1\x41\x73\x60\xbf\x6a\x14\x1c\x24\x11\x24\x01\x46\x0a\x42\x77\xf0\xd5\x97\xa9\xa9\x7d\x5b\xae\xcf\x6f\x99\x76\x2b\xfd\x5b\x46\x38\x06\x3e\xfc\x67\xd6\xed\xa2\x7f\xea\xc0\xef\x99\xf6\xd1\xf2\x7b\x46\x24\x06\x39\xfc\x55\xa5\xfc\xaa\x02\x96\x32\xfd\xb1\xf1\x94\x62\xed\xce\x65\x07\x38\x74\xa0\x03\x12\x12\xdb\x1f\xf9\x63\xb9\x6a\x10\x42\xd8\x6e\x7f\xd7\x54\xb9\xdf\x34\xb9\x6d\x02\x10\x3f\xd4\x93\x61\xd3\x02\x4d\xb9\xdf\x3b\x95\x47\xbc\xbf\x49\x74\xee\x6b\x6f\x95\xda\x94\xbc\x84\x30\x1c\x8e\x32\x38\xaa\x5a\x65\x43\xbe\x8a\xc7\xa1\x4e\x3d\xef\xc5\xa3\xe0\xa6\xce\x22\xa0\xe9\xb1\xe1\x9d\xfc\x44\xa7\x49\x91\x1f\x33\xf4\xd1\x9d\xe6\x18\xb2\x1d\x08\x96\x17\x69\xab\xd5\x64\x86\x68\x2d\x7c\x36\xa2\xa8\xc6\xb2\xbc\x36\x40\xd7\x32\x8c\x5d\x03\x45\x2c\x1d\xb0\xbf\x59\x82\x98\xce\x32\x80\x8e\xcb\xdd\x0e\xd5\x7f\xcd\xf7\x49\x70\x12\x42\x78\xa2\x52\xbc\xbe\xf3\x78\xa2\x4e\xfb\xcb\x72\x52\xf1\x43\xb9\xd4\x2f\x33\x97\x70\xad\x90\x26\xc1\x75\xdf\x58\x6d\xff\xfd\x60\xff\x54\x1c\x63\xc2\x3d\x69\x7c\x34\xb7\xce\x6b\xe1\x14\x6e\xe2\x24\x78\xf0\x67\xe6\x12\xea\x20\xe9\x72\x75\xc0\x7f\x36\x21\xa6\xf9\xd0\x5a\x83\x88\xc2\x0f\x52\x01\x30\x60\xa4\xd1\xfc\x1a\xfc\x72\x70\x94\x34\xfe\xfc\x4b\x73\x94\x74\x29\xa1\xce\x92\x7d\x58\xfe\xa1\xfa\x59\xe7\xfa\xc1\x42\xe1\x38\x3b\x72\x02\x1a\xcd\x58\x45\xc3\x14\xad\x11\x30\x87\xb5\x46\x20\x5a\x23\x28\x5c\xd9\x8c\x80\xd6\x60\xe1\xbb\x26\xaf\xd6\xaa\x2a\x73\x6a\xcd\xaa\x33\x47\x8f\xb5\x84\x1c\x2d\x2d\xa9\x23\xe3\xd5\xa0\xe3\x60\xbc\x15\xf4\xc0\x3b\xf8\xe5\xcb\xc0\x87\x7e\xc6\xa6\xe5\xab\xc1\x48\xd9\x96\xd9\x1d\xfb\x39\x43\xd2\xa5\x86\x6f\x46\x45\xac\x89\x61\x0a\x01\x7c\x4f\x5b\x2f\x52\xed\x95\xd0\x0e\x63\xcb\x7e\xb5\xac\xc4\xcb\x7c\xaa\x57\x65\xbe\xf6\x19\x6f\x0e\xa9\x45\xb6\xa8\x12\x71\x9a\xe5\xec\x1d\x95\x8b\x52\xe3\x87\x92\x73\xff\xa2\x39\xf3\xf2\xd3\x67\x9e\x35\x67\xbe\xf8\x82\x33\x9f\x7c\xfe\xcc\x17\x60\xc1\x93\xcf\x9c\x79\x4a\xb8\x75\xde\x6f\x8f\x1d\x5c\xb6\xbf\x04\x8d\xe3\xd7\x6c\x24\x22\x86\xdb\x6f\x3a\xa0\x86\x8e\x4b\xd4\xe4\xb7\xb5\xc4\x1a\x75\xb3\x43\xdd\x88\x16\xa8\x3d\xa2\xb1\xf6\xa9\xb2\x2d\x20\x7d\xa9\x65\x90\xd7\xe5\x24\x24\x20\x8f\xeb\x78\x24\xa8\x96\x1c\x25\x64\x2a\xd1\x98\x69\x54\x8c\x96\xcd\x0c\x0a\xa4\x10\xc8\x4d\x89\x42\x5e\x12\xaa\x9a\x5b\x13\xaa\xe8\xbc\x0d\x61\x70\xab\xf5\x9d\xe0\x86\x28\x92\x0c\xee\x49\x32\xee\x4f\x40\x61\xe8\x75\x07\x2f\x61\xbd\xf7\x2c\x66\xd5\x29\x06\x47\x35\xee\x53\x84\x1f\xfe\x7f\x02\xe1\xba\xf3\x31\x5c\xd7\xeb\x9a\xef\x59\xa9\xe3\x87\x04\xcd\x08\x87\x85\xba\x38\xe7\xe4\x12\x56\x64\x0d\x77\xe4\x16\xa6\xe4\x06\x96\xe4\xbe\x99\x01\x9b\xc2\xc2\x0f\xed\x71\xcd\x61\x05\x33\x30\x28\xb3\xee\x7c\xd3\x20\x05\x5a\x6e\xe9\x19\x2c\xa0\x54\xa9\xd8\xc7\xac\xab\x6d\xce\xac\x6d\x2e\xea\x2d\x4d\x1f\xdd\xd2\xfb\xc6\x03\x65\xbb\xa5\x1e\xc4\x63\xbb\xbc\x6d\x4d\xd0\x2a\x23\x9a\x6b\xe7\x7a\x8f\x53\x07\xc2\xd0\xbf\xa0\xd5\xd4\x9a\x91\x98\xc5\xdf\x90\xdc\x93\x70\x49\x66\x1e\x83\x35\xd9\x38\x1b\xf7\xd2\xc8\x7d\xd6\xc3\x73\x27\xe9\x76\xa7\x9e\x67\x32\xde\x92\xcc\x9d\xc3\x0d\x49\xdd\x15\xdc\x93\xd8\xbd\x83\x6b\x0b\xe2\xde\x3a\xb7\xee\x8d\x73\xe3\xde\x3b\xf7\x8a\x30\x69\x9e\x3c\xb9\xef\x91\x6b\x0c\x57\xe4\x92\xa2\x4b\x8a\xee\xb1\x17\xe2\xe7\xef\xe8\x76\x7b\x49\x91\xf0\x16\x46\x7e\x2d\xdc\x05\xee\x95\x1e\x93\x0d\xce\x77\x03\xb7\x18\x5e\x11\x8e\xae\xe0\xa3\xa2\x58\x5e\xa9\xbd\xf6\x92\xbc\x52\x7b\xed\x2f\xf2\xc2\x93\xf0\x86\xbc\xf4\x18\xfc\x49\x2e\x9d\xbf\xbc\x8d\xf3\x66\x80\xfe\x74\xfe\xec\xad\x87\x89\xae\x19\x6d\x9c\xbf\xdc\x4b\xe7\x0d\xee\xad\x3d\xff\x02\x0f\xfd\xb3\xed\x96\x0e\x33\x67\xee\xa6\xce\xca\x8d\x9d\x3b\x45\x5a\xb4\x27\xe7\x05\xbc\x84\x2b\xb8\xed\x91\x6b\xb8\x51\x7f\xee\xf5\x14\xc1\xb2\xdc\xcc\x2f\xe0\x25\x86\x02\x95\xb9\xf4\xe2\xef\x4f\x27\xde\x95\xd8\x8f\x7f\x01\x96\x6a\xf3\x59\xe0\xbc\xa6\x18\x32\x12\x3e\xb1\x9c\xce\x08\x16\x27\x79\x62\xbf\xd1\xfc\x29\xcf\xaf\x19\x41\x09\xe1\x8e\xe1\x83\x84\x4f\x40\x96\x6e\xe4\x4b\xf4\xba\xe5\xde\x44\xb0\x86\x5e\x61\x0c\xb5\x35\x34\x2a\x55\x10\x34\x96\xce\x6f\x14\x98\xf3\x1b\x55\xb0\xe7\x98\x7f\xb5\x32\x2a\x65\x48\x0b\xe8\x6c\xfe\xaf\xf1\x94\x60\x1e\xa7\x14\x8c\x2e\x6d\x84\x30\x61\x36\x37\xab\xbe\x05\x0e\xd5\x61\xb8\x6f\xe2\x50\xa9\x29\xf2\x69\x25\x89\xcf\x09\xfa\x77\x8f\x1e\x35\xbe\x77\xd4\x1e\x3b\x5c\x7c\x4f\xc5\xc6\x02\x5d\xcc\x9a\x8f\xcc\x9a\x52\xcb\xc1\x0c\xb6\x01\x59\xf6\xe8\xa5\x71\xc2\x49\x66\x8c\x2b\x5e\x53\x63\x92\xa1\xf6\x86\xb1\xd1\x58\xb8\x29\xc4\xc6\x06\x64\x31\xd9\x13\x17\x36\xa5\x2b\x5d\x2e\x23\x4d\x4f\x71\x6f\x01\xc8\x94\xc2\xbd\x05\x06\xde\xed\x9a\xda\x7e\x2b\xeb\xff\x8d\xee\xbd\xe9\x99\x91\x97\x12\x51\x32\x63\x68\xa9\x20\x19\x86\xa4\xd2\xae\x4a\xd0\x1d\x4c\x1b\x17\x57\x64\x6e\x8c\x54\x16\x10\x93\x95\xb1\x03\x59\x40\x81\xf6\x10\x83\x4a\x6c\xd4\xed\xa2\xdc\xbf\xa3\x69\x32\x35\xd2\xca\xd2\x85\x68\xf5\xc6\x4d\x03\x82\x5a\x9b\xb2\xed\xae\xd9\x30\x42\x8f\x4e\x07\x86\x05\x09\x2f\x02\x98\x93\xf3\x67\x01\xac\x48\xff\x22\x80\x3b\x12\xc0\x94\x04\xb0\x24\x01\x5c\x92\x00\xd6\x24\x80\x5b\xf2\x7d\x06\x37\x64\x03\xf7\x46\x99\xe8\xda\x76\xa4\x7d\x22\xab\x0d\x7b\x64\xa3\xb7\x47\x80\x21\x27\x29\x43\xb7\x88\xc2\x0c\xdd\xa8\x03\x80\x31\xd4\xc9\x01\xe4\x3b\x90\x7e\x9c\x26\xab\x17\x7c\x9e\x7e\xa1\xff\xe6\xdb\xda\x1b\x34\xba\x27\x1c\xbe\xcf\x70\xf4\x5a\x22\x74\x4f\x5c\x8e\xf5\x3e\x28\x10\xc6\xd1\x7d\x55\xf3\xab\xb5\x64\x36\x56\xf9\xa9\xaa\xaf\x35\x13\x88\x8f\x7e\x37\xa6\x3b\xc6\x4a\x48\x4b\x11\xf5\x2e\xa8\xac\x86\xd4\x2e\x89\x36\xa6\x9d\x6b\xd5\x8e\x76\x69\xf8\x65\x4d\xe8\x07\x7e\x84\x2a\xb9\xd0\xee\x96\x04\xe5\x79\x4a\xe5\x17\x96\x9e\x13\x57\x4b\xc9\x56\xc4\x35\x86\x5a\xaa\xa2\xf1\x1c\x56\x13\x3d\x5c\xc6\x65\xcb\x8b\xf7\x27\x6a\xba\xd3\x0c\x93\xaf\xcf\x9e\x28\xb8\x0a\x53\xcd\x30\xa9\x42\xa6\xd6\x3b\xb5\xf9\xa7\x7a\xe7\x83\xf4\x45\x26\xbf\xb8\x97\xcb\x56\xdd\x97\xad\xba\xd7\xb5\x4e\xe8\xb0\x3f\xe2\xe3\x7e\x95\x10\x05\x65\xb3\x4b\xfd\x1a\x8c\xfa\xb3\x36\x6d\x37\x6e\x96\x25\xcc\xa0\x53\xc3\xfc\x0e\x86\x43\x10\x92\x10\x7e\xdc\x7f\x20\x54\x26\x05\x24\xa9\xcd\x10\x98\x6a\xd2\x82\x50\xa9\x0d\x24\x34\x04\x3e\x50\xcc\x33\xea\x31\x6a\x20\x4c\xed\x35\x1b\xdf\x8c\x59\xdb\x60\x0c\x6c\xfb\xb0\x7c\x2f\x71\xf8\x81\x8e\xb8\xf7\xbd\xd6\x21\x18\xf2\x11\x77\xbf\xa7\x51\xbb\xc4\x8c\xed\xbf\x9f\x33\x92\xdb\x2d\x1b\xbd\x94\x68\xae\x99\x66\x2b\x43\x96\xe0\x68\x6e\x9e\x3b\x57\x89\x65\x5c\x94\x5b\x6c\x89\x05\x7b\xd4\x37\x5e\x75\x9e\x15\xcd\x3b\x96\xaa\x4f\xb2\xea\x93\x1c\x49\xd5\x27\x09\x6c\x62\xcd\xd0\xdc\xba\x15\x17\x2d\x77\x3b\xd5\xec\x2e\x18\xf2\x38\xb6\x6f\xd2\x15\xfb\x2c\x77\xad\xb4\x29\xcc\x6c\xf9\x65\x63\x99\x59\x3e\x03\xc5\x0e\x6c\x33\x63\x47\xb8\x99\x53\x1c\x61\x76\xa5\x4e\xe2\xe5\x0e\x85\xcc\x11\x5e\xec\x14\xda\x4c\x2e\x77\x12\x37\x75\x68\x9b\x13\x57\xca\x4a\x8b\x16\x5f\x2e\x69\xf5\x8a\xda\xad\x7e\x11\x03\xee\x7f\x1b\x53\xe2\xa5\x0e\x3d\x3e\x26\x37\x36\x63\x72\xf3\x7a\x4c\xc2\xcb\x9c\x62\x8f\x75\x77\x77\x7c\x86\x79\xcb\xf2\xeb\xc8\x13\xe5\xa5\xff\xb6\xca\x83\x2b\x75\xe4\xa0\x74\xbb\x3e\x42\x05\x99\x2a\x12\xaa\xd0\x4f\x82\xa8\xaf\x04\x03\xa2\xc3\x60\x94\x0c\x8b\xa8\x18\x26\x1a\x15\x54\xd4\xfe\xf7\x5a\xcd\xae\x20\xdc\x55\xdf\x90\x10\xee\xf9\x17\x4e\xda\x28\x7d\xc5\x90\x93\x62\xa0\x8a\xe6\xc3\x24\x4a\x86\xf9\x20\xf7\x48\x5a\xcb\x0b\x50\x4c\x6e\x34\x1d\xe5\x59\x06\xa7\x39\xae\x83\xaa\xef\x39\x9e\x60\xad\xff\x1d\x6b\xc2\xcd\x32\x68\x6d\x8d\x5c\xab\x55\x0c\xf4\xcb\x84\x84\xc3\xad\x6c\xde\x4a\xe1\x1c\x79\xb6\xd9\x0d\x52\xc1\xfe\xe4\x79\x30\xf2\x44\x24\xb0\xdb\x37\x6d\xbd\x7b\xed\xbd\xa3\xf8\x6b\x54\x07\xad\xe3\xbe\x64\x6d\x5d\x0e\x05\xa6\x28\x9f\xeb\x58\xef\x1d\x05\xd6\xa8\xd4\x7e\x0a\x31\x14\xda\x69\x4a\x73\x2c\xdb\xf0\xc3\x1e\xdb\xe6\xff\xb8\x41\x09\xbc\xdd\xe0\x65\x0b\x67\xf2\xf3\xac\x10\xb1\xb5\xcb\xd6\xed\x64\xa9\x1f\xa4\xb5\x2c\x62\xd9\x9e\x62\x65\xeb\x58\x24\xad\x6d\x4f\x6d\x15\xcf\xea\xc8\x18\xbd\x4e\x48\x49\xd1\x32\x1a\x8c\x49\xd1\x32\x1a\xcc\x6d\x63\x47\x86\x61\x66\x1b\x3b\x32\x85\xf0\x94\xab\xa7\xe9\xa8\x06\xdf\xa7\x1c\x09\x4f\x62\xb7\x70\xa8\x43\xb9\x7e\xad\x47\x3b\x4f\x0e\x7b\x75\xe9\x05\x86\x15\x59\xb4\x7c\x99\xdb\x16\xbe\x86\xd5\xbf\xc0\xce\x1c\x58\x13\xb5\xf0\xb8\x8a\x11\x84\x39\xa9\x2b\x9d\x1c\x0a\xc2\x9c\xd8\x95\xce\x4c\xdb\x3f\x26\xae\x74\xb2\x23\xa7\xbb\x00\xd1\xbc\x83\x66\xa2\xec\x47\xd1\x84\x23\xdc\xc2\x29\x30\xd6\x77\xe2\xa1\xc2\xd1\x98\xab\xc2\x52\xa7\x56\x8b\xbf\xf2\xa7\x89\x79\xef\x8b\x2c\x60\x65\x59\x15\x1f\xf0\x01\x6b\xd3\xb8\xc6\x4a\xb4\xb2\xd8\xb4\xed\x48\xb5\x2e\x49\xf9\x46\x9f\x27\xb1\x6d\x39\x9f\xe1\xc1\xdf\x32\xf7\x11\x1b\xda\x8c\xb4\x2c\xe5\xb1\x93\xb9\x28\x23\xc2\x49\x3c\xe6\x50\x27\xc5\x4e\x86\x41\xcd\x8c\xd0\x21\x30\xac\x50\xad\x9d\x6c\xd9\xc1\xfe\x70\xdc\x0e\x56\x92\x42\xdf\xc6\x96\x49\xab\xe9\xba\x05\xe0\x13\x0c\x3f\x58\x2c\xec\x1f\x8e\xb2\x0d\xeb\x1c\x56\xf2\xad\x75\x1a\xee\x0f\xaf\x31\xdb\x65\x9f\xb5\xb7\x0b\xdb\x7a\x5e\x01\x40\x24\x9c\xa2\x36\xa3\x4f\xda\x22\x24\x48\x9c\x96\xf1\xfc\x27\xee\x97\x76\x63\xc6\xc0\xbc\x14\xe3\x40\x41\xa4\x3a\x2c\x49\xcb\xa6\xb9\xb5\x7a\xc7\x44\x42\x4e\x02\xc2\xa1\xa5\xcd\xb6\x3e\x1f\xa2\xdb\x65\x4e\xd2\x13\x7b\x37\xca\xf5\x23\x77\xb8\x82\xe2\xde\x5b\xea\xbe\xa3\x43\xf3\xa0\xba\x09\xe0\x48\x0e\xb5\xba\xbf\x8e\xd3\x5f\x95\xc4\x99\x9a\xe3\xb5\xca\xee\x51\xa1\x87\x8f\x8f\x48\xd0\x12\x87\xef\x09\xd0\x54\xcc\xf1\x8b\xfb\x08\x88\xd3\x19\x24\xe5\xe8\x03\xed\x9d\xbb\xbc\xd7\xc7\x3b\xb5\x0c\x84\x10\x39\xb2\x40\x87\x21\xfe\xd3\x6c\x8e\x44\xcf\x56\x1d\xef\xd5\xf1\xaa\x87\xbd\x42\x91\x2d\x40\x89\x70\xac\x9e\x2b\x2c\x01\xf7\x6a\x65\x89\x64\x74\xc4\xa4\xb5\x2d\x92\x03\x41\xfe\x8e\x92\x4a\x2f\xdd\x5e\xbc\xc7\x84\x75\x09\x54\x90\x4b\x8d\xa5\x6e\x9c\xf6\x04\x84\xbd\x04\x63\xef\xad\x42\x8f\x19\x8e\xae\xac\x95\xfa\xf8\x49\x6c\x2b\x69\x44\x83\xd6\x74\x17\x6a\xba\x13\x7b\xba\x8b\x47\xa7\xfb\x70\x16\x91\xf0\x5a\xb3\x87\xa4\xa7\x71\x28\xd1\x2b\x5c\x6e\x69\xf9\x6b\x33\x87\x51\xcc\xa2\x4f\x4f\x55\xf2\x29\xe9\x65\xe2\xfd\x1d\x15\xc7\xe6\x50\x4f\x84\xe5\x2c\x60\x1f\x17\xaf\x97\xb4\xbd\x37\x64\xaf\x8f\x6d\xd7\x09\xaf\x98\x6d\x8b\xa2\x39\x16\xda\x06\x4e\x13\x78\x0a\x92\x37\x04\x1b\x24\xe6\xd5\xe8\x92\xc0\x6c\x10\xc3\x3d\x62\xb0\x92\x74\x89\x92\x2e\x61\x16\x51\xd2\x3c\x59\xab\x55\x8d\x46\x76\x85\x5a\x1c\x8f\x23\x16\x71\xed\xb3\xf2\x90\x4e\xac\x2a\x2e\xfe\xa7\x8a\x1f\x21\x91\x8d\x0c\x22\x39\x56\xb5\xf6\xc7\x4b\x08\xab\xcc\x49\x4b\x5b\x89\xd2\xcc\xe6\x03\x75\x04\xd2\xb7\x36\xc2\x83\x04\x8d\xc7\xa9\x42\xbf\x32\x48\xc7\xe1\xc4\xcb\x26\xa0\xc3\xae\x09\xbb\xd9\x64\x52\x59\xec\x49\xfd\x0e\xa0\xee\x5a\x2d\x09\x6c\xf7\xcf\xf4\xdb\x72\x3f\xd0\x5e\xe3\x4f\xad\x30\x78\xdc\x5a\xe4\x97\x2d\xc4\x65\x1c\x58\x49\x7f\xb5\x93\x42\x2b\xe9\x0d\x7b\xd4\x9b\xd0\x38\x00\xed\x34\xa5\x0f\x05\xe9\x0f\xe4\xb0\x18\x14\xae\x6b\xf2\x0e\xb4\x25\xe2\x3f\x10\x1f\xb3\xb1\xf0\xfa\x93\x09\x98\xaf\x50\x7f\x15\x13\xfc\x9c\x04\x03\xec\x79\x62\xc0\xc6\xc2\x75\x27\xa4\x68\x6e\x00\xe3\xf0\x28\x68\x79\x8a\xfd\x93\x1d\xb8\x54\xd1\xda\x68\xdb\x6d\xad\x88\x66\x59\xe4\xee\x91\x90\xe6\x91\x6e\x69\x1e\xf2\xb6\x3c\x80\x98\x47\xbd\xa5\x79\xc8\xbb\x31\x2f\xb1\x8c\x70\x0f\x70\x39\xcd\x85\x48\xb4\xb1\x27\x50\xad\xb2\xeb\x15\xe5\x13\x2a\xfa\x19\x45\xcd\x9d\x88\xf5\xcb\x24\x90\x6b\x25\x5e\x4f\x7b\x6f\x50\x1f\x31\x2c\x08\xca\x1c\x94\x7a\x31\xf6\x66\xe5\xb3\x80\x3d\x34\x73\xa8\x97\x39\xf5\xde\x1d\x17\xee\xc2\xa1\x90\xba\x0b\x27\xb7\xc6\xf4\x1d\x3b\xe2\xb2\xa6\x31\x33\xad\x6c\xef\x4e\xcd\xa3\xe5\x4c\x4f\x8d\x6e\x7e\x4f\xc6\xf3\x4e\x21\x41\x42\x68\x36\x01\x2e\x8d\x92\xa7\x73\x66\x8c\x90\xf3\x44\x96\x5f\x71\x22\xe2\x94\xed\xd9\x24\xbf\xb7\xfa\x10\xa7\xc6\x7e\x6e\xbb\xe5\xec\xfe\xe4\x1d\xb3\x78\x64\xaa\x12\x6e\x53\xc2\x1f\x74\xb9\x6f\x35\x54\xa1\x69\xf5\x6a\xbd\xc2\x69\xd3\xd2\x28\x10\x83\x10\x2d\x51\xd8\xf7\xf6\x70\xcb\xde\x00\x23\xd2\x5f\x83\x20\xd2\x8f\x37\x50\x90\x87\x75\xc4\x60\x13\x09\x7d\xc9\xf9\xef\x80\x12\xee\x5f\x41\x46\xc6\x7c\x32\xd0\x4d\xd6\xa4\x57\x4a\x92\x41\x5a\xd6\xa2\xdd\xc0\x30\xaf\x0a\xfa\xeb\xda\x37\x8c\x68\x22\xe3\x8d\x8a\x1d\xe0\x84\xa4\xfe\x3b\xc8\xfc\x82\x1b\xeb\xc0\x14\xc3\x07\xa6\xfe\xaa\x1a\x5b\xd1\xdf\xaa\xe8\x86\xd6\x23\x74\x10\xb7\x1b\x8c\x8f\x35\x18\xef\x37\x48\x49\xac\xc6\x50\xfb\x2e\xf8\xc0\xd4\x5f\x55\x5d\x13\xf7\xad\x8a\x1b\x94\x9e\x03\x6a\x95\x48\xdd\x76\x4e\xc2\xc1\x6c\x98\x0f\x5c\x37\xc7\x31\xc9\xc6\xb9\x56\x9a\x1c\xe7\x5e\x38\x01\x2e\x50\xac\xd7\x1a\x52\xbd\x46\x10\x9b\x9f\x02\x0f\x52\xa3\x63\xaf\x4a\xcc\x54\x56\x93\x8f\xfc\x9d\xa1\x76\x56\xcd\x13\x2d\x30\x7c\xa5\xe7\xe0\x2b\xd5\x0f\xcb\xa2\xac\x0d\x28\x2a\x27\x20\x84\xfb\x6b\xbd\x34\x1b\xc8\x08\x4d\xfd\x9b\x41\xa6\xdd\x19\x08\xf2\x96\xa1\x0c\x28\xf6\x12\x10\xc3\x77\x14\x67\x24\xf3\xdf\x0c\x2a\x67\x02\x05\x49\xbc\xd7\x26\x03\x9c\xa2\x42\x65\xc0\x0f\x62\xe8\xbd\xa3\x23\x24\x49\xe6\xbf\x03\x46\x32\x1c\x15\x75\x8c\x0a\xfb\x57\x38\x92\x84\x91\xcc\xbc\x58\xa3\x2d\x76\x32\xff\x27\x85\x2d\x57\x51\xaa\x95\x9f\x4a\xe7\x12\x7a\x3f\x6b\xb8\x9e\xfa\x09\xcf\x99\x90\x48\x82\x42\xc4\xb7\xdb\x0a\xca\x2b\x78\x5f\xee\xec\x6f\x99\x79\x7b\xf4\x3d\x43\x66\x93\xeb\xcd\x5c\x96\x4b\x81\x61\x48\xcd\xb4\xb1\x7a\xf6\x4c\xbe\x72\xbe\xf5\x84\x49\xac\xdf\x2c\x3e\xf9\x8a\x29\xa2\x5c\x9b\xcf\x60\xcb\x03\x06\x4a\x1f\x29\x8b\x07\xa6\xf9\x6f\x59\x45\xcc\xc7\xa4\xcc\x91\x93\x58\xab\x99\xc7\x5a\xcd\x9c\xfb\x6b\x2f\xd7\xee\xae\x37\xde\x0c\x56\xea\x0e\x57\x99\xee\xc8\x4a\x27\x4c\xc9\x4a\x27\x2c\x49\xdf\x41\x0b\x67\xea\xcd\x9d\x3b\x0c\x1b\xb2\x70\x16\xee\xdc\x99\xc3\x25\xb9\x73\xee\xdc\xa9\x33\x85\xb5\x3a\x5f\x68\xea\x6c\xbc\xb9\x73\x89\x7b\x4b\x37\x87\x4d\x84\x16\xce\xa5\x77\xe7\x6c\x54\x78\xb6\x1b\x70\x81\xcc\x60\x21\x86\x15\xac\xeb\x19\xf8\x3b\x43\x71\xe5\x6b\x63\x8d\xa1\x99\x10\x0e\xab\x3a\xd6\xcc\x86\x9e\x08\x8b\xdc\x78\xdb\xc2\xdb\xb8\xe9\xbd\x42\x45\xd6\x1a\x0d\xd9\x40\x42\x0a\x4f\xea\x99\xab\x74\xba\x4f\x44\xe9\x0f\x88\xfb\xef\x74\x02\xad\x5c\xda\xa3\xb0\x17\xe0\x01\x23\x54\x57\x33\x30\x37\xb5\xaa\x2a\xd5\x55\xc5\x24\x2d\xab\xaa\xbc\xf2\x9f\x64\xe6\x5c\x91\xcc\x13\x30\x23\x61\x2f\xf1\xc2\x9e\x82\xdb\x79\x2f\xae\x79\x0b\x23\xe4\x2d\xdc\x06\x15\x5b\x38\x0b\xaf\xef\xcc\x1c\x94\x3b\x79\x0f\x79\x7d\x27\xc6\x5e\xea\xc6\xbd\xbe\x5b\x78\x89\xba\x85\x71\x6f\xe6\x8a\x08\x09\x37\x6b\x59\x60\xbe\xde\x1b\xe9\x95\xea\x49\xbd\x1b\xde\x32\xfd\x44\x78\xc5\xb7\x31\x03\xa8\x59\x19\x1b\x8d\x8d\x0a\x7f\x1d\x85\x3d\xcb\xeb\xcb\x6f\x96\x68\xad\x84\xc2\x15\x80\xcf\x5b\x1e\x12\x7e\x3f\x7e\x56\x5b\x82\x96\x4a\x12\xb0\x20\x95\x0c\x60\x4e\x2a\xa9\xc0\x8a\x94\xf2\x00\xb8\x23\x49\x0a\xd3\x46\xf5\x72\xea\x79\xfa\x78\x27\xe4\x6e\x3c\x9d\x40\xa2\x3d\x4f\x08\xb6\xa2\x82\x21\xac\xd5\xba\x33\x92\x98\x1e\xd9\xfa\xdc\x94\x04\x5a\x99\x1b\xe7\x5a\x93\xdb\x67\x5a\x44\x2d\x48\xae\xd7\x3d\xd7\x8b\x95\x8d\x5d\x97\x7e\x9d\x4e\xfc\xbc\xb6\x7c\x56\x3b\x9f\xe9\x9d\x8f\x34\x3c\x95\x78\x58\x4a\x87\x0b\x8f\x69\x3b\x51\xad\xef\x99\xaf\x34\x4a\x41\x21\xd0\x8f\x0d\x4b\x81\xfe\xc1\x50\x52\x1e\x1f\xd0\x25\x67\x06\x2a\xaf\x3c\x05\x6a\x46\x0f\xeb\x68\x06\x9b\xe8\x92\x22\x69\x52\x46\x2c\x5a\xed\x22\x5d\xef\xca\xe4\x5c\x78\xa2\xcc\xa9\xc1\xbb\x8e\x1d\xc9\x68\x01\x9b\x32\x67\x29\x9f\xee\x76\x0b\x6f\x5e\xe6\x5c\x54\x75\x2e\xca\x3a\xe7\x65\x9d\x73\x93\x53\x78\x33\xbb\xce\x79\x59\xa7\xea\xca\x7c\x67\xde\x43\x84\xa4\x01\xc5\x18\x83\xeb\xda\xa8\xe1\x3f\xdb\x58\x92\xf4\x29\x9f\xa7\xcc\xe3\xe6\xd7\x52\xfc\x3c\x44\x02\xd6\xe6\xde\xdf\x98\x1f\x2a\xe2\x03\x8c\x60\xb3\x87\x0d\x7c\xd5\xba\xa2\xdf\x41\xbd\x87\x65\xb7\x5b\x93\xec\x25\x8c\x2a\xaa\x93\x9c\x94\x00\x49\x7b\xc4\x38\x25\xa4\x79\x20\xc8\x5f\x6b\x13\x9a\x0d\xa4\x44\xf8\x6b\x8f\x42\x4c\x84\xbf\xf1\xb4\x17\x2c\x1d\x9e\x91\x44\x87\x17\x0a\x74\xa5\xce\xcc\x8b\x9d\xbc\x34\xc9\x5a\x0c\x89\xf7\x9e\x96\x46\x49\x73\x92\x3a\xa9\x1b\x3b\x31\xac\x48\xe9\x1d\x0b\xee\x08\x9a\x39\x73\x2f\x76\x56\xb8\xb7\x80\x29\x41\xa9\xb3\xf2\x72\x47\x3b\xc7\x9a\x91\xa9\x9b\xc1\x92\xe4\x2d\x8c\xe6\x57\x36\x58\xea\x69\xe0\xb0\x34\xb3\x50\xc0\xd2\x5f\x93\x3b\x97\xc2\xd2\xdf\x90\x99\x05\x01\x4a\x90\x89\x61\xa9\x66\x69\x06\x15\xc2\x42\x96\x35\x42\x60\x26\x0f\x2e\x49\xaa\x6e\xc0\x4b\x7d\x44\x96\xfe\xe6\xf9\xa5\xbf\xd9\x6e\x97\xfa\x3c\x5f\xfa\x9b\x6e\x77\xe9\xaf\x9f\x93\x4b\x7f\x6d\x9c\x31\x5d\xfa\x6f\xf0\xc3\x86\x5c\xfa\xef\xca\xdb\xeb\x92\x5c\xfa\x6f\x6a\x87\x3b\xa7\x97\xea\x6e\xdb\x90\x4b\x2b\xf5\xa7\x5d\x5a\x5f\x4a\x1b\x58\x62\xd8\x6c\xb7\x28\x4b\xc9\x12\xb7\x4c\x55\xbe\x3d\x82\x5f\x0d\x34\x2b\xc3\x7f\x67\x0a\x48\xff\x0a\x43\x5a\x63\x6b\x12\x43\x5e\x62\x6b\x52\x63\x6b\x12\x37\xe3\xdc\xa3\x50\x7e\xd9\x87\x2e\xa4\x48\x41\x68\xbd\xf1\xcf\x48\x17\x35\x8c\x2f\x21\x49\xa1\x20\x89\x24\x6c\x5c\x4c\x00\x9d\xfe\x8d\x21\x09\x1c\x6f\xb7\xa7\xaa\x69\x7d\xc4\xa5\x4f\xfd\xb5\x27\xfd\x5b\x0b\xa5\x52\x71\x1b\x1d\xa7\x11\x2a\xf3\x22\x25\x25\xd2\xbf\x2d\xbd\x43\x54\xb0\xa0\x80\xd0\xf6\xd3\xf7\xb7\x3d\x60\x7c\x6b\x03\xe3\xd3\xd2\x29\x6b\x89\xce\xd0\x12\xf3\xd7\x46\x18\x1a\xc7\x37\x0f\x28\xca\x72\x50\xb1\x89\xd3\x14\x00\xf7\x15\xfa\xcf\x7d\xa1\xee\x10\x7f\x0d\x73\x0d\xcb\x56\x64\xe6\xaf\xe1\x8e\xcc\xfc\x8d\xda\x8c\x0b\x77\x85\x7b\x7d\x58\x12\x34\x77\xef\x70\xaf\xaf\x7d\xce\x10\x42\xe6\x46\x75\x74\x38\xdd\x6e\xa7\x43\x92\xd5\x86\x4e\x33\xb4\xa8\xcc\xb7\xcc\x5f\x7f\xd3\x3c\x2c\x53\x1a\x3f\xa9\xdb\x7b\x0a\x9b\x28\xdd\x0d\x58\xf5\x1d\xef\xea\xad\x53\x17\x7c\x9e\x1e\x2f\x17\x5b\xe5\xd2\xdd\xae\x36\xa9\x12\x04\x2d\xbc\x15\xee\xa1\x3b\x6f\xae\x96\x6b\xe9\x09\x67\x0a\x5e\x38\x14\xdb\xad\x18\x86\xf8\x8b\x3b\x87\x52\xaf\xc0\x3d\x61\x75\x11\xc5\x55\xcc\x97\x76\xd4\x2e\x51\xd6\x61\xd5\x6a\x99\x81\xcd\x5b\x1d\x5a\x37\x93\x69\x55\x46\x15\x2d\xe1\x50\xb7\x28\xab\xca\x74\x38\x73\x8b\xc3\xce\xac\x9f\xd3\xc3\xf2\x4d\x7e\x53\xbe\xa9\xaf\x71\x09\x47\xf5\xfb\x60\xb7\x84\x81\xed\xac\xed\x87\x72\xf3\x69\x38\x9b\x56\xb7\xb6\xa8\xbc\x47\x51\x03\x80\x6f\xf7\xe0\xef\xdf\x0f\x89\x53\x76\x5f\xd5\x55\x5b\x14\x94\x67\xb6\x30\xde\xe4\x04\x2a\xa0\x7c\xf8\x5f\x94\x41\xa9\x9f\x51\x87\x24\x1d\x73\x3f\x99\x98\x9b\xb9\x79\x5e\x4d\x96\x25\xb0\xce\x21\x1f\xcb\x21\xb5\xe9\x8d\x65\x5a\xf0\x8f\x3d\xa1\x4d\xdd\xb5\x16\xa7\x43\xa8\xb1\x81\xd0\x13\x52\xf5\x54\x60\xb0\x54\x4b\xb9\x68\x06\xc9\x7d\xba\xdd\x72\xff\x76\xc4\xfd\xd4\xd8\xa0\xf9\xb7\x44\x44\x6a\x56\x45\x84\xf4\x0f\xa8\x24\x09\xdc\x17\xc4\x66\x8b\xc9\x3d\xfb\x63\x75\x86\x0b\x7d\xca\x1b\x02\xb8\x9c\x75\x73\xe1\x95\x13\xaf\x95\x33\xd8\xc8\xe2\xc7\x31\x0d\x5d\x36\xc0\x34\xe4\x59\xe3\xc8\xf4\x45\xda\x79\x0a\x7f\xed\x09\x6d\x9b\xb3\xf1\x0a\x7f\x83\x6d\xcd\x34\x75\xb5\xa9\xab\xae\xf0\x37\x9e\xf0\x37\xb6\xf2\xa7\xb0\x9e\x0b\x6c\x2d\xb4\x26\x8d\x1f\xb8\xff\x9e\x70\xff\x25\xe1\xfe\x1b\xc2\xfd\x9f\xd4\x95\xab\x2e\xdc\xbd\xbc\x85\xb0\xe1\x98\xd4\xc4\xf2\x4f\x1a\xaa\xbe\x1f\x14\xa3\xc2\x7f\xa3\x27\x4e\xfd\x8a\xa8\xf0\x7f\xd2\xd3\x77\x43\x04\x08\xff\x3d\x29\x80\xf9\xef\x89\x00\xa6\xe2\xfd\x37\xea\x57\xbb\x2c\xfc\xc9\x7f\x4f\xd4\x86\xf1\xdf\xd8\x5a\xff\xc9\x91\x96\xde\xfc\xc7\x2d\xbd\x21\xc2\xff\x49\xfd\xea\x96\xde\x54\x2d\xfd\x64\xb7\xa4\x5f\xc4\x30\x5c\x25\xee\xbf\x19\x60\xae\xe6\xe0\xc8\xc3\xc2\x99\xdd\xa3\x9a\xf8\xd4\x2e\xfb\x52\x81\xcd\xe5\xae\x2f\xe4\x22\x25\xe3\x09\x24\xc6\x2f\xa0\x79\xff\xa1\x76\x0e\x07\xd4\x44\x33\x01\x69\xf5\x35\xd0\xd7\x75\x41\xb2\x54\xe1\xb3\xe8\xb4\xd8\x6e\x15\x40\x2a\xd4\xdd\x9d\xe8\xbb\xbb\x50\x77\xb7\x82\x0b\x85\xbf\xc6\x58\x41\x88\x53\x42\x98\x4e\x3d\x25\x44\xa8\x6b\x28\x49\xc7\x89\x9f\x4c\x74\x95\xbf\x31\x94\x60\xf8\x51\xff\x65\x0a\xbd\x01\xa1\x90\x1b\x2d\x34\x29\xfb\x59\xdf\xf1\x45\xe9\x6f\xe2\x7b\x86\x0a\x85\x90\xe0\x9d\xba\xa6\x7f\xd1\x37\xf2\xef\xea\x2f\x2e\xa9\x9f\x87\x98\xa5\x69\x1e\x25\x29\xe8\x13\x1a\x15\xd6\x03\xd4\x29\x49\x53\x52\xa4\x44\x8d\x59\x5d\x83\x96\x3f\x8a\x54\xec\xe1\x8c\x1b\x8f\xab\x81\x49\x7f\xed\x71\x7f\x6d\xe9\x79\x88\x3d\xae\x9a\x22\x35\x99\xbf\xc6\x0e\x2a\x0b\x61\x4f\xc7\x49\x1d\xc7\xca\x38\x4b\x17\x44\xb4\x04\xa7\x56\xd5\xb3\x76\xca\xc6\x52\xe2\x10\xb5\xa8\xef\x21\x65\x74\x16\x9d\x06\xc0\xb3\x29\xcb\xa3\xf1\xa4\xf4\x67\x61\xe8\x49\xf3\xb3\x31\xaf\xea\x59\x8a\x1b\xa2\xf1\x83\x09\x06\x7c\x9f\x72\xd4\x44\x54\xe8\xa7\x7f\xe1\x20\xe6\x6a\x59\x9f\xfa\x14\x6e\x82\xb5\x87\x16\xdd\xd6\x20\xd5\xb6\xef\xba\xae\x54\xf3\xde\x40\x68\x85\x01\xcd\xcd\xad\x13\xc2\x09\x50\x5d\xad\x4e\xe8\x37\x09\x7d\x55\x22\x03\x0a\xaa\xd2\xf1\x59\x93\x70\x36\xd1\x14\x97\xf6\x56\x6a\x29\x8e\xb4\xfa\x5c\x7b\x72\x82\x54\x3f\x92\xbd\x27\xe1\xd6\xea\xcc\xa5\x2e\x69\xe9\xc1\x33\x1f\x26\xdb\xed\x6c\x48\xd5\x85\xbc\xd8\x6e\x8b\xe1\xdc\x18\x4e\xeb\xa7\xaf\xd4\x94\x99\x0a\x57\x70\x47\xa4\x5a\x62\x98\x12\x45\x23\x6c\x60\x59\x11\xff\x0a\xc5\x48\x87\xb5\x8a\x6f\x83\xe9\x2a\x3c\x72\x20\x88\xf4\x36\xea\xa4\x7b\x8a\x1a\x97\xee\x06\x28\x61\xee\x06\x32\xb2\xda\xed\x2a\xac\xef\x92\x70\x33\x79\xb0\xd6\x33\x9a\xbb\x0b\x0c\xb7\xfa\x73\xe6\xce\x31\xdc\x10\x39\x24\x6b\xb8\x27\x6c\x48\xb4\xd7\x98\xe7\xcf\xc3\xed\x0d\x7c\x24\xd7\xee\xf9\xe0\xe3\xf0\x7a\xe0\xba\xd7\xea\xd4\x71\x72\x39\x3e\xeb\x5e\x4f\x70\xf9\x06\xf3\x59\xf7\xda\xbc\xa3\x7c\x12\x44\xd5\xd0\xd7\x70\x8b\xad\x37\x8a\x4f\x42\x9d\xb2\xd6\x93\xd2\x4e\xe9\x97\x65\x6e\x61\x0d\xf3\x56\xca\x59\x59\xe6\x56\x4f\xe4\x6e\xb7\xd3\xef\x97\x9a\xf9\x07\x4b\xa3\xff\x4e\x54\x56\xa8\x19\xf5\xc5\xfc\x56\x3f\xd6\x53\x7d\xcb\x4a\xda\xa7\x10\x3e\xfd\x46\xb7\xb9\x66\xd4\x34\xf9\xc6\x4e\x46\xfa\x73\x4f\x28\xb4\xd1\xbf\xf5\x8a\xc7\xd5\x15\x3a\xff\xaf\xe3\xde\x96\xc2\x2f\xfd\x42\x28\x62\x6e\xe2\x70\x8c\xf7\x62\x85\x4b\x8f\xc4\x16\x6e\xe6\xb4\x95\x6e\xa7\x6d\xd8\x48\x1e\x76\x50\x90\x87\x9d\x06\x87\xec\x24\xe1\x27\x1c\xeb\x1f\x39\x12\x63\x36\x21\x97\xa2\xf4\x42\x3f\x66\x13\x1c\x15\x2a\x4a\x7b\xfe\xaf\xb3\x4b\x93\x9d\x6f\xb7\x48\xa7\xea\x8c\xc7\x86\x53\x97\x10\x58\x67\x54\xd5\x5b\x3a\x38\xb6\x23\xcd\xa5\xd8\x53\xe8\x74\x39\x48\xe2\xda\x66\x10\xd6\xe3\xe9\x28\xf4\x18\x76\xa5\xc3\x6c\x55\x91\x23\x37\xc0\x22\xb5\x5e\x57\x98\xdb\x81\x40\xfb\x66\xd4\xaf\xd2\x82\xba\x11\xf4\xe8\xb8\x4b\x3a\x1d\x90\xea\xef\x00\x31\x55\xba\x7c\x6f\x5c\xc1\x70\xa1\x2a\x30\xcf\x32\x60\x3c\xc0\xa8\x20\xc2\x4f\x54\x5d\x58\x7b\x15\x28\xea\x27\x56\xb4\xd3\xa9\x6c\x4c\x27\x23\xf5\xc7\x25\x45\xa4\x99\x17\x13\x52\x60\x40\x4c\x8b\x0f\x30\x21\x04\x09\x2d\x39\xc0\x23\x2b\xab\xa8\xb2\x8a\x08\x95\x5f\xc6\x3f\xad\x41\x8f\x1e\x92\x88\xc2\x3a\x5a\x0a\x6d\x67\xb1\x53\x78\x59\x6b\x54\xb5\x64\xf6\x79\xe5\x5e\xaa\xdd\xb1\x47\xbb\x55\xb1\x62\x9e\xf7\x47\x0a\xc6\x8d\x90\x24\xea\xd7\x5f\xc3\x11\x49\xb3\x44\xfa\x65\xa5\x1d\x3e\xe2\x02\x46\xee\x22\x55\xb6\xe2\xec\xec\x6f\x86\x6a\x07\x06\x03\x39\x14\x03\xd7\x15\x38\x1b\x23\x46\xd2\xb1\x98\x60\x75\x3f\x32\x7f\x6d\xed\x8f\xac\x79\x81\xd5\xba\x49\x2e\xcb\x75\xb6\xeb\xcb\xa8\x9f\x70\xc9\xc4\x2a\x4b\xa9\xcc\x44\xed\xdb\xd6\xf3\xc4\x90\x04\xdd\xee\x29\x62\x07\x79\xc6\x62\x52\x9a\x70\x37\x0a\x6e\x96\xa2\xcf\xde\x99\x19\x6b\x97\x5f\x13\xeb\xd1\x08\x7d\x9e\xcb\xcf\xea\x9d\xfc\x84\xd7\xc8\x04\xd4\x2f\xb9\x9a\x83\x43\x82\x41\x36\x64\x03\xd7\x65\x58\x98\xd5\x6c\x9d\x33\x93\x6b\x90\x94\x59\xda\xa7\x6e\x40\xed\x68\x95\xff\xd1\xd3\x66\x35\xf3\xb9\x23\x77\x2b\x8e\xea\x48\xd6\x51\xc1\x90\xc8\x51\x10\xc9\x21\x09\x47\x61\xc4\xdb\x4f\x7b\xdc\x7c\xa6\x70\xe8\x71\x14\x7a\xad\x22\xf7\x9f\x2e\xa2\x6e\x07\xff\x62\x28\x47\x1c\xf5\x1d\x89\xa3\xbe\xc7\x51\xdf\x53\x9f\x76\x25\xd7\x2d\x6c\xc1\xb1\x30\xc0\x8f\x7b\x29\x76\xda\x95\x28\x3d\x01\x07\x43\xc2\x2b\x2e\xab\x71\xe4\x30\x24\xd5\xeb\xef\x27\x61\xf5\x70\xa3\xc3\x81\x11\xe9\xd4\x82\xfc\x73\xdd\x33\x3e\x62\xd1\x99\x83\xb8\x27\xb1\xcb\x3c\xff\xe9\x85\xb5\x29\x5f\x7d\x66\x3a\x6a\x45\x06\x45\x2c\x59\xc3\x79\x61\x97\x0b\x1b\x9d\x02\xee\xbc\xb5\x8d\xf1\x5e\x8a\x7d\x4d\x0f\x55\x57\x1f\xc2\x40\xf5\xa7\xc5\xcc\xf8\xeb\x48\x8d\xfa\xfa\x0e\x3d\xee\xd8\x52\xb6\x37\xf6\x0e\x1f\x3c\xa2\xd7\xfc\xbc\xaf\xb5\x59\xfc\xf3\x0b\x0c\x07\x3a\xcf\x8c\xc8\xde\xf7\xd4\x52\x34\x0b\x7b\x1c\x47\x88\x93\x50\x4d\x5f\xef\xdc\xd2\x55\x6e\x5c\xe8\x84\x2e\x77\xac\x11\x78\x61\xe0\x08\xcb\x71\x21\x12\x1e\xc3\xce\xf7\xb4\xd7\xda\x3a\x7f\xb6\xd6\x76\xbb\x55\x6d\xf8\x4f\x83\xf0\xe2\x99\xd5\x86\x85\xc7\x3a\xd2\x41\x88\xbb\x21\x76\xa4\xd7\x9a\xef\x9f\x5b\xb3\xd3\xeb\xfb\x4f\xd5\xba\x3e\xf5\x2f\x9e\xf4\x2f\xd4\x96\x89\xfa\x7b\x71\x88\x7b\x24\xf4\x2f\x74\x2c\x76\xb8\xeb\x3f\xbd\x88\xfa\x65\xb8\x9d\xab\xef\xf7\xad\x6c\xdf\x9c\x3d\xbd\x88\x5a\xa9\x4f\x5a\xc9\xcf\xce\xcf\x9e\x5e\x58\xc2\x66\x1b\xb3\x58\xc4\x69\x8d\x59\xa8\x6f\x0b\xb3\xd0\xfe\x52\xfc\x58\x63\x16\xa9\xc6\x2c\x16\x25\x66\x11\x97\x98\x45\xda\x60\x16\x49\x7e\x45\xaf\x90\xe6\x83\x51\xfd\x80\x8f\x89\x10\x78\x24\xfd\x38\x52\x74\xbf\x0e\x27\x78\x84\x12\xed\x9f\xc0\x84\x99\x4a\x5f\x44\x0c\x47\xc9\x30\x7c\x16\x8c\x12\x8f\x9c\x3d\x09\x22\x2f\x7c\x16\xe8\x9b\x2e\x71\x55\x18\x1f\xbb\x1a\x66\xdc\xa0\x2a\xa0\x51\x13\x30\xa8\x88\xba\x2b\x2c\x59\x76\x6b\xa4\xb9\x35\xd2\xfc\xc8\x48\xf3\x23\x23\xcd\xff\xb3\x91\xe6\xff\x27\x23\x8d\x3f\x3f\xd2\x77\xf6\x48\x53\xda\x60\x8b\xea\xdb\x1a\x69\x0a\x16\x53\x42\x8f\x34\x2d\x47\x4a\xbf\x04\x5b\x3c\x99\x7f\xbe\x2b\xef\xf7\xe8\x3c\x8f\xf0\x63\x88\x95\x85\x45\x72\x85\x5d\xd9\x27\xe7\x83\x68\x98\xc6\x63\xd5\x5d\xee\xdf\x4e\x80\xa9\xef\x18\xb8\x3f\x9d\x80\x20\x3f\x0a\xa3\x0a\xf8\xbd\x31\x0a\x86\x44\xc5\xbc\x55\xd8\x8a\x04\xaf\xc0\x78\xbb\x0d\x06\x72\x1c\x4c\x1c\x36\x0e\x27\xcf\x59\xf5\x78\x8d\x02\x31\xea\x5b\x21\x64\x2a\xac\x3f\x84\xfe\x5b\xa8\xbf\xa5\x94\xa2\xb4\xc6\x40\xc2\xe6\xb7\xe8\xa7\x6c\xb4\xe6\x86\xcd\x69\xf1\x1a\x0b\x57\xad\x60\xaa\xcb\x37\xea\x44\x63\xee\x33\xe0\xfe\x6c\x52\xb2\x7d\xb4\xf2\xd2\x58\x40\x52\x45\x7c\x64\xf7\x24\x69\xb1\x75\x20\x51\x15\x45\x16\xe3\xee\x7b\xf1\xb9\x87\x7e\x2c\xf1\xb8\x38\xf6\x52\x8e\xae\x81\x63\xfb\xf9\x5e\xb4\xf7\x3c\x4e\xcb\xa8\xe0\xad\xd8\xb7\x8e\xd0\xde\x13\x99\x63\x3d\xed\xc3\xca\xc7\x82\x2c\x51\xa3\x38\xe2\xc8\x79\x54\xb2\x1a\xdc\x0e\x74\xa2\x8e\xe5\x13\xe0\x37\x8b\xe7\xa6\xae\xc7\x71\x30\x39\x25\xa4\xd1\xb6\xd1\x81\x70\x52\x71\x1d\x4b\x4f\xe3\x9d\x7a\x6e\x51\xc7\xc8\x78\x3b\x50\x7d\xe0\x0e\x1e\x88\x1a\x7f\x2d\xbc\x73\x83\xc1\x72\xe3\x6e\x35\x98\xe0\x1d\xe8\xf8\x7e\x15\x1f\x56\x6e\x58\x8d\xe3\x23\x24\x6b\x7d\x16\x5c\xbb\x36\xb7\x1b\x74\xa5\xab\x1a\xb1\x04\x9c\x36\xdf\x50\x75\x78\xa4\x2e\x6d\x7d\xc2\xa5\x3e\xd1\x91\xf4\xb8\x0a\xaa\xf9\x2e\x8f\x78\xd3\xc3\xb2\x85\xd7\x02\x31\xec\x76\xcc\xa6\x43\xd6\x60\xea\x8e\xea\x87\x8a\x71\xd4\xf8\x5b\xdf\x2b\x72\xd0\xaf\x7f\x1e\xf4\xeb\xb1\x56\xd5\x06\xfc\xf5\xf1\x46\x0f\xdb\x2c\x0b\x1c\x34\xf9\xeb\x7f\xb5\x9c\x55\xa5\xea\x5c\xfc\x1f\x2c\x68\x58\x77\x21\xac\xda\x3f\x18\x8f\x69\xfa\x60\x3c\x5f\xb5\x18\x8f\xe3\x89\xc6\xcc\x1b\xc5\xbf\x8c\x9a\x53\x3e\xcb\xc4\xb2\x06\xb7\x4d\x8c\xc4\xa0\xf6\xb7\xa5\xcf\x68\x19\xa3\x19\x9f\x46\x6a\xef\x94\x90\xa6\x36\x00\x33\x29\x6a\xf5\x34\x64\x00\x69\x7e\x74\xec\xaf\x3a\x56\x6b\x4a\x96\x26\x71\x26\x9e\x13\xa3\x25\x78\x94\x04\x92\xd5\x03\x74\xa2\x79\xf2\x55\x3f\x36\xc7\xc6\xfa\xed\x86\xc2\x50\x43\xb2\x45\x0d\xb1\x86\x1a\xb2\x44\x79\x7b\x80\x9d\x20\x05\xdb\x89\xcb\xf1\x76\x1b\xf6\x8e\x51\xcf\x5a\xe9\xbf\x67\x3f\x74\xf3\xcb\x7f\x5c\xc7\x49\xed\x65\x2b\x68\x7c\x6c\x85\x50\x56\xdd\xc2\xd7\xff\x26\xf6\x35\x08\x8d\x49\x85\x96\x18\x1b\xf3\x09\x10\xe4\xef\xe5\x85\x51\x90\xb1\x9c\x0c\xe4\x29\x21\x62\x80\x25\x91\xfe\x8a\x0a\xc6\x25\x14\x95\xf0\xb1\x96\xa9\x5a\xcf\xfa\x32\x93\xbd\xa8\xa4\x7b\x09\x04\xaa\x2e\x46\x58\x59\xbc\x21\x7e\x1a\xa9\xcb\x5e\xb7\xc6\x5a\xa7\xae\xca\x6f\x0c\x80\xd8\x00\xcb\x5a\x45\x8d\x13\x76\xa4\xc6\x26\xdd\x02\xd3\x7f\x2f\xe7\x53\x33\xb0\x08\x91\x15\x79\xc1\x07\xcd\x73\x8a\xba\x7d\x10\xea\x57\x1a\xc1\xa7\x79\x65\x42\x6d\x09\xf3\x65\xf4\x42\x07\x05\x21\x24\x19\x60\x6a\x9e\x22\xd9\xcf\xd5\x68\x8d\x36\xc2\x97\x52\x60\x30\x4b\xd6\x6c\xba\x25\x96\xce\x09\x2f\xac\x94\x2e\xf1\x9e\x5a\x32\x92\xa2\x55\xe8\x1c\xb8\xbf\x5a\x6b\xe5\x2d\xee\xaf\x36\xa4\xc5\x95\x65\x7b\xd5\x58\x58\xac\x28\xda\xa2\x96\x40\xbb\xf5\xd3\x4f\x0e\xc5\x0b\xb5\xd6\x24\x80\x53\x75\x05\xd1\x59\xcb\xc9\x5f\xc5\x2d\xcc\xea\x37\x73\x20\x35\xcf\x55\xa6\xcf\xb3\x01\x4e\x08\x1d\xa7\x13\x30\xab\xa2\xf0\x32\x51\xa0\xc4\x08\xb2\xaa\x8a\x5d\x92\x94\x5f\x20\x9a\x6f\x27\xf1\xe3\x35\x14\xed\x08\xe3\x9b\xb5\xe6\x86\x9a\xee\x28\x92\xc2\xc4\xf8\xeb\xd2\xa2\x43\x50\x3e\xcd\x96\x08\x7b\xfe\x45\xe5\x66\xd7\xdf\x1c\xa6\xd5\x0a\x59\x0e\x1b\x57\xd9\x34\x5b\x68\x32\x68\x3a\x57\x26\xbc\x34\x93\x10\xab\x3e\xc6\x4e\xdd\xa0\xea\x61\x13\xdc\xec\xb8\x1f\xaf\x89\xe8\x55\xc5\xd5\x20\x37\xa4\xa8\xc3\x96\xc0\xa7\x68\x9d\xdc\xc6\x68\x54\xad\x42\x27\xcf\x84\xec\x40\x27\x5e\x24\xe9\x54\x30\xde\x81\xce\x1d\x4d\x0b\xd6\x51\xb3\xa6\xe7\x9b\x70\xe3\x4d\xf8\x63\x4e\xf2\xc2\x46\x19\x92\x62\x8f\xc5\xa2\xd5\x2a\xcd\xfc\x23\x5e\x6d\x43\xac\x25\x23\xda\xf3\x11\x52\xb8\x6b\xd5\x90\x61\x96\x55\xc7\x13\xd7\x2b\x2d\xa0\x28\x19\x32\x03\x5c\x42\xfb\x62\x2c\x6c\xfd\x54\x7a\xac\x5d\x03\xe2\x8f\x37\x2e\xea\xf3\x87\x92\xbd\x1e\x14\x24\x39\xe8\x81\xf1\xc8\xaf\x37\x16\x7d\x5e\xd4\xbd\x48\xc6\x74\x52\xf2\x5f\xea\x66\x44\xdd\x8c\x6c\xe9\xa6\x66\x45\x0b\x9b\xaa\x5a\xb4\x44\x2a\xed\x0c\x7a\xca\x2d\x39\x4a\xb1\x27\x70\xd1\xe9\xde\x41\xbe\xdc\xae\xa5\x76\x7f\xc7\xdb\x66\x6c\xdc\x92\xc6\x54\x1d\xd9\x6e\xc7\x13\xfc\x88\xb5\xdb\x83\x01\xbd\x11\x07\x03\x78\x23\xb9\xdb\x29\x14\xc6\x92\xc5\x14\x8f\x49\x69\x16\xc5\x63\x52\x9a\x79\x7d\xe8\xb9\xbf\x09\xb4\x00\x76\x63\x4b\xf0\x56\x7b\x43\x29\xed\xf7\xaa\xc5\xb1\xb8\xeb\x45\x1b\x26\x7b\x61\xf9\xea\x58\xe3\x2a\x74\x3c\x19\xb8\xae\x7c\xce\x06\x58\x8c\xe5\xa4\xf6\x1a\x7c\x62\x09\x8d\xa7\xc5\xbe\xfe\x49\x68\xbd\xf3\xa4\x70\x91\x86\x85\x57\xb3\xdb\xb4\x2b\x3d\xa6\xb5\x50\x86\x85\xde\xbe\x4c\x3b\x6b\x3a\x52\xff\xb2\x3d\x11\x82\x4d\x8b\x98\xa1\x4d\x01\x81\x35\x94\x4d\x7b\x99\xb9\xdb\x26\x07\x2e\xdb\xc9\x6b\x15\x34\xac\x1f\x96\xa4\xa8\x56\xea\xaf\x39\x88\xc6\x38\xe7\xcd\x55\xdf\x6d\xb1\x7a\xd6\x07\xc7\x45\x3f\x35\x6b\xac\xe5\x0b\x62\xb4\xdd\x05\xee\x49\x48\xcc\xcc\xb1\xe7\x44\x0e\x70\x32\x66\x13\x52\x38\xcc\x15\x35\xf9\x6c\x31\x05\xad\xe1\x8d\xd5\xc6\x33\x06\x87\xea\x8b\xae\xb5\x4b\xbf\x86\x05\xb8\x37\xc8\x72\x2f\xcb\xfd\xbd\x7c\x5f\xb4\xd5\x6b\x6e\x56\x34\xfe\x78\xc3\xd9\x5a\x0e\xec\x00\x91\x20\xcb\xe0\x4a\xb0\x3b\xc2\xeb\xa0\x4e\x65\xc0\xec\x54\xeb\xbe\xbd\x2e\xeb\xff\x64\x65\x16\x9f\xb0\xd5\x9d\x52\xd2\xa9\x25\xd8\x5a\x66\xa9\xc9\x70\xe1\x4a\xbf\x9a\x1d\xff\x9b\x6f\xbe\x71\x0a\xa7\x18\x32\x35\x65\x8e\xb5\x15\xae\x8a\x43\x5f\x1d\xb9\xcd\x09\x56\x55\x0b\xc8\x31\xcc\x1a\xbf\xa4\xdc\x5f\xbb\x2a\x76\x86\xab\xe7\x1c\x4d\xde\x8d\xce\xbb\xd0\x0e\x89\x9a\xbc\x1b\x9d\x77\xae\xfd\x21\x23\xb6\x07\xe2\xe2\x5a\x5f\x0a\xb7\xc4\x1e\x8d\x26\x27\x09\x7b\x01\xcc\x88\xd1\x85\x85\x85\x0e\xce\xcb\xa0\x56\x72\xaa\x9f\x02\x7c\xa5\x9f\xc8\xd4\x64\xb3\xf0\xd7\xc4\x13\xbe\x00\xe1\x6f\x48\x00\xda\xc6\x2e\x1e\x86\x1a\xa6\x6a\xdb\x86\xc2\x5f\x93\xc2\x17\x50\x94\xe9\x85\x4a\xef\x1b\x30\x9b\x10\x36\xee\x4f\xe0\xaf\xa2\x7c\x88\x11\xf4\x43\x52\xf7\x2a\x98\x28\x2a\xcb\x5a\x93\x44\x45\x6b\x61\x49\x41\x84\xb5\x76\x40\xc9\xd9\x20\x1e\xd2\x01\x75\x5d\xfc\x50\xd5\x44\x98\x86\xd2\x5a\x78\x49\x02\xb8\x23\xa1\x7e\xd6\xc2\x28\x95\x16\xf6\xa6\xca\x4e\x09\x29\x06\x19\xc9\xec\x3a\xef\x5c\x57\x5d\x18\x1f\x0b\x94\x69\xc9\xef\x8a\x84\x8d\x9e\x78\x48\x88\x79\x1e\x2f\x25\x76\x0f\x07\xe9\x29\xa9\x6b\x51\x11\xdd\xee\xe9\xc7\x02\xa5\x90\xe0\x41\x4a\x52\x2b\x01\xa6\xae\x8b\x07\xab\x11\x9a\x0e\xef\xb6\xdb\x3b\x42\xa6\xdd\x6e\xe1\x8b\xe7\xc2\x17\xa3\x6b\x3d\x00\x92\xe1\x48\x7d\x11\xad\x43\x4f\x3d\x0f\x47\xa8\x9a\x95\x82\x24\x7a\x9a\x8c\xcb\xa8\x25\x41\xb9\x3b\xc3\xbd\x3e\x6c\x08\x5a\xb8\x73\xf5\x75\x49\x02\x3d\x52\x4a\x82\x7a\x66\xcc\x8c\x40\xe2\xaf\x3d\xb2\x84\xc4\xdf\x78\x64\x53\xbd\xda\xa1\x36\xcf\x25\xfc\xff\x99\xfb\xf7\xe6\xb6\x71\xe4\x51\x00\xfd\xfb\x9e\x4f\x91\xf0\xcc\x68\x09\x11\xa2\x48\xc9\x92\x6d\x2a\xb0\x2a\x9b\xc9\xcc\xce\x4e\x92\xc9\x26\xf3\x66\xf4\x4b\xc1\x12\x24\x71\x4c\x03\x0a\x09\xda\x56\x6c\x7d\xf7\x5b\x68\x80\x24\x28\xd1\x8e\xf3\xbb\x5b\xa7\x6e\x25\x65\x91\x20\x9e\x0d\xa0\xd1\xdd\xe8\x47\xe2\x67\x96\xa2\x62\xe2\xdf\x74\x13\xff\xc6\x4b\xfc\x6d\x37\xf1\xb7\x08\x4d\xb8\x9f\x91\xd7\xb8\x5e\x03\xcf\x1b\x3e\xf5\x5e\x1a\x3a\xcf\xda\x54\xfc\x9e\x2d\xf5\x1c\xb2\x2e\x58\xca\x24\x7b\x62\x97\xc0\x7b\x69\xaa\xa0\x25\xd5\x2e\x0e\x94\x98\xaa\xf5\xad\x69\xb4\x1b\x22\x3d\x92\x75\x35\x21\xba\x25\x4c\xbf\x6c\x31\xf7\xb3\x2e\xc9\xb0\xe5\x2a\x9a\x40\xb4\xb5\xa2\xe6\xa7\x92\x67\x74\x82\x5e\x14\x6e\x11\x27\x33\xd3\x88\x25\x24\x2f\xf6\x75\x82\x32\x8f\xa9\x15\x5d\xe1\x83\xa4\xc4\x07\xa0\xac\x0a\x3e\xe7\xef\x6a\x8d\x01\x69\xf2\x0b\x62\x1c\x1e\x4e\x68\x97\x50\xac\x3a\x65\xe2\x98\xfa\x23\xcf\xcd\x7a\x14\xdc\x8c\x8a\x3a\xc2\x36\x44\x0b\xa8\x99\xa7\x41\x17\xbc\x06\x0a\xd4\x73\xb3\x1e\x11\xa8\x9b\xf5\x68\x97\x22\x53\x6a\xc2\x7c\x20\xc2\xbd\xb4\x5b\x78\xf3\x6e\x82\x99\x0f\xb4\xb8\x97\x76\x93\xde\xbc\x5b\x68\xfd\xb3\x32\x53\x56\x7e\xb6\x44\xfc\xfb\x18\x5a\x73\x2f\xa4\x62\xac\xa6\xa1\xed\x4c\xfc\x53\xd1\xd0\x0b\x2d\x67\xa2\xa2\x55\x8c\xe8\x08\x1c\x81\x73\xdf\xc2\xc0\xbf\x14\xb6\x05\xe1\x41\x51\x57\xd6\x88\x6a\xca\x62\xd9\x0b\xf7\xca\xbf\xdb\x9b\x0e\xd6\x77\xa5\x9f\xf4\xb8\x9f\xa0\x89\xf4\xe7\x3d\x92\x29\xe6\xda\x23\x40\x0a\x7b\xf0\xf6\xd9\x03\x57\x70\x97\x9e\x4d\x6a\x7c\x77\x70\xf6\x07\xe5\xd9\x5f\xf5\x09\x5b\x9c\x63\xaf\x97\x00\x35\x2a\x89\x5e\x25\x76\xad\x98\x79\x44\x35\xea\x66\xea\xd7\xb6\x75\x79\x5b\xec\x8b\xe1\x7c\x5a\x41\xb6\x06\x2d\xf7\x69\x64\xf5\xed\x57\x9b\x6e\x08\xbd\xf2\x40\x6d\x93\x2d\xab\x39\xb4\x63\x85\xb5\x52\x1c\x75\xb9\x26\xa1\xe1\xdf\xec\x70\x80\xfa\x25\x89\x63\xc9\x2b\x1f\x9e\xdd\x4e\xa7\x9a\xe0\xef\x0b\x57\x4b\x54\xad\x2d\xfe\xaf\x87\xa7\xf8\x09\x83\x7b\xa2\x7a\x9a\xff\x55\xb8\x7a\xa6\x1b\xb5\xfc\x6c\x0d\xe5\xf6\x26\x52\x1b\x6d\x1b\xa9\x0d\xbd\x50\x2f\x8b\x1b\xbc\x50\xaf\x0b\x3b\x0e\xdd\x8f\x7b\xd4\xc3\x8d\x27\xe3\x21\x84\x61\xf2\xb7\x9e\xd4\x94\x8e\x2a\x0a\xa6\x7c\x3d\xf8\xa6\x08\xbc\xc5\x16\xec\xf9\x7a\x32\x1e\x54\xf2\xa1\x00\x68\x3b\xe6\x91\xa2\x3f\x50\x9c\x29\xc2\x5a\xcc\xaf\x38\x46\xf0\x42\x1c\x20\x5c\xda\x95\xa9\x1e\x15\xaa\x3b\x89\xd5\x97\x3f\x8b\x47\xd9\xe1\x3d\x61\x67\x72\x0a\x91\xec\xa2\x98\x35\xfc\xdb\xfc\xb5\x37\x95\x8a\x14\xd6\x86\x9e\xd3\xc6\x9b\x8b\x22\xd5\x96\xa1\x95\x6d\x9a\xef\xb7\x03\x9c\xc9\xb4\xe4\x0d\xdc\x78\xe1\x84\x64\x56\x20\xab\x07\x2e\x0d\x12\xb0\xe7\xb6\xf1\xfd\x1f\x45\xf3\xc6\x5b\x6f\x9b\x2a\x94\x65\xa2\xa3\xa2\x52\xc2\xe3\xa2\x1a\x68\x72\x06\x31\xdc\x48\x86\x33\x2d\xa0\x00\x1f\x06\x09\xf8\x46\x55\xdc\x79\x9c\xcd\x88\xf4\x97\xa9\x50\x94\x01\x02\xe3\x4f\xb5\x99\x14\x95\x4b\x91\xcd\x71\x7e\xd3\x00\xcc\xf4\x16\x8a\x44\xf7\x5d\xa4\xea\x0a\x65\x9f\xa3\x2e\xdf\x61\x55\xdd\xbd\x59\xa1\x2d\x93\x73\x17\xbd\xb7\xb4\x25\xff\x79\x00\x49\xb8\xde\x87\x40\xc9\xc1\xc3\x37\xfa\x3d\x4d\x77\xf0\x58\xcc\x9e\x71\x50\x0f\x83\xd8\x80\x5a\xcb\x02\xf9\x19\xbb\x62\x59\xce\xc0\x48\x45\x1e\xa6\xea\xe0\x9e\x44\x4c\x90\x11\x6b\xa9\x19\xa4\x60\xa5\xa7\x48\x1c\x54\x46\x20\x56\x33\x09\xc9\x12\x92\x0f\x26\xb3\xda\x14\x82\xfa\xe7\x49\xce\xe6\xda\x35\x7b\x88\x85\xea\x60\x39\x43\x31\x9b\x81\x96\x8e\xdb\x94\xcb\xfd\x5e\xb4\x86\xab\x68\xb8\x2d\x69\x1f\xfc\xd9\x60\xfa\xcf\x22\xfa\xad\xc0\x29\xc9\xa6\xbf\x67\xd1\x3f\xb3\xda\x8b\xb1\xae\x14\xec\xe1\x04\xc4\x98\xe0\x38\xc5\xaf\x33\x84\x2d\x0e\x23\xb1\xdd\x68\x29\xde\x1a\x8e\x54\x2c\xaa\x1e\x1f\x1a\xca\xd7\xec\xa3\xca\x8f\x13\x7f\x21\x2e\x69\x62\x39\x40\x94\x0f\x38\xe6\xe2\x44\x02\x3f\xfc\xa6\xb8\x3c\x67\x99\xf1\x94\xc6\x55\x2d\xb0\xbb\x1e\xe7\xdd\x4b\x12\xae\x0b\xca\xaa\xe0\x3b\x51\xd8\xce\x34\xac\xad\x55\xb2\xb8\xc8\x52\x38\x61\xee\xaf\x19\x74\x7d\x9e\xd2\xcb\xcd\xe3\x1a\xcd\xca\x46\x33\x55\xd0\xaa\xeb\x71\xc5\x59\x59\x9c\xa9\xe2\x32\x99\x5f\xe4\x6d\x10\xfb\x8f\xde\xf7\x65\x9e\xef\x45\x76\x49\x2d\xe0\x37\x0e\xba\xc4\x9c\x7c\x2a\x33\x4f\xe6\xac\xad\xbe\x1f\x74\x7d\xe0\xee\x4f\x8d\x57\x6c\xb6\xe4\x50\x51\xc8\x5a\x7f\xbb\xa6\x67\xc0\x7f\x3f\x28\xd4\x02\xd0\x3a\xe6\x17\xa6\xc0\xc1\x8e\x05\x1a\x07\x3b\x00\x61\xfb\xd2\xe0\x87\x66\x8d\x80\xe8\xbe\x29\xdc\x9f\x74\x72\x3c\x50\x7b\xae\x35\xd1\x42\x50\x3f\x95\x4c\x26\x58\xfe\x6b\xbf\x1f\x61\x50\x5e\xe2\xc2\xc1\x00\xfc\x53\xa8\xed\xaf\x4b\x7f\x28\x1b\x71\xed\x86\x46\x48\xae\xb1\x96\xe5\x7f\x43\x56\x8c\x7d\x18\x80\x2e\x97\xec\x67\x95\x67\x2f\x3f\x1c\x9d\x91\x64\x5a\x74\x49\x18\x44\xfe\xb0\x7c\x19\x45\xfe\xb1\x7a\x56\x14\x69\x97\x0c\x10\x56\xad\x91\x1a\xd5\xa9\xd7\x7e\x81\xba\x05\xdc\x7e\x12\xab\x61\xf5\x0e\x5f\x3c\x7f\x04\x9f\x07\x33\x52\xd8\xfe\x4e\xfe\x73\x08\x78\x05\x64\xe3\x0e\x41\x50\x6c\x60\x60\x41\xb6\x5a\x10\x86\x70\x33\x39\xb4\xfd\x8c\x41\x25\x4b\xa1\xb5\xe6\xb4\xc9\x6b\x51\x86\x5a\xc5\x4e\xee\x10\x42\x8a\xf8\x64\x56\x3a\xe2\x11\x54\xb1\x22\x97\x54\xbe\xcd\xd8\x32\xb9\xa9\x09\x65\x13\x22\x07\x82\x84\x66\x3a\xbc\x59\x25\xd3\x8f\x8f\x67\xa0\x87\x78\x3c\x23\x8e\xef\x78\x32\x71\x13\x7d\x0f\xe3\x66\x30\x89\x08\xab\x26\x88\xb3\x74\x30\xab\x5b\x70\x8b\xea\x36\xa5\xf5\x7a\x9f\x55\xb5\x70\x84\xbc\xc4\xcf\xb7\x97\xe7\x22\xdd\xed\xf6\x9b\x63\x89\xab\xaa\xc7\x19\x84\x91\xab\x2b\x35\xa4\x39\x71\xb0\xee\x13\xf4\xc5\x73\x96\xce\xa4\x86\xae\xe9\x49\xc3\x56\xc1\x42\x8e\xbd\xb6\x45\xc3\xad\x25\xe3\xf9\x41\x68\xdb\x10\x24\x0d\xb9\x46\xe2\x4a\x88\x72\x58\x6e\xdd\x27\x09\x7f\x72\x91\x9a\x3b\xed\xf3\xdc\x65\x3d\x99\x34\x20\x2c\x4b\x08\x4b\x0d\x61\xe4\x3d\xf1\x5c\x87\x39\x4f\x09\xe1\x28\x62\xbd\x41\xd7\x75\xbe\x55\x53\x66\x8b\x43\xb3\xa4\xf5\x18\xa9\x25\x93\xc6\x80\x42\xf5\x3d\x38\xe3\xd3\x20\xe2\x28\xea\xd5\xc3\x81\x18\x48\x3d\x6e\xfb\x9f\x91\xa8\xfd\xac\x30\x35\x95\x4a\x54\xa6\x16\xfd\xda\xe3\x0d\x77\xd1\x16\x41\x0c\xee\x6c\xaa\x70\x4f\xf4\xe0\x6c\xb1\x9c\x6e\xbb\xbc\x74\x90\xaa\x4a\x60\xfa\x55\xa7\x0c\x83\x1b\xcd\x33\x12\x60\x6e\xca\xb9\x6e\xd6\x3c\x79\xb4\x58\xb6\x40\x08\x53\x40\xe9\xd4\x3f\xa7\xb9\x85\x42\xd9\x83\xe7\x8f\xc7\xea\x9a\x33\xbb\x26\xa9\x6a\x6a\x22\xe3\x92\x46\xfd\xa3\xa8\xb2\x62\x0d\xbe\xe8\x65\x6d\x80\x53\x55\x27\x11\x2e\xbb\x9a\x20\x4c\x55\x7d\x7b\xa7\x45\xe9\x76\xe5\xcf\xc2\xcd\xaa\xd0\x0c\x5c\x5b\xbe\x19\xaf\x17\xd6\x6a\x2d\x5c\x81\x10\xce\x2d\xac\x54\xb8\xa9\xda\x67\x44\x7e\x1b\x4e\x07\x11\x98\x5d\x27\xf9\xf7\x09\x4f\x24\x73\xf3\xde\x5c\xab\xa8\x33\x63\xe7\x91\x9f\xcd\x27\x73\xcf\xab\x78\xfb\x35\xf8\x35\x58\x4f\xd6\x9e\x87\x4c\xbc\x88\xc4\x9d\xa3\xee\x1a\x4d\xac\x57\xb3\xe5\x40\x4a\x62\xa5\xaa\x9a\x9e\xe5\x13\xab\xb2\x65\x2f\x9c\xac\xcf\x82\xc9\xba\xd7\xdb\xaf\x4e\x65\x9a\x93\x60\x42\xe3\xf9\xec\x99\x80\x4e\x18\xcf\x0a\xe5\xbd\xd4\x84\x82\x3f\x85\xb3\x74\x92\xf7\x7a\x68\x42\x09\x35\xf4\xdd\x1c\xe7\xf5\x2a\x2b\x21\xb8\x7f\x96\x82\x3b\x2b\x30\x52\xdf\x9b\xe0\xf2\x8a\xf0\x4d\x3a\x39\xd4\xc0\x9b\x32\xf2\x26\x8d\x9c\xb2\x16\xe7\x29\x91\xdb\x0d\x13\x4b\xe0\xb9\x6c\x9c\xc6\x50\x69\x32\x5e\xed\xeb\x10\xcb\x2e\xef\x9b\xf9\x74\x51\xa5\x92\xda\xc2\x18\x18\x33\xfa\x7e\xd2\x50\x26\x07\xf7\xb5\x15\x93\xd8\xf3\x47\x67\xb4\x0b\x6e\x6b\xba\x44\x2d\x9b\x33\x42\xa7\xe0\x89\xd3\x71\x76\x6a\xd4\xf7\x9c\xf6\x0a\x4d\xc0\x37\x45\x13\x9b\x43\xff\xdf\x85\x4b\xb1\xbd\x6f\x8b\xea\x30\xa9\xd1\x4b\xcb\x56\xd6\xa7\x4a\x92\x68\x8f\x7a\x49\xe2\x86\x7d\x4b\x50\xff\x15\x1b\x3c\xfb\x3a\x32\xb2\xda\xd6\xec\xbe\x6d\x9d\x01\xa9\x95\xed\x6f\x1e\x6e\x93\x5a\x4c\x0d\xd9\xe4\x39\x5c\x1e\xd2\x26\xb5\x18\xd6\x74\x59\xb6\xb7\xbb\x6d\xb7\x86\xa6\x4f\x3f\xe8\x8a\x21\x33\xbb\xd9\x08\xde\x70\x6d\x44\x1f\x18\x96\x86\x24\xa1\x16\x2c\x6b\x3c\xc3\xec\xa1\x49\x55\xf9\x3d\xf3\x5b\x34\xe7\x57\xcf\x6e\xd6\x98\xdd\x24\xf9\x92\xb6\xb1\x9c\xd6\x28\xbd\x07\x28\xfe\x3e\xad\x59\x9a\x1c\xf8\xfb\xaa\x91\x67\x12\xbb\x6e\xe1\xaf\x98\xda\x0f\x77\x77\xae\xa1\x18\x41\x32\x23\xa7\x85\x9f\xab\x0f\xd8\x84\x9b\x67\x08\x45\x6f\xe8\x1b\x84\x7a\x21\xfa\xb6\xbc\x2f\x6c\x38\xbd\xb6\xc9\xdf\xc3\xcb\xab\x7b\xee\xe3\x9e\x48\x8f\x75\xf9\xce\xac\x55\x9c\x60\x5a\x2b\x71\xec\xaf\xb9\xec\x61\x8c\xc0\x27\x5c\xeb\x9e\x73\x76\xfd\x64\x3e\xb1\x6f\xcd\xc1\x7c\xc1\xd2\x20\xa1\xcf\x80\xa5\x5c\xd3\xdc\x4d\x48\xa6\x78\xc6\xbb\x3b\x3d\xde\xa4\x1c\x6f\x52\xef\x65\x16\x4b\x5f\xce\x2a\x5f\x57\xd2\xa7\x68\x87\xd9\xd7\xf0\x44\x09\xe1\xc0\x2a\x4b\x72\x2b\xa3\x92\x30\xa7\x51\x95\x11\xdc\xb4\x25\x55\xa5\x6f\x45\xc2\x65\x6e\x7b\x32\x14\xe8\xb6\x55\xdf\x58\x10\x43\x58\xa7\xa4\xd0\xae\x69\x8a\xca\xa0\xba\xc4\x89\x6e\x4a\xdc\xd4\x9b\xa3\xfe\x00\x07\x28\x72\xe7\xbd\x14\xf5\xdd\x5a\x5c\xe1\x89\x6a\xa0\x09\xc9\xdc\xd4\xcb\xbb\xa2\x3f\xc0\x39\xda\xef\xb1\xee\xd5\x7e\xbf\xab\x4e\x03\x87\xf1\x5f\xef\xb9\x39\x2d\x35\x8a\x35\xc3\x40\xf7\x8d\xe3\x2e\x68\x8e\xc4\x2a\x0a\x83\xf2\x54\xa1\x5e\xb3\x4c\x37\x87\x1a\x0f\x87\x6b\x8d\xe7\xde\x31\xff\x93\xf2\x45\x73\xb4\x38\x7d\x60\xbc\x07\x7a\xe1\xcf\x86\x9d\x8e\x9b\x12\x51\x6a\x46\x28\x10\x3c\x2b\x74\x1c\xdf\x22\x9e\xf7\x82\x19\x5e\xaa\xc4\xde\x7c\x86\xd7\xc4\x5d\xf6\x72\x7b\xc8\xc2\x1b\x74\xd3\xc6\xe4\xe5\xde\xba\x9b\xe2\x35\xc2\xf3\x4e\x27\xb1\x84\x2b\x94\xac\xbb\x6e\xd8\x13\xc8\x1e\x20\x74\xfe\xe1\xe9\xfc\x7f\x3b\x3e\x8b\x2e\x6a\x1f\xea\xde\x58\xed\x95\xb1\xec\xe5\xd6\xc4\x0a\x45\xa3\xa8\x69\x6d\x03\x85\x55\xcc\x40\x05\x1d\xcc\xfb\xc3\xb0\x51\x5f\x5b\x50\x3b\xad\x32\xec\x7b\xcc\xab\xb2\xfc\x59\xb8\xd2\xa7\x5a\xf3\x8f\xdd\x77\x44\x18\x9c\xad\x72\x98\xd3\xa5\xa1\x56\xb1\x8f\xd1\x13\xb7\xe4\x64\x02\x20\x4e\x2d\x3f\x57\xa2\xbc\xcc\xce\x26\x48\xc4\xac\x17\xce\x14\x0d\xf4\xa9\xa0\x5c\x26\x8a\x61\xc3\xac\x9f\xb5\x69\x46\x51\x5b\x46\x03\xfa\xdf\xa0\xe4\x36\x05\x9f\x4c\x41\x24\xe3\x5a\x8e\x26\x70\xe9\x0a\xb2\x12\x4b\x7d\x1d\x3b\x50\x0a\x9d\x32\xe4\x2f\x93\x54\xb2\xcc\x2d\x90\xb6\x46\x66\x08\x27\x46\x02\x45\xbf\x56\x02\x95\x18\x09\x54\x3d\xda\xbc\x05\xd2\x42\x65\xd0\x84\xce\xfe\x94\xd5\x67\x99\x22\x62\x40\x4d\xe9\x67\x45\x78\xe3\xe0\x8c\x4d\xe3\x37\xf4\x0d\x7e\x43\xdf\xcc\xa2\x98\x9d\x05\x53\x0d\xda\x48\xcb\xb9\x9f\x95\x16\x62\x2a\x59\x25\x5a\x52\xef\xd9\x03\x84\x9f\x28\x67\x3d\x69\x44\xeb\x79\x98\xd2\x63\x71\x9b\x7e\x21\xb5\xa5\x28\x49\x17\x3c\x6e\xa2\x86\x23\xcb\xc2\x76\x89\x5f\x5e\x45\x18\xd7\x9c\xb4\x4a\xe8\x85\x38\x2b\x43\x4b\x4c\xf6\x08\xa9\xc7\x31\x63\x9c\x78\x20\xe3\x51\x4c\x59\x5c\x57\x3b\xd3\xd2\x36\xed\xc4\x1a\x67\x5f\x33\xb9\xb6\xa8\x2e\xbb\x67\xee\x6c\x0d\x4d\x56\xcd\x9d\x54\xdb\x5c\xd1\x4e\x6f\xe8\x9b\x48\xf6\x13\x8f\xe3\x58\x62\xe9\x85\xfd\x64\xf6\x00\xc1\x96\xd6\x92\xbc\x86\xf0\x6d\xfe\x10\x65\xc5\xce\x20\x36\xb0\x2d\x6e\x66\x68\x16\xe9\xfd\xb3\xbb\x97\xc2\xf9\xc2\x3e\x51\x54\x02\xff\x4a\xd2\x03\xbc\x25\xc3\x56\x60\x5f\xbb\xd2\x63\x0e\xeb\x1a\xf3\x98\xa9\x95\x7b\x2f\xbe\x9a\x57\xf8\xca\xd2\xca\x4a\xee\x0b\xce\xe2\xf1\x5d\x75\x4d\x6a\x38\x10\x89\x65\x09\x0a\xb9\x3f\xb6\x87\x57\x97\x26\xbb\xd5\xcc\x02\x64\xe4\x23\x64\xb7\xf2\x6b\x64\xb7\xf2\xbe\x31\xc3\xf8\x1a\x11\x81\x96\x49\xfd\xd5\xb2\x7d\x58\x27\x8d\x7b\xac\x84\x73\x96\xe9\x58\x69\x96\x5e\x58\x33\x8f\x28\xe4\x61\x9e\x4d\x33\x0f\xf8\xf6\x7a\xde\x74\x57\x75\xd5\xcc\xc2\xf8\x62\x2f\xc3\xa2\x91\xa1\xd3\xe1\xfe\x86\xee\xe7\xb9\xb4\xc4\x54\x46\x30\xc5\x7b\x0c\x75\x65\xcf\x95\xbd\x0c\x75\xb5\x1c\x2a\xb4\x14\xb8\x92\xda\x0c\xbf\x14\x4f\x56\x4e\x42\xe1\x12\xcc\x38\x0f\xc5\x82\xb8\xc5\x34\x8b\x7a\x99\x11\x61\x69\x5d\x8b\x6e\xe2\xd1\x2e\x45\x38\x25\xa2\x4b\xf1\x9c\xf4\x44\x37\x51\x64\x60\x1c\xcc\x3c\x70\x0a\x14\x87\x33\x6f\x8e\xd7\x20\x35\xf2\x52\xbc\x02\x35\x78\x6f\x8e\x37\x04\xac\xe5\xfb\x03\x70\x5b\xa5\xb5\x3f\x16\x64\xdd\xcb\xf1\x25\x59\xf5\x96\x78\x4b\x16\xdd\x85\x77\xd9\xbd\xc4\xaf\x09\xeb\x65\xf8\x86\xe4\xdd\x55\x6f\xdd\x5d\xe2\x73\xe2\x06\x67\x97\xd3\x5e\x18\x85\xb6\xb3\x60\x1b\x95\x76\x5f\x77\xb7\xbd\x9b\xee\x0d\x42\xf8\x23\x71\x6f\xba\x97\xbd\x45\xf7\x1c\xf5\xb7\xf8\x9a\xb8\xbd\x9b\xee\xa2\x77\xa9\x5f\xdf\xc3\x47\xcf\x7c\xbc\xd0\x1f\x3d\xf3\xf1\x0d\xf9\xd8\xdb\xe0\x97\xe4\xba\x77\x85\x9f\x93\xf7\xbd\x0d\x7e\x41\x2e\x7a\x57\x25\x2a\x7d\xd3\x7d\xe3\xbd\xec\xbe\x3c\x7b\xde\x7d\xee\xbd\xe8\xbe\xe8\x74\xdc\x8f\xe4\x3d\xbe\x26\x17\x08\xc7\xf1\xc7\x5e\x8a\xaf\x15\x5d\x14\x7f\xec\xb2\xfe\x6b\x7c\xad\xfe\xce\x6c\xcd\xb8\xfd\x1d\x66\xe3\x22\xea\xa2\xdb\x79\x1d\x96\x34\x71\xb9\x9b\x23\x2c\x10\xaa\x1c\x0f\xa4\x78\xae\xb8\xa5\x5c\xfd\x59\x2a\x06\x69\x5d\xdb\xe8\xae\xc8\x4b\xf0\x8d\xbf\x51\xbf\x19\x9a\x78\xde\xf2\xd9\x5a\x31\x4c\x73\x9a\xa6\x3a\x72\x4a\x4a\x64\xbc\x9c\xe1\x25\x9a\x1a\x1f\x37\xb1\xb7\xb2\x3f\xe3\x25\xc2\xde\x66\x2f\x65\x86\xa2\xbc\xb6\xb6\xa6\x2e\x82\xe6\x2b\x02\xa4\xfe\xa6\x3e\xcd\xcb\x6d\x3e\xaf\x44\xc5\xda\x6b\x85\xa6\x75\x5e\x30\x9c\x91\xcf\x0c\x17\xe4\xb3\xc4\x09\xb9\x51\x6c\x5e\xe2\x5f\xb0\x2d\x16\xc4\x3f\xae\x35\x31\x6e\x1e\x7f\xac\x48\x38\x54\xa4\xbf\x7d\xfc\x9d\x93\x04\xf1\xa4\xf4\x17\x6c\x99\x70\xd6\x7a\xc7\xd5\x26\x48\x80\x82\xc5\x0e\x82\xce\x7c\xe5\x55\x15\x25\xb5\x78\x8b\x94\xe2\x2d\x3e\x4d\x08\x8f\xdc\x84\xfc\x92\x02\x3b\xcf\xd1\xdd\xdd\x4d\x82\x00\x1c\x12\x45\x14\xb0\x1e\xe3\x5f\x13\x0a\x0d\xba\x28\x1a\x18\xee\x26\x69\x31\x8f\x3a\x0b\xa7\xdc\x4c\xd0\x2b\x35\x43\x9e\xf3\x97\x65\x23\x75\xde\x2c\x52\xe5\x6b\xe6\xfa\x98\xb8\x07\x51\xef\xb9\x1d\xf5\x1e\x6e\x89\xe2\x4c\xfd\x3a\xd8\xc1\x59\x1c\xce\x2a\xf5\x56\x73\x33\xec\xfc\xcb\xc1\x70\xf5\xe1\xa9\x89\x89\xe5\x0c\x29\x2a\xbb\x3f\xc0\xce\x6f\xba\x40\xcd\xce\x9f\x85\x9d\x8e\x55\x4a\xdf\x97\x58\x17\x12\x55\xbf\xae\xff\x1b\xfd\xfa\x4d\xf5\xcb\xf4\x28\x9c\xe1\xaa\xc5\x3a\x98\xf5\x61\xc3\xef\xff\x6b\x00\xa9\x40\x71\x08\x87\xb6\x86\x2f\x92\x3d\x35\x28\xc3\xc7\x1d\x4d\x61\xf2\x23\x40\xc6\xcf\x13\xb7\xbc\xc1\x0f\x71\x2f\x44\xf8\x45\xb2\x7f\xdb\xf5\xe6\x9e\x7a\x86\xd3\x73\x53\x4f\x00\xf5\xb8\x46\xda\xc2\x61\x0e\x38\x54\x15\x5b\x24\xf3\x60\x36\x2b\xa3\x96\x70\x45\x8f\x84\xb3\x19\x6a\xb6\xf4\xf2\xde\x96\x6e\x1a\x2d\xf1\x96\x5e\x3e\x4f\x2a\xf3\x93\x12\xf7\x3d\x0b\xef\xee\xca\x3a\x9e\x92\xda\x37\xc4\x61\x9a\x37\x28\x05\x4f\xd0\x50\x6d\xa3\xba\x97\x0f\x67\xc4\x71\x70\xe5\x12\x1b\xee\x00\xb4\x63\x3c\x2c\x08\xc5\x29\x09\x27\x3a\x26\xbe\x9b\x79\xc4\xf9\x8f\xe3\xb9\x89\x3a\x3d\x07\x5d\xc5\x26\xf6\x87\x60\x77\xa8\xd2\x42\x9d\x16\x56\x69\x2a\x9b\x79\x08\x41\xec\xa5\x7e\x52\x32\x40\x95\x02\xc2\x59\x88\x6e\xb5\xe7\x3d\x68\x38\x9d\xe1\xd4\xf3\xb0\x6a\xe6\x85\xe3\xb9\x8a\x0f\xf7\x80\x17\xd5\x4d\x28\xe6\xdc\x53\x0d\x54\x4d\x06\xb3\x9e\xa8\xbf\x43\x17\x44\xf5\xbd\xd1\xbc\xe5\xd1\x79\x30\x99\x57\x3e\x35\x26\x73\xcf\x53\x6d\x22\xd3\xbc\xea\xcc\x7c\x06\x3d\x78\xff\x95\x2d\xec\xea\x8b\xd2\x1c\x2a\x9b\xd8\xe0\xf2\x06\x5d\xb1\x0f\x2e\x48\xab\xc1\x95\x97\xb5\xe5\xaa\xb6\x92\x9b\xb1\x54\x2c\x93\x43\x67\x19\x20\x4e\x04\xe7\x0c\xa0\xf4\xc4\x6b\x8a\x06\x0b\x12\xe2\xb4\x56\x8f\xf7\x3c\xf1\x2c\x9d\xa0\x5a\xa7\x87\xc7\x62\x56\x9a\x4a\xc6\x45\xd7\xa5\xa5\xbf\x71\x84\xe1\xad\x74\x39\x3e\x6b\xd3\x9c\xff\x9c\x18\x27\x0c\xf5\x72\x3e\x5c\x6c\x12\x9c\x07\x1c\xa2\x85\x4c\x2f\xb4\x4c\x2f\xb4\xb8\xc0\xea\x1f\x60\x82\x10\x30\x81\xea\x7b\x9c\x60\xf5\x0f\xf0\x06\x4e\x55\x26\x85\x46\x12\xec\xbc\x72\xf0\xbb\xc4\x7d\x9b\x62\x8a\x20\x49\xbf\x08\x64\xbc\xbe\x94\xbb\x55\xf1\x05\x08\x10\x0e\x61\x13\xa4\xb1\x0c\xa6\xd5\x85\xb5\xb9\x2c\xd2\x98\x55\x54\xc9\xa2\x4c\x0e\x67\x08\x7f\x97\xb8\x29\x78\x87\xaa\x2f\xd9\xb4\xc9\x56\x5a\x07\x48\xcf\xd4\xdb\x21\x96\x7a\x75\x00\x9e\xa3\x26\x78\x6c\xbd\x46\xb0\x7c\xec\x85\x96\x8a\x16\x4e\x88\x9e\xc8\x38\x50\x48\x33\x7b\x36\x9c\x20\xa9\x75\xb6\x8c\x3e\x91\xbe\xe0\xa5\xe5\x4b\x68\x6c\x5e\x8c\x11\x8c\x86\x49\xa2\x97\x55\x09\x2d\x84\x7b\x3d\xf0\xd3\xf2\xac\xb0\x6a\x2b\x47\xbe\x57\xef\x1e\x9c\x64\x09\x10\x06\x7e\x94\x5a\xcc\x18\xab\xa1\x7f\x4a\x0e\x3c\x12\x1f\x0c\xae\xf0\x8e\xca\x8b\xc7\x58\x0f\xf0\x48\xad\x4c\x1e\x67\xdf\x16\xb3\xb2\x4d\x66\xe6\xc6\xbc\x94\x43\x94\x24\x6e\x9f\xff\x6a\x78\x49\xa3\xae\xbd\x91\xb0\xf6\x19\x67\xe5\x00\x65\x63\xc6\x65\xcb\x00\x7f\x49\x9a\x4a\x8c\xa5\xc8\x40\x2b\x4a\x58\x06\x52\x66\x3f\x96\x5b\x52\x1b\xac\x08\x6d\x9c\x52\x45\x19\x00\x43\x15\x70\x92\x0b\xa6\x4c\xf3\x6a\xb9\xce\xd5\x4e\x99\xf7\x19\x9c\xc5\x44\x76\x35\xe5\xa0\x76\x7a\xd7\x4d\xbc\xa2\x2b\x10\x6c\x0e\xf8\x12\x56\x5f\xa8\x57\x58\x12\x57\xd8\xa5\x96\x6a\x6e\xf2\x25\x2b\x77\x8f\xc7\x03\xf5\x34\x50\x4f\x43\xf5\x34\xb4\x43\x17\x24\xb5\x75\x90\xde\x01\x2f\x00\xfe\xef\x52\x2c\xab\xc9\x78\x07\x1a\x63\xe6\xe5\x3b\xfb\xcb\x77\xf6\x97\xb7\xf6\x97\xb7\xea\x8b\xad\x95\xdb\xe8\x28\xac\x3e\x13\xda\x54\x47\x45\xe0\xcd\xe8\x0e\xbf\x3e\x40\x8c\x80\x15\x8d\xbe\x74\x69\x1c\x6f\x00\xd5\xb7\x09\x38\x03\x68\xd8\x21\xb9\xd4\x73\x29\x7c\x01\x4c\xc9\x63\xe9\x81\x0a\x45\x7f\x50\xa1\x41\x95\x8d\xda\xce\x2d\xff\x3e\x5c\xf3\x30\xfd\xa0\x7f\x08\xbd\xc3\x42\x6d\x82\xd4\x5e\x2e\x06\x21\x4b\xd5\x16\xe0\x62\x1e\x0b\xd5\x14\xa8\x6d\x80\xc3\x68\x1a\x8b\x19\xa1\x90\x4a\x82\xc8\x65\xea\x79\xd6\x97\x38\x33\x89\x7d\x09\xb1\xb9\xc0\x92\x05\x17\x67\xa7\x60\xd5\x31\xec\x4a\x8b\x79\x2d\x10\x86\x5a\x8a\x2e\xc3\xa6\xa6\xa2\x9b\x19\x0f\x45\x82\x98\x6e\x90\x74\x82\xc0\xc6\xa8\x12\xd0\xa5\x58\x78\x21\x9a\x69\x60\x5b\x6c\xa7\xe8\xe9\x54\xd4\x77\xc7\x5d\x37\xf4\x54\xe5\x5d\xf5\xa7\x56\x75\x8c\x8b\xbb\xbb\x00\x5a\xed\xaa\xa7\xfa\xf8\xb0\xf4\x06\xbf\x6f\x23\xd4\x5b\x28\x22\x00\xac\x1d\x9a\xa0\x0d\xd0\xda\xfc\x9a\xef\x99\x5f\x4b\x50\x6e\xc5\x5a\x97\x03\x67\x3a\x84\xc7\xcf\x14\xac\xda\x89\x15\x29\x28\x43\xa0\x5f\x4b\xac\x70\x42\xb5\xc4\xd9\x56\x77\x7e\x88\x9b\x4d\x5d\x74\x7b\x55\x73\xb3\xc2\xe5\xee\x25\x52\x1c\x66\x8e\xe7\x2e\x77\x17\x96\xc2\xa8\x4a\x75\xfe\x72\x6a\x3e\xd7\xc4\x8e\x56\x8b\x65\xa1\xfe\x5c\xaa\x3f\x5b\x35\xa8\xd7\x35\x89\x76\x63\x18\xde\x73\xf5\x5b\x28\x96\x9f\x11\x42\xb2\xa9\x25\xf7\xf9\x3f\xa6\xcf\xab\x5d\x04\x4c\x31\xbe\x26\x60\x70\x3c\x3d\x94\x0d\x6d\x20\x0b\x2c\xfc\xed\xb3\xd7\x13\x44\x2d\x36\x78\x4d\x64\xbc\x9d\xe1\x2d\x9a\xba\x0b\x33\xa1\x2b\xe2\xdd\xd8\x39\xf0\x56\x71\xde\xde\xf9\x5e\xda\x0c\xc2\x64\x6b\x56\xfb\xe3\x7e\x7e\xef\xfa\x20\x37\x8a\x16\x35\xaf\x9d\xba\xa8\x1e\x7e\x05\xff\x3a\x83\xfa\x5e\xfa\xa6\x9f\x5e\xdd\xcf\x70\xbf\x50\x0c\x77\x80\x13\xc5\x79\x53\xc5\x79\x0b\xc5\x79\xa7\x44\x00\xab\x39\x27\x02\xe7\x44\x1d\xdc\xcb\xff\x1d\x0f\x6e\xb3\xd4\x37\xc1\xd7\x73\xee\x37\xe1\xd7\xb3\xee\x8f\xe4\xf6\x0b\x92\xe8\x42\x09\x14\x7a\x64\xe7\x6c\x56\x7f\xfb\xc8\xce\xd9\xed\x7c\x95\x5c\x81\xea\x82\xf4\x7f\x25\x57\x48\xdb\xe5\x0a\x82\xf0\xc8\x15\x6d\x72\x85\x39\x11\xe5\xbe\xbb\xbb\x53\xf3\x2e\xfc\x79\x2a\x72\xb6\x98\x3a\xaf\x9d\x48\x2d\x02\x89\xa2\xf4\xab\x25\x0f\x4b\x3d\x88\x65\x43\xf2\xf0\x63\xb2\x67\x0c\xd0\x94\x8d\xfe\x69\x7d\x8e\x8d\x05\x94\x6d\x4a\xd0\xaa\x4f\x51\x1b\x78\xb4\x07\x04\xde\x47\x6d\x7b\x81\xd1\x0c\x72\x6b\xe0\x35\x3b\x14\xee\x6f\x96\x38\x78\x7c\x64\xd9\x0e\xd4\xe9\x8e\x76\x0b\x6f\x09\x42\xbe\x49\xda\x9c\xdf\xf0\xfe\xdf\x15\x51\xe8\xbc\x0e\x30\xf8\xfa\x78\x0e\x7f\xf5\xf3\x93\xe0\x49\x88\xc3\x27\xea\x4b\xef\xfe\x4f\xb2\x29\x74\xf9\xe7\x43\x50\x81\x90\x8a\xae\x04\x8f\xda\x31\x9f\x69\x3b\x75\x19\x33\x22\x7d\x3a\x97\xc9\x15\xd3\x49\xbe\x4c\x2e\x59\xe6\xcf\xb5\xff\x8e\xf2\x55\x92\x37\xf4\x0d\xee\xf5\xa4\x3f\x17\x05\x97\x53\x63\xd9\x26\x63\x36\x8b\xca\x67\x5d\x2f\x2e\xab\xf3\x88\x3f\xc2\x99\xcf\xae\x18\x97\x9d\x8e\x79\xd0\x8b\x38\x2b\x36\xd2\x42\x6e\xda\xf5\xf3\xc7\x05\x95\xf4\xe3\x47\x5c\xfa\x95\x6c\xe8\xeb\x27\x7b\x46\x47\xef\xa9\xcb\xf1\x9f\x29\x18\xf3\xd3\x4b\x96\x6f\xe8\x9c\x81\xf1\x75\xb2\x20\xcc\xd6\x5c\xfe\x77\x72\x68\x65\x97\x2c\xe0\xf4\xab\x0a\x96\x58\xed\x4f\x97\xe3\x96\x1d\xc3\xac\x70\xa0\x3a\x58\x2e\x8f\x93\x59\x5c\xcc\x7c\x79\xcd\x18\x07\x1d\x13\x89\x15\x2b\x01\x43\xe2\x98\xd7\x83\x51\xd9\x11\xda\x29\x52\x24\x83\x50\xa5\xd6\x7e\x69\xab\x85\x35\x2d\xd2\x7f\x68\x6c\x12\x1d\x76\x0d\xcc\x2d\x9c\x66\x28\x6c\xed\xe1\x89\xdd\xc8\x17\x82\xc3\x4d\x10\xb7\x80\xf7\x53\x4b\x25\x53\xe7\xe3\x47\xf0\xfd\x92\xa8\x2c\x1f\x3f\x3a\x51\x33\xc1\xf1\xb8\xe7\x7c\xfc\x68\xad\xad\xff\x34\xee\x04\xac\x9b\xea\x6a\x75\x5f\xf9\x0b\x96\xd2\x6d\x2d\xfa\x95\x44\x7a\x29\xe6\x67\x44\x4e\x29\x38\x0e\x84\xcb\x32\x37\xf7\xe7\x84\x36\x34\x56\x2b\x6d\xe9\x8d\x59\x3b\x38\x21\x9b\xb8\x98\x4d\xc0\x0d\x59\x73\x45\x26\x7b\x2b\x72\xa3\x57\x64\x69\x6b\xa9\x8a\xe1\xa4\x5c\x75\x49\xfb\xaa\x6b\x4c\x51\x52\xae\xb7\x8a\xc5\xa4\x4f\x12\xfe\x64\x03\x1e\x16\xce\x3c\xe3\x83\x78\x4e\x36\x31\x9d\x4d\xe6\xcd\xce\xcc\xbf\xd4\x19\x3a\xdb\xa9\xe1\x0a\xfc\x89\xbb\x2d\x37\x4e\xfe\xbc\xd3\x11\x2e\xbb\xbb\x0b\x11\x04\xd1\x37\xd5\xe6\xba\x42\x84\xc3\x1d\x0e\x70\x8a\x70\x09\x17\x92\xe1\xab\x72\x6c\xe6\x41\x5f\x1b\xb5\x8c\x4b\x22\xbc\x52\xe4\xc1\x95\x59\x60\xa5\x9d\x6b\x7d\x0d\xa7\xf6\x84\x9b\x91\xac\xb5\x30\xea\x74\x56\xa5\x5b\xfa\x1d\xc2\x6b\x72\xe5\x33\x9a\x33\xbc\x54\xf3\x5c\x64\x54\x55\x61\x69\x30\xb8\x45\x4d\x65\x26\xa4\xe8\x2f\x31\x25\x6b\xf0\xb9\x4a\x56\x25\x9d\x29\xce\x82\x09\x5a\xc5\xbd\x9e\x98\x95\x4d\xd6\x9c\x71\x72\x46\xc2\xa9\x7b\x30\x3a\xc6\x17\xed\x63\xab\x80\x3d\xad\x80\x9d\x55\xb8\x08\x3c\x8b\x86\xa8\xbc\x9c\xd5\x97\x23\xc6\x55\x34\x44\xf0\x61\xb3\xbb\x3b\xf0\x3f\x4a\x6e\x35\x64\xa3\x00\x43\x6d\x51\xb0\x43\xf8\x8a\xa8\xca\x26\x57\x77\x77\x6e\x4a\x0a\x98\x63\x9c\x93\x4f\x1c\x9c\xeb\xa4\xe5\x77\x72\x0b\x80\x8d\x40\x37\x0d\xab\x4c\x51\x0a\x3f\x59\x94\x63\xd8\x0a\x51\xa1\xb7\x04\x2e\x01\xa6\x12\xcc\x23\x56\xd0\x8c\x0a\x0d\x54\x58\x81\x91\xdc\x29\xa6\x4b\x2d\x00\xcf\x33\x83\xb3\xad\x0d\x68\xcd\x4b\x52\x29\x33\xe3\x05\x6c\x29\xb2\x4b\xa7\x81\x57\x4c\xf8\x99\xda\x79\x52\xc3\x5d\x58\xad\x7a\x9c\xa1\x69\x16\x69\x15\x7f\x07\x07\xc8\xb1\xad\x2e\xe5\x7f\xa3\xb1\x00\xdf\xd7\x5c\xb3\x31\x46\x1b\xa4\x80\x14\x3f\xbe\xff\xf9\xbd\xcc\x12\xbe\xb2\x2f\xe7\x33\xfa\x05\x05\x59\x1b\x58\x85\x1d\x3c\x97\x6b\x6e\x58\x4b\xd2\xfa\x0a\xb9\xd4\x97\xf8\x3f\xa5\xb8\xb0\x74\x90\xc8\x4f\xa5\xf7\xde\x69\x2c\xfd\x2d\xa3\x19\xd8\x7d\xdc\xa7\xe9\xc8\xfb\xc3\x70\x34\x1c\xb3\xf1\x0e\x61\x86\xe2\xc1\x6c\x16\x25\x53\x19\x17\xfd\x9f\xd2\x38\xe9\x85\xb3\x67\xea\x77\xd6\x2f\xa6\x49\x2f\x8c\x92\x59\x14\xcb\xb9\xb6\x23\xd1\x99\x77\x8f\xd0\xdb\x2d\xe8\x7f\x47\x71\x57\x82\x1a\x6b\xf5\x6a\xf4\x76\x69\x9b\x86\xed\x7d\x2a\x10\x4f\x4b\xbf\x91\x9d\xce\xd3\xd2\x3a\x93\xe1\x82\xba\x1e\xf3\x42\x84\x65\xa9\x60\xad\xf5\x4b\x48\xa5\x9f\x8b\x30\x25\x7f\x16\x1a\x19\x94\xe7\x4f\xe1\x52\x1c\x06\x28\x72\x38\xe8\x11\x5b\xf4\x69\xa7\xa3\x55\xa3\x2b\x5b\x11\x38\xf0\x84\x56\x39\x01\x49\x72\x05\x02\xf7\x0f\x70\x85\x74\x16\xb6\x99\x4c\x82\x36\x3d\x73\x15\x35\x68\x2c\x26\xc1\x9f\x0d\x29\xa8\x2b\x7b\x61\x2d\xb0\x6a\x31\xa1\xb4\x8a\x6a\x0b\xca\xaa\xa4\x27\x3d\xbb\xe8\x2e\x32\x6a\xc7\xfb\x4a\xcf\xb5\xb8\xeb\xcf\xc2\xad\x01\x01\x61\x0e\x2a\x08\xb0\x7b\x20\x30\xd5\xfa\xcc\x51\x09\xe4\x4e\x27\xbe\x85\x07\xd0\x87\xa8\xcd\x4f\x01\x30\x89\x06\x4c\x02\x80\xa9\x66\x05\x16\xbb\x9a\x98\x38\x9c\xa9\xb9\x09\xcf\xe4\x34\x8c\xe4\xbd\xca\xd7\xb5\xbe\xc8\x03\x6a\x33\x6a\x07\x7e\x41\xcf\xb9\x68\x6c\x65\x76\xfd\xe4\x3b\x85\x08\x1a\x9a\xd0\x76\x8e\x7f\xbf\xff\xf9\x8d\xbf\xa1\x8a\xcf\xe7\x7e\xc6\xf2\x8d\xe0\x39\xfb\x85\xdd\xd8\x5b\x99\xd2\x9a\xc4\xc8\xa9\x3f\xcf\x18\x95\xec\x9d\x36\x0d\xb6\x42\x6f\xb2\x94\xcd\xe5\x1b\xb1\x60\x6e\x4e\xfd\x73\xb1\xd8\x22\x2c\x4d\x66\x20\x8a\x6e\x64\x41\xd3\xef\x33\xba\xba\x84\xc0\xb2\x7b\xad\x81\xb2\x1b\x25\xb7\x8a\xf7\x51\x78\xda\x19\xfa\x23\x3f\x1c\x3b\x3b\x9c\x52\x12\xcf\xf4\xd5\x18\x9e\xd3\x36\x86\x27\x35\xc2\x00\x8e\x76\x38\x37\x11\x6b\x16\x62\x0e\x1b\x71\x92\x2c\xdd\x9c\x22\x99\x6d\x6f\xe7\x54\xf5\xac\xfc\xf0\x32\x65\xea\x47\x5b\x92\xab\x6e\xe7\x28\x0e\x66\xe0\x99\xea\x97\xed\x86\xed\xe6\x54\xaa\xb3\x9a\xa2\xdb\xbd\x46\x5b\xc3\xd1\xd6\xd1\x3c\x24\x9a\xc8\x5e\x6f\x82\x58\x2c\x67\x20\xc2\xaf\xbd\x7b\xef\x92\xa5\xab\xa6\xc3\xe7\xe2\xfa\xee\xae\x7a\x3c\x9c\x68\xaf\x9c\xb8\x1d\xc2\xa6\xf3\x15\xe0\x4d\xbf\x5d\xe7\xbb\x1f\x7f\x73\x90\x9f\xcb\x6d\xca\x14\xed\xfa\x36\x13\x1b\x96\xc9\xad\xeb\x88\x0d\x9d\x27\x72\xeb\xe0\x00\x3b\x0e\x32\x03\x59\x1b\x32\x6a\x65\xe0\x53\x0e\x7f\x93\x09\x29\xd4\xba\xc7\x1b\x4a\x56\x54\xd5\xf4\x5c\xca\x2c\x39\x2f\x24\xc3\x57\x07\x49\x6f\xde\xe3\x85\xa9\xe1\xc5\xfb\xf7\xef\x55\xe3\xdf\xb1\x79\x4a\xf5\x91\x6a\xd5\x76\x49\xc9\x82\xda\xfd\x9a\xec\xd5\xb4\xb7\x57\x37\xb6\x40\x87\x63\xe9\xa9\xae\xe3\x83\xd6\x1b\xa5\xf4\x01\xd3\x2c\x87\x99\x2e\xd9\x6c\xfc\xa0\xd8\xe5\x61\x73\x6a\x3f\xed\x04\xf5\x69\x3e\x67\x7c\x91\xf0\x15\x61\x58\x50\x7f\xc1\xaa\xf7\x66\x8f\xcb\x3d\x76\x26\xa7\xbd\x30\x92\x67\x5c\xed\xef\x33\xc2\xa7\x41\xf4\x86\xbe\xd9\x61\xed\xbd\xa8\x0d\x25\xb5\x48\x00\xb5\x17\x18\x72\xa0\x86\xaf\x31\xa1\x91\x0f\x26\x4b\xd7\x38\x08\xcb\x40\x52\x88\x3a\x9d\xec\x8c\x64\xe8\x96\x91\xcc\x78\x93\xb1\xb3\xef\xe7\x65\x67\x99\xb6\x96\xd7\xb6\x4a\xf7\x56\x5d\xd3\xb2\x8a\x94\x2f\xd0\x63\x9b\x69\x29\x67\x35\x59\xa3\x37\xed\x7b\xe2\xff\x8f\x00\x93\x9d\xb1\xff\xd7\x80\xb1\x9a\x6c\x00\x86\xed\x87\x05\xdf\x0f\x29\x01\x7e\x66\x1e\x0d\x1d\xf0\x42\xd3\x84\x4e\x62\x43\xa7\xd8\xef\x38\x14\xd8\xcf\xed\xd6\xd3\x88\x33\x70\x62\x51\x90\x0c\x35\x81\x75\xd0\x92\x35\xe8\x64\x86\x13\xf4\xf8\x56\x5b\x4a\xde\xd7\x83\x52\x7c\x84\x8b\x19\x80\x2f\x2f\x2e\xdb\x61\x07\xf2\x55\x2b\x74\x82\xbe\xfb\x6a\x85\x9d\xe9\x13\x55\x53\x58\xb8\x8c\x78\xe0\x16\x41\xab\x12\x30\x1d\x1c\xe9\xc9\x41\x1e\xab\xcf\x74\x86\x29\xaa\xf3\x57\x17\xd1\xb0\xee\x19\x6d\xc7\x08\x09\x44\x04\xa9\x3a\x68\xae\x5e\xe8\x97\x3a\x29\x14\xe0\x0a\x90\x6d\x70\xb8\xd1\x98\x26\x1e\x61\x51\xaf\x97\x36\xfa\x69\x65\xb3\x3a\x2a\x66\x20\x1b\xa9\x8b\x94\xc7\xe9\x34\xe9\xa7\x25\xe7\x86\x2d\xdd\xf6\x56\xf2\xca\xb2\xfc\x40\x5d\xe9\x85\x38\x6b\x58\x7d\x23\x5c\x28\x08\x66\x3d\xd0\x97\x60\xbd\xda\xe9\xdb\xb4\xf0\x92\xae\xcb\xe3\x6c\xd6\x2b\x40\x9a\x0b\xf0\x59\x24\xad\x10\x4a\x2a\xab\xcf\x12\x44\xe9\x23\xe6\x10\xdc\x77\x16\x6e\x02\xe0\x49\x67\x6a\x56\x4a\x93\xcb\xe6\x44\x5a\x19\x2d\x00\xa5\x33\x9c\xa2\x66\xa1\x4a\x1b\xbf\x54\x47\xb7\x34\xff\x69\xa5\x61\xef\x8f\x90\x0d\xbf\x2b\x9a\x25\x94\x1f\x50\xf8\x66\xe6\x9b\xf3\x1e\xe0\x94\x04\x70\xb5\x8a\x73\xed\xbc\xf4\xa1\x01\xce\xed\xf9\x9f\xc3\x00\x5d\x05\x65\x81\x85\x47\x92\xbe\xe7\xe5\x38\xf5\x48\xd2\x75\x59\x4f\xa0\xe6\x90\xe7\xad\x6b\x62\x3e\xc3\x73\xf4\xa5\x6a\x4a\xe1\xc9\x59\x38\x4d\xfb\x6e\xde\x0b\x1b\xa3\x5d\xb0\xab\x04\xa8\x81\x43\xfb\x5d\x0b\x16\xed\x02\xe2\xea\x12\x6b\x6a\x49\x6a\x51\xc4\x77\xa0\x9c\xb1\xa5\x24\x71\x19\x9a\x54\xcc\xe3\x2b\xb6\x94\x64\xab\x26\x63\x29\x71\x95\x5a\x33\x97\xef\x92\xd5\x1a\x32\x64\xea\xa1\xce\x21\xb2\x56\xc7\x19\x00\xea\xca\x45\xb9\xa5\xc6\x9c\x59\x86\xf9\x86\x91\x53\x8c\x87\x46\x39\xeb\x62\xb9\xdc\xdb\x1b\x8a\xc2\x70\x93\xc3\x59\x03\xd3\x1d\x4b\xbd\x64\x00\xfe\x7f\x24\x09\x2c\xd9\x97\xf1\x36\xd7\x93\x13\x85\x5b\x9a\xfe\x5e\xbb\x49\xaf\x77\x17\x80\x56\x4a\xe2\xc9\x19\xd6\x3f\xea\x18\xd3\x6f\xea\x87\x64\xf5\x4d\xa0\xea\xdf\x86\x65\x97\x87\xe4\x56\xed\xb3\xd1\x52\xa9\xaa\x89\x58\x85\xe7\x14\x11\x9b\xe9\x38\x30\x32\x66\xb3\x59\x13\x93\x6d\x68\x92\xe5\xed\x74\xb1\xf1\x7b\x65\x5d\x67\xd7\x37\xd9\x55\x0b\xc1\x59\x36\x0d\xa2\x0c\x4d\xb2\x33\x66\x7c\x42\xc6\x12\x9c\xf8\xf0\xd8\xf3\xac\xe6\x12\x68\x0e\x64\x1a\x1b\x91\x37\x2f\x5e\x20\xe4\x58\xad\xa6\x81\x8c\xc2\x4a\x5c\xab\x4e\x19\x37\x9e\xa5\x27\x49\x4c\xd1\xfe\x38\xcd\x45\xba\xe5\xa3\xd5\x58\x36\x02\xfd\x5e\xe5\x2c\x10\x9c\x53\xc5\x04\x89\x38\x99\xc1\xc9\x68\xd1\xf6\x1a\x26\x9f\x93\x4d\x9b\x0d\x8a\xd5\x7b\xb7\x5e\xea\x50\xe2\x82\x6d\x9b\x40\x2c\xdd\x41\xd7\xbe\x9a\x75\x80\x2c\x59\x1a\x8c\x5a\x5c\x33\xec\xa6\xb4\x60\x5f\x55\x03\xb7\x83\x65\xe9\x4a\x18\x97\x59\xf2\x75\xb5\xdc\x5e\xb0\x6d\xa4\xf8\x83\xb4\x60\x91\xaa\x72\xb7\x57\x27\x38\x8c\xbd\x6f\x79\x00\x99\x67\xe9\xd6\x00\x4d\x13\x94\xf0\xa5\x1e\x40\xd7\x36\xb9\xb2\xf9\x2b\x8a\x26\xbd\x5e\x01\x7e\xd3\xd4\x27\x4d\xc4\x61\x59\x5b\xa2\xf6\x7a\x52\xfb\xf8\x8d\x7b\x3d\x3a\x83\x79\xac\x59\x30\xc0\x23\xaf\x8d\xbd\x1a\x3d\xcf\x27\xe2\xd0\x0a\x4a\xef\xdf\x64\xe9\xb6\x5a\xde\x31\x12\x1e\x9a\xe4\xe9\x30\x35\x1c\x73\xb5\x95\x31\x98\xfc\xf4\x19\x21\x24\xec\x07\x48\xae\x33\x71\x0d\xac\xf8\xcb\x2c\x13\x99\xeb\x24\x7c\x09\x02\xb9\x27\xda\x66\x15\x95\x01\x7e\xb5\x03\x28\xe1\xbe\xa6\x2e\x43\xa8\x22\x52\x78\x97\x24\x58\xaa\x3f\x4c\xfd\x09\xce\xb4\xc6\xce\x44\x0d\xdd\x63\x5d\xcf\xa3\xe8\x4c\x56\x1a\xaa\x59\xbf\x71\xb4\x59\x99\x9e\xed\x65\x2a\xc5\x5b\x86\x20\xdf\xb4\x9e\xee\xda\xec\x57\xf5\xe2\x49\xc2\x73\xa9\x30\xb7\x58\x3e\x99\xa3\x16\x69\x36\x94\x02\x56\xd4\x84\x09\x98\x94\x31\x70\x61\xe2\xfc\x24\x37\xe1\x2e\x8d\x1b\xc3\xc7\xd3\xfa\x36\x51\xad\x1b\x28\x80\x94\x6e\x1e\x68\xd6\xe7\xea\x40\x33\xab\xa3\x00\x8c\x5d\x65\xae\xae\x18\xb8\xc9\x4f\xb5\xeb\xab\xbd\x65\x72\x43\x89\xf3\xf1\x23\xb0\xb4\x1f\x3f\x3a\xf8\x9c\x12\xe7\xc3\x4d\x10\x38\x93\xd4\x9d\xe3\xdb\x35\xcd\xa3\x35\x5e\x31\x19\xb5\x1c\x25\xfa\x42\x2d\xce\xc1\x63\x2d\xce\x1b\x99\x6c\xff\xcb\x56\x36\x22\x77\x58\xc7\xbb\x8e\x56\x58\xe1\x85\x68\xa3\xf7\x57\x1e\x1d\x9c\xa3\x36\x82\x83\x88\x78\x50\x0f\x32\x2a\x4e\xa6\x56\x69\x79\x5f\xd9\x61\xb3\xc9\xbf\xb6\x2e\xd8\xe8\x60\xe6\xa5\xf7\x7a\x55\xf7\xce\xae\x3c\x4f\x3e\xb3\xe8\x0a\xb3\xcb\x8d\xdc\x46\x0b\x6c\x96\x46\xd4\xba\xfd\x1b\x6d\xd4\x3c\xb8\x36\x25\xab\x7a\xbe\xdb\x81\xd3\x5f\xce\xf2\x86\x8c\xac\x96\xc5\x1b\xad\x37\xb5\x4d\xc5\x59\xed\x6b\xbb\xc4\xc7\x53\x73\xa7\x52\x60\x8a\x22\x36\xad\x48\xb3\x88\x4e\x6a\x63\x0d\x73\x1f\xa1\x56\xe1\xa6\x76\xfd\x7e\x45\x92\x58\x78\xde\x0c\x2f\xcc\xea\xf7\xbc\xd5\xb3\xcd\x04\xb9\x6b\xb2\x80\x0b\xfb\x94\x5c\xb9\x39\xa1\xf1\x6a\xa6\xa8\xe7\xb5\x06\x54\x8e\xa2\x05\xac\xa5\x14\xc7\xb9\x85\x61\xa7\x6e\x4e\xa4\x8b\xf0\x92\x34\xaf\x7d\xf2\xd2\x13\x80\x22\x2f\xc0\x88\x04\x45\x6e\x4e\x6e\x77\x87\x39\xe1\x0c\x36\xd9\x76\x08\x2f\xea\xad\x87\xb0\x75\x61\x2f\x2b\xff\x1e\xec\x10\x20\xdc\x78\xe6\x00\xb5\x32\x1a\x33\xcf\xab\xc3\x56\xb4\x6d\xe5\x02\xdd\x66\xd6\x0a\xe0\xe5\x52\x54\x5b\x8f\xa1\x9d\xea\x47\x31\xcd\x34\x54\x5b\x97\x76\xe1\x72\x6d\x29\xa1\xfe\xaa\xc1\x69\xa3\x47\x8d\xfb\x6f\x77\xa5\xa6\x59\x1d\x3d\xa3\x68\xe2\xa0\x86\xed\x18\x44\xf0\x09\xd0\x0e\x17\x87\x87\x55\x9d\x4d\xba\xdc\xd5\xa8\x0c\x33\x1c\x20\x53\xe0\x82\xb5\x2a\xa3\x24\x95\xeb\xf6\x42\xe5\x52\x03\xf9\x69\xff\x30\x2e\x89\xfd\x38\xa9\x8d\x2c\x09\xaf\x0b\xfc\x76\x78\xfa\x96\x18\xa4\xcc\x96\x89\x34\x2d\x5a\xfd\xad\x65\x26\x8b\x26\x22\x99\x6c\x39\x7e\xd5\xf2\xbb\x04\xe4\x8b\x6a\x7a\xcd\x26\xad\x80\x78\xf2\x3c\x86\xa4\x4f\x17\x8b\x83\xb3\x3d\x75\x2f\x4b\x3c\x45\x17\x8b\x87\xf1\x94\x47\x1c\x07\xcd\xc8\xd3\x00\x73\x0b\x0f\x99\x59\xdf\xfc\xb7\x76\x78\xb9\xaf\xcf\xd9\x9a\x5e\x25\x02\x62\x81\x56\x1e\xd6\xee\x23\x51\x71\x46\x14\x09\xb9\x7f\x2c\x94\x7a\xc1\x3c\x66\xf5\xb7\x38\x9b\xcd\xc8\x6b\x38\xc3\x1b\x61\x41\x0d\x07\xf1\x91\x92\xd8\xb9\x66\xe7\x17\x89\x74\xb0\x73\x99\xab\x3f\xe2\xb3\x83\x9d\xd7\xf0\x57\x38\xd8\xf9\xd9\x99\x29\xa2\x60\x91\xe4\x1b\x2a\xe7\xeb\x06\xf6\x31\x3d\xe2\x30\x33\x1f\xb1\x21\x2e\x5b\x3a\x06\x24\x25\x8f\xeb\x6e\xc9\xd9\x8c\x5c\x5b\xd1\x54\xf8\x0e\x7f\xac\xa5\xa5\xbe\x68\x95\x0a\x10\x5e\x59\x8e\x3a\xbe\x83\xc0\xe8\x61\xa2\xf7\x77\x00\xca\x23\xa5\xc5\x08\xdc\xfe\xd4\x2e\x20\x03\xac\xe8\x87\x2a\xd0\x60\x8b\x4b\x1f\xa3\x2a\xe2\x83\x03\x90\xc8\x7e\x33\xee\xd3\x06\xad\x52\x25\x23\xdf\x21\x44\xc2\x82\xe4\xe5\x4c\x23\x98\xee\x35\xcd\x7f\xbe\xe6\x95\x1c\x9a\xa3\x4e\xa7\x51\x73\x23\xfc\xba\xfa\xb2\xd3\xe4\xe7\x15\xe8\x4b\x14\x69\xaa\x97\xc2\xa7\x42\xb4\xeb\x57\x71\x3f\x63\x9b\x94\xce\x99\x7b\x4d\xb1\xf3\xe1\xc3\x37\x1d\x07\xe9\x69\xbd\xa6\xa4\x1f\x7f\xf8\xf0\xe1\x7f\x3e\x7c\xf3\xa1\xfb\xc1\xfb\x30\xfd\x70\xf7\x21\xfe\x30\xfb\xe0\x7e\x40\x1f\xfc\x0f\xb7\x1f\x76\xb3\xfe\x0a\xbf\xa7\xe4\x76\xe7\x57\x07\xfa\xb4\x09\x70\x5e\x7f\x21\x72\x17\xdd\xb3\x14\x75\xf8\x59\x5e\x86\xc1\xdc\xe1\x0b\xda\x2e\x15\x96\xfe\xa7\x82\x65\xdb\xf7\x70\x29\xa2\x40\x85\x76\xf8\xcd\xe3\xf2\x3e\x37\x37\x19\x2f\xf7\xb3\x97\x6b\xe2\x52\xad\x4b\x96\xdf\xdd\xf1\xf8\xc6\xe5\xd8\x31\xef\x65\x79\x07\x95\x38\xd5\x3d\xa8\xa2\x52\x82\x37\xf4\x91\x22\xd3\xf4\xcf\xa4\x45\xef\xe6\x7d\xf2\xf9\x73\xca\x3a\x1d\xf7\xbe\x51\xea\x0c\xda\x63\x21\x84\x74\x2a\xd2\x14\xc6\xa9\x3f\xa8\x21\xe8\x27\x7f\xaf\x8f\x48\x23\x3d\xf5\xb2\x27\x28\xa8\x99\x26\xfd\xb9\xe5\xca\xc6\x4c\xfa\x73\x4a\xec\x4a\xea\xdd\xa4\x0e\x95\xe7\xe5\x97\x43\xb4\x6a\xa9\x3a\x4f\x38\x79\x6e\x9b\x36\x18\xa7\x36\xb0\x9a\x9b\x7e\x6d\x6e\x4b\x63\x03\x12\xcf\x10\x2e\x9d\x2c\xbf\x11\x0b\x06\x12\x4b\xb5\xcc\xe9\x0c\x59\xc9\x35\x99\xa1\xea\x9c\xdb\x8e\x72\xd2\x67\x73\x1d\xbf\x37\x4e\x67\x68\xea\x96\xac\x1d\xe1\x25\xc9\x52\xd4\x7a\x16\xda\x0a\x82\x75\x3a\x4e\x99\xe4\x24\xfc\x09\xf8\x11\xae\x32\x91\x3a\x3f\x42\x51\xc9\xe7\xa9\xcd\x56\xca\x96\x5f\xba\x09\xda\xe1\x0a\x26\xcf\xd3\xb4\x1d\x2c\x1a\x24\x2f\x6c\x90\x18\x1a\xbd\x09\x12\x20\xb5\x6b\xa0\xc1\xf0\x8b\x59\x25\xb5\xdc\xb3\xdf\x31\x5a\xe0\x5a\xb9\xcd\x40\x71\x0e\x37\x99\x6a\xb8\x10\x58\xa1\x1c\xae\xc0\x05\x42\x7b\xf0\xad\x79\xde\x97\x6e\x66\xe6\xfe\x05\x25\xce\x5a\xca\x4d\xd4\xef\x5f\x5f\x5f\xfb\xd7\x43\x5f\x64\xab\x7e\x78\x7a\x7a\xda\xbf\x59\xcb\xcb\xd4\xc1\x9f\x29\xb9\xcd\xaf\x56\x51\x4b\xb6\x41\x10\x04\xfd\xfc\x6a\xe5\x60\xc8\x1b\xbd\xa0\xf8\x26\x4d\xf8\x45\x5b\x5e\x5d\xa5\xfa\xea\xe0\x9b\xcb\xb4\x2d\xcb\x1f\xaf\x5f\xa9\x6c\x27\xfd\x4a\x9d\x0d\xb2\xf2\xfc\xde\xb6\xe1\x6b\xdf\xd9\xa9\x73\x86\xe7\xe4\x76\x03\xfe\x26\xa3\xcf\x14\x7f\x2a\x68\x9a\x2c\xb7\x51\x0b\x2d\x50\x1f\x05\x91\x83\x30\x23\xb5\xeb\x6c\x38\x0d\x1c\xa8\xd4\x79\x4a\x08\xac\xa4\xf2\x20\x00\x35\x22\xcb\x3b\xb0\xf4\x42\x84\xf0\x67\xba\x8f\xac\x19\x9a\xde\x42\xdf\xa3\xcf\x34\x66\x33\x9c\x8a\x39\x4d\x23\xbe\x8b\xf8\x0e\x16\x0e\x95\x32\xdb\xc3\x01\x6d\x0c\xf2\x00\x92\x9d\x1c\x74\x47\xac\x0b\xf5\xca\x2d\xa4\x5a\x46\x5c\x2c\xac\x9b\x63\x90\x0a\xf2\xdc\x37\x43\x87\x60\x57\x3e\x34\x3f\x65\x8a\xdc\xb6\x2e\xff\x5c\xee\x43\x1f\xcb\x0c\x28\x6a\xe6\x80\x6b\x6e\x91\xb9\xd2\xc8\x2a\x54\x63\x4c\x11\xb6\x9f\x5d\x89\xc1\x66\xb3\x79\xfc\xd8\x44\x90\xc9\xa7\x8d\x19\xd5\x88\xe7\x29\xcd\x73\xb6\x4f\x94\xfc\xff\x38\x68\x9c\x11\x97\x93\x5f\x14\x0f\x5c\xb2\x1b\x85\x61\xf3\x25\x61\xba\xcd\x57\x49\x2e\xad\xeb\xad\x0c\xae\x55\x9e\x4a\x7f\x2e\xb8\xa4\x09\xcf\x5d\x60\x7d\xcd\xe1\xfe\x34\xac\xd9\x5a\x55\x43\x03\x1c\x0e\xd4\xe7\x20\xbb\x9e\x4f\xba\xb8\x2f\x59\x0e\xea\x2c\x65\x35\x06\x30\x4f\x83\x76\x08\xbe\x7b\x24\x04\xdf\x59\x10\x84\xab\xe9\x86\xf7\xc1\x5a\x07\xf4\x80\x66\x4a\x96\xee\xf0\xac\x68\x40\xf2\xa9\x05\xc9\x81\xf6\x9d\xae\x88\x54\x40\x4d\xd9\x7e\x07\xdf\x2a\x02\x23\xce\x66\x8a\xf4\x69\x74\x51\x11\x33\x67\x95\x13\x85\x96\x05\x28\xdd\x04\x29\xb8\xbd\x10\x97\x9b\x42\xb2\x05\x5c\x6a\xbb\x89\x26\x57\xd4\x87\x72\x93\x00\xb9\xaf\xd6\x98\xa2\xc3\x0e\x87\xfe\xd6\x8c\x50\x0f\x7e\xd3\x76\xf3\xfc\x95\xeb\xc7\x6e\x42\xf7\x39\xe6\x9a\x5b\x3f\x98\x9f\x5f\x1f\x39\x3f\xbf\x5a\xf3\x23\xd9\x4d\xab\x97\xeb\x03\x1d\xa6\xba\x78\xab\x3a\xfb\x63\xb5\xbf\x27\x87\x4a\xb2\x9a\x98\x9c\x3a\x4e\x24\x77\x51\xa9\x97\xf3\x90\x5a\xad\xe3\xec\xa2\x87\xd5\x6e\x35\x39\x6b\xe0\x65\x7f\x83\x31\x2b\x84\xff\xff\x7e\xcc\xe0\xa0\xe4\x5f\xbf\xbc\x7e\xf5\xc8\x11\xd7\xf9\xdb\xc6\x6b\xd5\xb6\x37\xda\xea\x8b\xc6\xd9\x9b\x0d\x6b\x77\x11\xce\xc9\xdf\x10\x34\x10\x82\xcd\x6a\x32\xeb\x90\x04\x83\xaf\xba\x8e\x17\xeb\x24\x5d\xb8\xf7\x0c\x11\xed\xf4\x72\x4a\x78\xde\x74\x9b\x6e\x2b\x49\x98\x06\xc9\xf3\x4a\xcc\xf3\x70\xbb\xba\xb2\x7f\xb2\xa5\xc8\xd8\x7d\x0d\x63\xd9\x9e\xae\xe9\xd0\xb2\x5b\x9a\x97\x6d\x21\x31\xeb\x19\xfe\x5e\xe7\x54\x34\xc8\xfd\x4a\x78\xb5\x3a\xa3\x8e\x71\x54\x0b\xb0\x97\x95\x6f\x27\x3b\xa4\x12\xc5\x4b\x84\x57\x96\xe0\x7a\x89\xf0\xa6\xf9\x7a\xd5\x14\x6b\xab\x43\x40\x37\xb1\xc0\x97\x5a\xf6\x84\xb7\xcd\x2c\x5a\xe2\x0d\x26\x70\xd9\x33\x0a\x54\xa4\x42\x7a\xea\x8c\xbf\x04\xcf\x8b\x8b\xf2\xf6\xbc\x41\x45\x66\x08\x4d\xaf\xe2\x6c\x46\x8a\xe8\x12\xe4\x4e\x0b\x5c\x20\xbc\x55\x29\x8b\xbd\x4a\x97\x50\xe9\x25\x08\xba\xaa\xca\x18\xc4\x3f\xca\xc0\xcf\x34\x9a\x16\x4f\x09\x79\xaa\x18\xd0\x15\x54\x69\x35\x44\x12\x14\x81\x62\xee\xbf\xdc\x04\xe1\xb2\xa9\xa7\xc1\x61\xc7\x01\x7f\x6f\x3b\x1d\xdd\x90\xea\x09\x2a\x6b\x85\x8e\xc2\xa8\x6a\x05\x83\xaa\xe8\x7a\x82\x0a\x63\x07\xac\x7b\x54\x4c\x5d\xbb\x7d\xac\xfb\x64\x75\x43\x07\xd6\x5b\x9e\x81\xa1\x2d\x32\xc9\xaa\xa8\xf9\x42\xcd\x97\xaa\xd9\xdd\xc6\x2f\x36\x0b\x2a\x19\x59\xe1\x8d\x4d\x88\xae\xec\x97\x2b\xfb\x85\x5b\x2f\xa5\x79\xee\xa6\x32\xba\x5e\x21\x6c\xfc\xb9\x5c\x69\x3d\x37\x4b\x93\xc3\xa6\xab\x5b\xfd\x70\xc2\xf0\xb9\xbd\x0a\x2a\x86\x23\x98\xd5\x0e\x75\x8d\x0e\x05\x70\x15\x5a\x67\x83\xc7\xc9\xcc\xe6\x0c\x6a\xc9\x03\xa8\xda\x91\xbf\x5c\xc5\xc9\xa4\xe4\x25\xfc\xe6\xfa\x57\xf5\xa1\x0d\xdf\x21\x5b\x51\x83\x95\x1d\x48\x66\xd8\x10\xf1\x19\xce\x2c\x10\x58\xaa\xfd\x7b\x97\xce\x87\xe5\xab\x7e\xa5\x3e\xe3\x92\x65\xed\x0e\xe5\x52\x9f\xdd\x24\x6d\xda\x92\xf9\x0e\xa7\xe5\xe6\x6d\xe8\x7e\x7c\x01\xb3\x6f\x2a\x6d\xb9\x8a\xaf\xc2\xdc\x20\xd3\x96\x6f\x1a\x41\x68\x57\x7a\xf7\x71\x94\x8a\x79\x6a\xf1\x92\xac\xcd\x45\x7e\x56\x24\x9f\x15\x3d\x36\xd8\x9b\x7b\x7a\x96\x4c\x12\xcf\x43\xb7\xc5\xfd\x7c\x26\x2b\xa1\xd6\xca\x67\x6a\xd5\x81\x12\x13\x4d\xd2\x33\x31\x11\x9e\x87\xdc\x8c\x30\xcd\x7c\x59\x53\x65\xf1\x5b\x09\xea\x74\x64\x65\x66\x50\x31\x5a\x85\x1e\xb1\xc8\x16\xcd\x29\xa9\x45\x60\xbd\x10\xcb\x3d\xb6\x90\x3f\x93\x35\x5b\xa8\xd8\xc9\xd2\x22\xa9\xa8\xd8\x5f\x1d\x76\x38\x2e\x66\xd5\x25\x9e\xcb\x74\xc4\xe1\x4e\xc7\x4d\x3a\x9d\xe4\x29\x21\xcc\xe7\xec\x46\xbe\x4f\xce\xd3\x84\xaf\x3a\x9d\xc4\x5e\x59\x8d\x73\x81\xe1\x04\x29\x3c\xd0\xa4\x79\x80\xf4\x14\x7b\x01\x3c\x38\xf9\xf1\x9e\x03\x7a\xef\xa6\xb8\x39\x22\x90\xe3\xc1\x28\xe4\x4c\x0b\xbb\x79\xa3\x31\x0d\x20\x57\x03\x4b\x9d\x25\x6d\x2b\xf0\x4f\x23\xff\xb4\x44\xdb\x10\x82\xdb\xc8\x46\xb1\xac\xe7\x03\x5c\x53\x1b\xfe\x83\xb6\x71\xe9\x8a\x71\x6e\x51\x97\x28\xc7\x06\x76\xf7\x60\xd1\xa5\x4f\x59\xdd\xaf\xcb\x8d\x6c\xd1\x26\x7e\x6a\x51\x0e\x90\x4f\x3d\xb6\xcf\x75\xb0\x37\xd5\xf2\x8c\x4f\xb8\xe5\x22\x9d\x55\x33\xad\xe3\xf6\x54\xab\xb0\x38\xcb\x26\x99\x5a\xd6\x7a\xd5\x2b\xb4\x0b\xce\xd7\x51\x75\xb9\x6f\x59\x45\xe9\x99\x4b\x3e\x1f\x78\x92\xe7\x75\xa4\xcd\x7d\x58\xa2\x5b\xcf\xe3\x3b\x84\x8d\x7c\xf7\x15\xdc\x28\x34\xc4\x42\x1a\xab\xfc\x85\x0f\x13\x2d\x89\xd1\x2b\x8a\x5f\x55\x04\x53\x45\x3a\xa9\x34\x0d\xbc\x12\x8a\x2a\x05\xc0\x64\xc0\xa5\xde\x61\xa2\xcc\x84\xa9\x77\x18\x81\x19\x09\xbc\x1f\xca\xa1\x0e\xcc\xee\x4b\xed\x26\x90\x9f\x34\x97\x20\x88\x50\x6e\x33\xe2\x16\x1a\xc8\x62\x86\xcc\xf9\x54\x79\xba\x38\xc4\x15\x45\x1b\x86\x30\x4a\x45\x56\x90\xba\xf9\xb3\x7c\x82\xdc\x84\x14\xf1\xdc\x92\x44\x65\xf1\x7c\x46\x6a\x71\x94\x7d\xb6\x25\xf5\x52\x9d\x63\x81\x90\x25\xbb\x21\xf5\xb7\xfb\x84\x50\x14\xed\x14\x40\x1e\x22\x14\xef\xb9\x59\xff\x0d\xa6\x1d\xa1\x9a\xce\x6c\xaa\xef\x1a\x55\x9c\x3d\x48\x97\x32\xd3\xd2\x30\x66\x9f\xc3\x92\x53\x97\x91\xf8\x82\xba\x12\xe7\x14\xcd\x30\xb3\x41\xd8\x22\x77\x8c\x54\x76\xb9\x97\x4f\x35\x83\xf0\x4b\x37\x66\x33\xbb\x17\xad\x32\xb6\xfb\x3a\xc2\xa7\x5a\x24\xf6\x86\xba\x5c\x75\x65\x6f\x36\x5b\xbb\xa2\x65\x68\x7b\x39\x01\xe0\xaa\x33\x72\x66\x10\x38\x6f\xd1\x98\xce\x9e\x64\xf7\x30\xe0\xd9\x03\x0c\x78\x06\x33\xf1\x34\x34\x6e\x5b\xf6\x39\xd0\x3f\x5c\x06\x4e\x2d\x15\x7b\x79\xc8\x80\x67\x66\xc7\x9b\xa3\xbf\x64\x67\x9d\x8f\x1f\x05\x77\x3c\x30\x86\xcd\xfc\x8f\x13\x46\x9e\x86\x87\x4c\xeb\x1f\xa6\xeb\x46\xf8\xf7\x09\x04\xbf\x97\x74\xe3\xde\x5e\x8a\x22\x67\xb0\x99\x23\x07\x9e\xc5\x15\xcb\x1c\x0c\x8f\x29\xa3\x57\xac\x4c\x2e\xa4\xb3\x43\x93\x9c\x76\x3a\x9f\x68\xcb\x7d\x27\xba\x75\xa0\x1f\x6a\x50\x26\x93\xe6\x1b\x14\xbb\xaf\x15\x34\x7e\xa1\xf8\x1d\x25\x81\x42\x2e\x50\x65\x1b\xa6\xff\xb7\xcb\xf1\x85\x5b\xf6\xf3\x3b\x73\xc4\x73\x7a\x95\xac\xa8\x14\x59\xa7\xd3\xff\x9d\x9d\xff\x94\xc8\xbe\x11\xbf\x34\xbe\xfa\x45\xce\xb2\xe7\x2b\x35\xbb\xd3\x5e\x18\x41\x4b\x52\x14\x8d\x33\xe5\x4b\xaa\x29\x12\x4b\x72\xe1\x22\x7f\xbe\xa6\x7c\xc5\x16\xbf\xa8\xe2\x4c\x71\x4a\xb6\x93\x17\xd0\x85\xad\xbc\x49\x25\x67\xc5\xc4\xf3\x0a\x94\x2c\x21\x62\x88\x0e\xfe\xbf\x60\x5c\x26\xcb\x84\x65\x84\x10\x86\xac\xd1\x65\x7a\x8d\x97\xf7\x77\xfe\x22\xa3\xab\x7b\x2e\xe8\x0d\xb7\x2a\xb8\xab\xe7\x60\x21\xae\x39\xe4\x77\x70\x82\x20\x19\x46\xa7\xad\x27\x75\xba\x6d\x94\xca\x8c\xb5\x6b\x82\x69\x9b\x45\x75\x95\x4f\x94\x87\x04\x08\xb0\xa5\xbb\xc6\x57\x68\x92\x01\xd1\x95\xc5\xc1\xac\xf7\x5a\x07\xca\xcb\xe2\x50\x3d\x87\x33\xbc\xb9\x23\xfc\x8e\xe1\xd7\x24\xc3\x2b\xf7\x56\xad\xf0\xc8\xd1\xcd\xdf\x44\xe0\xb1\x66\xae\x4a\x6c\x23\xf0\x51\x33\x57\x25\x16\x37\x11\xc7\x8b\x6d\xc4\x1a\xa6\xc1\xa9\x1a\x21\x34\x07\xdc\x97\xe0\x6e\xe2\x2d\x8c\xd4\x48\x70\x97\x96\x2f\x78\xab\x78\x81\x46\x53\x8c\x2f\x9c\x9d\x89\x25\x31\xc7\xb9\x3e\xb2\x97\xa4\xbc\x0c\xf3\x75\x7c\x6c\x7f\x2e\x32\x6d\x24\xb3\x48\xf8\xca\xec\xfc\xbb\xbb\xbd\x5c\x78\x4d\x72\x1b\x45\xaf\x48\xe6\x8b\xa5\xdb\x60\x94\x75\xc4\x5a\x0e\xfe\x2a\x1c\x0d\x6b\xcf\xdc\xe4\x5d\x4d\x1d\x27\x72\x7a\x8e\x77\x85\xf0\x65\x7d\xa1\xe2\x32\x77\x89\x50\x39\x28\x51\x8d\x48\x0d\x87\xfc\xae\x98\xd7\xd7\x25\xac\x8b\xa9\x3b\x27\x85\xa1\x40\x1a\xcd\xce\x49\x3c\xf7\x6f\xf4\x0c\xcc\xfd\x2d\x80\x7f\x86\xa2\x39\x89\x03\x1c\xcc\x9a\x20\x81\x65\xe0\xec\xd0\x4e\x73\x48\xe4\x8d\xcb\xb1\x99\x16\xeb\x3b\xae\xc0\x87\x4a\x4b\xcd\x84\x30\xf7\x1c\x97\xbb\x12\x4b\xac\x57\x9b\xda\xbc\x8e\x79\x2e\x36\x0e\x78\x60\x76\x7f\xc0\xe5\x9e\xc2\x5b\xac\x97\x9f\xc9\x07\xcf\x50\x6f\x4d\x53\x89\x2c\x59\x3d\xd6\xca\xaf\x20\x10\x31\xa2\xb0\xae\xb3\xd5\x6e\xc1\x0a\xad\xe8\x2d\xa3\x5b\xd8\x37\x51\x7b\xf8\xd8\x53\x5b\x59\x56\x7b\x78\x3a\xa7\xae\x3c\x0c\xae\xae\x09\xb0\x7f\xeb\xc8\x57\xd5\x05\x9f\xb5\x85\xa5\xf5\x82\xd9\x0e\x45\xf1\x4c\x23\xa8\xb7\x94\x84\xac\x37\xc6\xbf\x52\xf2\x96\x76\xdf\x52\xfc\xb7\x51\x8c\x7b\xfb\x23\xfe\x9e\x92\x41\xf7\x6f\x8a\xff\x45\xc9\xf7\xb4\xf7\x96\xe2\x9f\x29\xf9\x9b\xf6\x07\xf8\x47\xf8\x0d\x4f\x02\xfc\x27\x25\xe1\x49\xd0\xff\x9b\xe2\xbf\x4c\xb9\xf7\xff\x79\xf7\xcb\x00\xff\x46\xc9\x00\xff\x41\xc9\x91\xc2\x60\x96\xcf\x8c\xbf\x84\xb8\x47\x3b\xff\xc0\xd5\x11\x8f\x07\xda\xb1\x1d\x84\xf8\x91\x3a\xc4\x8f\x54\x89\x39\x11\xbd\x02\x2f\x49\xda\x4b\xd4\xca\xef\xe6\xde\xb2\xbb\x54\x87\xd7\xaf\xf4\x6c\x8d\x8c\xee\x79\x2a\x56\xee\xbc\x4f\x51\xff\x2f\x8a\xdb\x10\x75\x5c\x78\xbc\x9b\xe3\xc4\xe3\xdd\x25\xa6\xda\xdb\x04\xbb\xd9\xb8\x7f\xd1\x2e\xef\x66\x68\xb6\x03\xa6\x55\xdb\x4b\x59\x3e\x23\xd6\x6a\x27\xb9\xf3\xee\xbc\x47\xbb\xd4\xfb\x83\x76\xd7\x10\x29\x97\x76\x7f\xa3\xdd\x15\xc2\x57\xd5\xb7\x5e\xf5\x6d\x6e\xbe\x2d\xea\x8e\xd5\xf5\x6d\xba\x1b\x2f\x44\xbd\x8d\xda\x79\x2d\x9f\xaf\xba\x57\xea\xb3\x42\x67\xc4\xbd\xec\x2d\x5a\x86\x63\x64\x8f\xdd\x4c\x61\x38\xee\x2e\x10\x16\x84\xf6\x5d\x68\xb3\xeb\xb2\x6e\xc1\xd5\x98\xa4\xb7\x40\x3d\xa6\x3e\x97\x0b\x24\x2e\x3c\x01\x00\x10\x00\x00\xd6\xcf\xaa\x8c\xb3\x9d\xe5\x4a\xdb\x98\x4a\x93\x90\x0d\x55\x1b\x4d\xdc\xff\xb9\x31\x9f\x0d\xdc\x0f\x91\x9b\x05\x77\x5f\xe1\x25\xa0\x8e\x7f\x52\xcf\x81\xfc\x0e\x5e\x69\xdc\xbf\x38\x4f\xe7\x69\x32\xbf\x30\xa9\x1b\x48\x7d\x87\xd7\xcd\x13\xa0\x9a\x30\x70\x66\xd9\xbb\xf0\x6f\x50\xff\xc2\xbf\xc0\x3a\xb6\xfc\x85\xbf\x85\xd7\x46\xc4\x14\xcb\x69\x49\x1c\xcc\xba\x17\xfe\x85\x77\xe1\xdf\x40\x7c\x52\xf3\xb2\x6d\xf8\x6c\xe7\xe8\xf6\xc2\xbf\xa8\x43\x16\x3d\x57\x6b\xae\x92\xe2\x3d\x57\x4b\xaf\xe1\xcf\xc9\xf8\xf9\x92\x24\x73\x25\xc2\x17\xfe\x8d\x67\x79\x66\xbe\xf0\xb7\x5e\xed\x9c\xb9\x11\x13\x0c\x48\x7d\x8a\x6e\x15\xb7\x37\x5f\xd3\x4c\x7e\xfc\x48\x6e\x6f\xa2\x0b\x88\x41\x7b\xe1\x6f\xf1\x45\x74\xe1\x5f\xec\x70\xe1\x56\x61\x67\x06\x70\xf9\x9b\xb8\x0b\xa2\xf8\x42\x2c\x2d\xf4\x2c\x11\x7e\x71\x16\x00\x92\x90\x7e\xed\x36\xc2\x45\xd5\x9c\xb9\x2f\x80\x8c\xd4\x17\xfd\xfa\xc4\xb0\x03\x1e\xb8\xe8\xf6\xbc\xd3\x39\x2f\x0d\x63\x6f\xca\x58\xaf\xf7\x18\x5a\xbb\xbc\x02\xfe\x4e\xe7\xb9\x31\x36\xd1\x08\xe1\xeb\x4e\xe7\xba\xac\xe8\xe3\x63\x2a\xda\xda\x15\x7d\xac\x2a\xb2\xcf\x56\x8e\x6e\x3f\x7b\xde\xdd\x1d\x2f\x0f\x09\xb5\x4e\xaa\x43\xa2\xca\x38\x57\x19\x85\x8b\x70\x23\x9f\x83\x21\x78\x9e\x02\x28\xae\xac\xe1\xa3\x58\xc1\x1a\xa6\xdf\xaa\x20\x57\x15\xf4\x7a\x9f\xef\xee\xdc\x46\x15\xfa\x88\xc6\x0b\x4d\x52\x5b\x1e\xc9\xf7\x89\x1c\x41\x42\x9c\xb8\xe5\xf9\xe3\x16\x3a\x3e\x86\x6b\x93\x32\x99\x2a\xa3\xd6\xf7\xa7\x9a\x3c\xf8\xc5\x10\x07\x2b\x57\x20\x9c\xab\xec\xfa\x62\x4c\x8b\x27\xc8\x77\xea\x0c\x2f\xec\xc3\x54\x90\x40\x93\x08\xe5\x0a\x70\x0b\x7d\x40\x7f\xc2\xdc\xd4\x98\x21\xbc\x26\xcc\xee\x0b\xc2\x2b\xf2\xbb\x5b\xa0\xc9\x8f\xa9\xe1\xe6\x10\x4e\x1b\x7d\x5b\xef\x8f\xa7\xb2\xd4\x30\x07\x8f\xbb\xa9\x4e\x95\x15\x51\x00\x6d\xd3\x17\x54\xdb\xbd\x3e\x64\x14\x15\xbd\xe8\x74\xdc\x45\x6c\xa7\xce\x08\xf8\x1e\xd8\x35\xe2\x5a\xca\xea\x02\x65\x8f\xac\x99\xd8\x6b\x5d\x0d\xef\x06\x67\xf0\x7b\x8e\x05\xc2\x1f\x0d\xe7\x5b\x8b\x6f\x58\x5d\x41\x93\xf8\x35\xf4\x2e\xdb\xa7\x77\x17\x31\x8b\x8b\x59\xa3\x7f\x6a\x46\x4c\xf8\x1c\x45\x2b\xcd\x49\x69\xa1\xeb\xa2\x52\x37\x39\xb5\x75\xa1\x46\x41\x70\x36\xef\xbd\x2e\x1d\xa8\xa6\x71\x30\x9b\x50\x77\x83\x73\xbc\x88\x73\xbb\xe6\xd6\x00\x9c\x17\xfe\x45\x15\x4d\x71\x80\xbc\x10\xe1\xf7\x2e\xda\xbd\x26\xf3\x5d\xa9\x37\x9d\x5a\x2e\x67\xeb\x26\xd4\xe1\xa7\xb0\xd2\x9a\xe4\x0a\xef\x2c\x55\xd2\x8a\xe4\x0a\xe9\x2c\xe3\x70\x36\xb9\x24\xeb\xee\xda\x5b\x75\x57\xbb\xe6\x0a\xd4\x44\xb2\xc1\x43\x7b\x13\x5c\x2e\x8f\x0d\xda\x93\x27\x52\x5b\x9e\xe8\x79\x02\x67\x7a\x43\x24\x4b\xa3\xd5\x81\x33\xb2\x88\x6d\x72\x63\xa6\x5d\xff\x22\x30\xf0\x9b\x70\xc2\xb0\x24\x99\x62\x02\xb3\x72\x10\x6e\x4e\x58\xe5\x12\xb1\x9b\x7b\xf0\x5e\xba\x4b\xec\x2a\x42\xf8\xb2\xd3\xa9\x8f\xc1\xbc\x7f\x89\x26\x9c\xe8\x23\x00\x22\x5f\xa0\xfe\x40\x9f\x00\x60\x5d\x8f\xfa\x83\x19\x96\x24\x06\xe9\x97\x97\x95\xdf\xc1\x37\x64\x56\x7e\x2f\xdc\x65\x77\xa5\xa0\xab\x69\x46\x1d\x22\x76\xee\x5e\xed\xa1\xc4\x64\xe9\xd6\xeb\x50\x83\xa7\x21\x88\xdf\x5b\xaa\x7b\x2b\x6d\x2f\x58\x4c\xa9\x9c\x69\x5c\xa2\x2c\xc0\x8c\xc6\x86\x54\xad\x64\x03\x3b\xa6\xe4\xb3\xc0\x96\x8a\xbb\x68\x67\x0b\x13\xdc\x8f\xb0\xfa\xb7\x06\x6d\x5c\xdb\xa7\xab\x3a\x36\xf1\x1b\x57\xe1\x11\x73\xc3\xb0\xc2\x1b\x8d\x49\xae\x34\x26\xd9\xd8\x98\x64\x41\x6e\x77\xf8\x92\x04\x78\x4b\xf4\xa1\xdc\x73\xbc\x7b\x86\x14\x07\x76\x87\xf1\x0d\xb1\x88\x66\x6f\x8b\xcf\x49\x4d\x38\x7b\x5b\xfc\x91\xc4\x33\x7c\x6d\xe1\xa8\x0d\xc2\x6f\xc8\xef\x6a\x55\x49\x57\x21\x9e\xab\xaa\xe3\x15\x1e\x7c\x87\xed\x63\x69\x55\x21\x20\xe8\xf6\xbe\xac\x76\x3b\x9d\xa7\x8c\x66\xbf\x24\x97\x8a\xa3\x77\xb7\x28\x72\xcb\x95\x0b\xf2\x21\x7c\x45\x98\xbb\x20\x97\xc0\x24\x69\x1c\x68\xe4\x46\xea\x40\x51\xac\x4b\xce\x64\x59\xda\xa2\x5c\xb6\xc6\xeb\x0f\xe8\xdd\x8d\x02\xd8\x89\xcd\x83\xd8\x0f\x82\x41\xf7\x1b\xea\x22\xa4\x88\x08\x38\x94\xf1\x95\x5a\x41\xb6\x67\x85\x8d\x8d\x3e\xad\xe6\xb1\x24\xed\xbb\x7e\x42\x4b\x09\x16\x03\x87\x9b\xe5\x24\x80\xa7\xd7\x9f\xd8\x76\x6a\xc5\x10\x47\xbd\x30\xb2\xa3\x8f\x2b\x8c\x01\x73\x7d\x85\x17\xf8\x12\x6f\xf1\x6b\x7c\x83\xcf\xf1\x47\x7c\x8d\x2f\x14\x61\x11\xe0\x6d\x14\xe0\x8b\x28\xdc\xe1\x97\x24\x3e\x1d\x07\x78\x14\x04\x33\xfc\x9c\xfc\x4e\xf1\x0b\x32\x18\x05\xf8\x33\x09\xf0\x2b\x62\x31\xe7\xfa\xe8\xfc\x44\x6a\x0e\xca\x24\xfd\x42\x4a\x46\xca\x24\xbc\x23\x36\xf3\xae\xd3\xbe\xd3\x3c\x5b\x7d\x4e\x63\x73\x16\x57\xe7\x69\x75\x90\xfc\x93\xde\xdd\xb9\xff\xa4\xc4\x11\xfc\x7a\xcd\x58\xea\x80\xd8\x65\xea\x7e\x43\x0f\xc5\xd4\xbd\x0a\x2a\x0b\x96\x4a\xfa\x67\xd7\x6d\x26\xbc\x16\x0b\x36\x0d\x07\x41\x14\xa2\x1d\x76\x74\x75\x28\x72\x04\x87\x1e\x7f\xb1\xfa\x27\x55\x6d\x90\xf5\x3b\x55\xe5\xce\xf0\x8d\x65\x65\x5f\xec\x97\xa4\x49\xba\x03\x25\xe2\xd7\xaa\xdc\xdb\xe4\x86\xa5\xef\xe7\x99\x48\x53\x07\x21\x6c\xa8\xaf\xe6\x7d\x84\x96\x6c\x1d\x08\xba\xdb\x96\x3d\x96\xe4\x62\xf2\xaf\x74\x6a\x9d\x88\x6a\x55\x35\xc9\x3e\xad\xaa\x60\xcf\x87\x55\xf7\x05\x31\x1e\xde\x0c\xe1\x79\x77\xd7\x5c\x20\xa0\x70\x8a\xb4\x9b\x2a\x17\xa6\x2b\x3a\xa8\x43\x1f\xb2\x2f\xb5\xfb\xbe\x97\xda\x3b\xfa\x62\xba\x88\x83\x59\xc4\xc0\x91\xb7\x7a\x09\x67\x51\xd6\x1f\xe8\xe3\x65\x8f\xf3\x73\x63\xb7\xb0\x08\xf8\xa4\x22\x03\x31\x03\x1a\x1e\xab\xef\x52\x7d\x97\xfa\xbb\x54\xdf\x25\x7c\x97\xfe\xc5\xec\xde\x00\xf4\x19\x51\x6c\x31\x16\x84\xf5\xb3\x78\x30\x9b\x34\x87\x4a\x60\x33\x14\x3d\x75\x2e\x74\x05\xde\x46\x49\x4f\x1d\x0a\x5d\x81\x2f\x22\xb1\xd3\x1b\x78\x57\x82\xaf\xf6\x52\x76\x30\xfc\x5c\x83\x48\xe7\x63\x7c\x71\x5f\x8e\xc8\xdd\x6f\x1f\xa0\x0b\x0d\x01\x82\x81\xfb\x1d\xee\x57\x64\xe9\xe3\xe4\x0b\x30\x0a\x4f\x6a\xc9\x94\x07\x0c\xb1\xe1\x17\x80\xf8\x45\x16\x71\x8b\xb9\x0e\x1d\xfd\x15\x15\xdb\x4c\x88\xbe\x89\x29\x5c\x4f\xc1\x54\xd7\x0d\xed\x98\x5a\xef\x0f\x0b\x75\x58\xf7\xf3\x4a\xdd\xe5\x77\x1a\xc5\xba\xf7\xd0\x77\xc5\x52\x45\xcf\x55\x9d\xf3\xbd\x4b\xdf\x87\xaa\xbb\x24\xb2\xd3\x39\xa8\xe6\x12\xba\xd6\xb8\x35\x7a\xa8\x92\x97\xad\x95\xbc\x54\x95\x54\xdc\xee\xa3\x2a\x7a\x41\x3c\x10\xf9\xbc\x50\x45\x6f\x1e\x57\xe6\x9c\x48\x7c\x43\x64\xe9\xc2\x67\x1f\x4f\x73\x14\x9d\xab\xda\xb6\x8f\xab\xed\x9a\x48\xfc\xf1\xc1\xda\xae\x9b\xe2\xa8\xef\x8c\x38\x0a\x68\xdc\x6f\x28\xfe\x27\xc5\xbf\x53\x12\x07\x38\xec\x07\x70\x6b\x36\x17\xa9\xc8\x88\xe0\xd8\x56\xa7\xf6\xa5\xd0\xbe\xc0\xee\xd3\xa1\xc9\x56\xe7\x2e\xf2\x1c\x07\x1a\x5b\xe7\x29\x49\xb5\xb5\xd1\xbf\x29\x49\x6d\xb5\x6c\xce\xae\x9f\x08\x3e\xf9\x37\xf5\xcf\xc1\x1e\x9b\xb5\x5a\x61\xf3\x3a\x72\xbd\x7f\x7c\x60\x69\x39\xe5\x51\x88\xb0\xaa\x29\xe5\x7a\xa7\xad\x8d\x3a\x91\xfe\x49\xfb\xea\x08\xff\x37\xf5\x17\x34\xbb\xf8\x2f\x37\xc0\xbb\xba\x09\xdd\x40\xb6\x3a\x6f\x0b\xdb\xd5\xde\x2b\x2d\x02\x5c\xcf\x53\x92\x6b\xd8\xfc\x40\x49\xde\x02\x9b\x1f\xbe\x00\x1b\x76\xfd\x24\x6f\xb6\x30\xaf\x65\x15\x61\x10\x98\xe6\xbc\x9f\x68\xf7\xe0\x8a\x00\x46\x86\xd0\x0e\xff\xf0\x20\x74\xee\x6f\x02\xbc\x69\xeb\x06\x7a\x5f\x6a\xa0\x1d\x3a\xcb\xfd\x8a\x0d\x74\xf4\x12\x02\x18\xa5\xf4\x9c\xac\x35\x8c\x7e\xa2\x24\x3c\xc1\xff\xa1\xc4\x3f\x1d\x05\x47\xc7\x98\x2b\x56\x5b\x0a\x12\xfa\xc1\xc9\xc9\xc9\x10\x33\x41\xd6\x2d\x30\x64\xe2\x8b\x30\x5c\x73\xf7\xeb\xa0\xa6\x73\x50\xfd\x73\x8e\x76\x98\x89\x2f\xc0\xb0\x6a\xe2\x71\x50\x6b\x6b\xa0\x1d\x86\x2b\x03\xc3\xf4\xa0\x88\xd0\x60\xdf\x1a\x5b\x3f\x41\xb6\x2d\xd0\xc9\xee\x81\xce\x23\x76\x85\x09\x90\xa1\xf7\x7c\xa9\x2a\xb1\x32\x6a\x1e\xfe\x39\x2e\xc8\xb0\xba\xa7\x97\x77\x77\xec\xee\x2e\x9b\xba\xb2\xd3\x29\xce\x24\x08\xaa\x0a\x30\x64\x28\x8c\xe7\x9b\x02\xe1\x4c\xbd\x65\x60\xc9\x54\xe8\x3d\xb7\xb5\x26\x66\x30\x1a\x61\xd9\xe7\x08\x37\x52\xd8\x41\x4a\xd6\xe7\x08\xa1\xc8\x14\x87\xc8\x1c\x68\x87\xb3\x07\x27\xe8\x91\x28\x60\xcb\x5d\xb3\xe9\xb3\x72\xf7\xaf\xca\x87\x73\xdd\x88\xc2\x77\x87\x93\x74\x6d\x26\x29\xc3\xa6\x90\x5d\xe4\x7e\x7c\xea\xfc\x5f\xc7\x3b\x2f\x8b\xa2\xea\x71\x55\x3f\x9e\x1b\xec\x5d\x88\xea\x0e\x94\xa6\xc9\x9c\x9d\xa7\x05\x8b\xc2\xd1\xf1\xe9\x60\x78\x32\xc4\x94\xcb\xe4\x53\xc1\xae\xd7\x89\x64\x51\x38\x3e\x3a\x3a\x1a\x1e\x8f\x30\xfd\x54\xd0\x68\x3c\x1a\x0d\xf5\xe3\x25\xcd\x12\xce\xa2\x93\xe1\xc9\xc9\x68\x7c\x84\xe9\xe7\x22\xd3\x55\x1c\x85\xc7\x23\x7c\xce\x92\x95\x2a\x1b\x86\xa7\x83\x71\x80\xcf\x93\xfc\x93\x6a\x61\x7c\x7c\x1c\x0c\x8e\x8e\xf0\x79\x4a\xe7\x17\x51\xa0\x7e\xf9\x7c\xcd\x16\x34\xbd\x14\x7c\x01\xdf\x07\xc1\xd1\x08\x43\x7f\xd4\xec\xa8\x87\xab\x44\xa4\x4c\x46\xa7\xc1\x68\x34\x08\x06\xf8\x3c\x13\xd7\x3c\x0a\x83\x93\xc1\xd1\x60\x78\x84\xcf\x8b\x2c\xdd\x5e\x0b\xb1\x88\xc2\xa3\xd1\xe9\x78\x30\x0c\xf1\x9c\x2e\x98\x84\x2a\xc6\x83\xf1\x78\x34\x38\xc1\x40\x4d\x65\xac\xc8\x75\x87\x87\xa3\x01\x9e\xaf\xc5\x1c\xa8\xcb\x28\x1c\x1e\x9f\x9c\x1e\x1d\x07\x78\x2e\x32\x9a\xaa\x4e\x1c\x1d\x0d\x8e\x07\xea\x95\x2f\x53\x71\xcd\x32\x5d\xd7\xe8\x34\x3c\x3d\x09\x21\x39\x4f\xd2\x0b\xe8\xed\x68\x78\x72\x82\xe7\x59\x72\x99\x0b\x1e\x85\x47\x47\x83\xa1\x42\x08\xf3\x2d\xe5\x06\x54\x6a\x15\x69\xe8\x0e\x4f\xe1\x05\xbe\x0d\x47\xc7\x83\x21\xbc\xae\x44\xba\x60\x3c\x53\xdd\x1f\x04\xa7\x83\x53\x93\x6b\x95\xd1\x6d\x14\x86\x61\x78\x1a\x84\xc7\x26\x85\x31\x1e\x0d\x46\xe3\x20\x28\xdf\xf7\x72\x5c\xac\xe9\x45\x12\x85\x83\xa3\xe1\x70\x30\xd2\xd5\x5c\xd2\x15\xe3\x92\x46\xa7\x61\x70\x3a\x3e\xd2\x2d\x8a\x34\xb9\x62\xba\xb6\xd1\xe8\xf4\xf8\xf4\x54\x67\x15\xda\x43\xa1\x1a\xfd\xf1\x68\x10\x98\xb4\xf9\x3a\x59\x44\x61\x10\x1c\x05\x41\x38\x80\xb4\x8c\x2d\xa0\xba\x51\x70\x04\xef\x39\xcc\x5d\x14\x8e\x86\xc1\xc9\x51\xa8\xcb\xe5\x8c\xea\x06\x4e\x8f\xc2\xd3\xd3\x50\x37\x00\xe4\x2a\x80\xe2\xe8\x78\x78\x34\x3c\x3a\xae\x53\x61\xb4\x0a\x72\x47\xa7\x23\x3b\x95\x35\x53\x65\x91\x7d\x2a\x44\x92\xb3\x68\x34\x38\x3d\xd2\x69\xe5\xe2\x18\x9f\x9e\x8e\x14\xec\x18\xdb\x6c\x12\x0e\x93\x13\x8e\x4f\x55\x23\x8c\x6d\xf2\x8b\xad\x6e\xf8\x34\x1c\x85\x78\x91\x5c\x42\x83\xe3\xd3\xe0\x64\x30\x1e\xe9\x77\x66\xbd\x8b\xc5\xca\xcc\xf9\x20\x08\x86\xe1\xe9\x29\x5e\x26\x19\x3b\xcf\x92\xf9\x45\x14\x2a\x00\x85\x47\x63\xbc\x4c\xd5\x6a\x29\xf7\xc8\xf1\xf1\xe8\x74\x10\xe0\xa5\xc8\x58\x2e\xcd\x54\x0d\xc6\xc3\x93\xa3\x01\x5e\x2a\x46\x37\xa1\xd0\xa3\xf0\x74\x38\xc2\x2b\x9a\xf0\xfc\x5c\x64\x42\x2d\x98\xe3\xa3\xa3\x71\x80\x57\x6b\x91\xcb\xb2\xae\x61\x38\x1e\x1f\x87\x58\xad\x0c\x55\x68\x3c\x3e\x1e\x04\xd8\x5a\x27\x47\xc3\xc1\x69\xa8\x92\xd4\x20\x4e\x8e\x06\xa1\x9a\x0a\xdd\xe6\x70\x70\x3c\x3e\xd1\xcf\x5b\x96\xa6\xe2\x3a\x0a\xc3\xa3\x60\x18\x8c\x46\x18\x86\x58\xe6\x5e\x0b\xce\xb6\x0b\x76\x6d\x36\xec\x38\xc0\x6b\x21\x4b\xb8\x0d\x4f\x8e\x8f\x02\x9c\xf0\x45\x42\xb9\x9a\xed\x70\x78\x34\x3a\x19\x0d\x8e\x20\x69\x25\x00\x8a\xc3\x61\x80\x93\x2b\x91\x6d\x61\xec\xc7\x83\x20\xc0\x66\xf9\x8d\x8e\x4f\x8e\xc7\xe3\x00\xa7\xf4\x8a\xf1\x05\xcb\xa2\x70\x14\x0e\x07\x6a\x65\x94\x29\xe7\x69\x91\xaf\xa1\xdc\x70\x38\x1e\xe1\x94\x5e\x73\xdd\xfb\x93\xf0\x34\x38\x3d\x1e\xe3\x94\x5d\x0a\x3e\x5f\x27\xcb\xa5\x5a\x58\x0a\xb6\x27\x27\x23\x9c\xaa\x63\x47\x6f\xa5\x70\x78\x3a\x1c\x8c\x8e\x74\x92\xd9\xb5\xa3\xe3\x71\x38\x1a\x8e\x4d\x9a\xda\x64\xe1\xd1\xf1\xd1\x68\x74\x7a\xaa\x93\x2a\x00\x96\x80\x19\x1f\x1d\x9d\x0c\x54\xb7\xe0\x2b\xec\xb7\xe1\xc9\xc9\x60\x38\x18\x96\x49\x7a\x05\x9f\x9e\x0c\x46\xe3\x2a\x69\x3f\x57\x09\xb4\xd1\xc9\xd1\xd8\xf4\xb1\xdc\x11\xe3\xe3\xd1\xe0\x78\x3c\x30\x89\xe5\x96\x18\x84\x47\x83\x93\x53\xd3\x6c\xb9\x30\x4f\x4e\x83\x60\x78\x64\x5a\xa9\xb7\xc4\xf1\xc9\x70\x78\x3c\x1a\x36\x92\xd9\x7e\xb2\x64\x2c\x35\x60\x19\x9d\xa8\xad\xa5\xd3\xab\x61\x1e\x1f\x1f\x87\x27\x2a\xf1\x52\xe1\xb0\xc1\x49\x00\x8f\x66\xbd\x0c\x07\xa7\x6a\x2a\xd3\x84\x33\x0e\x20\x19\x8d\x8f\x03\x5c\xa2\x8d\x6a\xc9\x5e\xd2\x4c\x08\x0e\xb8\x73\x1c\x9c\xe0\x4b\xb6\x48\x8a\x4b\xeb\x14\x18\x1f\x0f\x8f\x87\x83\x81\xf9\x60\xb6\xce\xc8\xbc\x96\x58\x64\x30\x08\xd5\xca\x36\xa9\x9b\x22\xdb\xa4\x2c\x3a\x1d\x8f\x07\xe3\x93\xa1\x49\xac\xa0\x34\x3c\x3d\x3e\x09\x4e\xcb\xbc\x35\xea\x38\x09\x4e\x8e\x8f\x4f\x83\x32\x7d\xa3\x0e\x42\x5d\x62\x7c\x14\x8e\x8e\x4c\x7a\x8d\x28\x8e\x8e\x8f\x07\xc3\xa0\xcc\xaf\x91\x85\x5e\xd3\xc1\xd1\x71\x78\x3c\xc4\x97\xc9\x82\xd7\x0b\x6b\x7c\x74\x74\x1a\x0e\xf0\x65\xc2\xe5\x3c\x63\xf4\x52\x9d\x60\x83\xf0\x64\x14\xe0\xcb\x24\x97\xdb\x4c\xe4\xe5\x21\xa6\x8a\x8a\xf9\x9c\xe6\x09\x37\x29\x83\x53\xcc\xe9\x15\xfd\x5b\x54\x38\x61\x7c\x32\x3e\x19\xa9\xc4\x6d\x14\x0e\x4e\xb0\x48\x17\x29\x9d\xab\x2f\xe3\xa3\xe1\x68\xa4\x12\x92\x2b\x06\x7b\x72\x78\x3c\xd6\x6f\x8b\x8c\x9e\x47\xc7\xc1\xd1\xc9\xf1\xf0\x14\xd7\x28\x79\x34\x54\xd8\x45\xbf\x43\xf7\xc7\xc7\x83\xd3\xe1\xd1\x11\x2e\x61\x7b\x34\x0c\x47\x6a\xea\x37\x34\x65\x16\xaa\x18\x8d\x47\xc7\xe1\x30\xd0\xc9\x00\xa6\x30\x08\x06\xa3\x93\x13\x9d\x54\xc3\x29\x0c\x47\x83\xd3\xd3\xf1\x18\x92\x2d\x30\x1d\x0d\x4f\xc2\x41\x30\xc4\x1b\xba\xa1\x5b\x7a\xbd\x4e\x36\x7a\xe3\x06\xc7\xc7\x78\xc3\xe8\x7c\xbd\x29\x96\x4b\x18\xeb\xf1\xf8\x78\x88\x37\x2c\x2b\x14\xbe\x18\x9f\x9c\x9e\x86\xb8\xdc\x1b\xe3\x30\x18\x8e\xf0\x26\x2d\x2e\xd5\x19\x3d\x38\x1a\x0f\x8f\xf1\x46\x5c\x2f\x0c\x92\x0d\x43\x75\xb2\x86\x01\x36\x4b\x42\xad\xb2\xe3\xe1\x18\x67\xec\x9c\xcd\xe7\xd4\xa4\x8e\xc7\xa7\xc7\x27\x27\x21\x36\xc3\x0f\xc3\xf1\x49\x80\x33\x91\x6f\x0d\x3d\x30\x18\x8e\x8e\x47\xe1\x29\xce\xc4\x96\xea\xfd\x70\x34\x38\x19\xab\x63\x22\xa7\x8b\x45\xca\x74\xb6\xd3\x70\x70\x1c\x9e\x1c\xe3\x6a\x8f\x1e\x85\xe3\x93\x93\x01\xce\x29\x5f\x94\x35\x8d\x83\xe1\xe0\x64\x7c\x84\xeb\xc5\x18\x8c\x82\xe1\xe0\x58\x25\xe4\x6b\x96\x02\x89\x70\x7c\x34\x1e\x9e\xe0\x3c\x61\x9c\xd3\x28\x0c\x46\xc1\xf8\xf8\xf4\x18\xe7\x49\x7a\xa5\x50\xde\x60\x3c\x1c\x28\xac\xd1\xd8\xdf\xc3\x10\xd7\x0b\x79\x7c\x7a\x1c\x04\x63\x93\xa2\x37\xfb\xf0\x78\x70\x7a\x74\x84\xad\x7d\x5e\xa6\x70\xb3\x91\x47\xa7\xc3\x00\x37\x16\xfd\xe8\x28\x38\xc6\x35\x0a\x38\x1a\x0f\x82\xd3\x93\x00\x4b\x85\xfe\x86\x6a\xb3\xa8\x17\x46\xd3\x68\x38\x38\x39\x1d\x03\x1d\x29\x53\x16\x85\x47\x83\xe0\xe8\xe4\xe4\x04\x4b\x71\x49\xa5\x00\xac\x7f\x1c\x9c\x8e\xb0\xb5\x73\x06\xa3\xf0\x64\x34\xc6\xe6\x80\x0d\x47\xe3\x61\x18\x9c\x8c\xf1\xf5\x9a\x51\x09\x94\xdd\x50\x8d\xa8\x3e\x00\x8f\x07\xe1\x48\xbf\xe6\x97\xe2\xa2\x24\xfe\x4e\x46\xd8\xc2\x44\xe3\xd3\x71\x60\xde\xcb\xe5\x18\x1e\x8d\x82\xe3\xa3\x1d\x9a\x14\xe2\x1e\xa7\x40\x85\x30\x5e\x81\x5e\x83\xb2\xa4\x76\x01\x01\x59\x44\x46\x5e\x72\xf5\x76\xb3\xce\xc8\x73\xee\x6e\xe1\xd3\x22\xbf\x7a\xd0\x0e\x07\x27\xe8\xb6\x55\x01\x2e\x21\x0c\x1b\x25\xc8\x89\x36\x4d\x7e\xa1\x95\xe6\xb4\x1c\x8a\x4d\xb3\xa8\x80\x08\xf8\x96\x23\xbf\xcc\x76\xc0\xfb\x80\xd9\x00\xad\x1c\x16\x1b\xcd\x29\x97\x11\x8e\xa0\x46\xae\x23\xa7\xd3\x56\x35\x84\x27\xec\x4b\xfe\x95\x8b\xb6\x98\x21\xf2\xa0\xbc\x6c\x94\xc7\xdc\x0e\xcf\x91\xd8\xe1\xd9\x81\x2d\xa0\x48\x07\x1c\xe2\x8d\x38\x0f\x75\x43\x42\xab\x20\x72\x34\xfd\x87\xf3\x0f\xaf\x76\xad\xd0\xff\xe0\xf4\x57\xf8\x1f\x8e\xf3\x0f\xe4\xfd\xc3\xf9\x47\x54\x9a\x8b\x28\x76\xe8\x1d\x5b\xbd\xbc\xd9\xb8\xff\x88\x55\x09\xcf\xf9\xc0\x67\x0e\x82\x00\x61\x8a\x3a\x7f\x21\x16\xec\xb9\x74\x03\x4b\x07\x09\xfa\xdd\xa2\xf1\x93\xed\x65\x79\x27\xae\x73\x97\x63\xdb\x52\x14\xae\xe2\xb2\xca\x9d\x8f\x4a\xea\x19\x0e\xb4\x80\xbe\x7c\x5f\x66\x76\x16\x0e\x76\x4c\xbe\x5b\xc7\xdb\xf7\x14\x6f\x29\x59\x81\xaf\x6b\xad\xda\xaa\x0d\x8d\x3d\x27\x7a\xb2\x88\x21\x88\xcb\xcc\xd9\x19\x80\x39\xd8\x41\x9e\xb3\x73\xd0\x24\x23\x72\xda\xec\x53\x65\x31\xaa\xa6\x0c\x33\xb4\x8b\x8a\x9d\xe2\xd5\xeb\x61\xdc\xbf\x6e\x61\x44\xf9\x19\x99\x57\x6e\x39\x26\xc9\xd2\x2d\xca\xb7\x82\x3c\x0d\x71\x62\x58\xec\x1c\xb4\x71\x8f\xc0\x1b\xa1\x05\x5b\x89\x1a\x8e\xfb\x26\xcc\xf3\x9e\xcd\xc1\xac\xf7\x30\x2f\x43\xd0\xe0\xf0\xe8\xe9\xfe\x07\x2f\x44\xe6\x72\xd6\xf3\xd8\x2e\x27\xcc\x1b\x18\xe7\x40\x07\xf9\xca\x79\x0a\x87\x10\xb9\xcb\x2d\xc8\xd3\x00\x87\xc1\x41\x5b\xde\x00\x75\x3a\x9e\x97\xa3\x08\x3e\x66\xe0\x9f\xf5\x69\x80\xb0\x65\x76\x8e\x19\xaa\x17\x99\xa3\x17\xd9\x3f\xb4\xbd\xf6\x64\x7e\x96\x4f\xaa\x58\x01\x76\xcd\xb9\xe7\x21\x2c\x74\x34\x57\x5d\x35\x52\x15\x57\x9e\xc5\x74\xc7\xd0\x3d\xfd\xca\x51\xa7\xe3\x7a\x5e\x8e\x3d\x4f\xd4\xde\xc8\xb2\xa7\x84\xa4\x68\x2e\xb8\x4c\x78\xc1\x6a\x75\x3f\xd3\x53\x9c\xf7\x44\xa5\xb3\x5e\xa5\xd6\xb1\xcf\xb4\xf1\xd6\xed\x0e\x53\x70\x5e\x43\xe2\x19\x9e\xd7\xb6\x80\x39\x68\x69\x04\x13\x37\x23\xcc\x45\xe8\x29\x21\x74\x52\x4f\xda\x1a\xfc\x1d\x3d\x25\x24\xe9\x74\x32\xfd\x6d\x5d\xda\xde\x60\x28\x31\x91\x9d\x8e\x41\x2f\x6b\x50\xb0\x5c\x7a\x1e\x42\x77\x77\xc6\xa8\x6c\x5d\xf5\x4c\xa8\x65\xb7\xdc\x0f\xb8\x0f\x73\xde\x74\xb7\x06\xe1\x31\x51\xb5\xe1\x74\x11\xd8\x71\x12\x95\xf3\xce\xae\x9f\x5c\x6a\x03\xa6\x0a\x87\xb4\xe9\x78\x34\x3c\xfc\x70\x94\x81\xc5\xa1\x44\x77\x77\xa5\x5b\x39\xf0\x42\xa4\x31\x7c\x5c\xec\xa1\xa1\x2a\xe6\xb0\x3c\xd0\x60\x2c\xb7\xc0\x7d\x41\x1e\xa8\x2b\x63\x3e\x43\xbb\x1a\xa5\xa1\x72\xb3\x7e\x00\xf5\x4a\x7b\x58\xed\x9e\x63\x54\xcd\xc9\x5e\x21\x90\x98\xcd\xf3\x2b\xa2\x8f\x1c\xb5\xf3\xb1\x23\xd9\x8d\xec\xcf\xf3\x2b\x07\x4e\x22\x69\x7d\xfd\xff\x94\x5f\x25\x3d\xef\xe5\x6c\x43\x33\x2a\xd9\xa2\xa7\x5d\x24\x19\x2f\x7e\x89\xc0\x54\x60\x21\x70\x2a\xf0\x5c\x3b\x12\x89\x6f\xf4\x7d\x9e\x93\xb1\x4f\x05\xcb\xe5\x73\x9e\x5c\xc2\x35\xc3\xf7\x19\xbd\x64\x0e\x9a\xdd\xdd\xd9\x3d\xb6\x2e\xa8\x39\x0e\x8f\x11\x38\x89\x80\x98\x26\xb6\xb8\xe8\xd3\x3d\x26\xb1\x5a\xd3\x14\x22\xe2\x2c\x15\x93\x66\x97\x79\xc7\x5d\x84\xbf\xe3\x46\xce\x9a\x89\xe2\xc0\xe3\x52\x39\xf9\xfa\xda\x19\x72\xb8\xbc\xeb\xca\x5a\x5a\x16\x82\x47\x09\xd4\x97\x91\x9d\xc5\xc8\xa4\x72\x41\x62\x67\xeb\x60\xe7\xb3\x83\x1d\xea\x60\x67\xe9\x60\x67\xe3\x60\x87\x3b\xd8\xf9\x70\x73\x3e\x72\xb0\x73\xe9\x60\xc7\xc1\xce\x85\x83\x9d\xd7\x0e\x76\x7e\x70\xb0\xf3\x8b\x83\x9d\xb7\x0e\x76\x5e\x3a\xd8\xf9\xcb\xc1\xce\x9f\xce\x0c\xa6\xeb\x57\x0e\x9e\x5e\xf5\xcc\xbe\x05\x17\x19\xad\x0e\x71\x4a\x99\xa3\xcb\x89\xc7\xd5\x8e\x0f\xce\xc0\xe6\xae\x4b\x7a\x21\xc2\x52\x07\xaf\xa0\x65\x5f\xf1\x5b\x5d\x18\x21\xcc\x48\xe8\x59\x37\xea\x21\xeb\x85\x03\xaf\xba\xa8\xe7\xd5\x35\x7d\x18\xa8\xbc\x95\x34\xb7\x37\x38\xb2\x04\x90\x47\x78\xd8\xb5\x2a\x71\xd5\x31\xd5\x1f\x22\x55\x7f\x2e\xe2\x13\x8f\xf5\x87\x46\xdb\x76\x29\x48\xdf\x9d\x46\x6e\xfc\x3f\xb7\x33\x34\x75\xe3\x67\x67\xe4\x7f\x66\x48\x3d\x79\x1f\x7a\x4f\x20\xe9\x9b\xff\xab\x7e\x02\x34\x75\x3f\x2c\x3c\x34\x75\xb1\x7a\xf2\x7b\x53\xfd\x16\xd3\xde\xe7\x6f\x67\x68\xda\x4f\xf0\xba\x16\xff\x9d\xb7\xf9\xf5\xe2\x95\x90\xd1\x1d\xa0\x1d\x9e\xb7\xe5\xd1\xdf\xfd\x65\x26\x2e\x5f\x18\x9c\x09\xfa\x0f\xe2\x0b\x15\x9e\xa0\x1d\xbe\xf9\x42\x9e\x70\x8c\x76\xf8\x8f\x2f\x67\xf2\xa5\xf8\x75\xb3\x61\xd9\x0b\x9a\x83\x15\xda\xaa\xdd\x4f\xa2\x2a\xf4\x36\x63\xf3\x24\xd7\x18\x63\x87\xd9\xfd\x19\x5f\xde\x6c\x04\x67\x5c\x26\x34\x85\xac\xcb\xfb\xb3\x7e\x9f\xdc\xb0\x05\x64\xca\x5a\x33\xdd\xb3\x72\xaa\x92\x96\x84\xbf\x5e\x11\x01\x64\xec\xba\xa1\xa7\x56\xd4\x08\x42\xab\x6b\xc7\x67\x2b\x98\x35\xb5\x3d\xd5\xd1\xb1\x11\xa0\x5f\x36\xf9\x97\x2d\xa5\xbf\x5d\x31\xa9\x52\xa3\x7b\xee\xda\x3e\xfa\x2b\x26\x7f\xfd\xe5\x05\x44\xf5\x50\x00\x53\xd9\xb7\x5f\xce\xbd\x35\x99\xbf\x2f\xd2\xf4\x4f\x46\xb3\x2f\x95\x28\xf3\x99\x62\xff\x12\x45\x96\x7f\xa9\x0c\x64\x32\x05\x5e\x27\x69\x9a\xe4\x6c\x2e\xf8\xe2\x8b\xe5\xec\xbc\x55\x71\x5e\x48\xf6\x88\x92\x90\xad\x2c\x24\xb8\x5c\x7f\xb1\x88\xca\x64\x0a\xbc\x7f\x5c\xff\xde\x37\xba\xa6\xb0\xf3\x83\x25\x54\x06\x2b\xef\x67\xc1\xd9\xcf\xcb\x65\xc3\x07\x68\x55\x2a\xd8\x69\x17\x7b\x3f\x2f\xef\xaf\xd2\x64\x50\x55\xe6\x87\x8b\xe3\x0a\x78\x2b\xb3\x22\xac\x43\xc1\xff\xd8\x38\x16\xf2\x83\x75\x62\x15\xdc\x3e\x58\xae\x6d\xc9\x54\x85\xcb\x8f\x0f\xd6\x70\xb0\x7a\xaa\xe2\xf0\xe5\xc1\xb2\xf7\x2d\xa4\xaa\x0a\x3b\xc3\x17\x6a\x3a\x58\x53\x56\x25\xf0\xed\xe1\xf2\xfb\xcb\xab\x2e\xad\xbe\x3c\x58\xb6\x65\xa5\x55\xa5\xdf\x3f\xa2\xef\xfb\x8b\x4e\x17\x56\xa9\xf7\x16\xd3\x87\xce\x95\x46\x32\x35\x86\x99\xac\x04\x44\xd5\x22\x3f\xf3\xd6\x78\x5a\x64\x25\xfc\x05\x35\x6e\x98\xca\x51\xbb\x01\x0e\x11\xe6\x3b\xdc\x44\x92\x90\xa1\xc2\x14\xdc\xb7\xf0\x8b\x8b\x3c\xc0\xbd\x6d\x07\x40\x23\x1b\xa0\x45\xe8\x51\x4e\xcc\x83\xd6\x20\xaf\x92\xfd\x42\xce\xab\x4f\x85\x9c\xd7\x9f\x17\x74\xbb\x3f\x8c\xda\x71\xe6\x46\xb8\x03\x36\xc4\x41\x23\x44\xd1\xbd\xbd\xc5\xf0\x6e\x90\x83\x7e\xd1\x28\x16\x61\xd9\x3a\x6c\x1d\x56\xa9\xce\xf7\xe0\x70\x75\x96\x5e\xa8\x07\xbb\xa0\xdb\xdc\x80\xb9\x31\x96\x6a\xa4\xea\xc3\xfe\x40\x7f\x5e\xaa\x8e\xb6\x18\x7f\x18\xc8\x58\x86\xe9\x36\x39\xc2\x7b\xb2\x37\x66\x47\x5d\xdd\xd5\x26\x3e\x72\x51\x4f\xb6\xa5\x22\xd4\x3f\x19\x1f\xb1\x11\xda\xe1\xd8\xc9\x0b\xbe\xa0\x5b\xb0\xa4\x32\x0f\xb2\x60\xb9\x7e\xba\x66\x0b\x5e\x3e\xcb\x75\x91\x99\xc7\x65\x96\xe8\x87\x9c\xca\x22\x53\x8f\xb3\x7b\x04\x43\x92\x1c\xf7\xe4\x44\x93\x71\x2b\x11\xf3\x59\xfb\xaa\x74\xad\x55\x89\xda\x80\xdf\x2b\x5f\xb6\x30\x11\xdf\x1e\xdf\xb7\x58\x0f\x66\xed\xb8\xdb\xd0\xa9\xdc\x9b\xc3\xb2\x67\x25\x84\xab\x46\xda\x40\x6d\xcf\x93\xcb\x91\xe7\x32\xdd\x95\xfe\x31\xea\xb9\xec\x29\x21\xe0\x13\x5b\x0d\xd3\x73\x72\x67\x46\x58\x35\xbf\x26\x05\xa6\x9f\x35\x66\x5e\x7d\xd1\x35\x3a\xb3\x83\xb9\xff\x6f\xf4\x4c\x93\x25\xfe\x35\x63\x17\xaa\x36\x3d\xdb\x65\x4a\x5e\x27\xd5\x6b\x11\x3e\x94\x2b\xd5\x7c\x6c\x2c\x56\x95\xc1\xac\xd6\x2a\x87\x7e\x87\x99\xbe\x14\xe4\xd6\xe9\x39\x91\xe3\xe0\x8f\x91\xf3\xc4\xc1\x41\xe4\x04\xce\x0e\x6f\x05\xe9\xff\xcf\x87\xbc\xfb\x61\xe1\xf5\xf1\x6b\xf5\xf2\x6d\x5f\xd1\xff\xe0\xe9\xad\xcd\x88\xeb\x56\x87\x6d\xd3\x81\xd4\xa2\xbf\x39\x18\x43\x27\x97\xcc\x24\xfc\x09\x8c\xa2\xf1\xe4\x0d\x84\x97\xae\xc9\xbd\x5d\xb0\x79\x72\x49\xd3\xc8\xf1\x1d\x2c\xd7\xa2\xc8\xa9\x42\xcd\x8a\xfb\x5b\x65\xa2\xd8\x24\x7c\x15\xc5\xc3\x19\x9e\x17\x59\xc6\xf8\x7c\x1b\xc5\xce\x37\x8a\x6b\x99\xe1\x05\x95\x0c\x30\xb1\xf3\x2d\x7d\xf2\xed\xf9\x93\x6f\xd9\x93\x6f\xff\x78\xf2\xed\x9f\x0e\x7c\x89\x9c\x6f\x2f\xfb\xdf\x2e\xfa\xea\x5d\xea\x5c\xff\x8a\xbe\x7d\x1d\x7d\xfb\xde\xc1\x1b\x96\x25\x62\x91\x47\xb1\xf3\x5c\xb1\x3d\x6f\x5f\x43\x6d\x5b\x95\xf0\xbe\xdc\x60\xaf\xcb\x0d\xf6\x4b\xb5\xc1\x7e\xb7\x36\xd8\x2f\xf5\x06\xfb\xbe\xdc\x60\xef\xab\x0d\x86\xff\x4f\xbe\x16\x99\x5a\x02\xa6\x4e\x5d\xa1\xae\x4d\xd7\xa4\xeb\xd0\xc5\x75\x59\x67\x86\x2f\x15\xc6\x53\x45\xfe\x4d\x79\x41\x33\xa8\x9d\x9d\x67\xe6\xf1\x35\xcd\xe6\x6b\x07\x3b\xcf\x37\x59\x92\xc2\xbb\x4a\xfd\x77\xc1\x19\xfc\xa4\xea\xed\x79\xb1\x2a\x72\xa9\x2a\x64\x1b\xc9\x20\x90\x1e\x76\x7e\x9e\x4b\xa1\x9f\xde\x88\xab\x32\xf1\x3b\x36\xd7\x8f\x33\x0c\x9d\x7d\x6d\xb5\xad\xdb\xd5\x4d\xea\x06\xed\xe6\x74\x6b\xba\x31\xdd\x92\x6e\x43\xd7\xaf\xab\x76\x66\x3b\x8b\x5f\x24\x37\xc2\xb7\xd7\x87\x62\x79\x57\x4c\x28\xba\x3b\x97\x36\xbd\x9d\x47\x01\x96\x51\x70\xe0\x20\x79\x09\x5e\xec\xc1\xbd\x18\x3e\x17\x08\x2f\xa5\x7b\x2e\x4a\x7d\x2e\xfd\x53\x3a\xb2\xd2\x1e\x65\xa4\x47\xce\x85\x2f\xb5\x0b\x99\x1c\x9e\x77\x38\x63\x7b\x74\x9f\xf9\xaa\x4b\x90\x2f\x93\x7f\xb9\x59\xc1\xe7\x5a\x02\x9b\x83\x5d\xcc\x8a\x09\x3f\x97\x19\xa3\xfb\xe6\x94\xbc\xd3\xf9\x28\x0e\xfc\xf0\xfa\x6a\xa4\x68\xfa\x51\xc4\xfa\x71\x06\x99\xa3\xb5\xf1\xd3\xaf\x1d\x23\x0b\x72\xfb\x3d\x53\xcb\x69\x9f\xb3\x52\xd9\x54\x8b\x97\x4c\x66\x5b\xf0\xb4\x60\xf2\xbd\x10\xa9\x71\xa7\x71\x9f\xb7\x5c\xc2\xfd\xa5\xce\x9b\xe3\x8c\x40\x1c\x10\xb6\xe7\xbc\x79\x2d\xc1\x17\x53\xa3\x81\x1d\xbe\x16\xe4\xf6\xfd\x66\xcd\x0e\x3a\x23\xfd\x1c\x92\x15\x31\xfc\x56\x24\x7c\xdf\xaf\x3e\x27\xdc\x9f\x0b\x91\x2d\x12\x4e\x25\xcb\xb1\xf4\x37\x2a\x17\x98\x8e\x80\x09\x20\xe6\xf1\x60\x86\x76\xf8\x75\x91\xca\xa4\xad\x06\xbb\xf3\x76\x4d\xf7\xf4\x9f\x6b\x2f\x54\xf7\xb6\xf3\x2a\xe1\x4c\xb3\xbb\x7b\xed\xac\xa4\xbb\xd7\x55\xf0\x57\x0e\xfd\xba\xb7\xd0\x57\x76\x6e\xa5\x81\x6b\xaa\x7e\x2b\xd2\xed\xea\x60\xb2\x36\x07\xfd\xa8\xa1\xd3\x96\xff\x2b\xbb\xb0\x29\xbb\x80\x76\xf8\x07\x33\xc7\x8f\x5a\x38\x66\x41\x24\x5f\x5c\x3a\xb0\x62\xca\x5d\x41\x33\xd6\x1a\x21\xf2\xbd\x20\x01\x6e\xec\x1c\x97\xe3\x37\x02\xe1\xf7\x42\xaf\xff\xf7\x02\x5f\x94\x5b\x0c\xbf\x11\xe4\x36\xdf\x5b\x7e\xe8\xf6\xbd\xf0\xc8\x51\xf7\x6f\xaa\x38\x77\xb5\x6e\xce\xe1\xd2\xfd\xbd\xa4\x59\xf9\xfc\x92\x2f\xa2\x73\xbc\xd1\x70\xd3\x1f\x6c\x25\x7c\xe1\x03\x3a\x70\x11\x7e\x23\xfc\xaa\x2c\xb9\x92\xbb\xb2\x8c\xaa\xe0\xc0\x24\x60\xd0\xbd\x10\x13\xd5\x78\x70\xc6\xa7\xaa\x03\x1e\x8f\x78\xb3\x0a\xf3\xf2\x92\x2f\xd4\x23\x74\x8f\x9c\xd7\x50\x39\x17\x05\x5f\xe4\xf7\x99\xea\x2a\xc8\xbf\xd6\x02\xdc\x1b\x12\xe7\x84\xe3\x35\xe1\x33\x84\x97\xa0\xb6\xb7\x24\x12\x61\x79\xb6\xea\x74\xdc\x15\xb1\x6f\xad\x74\xb0\x74\x23\xb4\x5f\x48\x37\x96\xdd\x1f\x29\x66\xdd\x1f\xa9\x76\x23\x76\x59\xba\xfa\xdc\x4a\xf7\x12\x67\x08\x27\x24\x2e\xd4\xce\xe8\x15\x6a\x93\x04\x33\x4c\xd5\xa7\x04\x17\x68\x72\x2e\x5d\x8a\x30\x25\x1f\xd5\xaf\xb1\xc0\x93\xbd\x0d\x9e\x93\xf4\x2c\x98\x86\x51\x2f\xc4\x57\x84\xc6\xc1\xac\xfb\x27\xed\xce\xc1\x98\xda\x4d\xd1\x59\x78\x02\x01\xb2\x16\xff\xe3\x5e\x9d\xcd\xbb\x9b\x4e\x67\xde\x95\x67\x57\x26\xbc\xc8\x96\xd0\x38\x54\x05\x26\x5b\xd3\xfb\x2d\xaa\x2c\xeb\xae\x88\x7b\xe5\x0d\xc7\x01\xfa\x76\x38\x0e\x7a\xe1\x49\x80\xef\xab\xa4\x57\xd6\xb2\x3c\xdb\x02\x38\xca\x5a\x96\xa0\xc7\xb8\x24\x0c\x61\x66\x1a\x60\x68\xb2\x98\x6e\xce\xe4\x54\xb8\x6a\x1f\x9d\xa9\x9f\x35\xea\x74\xdc\x35\x91\x28\x12\xae\xc4\x6b\x2b\x31\x57\x89\xeb\x33\x92\x4f\xdd\x1c\x40\x9d\x6b\x50\xaf\x4d\x01\x14\xc9\xb3\xcd\xe3\xab\xd2\xbd\xd2\x81\x13\x26\x97\x24\xc3\x1b\x22\x77\x8d\xfb\xa7\x73\xb3\x32\x64\xd3\x2e\xf0\x26\x0e\x66\x24\xc7\x37\x71\x38\x23\x6b\x5c\x66\xe2\xf8\x12\x2e\x52\x0f\x22\x3a\xd7\x53\x9b\x11\xde\xdb\x4c\xb6\x9e\x9a\x8d\x0c\x66\x63\x9a\x79\x6e\x76\x16\x4c\x87\xe3\x20\xea\x29\xf0\x46\x99\xee\xd6\x15\xe1\x78\x41\xd8\xa4\x5c\x9d\x50\x15\xd6\x3f\xf6\x2d\x26\xba\xb5\xd7\xb5\xdb\xb8\xbb\x44\xb7\x85\x7b\x85\x17\xd5\xee\x79\xc9\x17\x2e\xc2\xaf\xa9\xbb\x45\x67\x6f\x29\x40\xa1\xe7\xae\x49\x78\x12\x20\x84\x9b\x83\xda\x1f\x8a\x68\x08\xf9\x64\x8f\x70\xf4\x2c\x98\x4a\xb5\x22\x22\xd9\xb0\x42\xb6\x05\x86\xa5\x95\x77\xc3\xfa\xd8\x96\x9b\xc7\xc1\xec\x19\x38\x2b\x98\xea\x47\xde\xe9\x70\x9d\x10\xf1\x67\x12\x3c\xa4\xab\x97\x67\xfa\x4e\xb5\x8a\x86\x8e\x1b\x16\x5c\xe4\x56\xa3\x17\x6e\xa1\x17\x56\xa1\x97\xec\x5e\xf4\x52\x4e\x5c\x81\xcf\x2d\xcc\x90\x98\x37\x85\x1a\x28\xde\x92\x00\xc3\x14\xd4\x55\xa8\x93\xb4\x1d\xfb\xd4\x19\x35\xa4\xeb\x95\x61\x37\xc0\xac\x06\x32\x1c\x9c\x5d\x88\xa9\x35\x11\x78\x49\x7a\xee\x8a\x9c\x06\x08\x45\xdb\xb3\xb7\x74\xaa\x9e\xa3\xde\x5b\x6a\x36\x53\xef\x34\xd8\x9b\xab\xdd\xee\xc0\xce\x87\xa3\xdb\x15\x59\x93\x9e\x9b\x93\x25\x44\x54\xc2\xaf\xc1\x5b\xd6\x1e\x3a\x3f\x2f\x15\x94\x5f\x5b\x2e\x8d\x00\xb7\x81\xe3\xb6\xd4\xb2\x15\x36\x11\x25\x5e\x6b\x9f\x13\x71\x31\x9b\x48\xe3\x05\x92\x91\xd7\xea\x4c\x99\x9b\x00\xce\xe8\xee\x4e\x3d\x86\xea\x71\xea\x0a\x17\x50\x17\x18\x9d\x9e\x99\x17\x85\xd2\xd4\x16\x54\xbf\x60\xc6\x8a\xb0\x30\x85\xdb\xb3\x05\x33\xb0\x7e\x45\x28\x32\x2e\xe5\x0b\x85\x37\x2a\x67\xea\x98\xe1\x0d\xe9\xb9\x30\x4c\x49\xea\xc0\x23\xc6\xb3\x5a\x12\x4b\xd5\x59\x92\x4d\x0a\xc2\xb0\xee\x71\xa2\x7a\xec\x52\x22\xa0\x13\x58\xd7\x7e\xb6\xe9\x74\xdc\x0d\xa1\x58\x1b\xdb\xe2\x35\x81\x2e\x94\xd7\x87\xaf\xc9\x8d\xb1\x79\xd4\x51\xaa\xee\xee\x96\xfa\x61\x1a\xc7\x6f\xe8\x1b\xfc\x86\xbe\x99\xe1\xea\x69\x16\xc5\x71\x8e\x97\x33\x1c\xaf\xf1\x6a\x36\xdb\xed\x5c\x54\x82\x7f\xce\xb8\xcc\x44\xd2\x74\x33\xfb\x52\x90\xe7\x82\xbc\x10\xe4\xb3\x20\xaf\x04\xf9\x24\xc8\x2f\x82\xbc\x13\xe4\x3b\x41\xde\x0a\xf2\x6b\xdb\x61\xfc\xb7\x28\xa7\xef\x3b\x81\x19\x79\x2b\x70\x46\x7e\x15\xb8\x20\xb2\x2b\x3d\xd6\x65\x5e\xd6\xad\xd4\x06\x7e\xa5\xe0\x0d\x5a\x92\x4f\x2a\xeb\x2f\x2a\xeb\x3b\x81\xdf\xd2\xb3\xe7\x02\x92\x5f\xa8\xe4\xcf\x2a\xf9\x95\x40\xcd\x2a\xb0\x2a\x8b\xa6\xd5\xc8\xa2\x58\x47\x02\x93\x94\x0f\x5c\x86\x25\xea\xfe\x49\xb1\xe4\x6e\xd6\xaf\x0d\x90\x0b\xa4\x52\xcd\x2d\xce\x4b\x81\x9f\x0b\xfc\x42\xe0\xcf\x02\xbf\x12\xf8\x93\xc0\xbf\x08\xfc\x4e\xe0\xef\x04\x7e\x2b\xf0\xaf\x02\xff\x5d\x13\x0f\xe7\x86\x52\x78\x2f\xad\xbd\xfc\x46\x56\x9b\xf9\xa5\xbc\x77\x37\xff\x6d\x1f\xef\xcf\xef\xa5\x10\x1a\xd9\xde\xc8\xdd\x0e\x7f\x2f\xc8\x3b\xe9\x7e\x96\xf8\x6f\x89\xff\x25\x71\xdc\xfb\x9b\xe2\xde\xdf\xb4\x3f\x98\x21\xfc\x2f\x41\x42\x76\x5a\x52\x05\xf3\x34\xd9\xec\x5b\x73\x35\xad\xc4\xb5\x63\xba\x5b\x3d\x47\x6d\x97\x39\x10\x88\xd5\xbf\xa2\x69\xb2\x20\x4f\x43\x05\xea\x04\x22\xea\x94\x49\x01\x2e\x76\x58\x87\xb4\xad\x8b\x8b\x07\x4c\x9a\x12\xf2\x97\x74\x39\xf1\x44\x1c\xcc\x74\x58\x75\xfd\xa8\x96\xb5\x7a\x0c\x67\xda\xfe\x50\x3f\xaa\xcd\xd6\xec\x82\x71\x0a\x84\x30\x45\x51\x1c\x73\x2c\x67\x38\x66\x38\x53\x4b\xb6\xd6\xf8\xd1\x1d\x72\x63\xed\x85\xa8\x32\x8d\x55\xe4\xba\x5b\xc2\x46\xf0\x64\xfe\xf2\x53\x41\xd3\xe7\x0d\x8a\xb2\xea\xfa\x6f\xd2\xfd\x43\xa2\x1d\xf2\x33\x7a\x4d\xfe\x28\xd9\x4b\x9f\xa6\xe7\x2c\xcb\xdb\xad\x4c\x0f\xeb\x75\x91\x9f\x09\x49\x25\x73\xe3\xd3\x31\x0e\x66\xc8\x98\xc3\xb9\x71\xcf\x1f\xe3\xe1\x89\x7f\xac\x5d\x7d\xd2\x34\x65\x69\xee\xc6\x83\x53\x7f\x84\x8f\x46\xfe\x68\x86\xb4\x31\x9e\x1b\x06\xc7\x81\xbe\xcf\xad\x5b\xff\x35\xa7\xf7\x7b\x65\xd1\x7e\x18\x81\x4d\xa1\xe0\xa8\xa4\x92\x8e\x6a\x74\xc0\xdc\x04\x53\x84\xe5\xdd\x9d\x9b\x99\x47\x74\x77\x57\x98\xc7\x5d\x33\x80\x46\xa3\x59\x17\x69\xb3\xcf\x07\x87\x19\x8e\x8e\x9a\xe3\x1c\xe0\xd1\x09\x8c\xc7\x1a\xe6\x68\x84\xc7\x23\x85\x47\x1f\x51\xdd\x71\xb3\xba\x21\x0e\x4f\xfd\xd3\x66\x75\x27\x38\x3c\x01\x4f\xb7\xe6\x60\x6d\xaa\xf4\x48\x12\x73\xcc\xac\xf5\xc1\x8d\x3b\x92\x16\x51\x6b\x62\xa0\x8e\x30\x23\x49\x6d\xc1\x69\xdc\xfa\x2b\xf2\x40\x7b\x27\x90\xb8\x20\xda\x43\x8d\xf6\x4f\x50\xfa\xfd\x73\x8b\x33\xe2\x87\x83\x4e\xc7\x1f\x0c\x8f\x14\x0a\xcb\xce\x48\xcf\x3f\x1a\x8c\x3a\x9d\x9e\x3f\x08\x8f\xce\xb2\x29\x8d\x20\xcf\x78\xbc\x97\x69\x10\x1e\xa9\x4c\x61\x38\x3a\xcb\xa6\x22\x4a\x90\xe9\x25\xdc\xd8\xf2\x43\x69\x80\xd5\x65\x83\x61\x55\xa7\xa9\xf5\x96\x91\x1a\xfb\x96\x52\xc3\x43\x08\x15\x8a\xe7\x2e\x49\xb6\x02\x61\x66\xbf\x64\xd6\xcb\x0e\x1f\x72\x4c\x35\xb7\x8e\x59\xfd\x98\x59\x3c\x7c\x8d\x16\x1b\xc5\x2c\x0a\x10\xb3\xc6\x5b\xd6\xa0\x0e\x2b\x4c\x7a\x50\x5a\x93\x2c\xcc\x7a\xce\xea\xe7\xdd\xbd\x68\x57\xee\xd1\x46\x30\xde\x46\x42\xf6\x48\xea\x49\x36\x89\x27\xd6\x7c\xcd\x1a\xaf\xbb\x9d\x9a\xc3\x4d\x79\xc1\xfd\x38\xeb\xcf\xa4\x2e\xe0\x4a\x84\x69\xf3\x55\x34\x5f\x39\x50\x1b\x55\x0a\xfa\x4a\x23\xe1\x72\xe1\x43\x3b\xfa\xd1\x1f\x8e\xba\xd0\x4e\xf5\xc5\xb2\x69\x76\x1b\xbb\x03\x48\x1d\xb3\x73\xee\x37\x7d\x6e\xf5\x7e\x5d\xba\x89\xb5\xab\x9b\x68\x5f\xa6\xf5\x66\xcc\x89\x36\xe7\x5d\x12\x30\xe8\xad\x94\x0b\x1b\x7b\x54\x22\xeb\xc0\x73\xe3\x38\xef\xf9\x47\xa3\x51\x77\x8e\x97\x3d\x7f\x30\x3c\xe9\xce\x67\x38\xce\xbd\x32\xcd\x33\x69\x0a\xd1\xea\x3d\x92\x22\xbd\xd8\x71\x46\xa8\x55\xad\xaa\x67\x18\x1c\x9b\x32\x41\xd8\x9d\xcf\x5a\x1a\x1a\x8c\xba\x73\xef\x2d\x55\x79\xc2\x01\x3c\xaa\xd6\x60\x57\x77\xe7\x3d\xfd\x61\x30\xd4\xcf\x6d\x6d\x16\x44\xec\xb5\x39\x08\xca\x7e\xaa\x0a\x5b\xda\x84\xaa\xcb\x36\xc7\x63\xab\xd1\x30\x1c\x3d\xaa\x51\x5e\x2d\x12\x73\xcc\x00\xe0\x7f\x16\xf8\x47\x81\xff\x14\xf8\x2f\x81\x7f\x13\xf8\x0f\x81\xbf\x11\x25\x66\xfd\x5a\x89\xc8\x8f\x8a\x10\xfc\xc6\x26\x61\xbe\xb9\x97\xd2\x69\x66\xab\xe5\x1d\xdf\x54\xf2\x0e\xfc\xb3\x00\x56\xf4\x47\xd1\x1f\xa0\xdd\x0e\xff\xb3\xea\xd7\x3f\xe5\x63\x3a\x76\x6e\xb7\x7c\xbe\xc3\xbf\x57\xe5\x7f\xb0\xcb\xff\x54\xd3\x6f\xff\xb9\x9f\x7e\xfb\xdd\xee\x2e\x67\xf7\x8d\xea\xf7\xb2\xf7\x3f\x48\xdc\x28\xf2\x53\xf5\xae\x06\xf9\x1f\x59\x0b\x73\x36\x54\xae\xef\x3f\xdf\xcb\x43\xac\xd3\x69\xf3\xe3\x2e\xc0\x9b\xb6\x6a\xf0\x1d\x5d\x24\x45\xee\x7a\xe2\x9e\x98\x0e\x98\x76\x3a\x54\x93\x55\x77\x77\x2e\x25\x85\x9b\x20\x74\x40\xb4\x83\x7b\x32\x3f\x63\x79\x91\x36\x98\x75\x59\x13\x3e\x54\xd3\x15\xbc\x8e\xfe\xa8\x88\x4a\x2c\xc8\x91\x3f\xb2\xdc\x57\xdf\x23\xb7\xfb\xb9\x8d\x55\x28\xdc\x6f\x04\x42\xf8\x67\x51\x3a\x10\x38\xe0\x3f\x4c\xe9\xaf\x62\x40\x0a\xf7\x77\x55\xeb\xaf\x62\x1a\x7f\x27\xfa\xbf\x2a\x72\xbe\xff\xab\x98\x45\xef\xc4\x34\xfe\x24\xfa\xef\x14\xa1\xdf\x7f\x27\x66\xd1\x2b\x31\x8d\x5f\x88\xfe\x2b\xc5\x02\xf4\x5f\x89\x59\x54\x31\x13\xaa\x3f\xfb\xb2\xb6\xba\x37\xbf\x09\xf2\x87\x20\x3d\xf7\x4f\x41\xfe\x12\x9a\x8f\x3d\xec\xc3\x3f\x55\x1f\xe2\x18\xf6\xd7\x0c\xc7\xb0\xc3\x66\x33\x7d\x3c\x88\xbf\xf7\xc3\xa5\x3d\xa0\xae\xee\x16\x46\x41\xbd\x24\x0e\xee\xee\x32\xe6\x72\x14\x6d\xb1\x74\xb5\xbe\x3a\x87\x90\x42\x8f\x0d\x02\xe3\x26\xc6\x9b\x83\x9b\x41\xb5\xec\xfa\xc9\xef\x12\xac\x6e\x21\xf0\x12\x6e\x71\x7d\x7f\xb0\xdc\x04\xd2\x8d\x67\x30\xa0\xfa\xc3\xe3\x4e\x21\x41\x5a\x96\xb4\x9c\xca\xc8\xdd\x5b\xd4\x12\x61\x4f\x1f\x7a\xa2\x09\x39\x77\x9f\x50\x76\x11\x2a\x81\x60\x9c\x55\x97\x73\x02\xe8\x76\x29\xb2\xb6\x98\x02\x07\x1c\x51\x23\x5c\x72\xc1\x6c\xbf\x64\x26\x50\x11\x2b\xa3\x4b\xd4\x31\x86\x77\x3b\x5c\x30\xfb\x2a\xea\x80\xf8\x92\xe5\x7d\x11\x34\x57\x11\x5b\xb2\x9d\xd8\xb2\x72\x7e\x89\xc0\xb2\xb2\x7e\x91\x9c\xda\xcb\xfb\x25\x02\xaa\xd1\xdf\x47\x11\x4a\x87\x25\x0c\x51\x54\x4e\x85\xb5\xf2\x29\x3b\x4c\x7c\x5d\x48\x2a\x45\x46\x04\xab\xd8\x37\xf6\xa9\x48\x32\x36\x97\x94\xaf\x8a\x94\xb6\xc5\x94\xa0\xcc\x9d\xb3\x92\x7f\x9b\xb3\x92\xe6\x9f\x57\xf5\x03\x8b\xb1\xbf\xd9\x6c\xe1\x77\x2d\xf6\x23\x1c\x94\xac\xbb\x3f\x52\xac\xe8\x8f\xee\x8f\x8a\x55\x52\x09\xe4\x4f\x93\x02\x0f\x95\x4e\x39\x59\x32\xe0\x16\xbe\x1d\x8e\x03\x55\x88\xeb\x42\xb8\x54\x22\x3f\x1b\x4c\x79\x3c\x50\x49\x51\x80\xb0\x3c\xe0\x47\x1a\x4d\x97\x7c\xc0\xa3\x7a\xa0\xfe\xe7\x2d\x83\x9d\x27\xd9\x3c\x65\xf7\xfa\x71\xd6\xf7\x10\x2d\x9b\x2f\x9b\x66\xed\xe7\x47\x94\x61\xa9\x86\x09\x3e\xde\x54\xb7\x7a\xe5\x20\x83\x92\x73\x69\xe8\x9b\x6b\x9b\x1a\x30\xd3\xc1\x21\x6e\x65\xd4\x8c\x8e\x39\x27\x5a\x6a\x8c\x30\x2f\x07\xc8\xcd\x00\x77\x3b\x84\x8d\x07\x47\x73\x77\xe5\x60\xeb\x8a\x2a\x8a\x8b\xd9\x6e\x67\xc5\x3a\x04\xf6\xbf\x20\xe3\xff\x9d\xc7\xdf\x4c\x7b\xfc\x05\x54\x46\xf9\xca\x06\x5f\xf6\x40\x31\x46\xae\x98\xeb\x4a\xe2\x65\x48\x81\xa3\x80\xb9\xe2\x28\x92\xf7\xb0\x00\x5f\xac\x0b\xae\x5d\xdc\xc2\x54\x88\x8c\x17\x62\xd3\x27\xf7\xd4\x12\x0f\x2c\x12\x1d\xc0\xbd\xdd\x07\x2f\x81\x25\x64\x9c\xf2\xa9\x9e\x91\x72\xca\x12\x62\x16\x15\x36\x6e\x7e\xf3\x44\xf5\x0b\x0b\xfd\x36\x17\xb9\x7a\x4b\xeb\x6f\x05\xc2\xf3\xfa\x5b\xa1\x28\xf4\xea\x5b\x82\xf0\xb2\xfe\x96\x34\xf5\x55\xb4\x18\xae\x96\xbc\xb9\x8c\x2c\xbb\x14\x75\x99\xe7\x32\x32\xef\xe6\xbd\xb4\xbb\xec\x0a\xd4\x65\x08\xa7\xdd\xdc\x9b\xc3\x5b\x35\xbe\x55\x46\x65\x32\x2f\x1e\x58\xc8\x06\x7d\xeb\x35\xb2\x77\xd5\xda\x5c\x2b\x0a\x61\xb5\xd2\x33\x82\x1a\x07\xa7\xb5\x6b\xb6\xa4\xbf\x40\xdd\x05\x2e\xf0\x42\x3b\x34\x5d\xa3\xd2\xd4\xa1\x25\xf3\xbc\x7f\x89\xba\x97\x38\xc5\x97\x3a\xf3\x0a\x3d\x94\x3b\xeb\x6f\x50\x77\x83\x19\xde\x20\x13\x7d\xa6\x4d\x69\xef\x35\x75\xf9\xb7\x0b\x74\xf6\x96\x1a\x97\xaa\xf9\x83\x95\x8a\xfe\x15\xea\x5e\x61\x8a\xaf\xbe\x58\xe9\xa5\x55\xe9\xd2\x38\x2c\xb7\x88\x38\x9c\xe2\x39\xae\xee\x31\x48\x18\xe0\x2b\xb2\xc1\x0b\x72\x1a\xe0\x4b\x32\x1c\x07\x78\x4b\x06\x36\x99\xa7\x0e\x90\x36\xe9\x98\xbc\xd7\x5d\xac\x99\xab\xfb\xa6\x89\xef\xb4\x37\x2d\x51\x48\x55\xf7\x61\xd5\x0f\xe2\x83\xb5\x9b\x54\x70\x5a\x29\xc6\x47\x1b\xfb\x84\x08\xaf\xdd\x02\xf9\x19\xbb\x62\x59\xce\x5c\x2b\x7d\xe5\xce\xdb\xd2\xd1\x0c\x38\x78\xf6\x78\xdf\x58\xdc\xbf\xa4\x7f\x8b\xcc\x70\x6c\x12\xf9\x97\x09\xb7\x5e\x23\xde\x48\x80\x31\x5a\x05\x1e\xc9\xb5\x6b\xbe\x18\xae\x1f\x34\x6b\x0c\x8e\xd8\x4d\x6a\x38\xc3\xa9\x49\x0d\x67\x38\x31\x12\xf5\x04\x27\xa4\xc0\x05\x91\x08\xcf\xcf\x52\x48\x9a\xe3\x39\x49\x71\x4a\x80\xc5\xaf\x65\x08\x5b\x84\xa2\x38\x4e\xb0\x62\x9c\x0b\x9c\x6a\x22\xd5\xea\xf4\x63\xb1\x68\xd5\x47\x56\xf7\x51\xd4\x7d\xa4\x75\x1f\x33\xb8\x71\x95\x24\xc3\x19\xd8\x79\x4a\x84\xc5\x19\x85\x24\x81\x05\x51\xe8\xa9\xb5\x8f\x19\x16\x20\x06\xa6\xba\x8f\xb9\x64\x9b\xaf\x99\xa3\xf7\x92\x6d\xaa\x19\x32\x2f\xe5\xfc\xc0\x6b\x3d\x3b\xef\x1f\x5b\xb5\xbb\x30\x32\x8b\x4b\x3d\x3c\xf0\xe0\xb6\xc0\x97\x35\x10\x1f\x5f\xd5\xc6\x54\x75\x65\x55\xb5\xc1\x57\xb3\xff\x85\x4c\x69\x4b\x3c\x89\x73\x72\xc9\x5c\x81\x29\x3e\x85\xfb\xbb\x2d\x73\x33\xcc\xf0\x16\xe1\xb5\xfa\x30\xc7\x29\x7c\x58\xa9\x0f\x09\x2e\xd4\x07\xc5\x55\xec\xad\x50\x37\x8e\xe1\x5a\xbd\x77\x1a\x68\xc1\x83\x7a\x39\x0d\x8c\xa8\xc1\x5e\xdb\x65\xc6\x13\xf8\xa8\x33\x9e\x40\xa1\x99\x8d\xda\x19\x95\xcf\xb3\xf9\xe3\x30\xfb\x7d\xd8\x22\x96\x77\x77\xf7\x10\x2c\x98\xdd\xdd\x15\xed\x9f\x1a\x44\xc3\x6b\x86\x0b\x72\x63\x59\x0d\x1e\x1e\xaa\xfb\x32\xff\x32\x87\xfb\xbf\x6a\x5d\x8b\xea\x44\x91\xd9\x4d\xb0\x07\x77\x14\xc3\xb2\x8d\x58\x63\x53\x45\x5e\x45\xac\xa2\x5a\xb4\xa3\xe5\xc7\xc7\x37\x60\xed\xfc\x17\xd4\x2a\x2b\xba\xa3\x65\xc9\x3d\xb0\xc5\xa2\x60\x87\x79\x35\xcd\x96\xcb\xc8\x76\xd3\xb4\x73\x4d\x39\xdb\x54\xf3\x3e\xe1\x5b\x55\xa6\x9b\x68\x0d\xd3\xd2\xc6\xff\xff\x20\x10\xfe\xb7\xd1\x06\xfa\xb7\xc0\x3f\x1c\x5e\xe3\xd9\xe2\xad\x8f\xec\xb1\x62\xa4\x9f\x04\xb9\x66\xed\x07\x6c\x49\xe6\x0c\xfa\x6e\xe8\xf1\x7d\xe5\x63\x93\x6d\xa0\x35\x94\xa9\x22\x9e\x78\x7f\x80\x76\x68\x52\xb1\xb1\x9f\x93\xcb\x42\xae\x69\xfa\xd0\x4d\x15\x65\xee\x4f\xa2\xe4\x74\x7e\x12\x30\xbe\xff\x1c\xf4\xc9\xdc\x9c\x43\x4b\x8a\x30\xb3\xc2\x9c\x75\x3a\xb2\x5f\x91\x6f\x8a\xf7\xdc\xb6\xf7\x20\xd1\x0b\xbd\x2d\x4a\x1f\x65\xee\x7f\xaa\x3e\xfc\x47\x34\xaf\xd9\x5e\x08\x0e\x3a\x9b\x6d\x7e\xb4\x7e\x93\xee\xfb\x8a\x4d\x7b\xcf\x0e\xee\xe7\x1e\x68\xf3\x37\xe9\x5e\x54\x45\x2f\x18\x8c\x9b\xa7\xf7\xcc\x45\xd8\xe7\x3b\x5c\x91\xa0\xf5\xf8\x56\x5c\x5c\xaa\xa6\xda\xc7\xc4\xd3\xb2\x7e\x9e\xe2\x37\xec\xf0\xe2\xa8\x5e\xb9\x31\xc7\xe5\x44\x4a\x6a\x9c\x9c\xb1\x1b\x75\x94\xa0\xde\xcf\x74\x56\xdf\x3c\x5e\xb2\x6c\x0e\xec\xec\x61\x8b\x2f\x99\xfb\xa6\x1a\xd1\x1b\x3d\x22\xd9\x1c\x51\x3d\xa0\x72\x38\x79\x62\x0d\x47\x64\x72\x2d\x56\x19\xdd\xac\xef\x1b\x92\xac\x86\x24\xb5\x2b\x74\x76\x3f\xc8\x60\xd1\x3e\xb8\x66\xd5\x50\xb9\xbd\x62\x73\xc9\x32\xf6\x70\x0f\x58\xd5\x03\x96\xe2\xe7\x0f\x03\xb5\x27\xdb\xa1\xca\xf7\xa1\x0a\xd2\x1c\xa0\xda\x5e\xb7\xc0\x57\xf3\xb7\x2f\x99\xfb\x9c\x21\xac\x78\x6a\x7d\x9f\x88\x19\xe1\xe6\xaa\xb1\xc6\xf7\xfb\x0e\x4b\x2d\x99\xeb\x54\xba\x71\xcf\x28\x7f\x06\xb3\x19\x8a\x80\x59\x45\x38\x86\xb4\x9e\x4e\x54\x28\x52\xd7\xd9\x5e\x07\x73\x63\x4b\x89\xb4\x29\x11\xf0\x4e\x83\xe8\x34\xd0\x15\x33\x5d\xb1\xad\x6e\xda\x53\xdf\x76\x98\xb9\x8a\xb3\xc5\xf0\xa2\x01\xf9\xbc\x64\xf4\x2f\xc1\x64\x5d\x3f\xfa\xeb\x62\x2f\x44\x99\xc5\xee\x70\xb8\x8f\xe1\x95\x6f\x0d\x73\x11\x13\xcf\xf4\xa2\xc3\x05\x79\xc9\xc1\x91\x86\xfa\xcd\x90\x1d\x0d\x17\x2c\xe2\x53\xc5\xdb\xeb\x98\xe4\xc1\x84\x9e\xc9\x89\xf4\x3c\x64\x6c\xd8\x63\xaf\xb0\x83\xb7\xc5\x72\x86\x25\xc2\x5e\xd2\x92\x28\x4d\x90\x56\xa1\x55\x78\x3e\xc1\xf4\xd4\x15\x9a\xf8\xaa\xb1\x88\x25\x90\x8d\x3d\x78\x08\x67\xb3\xf2\x8e\xe8\x15\x83\xe8\x0a\xea\x37\x55\xb4\x4c\x1e\x07\x33\x42\xc8\x5c\x2b\xc4\xe4\x71\x5e\xa9\xd7\xe8\xe4\x79\xfd\x8e\x57\xf5\x10\xea\xe4\x89\x3c\x23\xc1\xa4\xd7\x93\x68\x65\xc4\x11\xb1\x88\xe7\xb1\x9c\xcd\xe2\xc1\xcc\x74\x56\x12\x6f\x39\x91\xcf\xaa\xba\x21\x8e\xa4\x9d\x3f\xaf\xf3\x9b\x69\x5f\x69\xc6\x8a\xbc\x50\x24\xc6\xe7\x6a\xb5\x1d\x86\x2e\x75\x39\x8a\x5c\x69\xbb\x9b\x7d\x48\x62\xcb\x08\x28\x7a\xb3\x1d\x96\xb6\x4f\xd9\x87\x8a\x64\xba\x48\xb6\x2b\x63\xea\xc1\x52\x31\x27\x5a\xab\x66\x2d\x75\x39\xce\xd2\x2a\x02\x63\x96\x92\xbd\x52\x96\x88\x33\x9e\x4d\xb2\x74\x4f\xd8\x6f\xc5\x99\xc4\x87\x31\x38\xcb\x20\xa2\xac\x07\x0e\xa7\x83\x32\x26\x27\x07\x2e\xc0\x44\xe6\xc4\x85\x0e\xba\xd2\xcd\x4a\x09\x46\x37\xab\x2f\x02\xfd\x51\xb7\xd8\xe1\x2c\x6d\xbf\x2a\xa8\x49\x3b\x50\x32\xb6\x9b\xd6\x51\x5a\x03\x6c\xec\xf8\x8b\x5e\xa8\x17\xc4\x3e\xd4\xee\xee\x5c\x4e\x7a\x61\xdf\x1d\x6b\xcf\x90\x14\x94\x14\x10\x2a\x15\x95\x35\x7b\x02\x75\x64\x8a\xcd\x01\x8a\x45\xc4\xe1\xac\x27\xd4\x13\x10\xed\x89\xa7\xe5\x2f\xa0\xee\x82\xba\x0c\x53\x48\x08\x67\xa0\xe9\x82\xba\xe5\x9a\x88\x93\x2e\xc7\xb4\xcb\x67\x7a\x44\x69\xb2\xf9\x52\x60\x49\x2c\xc8\x77\x20\xa0\x4f\xd5\x08\xe7\xf6\x08\x7b\xdf\x95\x0e\xea\xb5\x45\x42\x3c\x57\x43\xf4\xbc\xf4\xd9\xdc\x38\xad\x50\xc8\x50\x33\xb9\xa8\x42\x46\xa0\x87\x06\xd9\xd3\x19\xc8\x86\xdc\x3a\xe6\x41\x4f\xa0\x1e\xe8\xea\x40\xb8\x66\xf6\x2c\x9b\x20\x4a\x64\xcc\x66\xf8\x17\xe6\x52\x9c\x83\x1a\xdd\x2f\x8a\x71\xc8\x41\xb9\x8e\xeb\x5d\xf1\x0e\xd4\x4e\x20\x0d\x18\x38\x95\x46\x11\x8a\xaa\x9c\x9d\x4e\x5b\xce\x84\xd0\x89\xa8\x3e\x81\xe4\x0a\xe7\xa4\xa8\x04\xad\xc6\x55\x66\x8a\x93\x14\xd3\x14\x8b\x14\xa7\x29\x9e\x2b\xdc\x84\x73\xc0\x50\x7f\x5a\xf2\x77\x45\xb8\x6e\x68\xd6\x1e\x01\xb5\x8c\x7f\xca\x16\x2b\x88\xf3\x50\xc5\x78\x60\xbd\x9e\x5a\x8c\x10\xd9\x41\x7d\xc4\xdc\x3f\x57\x3d\xa2\x77\x77\xd2\xcf\x37\x00\x3a\x86\x43\xdb\x08\x51\x61\xb2\xdf\x14\x26\x33\x75\xec\xb0\xcc\x1a\x16\x29\xfb\x32\x75\xdb\x1e\x44\xb5\xe1\xa7\x84\xe8\xee\xe4\x89\x64\xd3\x3a\x9d\x46\xf5\xf3\xf9\x0e\xb3\xa6\xa0\xfd\xd1\xd5\x9c\x5b\xd5\xd0\xdd\x0e\x37\x22\xa5\xde\xea\xf0\x9b\x51\xab\x0c\x11\x17\x13\x75\x6c\xe8\x08\x20\xfe\x5b\x85\x4b\xfc\x37\x84\xfb\x6f\x30\xf7\xdf\x74\x3a\x2e\xf7\xdf\xf8\x6f\x35\x93\xfe\x86\x48\xcc\xfd\x77\x55\x7c\x6b\xff\xdd\x84\xfb\xaf\x14\x2c\xd5\x0f\xf7\x5f\x11\x69\x34\x9a\xfd\x77\x44\x4e\x18\xe1\xfa\x55\x1b\xba\x4e\x5d\x4e\x68\x66\xac\x5e\x15\x28\xdf\xea\x6b\x46\x68\x0e\x73\xf5\xaa\x6a\x50\x27\x38\x20\xcc\xb7\x04\xbe\x40\x16\x28\xa3\xbf\x81\xa3\x28\x58\xe7\x2a\xb7\xff\xae\xac\xe4\x57\xc5\x43\xf9\x2f\xc8\xd3\x00\x73\xd5\x78\xa7\xc3\xfc\x17\x13\x94\x11\xe6\xff\x8a\x19\x21\x24\xf3\x5f\x29\x9e\x28\xf3\xdf\xe1\xa2\xd3\x29\xfc\x17\x53\x97\xf9\x2f\x48\xa1\xca\x84\x38\x2b\x8b\x66\x70\x54\x13\xc2\xfc\x77\x9d\x8e\x5b\xe8\x0e\x63\x86\x30\xd7\x8e\xaa\xfc\x5f\x11\x66\x8d\x32\x89\xc9\x93\x21\x84\x22\x68\xe1\xd5\x23\x5b\x78\xd5\xe9\xb8\xc9\x23\x5a\x28\xac\x16\x74\x0e\xe3\x31\x1f\x72\xed\xb0\x8e\x7b\xd9\xd0\xf6\xb3\x27\x8f\xfb\x6f\xd5\xf4\xbd\x85\x84\xb7\x7a\x76\xf5\x7c\x72\x33\x09\x13\x0b\x01\xa9\xea\x71\xa2\x26\x03\x48\x84\x77\x13\x88\x1b\x93\x4c\xe9\x94\x66\x2e\x45\x51\x12\x51\x5c\x4c\x0b\xff\x15\x21\x84\xc3\x2f\x8b\x0a\xff\x1d\x61\x91\x99\x26\x86\x93\x4e\x87\x02\x57\xeb\xbf\x80\x91\x70\xf8\x7d\x45\x12\x9c\xc0\x3c\xb1\xa7\x84\x50\x35\x19\x30\x37\xfe\xaf\xd0\x24\x57\x20\xc7\xaa\x3e\x8e\x99\xff\x8e\x50\x4c\x55\x66\x14\xb9\x2a\x47\x81\x0b\xc2\x74\x1e\x05\xe5\x0c\xea\xe4\x44\x41\x0d\x86\xf5\x2b\x29\x10\x7e\xaa\x63\xa1\x72\xb5\x9b\x5f\xd8\xa1\x59\x5c\x0e\x90\x42\x93\x85\x80\x0c\xe5\x2e\xfa\x68\xbc\x2a\x99\xb4\xc2\x7f\xa5\xf7\x01\x29\xfc\x77\x6a\x35\x75\x3a\xae\xd4\x33\x51\x34\x67\xa2\x50\x54\x4d\xe1\xbf\x53\xeb\xf8\x55\xa7\x23\xfd\x57\xfe\x0b\x85\x3e\xde\xa9\xe7\x77\xfe\x0b\x74\x5b\x3f\xdf\xdd\xb9\xf0\x5d\x55\x23\x9b\x4b\x46\x5a\xd5\xc0\x42\x81\x76\xa0\x14\x34\x5a\xb7\xc6\x4d\x87\x27\xd0\xe1\x5d\x65\x15\xa1\x8a\xbf\x6a\xed\x6a\xd2\xec\xea\xab\x87\xba\x5a\xa7\xbb\x55\xe3\xb2\x39\x62\x69\x55\x63\x77\xd5\x0c\x2c\xb9\xb7\xab\xd5\xa6\x54\x53\x58\xf8\xbf\xee\xae\xd7\x49\xca\xdc\xa7\x6a\x8a\x26\x7a\xf2\x60\x6e\x76\xbb\x9a\x78\xb9\x12\x99\xe0\x22\x79\x80\xd4\xad\x8d\xc6\xb5\xcb\xa4\xf2\xa4\x03\x25\xb9\x4a\x82\x5a\x2a\xa2\x26\xa4\xd4\x43\xa5\xc4\xa8\xa1\x96\xd8\x5d\x64\xae\x0e\xe4\x82\xfc\x39\x4b\xd3\xfc\xd0\xec\x99\x61\xa1\xdb\x4b\xc9\xff\x97\xb6\x3f\x6f\x6e\x1b\x47\x1e\x80\xe1\xff\xdf\x4f\x11\xf3\xdd\x51\x01\x62\x8b\x26\xe5\x2b\xa6\x02\xab\xb2\x99\x99\xcd\xec\x2f\x4e\x66\xe3\x4c\x76\x67\xb8\x1c\x17\x4d\x41\x12\x12\x8a\x54\x78\xd8\x52\x6c\x7d\xf7\xa7\xd0\x00\x2f\x89\xf2\xda\x53\xcf\x53\x49\x59\x24\x8e\x46\x03\xc4\xd1\xdd\xe8\x83\xeb\xd3\x24\x64\x1c\x77\x60\x79\x08\x7b\x89\x5f\x85\x98\x1a\x47\x3b\x32\x71\x8d\xa8\x95\xa9\x2b\xd5\x92\x26\xc8\xad\x95\xa4\xf0\xfc\x0d\x75\x43\x6b\x75\xc1\xd2\x5e\x2f\xb4\x56\xaf\x98\x90\xbf\xeb\x0b\x56\xe0\xef\x2b\x16\x8c\x3d\x2f\x85\xc0\x07\x4f\xe8\xbf\x85\x0f\x5e\x0a\x85\xef\xbb\x9e\x3f\xca\x4a\x05\x7f\x2f\xf1\x37\x14\xf2\xce\x48\x7c\x2f\xf6\x3b\x58\xbb\x5f\x35\xbd\x02\xa9\x18\x4b\x87\xbf\x06\xb4\xff\x6b\x00\xeb\x66\x56\xd0\xca\x12\x6e\xbe\xd9\x50\x1d\xf6\xf3\x0d\x87\x82\x7d\xe7\x20\x58\x0a\x01\x2b\x20\x61\xd3\x68\xd4\x60\xb0\xd4\x76\x1e\x89\xf8\x6b\xa7\x8e\x85\xfe\x00\x54\x0d\xed\x23\xb7\x1b\xb1\x15\xc9\x85\x9d\x6e\x76\xe3\x69\x96\x77\xfc\x28\x73\x73\xe5\xe8\x46\x96\xf0\x41\x49\xcb\xf0\x3d\xb5\x84\x8f\x17\x0f\xb9\x95\xa7\x02\x2f\xda\xb2\x0e\xdd\x4b\x6f\x7b\x5e\x3c\x32\x2b\xd2\x9a\xd8\x50\x5a\xd7\x7a\x4e\x24\xe5\x34\xa9\xe9\x06\x4d\xc7\x25\xb5\xcb\xb1\x04\x09\x37\x45\x7f\x4c\x59\x86\x07\x7b\x30\xce\xac\xd4\xcd\xac\xa8\xa4\xe7\x0a\x96\x81\x60\x53\x2c\x1e\xed\x2b\x0c\xe9\x2b\x61\x89\x5e\x2f\x7d\x35\x95\x3f\x61\x4a\x02\x10\x30\xa5\xaf\x6c\xb9\xa8\x15\xb7\x15\x4b\x2a\x36\xf6\x84\x1c\x94\xd8\x9b\x5a\x42\x72\xb5\xe8\x26\xe1\xc9\x8c\x89\x62\x1b\x59\x4c\x4b\x5e\xe3\xa9\xec\x49\x20\x2b\x16\xba\x62\x21\x2b\x76\x69\xb1\x3f\x06\x21\xd1\x5a\x2c\xf1\x78\x1a\xb9\xc8\xeb\x24\x8c\xb1\x69\xa4\xc4\x98\x89\x04\xd9\x0e\x26\xf2\x08\xb0\x66\xeb\xf2\xa0\xd0\x1a\xe5\xb1\xbf\x05\xb4\xd7\x93\xfb\xc4\xa6\x32\xb6\x9d\x46\xcc\xf3\x06\x0e\x3f\x05\xf9\xc7\x07\x4f\x3e\xca\x27\x7f\x54\x6e\x5a\x13\x1e\x05\x45\x1c\x74\x0e\xcb\xd6\xc6\x46\x68\x3d\x0b\x95\x03\x27\x9d\xff\xad\x08\x26\x79\xca\xf9\x56\xfc\x68\x79\x2e\x37\x76\x40\xd1\xda\x0f\x05\x69\x29\xff\xcb\xdd\x4a\x4c\xc9\x81\xc8\xde\x07\xef\x09\xa7\xbd\x9e\x7e\x4c\x29\xd5\x02\x82\x60\x5a\x6e\x68\xb1\xb5\x82\x8c\xc5\xd6\x1a\x8f\xc0\x22\x8a\x0e\x18\x06\x8a\xbb\x0c\x48\x34\xe0\xd4\xbc\x0c\x48\x36\x48\xe9\x2b\xcb\x76\x68\xb8\xd3\x4e\x1d\x72\x75\xca\xb4\x72\xd0\x28\xb6\x56\x12\x5e\xf9\xae\xc8\x33\x59\x75\x0a\x91\xe4\x01\x74\x55\xd8\x85\x56\xd2\x8e\x2b\x79\xd0\x5b\x6b\x96\x96\x0a\x47\x25\x59\xd9\x51\xa5\x1a\x84\x66\x1e\xde\x72\xaa\x1e\x86\xcc\x3a\xe9\x93\xc2\x44\x91\x82\x7c\x0c\x4c\x94\x2a\xf0\x0b\x16\xc2\x9c\xa5\x17\x2c\x83\x19\x9b\xbf\x7a\xe5\x3c\x4c\x47\x6a\x68\xe4\x69\x26\x29\xda\x38\x99\xf0\xcc\x9b\xf9\x92\x55\xac\x5e\xd8\x3c\x25\x94\xc2\x74\x5c\xb0\xd0\x4d\x24\x8c\x71\xc0\x32\x37\x92\x0b\x75\x07\x83\x7d\x26\x63\x72\x41\x24\x14\x56\xf2\x37\xa2\xf5\xc8\xe7\xf4\x96\xe5\x30\x61\x1c\x16\x2c\x85\x35\x2b\x2a\xff\x87\x0b\xb6\x66\x03\x72\xcb\x26\x4a\x07\x6d\x2a\xd9\xa1\xb9\xfc\xb3\xac\x85\x38\x01\xc6\x0b\x9f\x31\x7b\xb4\xbc\x98\x8d\x4c\x73\x46\x33\x16\x7b\x33\x1f\x32\x6b\xf5\xea\xb6\xd7\x23\xb7\x2c\xb3\x56\x14\x32\x6b\xfd\x0a\x23\x3d\xb2\xcc\x5a\xcb\xd7\xd5\xc5\xa2\xd7\x23\x8b\x2a\x17\xed\xbc\xd6\x2a\x77\xaa\x36\x10\xcc\x9a\x97\xcf\x6b\xed\x98\x71\xbb\x3d\x1c\xf1\x1b\x66\x5e\x12\xdd\xf2\x8c\xc2\x35\x33\x57\x24\x83\x19\x1d\xdd\x5e\xdc\x20\x12\x37\x14\x26\x17\xd7\x88\xc0\x35\x85\x1b\xdd\xf8\x0d\x85\x6b\xdd\xf0\x75\xd5\xec\x4d\xd5\xe8\xb5\x1a\xcc\x3b\xb6\x18\xdc\xc2\x15\x5b\x0f\x26\xa3\xbb\x8b\xab\xf1\x9a\x4d\xcc\x3b\x77\xc1\x6e\xcd\x2b\x5c\xa5\x5f\xf1\xfb\xc8\x11\xfd\x6a\x05\x93\xb6\xd4\x40\x90\xaf\x10\x83\x79\x49\x62\x90\xc8\x82\xb9\x22\xb1\xc4\x50\x7f\x16\xba\x81\xaf\xd6\xad\xc8\x44\x7b\x53\x9a\xa5\x24\x86\xaf\xad\x42\x53\x11\x77\xaa\x2e\x2e\x53\xd9\x42\x25\xde\xab\xab\xcc\xe4\xee\xaf\xc3\x2a\xa9\x33\x43\x0e\xd7\xab\xe5\x88\x22\x4e\x72\xa4\xa6\xf2\xcf\x5c\xfe\x29\xab\x8d\x06\x83\x59\xb9\x22\xca\xc3\x07\x3b\x55\x07\xd5\x62\x73\x16\xb3\x4c\xad\xb0\xaf\x1b\x65\x8a\x96\xc8\xe3\x38\xaa\x05\x52\x24\x60\x3b\x1a\xda\x72\x47\xcd\x52\x88\xd8\x34\x85\x23\x79\x94\xa0\xef\x4f\x0c\xc5\x2e\xf9\x64\x66\x53\x39\x99\x25\x99\x2d\x9e\x7a\x3a\x24\x2c\x06\x81\xba\x7b\xe2\xa9\xe7\x42\xa4\xaa\x44\xb2\xca\xf6\x2d\xfc\x63\xf5\xca\xb3\x20\x67\x9c\xa5\x4c\x19\x0f\xb9\x24\x67\x66\x5c\x5f\x4a\xc7\x9a\xee\x4b\xe5\xa3\x53\x5e\xa7\xc7\xa5\x01\x92\xa0\x6e\x19\xe5\x0a\x6b\x7b\x5e\x0e\xbc\x24\xab\x24\x3e\x4f\x3e\x4e\xf6\x62\xa3\xe2\x4a\x22\x22\x65\xd3\x1d\xed\xa6\x83\x1c\x8a\x01\x97\x6d\xaa\x43\xa0\x71\x9b\xf6\x71\x76\xc3\x6e\xd3\xad\xc4\x0f\x37\x5f\x78\x98\xb3\xc9\x76\xfa\x7b\xf4\x9b\xc1\x16\xdb\xe9\x3a\x6a\xc9\x5a\xf9\x71\x99\x47\xec\xd0\x1b\x98\xfe\x98\x8c\xdd\xff\x4e\xcc\xff\x5a\xe3\xff\x4e\xfa\x0f\xf8\x63\x52\x32\x76\x3d\xfe\x93\x8f\xf9\xe8\xbc\xf0\x70\x06\xb3\xa8\xe9\x44\x78\x1e\xe9\x5b\x4d\x30\x66\x06\xdd\x8a\x14\xce\x2e\xb7\xda\x4e\xd2\x8c\x79\x1d\x22\x87\xea\x16\xb2\x9c\xa1\x86\xf2\xef\x6b\x48\x96\x78\x5c\x24\xca\x43\xa9\x95\x27\xef\x92\xbb\xd2\xcb\x20\x7d\x78\x38\xfc\x93\xfc\xff\x1f\xd2\xd9\xcd\x7f\xc9\xc3\x3c\x8b\xfe\x4b\xe8\xa1\x50\xee\x90\x73\x3a\xbe\x4d\xdd\x75\xea\xe6\x2f\x44\xac\xae\x6d\x93\xe9\x8b\x24\x96\xa9\x5b\x6e\x55\xe9\x78\x95\xba\x46\x82\x63\x88\xcd\xf5\x7a\xea\x68\xcc\xe9\x78\x92\xba\x8b\x94\x2a\x55\x4d\x7f\x6b\x14\xb1\x3a\x5b\xa9\x41\x5c\x76\x5d\x7a\xad\x37\x70\x1b\x55\xfe\x1d\x23\x11\xf3\x20\x75\x97\x11\xde\x2b\xba\x3f\xa5\x20\xcf\xf5\x0e\xc1\xce\x55\xba\x81\xb0\xb8\x11\x61\x47\xde\xd7\x74\x03\x99\x88\x3b\x72\x5e\xa7\x1b\xe0\xab\x65\x47\xce\x1b\x09\x0f\x15\x03\x3b\x32\xbf\xcb\x6a\x51\x90\xe5\x22\x74\xdf\xa5\x70\x13\x84\x5f\xdd\x6f\x29\xdc\x24\x45\x1c\x76\x95\xff\x94\x6e\x36\x14\x26\x75\xb7\x0c\x11\x1b\xee\x1a\x92\x22\x77\xaf\x53\x30\x44\x3c\x48\x8a\xdc\x70\xef\x52\x30\x92\x22\x1f\xc8\xdc\x8e\x35\x73\x97\x92\xeb\x14\x83\xe8\x29\x67\x2f\x3c\xc8\x3a\x03\xa2\x5b\x22\x9e\xf0\xd5\x87\x29\x31\x06\x06\x95\xfb\xd0\x05\xb3\xc7\xa5\x28\xd3\x96\x54\x5f\x2c\x77\xa8\x66\x6a\x6e\x3a\xd4\x95\x58\xd5\xf6\x23\xb7\x91\x35\xe3\x39\xe1\xf4\xe1\x61\x19\x41\xca\x26\xea\x3d\xa5\x0f\x0f\x6b\xb8\x49\x49\x4a\x4a\xf7\x6b\xb8\x6d\x46\x81\xba\xc2\xa8\x16\x36\x38\xe8\xf9\x71\x6b\x02\xbc\x0d\x23\xf6\x71\x7b\x6d\xbd\xcd\x22\xf6\xe3\x76\xe2\xbb\xe0\x86\xfd\xba\x9d\xf8\x11\x1d\xb7\xfe\x86\xc9\xdd\x4a\xca\xda\x87\x74\x60\x85\x29\x0f\x72\xfe\x53\xc4\x25\x36\xef\xaf\x48\x12\x58\x71\x66\x2d\xd1\x95\xaa\x95\xdd\xce\xd4\xd2\xd3\x2b\x67\x2f\xb8\x8a\xa4\x88\xd1\xa2\x8b\xe7\xaf\xf3\x3c\x15\x37\x45\xce\x89\x51\xd5\x30\x20\xa6\xda\x91\x57\x5e\xc3\xb1\x6e\x82\x8c\x7f\x0e\x22\x2b\x4c\xe2\x2c\x89\xc4\x44\x79\xad\x2c\x79\x30\x7e\xf7\xe2\x4b\x4a\xf8\x98\x5b\x8b\x20\x4f\xc5\xca\x5d\x44\x74\x43\x91\x86\xfd\x92\x3e\x29\x00\x9d\x51\x5b\xc5\x18\xa6\x72\xaa\x53\x26\x98\x06\xd5\x66\x82\x3a\x47\xbd\x99\x06\xcd\xbe\xf2\xbb\xff\x94\xa9\xf2\x45\xa6\xa1\x9d\x4b\x99\x26\x5f\x4c\x83\x1a\x8a\x5c\x5f\x44\xec\x3e\x70\x1d\xb8\x71\x6d\x08\x5d\x1b\x26\xae\x03\xdc\xb5\x61\xea\xda\x9b\xad\x8d\xeb\x53\x35\x82\x7f\x4b\x55\x34\xb3\x75\x52\xe4\xfa\xd6\x4d\xbd\x58\x37\x45\x3c\x89\xba\xf4\x45\x3a\x05\xf9\x92\x30\xe3\x0c\xed\xbf\xe3\xda\x01\x0a\x4a\xd6\x35\x43\xf6\xcf\x94\xc4\x1e\xf7\x69\x2d\x63\xde\x34\x9b\x0b\xe7\x49\x3a\x79\x5c\xb5\x17\xc2\x4a\x85\xef\x7e\x03\xb7\xb2\xc9\x09\xab\x14\x07\x05\x85\x45\x79\x17\xc6\x65\x5e\x2a\xff\xc4\xcc\x86\xb9\x12\xf3\xcf\x5f\x09\x7d\x5d\x10\x32\x1b\x09\x14\x24\x49\xc4\x88\x86\x26\x2b\xbc\xb9\xef\xcd\xfc\xd1\xad\x42\x36\xa4\xb0\x50\x4f\x0d\xf8\x14\x62\x93\x85\xe8\x61\x3b\xe8\xf5\x26\x8a\xd5\xed\xd4\xff\x08\xc8\xad\x17\xfb\x70\xeb\xe5\xc8\x73\x26\xbd\xde\x62\x8f\x6b\xb9\x78\x07\x4a\xad\x34\x93\x90\xc2\xcb\x7d\x09\x08\x7f\xb9\x84\xb5\xa1\x10\x33\xf2\x73\x30\xc8\xfa\x82\x1e\xc6\x10\x76\xf5\x6f\xca\xc2\x56\xff\xb4\x8f\x90\x89\x37\xf7\xe1\x92\x2d\xbc\xb5\xec\x2a\xac\x58\x21\x9f\x2e\x7d\xb8\x61\x21\x5c\xb3\xd0\x64\xab\x7e\x3c\x5a\x7a\x6b\xd3\x18\x18\xe6\xa5\xcf\xee\x71\x7b\x72\xd7\x90\x15\x37\xea\xf1\x12\x50\xa6\xf3\x5a\x72\x71\xee\x0d\xf0\x78\xa2\x1e\xaf\x95\x83\x28\x77\xb5\xd9\xa4\xde\xba\x59\xb3\x2e\x3e\xad\x8b\x87\xba\xf8\xad\xb7\xf6\x37\x10\x9a\x2c\xc3\x51\x6d\x76\x44\x11\xda\xf3\xad\x4e\xdc\xb1\xa5\x37\x47\xf4\x66\x3e\x5c\xb1\xa5\x37\xc3\x97\xb9\x3f\x22\x77\xca\x03\xe9\xc3\xc3\x95\x7a\xa0\xbd\x1e\x57\x9f\x50\xe7\xbc\xd2\x19\xe3\x52\x66\x72\x55\x0a\x4b\xee\x36\x6e\x99\x76\x57\xa6\x5d\x6d\xe8\x26\xea\xf5\x76\xec\x85\xf8\x23\x9f\x3d\x22\xa4\x54\x82\x52\x4d\x99\xa5\xf6\x92\x46\x09\x03\x7e\xb7\x4b\xe4\xdb\x25\xe8\xa6\x53\x7f\x15\x5d\x82\x55\x4e\xa4\x5f\x84\x7a\x2f\x7a\xaa\x20\x03\xa5\x11\xbd\x5e\x51\x72\x4e\x92\x72\x53\x6c\x2a\x0a\x28\x42\x6b\x19\x4c\x26\xad\xbd\xeb\x31\x78\x19\x8b\x5b\x10\x32\x09\x41\x8e\xcb\x3f\xd2\xa4\x58\x76\x8a\xbc\xba\x84\x24\x6d\x20\x41\x09\xe4\xaa\xb8\x99\x3d\x03\x4e\x82\x70\x4a\x28\x49\x09\xe5\x8d\xdc\x50\x9e\x08\x42\xd2\xe5\x1c\x3f\xb6\x04\x11\x49\x10\xe1\x56\xf5\xaa\x36\x7f\x78\x88\x09\x05\x2e\x0b\x6d\xa3\x59\x15\x4a\x55\x21\x49\x9a\x34\x37\xb9\x69\x92\x86\xfb\xd4\xbe\xbb\x82\x6b\x94\x52\x10\xbc\xa7\x42\xb9\xc0\x01\x63\x95\x79\x7c\x6e\x85\xab\x41\x6c\xad\x20\x90\x8f\xeb\x41\x6c\xad\x21\x61\xc5\x40\x32\x43\xa2\x2f\xcc\xa0\x8f\xb1\x1b\xa2\x8b\xa4\x9f\x1c\x2e\x10\xca\xed\x45\x25\x24\xc0\x18\xea\xe9\x8c\x1f\x46\xa3\xd8\x5a\xae\x06\x4c\xf4\x43\x88\xad\xe5\x7a\xc0\x82\x7e\xa8\x0f\xbf\x03\x7b\x53\xb7\xdd\xeb\x45\xbd\x5e\x0b\x02\x26\xbf\x79\x0c\x4c\x09\xa7\x6c\xad\xa5\xad\x8e\x77\x36\xcb\x55\x1d\xa8\x7e\x85\x35\xeb\xf7\x35\x44\x68\xb6\x87\x9e\x8a\x77\x16\x85\x5c\x12\x21\xfa\xbd\x17\xd9\x32\xc8\xab\xc0\xd2\x06\x18\xb9\x08\xbf\x1a\x60\x60\x34\x6f\xc8\x98\xe7\x80\xe3\xc3\x94\x59\xe7\x30\x67\xeb\x08\x66\xec\x32\x82\x25\x1b\x1c\xd9\x70\xcb\x56\x11\x4c\x98\xe5\xc0\x82\x59\xa7\xc7\xca\x67\xcb\xaa\x21\x14\x8d\x2c\x09\xac\xf9\xd1\xc4\x94\x90\xa2\xcf\xac\xf3\x73\xfa\xca\xb2\xed\x93\x2a\x6a\x81\x9e\x84\x16\x8f\x27\x44\xeb\x78\x4a\x0c\x20\x88\x96\xf3\xc0\x2d\x98\xbd\xa1\x70\x60\xeb\x8b\xa7\x14\x22\x3c\xcc\x6e\x51\x40\x72\x03\xd7\x95\x43\x18\xb8\x63\xab\xf2\x0c\x95\xdb\x60\xca\xec\xd1\x9d\x76\xfc\x12\xb1\x95\x97\xfa\x30\x67\x15\x5f\x32\x63\x91\xde\x42\x60\xcd\x66\xd6\x6a\x30\xb7\x56\x70\xc3\x66\xd6\x7a\x30\xb7\xd6\x40\x6e\xd9\xba\xbf\x36\x6f\xfa\x37\x14\x45\x11\x45\x3f\xf0\x52\xbf\x4f\xc8\x2d\xab\x35\xfb\x6e\x29\x1d\x08\x2f\xf5\xe9\xe1\x2d\xac\xfb\xec\x16\x6e\xe4\x1f\x09\x8c\xad\xfb\x64\xc1\xe6\xd6\x1d\x17\xb3\x79\x6e\xce\xf4\xc3\xb8\x4c\x39\x24\x3b\x79\xd4\xb5\x4e\x28\xc8\xf6\xd9\x4d\x7f\x01\x73\x6b\x65\x2a\x28\xce\x60\x41\x61\x6e\xad\x4d\x99\x8e\x12\x0b\xb2\x60\x45\x7f\x42\x95\xec\xc5\xb3\xfd\xc3\x21\xdc\xb0\xcc\x73\xe4\x03\x6a\x3a\x2c\x28\xd5\xb2\x83\xf4\xd5\xf5\x88\x46\xca\xed\x4d\x24\x41\x92\xf5\x20\xb2\x56\x68\xa4\x20\x41\x92\x9b\x41\x64\xad\x69\x7f\x21\xe1\x2e\xb1\x56\x5a\x90\x9c\x6d\x4b\x19\xc9\x25\x85\x02\x12\x8a\xf0\x4b\xb8\x44\x01\xa6\xd6\x54\xac\xf8\xe4\xe1\x21\x57\x52\x11\x12\x93\x88\x52\xfd\x0d\xea\xd2\x15\x16\x58\x7a\x4c\x22\x6b\xc5\x22\x6b\xb9\x92\x88\xc8\x87\x35\x75\x65\xda\x80\x11\x99\x3a\xc0\xbf\x4c\xe2\x4a\xfb\x53\x59\x46\x65\xac\x31\x43\x56\x58\xcb\x0c\x3a\x0a\x71\xa2\x95\x13\x47\xcd\x60\x3d\x73\x36\x74\x03\x91\x12\xc8\x3d\x6d\x43\xbb\x64\x31\x44\xd4\xbd\x94\xd5\xf6\xde\x42\xec\x56\x5b\xa9\x6a\x2b\x59\xed\xe9\xf2\x80\x4c\xd5\xca\xca\xc6\x7e\xdc\x35\xe0\x79\xa4\xf6\xbc\x4b\x5d\x37\x1e\xc7\xae\x89\x50\xe7\x12\x6a\xa5\xbd\xdc\x6e\x40\xb7\x77\x95\xa7\x7b\x75\x68\x77\xdb\x9b\x3d\xde\xde\x4c\xb6\x37\x4d\x05\x16\x78\x1a\xc4\x29\x53\x55\xa7\xb2\xaa\xda\xe6\x9e\x56\x71\xf9\x38\x2a\xcb\x1a\xde\xf3\x86\xf4\x96\xc5\x7d\xf5\xfd\x1b\x2b\x5c\x02\x9b\xa5\xc1\xad\xc8\x9f\x28\xac\x9a\xe8\x6e\x4d\x64\xcd\x7c\xce\xf3\x4e\xd3\xe7\xae\xf8\xe7\x3b\xad\x2f\xb0\x75\x9c\xcc\x4f\x14\x31\xc9\xb6\x8b\x71\x7c\x61\x8f\x0b\x16\xbb\x84\x5b\xa1\x76\xfc\x62\xe5\xec\x7d\xf0\x1e\x9e\xb2\xd7\x52\x37\xbe\xb0\x7b\x3d\x12\xea\x8b\x48\x5d\x4c\x9f\x11\x65\xc1\x78\x23\x39\xef\x6f\x31\x51\x1b\x3d\xa5\x12\xf5\x02\x57\x00\x9a\xb8\xef\x39\xad\x41\xdd\xbb\x1f\x70\x45\x72\xf3\xc6\xbd\x6c\x41\x21\x62\xf6\xa8\xb8\xc0\x4b\x2d\xca\xbd\xc8\x2f\x19\x13\x99\x1e\xea\x74\x7d\x8a\xaf\xbc\xc8\x1f\x71\x4f\x94\x64\x21\x52\xce\xbe\xa2\x5c\x85\xde\xd9\x29\xc8\x02\x9a\x50\x6c\x17\x50\xb5\xe8\x66\x53\xbb\xe6\x4a\x18\xf7\x72\x5f\x5d\xc0\x65\xd5\x05\x1c\x5e\xb0\x65\x18\x86\x49\x5f\x8e\x04\x78\xc5\xe6\xc5\x75\xdc\x9d\xa0\x65\xe6\x96\x06\xf1\x24\x59\x10\xda\x4f\x9b\x0e\x75\xea\x63\x2a\xac\x8e\x29\xad\xb3\x08\xb7\xb8\x79\x57\x1a\x95\xc5\x45\x8e\x4a\x85\x24\x65\x97\x92\x15\x52\xa8\xb3\x1c\x52\x7d\x54\x30\xbb\x2a\x1b\xea\xb2\x29\x5b\x49\xe4\x0d\xe5\x15\xb7\x61\xc3\xa9\x7b\xda\xeb\x91\xf2\x51\x6e\xc3\xfa\xd1\xa7\x5d\x35\xd4\x80\x61\x0d\x6d\x44\x20\x6b\xa8\x47\x9f\x82\x69\x96\xd5\x35\x3a\x98\xa2\x47\x59\xa5\xec\x74\x45\xf5\x04\xf4\xed\x92\xb5\xa2\x08\x7d\xc5\x62\x62\xac\x0c\x98\x52\x5a\x65\xad\x55\xd6\x5a\x66\xad\x0d\xb8\x6d\x64\x2d\x75\xb5\xe5\x8a\x49\x10\x75\xba\xae\xb3\x5c\x33\x59\x5f\x9e\x64\x42\x92\x23\x1d\xbb\xc4\x9c\x6e\x0f\x9c\xf0\x72\x9f\x99\xf3\x86\x7a\xea\x4a\xa9\xa7\xd6\x17\x17\x3b\xc5\xd1\xf7\x5c\xb0\xa7\x89\xd9\x4e\x13\x01\x36\x31\x7b\x6a\x13\x58\x7c\x26\x9b\x48\xf6\x34\xb1\xa4\xdb\xe3\x9b\x60\x13\xcb\x46\x13\x97\x5d\x4d\xb4\x8a\x2f\x6b\x52\xad\x22\x16\x2b\xc2\xb1\x83\x38\xd7\x3b\x11\xb1\x1c\xaa\x96\x79\xb2\x7c\xa4\x94\x8d\x85\x26\x69\xd0\x21\xd7\x91\x74\x3e\x49\x25\x8d\x71\xc3\xe7\xc1\xad\x48\x52\x2c\x48\xa8\x36\xd1\x25\x6b\x6a\x61\xec\xb7\x34\x98\xe1\x6e\xa2\x38\x00\x03\xfe\x95\xd6\x19\x65\x5a\x5e\x27\xf1\x78\x52\xa6\xc6\x05\xa5\xbb\xa1\xbf\x6f\x13\x31\x51\x3a\x66\xb2\xca\x22\x29\x32\x9e\xdc\xf2\xb4\x02\x55\xd0\x46\x46\x51\x35\xcb\x0b\xaa\x46\x36\xc5\xfb\xec\x24\xb0\x52\x2e\x39\x7b\x12\x41\x08\x46\x12\x1b\xfa\xe6\x77\x1d\xb1\xa1\x0d\x97\x11\x73\x60\x15\x31\xe7\xd0\x1e\xd5\x3c\xcc\x5c\xf0\x34\x48\xc3\xf9\x7a\xcf\xce\x58\xe8\x8d\x0d\x02\xe6\x15\x3e\xea\x59\xe3\x2a\x2a\xac\x09\x5f\xe6\x73\x66\x8f\x94\x98\x8e\x08\x16\x58\xcb\x64\x49\x28\xc5\x4d\x49\xab\x5d\x0b\x0a\x24\x64\x5c\xa1\x19\x83\x00\xa1\xea\x51\xb9\x34\xa2\x4a\xc7\xb9\x11\x62\x0e\x8d\x3b\x47\x83\x41\x74\xc1\xec\x11\x0d\xf4\x8d\x1d\x0b\xbd\xc8\xa7\x90\x59\xcb\x20\xe5\x71\xce\x04\x64\x1a\x01\x0d\xd0\x74\x46\x69\xaf\x47\x84\x62\xbc\xf1\x02\xc8\x0a\xe7\x22\x9a\xa4\x3c\x66\xa1\xba\x86\x6a\x16\x30\xd3\x5d\x9c\x1e\x1e\x6c\x0a\x13\x1e\xf1\x9c\xbf\xa8\x6b\x57\x7a\xd1\x05\x29\x76\xfd\xf4\x43\x31\xca\x31\xb2\x7c\x5c\x55\x40\x51\x05\x8a\x15\x72\x8c\x36\x2f\x99\x75\x8d\x37\x2d\xfd\xc6\x15\xdc\x64\xb1\x16\x12\x6c\x28\x24\x6a\x4b\x66\x61\x01\x9c\x25\x05\xa4\x2c\x2a\x1a\x31\xe2\x92\xe6\xc1\xf5\x98\x19\x56\xce\x78\x65\xd6\x5d\xf5\xfe\x49\xa6\x56\x5c\x19\x96\xa3\x83\x0e\x35\x42\x4f\xaa\xd6\xb4\x47\x4f\xf9\xde\x8a\x38\xf2\x05\xc9\xa1\xad\xe0\x57\xa2\x88\x2a\x54\xe5\x87\xdb\x50\x08\x5a\x45\xcb\x6b\x97\x51\x5e\x55\x40\x2d\xaf\xed\x0f\x99\x43\xde\xfc\x90\xb2\x4b\x8d\x61\x2f\x25\x34\x2c\xaf\x86\x1d\xd5\x47\xe2\x26\x47\xbf\x0c\xd2\x5c\xe4\x5b\x66\x64\x8d\xd5\x50\xb1\xf0\x15\xcb\x5e\x4e\x12\xe4\xab\x57\xa8\xc1\xb9\x66\x1a\x8f\x7e\x21\x31\x5a\xb1\x54\xfe\xac\x59\x01\xa2\xd7\x23\x41\xe5\x5e\x53\x7b\xfb\x2d\x25\x42\x03\x47\xb3\x26\x1a\xc1\x71\x7a\xa8\x9f\x5c\x7b\x64\x9a\xe1\xab\x60\x44\x63\x92\x30\xe1\x85\x3e\x70\x88\x58\xa2\x72\xfb\x29\xba\x48\x33\x59\xb4\xcd\x8d\x57\x1e\xb3\x35\x92\x20\x59\x4f\x31\x25\x5c\xdd\x96\x56\x68\x34\x74\x80\x14\x5f\x24\x5e\x15\x23\x79\x36\x96\x81\xa6\x52\xc8\x09\xf7\x44\x43\xda\xeb\x98\x69\x53\x51\x0b\x83\xa3\xaa\xd8\xa7\x69\x63\xb3\xe7\x8d\x98\xa7\x31\x09\xd0\x03\x33\x54\x9e\x49\x0f\x73\x4c\x92\x1b\xa2\xd6\xc3\xea\xd8\x96\x08\x85\x42\x31\xfc\x75\xf8\xce\xa7\xf3\x32\x05\x8b\x81\x23\xfd\x57\x14\xa8\xef\xd4\xfa\xd8\x62\x9f\xf0\x26\x50\x9d\x49\x20\x62\x41\x4d\x1e\x05\x6d\xa5\x2d\x54\x9f\x52\x2d\x9b\x79\x39\x07\xb1\x0d\x74\x0e\xd6\xe5\x09\xe9\x11\xcf\x15\x14\xa6\xac\xab\x4a\x31\xde\x63\xa2\xe9\x16\x74\x90\xc1\x9c\x55\x21\xc0\x94\x45\xd2\x4d\x46\xa6\xf4\x30\x82\xce\xf6\xc5\x58\xec\x01\x26\x28\x85\x19\x9b\xf7\x89\x7d\x31\x1d\x0f\x1c\xd7\xa1\xb0\x94\x9f\x23\x2b\x16\x24\xa4\x70\xcb\x96\x63\x32\x1d\x44\xfd\x19\x3d\x5c\xba\x76\x53\x50\x1f\x69\x41\x7d\xf9\x99\xf1\x34\xe0\x95\x40\x9d\x33\xc6\x6e\xa2\x71\xa7\x80\x35\xf4\x72\x7f\x10\x7a\xb1\xbf\xe9\x0e\x96\xc6\x49\xe0\xc5\x3e\x04\x5a\xee\x3e\xe9\x0c\x0f\xb9\xf0\x62\x9f\xdd\x4f\x82\x3c\x70\xb1\xb4\x5a\x31\x09\x93\x70\x9b\xf2\xea\xac\x96\x57\x67\x26\x4b\xfa\xb7\xe6\x0c\x96\x81\x4e\x99\x6f\x36\x14\x16\x7a\x13\x56\x37\xd1\xc0\xd9\x4d\xa4\xfd\xdf\xfe\x1c\x80\xa8\x85\xb5\x3b\x1b\xe4\x53\x77\xe4\xf6\x3e\xfe\xd4\xdd\xb8\xee\xc3\xf3\xb7\xe4\xb2\xcb\x4f\x37\xb7\xad\x0c\x6a\x83\xe7\xd4\x14\xaa\xa6\xd8\x94\x06\x39\x37\x11\xbb\xdf\x34\xc8\x8c\x2c\x0f\xda\x52\xb7\xc6\x6a\x43\x55\x27\xc9\xc7\x90\x79\xc5\xde\x54\x3c\x4c\xa2\x8d\xaa\x92\xbd\x8b\xef\xc5\xee\xe2\x0b\xf7\x05\xfb\xdc\x8e\x02\x5a\x5f\xcf\x78\xa2\x3e\x46\x38\x85\xa0\xf9\xe6\xe3\x45\xcd\xb4\x26\x63\x32\x88\xe8\x08\x65\x95\x4b\x9e\x2e\x8a\x9c\x93\x10\xa6\xb2\xe1\x46\x4a\x06\x53\x75\x37\x59\xa9\x4e\xb1\xb4\x59\x1f\x16\x68\x11\xd6\x94\x0c\x2e\x99\x3d\x5a\x5c\x2c\x47\xa6\xa9\x28\xe9\xa2\x2c\x2f\x0b\x7a\x4b\xc9\x90\x4d\xe4\x4f\xa6\x5e\x51\x21\x63\xc6\x9c\xd1\x5c\x6b\x2f\x35\xca\xcf\x54\x79\x93\x65\xde\x6c\xe0\xe8\xd2\x90\xa9\x74\x59\xb1\x52\x12\xd5\x93\x7e\x0d\x9c\x2d\x25\xe1\x71\x5b\x40\xc1\x66\xf2\x28\x98\x16\x10\xb0\x79\xb1\x35\xed\xb3\xe7\xcf\xfb\x24\x9d\x34\x8d\x17\x1f\x9f\xf8\x7b\xbc\x6d\x5d\xab\x5b\xf0\x9c\x3e\x3c\x2c\x8b\x6a\x6d\x24\x18\x3c\xea\xa9\xeb\x62\x0f\xe8\xbb\x1a\xf4\x6d\x51\x2d\x9d\xd5\xb3\x67\x7e\x53\x6d\xe8\xb1\x2a\x81\xaa\x12\x68\x17\x22\xcf\x5e\x9b\x3a\x76\x4a\x4b\xab\x21\x13\x13\xae\x74\x19\x76\xee\xe4\xd1\xcc\xac\xd2\xb1\x93\xb4\xa8\xac\x34\x29\x28\x9a\x48\xc8\xe7\x45\xa1\xbd\xe8\xaa\x1d\x3d\xa5\x8f\x5c\x8a\x15\x5e\xec\x0f\x0a\x2f\xf7\x25\xd5\xca\x6c\x88\x98\x0d\x21\xda\x36\x35\x8d\x2f\x53\xcd\xd0\x71\x16\xa0\xec\xe2\x22\x19\x93\xc4\x64\xc2\xe3\x3e\x84\x8a\xa4\xe7\x94\xba\x24\xd2\x69\x59\x95\x56\xce\xb6\xac\xe1\xf0\x44\x3b\x4b\x09\xe9\x06\x74\x62\x97\x96\x46\x85\x7f\xa5\x48\x5f\x83\xd8\x80\x31\xe1\xd3\xa0\x88\x72\xc3\x5d\x16\x1b\x0a\x77\xf5\xe8\x65\x22\x9a\x27\x05\xcf\x73\xde\x3d\x76\x38\x64\x95\x71\x5e\x5c\xaf\x59\x40\x56\x5b\x0d\x42\x75\x53\x6d\x8f\xc4\x05\x1f\x99\x26\x2f\x4d\xd9\x6c\xa4\xba\x0a\x6d\x3c\x9a\x9a\x2c\x56\xb7\xbf\xa8\xc0\x7f\x91\xf4\x7a\x24\x61\x29\x7a\x52\x55\x11\x99\x37\xdb\x70\x22\x8f\xfb\x8c\x24\x83\xc0\xe3\x3e\x3d\x1c\x56\xdc\xf1\x06\xee\xc4\x6c\x16\xed\xc5\xba\xe9\x2c\xa7\xee\xc1\x54\xb9\x61\x9e\xb3\x69\x99\x52\x99\x9c\xce\x3c\xdb\x67\x11\x0b\x99\x0d\x1c\x77\x95\xad\x7e\x14\xcc\x1e\x65\xfa\xc3\x16\xad\x7e\x94\x25\x04\xda\x2d\x4e\x65\xaa\xed\x0f\xa6\x68\x3f\xe9\xd9\x7e\x55\xeb\x5e\xdf\x7f\x40\xc0\x48\x5d\x7d\xa0\x1e\x07\x4a\xb5\xed\x90\x0c\xfb\x09\xad\x5c\xe3\x07\xa6\x2c\x9a\xd6\x45\xd3\x46\xd1\x64\x24\x4c\x16\xf4\x6b\x50\x9b\x99\x1c\xac\x68\xc0\x8a\xb1\x38\x2c\xfa\x89\x6b\x6b\x87\x32\x21\x8b\xea\x91\x2d\x7b\x26\x0b\x0f\x58\x58\xdb\xc3\x02\x5f\x2d\x83\x78\xf2\xfc\x79\xe0\x1c\x16\x35\x6b\xfc\xcc\x49\x80\x21\xe7\x9b\x92\x10\x59\xa4\xce\x3f\x64\xe9\xae\xb0\xa4\x5d\x84\x05\x3b\x93\x26\x91\xe3\x60\xd7\x9b\x3c\x7c\xe7\x69\xe2\xde\x16\x4a\x81\xa9\x22\xb2\xb3\x3c\x99\xa5\x4d\x17\xce\x5b\x52\x51\x51\xf3\xe5\xea\x8e\x4e\xc7\x1d\x97\x0b\x87\x43\x69\xc5\xd9\x24\xf9\x43\x40\x5f\x5b\x4d\x63\x6b\x9d\x28\x79\x0b\x98\x57\x2c\x3f\xcc\xaa\x29\x38\x70\x60\xc9\xf2\xb1\xe3\x3a\x87\x73\xe4\x3e\x66\x23\x1a\xb0\xc8\x13\xbe\x6c\x2f\x90\x2c\xd4\xd4\x13\xa6\xe3\x0f\x48\x60\xe1\xb3\x2f\x17\xcc\x5a\x71\x33\xb3\x0b\x1b\x87\xaf\xe2\x5d\xe6\x23\x2a\xc9\x3f\xe1\x43\x72\x81\x82\xcc\x5e\x2f\x79\x85\xa2\x4c\x64\xbf\x22\x2f\x09\xac\x1b\x91\xf1\x30\x27\x53\x48\xc0\x81\x19\x9a\x8f\x06\xd6\xda\x64\xcb\x72\x21\xc6\x2d\x76\x27\xd2\xa7\xe4\x81\x5c\x1a\x9a\x3e\x4c\xd9\x8d\x3c\x2a\x2f\xb7\x0f\xc8\xe7\x53\x78\xb8\x6d\x3d\xf5\x10\xfb\xa9\x74\xad\x8c\xa7\xd4\x8d\x88\x9f\xe8\xc7\xb2\x60\x3b\x22\xd5\x7c\xdc\xb1\x8d\xae\x0a\xa5\x41\xe8\x56\x0d\x21\x3d\x38\xc5\x40\xe2\x71\xb8\x7e\xea\xf1\x7f\x70\x50\x11\x00\x6d\x0e\x7b\x2f\x1d\x18\xd7\x4c\x24\x6f\x9a\xe5\xcb\xc9\x93\x60\x20\x1e\x88\x58\xa1\xbc\x49\x61\xcc\x89\x8c\x95\xba\xa8\xd5\xdd\x84\xbb\xe7\x8c\xdf\x95\xf5\xe5\x1b\x14\x65\x5a\x2b\x96\xc8\x99\x04\x41\x41\x92\x2d\xf1\x44\xca\xcc\x8c\x34\xa4\x34\x58\xe4\x7d\x41\x25\xed\xa9\x4c\x06\xd2\x3e\x91\xf3\xb6\x62\x94\x87\xfd\xc4\x4a\x0f\x23\x50\xbf\x21\x95\xfb\x75\x17\x60\x93\x4d\x9b\xf0\xba\x8a\x0c\x64\x91\x52\x69\xed\x8d\x2c\x10\x1d\x0e\x21\x3c\x1c\x82\x5a\x29\xfb\xdb\xd4\xec\x74\x0e\xbc\x9b\xa1\x56\xa7\xfb\xb5\xec\x07\xee\xea\x2d\xee\x3a\xde\xe2\xae\x9f\xca\x2f\xa4\x5b\x2e\x55\x1f\x9f\x1c\xea\xbb\xf1\x87\x87\x4e\x8f\x41\xdc\x35\x6b\xe2\x71\x47\x93\xe5\x7f\x39\xf6\xd2\x6b\xa3\x50\x91\x83\x9a\x73\xaf\x6d\x96\xb2\x35\xf7\xb4\x50\x27\x63\x41\x6b\xee\x15\xa5\x07\x07\x98\xb3\x9c\x4c\x51\x8a\x1f\x14\x64\x2e\x99\x84\xb9\x16\x2f\x59\x0b\x36\x98\x5b\xdf\x41\xc8\xf4\x94\x42\x48\x45\x41\xa6\x20\x1a\xd6\x25\x33\x36\x85\x25\x9b\xc2\x2d\x9b\x8e\x30\xb3\xfd\xb5\x57\xaf\x66\xd6\x0a\xa3\x39\x61\x04\xdc\xd5\xc5\x12\x5f\x97\xea\x15\x85\x49\x17\xb7\xea\x17\xaf\xfd\xd1\xbd\x89\x84\x3b\x61\x09\x99\xc1\x92\x1e\x0e\x07\x33\x6b\x05\x0b\x16\x79\xb6\x7f\x48\x96\xd6\xca\x4c\xc8\x12\x66\xf4\x70\x68\x4e\x28\xac\x59\x24\x8f\x12\xa2\x61\x3c\x3c\x38\xb4\x13\x0d\x46\x62\x6b\x65\x4e\x68\x7f\x01\xca\x02\x46\xc9\xb1\xd6\xf5\x4c\xcc\xb6\x64\x4c\x0d\xdb\x7f\x76\xff\xda\x55\xd7\x78\x5a\xde\xe4\x7a\xe8\x31\x80\x79\xdc\x2f\xa5\xc4\x39\x4b\x2b\x29\x71\x53\xec\x54\x4b\xd2\xb4\xf3\x83\x52\x48\x36\x4a\x2e\x82\x91\x69\x06\x34\x55\xfb\x32\x11\x5e\xe0\xb3\x82\xdd\x5f\xbb\xf2\x09\xd4\x17\x70\xf3\xba\x51\x52\x30\x99\xd3\x14\xc7\x16\xa5\x3b\x81\x87\x07\xcf\x07\x8d\x65\xa0\x7e\xbe\xbb\x36\x2c\xb4\x8e\xa5\x0a\xcb\x88\xc9\xc2\x0d\x36\xd4\x0a\x58\x41\x6b\xb9\x53\x09\xb1\x15\x8d\x89\x37\x15\x80\xab\x4e\xf0\x4a\xe4\xdb\x94\xbe\xc5\x96\x18\x73\x2f\xb6\xc4\xc0\xf1\xb1\x19\x25\x36\xd4\xe4\xea\xfd\x8f\x05\xd1\xfa\xac\x42\xf9\x65\xb0\xbe\x9b\xb9\x97\xd7\xee\x41\xac\xef\x48\x00\x8e\x49\x6c\x7d\x67\xa9\xf5\xdd\x4c\x48\x6c\x5d\x43\x6a\x5d\xcb\x69\xb2\x60\xb1\xf5\x7d\x20\xa8\x2b\x73\x45\x2d\xf2\xde\x2d\x4c\x47\x15\x76\xaf\x99\x5c\x27\x68\xa8\xa4\x13\x1e\x1e\x30\x9e\x44\x33\x5c\x17\x4e\x8e\x6b\x34\x8b\xfa\x6e\x56\x25\xe5\x1c\x59\x98\x75\x47\x17\xed\xa8\x5d\xb9\x8e\xdb\xd5\x08\xb1\x87\x34\x94\x24\x9e\x40\xf2\x40\x11\x2b\xb6\xc7\x48\x6f\xee\xd6\x02\x32\x26\xac\x05\x4c\x59\x60\x2d\x50\x3d\x66\x31\x0a\xd8\xa7\x82\x04\x14\x0a\xf6\xad\x20\x05\xfa\x0a\x2f\x46\x34\x92\x6f\x91\xa4\x2e\x3e\x15\x44\x52\x19\x56\xc0\x62\x74\x97\xff\xdd\x9c\x0e\x0a\xeb\xfb\x20\x34\x13\x12\x58\xd7\x50\xc8\x51\x4a\xf1\x0a\xf9\x63\x41\x7e\x2d\x48\x00\x18\x0f\x2c\xc6\x25\x6b\xb2\x14\x32\x53\x52\xe2\x53\x13\x1b\x0d\x4d\xc4\x63\x6e\xca\xc6\x65\x96\x90\x38\xf4\x7a\x07\xd8\x0e\xde\x24\xe4\x2c\x00\x21\x87\x60\x3a\xc8\x30\x26\xcc\x01\xe2\xd2\xeb\x91\xc8\xca\x59\x01\x91\xcc\x0b\x07\x73\x74\x08\x50\x2e\x20\xde\x8c\x3c\xa6\x56\x5d\x1f\x57\x6d\x6b\xc5\xc9\xe5\xaa\xec\x61\x1e\xdb\xc3\xd1\x95\x80\x3a\x9f\xd4\x33\x24\xec\x5d\x21\xc9\x34\xd4\x90\x52\x97\xec\x8d\x9d\x9d\x2f\x83\x74\xcb\xbf\xf0\xe3\xae\xaf\xf3\xca\x9d\xf5\xd3\x4f\x85\xb0\xf4\xd8\x1d\xb1\x9c\x8e\x85\x5a\x4e\x31\x75\x43\x65\x31\x12\x49\x68\x71\x32\xe1\x57\x7f\x11\x22\x42\x11\x0a\x62\x84\xd0\xf5\x66\x1f\xb4\x36\xfb\x30\x2a\xb2\x96\xcf\xa4\x3d\xb4\x06\x24\x2c\xdf\xa6\x36\x22\x34\xbb\x86\x90\xd9\xf2\xf4\x8e\x76\x6e\x7d\x9a\x4b\x7d\x94\xf7\x7a\x79\xad\xe9\x60\xad\xd8\x97\x42\x05\xa6\x58\xb3\xdf\xe4\x13\x75\x31\x35\x18\x87\x26\xe3\x88\xa6\x6b\x63\xae\x64\x83\xaa\x8d\x3c\x63\x3f\x17\xca\x5d\xd0\x5b\xfc\x9d\xb3\xcc\x5a\x0d\x94\x18\xe9\x70\x88\xc4\xf2\xca\xe4\x64\x0a\x59\x83\x07\x44\xe4\x8a\x71\xd7\x26\xae\xb4\xa9\xd2\x72\x5e\x91\xc8\x42\x8d\x42\x8a\x3e\x6a\x36\x6e\x67\x95\x39\x3d\x24\xb3\xc1\xbc\x59\xcd\x19\xc8\x9a\xe3\xd8\x5a\x1f\x46\xd6\xda\x75\xa8\x06\x50\x5f\x59\x3d\x6b\x7a\x72\x39\x3d\x53\x3d\x3d\x0b\x76\xe0\xfc\xf5\xc9\xd9\x12\x91\x3e\x83\x64\xa9\xdc\xc9\x6b\xe2\x56\xcd\xa7\xf4\xf9\xb3\x52\x81\x3a\x68\x82\x4a\x9b\xd3\x31\xdf\xa1\x3d\x16\xc1\x72\xef\x74\x6c\x06\x22\x45\x5e\x73\xe0\xa0\x7c\xa6\xd2\xf6\x28\x5e\x89\x11\x4d\xd1\xbd\xbe\x57\xf8\x7a\x58\xfb\xc4\xbe\xc8\xc7\xb6\x9b\x53\xe0\xca\xc3\x51\x69\x28\xfb\xf0\x60\x5f\xb0\x74\x6c\xbb\x69\xf3\xc0\xe6\xe5\xcd\x15\x6f\xdd\x5c\x89\x5e\xaf\xba\x94\x6a\xdd\x49\x4d\x09\x47\x85\x4b\x49\xfd\x88\xca\x27\xcf\x92\x39\x87\x36\xdc\x32\x03\x13\x0c\xc6\xd8\x6c\x1c\x5a\x93\x95\x6b\x4c\x9a\xef\x6b\x57\x15\x18\xd4\xa9\x4e\x8f\xab\x0d\x4e\xe5\x63\xa5\xea\x02\x43\xbe\x81\x4c\x57\x3a\x7a\x31\x99\xcb\xb7\x55\x5f\x26\x1d\xea\xeb\x3b\x0a\xca\xd3\x11\xb3\x47\x24\x62\xf3\x12\xe9\x0b\x7b\x44\xb5\x0c\x29\x60\x73\x2f\x1a\x38\x7e\x59\x52\xee\xe6\xf2\x17\x8c\xec\x5b\x11\xa4\x62\xba\x36\x0e\x18\x9b\x3d\x3c\x90\x84\xa5\x24\x83\x5b\x4a\x5f\xb1\xe5\x98\xcc\x15\x5d\x02\x4b\x96\x50\x97\xa8\xba\x03\x96\xa9\x54\x05\xa1\x90\xc5\x21\x84\x03\x87\xc2\x2d\xeb\xc0\x1b\xca\xd9\xc1\x4a\x2c\xd5\x58\xd1\x51\x99\xd1\xeb\x91\x0a\x8a\xdd\x51\x5e\x1e\x60\xe5\x2d\x47\xde\x74\x06\xcd\xcb\x6b\xd0\x74\xeb\xd6\x31\xed\xf5\xd2\xd6\xb7\x13\x10\xb0\x29\x46\xe3\x61\x69\xf5\xc9\x2a\x09\x55\x4c\x12\xe4\xa8\xfb\x81\x1c\xd5\xf2\x2e\x14\xa2\x72\x54\x05\x4b\x54\x97\x47\xa5\xa3\x33\x51\xe6\xca\x23\x10\xc7\x41\xcd\x7b\x61\x7d\xc7\xde\x44\x20\xac\xef\x63\x09\xd3\x95\x30\x21\x80\x83\x4a\x8a\x0f\xa5\x5b\x09\x56\x36\x40\x47\x69\xd5\x41\xde\xec\x60\xba\xb3\x08\x58\xac\x87\x1d\x25\x4b\x72\xca\x05\x72\x55\x24\xcd\x55\x11\xbc\x4a\x46\x14\xd7\x44\xe0\x63\x69\x3c\x99\xd1\x65\xaf\x50\x41\x52\x0b\x75\xd9\x59\xf3\xf2\x69\x9f\xa5\x90\xf7\x59\x0e\xe9\xb8\x62\xa2\xf2\x7e\xd1\x5f\x1e\xa6\x90\x1e\x92\xbc\x2f\xfa\x4b\x4a\x5d\xe7\xd0\xde\x21\x68\x4a\xce\x4f\xdd\x94\xb6\x1d\xd0\x71\x6b\x85\x5e\x35\xd6\x90\xb1\x7c\x1c\x11\x85\xfd\x61\x4e\x5d\x7b\xf4\xff\x43\x3f\x27\x8c\x5b\x93\x95\xea\x22\x49\x1f\x1e\xb2\x0b\x2e\x27\x0d\xc6\x10\xc5\x27\x94\x5e\x04\x23\x5a\xb0\xd8\x13\x3e\x14\x92\x37\x85\xc2\x5a\xb3\x10\x0a\x6b\xb2\x66\x19\x24\x92\x28\x99\xac\xea\xb9\xc7\xe5\xa9\x60\x4d\x56\x83\x04\xb2\x71\x44\x0a\xd5\x66\x46\x5d\x9b\x8e\x0a\xeb\x3b\xba\x3f\xb1\x26\x2b\x93\x35\x0a\x72\x6b\x6d\xb2\x0c\x64\x93\x03\x96\x21\x9d\xd8\xc6\x69\x55\xe1\xb4\xfa\x1f\x38\xad\x58\xa6\x08\xa5\xc9\xba\x89\xd3\xda\x44\xe0\xe1\x1e\x9c\x1c\xec\x8e\xc4\xa9\x2a\x28\xd1\x53\x38\xad\x24\x4e\x4d\x1a\xa9\x1c\x72\x16\x3c\x3c\x24\x04\x43\xfa\x16\x9e\x5d\x31\xac\xc2\x5a\x31\x81\xa7\xa9\x56\xed\x18\x13\x21\x11\x43\x77\x7b\x42\x22\x16\x7a\x8e\x4f\x5d\x4c\xc4\x77\x5b\x92\x8e\x49\xa9\xae\x20\xe7\x77\x4c\x64\xdf\x64\x89\xbe\x2c\x71\x28\xca\x65\x41\x82\x31\x77\x73\x2a\xcb\xcc\x51\x78\x54\x50\x28\x2a\x3b\xe5\xee\xeb\x6a\xed\x92\x1e\x9d\x8e\x40\xa8\xcf\x3a\x6d\xe3\x3c\x65\x1f\x0a\x98\xcb\x11\x98\xb1\x7a\x3f\x82\x25\x1a\xf6\x3b\x66\xad\x62\x79\x52\xcf\xd7\xe7\xd8\xf2\x86\xca\x22\x39\xdc\x80\xe8\x34\x01\x69\x1c\x05\x79\x43\x3f\x40\x52\x3f\xa2\xa1\x3f\xd1\xbc\xcc\x65\x8c\x8f\x3f\x48\x3a\xc6\xfd\xa5\x20\xf9\xae\x5e\x1e\x1f\x7b\x1c\xf0\x9f\xef\x36\xc3\xea\xf2\xc6\xe1\x89\x35\x63\xba\x79\x2c\xda\x56\xa6\x1c\xf9\xd5\xa6\xe1\xfa\xa0\xce\x58\x4c\xc7\x1f\x8a\x96\x60\x47\x1e\xb9\x5a\xbd\x96\x8e\x73\xb7\xc6\x89\x49\xde\x88\x79\x31\xe0\x3f\x1f\x38\x75\x39\x08\x39\x1a\xf8\x39\x9e\x6c\x3e\x32\xae\x3f\xa1\xab\xc5\x7d\x82\xba\xd1\x81\x96\xfd\xa1\x81\x75\x2e\xc2\xaf\x4f\xd4\xbd\x9d\x23\xc7\xa3\xf8\x4a\xd4\x81\x16\x16\x92\x3a\x4f\xd5\x2b\xc6\x8f\xba\x94\xd5\x16\xc9\xe4\x89\x53\x61\xc6\x62\xd3\x30\x64\xc5\x19\x12\x24\x02\x74\xd0\x02\xa5\x07\xca\xee\x63\x74\x7f\xdb\xe5\x52\x6d\xc7\xde\xbe\xfc\x28\x43\xed\x0b\xdd\xa1\xe0\xe0\x63\x2c\x4f\xac\x06\x49\x53\x7b\x64\x9b\x24\x2f\x38\xd3\x6e\x52\x4b\xcd\x53\xb4\x27\xdc\x4d\x2b\x58\x19\x69\x55\xfb\x55\x2a\x1e\x1e\x8a\x8b\xda\x7b\x5d\x6c\xe6\x7d\xde\xaf\xd7\xc6\x40\x83\x88\x92\x19\x29\xe8\x61\x41\x37\x1b\x88\x92\xd9\xfb\xad\xfe\x94\x1e\x56\xab\x2e\x5b\xaa\xc7\x5a\x03\x22\x09\x1a\xfa\x0f\x3b\xd1\x7f\xdb\xfe\x92\xd1\xbb\x2b\xa1\xb2\xa1\x1b\xf4\xe9\xbd\xcb\x10\xd4\xad\x88\xf4\x4e\xc4\x6f\xf1\x22\xf6\x11\xb8\x39\xa1\x87\xf1\x66\x03\x55\xe9\xae\x2b\xad\x26\xb1\x58\x99\x66\xda\xc0\x99\x3d\x8a\x2f\xf8\x88\x9b\x26\xcd\x4d\xd6\x1a\xcf\x86\x39\x26\x7e\x6d\x15\x6f\xef\x5e\xc7\x9b\x8f\xd8\xfd\x34\x4a\x92\xd4\x5d\x43\xc8\x45\xe4\xae\xf1\x8e\x1e\xcb\x58\xca\xe4\xbb\x43\x2b\xf2\xdf\x05\xf1\x6c\xb9\x89\xa9\xbf\x97\xa9\x24\x80\x14\xc0\xaf\x11\xbb\xcf\x5c\x07\x66\xae\x03\x4b\xd7\x81\x14\x8d\x54\x9d\x26\xd4\xa4\x53\xd1\x52\x90\xad\x76\x09\xb5\x26\xc9\x22\x10\xb1\x6a\x8b\x82\x63\xc3\x81\x0d\x72\xf7\xb4\x7d\xdd\xda\x7b\xbc\xb4\x43\xb7\xcd\x39\x31\x2c\x9b\x1b\x14\x7e\xaa\xba\xb4\x3b\x7e\x83\x3a\xfa\xc4\x20\xa6\x1b\xd5\xe5\x7d\xc5\x10\x08\x96\x6b\x60\xbf\x4c\xee\x3a\xb0\x2f\x3a\xb0\x07\x47\x0d\x0f\xad\x47\x1d\x67\x6b\xb7\x87\xf6\x0a\x3a\xa1\x72\x72\x25\x31\x8f\x73\x62\x9d\x34\x2b\x2b\x07\xf2\x5d\x96\xfa\x81\x20\x9e\x0f\xf7\xb9\x6b\xe0\xc5\x81\x01\x81\xeb\x79\xbe\xbf\x69\xd6\x0e\x83\x9c\xcf\x92\x74\xed\xd8\x8f\x21\xa0\xdb\x20\x54\xdf\x9c\xbe\x8e\xba\x60\x0c\x9f\x05\xe3\xcd\x1e\x18\x37\xcf\x01\xf2\x7d\x0f\x90\x2e\xef\xcd\x7b\x81\xbc\x8b\xf4\xbc\x79\x1d\x31\x6f\x68\x9f\x0e\x87\xa7\x36\x38\xa7\x67\xc7\xc7\x43\xfb\x14\x86\xe7\xc3\xe3\x93\x97\x2f\xc1\x39\xb6\x8f\x8e\xcf\x86\x2f\xe1\xfc\x6c\x78\xf2\xf2\xe5\x09\x9c\x3b\xe7\x67\xce\x91\x03\xce\xf1\xb9\x7d\x76\x74\x64\xc3\xcb\xa3\x93\x93\x33\xc7\x01\x67\x78\x74\x7a\xee\xbc\x3c\x05\xe7\xe4\xe4\xd4\x39\x3b\xf1\xf1\x1a\x6c\x15\x53\x78\xd3\x6c\xc0\x39\x3e\x39\x3e\x3e\x6e\xb4\xe4\x9c\x9e\x9d\x9c\x9f\x9e\x0d\xeb\x26\x6d\xdb\x79\x79\x7a\xde\x68\x5b\x16\xb1\xcf\x8e\x87\x15\x12\xce\xf0\xfc\xe4\xe4\xe5\xa9\x53\x63\x33\x7c\xf9\xf2\xc4\x91\x60\x4b\xb4\x9c\xd3\xe1\xd1\xb1\x73\x7e\x5c\xe3\x77\x64\x9f\x0f\x5f\xda\x67\x0d\x44\x8f\x8f\xed\x97\x27\x2f\xcf\x4b\x8c\xc1\xb1\x8f\x1d\xfb\x6c\xd8\x40\xfd\x7b\xc4\xbc\x23\xd9\xf8\xd9\x19\x9c\x1c\x9d\x9f\x9c\x3a\xe7\x70\x66\x1f\xdb\x67\xce\x39\x38\xf6\xf0\xf4\x78\xf8\xf2\x14\x4e\x4f\x9c\x73\xfb\xfc\x0c\xce\x87\xce\xe9\xc9\xf9\x31\x38\xce\xb9\x73\xe2\x38\x27\xe0\x1c\x9d\x9c\x9c\x9e\x1e\x9d\xc2\xf9\xd0\x1e\x9e\x9f\x1f\x81\x33\x3c\x1e\x9e\xbe\xb4\x65\x8b\xce\xcb\xd3\x13\xe7\x58\x3e\x9c\xdb\xe7\x47\x43\x78\x79\x7a\x7a\xea\x9c\x9e\x83\xe3\x1c\x9d\x9c\x1e\x9f\xcb\x9e\xd8\xc7\xe7\xa7\xc7\x47\xb2\xc8\xd9\xd9\xd1\xd9\x10\x5e\xda\x67\x67\xa7\x2f\x8f\xc0\xb1\x5f\x1e\x1d\x1f\x0d\x8f\x25\xfc\xe1\xcb\x13\x09\xee\xf8\xe4\xe5\xf9\xe9\xc9\x71\x8d\xf8\x3b\x89\xf8\xf0\xf8\xf8\xec\xe8\x08\xce\x6c\x39\x00\xb6\xec\x9e\x7d\x7a\x3a\x94\x78\xd9\x47\xc3\x63\x39\x6c\x27\xf6\xf9\x89\x7d\x72\x04\x8e\x6c\xfc\xec\xf4\x58\x3e\x0c\x4f\x86\x27\xe7\xf2\xe1\xe8\xd8\x76\x5e\xc2\xd1\xf0\xe4\xc8\x3e\x3b\x85\xb3\xd3\x93\xe1\xf1\x99\x84\x72\x6a\x9f\xd9\xf6\x11\x38\x47\x8e\xed\x9c\xd8\xc7\x70\x76\x7a\x7e\x32\x7c\x29\xb7\xa2\xa3\xf3\xe3\x23\x67\xa8\x46\x58\x62\xec\x1c\x1f\x1d\x0f\x5f\x9e\x3b\x72\x88\x8e\x4e\xec\x33\x38\x7f\x79\xfa\xf2\xfc\xc4\x96\x03\x71\x74\xfc\xf2\xec\x0c\x9c\xe3\xe1\xd9\x99\xfd\xd2\xa9\x30\xaf\x77\x97\x6f\x45\x10\xe7\xa2\xd3\x2a\x3f\xc1\x35\xee\xb5\xb6\x13\x55\xfc\x7b\xa7\x0e\xbc\x20\x76\xd7\x0e\x94\xcf\x53\x9e\xcd\x93\x68\xd2\x51\x27\x14\xc4\xb3\x4e\xfc\xdd\x4a\x62\xc2\xe3\xbc\x65\x57\x54\xd5\xc9\x04\x69\x16\xbf\x9d\x69\x27\x03\xd9\xed\xcc\x0a\x1e\x09\x94\xa1\x4e\xe2\x8a\xdb\xb2\xc1\xe4\xfb\x42\x40\x86\xad\x62\x7b\xf4\x25\x29\x64\x92\xad\xef\xca\x1a\x7c\x08\x60\xca\xf6\x44\x98\x94\x99\x5a\x65\x12\x35\x25\x07\x19\x85\x19\xcb\x2e\xa6\x63\xdb\x75\xd0\x8d\xd5\x45\x88\xf7\x2e\x21\x48\x52\x3a\x66\x4b\x0a\xf3\x0b\xf6\x36\xa0\xd5\xb1\x1d\xc2\x8c\x9a\x04\xbd\x02\x82\x33\x98\x51\xd7\x30\xa8\x69\xfc\x61\x28\xcf\x2a\xb5\x8b\x2c\x58\xc1\x0d\x5c\xc3\x1d\x5c\xc1\x57\x78\xcf\x6c\xf8\x89\xd9\xf0\x5a\xb2\xe1\xca\x52\x92\x98\x51\x37\x8e\x0f\x0f\x36\x3d\x1c\x52\x74\x2f\x25\x18\x63\xdf\xa2\xfa\x7a\x93\xc4\xfd\xd8\x0c\xfb\x21\x75\xcd\x3d\x9a\x9c\x30\x7b\x78\x20\x3f\xf5\xd9\xc0\xa1\x20\xbb\xf2\x13\xcb\x63\x32\x39\x0c\xfb\x55\x30\x85\x05\xa5\xca\xe5\xe8\x7b\x95\x15\xb7\xb3\x28\x84\xf4\x7e\xcd\x74\x85\x30\xc9\x48\x66\xfe\x44\xe1\x92\x35\x40\x60\xca\xaa\x59\x66\x3a\xf8\x89\xc2\x4d\xb3\x8c\x4c\xc1\x31\x79\xd3\x1a\xef\xc1\xb0\xff\x13\x7d\xc5\xbe\x04\xe5\x88\xff\xd4\xeb\x2d\x04\xd1\x03\x46\x19\x63\xb3\x3f\xdf\xa8\x09\xf3\x9d\x91\xcc\x9c\xd2\xc3\xe1\xa8\x85\xce\xf7\x2d\x64\xbe\x4b\x54\x6e\x90\xba\xd6\x4e\x45\xd7\xec\x52\xa9\x06\xc4\xf4\xfe\x9a\xc5\x4d\x2c\xdf\x53\xb8\x63\x71\x13\xcb\xf7\x14\xae\x9a\x65\x32\xf3\x3d\x85\xaf\xcd\x32\x32\x05\x7b\xf2\xae\xee\x49\x36\x98\x9a\xc3\xfe\xfb\x56\x4f\xde\x63\x4f\xf4\x27\x97\x3d\x71\x06\xb3\x3f\xdf\xa9\xbe\x7c\xab\xfa\xd2\x42\xe8\xdb\x16\x3a\xdf\x24\x32\x5f\x9b\x7d\xb9\x66\x77\xaa\x2f\xf3\x8b\x5f\x03\x9c\x9a\xbb\x0a\xbf\xe1\x20\xa6\x87\x43\x30\xf7\x05\x73\xa1\x17\x96\x6d\x3b\xf4\xfe\x96\x85\x17\xf1\x9f\x33\xc4\x57\x22\xf5\x89\x2d\xe1\x23\x5b\x4a\xe8\x5f\x82\x0b\x2d\x3e\xfa\x51\x33\x5e\x57\x63\xef\x1a\xee\x7c\xed\xee\x69\x35\xf6\xd6\x70\xe9\xbb\x1f\x39\xc1\x07\xf0\xae\xe0\xab\x0f\xde\x0a\x6e\x7c\xc0\x82\x14\x7e\x65\xeb\xc1\x8f\x92\xeb\xfe\x8d\x5d\x0e\x7e\xf4\x1c\x1f\xbe\xb0\x95\x4a\xf9\x99\xdd\xa8\x94\xb7\xcc\xa9\xc3\x7a\xd4\x81\x3f\xc8\xaf\xfd\x2f\xe6\x6f\xfd\x9f\xe9\x61\x23\x0e\xdb\xaf\xfd\x5f\xcd\xdf\xfa\xbf\xd1\x06\xe9\xff\xa5\xff\xc5\xfc\xb9\xff\x33\xa5\x72\x85\xc0\x87\x86\xcd\xb3\x6c\xa6\x2f\xff\x98\xb2\x9d\xfe\x8f\xa8\xe3\xf8\xb1\x1e\xac\x25\x90\x78\xf0\x81\x1e\x92\xb7\x03\x87\x52\xf8\xd4\xca\x09\x55\x8e\xe9\x50\xe4\x51\x95\x7c\x6b\xa5\xc6\xe3\x17\xb6\x16\xa4\x3d\x24\xba\xef\x38\x0e\x21\x7c\x82\x19\x85\xdf\x65\xa9\xc6\x68\xe8\xf4\xd1\x92\x31\xf6\x69\xfc\x5a\x49\xd2\x8c\x4b\x03\x7e\x91\xc3\x61\xbc\x36\xe0\x13\x18\x80\x7f\x5f\xd8\x2f\x6c\x30\xe0\x16\x8c\x17\x32\xdb\x51\xd9\x21\x66\x87\x98\x6d\xc8\x8d\xe6\xcf\x85\x20\xbf\x68\x4f\x60\xbf\xe8\xd8\x54\xbf\xeb\xf7\xdf\x4b\xb7\x60\xb2\xce\x0c\x01\xfd\x5e\x02\xea\x6e\xe7\x77\xcf\xf6\xa9\xfb\xbf\xf0\x72\xda\xe5\xd5\x8c\x6c\x54\x5a\x63\xd9\xcb\x86\x03\xc0\x2b\x35\x68\x7f\xe0\x70\x34\x26\x4a\x0c\x83\x8f\x72\x9c\x3e\x63\x06\x8e\x50\x7b\x62\xa9\xb1\xd3\xc5\x70\xd8\x3e\x56\xc3\xf6\xce\x80\xcf\x25\x7a\x1f\xb1\xc9\x8f\x5b\xdd\xf9\x5c\xf6\x36\xc6\xec\x58\x0f\x1b\x0e\xda\x67\x3d\x48\x9f\xf5\xa0\xfd\xa1\xdf\xff\x68\x0e\x9a\x33\x50\xc3\xf6\x47\x09\xa8\xbb\x9d\x3f\x5a\xc3\xf6\xbf\xf1\xfa\x63\x77\xd8\xde\x19\x70\x8d\x65\xef\xf6\x8f\xa7\x96\xb0\xae\x7a\xbd\x32\x73\x67\x46\xbc\x69\x7c\xeb\x15\x3e\xdf\x50\xe8\x68\x43\x83\xba\x6a\x81\x6a\x8f\xd2\xbb\xd6\x08\x5c\xe1\xdb\xd7\x8a\x91\x2c\xab\xfd\x61\x48\xf8\x5f\x12\x11\x13\xc3\x68\x79\x51\x69\xa8\x87\x1a\x97\x36\x18\x66\x6c\x1a\xaf\xf1\xaf\x7a\x56\x13\xc9\xcc\xe5\x13\x18\xe6\xe0\xf1\x6c\x1d\xb3\x99\xcd\x05\xa4\x6c\x26\xa0\x60\x53\x01\x82\x7d\x8b\x20\x60\x4b\x01\x09\xbb\x15\x10\xb1\x89\xa8\x6f\x8e\x44\x1c\xf3\xf4\x39\x21\x7d\x79\xad\x44\xc5\xb5\x12\xee\xf3\x00\x6c\x6b\x61\x85\x49\xfa\x4c\x14\x0a\xd6\x56\xaf\x5a\x06\x93\xe7\x54\x17\x2c\x47\xc2\xe0\x5b\x54\xab\x69\x89\xbf\x62\x2c\x10\xd4\x78\x04\xcf\x37\x18\x48\xea\xda\xc9\xf3\x8d\x06\xa2\xba\x76\xd4\x1d\x54\xbb\x24\x1c\xc9\x3e\x72\xd1\x7c\xb1\x97\x42\x3c\x1c\x42\xce\x88\xb9\x87\x4a\x34\x5f\xec\x0d\x42\x7e\x38\x1c\x7c\x28\x2d\xa7\xbd\xea\xa4\xce\x69\x3f\x86\x46\x40\x2a\x0c\x86\xa1\x55\xb1\xbf\x45\xcc\x08\x8a\x3c\x31\x46\x9a\x14\xee\x8e\x0a\xf9\xe2\x52\x90\xb5\x66\x49\x3f\xed\xb8\xda\x5b\x09\x30\xd4\xe3\x20\x8c\x92\x8c\x4f\x0c\xf7\x46\x40\x96\xf3\xa5\x7b\x2d\xc0\x90\x0f\x83\x1b\x3e\x4d\x52\x6e\xb8\x77\x65\x42\x30\xcd\x79\x6a\xb8\x57\x02\x6e\x82\x4c\x64\xee\x77\x01\x06\x3e\x0d\x92\x25\x8f\x0d\xf7\x5d\xf5\x5e\xc2\xfc\x26\x40\xb9\x02\x73\x3f\x09\x08\x03\xc5\x32\xbb\x3f\x09\x30\xca\x17\x5d\xf5\x6b\x33\xa9\xac\xfd\x5e\xc0\x22\x89\x93\x3c\x89\xb9\xfb\xb3\xd8\xd0\xd1\xa7\x68\x8f\x27\xac\xdc\xfa\xca\xd7\x18\x8a\x41\xd5\x65\x87\x1a\xc8\xdf\x0e\x95\xd3\xc3\xea\xe6\xfb\x63\xc4\x3c\x1b\x86\x87\x47\xe0\x1c\x1e\x81\xed\xc3\x8f\x98\x20\x5f\x86\x2a\xe1\x57\x9d\x70\xaa\x4b\x9d\xfa\xcd\x81\x46\xd5\xb3\xb6\xa0\x44\xb3\x1b\x82\xbc\x6d\xd8\x9f\x95\x2a\x6a\xb1\xb5\x2a\x8d\x3c\x63\x74\x51\xa3\xe2\xe8\xc6\xd6\xba\x4e\x5e\x43\xbc\x81\x3b\x51\x2a\x90\xb3\x2b\x01\x57\xf5\xdb\x9d\xa8\x79\x9e\xce\xe8\x67\x1f\xf0\x43\x37\x0b\xed\x45\xf2\xc3\x13\x91\x6c\x6e\x72\xb1\xb5\xb2\x1b\xb9\xf6\xd6\x16\x16\x5b\x2b\xa7\x91\xed\xec\xed\x62\x73\xb7\x88\xad\x75\x03\xe6\xda\x6e\xee\x05\xb1\xb5\x6e\x00\x5c\x3b\x5a\xa3\x53\xf6\xed\x31\x3f\x6f\x71\xed\x75\x3e\x57\xab\x4c\x40\x8c\x8e\x93\xcb\xf7\x00\xdf\x47\xe5\xd9\x61\x98\x91\xb5\xb4\xcd\x94\x44\x56\x0a\x91\xb5\x74\x20\xb2\x02\x67\x10\x59\x81\x4d\x4d\xc2\x49\x04\x21\x1d\x17\xcd\x5c\x7c\xb0\xa9\xdb\x48\x0c\xad\x14\x42\x99\x68\xa6\x44\x3f\xcb\xc4\xc0\x19\x84\x08\xa7\xa8\x53\xab\xfa\xc8\xc0\x6d\x1d\x69\x8d\xcb\x3e\xd6\xb2\x30\x02\xc1\x92\xf2\xbd\x00\x0c\x43\x15\x35\xdf\x25\x8f\x99\xb1\x70\x2b\x49\x77\xf2\x3e\x75\x05\x04\xb6\x1b\x40\xe0\xb8\x19\x2c\x6d\xd7\x13\x35\x3b\x10\x50\x10\x35\x33\x10\x50\x1f\x96\x4e\xab\x40\xd6\x2a\x80\x51\x22\x9b\x8a\x68\x0d\x3b\x8d\xd8\x0a\x6c\xc6\x72\x2b\xb0\x31\x30\x8c\x83\xcf\xce\xd6\x75\x6b\x6d\xfe\xb4\x7d\x22\x1b\xe6\x0b\x93\xf0\x8b\x2f\x01\x35\x0d\x70\x5e\x18\x66\xde\x79\x17\xaa\x2b\xff\xeb\x85\x0d\xb2\x8e\xf2\x2c\x21\xd8\x25\x87\x80\xad\x38\x24\xec\x17\x79\x58\x2f\x05\x84\xec\x56\xec\x4c\xf2\xbf\x74\xc6\x6c\x47\xa5\x7c\xfc\x98\x6c\x9f\x8e\xcf\x89\x3d\xb9\x7d\x32\x3e\xf7\x64\xdd\x3e\xdd\x9e\x77\xb2\x86\x75\xed\x70\xd3\x58\x6f\x13\x11\xcc\x92\x2d\xb1\x70\x97\x1a\xab\xd8\x52\x6a\x42\x0b\x1f\xbe\x9d\x94\x30\x22\xac\xb5\x19\x58\x6b\x79\x5c\x46\xcc\x13\x70\xbf\x72\x85\xb5\x82\xb5\x1c\xec\xfb\x95\x1b\x94\xcf\x41\xed\x41\x8b\xa9\x10\x11\x29\x05\x5c\xb2\x92\xe7\x32\xde\xc8\x07\xc7\x37\x8d\x17\xf2\x61\x58\x3e\x1c\xf9\x5a\x4b\xe8\x92\x03\x97\x33\x22\x65\xbf\x8b\xa6\x61\xfb\xd3\x23\x8c\xe6\x3a\xf8\x5b\xa9\x17\xfc\x9c\x6f\xb9\x4d\xf0\x35\x62\xfb\x3f\x91\xde\xab\x4c\x2a\x77\xbe\xc4\xde\x9d\x7d\xab\x1c\xa1\x90\xb3\xdf\x85\xd2\x0c\xad\xda\xaf\xc7\xa2\x0b\xa7\x47\xee\xf7\x38\xf9\x43\x90\x9c\xc5\xb4\xa1\x62\x2f\x9b\xcb\xd6\x8b\x9b\x64\xff\xf4\xa8\xd6\x2c\xf9\x4d\x5b\xbd\xb5\xe6\x44\x4a\xe9\xc3\xc3\xdf\x04\x25\x7c\x3b\x59\x7f\xc7\xff\xc8\x0e\x7c\x6e\x7c\x42\x0c\xcf\xf4\x97\x3e\xe0\xd3\x95\xb6\xb6\x3e\x9f\xa2\xa0\x7e\xab\x29\x28\xed\x2f\xf8\x6f\x02\xc2\x34\xc9\xba\x6e\xe7\x1a\x02\xb4\xc3\x93\x5a\x81\x4e\xce\xdf\xc1\x51\x3f\xc7\x8d\x6f\x90\x9b\xc6\x5b\xf5\xf3\xb9\x4c\x7e\x8b\x7c\xc9\xe7\x2a\x13\x13\x3f\x63\x62\x95\x55\x16\x1c\x34\xb3\x54\xf5\x3f\x8c\x0d\x4c\x44\xb0\x48\xba\x6c\x8a\x5a\x48\x91\x61\xff\xe7\x08\x43\x23\xe5\xfd\x9f\xa3\x51\x93\x9b\x92\x70\xdf\x19\x26\x37\x0d\x40\xd6\x12\x39\x25\xc3\x1c\x60\x82\x6c\x01\xf5\x08\x3a\xcc\xc0\x9a\x0d\x6c\xf5\xb9\xee\xf1\x3b\x84\xa7\x5f\x5e\x94\x2f\xba\x89\xea\x45\x36\x63\x94\xf1\x1e\x06\x93\xe4\x2e\xee\x30\x34\x6c\x75\xe8\x4b\xa4\x3a\xf3\x25\x6a\xb4\x2c\xb1\xe7\xcd\x36\x79\xb3\x1d\xf9\xd6\x6e\xa8\x58\xfe\xe5\x66\x06\xcd\x76\x5a\xcd\xa8\x56\x94\x21\x54\xbd\x62\x3e\xad\x97\x3c\x63\xbf\x45\x92\x6c\xcd\x88\xa2\x4c\xbf\x44\x8d\xb6\x8e\x28\xfc\xac\xdf\xf3\x20\x26\x47\x76\xff\x97\x80\x8e\x5e\x6b\xff\xc5\x62\x67\xe1\xb6\x82\xe2\xb1\xb7\xd1\xc3\x83\x69\xfe\x11\x41\xc1\xfe\x4f\x90\x58\x12\x11\x9e\x0f\x01\xfb\x10\x3d\x3c\xdc\xe7\x62\xc1\xdd\x1f\x83\x9c\x5b\x71\x72\x47\x28\xf0\x20\xe3\xee\xfb\x54\x92\x5c\xc1\xda\xb5\x61\x52\x28\xc5\x48\x77\x78\x62\x6f\x20\x61\x03\x07\xa2\x66\x44\xbd\x91\x69\x26\xaf\xa2\x11\xbd\x17\x8a\x57\xcf\x99\xa7\xa3\x42\x6a\xcf\x8e\x73\x91\x79\x89\x0f\x99\xac\x39\xad\x2c\xb0\x46\xa6\x99\xbd\x9a\xa2\xfa\x54\xe8\x65\x3e\xed\xf5\xfe\x25\x08\xc7\x08\x17\x29\x04\x14\xf2\xd2\x28\xb3\x54\x5d\xfe\xb7\xc0\xd8\xdb\x29\xdd\xc0\x6b\xed\x80\x38\x2d\x96\x9d\x4e\xef\x55\x2c\x37\xc9\x16\x94\xee\xe5\x7f\x89\xdc\xbf\x0b\x82\x9d\xa7\x9a\x09\x7a\x1b\xc1\x87\x08\x7e\x89\x98\xca\xa0\x14\x7e\x47\x0b\xb3\x3f\x22\x66\x8f\x7e\x57\x44\x15\x7b\xad\xec\x31\xe0\xf7\xc8\xe2\x8b\x65\xbe\x96\x09\xf8\x20\x53\xe2\x64\xc2\x65\x82\xfc\x95\xef\xb8\xa7\xbc\x0e\xf0\xb7\x72\x55\xbd\xfd\x6d\x9a\x54\x92\x24\x8e\xea\x42\xe3\xb7\xd1\xb8\xf9\x8e\x31\xd7\x5d\x39\x4f\x78\xc4\xf5\x7e\xda\xcc\xd6\x71\x4f\xea\x94\x46\xc8\xba\xdf\x11\x65\x55\x71\xd7\x51\xb6\x36\x28\xc4\x61\x12\x13\x10\xea\x29\x0e\x16\x3c\x5b\x06\x21\x47\xd3\xd2\x51\xcc\x5e\x93\xb8\xfe\x90\x8f\x7c\xf8\xe0\xaf\x7d\xf8\xb4\xfc\xf0\xa4\x52\x03\x4a\x21\xb5\xae\xaf\x27\x41\x1e\x5c\x5f\x43\x06\x09\xa5\x63\x62\x94\x09\x86\x50\xae\x5c\x78\x55\x84\xd5\xa5\x29\xe8\xe9\x83\x73\xc4\x13\xbe\x57\xf8\x8d\x49\x44\x5d\xfd\x88\x9a\xc0\x8d\x29\x15\xc8\x0a\x74\x53\x8f\xd6\xeb\xad\x08\xb1\x5b\x36\xad\xd5\xa0\x25\xdb\x83\x16\xa9\x41\x7b\xd3\x1c\xb4\x50\xb9\x4d\x6b\x0f\x5a\xf8\x2a\xab\xcd\x4f\xa6\x3a\x0a\xa5\x8f\x9e\x97\x1b\x66\x89\xe8\xbb\x78\x86\xde\x8c\x52\x36\xf5\xe6\x3e\xbd\x17\x2c\xf5\x12\xdf\x0b\x7c\xe8\x1e\xb0\x39\x84\x14\xa2\xae\x8f\xb1\x94\xb0\x6f\x2b\xa7\x2b\x23\xd3\x5c\xbe\xba\x1d\x51\x52\x30\xee\x2d\xf5\xda\x2b\x60\x09\x09\x04\x20\xaa\x61\x2b\x9a\x03\x15\xc9\x4c\x35\x50\x2a\xc4\xd4\xde\x69\xe5\xf9\xa3\x5a\x5d\xea\xa0\xd2\x95\x42\x85\x9d\x0f\x72\x01\x56\x68\xa9\x68\xa3\xcd\xd1\x09\x2e\xc4\x48\x98\x26\xbd\x2f\xba\xba\xa1\xc2\xa4\xa2\x6d\x25\xda\x3d\x57\xfd\x89\x2e\x92\x51\x62\x9a\x72\x4e\x71\x2f\xf1\x31\x76\xe6\xee\xf8\x24\x20\x68\x15\xd3\x29\x6d\x76\xae\x80\xad\x8f\xa9\xbf\xb2\xea\x6f\x7e\xc7\xf9\xf6\x12\xae\xd1\x91\x93\x21\xdd\x9a\x0c\xfb\xa2\xd9\xbe\x1a\xaa\x98\x93\x72\xc7\x20\x54\x19\x16\x2b\xf0\x48\x0e\xc5\xd4\xfd\x5d\x53\x3d\xda\xb4\xb0\x49\xa1\xe4\xad\xf2\x2a\x66\xa1\xdc\x04\xea\x43\xaa\xa0\xf7\x45\xab\x50\xc6\x95\x80\x74\xa3\x3a\x12\xe4\x79\xba\xd5\x8f\x06\x03\x47\xef\x95\xcf\x78\x04\x5c\x3b\xbc\x4f\x5a\xc6\x38\xdd\x85\xde\x5f\x91\xc4\x52\x23\x97\x58\x51\x12\x06\x11\x6d\x71\x6c\xf5\x96\xa7\xf7\x63\xee\x92\xd8\x64\x86\xb1\xad\xbe\x95\x97\xa1\x70\x67\x4d\x9f\xfb\x49\x6d\x06\x75\xc0\x58\x8c\x5a\x60\x01\xe1\x10\xd3\x96\x71\x84\x72\x64\xdf\xaa\x08\x39\x46\x4e\x90\xff\xda\x86\x2f\x5b\xf8\xa4\xcf\xc1\xa7\xa3\xb7\x7f\x0d\xbf\x5d\x40\x0d\x7c\xc5\x74\x27\xea\xee\xab\xa1\x36\xe9\x7e\x21\xe2\x17\x31\x55\x91\x77\xf3\x3c\x25\x39\x86\x8f\xae\xd5\xaf\xe6\x22\xd3\xf6\x3b\x8d\x70\x05\xb2\x9f\x7f\x4b\xdd\xcb\x54\x29\x8f\xc6\x99\xf5\xad\x08\x22\x31\x5d\x37\x54\xc5\xfe\x29\xd4\xfc\x33\x24\x58\xcb\x30\x25\xaf\xad\x51\x1b\x0b\xb7\xa8\xa7\xd1\xa7\x8e\x35\xd1\x12\x06\xf0\x86\xc2\x78\x83\x98\xd7\x4b\xab\xf5\x79\x8b\x86\x7a\x74\xaf\xf7\xf8\x17\x2d\x40\xc7\xc2\x68\xc9\x12\x9e\xde\xd8\xfb\x2b\x52\xe8\x21\x2f\xf4\xb7\x7b\x72\xe3\xbb\x75\x4b\x64\x94\xa0\x66\xdf\xa0\xaa\x20\x0d\x72\xc0\x48\x3d\xae\x1a\xc2\x38\x75\xb9\x3e\x7e\xf2\x75\xd4\x8a\x5b\xa6\x22\xe4\xd5\xab\xa8\xc4\x48\x96\xd3\x0b\xf0\xd7\x34\x59\xf2\x34\x97\x8d\x35\xe7\x37\xdf\x9a\xdf\x7c\x5c\xb8\x84\x77\xcd\x6f\xb4\x7e\x54\x01\x91\xe5\x30\xbd\x49\x16\xcb\x22\xe7\x93\x2b\xd9\x46\xbd\x13\x61\x5e\xd9\xd6\x67\x65\x51\x53\x6b\x08\x1f\x60\x20\x18\x52\xb0\xcb\x94\x08\xe0\xb4\xe5\x3b\xad\x81\x72\x56\xc3\x20\x31\xa0\x99\x52\xaa\xa6\xba\x9a\xaa\x3b\x7a\x9f\x62\x4a\x8e\x2e\x02\x34\xe3\x2b\x63\xdc\xd4\xc7\x09\xbd\x1f\x5e\x04\x48\x3b\x18\x86\x76\xab\xdc\x58\x15\xd8\x22\x49\x01\x03\xf7\xf1\xf6\xc2\x48\x99\x61\x6c\xb6\xe7\xbb\x42\x51\x7e\x18\x8e\xb1\x84\xca\x0f\xb2\x33\xcf\xb7\xbf\x4a\xd1\x6d\x37\x2e\x89\x85\xbf\x38\xb0\x15\xb6\x41\x63\x3e\x3e\x36\x94\x81\x1e\xca\xcd\xbe\x53\xe7\xa8\xd7\x23\xb2\xd7\x14\x9a\x53\xb1\xee\xb2\x5e\xd7\x39\x5f\x75\x92\xd3\xd5\x20\xc9\x02\x06\xc4\xf0\x0f\x3d\x42\x6a\x12\xee\x0a\x1f\xba\x0f\xc3\x9a\x2a\x37\x78\x3c\x69\xd0\xad\xbb\xbb\x2e\x86\xe7\xf5\x62\xdf\x0a\x93\x22\xce\x5f\x0d\x71\x47\xc5\xfa\xca\x64\xf3\x7d\x32\xe1\x78\x94\x2b\x0c\xde\xcc\x45\x34\x51\x83\xad\x4f\xba\x3d\x41\x72\xca\xf3\x9a\x3f\xf5\xbc\x76\x5a\xe7\x35\xf7\xbd\xdc\x47\xd8\x2e\xd9\x4b\xe2\xe8\x10\x3d\x5d\x8a\xbe\x14\xf4\xf1\x5e\x61\x96\xd2\xfb\xb4\x01\x96\xc5\x1b\xaa\x3a\x80\xdc\xd7\xff\x57\x3d\x50\xac\x9d\xc6\xa5\xd3\x6d\x74\x8d\x20\xe0\x04\x4f\x9b\x35\x99\xd9\x45\x5d\xc9\x72\x1b\x57\x79\x5b\xee\xea\x9f\xaa\x5a\x77\xb0\xd8\xb6\xb7\xfb\x7f\xb9\x8f\x25\xdb\xfa\x97\xba\x59\x22\x57\x69\x83\x39\xb0\xaf\xcf\xaa\xd3\xcd\x82\xb4\xbb\xff\x25\xcc\x6a\x08\xe4\x5a\x78\x1e\x59\xb9\x87\x26\x50\xc7\xcf\x87\x08\x04\x7b\x1b\x8d\xf2\x74\x7d\xff\x36\x62\x7c\x67\xb2\xe5\xaa\x93\x1f\x22\xa6\x49\xc9\xb2\x4f\x39\xe4\x5b\xdf\x91\x6e\xa6\x22\x0e\xa2\x68\x2d\x4b\x17\xf0\x36\x62\x42\xab\x04\x6d\x03\xad\x44\xbe\x9a\xf2\x1c\x11\xa1\x02\x2e\x3c\x3c\x94\x4f\xdd\x61\x15\xd0\xc3\xb6\x51\xf1\xf1\x06\xa5\xe8\x67\x56\x91\xab\xad\x0d\x1b\xf7\xa6\x0e\x5e\xba\x15\xac\x7e\x87\xa7\x45\x81\x47\xb0\xcd\xa5\xa1\xf7\x60\xe5\x36\xaa\xc9\x77\x84\x17\xd1\x28\x92\x7c\x87\xf6\x1c\x1b\xb7\xf8\x8e\xbc\x8a\xfd\x9f\x31\x1b\xa6\x75\x28\xfc\xe9\x45\x36\xca\x24\xdf\xc1\x59\xae\x79\x59\xc9\x81\x04\x92\xfb\x2c\x19\x52\xc9\x61\x2a\x21\x4b\x6a\xc9\x1f\x25\x60\x49\x71\xbd\x6b\x21\x4b\xaa\x16\x87\x99\x56\x93\xa4\x96\xba\xd4\x69\x1b\x4a\x21\xee\x90\x8a\x28\xa6\xad\xbe\xf0\x5b\x89\x6c\x7f\x58\x90\x58\xed\xc0\xdb\x5b\xb6\x8a\x7d\xa1\x38\x60\x52\x7a\xd6\x51\x61\xa8\xaf\xc3\x79\x90\xe6\xd7\xd7\x0f\x0f\x1c\xa6\x5b\x69\xf2\xc8\x4b\x96\x6b\x42\x61\xae\x15\xb7\xa2\xf1\x14\x5d\x9f\x67\xe5\xaf\xde\x07\xa7\x90\x50\x77\x5a\x6a\xd9\x53\x37\x82\x59\xe5\x3f\x45\x95\xfc\x19\x35\xeb\x5b\x2f\xcd\xba\x6b\x37\x87\x25\x0b\x6b\x2e\x9d\x18\x58\xd2\xa0\x96\x9c\xb8\x64\x0e\x53\xf4\x14\x69\x71\x39\xa3\x08\xb5\x54\xd0\x7e\x62\xcc\x0c\x30\x74\xbb\x06\x55\xe4\xb2\x11\x46\x41\x96\x95\xa1\x3d\xa8\xa6\x16\x8c\x64\x19\x84\x22\x5f\x1b\xf0\x6b\x40\x95\x93\xc9\x86\xb4\x65\x69\xf1\x95\xc8\x09\xed\x2c\x5d\x72\x63\x14\x16\x3b\xd5\xd0\xff\x5c\x57\x3d\x87\xc2\x65\xbd\x6f\x14\x60\x53\x33\x80\x15\xfb\xa3\x20\x53\xd4\x66\x6c\x75\xb5\xea\x00\x76\xd6\xb3\x7d\x0a\xd7\x8c\xdc\x54\xbd\x0d\x96\x4b\x1e\x4f\x88\xb1\x0c\xf2\xf9\x4e\x37\xcb\xca\x6d\x71\x11\xb9\xa1\x74\x74\x5b\xd5\x8c\x44\xcc\x0d\x0a\x75\x02\x9e\xf6\x4a\x16\xa9\xf5\x48\xe1\x27\x76\x5b\x4e\x92\xb2\xfc\x6b\xb6\xd8\x4e\x7a\xc3\x96\x55\x92\x02\x82\xa4\x05\x99\x51\xf8\xde\x00\xa0\xb2\xe0\x5d\x03\x80\x4e\xfa\xc6\x8c\x3c\x59\xa2\x45\xd5\xc3\x83\x11\xf1\x69\xae\xac\xab\x06\x8e\xd2\x75\x34\x6e\x92\x3c\x4f\x16\x65\x81\xb2\xec\x98\xc4\x2c\x0e\xe0\x8e\x19\x2b\x03\xbe\x32\x63\x6d\xc0\x15\x33\x56\x43\x03\xde\x33\x63\x3d\x34\xe0\x8d\x1e\x97\xc9\xda\x00\xfb\xe2\xdb\xd8\xb0\xf9\xc2\x70\x0d\xeb\xcc\xe1\x8b\x7a\x1a\x48\x24\x06\x41\x1c\xce\x93\xd4\x00\x63\x21\x26\x93\x48\xf6\xea\xba\xac\x6c\xe0\xcd\xd3\x0a\x6f\x9e\xc0\x30\xbf\xf5\x85\x69\x7c\xb6\xdf\xca\x24\xc7\x47\x29\xfc\xb7\xbe\x40\xc3\x7b\x96\x23\x36\x6b\xc4\x66\x85\xd8\xac\x15\x36\xab\x2d\x6c\x0c\xeb\x68\xb8\x17\x07\x44\x55\x6e\x97\x65\xbc\x81\x1d\x64\x10\x07\x28\x91\x7a\x6b\x7f\x2e\x91\x79\xab\x91\x81\x9f\x54\x85\xf7\xf0\xad\x5f\x50\xf8\xae\xde\xbe\xc2\xb7\xfe\x25\x85\xd7\xea\xed\x0a\x6c\xda\x2a\xf5\x4e\xbd\xdd\x55\xe9\xba\xfc\x54\x99\x38\xfc\x3d\x88\x27\x6a\xfb\xf8\xc4\xa6\xf0\x91\x7d\xaa\x93\x09\x3d\x1c\x8e\x32\x36\xed\xa2\x26\x3f\x91\x98\x9a\x1f\xf5\x69\x92\xd5\x75\xc6\x19\x9b\xba\x93\xf2\xe2\x7a\x0a\x99\x9c\x9c\x95\xcb\xca\x29\x85\x45\x9d\x37\x2d\xb9\x06\xed\x66\x68\xcb\x1a\x26\x65\x9f\x23\x28\xd8\x29\x08\x76\x0a\x01\x3b\x92\xbb\xbe\x83\x0e\x9c\xb6\x5c\x52\xa0\x79\xd2\x13\x6f\x81\x6a\x83\xff\x24\x15\xad\x68\xab\xff\xe3\xf2\x4e\xb2\x25\xff\x89\xc6\xb9\x69\x18\xee\xe7\xa8\x52\xdb\xc2\xdd\xb1\xcb\xc0\xa6\xe3\x12\x3a\x0c\x48\x43\xc9\xba\xbc\x8c\x96\x10\x3e\x6f\x79\xc5\x7c\xfc\x52\x38\xaf\x2e\x84\xeb\x4d\xf6\xf9\x1e\x35\x65\xdd\x1d\x4f\x05\x8f\xdb\xee\xf1\x31\x29\x98\x99\xcb\x63\xb9\x2a\x82\x9e\xf4\x2a\x1d\x34\x54\x31\xf9\xd4\x05\xf9\x11\x35\x36\xb3\x76\x01\x85\x3a\x28\xcf\xab\x2f\x74\x7d\x51\x76\xea\xd7\xe7\x78\x7b\x0a\x74\xed\xa0\x1a\x92\xe2\x66\x22\x6e\xc5\xa4\x4b\xf9\x6a\xbb\x7a\xaf\x17\x57\x77\x89\x9f\x23\x56\x6e\x68\xf0\x9f\x88\xdd\xe7\x09\x1a\xb3\x89\xd9\x3c\x77\x1d\x50\x39\xae\x03\x72\x1b\x2c\x8d\xdb\x6e\x67\xd6\x4d\x5a\x64\xf3\x7d\x8e\xc2\xe9\x7d\xde\x79\xce\xe7\xdb\xa7\x7c\xb9\xdf\x60\xf0\x2d\x9e\x0e\x90\x5e\x93\x47\x46\x10\x45\xf5\x6e\x34\xb8\xe3\x37\x5f\x45\x3e\xc8\x83\xe5\x60\x2e\x66\xf3\x48\xe2\x36\x08\x93\x08\x77\xc8\x74\x76\x13\x10\x1b\xf0\x1f\x35\x1a\xc1\x02\x26\xc9\x5d\xac\xf0\x34\x40\xa8\xf4\x3c\x29\xc2\xb9\x8a\x5e\x50\x65\x60\xc8\xb1\xe6\x59\x77\x13\x84\x5f\x67\x68\xfe\xda\x3c\xef\x46\xc1\xce\x61\x97\xf2\x30\xdf\x39\xec\x5a\xb5\x75\x07\x6e\x45\x26\x6e\x44\x84\xc7\xae\x31\x17\x93\x09\x8f\xeb\xcc\xb0\x48\x33\xec\x08\xde\xdf\xce\x03\x91\x4a\x46\xb9\x85\x91\x8a\xaf\xdc\xc4\xe6\x69\xb8\x54\xf5\xb6\x9b\x92\xd4\x82\x3e\x5b\x93\xad\xde\xa7\x3c\x13\xdf\x79\xd9\xd6\x2d\xac\xe9\x28\xd1\xb4\x47\x4d\x66\x24\x3b\xed\xcf\xb6\x1b\xdf\xdd\x7a\x0d\x05\xfa\x85\x61\xc6\x9b\x1d\x94\x3a\x76\xea\xbf\x45\x5e\xec\x6f\xf6\x74\x71\xd5\x55\xe5\xd0\xe3\x77\x7e\xad\x63\x37\x1e\x1c\x29\x9f\x24\x65\xa5\x75\x67\xa5\x3f\xbd\x38\xf3\xf7\x57\xba\x13\x93\x7c\x6e\xc0\x69\xf9\x3e\xc7\x68\x2a\x98\xf0\xd8\xe7\x85\xa4\xcc\x96\xbc\x47\x14\xac\x0d\x88\xd5\xdd\x1d\xa1\x63\x23\x4e\x62\x6e\x60\x3b\xea\x2b\x44\x30\xdd\xa2\xdc\x72\x49\xd4\xb6\x93\x02\x3a\x0a\x31\x72\xc4\x1f\x05\x09\x29\xcc\xeb\xa1\x88\x70\x4e\xb4\xf0\x8d\x3c\xc7\x1f\x60\x3a\xa4\x64\x4a\x29\x64\x65\xd5\xac\xae\xba\x6e\x57\x2d\xbb\xd6\xa8\x5b\x60\x5d\x4e\xa6\x2d\x19\x36\x57\xb4\x7c\xe7\xbc\x51\xa0\x1a\x61\x6a\x3b\x66\x42\x33\x86\xec\xd4\x33\x0f\x79\xfd\xd1\x14\x55\x33\xf7\xcc\xc3\x3f\xb3\x66\x22\x35\x36\xbb\x6e\xb9\x4a\xc2\xad\x5e\x21\xf5\xec\x40\xf4\xe3\x8e\x75\x04\x56\x7c\x21\xe7\x12\x58\xd9\x45\x6b\x4e\xe9\x91\x9b\xca\xde\x4f\xdb\x6e\xc0\x8a\xc7\xdb\x5b\x1b\x30\x7f\xa4\x3d\xae\xdb\xbb\x6b\xb7\x57\x0e\xf7\x5c\x36\x38\x6f\x37\x28\x9a\x5b\xaa\x7c\x39\x1a\xb2\x3a\x98\xe0\x57\xbe\x7e\x93\x4c\x78\xaf\x47\xde\x3c\x3c\x90\x4b\x65\x5d\xff\xce\xb3\xfd\x01\x93\xd8\xc3\x3b\x09\x91\x49\xb8\xf0\x86\x0d\x29\x5c\x11\xda\x80\x7d\xbb\x17\xdc\x90\xb1\x37\xbd\x1e\x91\x90\xcc\x1a\x92\x59\x42\xb2\xb7\x00\x4d\x9a\xfa\x3e\xb8\xe7\x92\x1b\x0a\x39\x3b\x70\x46\xab\x5e\x8f\xc4\x08\x66\x55\x86\xd4\x97\x8f\x8e\x4f\x41\xa2\x5c\x35\x1d\x44\xf9\xff\xf1\xf5\x98\x5c\x62\x3f\x3c\x22\xc7\xdd\x9c\xa2\x83\xdb\x21\x10\x39\x28\xe6\x5c\xbd\xf9\x14\x7b\xc8\xa6\x9e\x89\x90\x5f\x5d\xca\x11\x53\x18\xb2\x39\x26\x3a\x32\xd1\xf1\xa9\x4f\x5d\x35\x26\x14\x7e\xea\xf5\x16\x24\x86\x10\x6c\xe4\x8e\xc9\x57\xc4\xcf\xa6\xf0\x5a\x65\x64\xe0\x60\x5c\x92\x3a\x03\x23\x9a\xc8\xd7\xbb\x32\xca\x96\x3e\x2a\x16\xc9\x84\xbb\x6f\xc6\x6a\xf3\x74\xf5\x6e\x66\x6c\x9a\x03\xb2\x28\x15\x0b\xb5\xc3\x37\x10\x72\xc1\xe5\x14\x22\x26\x94\x53\x2d\xa1\x7c\x77\xbe\xf3\xb8\x0f\xb7\x8c\x8f\xe7\xee\x14\x26\xec\x56\x7e\xaf\xdb\x86\x63\x0f\xf9\x15\xa2\x01\xcb\x20\x1c\xb0\x89\x99\x49\x9a\x92\xf0\xf1\xd2\x9d\xd1\xda\x6d\x4b\x04\xb5\x17\x1e\x50\xf1\x88\x5d\xf9\x03\x6f\xc6\x05\x23\xa9\xc9\x32\x6a\x4e\x5c\x72\x89\xfe\x4c\xba\x6b\x0d\xfb\x97\x1e\xf7\x07\x29\xa5\x14\xd2\x8b\x4c\xd2\x34\x29\xa4\x2c\xa3\x6e\xc1\x32\x0a\x12\xa3\x03\xc9\xe3\x48\xfc\x0e\x58\x31\x26\x7c\x9c\xa8\x18\xf9\xda\xa3\x83\x2c\xc1\x52\x90\xf9\xac\x80\x03\x9b\xba\x18\xce\xa7\xe1\x3c\x66\x4d\xe8\xfd\x84\x50\xf8\xfa\xbf\xce\xfa\xae\xbd\xe4\x69\x3b\x28\xd4\x54\x85\x71\x93\x4c\xd6\xbb\x07\x9e\x2a\xf6\xad\xa6\x0d\xe4\x37\x2c\x49\x00\x25\x09\xaf\xb2\x8a\xe5\x6e\x06\xd2\x0d\xdd\x75\x30\x8b\xc7\x93\xdd\x9c\xaf\x7c\xdd\x24\x41\x5a\x19\x5b\x8d\xc0\x77\xb2\x3d\xdf\x24\xc3\xa5\xb9\x0c\xb4\x0e\x44\xd1\x07\x5c\x37\x28\xa8\x6a\x0d\x95\x81\xd5\xee\x58\x64\x25\x53\x72\xd3\xb4\x88\xfc\xda\xa8\x70\x43\xe1\x3d\xbb\x96\x07\x7b\xb1\x20\x14\x7e\x62\x07\x87\x7f\x92\xf8\x21\xa3\xe5\xee\xfb\x9e\xf6\x7a\x21\xbc\xc6\x74\xfe\x70\xd7\x4a\xcf\xe0\x0d\xbb\xb6\xf0\x70\xe7\x13\x52\x91\x16\xf0\x9d\xfd\x5b\x02\x7e\xd7\xda\x02\xbe\x35\x09\x3d\xc9\xe8\x77\x0d\x88\xe8\x18\x8d\x5b\x34\xa7\xaa\x7a\x16\xce\x25\x7b\x36\xf9\x84\x63\x9c\x8d\xbf\x75\x7f\x8c\x49\xf7\x97\x58\x53\x77\xcf\x17\x9f\x74\x7e\xee\xb5\x9c\xa4\x95\x40\x90\xb4\xa6\x64\xdf\xa0\xcd\x2c\x78\x43\xf5\x5e\x64\xfb\x03\xf9\x54\xee\x42\xf8\xea\xf8\xca\x69\xb5\x98\x92\xf7\x25\x87\x6a\x1e\xde\xd5\xa3\x09\x1f\x99\x79\xf8\x67\x5c\xbd\x8f\x56\xcc\x9b\x7a\xce\xe0\x93\x06\x36\xf7\x9c\xc1\x47\x05\xc9\x2f\x37\xbd\x4f\x55\x1b\x1f\x7d\xc5\xbc\x6e\xed\xa1\xbd\x1e\xb9\x64\xef\x4a\xa7\x57\x74\xb4\x7f\xc1\xe1\xd2\x79\xea\x8a\x7b\xda\x02\xbb\xde\x4a\xa0\xdb\xd3\x59\x49\x0e\x36\x14\x26\x3a\xfc\xad\x72\xa9\xfd\x9e\xc4\xd0\x2c\x00\xe5\x66\x5b\x2f\x02\xaa\x5d\x39\xd6\x6e\x84\x3c\x1b\xd0\x25\xad\xfa\x9d\xb1\x03\x1b\x96\xf2\xcf\x2d\xfb\x7b\xd4\xd8\x43\x63\x2d\xfe\x6d\xd2\x1f\x7b\xe4\x8f\x6a\xe1\x6c\x5b\x13\xe7\xec\x7e\xe5\x4e\x61\xed\xce\x41\xb8\x01\x7c\x91\x6c\x2f\xdf\x11\x4b\xaa\xdb\xa2\x86\x50\x32\x87\xb7\xd1\x78\x9b\xd1\x69\x90\x71\x54\xdf\x42\xb5\xf8\x90\x06\x46\x01\xe3\x96\x40\x9f\x5a\x5f\x30\xee\xc6\x0a\xe6\xe8\x59\x2b\xee\x1c\xd0\x0d\x2d\x2f\xd4\x30\xd9\xdd\x85\xa7\x58\xe3\x55\x4a\xa6\x90\x5b\x2b\x79\x94\xac\x52\x32\x87\xdc\x5a\xd7\x57\x7d\x2c\xd1\x83\xdb\x90\xab\x4f\x19\x06\x75\x22\x85\xa4\x44\x73\x6b\xcd\x52\xf9\x18\x77\x9d\x8a\xf5\x61\xb8\xd9\xd0\xc6\x25\x5b\x57\xe7\x72\xec\x5c\x6e\x7d\xf9\x5f\xa0\xb6\xf2\xf5\x86\x48\x5d\xd2\x3d\x10\x7f\x09\x1c\x5e\xd8\x3d\x39\xde\x45\xc8\x72\x35\xc9\x0e\xc2\x57\xaf\x9c\x87\x83\xcc\x2f\x75\xd4\x9f\x1a\xfe\x22\xeb\x84\x90\xa1\x05\x58\x14\x2c\x96\x4f\xc4\xa3\xd7\xcb\xc6\x64\xc6\x0e\x0e\x72\xb9\x5d\x2c\xf1\xc1\xf1\xa9\x1b\x8e\x31\xd1\xcd\xd0\x58\xfa\xe0\x40\x2b\xd1\xcb\xe2\xde\x0c\x96\xbe\x2c\xe0\x66\xe3\xa5\x76\xd5\x18\x6b\x0a\x75\x57\x92\xa2\xf5\xcd\xa2\x7d\x77\x5e\x88\x03\x5e\x3b\xd8\x3e\xa4\x2c\x47\xaa\x06\x53\xb8\x4a\x49\x91\x1c\x0e\x98\xc7\x21\xf5\x21\xb4\x44\x7c\xcb\x53\x15\x2c\x2e\x24\x5c\x4e\xc2\x90\xa4\x92\xb3\xb8\x48\x91\x2f\xe1\xc0\x91\xf4\x88\x28\x10\x7e\x80\x1b\xeb\xc3\x43\x7a\x80\x44\xa8\x24\xd0\xa6\x0a\x92\xe6\x63\x0a\xd5\xb0\x50\x0d\x87\x98\x82\x5e\xd1\x05\x12\x58\x14\x12\xe6\x15\x20\x7c\xc8\xea\x86\x0b\x96\x11\x8c\xfb\x91\x11\x41\x29\x14\x17\x02\x1b\x2e\xa0\x60\x02\x04\x36\x5c\x1c\xe0\x16\xfe\xf0\x20\x0e\x90\xe4\x95\x0d\xcf\x15\x24\x8a\x23\x89\xbd\x0e\xc6\x84\x2b\x8f\xec\x29\x0b\x70\xd8\x09\x47\x84\x21\x55\x34\x73\xbb\xb7\xfa\x45\x77\xba\x7c\xeb\xee\xbb\xee\x5e\x22\x09\xb1\x44\xf5\x30\x51\x2d\x14\x88\x19\x08\x45\x8a\xb7\xbb\x55\xc2\x54\xbd\x2b\xdf\xba\x3b\x49\xd1\x33\x42\x36\xf6\x3c\x0e\x85\x0f\x5e\x0a\xc2\x97\xd3\x02\x47\x57\xce\x1b\xd5\x5b\x35\x21\xbb\x5d\x22\x55\x44\xd8\xc3\x03\xd9\xde\x8c\xcb\x8d\x84\x42\xbc\x29\xa9\xb5\x5d\x10\x07\x07\x61\xaf\x27\x47\x8c\xe1\x80\x3d\x3c\x1c\x1c\x64\xbd\xde\x1c\x13\x64\xff\x9a\xe1\x1c\x63\x88\x9a\xe1\x1c\xff\x16\xb1\xfb\xd8\x35\xe2\x6c\xa0\x17\x36\x70\xd7\xe0\x77\xd5\x5b\xd6\xca\xbb\x6b\xe5\xc5\x77\xae\x11\xdf\x65\xbc\x4e\xe0\xae\x11\xf3\xac\x51\x9b\x6f\x95\xc8\xee\xda\x25\x36\xf0\xf7\x88\x79\x9e\x11\x1b\x60\x70\x03\x0c\x79\x9c\xde\xc9\x23\x15\xff\x60\x0a\xfe\xb9\x33\x7c\xf0\xb0\x84\x7a\x8a\xb1\xac\x0f\x9e\xef\xc3\xbf\x23\x36\x4b\xb4\x27\x27\xb6\x4a\xf0\x56\x4e\xc9\x42\xe1\x9f\x11\xfb\x77\x64\x15\x79\x08\xff\x88\xd8\x3f\x23\x62\xfc\xf0\xfb\xe0\x87\xc5\xe0\x87\xc9\xa7\x1f\xde\xba\x3f\x5c\xba\x3f\x5c\x59\x3f\xbc\xfb\xc3\xa0\xa3\x7f\x47\x96\xc8\x12\x86\x7a\xd3\x95\xda\xad\x95\x27\xbf\x5c\x7d\xb8\x42\x55\x95\x5e\xcf\x8c\xf9\xdd\x8b\x1f\x91\xc7\x1e\xda\xb6\x3d\xb0\x9d\x81\xed\x7c\xb2\x6d\x17\xff\x5b\xb6\x6d\xff\x61\xd0\x31\x0f\xdc\x7f\x44\xc0\x03\x6b\x19\xa4\x9d\x3a\x0b\x15\x94\x86\xca\x0d\xba\x59\x2d\xbd\x11\xe7\x1b\x59\x3d\x4f\x54\xbb\xec\x1f\x51\xf5\x0c\xb3\xc4\xca\x78\x98\xc4\x13\xf6\x21\x26\x1d\x12\x1e\x09\x7b\x99\x10\x87\x1f\xf5\x1b\x6e\xa8\xe2\x43\x87\x1f\x51\xba\x81\xf6\xdd\x34\xaa\x13\x7e\x12\x0b\x4e\x50\x5b\x11\x9f\xa8\xb9\x55\x37\x6f\xd7\x6b\xcc\xd9\x19\xcf\xaf\x10\x97\x8c\xd0\x0d\xad\x51\xcb\x58\xf5\xa8\x2e\x03\x1a\x59\xf2\x4b\x34\xb2\x8b\x3c\xac\x8b\x2c\x44\x5c\xe4\xfc\xf1\x8e\x9d\xf2\xe3\x76\xc7\x4e\xf9\xf1\x53\x3b\xb6\x55\xf7\xd1\x8e\x5d\x22\x2e\x55\xc7\x14\x6a\xd8\x31\xf5\xb8\x8d\x75\xd5\x31\x9d\xdd\xea\xd8\x3c\x29\xd2\xed\x6e\x95\x7e\x9f\x35\x7a\xdf\x93\x98\x7f\xc0\xe8\x53\x84\x1e\x9e\xd6\xb1\xe1\x54\xaf\x8f\x4e\xf9\x49\x9f\xb4\xfa\x2d\x93\x06\x39\x35\xf3\xa7\xf6\x1e\x61\x3c\xb5\xfb\x6f\x93\x22\xad\x3a\x2f\xd1\xc7\xae\xcb\x87\x76\xaf\xaa\x6e\x63\x56\xfb\x6b\x26\x71\x3e\xdf\xf7\x31\x65\x95\x49\xb0\x26\xb1\x92\xef\xe4\xb8\x1c\x1c\xdc\xe2\x3a\xfa\x72\x29\x41\xa9\xce\xa8\x47\xd9\xed\x47\xbe\x9d\x2a\xa3\xbf\x9c\x7c\x51\x1f\x4e\x3e\x6d\xe1\x57\x7f\x36\xcc\xac\x3a\x80\x1b\xe3\xff\x45\xcc\x73\xf8\x11\x9c\xf0\x23\x70\xe4\x9f\x23\x7e\x0c\xa7\xfc\x18\x8e\xf8\x09\x9c\xf3\x13\x70\x5e\xf2\x13\x90\xe3\x0a\x8e\x2d\x1f\x87\x8e\x7c\x3e\x3e\x1a\xf2\x13\x78\x79\x7a\x2c\xd3\xcf\x86\x32\xe3\xd4\x3e\xc6\xfc\x93\xf3\x21\x3f\x85\xb3\xb3\xb3\x53\x7e\x0a\x47\xce\xc9\xd1\x29\x3f\xf5\xe1\x5f\x72\xff\xab\xd6\x04\x7a\xc6\xab\xdf\x4e\x5a\x6f\x4e\xfb\xf5\xc8\x56\xaf\x6a\xd2\x95\x35\xf5\xdb\x49\x3b\xaf\xfd\x5a\xd6\x94\xdf\xad\xac\x87\xcf\x47\x8d\xe7\xd3\x66\x99\xa1\x7a\x99\x04\xeb\xb2\xbc\x7c\xd4\xa9\x77\x9c\x7f\xad\x9a\x97\x43\xd9\x7e\xd1\x40\xd7\x3c\x90\x8d\xf9\x10\x87\x72\x53\x5e\x14\x51\x2e\x88\xe7\x19\xd6\x0f\xef\x3a\xc5\xd5\x7a\x25\x46\x91\xc8\xaa\x7d\x46\x6e\xfd\xee\x0f\x57\xfb\xcb\x5f\xb5\x8a\xfe\xf0\x8b\xfb\xc3\xe5\x63\xc0\xcb\x65\xae\x0a\xbf\xf8\x61\xb9\xbf\x70\xb9\x28\xb0\x68\xf0\xe2\x87\xc9\xfe\xa2\x3f\x06\x6b\x42\x7b\x3d\xe7\x80\xe9\xd7\x9c\x97\x15\x6f\xf6\x55\xec\x2a\xfc\xf7\x47\x50\xd7\xb3\x1c\xcb\xfd\x6e\xc0\xf7\xdc\xf7\x29\xe4\x21\xbb\xc7\x19\xdc\x72\xc4\x59\x1b\xe6\xd6\x61\xcd\x6a\x67\x86\xf1\x21\xa7\x7d\x0e\xa6\x2c\x86\x16\x70\x45\x20\x57\xd7\x96\x63\xc7\x7f\x45\xf8\xfd\x58\xf9\x1d\xe5\x2c\x6c\xdf\xb6\xd6\xee\x18\x83\x0e\x87\x86\xff\x8a\x20\x0e\x35\xc9\xc1\x43\xf6\xaf\xa8\x1d\x3b\xb1\xea\x9d\x87\xa1\xb0\xe4\x81\x1d\x4b\x66\x7d\x43\x21\x0d\xd9\x3f\x9f\x3a\x5b\x7e\xfb\xf4\xe6\xb9\x13\xe6\xb7\x4f\x6f\x9e\x35\x67\xb0\x89\x67\x4c\x9b\xdf\x3e\xbd\x79\xc6\xcc\xf9\xed\xd3\x9b\xad\xc9\x83\x29\xcf\x98\x3f\x5b\xe5\x1f\x99\x42\xb2\x27\x5d\xb3\x68\xc4\xc3\xd6\xb7\xc6\xaf\x51\x7e\x6f\xdc\x31\x9f\xf8\xcd\x79\x08\x69\xa8\x8d\x9a\xf8\x2a\x67\xaf\xbb\x4f\x03\x2b\xe5\xd9\x32\x89\x33\xfe\x89\xaf\xf2\x0d\xca\x46\xbe\x64\xfb\x6c\xac\xde\xc8\x57\x23\x58\x2e\x23\x11\xa2\x16\xd5\xa1\x2c\x6b\x80\x08\x4a\x17\xf9\xf3\x7c\x11\x3d\x56\x57\xa2\x72\x28\x0b\x19\x10\x54\x95\x56\x8b\xe8\x7f\xa2\xf7\x9f\xcb\x77\x1b\xda\xa5\x77\x38\xe1\x53\x11\xf3\x5e\x4f\xfd\x5a\xc1\x62\x32\x46\x21\x85\x35\x39\x62\x49\x00\x2a\x99\x24\x01\xa5\xae\x91\xdc\x7c\xe1\x61\x5e\xd7\x5d\x24\x93\x22\xe2\xbd\x9e\xfa\x45\xf7\x9d\x69\x9e\x8d\xdb\xaf\x2c\x09\xdc\x1a\xe0\x86\xd0\xd1\xff\x13\x00\x00\xff\xff\x2d\xfc\xed\x61\xb4\x50\x02\x00") func uiLibD3V3MinJsBytes() ([]byte, error) { return bindataRead( @@ -445,12 +445,12 @@ func uiLibD3V3MinJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "ui/lib/d3.v3.min.js", size: 151732, mode: os.FileMode(420), modTime: time.Unix(1483467521, 0)} + info := bindataFileInfo{name: "ui/lib/d3.v3.min.js", size: 151732, mode: os.FileMode(420), modTime: time.Unix(1491905519, 0)} a := &asset{bytes: bytes, info: info} return a, nil } -var _uiLibJqueryMinJs = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xcc\xfd\x7b\x97\xa3\x36\xb6\x38\x0c\xff\xff\xfb\x14\x65\xa6\x0f\x41\xed\x6d\x97\xdd\x49\xe6\x3d\x83\x5b\xc5\xca\x75\x92\x99\xce\x65\xd2\x3d\x93\xcc\xc1\xf4\x2c\x01\x02\x53\x85\xc1\x85\xa9\xae\xea\x18\xe6\xb3\xbf\x4b\x5b\x12\x08\x8c\x3b\x99\xf3\x7b\x9e\xb5\x9e\xd5\xab\xcb\x20\x74\xd7\xd6\xbe\x69\xef\xad\xeb\xe7\xb3\xab\xdb\xbf\x3d\xf0\xea\xfd\xd5\xbb\x17\xcb\xf5\xf2\x93\xab\xe6\xca\x89\xc8\xd5\x8b\xd5\xea\x53\xb8\x7a\xb1\x5a\x7f\xaa\x3f\x7f\x5d\x3e\x14\x31\xab\xb3\xb2\x80\xab\x6f\x8b\x68\x79\xd5\x5c\xdd\xde\x8b\x2f\xcb\xb2\x4a\xaf\xf3\x2c\xe2\xc5\x91\x5f\x3d\xbf\xfe\x3f\xb3\xe4\xa1\x88\x44\x3e\x87\x41\x48\x4e\x56\x19\xde\xf2\xa8\xb6\x28\xad\xdf\x1f\x78\x99\x5c\xed\xcb\xf8\x21\xe7\xb6\x7d\xe1\xc3\x92\x3f\x1d\xca\xaa\x3e\x7a\xc3\x57\xca\x96\x71\x19\x3d\xec\x79\x51\x7b\xa1\xc3\x60\xb6\x22\x6e\xdf\x10\x39\x65\x89\x33\xeb\xb3\x90\x7a\x57\x95\x8f\x57\x05\x7f\xbc\xfa\xaa\xaa\xca\xca\xb1\xd4\x28\x2a\x7e\xff\x90\x55\xfc\x78\xc5\xae\x1e\xb3\x22\x2e\x1f\xaf\x1e\xb3\x7a\x77\xc5\xae\x74\x49\x8b\x6c\x2a\x5e\x3f\x54\xc5\x55\xe8\x30\xd2\xba\xf8\xd7\xb1\x1e\x8a\x98\x27\x59\xc1\x63\x6b\xa6\xbb\x2b\xcb\x7b\xf2\xc7\xad\x77\xd9\x11\x86\x23\x7f\xc7\xaa\xab\x88\xfa\x01\xc4\x34\x5a\x1e\xc5\x0c\x01\xa7\xd1\x32\x2a\x8b\x88\xd5\x90\xd0\x68\x79\x78\x38\xee\x20\xa5\xd1\x32\x2b\x62\xfe\xf4\x43\x02\x3b\x7a\x6a\x21\xa3\xbb\x65\x5d\xbe\xae\xab\xac\x48\xe1\x96\xee\x96\x3b\x76\xfc\xe1\xb1\xf8\xb1\x2a\x0f\xbc\xaa\xdf\xc3\x9d\xc8\x94\x1b\x13\x02\x7b\x6a\xe1\xe2\x59\x50\xd0\x61\x1f\xd4\x58\xc4\x44\x14\xcb\xa4\x58\x66\x45\x56\xe3\x97\x16\x4a\x7a\xfd\xd6\xdf\x1e\xb7\x0f\x5f\x7f\xf5\xf5\xd7\xdb\xa7\xcf\x56\xc1\xbc\x19\xbd\x3f\xbb\x4e\xe1\x40\xaf\xdf\x2e\xf6\xc7\xc5\x35\xdc\xd3\xeb\x85\xe3\x6f\x63\xb6\xf8\x35\x20\xd7\x69\x06\xd5\x74\x63\xe1\xb2\x2e\xff\x7e\x38\xf0\xea\x0b\x76\xe4\x0e\x69\x37\xa2\x65\x5a\x2c\x0f\x55\x59\x97\x62\xf2\xe8\x49\x42\x8e\xbb\x87\xa8\x2c\x8e\x75\xf5\x10\xd5\x65\xe5\x16\x70\xe4\x39\xc7\x47\xcb\x82\x9c\x17\x69\xbd\x73\x57\x50\x97\x9f\x55\x15\x7b\xdf\xaf\x76\xd7\x50\xbc\x8c\x58\x9e\x3b\x62\xea\x49\x0b\x29\xaf\x07\x10\xa1\x87\xfe\x90\xe7\x33\xca\xbc\xd5\x0d\xf3\x44\x4e\x9f\xcd\xc5\xcf\x52\xd6\x1f\xb8\x32\x2d\x70\x87\x95\x89\x95\x79\x5d\xb3\xe8\x6e\x50\xa5\x58\xd1\x90\x16\xcb\x3d\xaf\x52\x8e\x59\x97\xc6\x00\x1c\x02\xac\x87\x9e\xe5\xa1\xe2\xef\x7e\x40\x10\xa7\x08\x1c\xa1\xc8\x5b\xf3\x27\xf9\xaa\x5f\x20\x6c\x81\xb3\x68\xe7\x4e\xaf\xdb\x52\x7c\xc3\x96\x40\xae\xda\x9e\x1d\xa6\x46\x89\x55\x76\x9d\x76\x8a\xe5\x9e\x1d\x9c\x21\x4c\x86\x10\x75\xd9\x99\x1c\x6c\x08\x91\xa8\x94\x90\x16\x10\x3e\x27\xe6\x78\x54\x71\xbc\x64\x87\x43\xfe\x5e\xf5\xa8\x4a\x11\xfe\x8e\xa2\x82\x24\xab\x8e\xf5\xa5\x0a\xf8\xbd\xb3\x22\x2d\xe4\xec\x83\x59\x16\x6b\xd2\x02\xbf\x9f\x98\x72\x63\xc5\x20\xa2\x73\x36\x77\xc4\x72\x86\xee\xaa\x9b\xef\x51\x3f\xa3\x1b\xba\xb2\xed\xf0\x26\xf2\x7c\x5c\xe0\x28\x08\x5c\x3f\x10\xd5\x17\xf1\xc5\x51\x76\x0b\xd6\x34\x67\x6b\x2b\xc0\x48\xc1\x85\x9b\xc0\xb1\xac\x6a\x37\x5a\x8a\x1f\x38\x1e\x70\xea\xa2\xa5\x7c\x68\xa1\x58\xf2\xa7\x9a\x17\x31\xc5\x1d\xa7\x9e\x8d\x36\xc5\x90\x18\x88\xb9\x8f\x81\x43\x02\x29\xed\x26\xd2\x5f\x05\x4d\x73\x6a\x61\x47\xd7\x90\xf5\xc9\x7a\xe8\xb7\x74\xb6\xde\x24\x02\x9d\x85\x65\x99\x73\x56\xf4\xc8\x33\xb5\x6d\xe7\x96\xa6\x83\xca\x76\xaa\xb2\xf9\x9c\xc0\x19\xb6\x4d\x9b\xa6\x58\x66\xc7\xaf\x75\xbf\x52\xd2\x34\x4e\x4a\x4f\x2d\x81\x1d\xa5\x34\xb3\x6d\x27\x95\x80\xbb\x5b\x2c\xc8\x26\xbb\xd9\x6d\x44\x45\x59\xe2\xc8\x1d\xe5\xb0\x41\x4b\x84\x88\x7e\x85\x57\x59\x71\xc5\x48\x44\x53\x3f\x14\x78\x8f\x89\x9f\x74\x46\x69\x2c\xba\x67\xdb\xe2\x47\xb4\xfa\x63\xce\xb2\x42\xce\xb5\x13\x8b\x86\x39\x15\xc9\xb8\xd1\x9d\x98\x10\xe2\x39\xdc\x73\x38\x9d\xad\x05\x9e\xb4\xed\xfe\x63\x44\xbc\x48\xac\xa4\xdb\xa5\x9b\x75\xe1\xd7\x53\x0b\xa2\x79\xaa\xe7\xde\xb9\x85\x04\x62\x42\xdc\x77\x65\x16\x5f\xad\x54\x6f\x30\x4b\x4c\x3a\x00\x4a\xfb\x85\x73\x4e\xfc\xe9\xc0\x8a\xb8\x74\x15\xd9\xb0\xe6\xce\x7e\xfe\x1d\xab\x77\xcb\x4a\x24\xef\x1d\x42\x96\x15\x3f\xe4\x2c\xe2\xce\xf5\xf6\xcb\xeb\x14\x2c\x8b\x40\x76\xfc\x89\xb3\xf8\xbd\x3b\x5b\x01\x17\x44\x67\x00\xc7\x63\x82\xc4\x48\x0b\x45\x59\x1e\x4c\x60\x6c\xa1\x5f\x8f\x89\x4d\x6e\xe9\x24\x8b\x52\x5a\x2c\xc5\x3a\x62\x35\x6a\x6a\x5c\xfc\xab\x27\x0a\xb2\xe3\xcf\x92\x32\x5d\xc6\x89\xb6\xcd\x28\xa5\x6c\x29\x49\x98\xa8\xe8\xfb\x87\x3d\xaf\xb2\x68\xa2\xcc\xac\x5f\x02\x46\x6c\x9b\x2d\x0e\xac\x3a\xf2\xaf\xf3\x92\xd5\x0e\x23\xf3\xf5\x0d\x5d\x89\x0a\x8c\xc5\x98\x1a\x81\x02\xc2\x99\xd1\xff\xa6\x61\xcb\xa2\x8c\xf9\x9b\xf7\x07\x2e\x41\x52\xf6\xdb\x61\xc4\x9b\xad\x5d\x66\xee\x42\xdb\x9e\xdd\x4a\xcc\x35\x48\xee\x29\x0b\x58\xd9\xf1\x47\xfd\xf2\x43\x62\x61\x15\x33\xec\xd9\x57\xfb\x43\xfd\x7e\xa2\x67\x88\x60\x36\x06\xf0\xaa\xf1\xae\x15\x60\x88\xd2\xa2\xb6\x4b\xf3\x48\x29\xf3\xd8\xdc\xb2\xdc\xb3\x1d\xc6\x9a\xc6\x5c\x32\x9d\xea\xed\xfc\x4c\x0d\x82\x04\x4d\xa3\x8b\xb9\xfa\x7b\x0b\x69\x5e\x86\x2c\xff\xea\x1d\xcb\xcf\x7b\x0a\x11\xe5\xef\x58\xbe\x61\x62\x06\xab\x6c\xef\x30\x02\xcc\xb6\x9d\x35\xae\xa4\xe2\x23\x1c\xeb\xe1\xc8\xaf\x8e\x75\x95\x45\xb5\x45\x3c\x27\xa4\xf9\x32\xaa\x38\xab\xf9\x57\x39\x17\x3b\xd6\xb1\x8e\x51\x95\x1d\x6a\x8b\x40\xb8\x44\x9a\xc4\x20\x5f\xee\x38\x43\xfc\xce\x8b\xf8\x8b\x5d\x96\xc7\x4e\x48\x96\x07\x56\xf1\xa2\xfe\xbe\x8c\xf9\xb2\xe2\xfb\xf2\x1d\xd7\x5f\x88\x1b\x39\x4c\x20\xfe\x88\xed\x79\x2e\x48\xfd\xd4\x0c\xb1\x6e\x9f\x1c\xc0\xda\x1f\x17\x56\xbf\x71\xee\xa1\xc2\x3d\x10\xf3\xef\xd9\x9e\x4f\xd3\x3f\x09\x1a\xe2\xbb\x6d\xf7\xcf\xcb\xba\x7c\x55\x3e\x6a\xfe\x82\x52\x1a\x0e\x53\x26\x28\xaa\xa0\x7d\x62\xfe\x62\xe0\x74\x05\x09\x65\x1a\xa5\xa6\xf4\xe8\x30\xb2\xc9\x12\x27\x42\x26\x32\x25\x27\x01\x0b\x9b\xe4\x86\x6f\xb8\xc4\x77\x31\x0d\x15\xd5\x63\x3e\x0f\x20\x22\x10\x53\x4a\x67\x6b\x12\x56\x9c\xdd\xb5\x3c\x3f\xf2\x2b\x51\x86\x4b\xf8\xf9\x9d\x25\x2e\xb7\x25\x61\x43\x14\xe4\x20\x7e\x7e\x5f\x7b\x1f\x2e\xa5\xb1\x1c\x6b\x41\x40\xcd\x87\x80\xd9\xb2\x5c\x47\x00\x74\xbf\x52\xa5\x40\x6f\x82\xf5\xb8\xe3\x23\x56\xcc\xe0\x73\xc3\xa6\xf1\x83\xcd\x18\xc1\x38\x47\x47\xa1\x66\x46\x88\xa7\x39\xa7\x08\xac\x23\xb2\xb7\xe6\xb6\x10\x4c\x18\x23\x6e\x22\x47\x12\x01\x23\x04\xa2\x16\xb2\xe2\xbc\x4d\x83\x93\x91\xbd\x0e\xbd\xc5\xda\x4d\x35\x53\xc3\x20\x12\xdd\x15\x4d\x8d\xba\x2a\xa6\x4d\x76\x77\x1e\x6a\x08\x88\xe9\x0a\x78\x07\x10\x9b\xe8\x26\xde\xc4\xf3\x39\x61\x3e\x9f\xcf\x03\x1a\xfa\x71\x37\x2a\x9d\x87\x72\x10\xbb\xb4\xe2\x87\xb3\x5e\xe9\x06\x04\x9c\xf9\x01\x24\x74\x25\x28\xb2\x6e\x6a\x47\x67\xd1\x26\xbd\x49\x36\xc9\x7c\x4e\x62\x3a\x0b\x1d\xe6\x27\x01\x24\x04\xe2\x19\xa5\x3b\xdb\xe6\xc8\xc2\x60\x6a\x47\x98\xf8\x98\xe9\x33\xa1\xf9\xac\x01\x01\xcd\x90\x51\x3f\x10\x20\xbd\x43\xa2\x6c\xb4\xa8\x1b\x14\x20\x29\xd7\x28\xb6\xed\x4c\x36\x1a\x93\x4d\x07\x5a\x89\x04\xad\xdf\x2c\xa0\xbb\xa8\xa0\xdd\x0f\x20\x13\x9c\xf8\x43\x16\xbb\x6b\x38\x54\xe5\xd3\x24\xac\x08\xae\x47\x15\x3d\x83\x83\xd0\xb6\x9d\x48\xf2\x0d\x21\x65\xc0\xa8\x68\xd8\xe4\x53\x98\xe0\x0d\xa8\xe2\xd6\x3b\x0e\x04\x5e\x10\x48\xe8\x39\x63\xc7\x54\xcf\x42\xc9\xd2\x01\x57\xe2\x97\x33\xae\x80\x20\x0f\xbb\x14\x5d\xa7\xcc\xfc\x11\x34\x49\xfc\xce\xe7\x90\x68\x16\x42\xa0\xad\x47\xf7\x4b\x56\xf3\x65\x51\x3e\xc2\xf1\xe1\x20\x64\x54\xf7\xae\x15\x7d\x45\x8e\xdd\xfa\x5c\x32\x68\x57\xdf\x3f\xec\x43\x5e\x5d\x49\x69\xee\x4a\x8f\xe2\x0a\x61\xfa\x4a\xd4\x70\xf5\x13\x4f\xbf\x7a\x3a\x5c\xc9\x6d\x22\xb9\x03\x0b\x79\xc9\xda\xb1\xae\x2c\x32\x12\x2a\x77\xbe\xe5\x4b\x8a\x71\x65\xcd\xc3\xb9\x15\x58\xc1\x19\xfa\x23\x1b\x5d\xe6\xea\xd8\xf3\xd0\x96\x84\x11\x4b\xac\xac\xc0\xa6\x1d\x3b\xdd\x91\xe2\xcd\x04\x9f\x11\x4d\xd0\x64\x49\x6b\x34\xd1\xb6\xed\xd0\x9b\xad\x5c\x8b\x89\x21\xa9\x22\x2b\x81\x94\x9b\xc6\x2a\x70\xf4\x83\xd5\x0d\x6f\x04\x63\xbe\x58\x23\x84\xb5\xa2\x6b\x35\x9d\xa0\x72\x9a\x37\x86\x1d\x64\x70\x0b\x77\x90\xc3\x1e\x0a\x28\xe1\x00\xf7\x50\xc1\x11\x6a\x78\xa0\xd6\x31\xfb\xf5\xd7\x9c\x5b\xf3\xf5\x73\xc1\x59\x89\xe9\x84\x77\xa6\x60\xfc\x48\x57\xf0\x44\x57\xf0\x9e\xee\x98\x43\xe0\x57\xf9\xf3\x99\xfc\xf9\x7c\x5a\x7c\x15\x3c\x91\x80\xc2\x9c\xce\x56\x04\x56\x2d\x7c\x41\xd7\x2f\x5f\x7e\xbc\x86\x2f\xe9\xa9\x1d\xcb\xe2\x5f\x89\x5d\xfe\x35\xfd\x6a\x79\x28\x0f\xf0\x67\xf1\x2b\x44\xfa\x6f\xf4\xc3\xb7\xf4\x2b\x25\xf9\xff\x85\x5e\xc2\x44\x2b\xc1\x27\x6b\xec\x13\xdf\x44\x9b\x48\x92\x02\xe6\x47\x81\xe8\x8a\x62\x48\xae\x22\xb5\x3c\x8b\x75\x0b\x7f\xa5\x56\xb4\xe3\xd1\x1d\x8f\x1b\x29\x33\xf3\xb8\x61\xc7\xf7\x45\xd4\xb0\x87\xba\x4c\xca\xe8\xe1\x88\x4f\x87\x9c\xbd\x6f\x84\xa4\x59\x95\xf9\xb1\x89\x79\xc2\xab\x26\xce\x8e\x2c\xcc\x79\xdc\xec\xb2\x38\xe6\x45\x93\x1d\xf7\xec\xd0\xe4\x65\x79\x68\xf6\x0f\x79\x9d\x1d\x72\xde\x94\x07\x5e\x34\x15\x67\x71\x59\xe4\xef\x1b\xa5\x34\x89\x9b\x63\x54\x1e\x78\x6c\xc1\x2b\x6a\xf9\xdb\xed\xd3\x8b\xd5\x76\x5b\x6f\xb7\xd5\x76\x5b\x6c\xb7\x49\x60\xc1\x77\xd4\x72\x3c\x77\xbb\xdd\x6e\x97\x8d\xbf\xdd\x3e\x2e\x82\xc6\x7f\xbb\xdd\x3e\xad\x56\x8b\xed\xf6\x89\xad\x02\x32\xb7\xe0\x7b\xfa\x5d\x47\x59\xac\x47\x0b\xac\xc7\x3f\x58\x04\x7e\xa0\xd6\x76\xeb\x5b\xf3\x57\x73\xeb\xb9\x63\xcd\xbf\x9b\x5b\xc4\xf1\x5c\xf5\xee\x3f\x7f\xfb\xac\x99\xfd\x3b\xf0\x28\x51\x29\x9e\xfb\x91\xd3\x37\xf5\x56\xfc\x7e\x14\x90\xe7\xe4\xa3\x66\x6b\x8d\x3f\x6c\x2d\xf1\x65\x6b\x35\x8e\x35\xff\x7e\x6e\x11\xd2\xa8\x5a\xb6\xdb\xc0\x82\x1f\xa9\xe5\xf6\x0d\x6e\xb7\x8e\xe3\xfc\xe7\x55\x93\x66\xfc\xc5\x21\xfe\x76\x1b\x04\x8d\x35\xff\x61\x6e\x91\xe7\xa4\x59\x3e\x27\xdb\xad\x68\x1a\xfe\x46\x05\xb0\xca\x6d\xef\xbc\x9a\x5b\x73\x0b\xac\xd4\x22\xf0\x93\x99\x6e\xbd\xc5\x3e\xce\xb1\xe2\xb7\xaa\xd2\x80\xe8\x56\xc8\x73\x39\x86\xf9\x33\x55\xf8\xf5\x44\xe1\xe7\x20\x7f\x2c\x02\x6f\xa6\x3e\x3b\xfe\xcd\xfc\xdf\xa2\x8b\xaf\xe6\x16\xe9\xb2\xfe\x7d\x90\x95\xea\xac\x6f\xb7\xdb\xe0\xa3\xad\x15\x3c\xf7\xcc\xd9\xc3\xb6\xff\x61\x96\xf8\x91\xc0\xcf\xe3\xc6\xbe\x9f\x5b\xcf\x2c\x02\xbf\xd0\xd3\xb7\x5f\xba\x83\x6f\x7f\x50\x53\x6f\x11\xf8\xe2\xd5\x67\xaf\x5f\x0f\xbf\x6e\xb7\xcb\xfe\xfb\x9b\xcf\xfe\x3c\xfc\x2a\x3e\x8d\x20\xe9\xb9\x45\x64\xe6\xcf\xde\xbc\xf9\xc9\x1d\xf5\xe2\x07\x02\x3f\xbe\xfe\xea\xef\x5f\xfe\x30\xfe\xf0\x23\x81\x2f\xbe\xf9\xf6\xd5\xa8\x6b\xae\x83\xc0\x8f\x7a\x8d\x26\x67\xc7\xba\x29\xea\x9d\xf8\xbf\x10\x2f\x64\xe1\x44\x82\x13\x6e\xca\x64\x21\x90\x9b\x02\x1e\x35\x5b\xfc\x1d\x2f\x9a\x32\x8e\x1b\xc7\xf1\xe7\x8b\xa0\x21\xce\x76\x1b\x3f\x27\x45\xd3\xc3\xaf\xfa\xa0\xde\xb7\xdb\x78\x4e\x1a\xd2\x4d\x2d\x02\x8a\x95\x09\xfe\xbc\x2c\xf3\xd1\xb8\xc5\xbe\xf8\xeb\xdc\x22\xcf\x54\x96\x82\xf3\xf8\xf8\x85\xd4\x27\x8d\xc7\x26\xaa\x93\xcb\xec\xf6\xbd\xe2\xf7\x4d\x5a\x37\xb9\x1c\x51\x3f\xc0\xe1\x18\x1c\xcf\x5d\x6c\xb7\x31\xf1\xb0\xeb\x46\xc7\x1c\x8f\xfa\x6f\x17\x41\xf3\x4c\x75\xb1\x85\x7f\xd2\x6b\xd1\xab\xac\x38\x3c\xd4\x0a\x21\x35\xa2\x33\xac\xe2\xac\x09\x1f\xea\xba\x2c\xc8\xb3\xeb\x0c\xfe\x87\x5e\xbf\xdd\x6d\x63\xf1\xf8\x8c\x5e\xbf\xf5\xdf\x9e\x82\xf9\xf6\xb4\x3d\x3e\xdf\xfa\x05\xab\xb3\x77\xfc\x6a\xfb\x78\x0d\xff\x92\xb5\xfd\xc1\xf1\x05\x06\x99\x93\xc6\xd9\x3e\xce\x49\xb3\x5d\xea\x04\xf2\xec\x1a\x18\xa3\xd7\xfe\xfc\xdf\xc1\x35\x84\x8c\x5e\x7f\xd4\x6c\xb7\xd7\x29\x44\x6c\x00\x79\xb8\x0f\xfd\xed\x36\x66\x8b\x24\x38\xad\xe1\x8f\x2d\x8e\xc2\x6b\xe4\x10\x49\xb3\xc4\x11\x08\x10\x8e\x19\x9d\x64\xb0\xa8\xb5\x7a\xb2\xe6\xe1\xe2\x8f\x9f\x7e\xfa\xf1\x1f\x35\xbb\x23\x98\xb5\xb8\x69\x22\x2f\x74\x57\x37\xb1\x27\x69\xfb\x32\xa9\xca\xfd\x17\x3b\x56\x7d\x51\xc6\xdc\x89\xe7\x58\x82\xb8\x93\x1f\x6f\x6e\xd6\xab\xe6\xd3\x4f\x5f\xfc\xe9\x8f\xb0\x5e\xbd\xf8\xd8\x8e\x9b\x4f\xff\xf8\xf1\x8b\x15\x0a\x2e\x26\x13\xb3\x77\x48\xbb\xa9\xab\xf7\xa7\x6f\x14\x1b\xf3\x15\xfd\x56\xf2\x2d\xef\x96\x08\x7d\x42\x2e\x3b\x12\x18\xbe\x7d\xe5\x9b\xef\x5a\xd1\xd9\xd1\xeb\x36\x62\x75\xb4\x73\x12\x46\x4e\xdf\xd0\x13\xd6\xeb\x7e\xa5\x72\x79\x43\x22\xf5\x67\x2d\xc5\x80\x6a\x36\x24\xa4\x9d\xe4\xfe\x99\xc1\x4d\x6f\x1e\x77\x59\xce\x05\xfd\x52\x0c\xf4\x7c\x1e\x90\x4d\xc7\x3c\x47\x8b\x75\xdb\xb6\x1d\x87\x92\x32\x9c\xf0\x18\xb8\xac\x2b\x81\x9d\xa2\xf7\x25\xd2\xf9\x47\x78\x12\xac\xac\x13\x7a\xe1\xb2\x7c\x2c\x78\xf5\xa5\x22\xee\x4d\x13\xba\xef\xc8\x8c\xd2\xc2\xb6\xf7\x4e\x48\x20\x14\x2c\x47\x01\xb1\x58\x1b\x3f\x80\x3b\x1a\x76\x63\xee\xe4\x8d\x99\x21\x9c\xcf\x58\xd3\xac\x67\x94\xde\xd9\xf6\x9f\xe4\xcf\x1a\x5f\x35\xc1\x8d\x45\xbb\x33\x6e\xdb\x07\x94\x0c\xd7\x2a\xaf\x93\xd0\x7f\x2d\xf9\x13\x47\xf1\x57\x10\xea\x5b\x9a\xf8\xeb\x00\xf3\xfc\x89\x8a\xf2\xe2\x69\x47\xc3\x65\xca\x6b\x25\x6f\x7f\xfe\xfe\xdb\xd8\xb9\x25\x30\xdb\x35\xcd\x6c\x67\x08\xd5\x83\xb6\x76\xcb\x4c\xc8\x6c\xb7\x5d\xa2\xe4\xb3\x77\x04\xe2\x4e\x66\x1c\x4d\x82\x6d\x63\x4b\x83\xb4\xf3\x76\x89\x6d\xd7\x4e\x08\x3b\x62\xdb\xbf\xd5\x86\xe8\x7b\xe2\xbf\x08\xf4\x77\x0d\x79\x31\x98\xe3\x39\x7e\xfe\xfe\x0d\x4b\x85\x2c\x2e\x26\x01\xb0\xf7\x38\x0f\x1f\x07\xc4\xb6\xa3\x61\xce\x2f\x72\x76\x3c\x8a\xbc\xbf\x59\x67\x97\x53\xf4\x19\xe2\x56\x48\xe5\xcb\xfb\xa3\x90\x23\x67\xf7\x4d\x33\xbb\x5f\xd6\xfc\x88\xa2\x24\xce\xf1\x91\x56\xf4\x01\x1e\x69\x08\x4f\x54\x2d\x0e\x03\xc1\x9c\xde\xf5\xa7\x4b\x33\xaa\xc0\xe0\x5c\x71\x40\x4e\x25\x4d\x85\xb8\xe4\x54\x72\xb1\x3e\xab\xeb\x2a\x0b\x1f\x6a\xee\x58\x59\x6c\x11\xe2\x1d\x69\xd5\x11\x98\x90\x81\xb5\xdd\x3e\xb3\x2d\xe2\x86\xcb\xe3\x38\x33\x1c\x09\x1c\xa9\xe5\x67\x31\xfd\xc8\x9a\x1f\xe7\xd6\x47\xc1\x95\x05\x39\x2d\x35\x63\x27\xf7\x44\xbe\x58\x90\xd2\xcf\x03\x7a\x9c\x57\xcc\x11\x4f\x64\xf3\x48\x19\xd3\xe3\xb2\xed\x03\x73\x42\x13\x3e\x9a\x46\x8c\xae\x5c\xde\x96\x59\xe1\x58\x60\x11\x31\x29\x4f\x44\x20\x85\xb3\xd9\x7c\x5c\xe2\xb1\xca\x6b\x75\x8a\xf2\x59\x9e\x3b\x4f\x38\x8f\x72\xc7\xbf\x27\xa7\x36\xc9\x0a\x96\xe7\xef\x4f\x55\xd3\x84\x4a\xa1\x33\x1a\x75\xdb\xb6\xaa\xe2\xcc\xe9\xb5\x37\x3f\x81\xf5\x6c\x2d\xa8\x11\x6e\xd4\x7e\xf7\x0a\x46\x5a\x2a\xb4\x85\xc8\xd9\x25\x87\x4e\x24\xf6\x73\x27\x84\x21\x8c\x45\x73\x21\xcf\xdc\x08\xc9\x2b\xda\xf1\x57\x38\x2f\xb6\x1d\xf3\x9c\xd7\xfc\x2a\xf4\xd9\xf2\xb8\xcb\x92\xda\x21\x01\x84\x3e\xe6\x0d\x28\xd7\x7d\x09\xfb\x26\x33\x66\xea\x97\xfc\x87\x80\xce\x56\xc0\xfa\xef\xb7\xcc\x3c\xaa\x19\xa9\xbd\xe2\xec\x9d\x45\x36\xfd\xec\xcd\x66\xcc\x09\x89\x9a\xa0\x4e\xab\x30\x5b\x77\x13\x65\x2e\x86\x6d\x87\x97\xf5\x61\x10\x52\x21\x20\x1b\x98\xed\x8e\x0d\x31\xa4\x92\xe9\x1a\x8b\x98\xfa\x06\x09\x18\x7c\xb1\x20\xf1\x92\xd5\x75\xf5\x0d\x2b\xe2\x9c\xfb\x91\xcf\x83\x80\x1a\xc3\xce\x07\xb5\x85\x02\xd4\x63\x1a\xd9\xf6\x58\x18\x5b\x53\x6a\x20\x3e\xdb\x76\xfe\x1d\x2e\x8f\xe5\x43\x15\xf1\x6f\x8b\x98\x3f\x35\xcd\x17\x64\xe1\xfc\x9b\x8d\xd3\xc4\x0e\x8e\x07\xd8\x28\x22\xb2\x6b\x11\x8d\x96\x05\x7f\xaa\x5f\x67\x61\x9e\x15\xa9\xc0\x78\x91\x21\x97\x2c\xd6\x9d\x7a\xc4\x5b\xbb\x8b\x75\xdf\xe3\xbd\xb9\x50\xfd\x31\x54\x37\x84\x0b\xdb\x52\x4b\xa1\xc8\x4d\xa0\x3c\x29\xe6\x1d\xcf\x0d\x29\x65\xc6\xfc\x16\xff\x57\xf5\x3b\x46\x03\x4d\x63\x49\x2e\x05\xdf\xc8\x85\xf6\x4a\xb3\xbd\x8c\x39\x66\x93\x1a\x4c\xe9\x3c\x04\xf3\x53\x04\xb1\xec\x0f\x87\x84\x32\xc7\x0f\x20\xd2\x94\x32\x24\x90\xd2\x64\x08\x06\xe9\x62\x41\x22\x9f\xd3\xc4\x4f\x83\xc0\xb6\x1d\x01\x05\x74\xe6\xc4\xe2\x47\x3c\x13\xd2\x8a\x7f\x5d\x97\x0e\x83\xbd\x60\xdb\x53\xe7\xd4\x6c\x12\x6f\xdb\x36\x6b\x23\x9a\xb2\xa5\x52\x5e\xd0\x53\x0b\x89\x78\xcf\x8e\xbf\x7c\xf7\xea\x5c\x22\x47\x65\x1e\x1b\x53\x60\x46\x3a\x59\x5b\xb5\xd0\x9d\x7f\x7a\xd6\x37\x6f\xbe\x7b\x35\xc4\xbf\xee\x6c\xdd\xc2\x1e\x5b\xe5\xb5\xae\x65\x42\xfa\xe7\x90\x52\xe6\x9d\xb7\xe6\xbe\xeb\x4e\x6b\x24\xdd\x17\xf4\x36\x35\x80\x3d\x1d\x77\xc7\x73\x0a\x9a\x42\x49\xcf\x3e\x00\x17\x69\x3c\x61\x0f\x79\xfd\x8f\x8c\x3f\x02\xb7\x6d\x3e\xa3\x54\x00\xcb\xc1\xb6\x1d\xbe\x64\x71\xfc\xd5\x3b\x5e\xd4\xaf\xb2\x63\xcd\x0b\x5e\x79\xe7\x49\x8e\xf5\x50\xe4\x25\x8b\x2d\xe0\x0c\x66\x6b\xe2\x72\xb1\x85\x59\xb4\xc3\x5c\xb6\x3d\x78\x75\xac\xb2\xe8\xb3\x13\x02\x07\x3a\x4b\x9c\x94\x40\x84\xfb\x1e\x51\xf0\x91\xde\x1a\xc0\x63\xaa\xd1\x23\x4d\x1a\xa9\x95\x59\x30\x63\x23\x7a\xd5\x7d\xb6\x48\x2b\x6a\x9c\x5a\xf2\x8b\x75\x9b\x2a\xff\x54\x61\xcc\x2f\xca\xbd\xc4\x98\x16\x21\xaa\xb9\x73\xda\x2f\xe4\x45\x05\xc0\xe7\xad\x76\xc4\x9c\x3e\x93\xe4\x2d\xbd\xc4\x16\xc8\x92\x82\x57\xb9\xd0\xc5\x72\xd0\x45\x46\x04\x0f\xf3\x00\xb3\x51\x85\xa2\xae\xa6\x99\x4a\x75\x1e\xc6\xdd\x14\x8d\x79\x4e\xbc\x4c\xb2\x22\x5e\x7e\xfb\xe5\x48\x39\x93\x25\x93\x16\x1f\x63\x8e\x0e\x39\x43\x8d\x6c\x46\x4c\x57\x6f\x09\x10\x09\x86\xa8\x27\x1b\x9e\x1f\x05\xae\x1f\xb4\x2d\x88\xd6\xf3\x9a\x57\xc3\xf6\xbb\xfd\xd6\xd1\xde\x88\x41\xdc\x57\x37\xb9\x82\xe7\xcc\x8b\xc0\xd0\x6d\x4b\x5c\x47\xd1\xd7\x6e\xa8\xff\x0f\x34\x2b\x87\x7c\x11\xd7\x74\x3d\x91\x34\xf3\x3c\x4d\xf6\x70\x30\x3f\xef\x58\xfe\xc0\x55\x9f\x41\xf5\xf5\xcd\x67\x7f\xa6\xd3\x90\xec\x4d\x29\xee\x7e\x6b\xc5\x8c\xe2\x17\x59\x59\x17\xd9\x4d\x2f\x3c\x67\xa4\x58\xa7\xfb\x9d\xd4\x68\xc7\xd4\x0f\xd4\xd1\xd2\xc5\xca\x05\x51\xb5\x9e\x0b\x12\xc3\xc8\x49\xd3\xd6\x04\x8f\x19\x88\xa0\xda\x91\x81\xc8\x14\x5b\x1e\x75\xb3\x14\x6b\x4e\x28\x69\xf5\xfc\xa0\xc2\x64\x3c\x43\xdd\xae\xb2\xed\x49\xed\xe6\x61\x3c\xf8\x9e\xe7\xee\x87\x08\x95\x18\xce\xbd\xf8\x23\x19\xf0\x7e\x0b\x8f\x27\x46\xc8\x16\xce\x68\xd7\x9e\x6f\xd7\xa2\xe0\x95\x20\x07\xd4\x7a\xc9\xae\x24\x8f\xfc\x30\xb7\x3e\xba\x79\x79\xcd\x6e\x5e\x4a\x85\x41\x9f\xbc\xd8\x26\xc1\x47\x57\xfb\x23\xcb\xf3\xf2\x31\x62\x87\xfa\xa1\xe2\xf4\xa3\x8f\x6e\x5e\x96\x07\xa9\xd3\x56\x1a\x4f\x4c\xbb\x96\x89\x37\x2f\xaf\x65\xf2\x8d\x05\xec\x7c\xf5\x2c\x7f\x58\xdd\x5b\xfa\xd1\x47\x41\x87\xbb\x6c\xfb\x5e\x4e\xb7\xe5\x3f\x7f\xfb\x2c\xa0\xbd\x8e\xf1\xa3\x66\x6b\x6d\x51\xa1\x34\x59\xa9\xee\x49\x5f\x55\xd3\xe8\xaa\x7a\x6d\xa6\xe7\x22\x74\x37\x52\x69\x73\xa9\xae\x2c\xfe\x37\x95\xc3\x9f\xaa\xed\xdf\xf4\x42\x39\x57\xe9\x81\x27\xca\xf4\x9f\x26\x4b\xb2\x3f\x60\x73\xf3\xe7\x13\x45\x97\x7f\x58\xce\xfd\xf9\xbf\x03\xa4\x26\xa3\xd5\x95\x78\x22\x1d\x73\xd6\x92\x9b\x22\x9b\xb1\x70\x24\x76\xa2\x05\x96\x54\x36\x63\x57\x46\x27\xcc\xc3\xec\x85\xa0\x61\x60\x7d\x79\x69\x9a\xc4\x77\x1a\x4f\xad\x1d\x96\x94\xfa\xae\x4e\x5d\x7c\x69\xd2\x78\x81\x2a\xf0\xa9\x49\xd3\x9f\xc0\x72\xb5\xa6\xfc\x42\x2d\xcf\xc1\x7d\xb2\x08\xe8\x92\xb0\x7c\xee\x8a\xf9\x22\x62\xcf\xec\x85\x40\xc1\x8f\x3a\xbf\xde\x3f\x47\x5a\xea\x4f\x4d\x53\x2e\x1f\x79\x78\x97\xd5\xdf\x0d\xf3\x8a\x0f\xfb\xf2\xd7\x89\xd4\x72\x2a\xe7\x71\x94\x28\x36\xe4\x68\xc5\xa2\x65\x9c\x1d\xa3\xb2\x28\x10\x58\x31\x3f\x3d\xaa\xf3\x2f\x90\x22\x11\xf4\xef\xfe\x71\x26\x76\x07\x8e\xad\x52\x63\x9b\x51\x0b\x7e\x14\xb0\x70\x4f\xef\xbb\x89\x37\x54\x6d\xf7\x4a\x3e\x6d\x04\xb7\x50\xd1\x6a\x2a\x4f\x65\xe6\x09\xf5\x8c\x94\xcb\xa8\xdc\x0b\xea\xa8\xd9\xbc\x1f\xcb\x63\x26\x3a\x4e\xa0\xa6\x61\xd3\x18\xd9\x8a\x9a\x65\xc5\x91\x78\x53\xfa\xa7\x3f\x0d\xa4\x20\x8f\x8d\xd9\x3d\x57\x48\x4b\xe1\x50\x80\xdb\x18\x07\x3e\x71\xd3\xcc\x9c\x59\x2c\x15\x42\xb1\x61\x90\x32\x73\xa2\xae\x69\xaf\x7f\x74\x62\x82\xa6\x29\x93\x5d\xb7\xed\xf5\x1f\xed\x8b\x5f\xd1\xbe\x69\x4c\x45\xb2\xc4\x09\x95\xbc\x15\xd2\x81\x02\x40\x7c\x41\x92\xa1\xcd\x51\x36\x9d\x8c\x0a\x9f\xd3\xd0\x3b\xab\x87\x99\x87\x46\xb9\x10\x8e\x57\x1b\xa9\xcb\x9c\x5d\xec\xd3\x62\x16\x5e\xfa\xd4\x11\x20\x2f\x76\x9d\x98\x4e\xc9\x00\x94\xd2\xb1\x5e\xaa\x69\x42\xe2\x5d\x9e\x82\x90\xb8\x6b\x58\xdb\x62\xd6\xa5\x15\xdd\x97\x5c\xf0\xc9\x3c\x16\x2b\x74\xa9\x10\x36\x14\x7b\x62\x7c\x69\xd3\x8c\xfa\x41\x29\x7d\x67\xdb\xb5\xf3\x0e\x18\xf1\x16\x6b\x37\x94\xb9\xc2\x4b\xb9\x42\xe2\xad\xdd\x3b\xef\x2f\xce\x1d\x30\xb2\x10\x3f\x21\x71\x57\xee\x27\x76\x2c\x4a\xaf\xa7\x16\xe8\xd2\xc4\x46\x9d\x09\x41\xbf\x6c\xc8\x07\x18\xaf\x3b\xea\xb3\x00\x32\xea\x87\x81\xd4\x2a\x36\xcd\x2c\x21\x06\x00\xa6\x5d\xa7\xbd\xb5\xcb\xc5\x4b\x32\xd5\x41\x51\x58\xf0\x49\x5d\x59\xa5\x16\xd8\x44\x94\x6d\x7a\x79\xdd\x80\x9f\xdd\xf2\xa1\x90\x8a\x95\x48\xe4\x0a\xa7\x73\x65\x66\x2e\x99\x63\xe7\xc7\x01\xa5\x34\xf3\xe3\x80\xc4\xf3\x79\x0f\x07\x39\xc3\x6f\x80\x5f\x5c\x95\xed\x9d\xe8\x72\xa6\x9f\xd7\xee\xaa\x85\x94\xb8\x45\x0b\x29\xd3\x18\x6f\xfa\xb8\x15\xf5\xbf\xc5\x43\x9e\xcb\x3f\x21\x31\x8b\x74\xf8\xf3\x6c\x31\xa6\xe0\x50\xeb\x82\x19\xea\x82\x3b\x46\xf6\xef\x60\xd1\x8f\x9e\xad\x05\xc1\x87\x99\x33\x3b\x43\xce\x4d\x33\x3b\x34\x4d\x65\xdb\x95\xc4\x35\x21\x69\x9a\x7b\x41\x57\xd4\x1b\x41\x6d\x9b\xdc\x42\x1d\x9a\x0c\xa5\xc6\xa4\x69\x26\x90\xab\x00\xce\xb8\x53\xd0\xa2\xde\xb8\x4f\xe8\x70\x4b\xa7\x6c\x51\xda\x27\x4e\x4e\x6d\x3f\x27\x21\x14\x72\x42\x7c\x16\x68\x2a\x75\xb3\xc2\xb9\xd1\x38\x68\x72\x3e\x7f\x63\x5e\xb4\xf1\x77\xca\x50\xe8\x1c\x55\xf1\xe1\xc2\x08\xec\x9c\x0e\xd4\x54\x23\xd3\x83\x00\x12\xca\x6d\xfb\x4b\x39\x4b\x66\x4e\x18\xe5\x24\x1e\x47\xbd\xff\xec\xa0\xb9\x4e\x0d\x60\x9d\x95\x66\xe2\x25\xae\x29\x1b\x8b\x75\xf2\x46\xb2\x4e\x48\x5c\x27\xa1\x13\x22\x46\x28\xe8\x60\xb2\x3c\x1e\x78\x94\x25\x19\x8f\xbd\x44\xca\x18\x2e\x2a\xe9\xc4\xf8\xd1\x46\x93\x7e\xc8\x46\xd3\x7a\xfd\xbe\xa8\xd9\xd3\x15\xe6\x84\xab\x87\xa2\xe2\x51\x99\x16\xd9\xaf\x3c\xbe\xe2\x4f\x87\x8a\x1f\x8f\x59\x59\xb8\x57\xd6\x9c\xc9\x29\x7d\x28\xb2\xfb\x07\xfe\xba\xac\xa6\x94\x1a\x86\x88\x80\xdb\x38\xa7\xb3\x68\x19\xf3\x9a\x47\xf5\x97\x0f\x87\x3c\x8b\x58\xcd\x8f\x70\x47\x15\x46\x7c\x5d\x0b\xde\x43\x88\x4f\x68\x40\xe0\xac\x04\x13\x22\x3e\x38\x9f\x13\xc8\xb5\x00\x11\x52\xe6\x27\x42\x80\x40\x1a\xe1\x27\x81\x6d\xa3\x75\x0c\x92\xed\x84\x10\x43\xbd\xc8\x94\x81\x32\x6a\x93\x60\x4d\x34\xb0\xdd\xa1\xde\x12\x58\x0b\x9c\xa6\x38\x93\x6f\xf8\xd3\xa4\x4d\x06\xb5\x2c\x44\x75\x89\x41\x6a\xc5\x48\x12\x79\x3e\x22\xd0\x52\xd3\xfc\x49\xfe\xac\xf1\x55\x8a\xd2\x67\xb6\x5e\x68\x72\x88\x07\x96\x45\xdd\x21\x41\x33\x11\xed\x31\x19\x65\x4b\x3c\x9c\x44\x56\x71\xc3\x36\x22\xc1\xd4\x44\x46\x73\x8a\x16\xb0\xfa\x6c\xe4\x63\xd9\xf4\x27\x26\x7e\x94\x3d\xfd\x87\x58\x7a\x99\xaf\x9f\x37\x3c\x97\xc2\x3a\xc2\x5e\x18\x6d\x21\x96\xfa\x29\x89\x1b\x8e\xf4\x64\x68\xab\xdd\x4f\x57\x20\xd9\xde\x1f\x8f\xfc\x21\x2e\xdd\x8c\x01\x22\x13\xf7\x17\xe8\x41\xdd\x3d\xb5\x20\x04\x34\xf1\x5b\xf1\x1c\x0f\x36\xdd\x93\x75\x63\xb9\xa7\x38\xab\x5c\xab\x47\xbb\x96\xb2\x9a\x9f\xad\x5a\xb0\xae\x26\xbe\xb7\x60\xcd\xbb\xe4\x8a\xbf\xcb\xca\x87\xa3\x1a\xfd\xa0\xec\xbf\x2f\x65\x6a\x5b\x38\x54\xfc\x6b\x14\xf8\xdd\x13\x9e\x8a\x4f\x29\x10\xfc\x75\x40\xc5\x9f\x91\xf0\x0f\xcc\xff\x38\xa0\x8e\xf8\xdb\x34\xcc\xff\x04\xff\x7e\x1a\x34\x8d\x69\x1d\xa8\xb2\x0a\x11\x05\x61\xf0\x85\x80\x41\x2c\x68\x89\x9d\xe1\x7f\x1c\xa0\xde\x1f\x3a\x40\x86\x4f\x48\xab\x0e\xdc\x3f\xd8\x97\x01\xbe\x00\xab\xa8\x77\xb2\x81\x75\xd0\xd5\xf4\x31\xf1\x54\xef\xf4\x86\x76\x98\xbf\x0a\x44\xc7\x3f\x09\xe8\xdc\x11\x3f\x9e\xe8\xb2\x78\xfc\x63\xd0\x34\x6b\xe2\xbe\x78\xee\x58\xfc\x1d\x2f\x64\x65\x1f\xa3\x09\x6e\x1c\xeb\x37\x22\xca\x7e\x2a\xcb\xfe\xff\x82\x39\xf3\xff\xfb\x2c\x83\x2b\x7e\x6c\x7b\xdc\x62\xab\xad\x0b\xa6\x76\xce\x4c\x34\x6f\xdb\x62\x76\x34\xa8\xfd\xb2\xc4\x39\x50\x47\x3f\xa2\x0e\x4f\x6c\x44\x17\x07\xe4\x89\x9c\x74\x38\xe5\x6e\x64\xdb\xff\x90\xd9\x23\x21\x75\x87\x34\x75\x22\x98\xad\x88\x7c\x89\x7a\xeb\x5f\x62\x75\x6a\xe6\x45\x48\x16\xfa\x99\xe0\xc2\xac\x44\xbd\xab\x7e\x0e\x43\x31\xe2\x17\x81\xf6\x51\xc2\x14\x73\xb5\x3e\x26\xa4\x15\x00\x2d\x41\xe8\xcd\x67\x7f\x9e\xf0\xcf\x18\x6b\x8d\xa6\x35\xfa\x52\xf7\xe1\x9d\x59\xe9\xcd\x06\x4a\x95\xff\xd8\xf8\xb7\x6d\x95\xed\xc8\x79\xbf\xde\xfb\x0c\x0f\x92\x3a\xad\x74\xd3\x38\xe1\xc0\x46\xc0\x79\xdb\xd9\xbf\xb0\xb9\x25\x0d\x03\x9a\x67\xc4\x12\x93\xfa\xde\x61\x30\xd1\xaf\x50\xae\xc1\x04\x5a\x8b\x7a\xe5\x8b\xf1\xd2\x34\xbf\xad\x2a\x1b\xab\xc9\x94\x46\xd7\x22\xb8\xd7\x5a\xd2\xc2\x68\xef\x0e\x8c\x60\xbb\x64\x7d\xd8\x40\x15\x7d\x77\x62\xc3\x25\x49\x9a\xca\x72\x4f\x48\x73\x62\xde\xdc\xd0\x73\xf8\x5c\x20\x75\x4b\x26\x78\x82\xb3\x8c\x5c\xfd\xdd\xe3\x33\x7c\x7d\xab\x5e\x23\xdb\x5e\x51\x4a\x79\x07\x67\x11\x71\xad\xe7\xfd\x47\xf3\xc3\xcd\x62\xed\x5a\xcf\xcc\x6f\x12\x9c\x7a\x58\x94\x4d\xfd\x5b\x65\x71\x04\xae\xe0\x1d\x14\xfd\x4d\xa0\x43\x82\x78\x63\x5c\x69\x63\xf6\xb5\x69\x78\x07\xa7\xba\xe6\xf9\x1a\xeb\x9e\x5b\x0b\xcb\x9d\xad\x89\x40\x90\xe7\xe8\x46\xbb\xdf\x28\x9b\x03\x8a\xd8\x05\xf9\xb4\x1e\xec\x21\xa5\x56\xce\x8e\xb5\x99\xbe\xf8\x84\xc0\x8e\x5a\xca\xe8\x07\x7b\xa2\xa7\x57\x10\xbc\x58\x4d\x91\x37\xe1\x40\x31\x33\xe5\x03\x03\xe0\x45\x4f\x32\xd9\x8f\x81\x9d\x23\x4d\x66\x42\x1a\xb0\x0c\x8a\x67\x4d\x50\x81\xfb\xa1\xa0\x51\xd1\x9d\x90\xa1\xa6\x77\x0b\x1c\xe9\x2c\xb3\xed\xd9\x4e\x50\xed\x7b\x24\xce\x89\xe6\x24\x0e\xe4\x94\x77\xd2\x41\x4e\x73\xff\x10\x08\xd9\x73\xe7\xe5\x97\xb7\x5e\x85\xa6\xa0\xf9\x98\xa5\x9d\xad\x37\x25\x3d\x50\xab\x2c\x72\x34\x08\x65\xb6\x3d\x2b\x6d\x7b\x30\x92\xb6\xdb\xfa\x59\xe2\x94\xd4\x4f\xbd\x7b\x83\xd8\xbb\xf7\x4b\x31\xf3\xf8\x1c\x40\x6a\xdb\x47\x72\xba\xa3\xf7\xfe\x43\xd0\x34\x8e\xf8\x41\x3f\xa5\x5b\x7a\xe7\xb3\x00\x8d\x3d\x0a\x7a\x2b\x10\x1b\xa5\x8f\xb6\x7d\xeb\xaf\x03\xd8\x0f\x12\x5e\x04\x90\x0b\x36\xf6\xde\x30\x8c\xf1\x8b\xa0\x1b\xed\x7c\x5e\xd8\x76\x6e\xdb\x62\xd4\x4d\xe3\xec\x69\x41\x57\xa4\x69\xca\xe5\xa1\x3c\x38\x68\xe4\x31\x1c\xa8\x6d\xcf\xe7\x7b\xdb\xce\x51\x22\x3c\x89\x5e\x50\xff\x11\x0a\xd8\x07\x1b\x69\xa4\xdf\xf1\x24\x47\xf4\xcb\x72\x42\xd9\xf5\x50\x75\x9d\x08\xae\x5e\x74\x4c\x76\x91\x88\xde\xae\x83\x8d\xc1\xa0\xfc\x9e\x3e\xfd\x87\x8b\xa3\x3a\x8d\x5d\x72\x72\xd9\xa1\xdc\xe8\x90\x18\xc2\x3e\x20\x20\x47\x35\xf4\x1b\xd8\x2f\x28\x87\xbd\x54\x94\xec\xff\x2b\xa6\x94\xae\x6c\x7b\x7f\x1d\xdf\xd0\x55\xdb\x4e\x50\x3e\xc3\xd6\x5b\x70\xa3\xc8\x2d\x1d\x71\xb1\xe2\xe5\x91\xd7\x92\x21\x39\xfa\x6c\x24\x3e\x18\x74\xdc\x7a\x28\xd4\xd1\x24\x8f\xaf\x64\x05\x92\xd3\xee\x8c\xce\xfd\x87\xc0\x43\x09\x80\x6b\xf9\x68\xed\x39\x11\xf5\x19\x30\xb0\x2c\x08\x03\x30\xdb\x1a\x59\xee\x3a\x6c\x2c\x8f\x98\xc7\xb6\xcc\xb4\xb0\x47\x41\xe5\xc2\x61\x6d\x4c\xff\x22\x88\x84\x9f\x22\xcf\x11\x07\x74\xe6\x44\xe2\x07\x53\x5a\x32\x45\xd6\x44\x75\x2b\x88\xc4\x57\x2e\xd8\x33\x39\x37\xee\xa9\x28\x6b\x37\x9b\x52\xb5\xfa\x01\x28\x37\xe2\xdd\xb9\x45\x46\x7f\x40\x20\xa6\x63\x38\x06\x81\x59\x3a\xab\xaa\x94\xc6\x5a\xd0\xe6\xe0\x07\x02\x8d\x8d\x6c\x10\x76\x8b\x05\x71\x12\x9a\xfa\xbb\x40\x72\x0a\x3b\x31\x9c\x50\xfc\x24\x64\x38\x18\xe0\x90\xf4\xf4\x10\x59\x0a\x88\x85\xcc\x2a\xaa\x47\x67\x01\x4c\xc4\xd7\x59\x24\x21\xb6\x6d\x09\xec\xd8\x71\x3c\xc6\x89\xf3\x7b\x53\x33\x10\x1a\xc2\x6f\x4b\x40\xcb\xbe\x17\x6a\x61\x67\x9c\x08\x9c\x57\xec\x84\xa6\xa8\xd1\x34\xa1\x3c\x9f\x10\x52\x4f\xd3\xa0\xe4\xd8\xd1\x1c\x26\x68\x8e\x68\x37\x67\x45\x7a\xa1\xcd\x9f\x15\x07\x87\x94\xfa\x12\x00\x63\x79\x04\x5f\x38\xef\xe3\x08\x49\x9f\x99\x32\x6c\xe2\xf2\x0a\xad\x2e\x0e\x5e\xb8\xc4\x9a\xc6\xe6\x4a\x4f\xfb\xdc\x15\x1f\x44\x07\xc6\xdf\x64\x7a\x67\x45\x4e\xa3\x51\x73\x91\xc0\xd0\xd2\x64\xbf\x67\x21\x99\x20\x9f\x5a\x7a\x1c\xab\x24\xc7\x46\x26\xa4\x57\x49\xb6\x04\x6a\x56\x0d\x5c\xb1\x4d\x1b\xc1\x32\x62\x52\x41\xda\x3f\x8b\x7d\xb9\x1b\x9c\x05\x4a\x4a\xbb\x96\x8e\x5d\x59\xdc\x42\x55\x96\x93\xae\xdd\x8c\x52\x5a\xb6\x80\xe6\xee\x97\xbe\x17\x4b\x16\x09\x01\x4c\xe9\x81\x6d\xdb\x99\x61\x93\x5f\xa3\x8d\x7c\xd3\x3f\x3b\x82\xe3\x9b\xcd\x04\x5e\x40\xc5\x2f\x5b\xee\x2a\x9e\x34\xcd\xbf\xd9\xb2\x66\x21\xda\xc9\xa0\xfb\x30\x9e\x08\x4c\xb3\xab\xfa\xbc\x00\xfd\xae\x5a\xd0\xaf\xbf\x9d\x79\xd5\x82\x3a\xab\x99\xe4\xad\x7f\xa7\x9d\x4c\x28\xfa\xcf\x96\xda\x31\xa0\xb1\xe4\xd1\x98\xf1\x49\x9f\x57\xb5\xa0\x9f\xa6\xfb\x66\x9a\x3c\x99\x6f\x5d\x05\x38\x1d\xd0\x57\xa8\x06\xc1\xf7\x87\xfa\xfd\xa0\xca\xdf\x25\xc7\x67\x89\xd3\x2b\x14\x5e\xfe\x71\xca\x03\x53\xf6\x61\xca\x2f\xb5\xa3\x2e\x4b\x6c\x1d\x3d\x62\x77\x9c\xc5\xbc\x9a\x1a\xdb\xff\xa8\xcd\xda\xcd\x29\x69\x01\x27\x70\x2a\xf3\x3f\x27\x32\x4b\x3b\xa1\xff\xcb\x65\x32\xac\x8d\x34\xb8\x19\x49\x61\x0b\x68\xc9\x7d\xee\xa5\x3a\xae\xea\x52\x9b\xb6\x6d\x89\x1a\xfa\xfa\x6d\xdb\x91\xdc\xbf\x13\xd2\xb1\xa0\x81\x8c\x2c\x11\x82\x86\x2e\x33\x56\xd5\x69\xe7\xfe\xd2\xc0\x7f\x7a\x92\xfc\x55\x80\xe8\x71\xf4\xd9\xd0\x48\xfa\xe1\x62\x2d\xf2\xf0\xfb\x71\x8e\x5e\x82\xf1\x57\x37\x91\x17\xcd\x43\x37\xc2\x9c\xef\x78\x71\x5e\x9b\xe1\x31\xb3\x09\xd1\x4d\x86\xbe\x20\x6c\x7c\x4e\xce\x5a\x02\x65\x1c\x7f\xa8\xf8\xfa\x37\x8a\xe7\x67\x43\x19\x78\xf6\xd1\xae\xaf\x9b\xc5\x42\x30\x40\x1b\x5d\x4d\x3c\xa8\x26\xfd\xdd\xd5\xcc\xe7\xf1\xcb\x70\xba\x16\x34\x13\xd1\x00\x5e\xd4\x3b\x6a\x80\xfb\x7d\xe7\xb5\x7c\xaa\x58\x9c\x95\xee\x6c\x25\xd1\x48\x58\x3e\x89\xe7\x24\xcb\xb9\xf8\x3d\xb0\xe3\xf1\xb1\xac\x62\xf1\x9c\xed\x59\x2a\x12\x5b\xd2\x73\x65\x61\x40\xf7\xcc\x09\x49\x5f\xdd\xf1\x21\xdc\x67\xb5\xc8\x5f\xf1\x23\xaf\xcf\xf3\x17\x32\xbf\x36\x43\xbb\x67\x0e\x39\xb5\xf7\xcc\x08\xf1\xa1\xad\x4c\x8e\x7d\x8f\x07\xec\x18\x0a\xe1\xf7\x0c\x52\x21\xaa\xd6\xe5\x1d\x2f\xb2\x5f\x39\xbd\xe0\x2c\xd8\xbb\x81\xd1\x5f\xb5\x44\x9f\x25\x4e\x67\xa9\x1d\x7a\x2b\xf7\xae\xd3\x93\x6e\x76\x94\xa1\x0b\x24\xdc\x8a\xc6\xb5\xfa\x4b\x73\x39\xe4\xe4\xcc\x22\x0c\x39\xf0\x5a\x9a\x71\xef\x08\x6a\x50\x38\xda\x52\xef\x54\x35\xdc\x5f\x05\x5a\x54\x6d\x9a\x1d\x01\xe5\xf4\x98\x50\x3f\x20\x82\x68\xce\xd6\xe0\x70\xfa\xa6\xab\x02\xfd\x16\xb9\xb6\x61\x85\x44\x66\x3f\x49\xa5\x73\x24\x5d\xc8\xb1\x52\x83\x81\xbb\xc2\xf3\xf5\xbe\xd1\x4e\x38\x96\x6b\x91\x5e\x65\xc5\x95\x9e\x48\x32\x73\x38\xfd\xc5\x4f\x83\xae\xc5\xa6\xb9\xf5\xd3\xc0\xb6\xc5\x07\xf1\xe4\x70\x91\xf6\xdb\xbd\x48\x41\x1d\x80\xb8\xfc\x52\xeb\x59\xe2\xcc\x22\xe5\x6f\xdc\xcd\xf1\x4e\x7d\x77\x77\x5e\xaf\xfb\x22\xee\xaf\x0e\x83\x8c\x74\xb3\xdf\xf6\x60\x51\x31\x4d\x02\x24\x8a\x5c\xc1\xc0\x51\xc0\xb2\x36\xd1\x4d\xb8\x09\xe7\x73\x12\xcf\xd1\xe5\x53\xaa\xe8\x7b\x93\x97\xde\x8d\x91\x0d\xbd\x32\xc2\x65\x9c\x55\xc0\x69\x64\xdb\xa6\xba\x54\xc8\x27\x90\xd0\xa7\xfe\xb4\x2a\x94\x94\xc7\x1b\x48\xdb\x49\xaf\x3d\x0f\xfd\x38\xd0\xe2\x5d\x68\x1c\xfb\x76\xa7\x33\x4c\x95\x18\x09\xec\xa9\xec\x09\x42\xa5\x90\x9b\x12\x04\xc8\xf4\xbc\xe2\x89\x9a\x6d\x9b\xa9\x3a\xba\x33\xdd\xa1\x6a\xfa\x72\xa7\x84\xc4\x9e\xd1\x91\x30\x09\xce\x4e\x9e\xd2\xd9\xf6\xae\x93\x79\x77\xfe\x3a\x30\xf5\xe0\x42\x06\xa6\x3b\xff\x05\xf6\x13\xcf\xe9\x6e\x01\xd3\xce\xfb\x62\x98\xbc\xd6\x03\xfb\xd2\x5e\xcc\x1a\xcc\x45\xa7\x74\x9a\xb0\x69\xc6\xb0\x4c\x3e\x0f\x54\xc6\x09\xd2\xee\x32\x41\x42\xba\x16\x1f\xd8\x04\xa6\x04\x4e\xb5\xbb\xf6\x86\x2b\xff\x6c\x29\x1d\xf8\x71\x00\x91\xa1\xbd\xef\xea\x79\xc7\x4c\x25\x8f\xae\x4b\x88\x41\x7e\x00\x3b\xba\x82\xac\x07\xc5\x5b\x2a\x5d\x9b\xc3\x2e\xca\x89\x93\x50\xa6\xc4\x20\x81\x2b\x22\x27\xc1\x7a\xc4\x7b\xaa\xcf\x56\xe0\x16\xcd\x09\xa4\xf7\x84\x11\x46\xa4\xeb\xc2\xa3\xd1\x05\x43\x5c\x8a\x6d\x7b\x26\x84\x35\xdb\x76\x62\xfa\xc8\x9c\x98\x10\xe0\xb6\x3d\xe3\x32\x8d\x8b\x34\x91\x9f\x0c\x0c\x89\x15\x0e\x1c\xe8\x89\x28\x2a\x3e\xfc\x00\xed\x5b\xd5\x58\x0e\x34\x69\x9a\x07\xe6\x84\x4d\x63\x3d\xb7\x60\xd7\xdb\x44\xf8\xbb\xc0\xdd\xa1\xe4\x77\x4f\x67\xac\x69\x66\x89\x6d\x87\xde\xc1\x7d\xc7\x9c\x03\xec\x81\x61\xf5\x50\xd1\xc8\xe3\x4d\xe3\x24\x1e\x73\xcb\xa6\x89\x89\xe7\x07\x6e\xea\xde\xa3\x45\xb8\x6d\x47\xce\x3d\x54\x32\x67\x4c\x4e\xb7\xf4\x1d\x73\x2a\x28\x08\xc4\xce\x2d\x88\x89\x15\x1f\xee\xe8\xed\x10\x10\xee\x84\x60\x99\xd3\x5b\xff\x0e\x67\xb4\xf2\x0b\xff\x2e\x10\xb2\xe5\xbd\x7a\xca\x09\xba\x35\xc8\xe3\x22\xc1\x7b\xcb\x07\xd1\x00\x3a\xf2\x54\x93\xf5\x55\xb2\xbe\x5b\xb9\x06\xf7\xfe\x9d\xa8\x68\xc3\x91\xd3\x91\x16\x6c\xb7\x90\x91\xf6\x37\x8a\x3b\xb7\x94\x7b\x7f\x71\x12\xc8\x89\xbb\x17\x49\x37\x8b\xb5\x6d\x3b\x89\x7f\x2b\x7a\x98\x8a\x1f\xd1\x3d\xb9\x43\x2b\x1c\x30\x9e\xd2\x57\xfa\x38\xad\x04\x5d\x3f\x71\x2b\x02\xdc\x53\x3d\x48\xa1\x82\x8c\xb8\xda\x3d\x23\x85\x6a\x60\xba\xfd\x34\x44\x8e\x80\x84\xce\x8c\x4b\x11\x2f\xf5\xe1\x91\x8f\xfa\x7a\x81\xbb\x05\xe8\xa6\x4d\x63\x7c\x12\xb4\x10\x32\xb4\x1a\x58\xc1\x1d\x3d\x5e\x10\x8b\x91\xab\xdc\xc1\x6c\x45\x20\xbf\x90\xe9\x2f\x4e\x08\x52\xde\x55\x19\xf7\xd4\x37\x15\x22\xfd\x3e\x9f\xa5\x02\x76\x9b\x26\x9a\x51\x7a\x2b\x48\x8e\x13\xd2\x88\xf4\x90\x76\xa7\xb2\xbb\xb9\x7a\xe8\xa3\x62\x49\x95\x00\x6f\x83\x4d\x72\x93\x6d\x32\xe9\xe9\x1c\x0d\xc7\x9a\xa9\xb1\x92\x3d\xf5\x8f\xcc\xa9\x99\xb3\x27\x10\x11\xa9\x1e\x3b\xa9\xfc\x92\x28\x1a\xb9\xd5\x34\xcb\xb3\x4c\x91\xaa\x88\x1c\x81\xc8\x7f\x08\xe4\x4c\x73\x3a\x9f\x67\x83\x70\x1b\x66\xbb\x5c\xb7\x3b\xd0\x7c\x3d\x32\x27\xbb\x59\xdb\xb6\xec\x06\x3e\x0a\xba\xd6\xe9\x89\xb3\xc5\x9a\xe8\xa0\x02\x8a\xce\x5a\x57\xf2\xb0\x28\x5b\xbc\x90\x55\x7a\xd6\x73\xcb\xb5\xac\xd6\x08\x1b\xa4\x1d\x6a\x22\xe0\x37\x99\x6d\x3f\xf5\x55\x66\x02\xd1\x40\x72\xc3\x65\x6a\xa7\x7a\xee\x52\x91\xac\x92\x76\xaf\x79\x57\x4d\xa1\xb1\x87\x3d\x80\xbd\x1f\x3a\x8c\x74\x6a\x14\xc3\xf9\xe4\x66\x65\x06\x4d\xd0\x6c\xd6\x9d\x2c\x93\xc3\x1e\xd5\xd0\x2b\xb8\xa7\xd6\xca\x82\x8a\x26\xb6\xed\x07\x70\x14\x3b\xab\xa6\xb7\xf0\x20\x50\x0d\xda\xaa\x6a\x73\x5d\x47\xa0\x9c\x3b\x02\xef\xe8\xe3\x9c\x4a\x81\xa3\xf6\xd6\xee\x20\x72\x52\xd3\x2c\xd7\xf0\x44\x1f\xf4\x9e\x14\xeb\x72\x27\x83\x57\x49\x53\x83\x94\x6c\xee\x67\x94\x3e\xd9\xb6\x0a\x34\x95\xd3\x07\xff\x3e\x20\x9b\xfb\xf9\x5c\xe2\x05\xdb\xce\xc9\x69\xdf\x39\x1a\x96\x94\xf9\xfb\xf9\x1c\x49\x66\xe9\x88\x8d\xb7\x23\xe4\xa4\xf8\xb5\x9c\x28\x8d\xac\x68\xe3\x91\xbe\x23\x6d\x84\xea\x4f\x3a\x2b\x45\x35\xb6\x7d\x58\x2c\x20\xb1\xed\x4a\x67\x47\x4c\x74\x98\xd3\x7b\x88\x6c\x5b\x74\xe4\x30\x6c\x2b\x94\x6d\x95\x4e\x05\x47\x6c\xaa\x3f\x01\x3f\xdc\xac\x94\x0d\xd7\xfd\x62\x41\x2a\xff\x3e\x68\x9a\x23\xfe\x75\xc4\x0f\xfd\x5a\x9a\x45\x64\x84\x6c\x8e\x02\x91\x1c\x49\xab\xb1\x43\x06\x47\x02\x77\xb6\x2d\x90\xf2\xb1\x5b\x1d\xdb\x3e\x74\x71\x4a\x04\xe0\x0d\x4c\x0c\x9c\xac\x3f\xc2\x97\x63\x83\x5b\x5a\x13\xa8\xda\x8e\x1c\xa2\x3e\x90\xb8\x89\xce\xb7\xa3\xa9\xb4\xc9\xca\xf2\x69\x5e\x5b\xd9\x28\x60\xe4\x92\xcf\x0c\x4e\x7b\x96\x90\x93\x3c\x3b\x4b\xd1\xe1\xaf\x87\x27\x6d\x4e\xb4\x58\x90\x84\x3e\x31\x27\xf4\xa3\x80\x40\xe2\x3f\x04\x5e\x67\x85\xe0\x72\xfd\xb4\x49\xe8\x67\x0e\x83\xf7\x82\xc2\x09\xba\x97\x74\x07\xed\x94\x19\x06\xce\x59\x7f\x04\x3f\x74\xcb\x45\x3a\x2a\xba\x6a\xc4\x84\xa0\x53\x41\x96\x6c\x9b\x41\x49\xc5\x6c\xa6\x0e\xa3\x45\xd7\x8c\xa0\x2d\xd2\x86\x8a\xe3\xb9\x81\x60\xb1\xb4\x8f\x1e\xae\xe1\x2d\x2d\x05\x0f\x55\x1a\x27\xa4\x04\x34\x3d\xbb\x79\x61\xdb\xd6\xb7\x5f\x8a\xdd\xed\xdc\xe1\x01\x03\x51\xe2\x75\xe7\x54\x20\x7d\x52\x4c\x07\xac\x83\xd8\x21\x1d\x9a\xb9\xc5\x93\x6d\x44\x33\x68\xf4\x47\x7b\x27\x04\xe7\x4e\xe3\x2c\x53\x4c\x50\x6a\xcc\x90\x88\xfe\x12\x7f\x15\xc0\xac\x33\x42\xe3\x9b\x02\x8f\x7e\x07\xda\x39\xe8\x51\xc6\xad\x16\x04\x24\x63\xad\xc7\xd9\x66\xf4\x97\xa5\xe9\x34\xae\xdd\x0f\xbd\x95\x3b\x22\xdd\xd9\x62\x81\xfd\x14\xa3\xcd\x02\x30\x06\x92\xd3\xbb\x01\xba\x14\xbc\xee\x9e\xca\xc1\xf8\x39\x52\xd6\x84\xee\x3f\x38\x26\xed\xf7\x78\xab\xc9\xdb\xb4\xff\xa3\xf2\xf6\xbc\xd5\x04\x37\x83\xb5\x18\x64\xd2\x19\x99\x56\x0c\x7d\x6b\xd9\xd8\xbf\x54\x40\x0b\x70\x7d\x22\xa3\xe0\xcb\x29\x9a\x66\xe7\x30\x28\x09\x71\x12\x34\x40\x02\x0e\xbf\xe1\x81\x49\x80\xb7\x60\x9a\xe5\xd0\x07\xed\xcd\x67\x11\x6d\x94\xa3\xcc\x5b\xd1\xf5\xe2\x01\xce\x4d\x7b\xe8\x6c\x96\xc3\xde\x21\x30\xb4\x78\xbc\xe0\xf2\xb2\xfe\x80\x01\xe9\xb4\x57\xe3\x84\xa9\x76\xc7\xb8\x0f\x0d\xf0\x77\x15\x4f\xe8\x47\x7f\x90\xe6\xf7\x16\x58\x7f\x90\x8a\xa2\x5e\x47\x37\xd2\x10\x89\xfc\x42\x52\x6d\x9a\x3b\x26\xf5\x45\x0d\xea\x46\x77\x3c\x4b\x77\x75\xf3\x98\xc5\xf5\xce\x82\x0b\x67\xd3\x91\x27\x0d\xba\xdc\xb1\xe5\x16\x58\xdd\x11\xea\x50\xdf\xe4\xad\xdd\x17\xd2\x8b\xa9\xb7\xfd\x3a\xb3\x69\x9e\x1c\x1a\x2a\xc6\xae\xd1\x05\xc0\x18\xcc\xd0\xc0\x1c\x77\x82\x85\x01\xfb\xac\xdf\x18\xb7\xcc\xda\x0d\x5c\x95\xbc\x34\xce\xa6\x51\x8a\xb9\xd9\x65\xc5\x5c\x3f\x17\xda\xf5\x0c\x0d\x93\x2e\x2d\x9c\x0a\xc9\x35\xea\x56\x6f\x96\xae\x7a\xf6\xd7\xb3\x3e\xa1\xdc\xb4\x39\x5b\x01\x3f\x0c\x50\x53\xeb\x8d\x66\xdc\x75\xe2\x8b\x36\x74\xb1\x61\x43\x17\x9b\x36\x74\x04\x52\xd6\x3a\x8c\x6c\x0a\xdc\xf3\xb4\xc6\xf8\x89\x87\x8a\xd6\xbd\xf5\x94\x4a\xf2\x2d\xd7\x92\xf1\x18\x0f\x55\xa7\x0d\x2a\x14\x2d\xa3\xb5\x41\xd4\xa0\x90\xe1\xe8\x6a\x6d\x87\x86\xc1\x9f\x7e\xf9\xee\xd5\x97\x65\x44\x6b\xf9\x08\x45\x6f\x02\x59\x77\x8f\x68\x9d\xf8\xa0\x1b\x41\xa4\x33\xc0\x71\xf0\x8e\x5e\xbf\x7d\x89\xa1\x24\xb6\xc7\xe7\xdb\x6b\xef\xc6\xf1\xdc\x97\xdb\xeb\xed\xfa\xa6\x21\xcf\xae\xe1\x91\x5e\xbf\x5d\xfa\x6f\xdd\x3f\x6c\xfd\xed\x12\x82\xe7\xcf\xae\x7b\x45\xc6\x93\x9e\xd7\x2c\x71\x06\xc1\xa8\xc2\xee\x5c\xa5\x58\xa6\x15\x3f\x0c\x0c\x46\x04\xc3\xac\xcf\xfe\x75\x7c\x36\x88\x01\x4d\x2a\xa3\x16\xc9\x50\x78\x66\x0d\x3a\x51\xcf\x90\x8d\xef\x0b\x9f\xc7\xce\xc2\x0e\x3e\x76\x76\xab\x5d\x95\x92\x59\x56\x91\xd1\x36\x21\x35\x53\x3a\x26\xe2\x43\x2d\xf7\xa1\xd5\xc8\x0d\x5d\xc9\x2e\xb4\xba\x96\x0b\x91\x33\x42\x7f\x15\x18\xe7\x3a\x0e\xa3\x96\x5b\x94\xb5\x83\x86\x36\xc4\x22\x20\xd5\x1b\x1a\x89\xa3\xf9\x44\x2f\x43\x48\xa0\x1a\x9b\xea\xa2\x3d\x8b\xe7\xc7\x81\xeb\x07\xee\x30\x8b\xc3\x40\x8d\x20\x9c\x1a\xc1\xd0\x4d\x1a\x43\xde\x1a\xe1\x59\x9d\x13\x1a\xec\x4d\x59\x6e\x99\xa1\x67\x15\x7b\x24\x92\xcc\x05\xe8\x6d\x7a\xf4\x94\x8f\xc3\xf1\x3a\x8c\xe8\x29\x37\x34\xe8\xa8\x6f\xa5\xab\x4e\x0b\x86\xd0\xd5\x79\x18\x70\x3f\x0c\x00\xc3\x11\xf7\xaa\x19\xa5\x18\x34\x0b\xc9\x59\x70\x18\x60\xfe\x5e\x79\x1c\xd3\xb3\x90\xb8\x6b\x4f\xef\x39\x27\x26\x6e\x4c\x50\x21\xab\xd8\x2f\xcc\xac\xdf\xbc\xc1\xdb\x1c\xed\xf8\x5c\x06\x71\x67\x06\x36\x31\xc1\xa3\xd6\x9e\x54\x88\x60\xe4\xb2\x66\x6b\x9c\xef\xe9\x53\xbc\x0f\x16\x5c\x11\x0c\x70\x3a\x75\xf0\x33\x53\x39\xcf\xed\xb0\x6c\xfb\xa1\xe3\x68\x44\x09\xb7\xeb\x85\xf6\x02\x6d\xa5\x31\xf3\x7b\xf8\x55\xc6\x9a\xd9\x1e\x9f\x3b\x2f\xfd\xed\xe3\xf6\xe7\x60\x7e\x43\xfc\xb7\x37\xc1\xf3\x46\xc5\x9f\x79\x8e\xe1\x66\x3e\xa3\x5d\xf8\xec\x69\xc6\x19\xb9\xe4\xc1\xfa\x4f\x6e\x51\xa9\xd9\x88\xa8\xf5\x52\x8a\x88\xab\xc0\xb6\xad\x1b\xf9\xac\xa5\xb2\xc5\x3a\xe8\xe3\xb3\xdd\xd0\x8f\x3d\x5f\x0a\xb5\x78\xba\x1e\xb8\xbf\xea\xe0\x23\x30\x8b\x9a\x66\x16\xf9\x22\xbb\x66\x09\x67\x61\xd3\x84\x4b\x19\x5e\xdb\x73\xc2\xa6\x79\x4f\x14\x7c\x10\xf7\x2c\xa6\x71\xd8\x7d\x43\xed\x8e\x0e\x62\x12\xd2\xf0\x2a\x2b\x8e\x35\x2b\x22\xd1\xe5\xc2\x13\x3b\xd9\x0d\xc1\x8c\x7b\x0d\xc5\x12\x03\xc0\x0a\xc2\x8b\x25\x21\xd4\x66\x47\xb8\x7d\x27\x62\xb5\xe4\xb8\x9a\xf0\x4e\x59\x30\x8a\xd6\xce\x03\xf8\x86\x32\x8e\x70\x74\x95\x15\x57\x21\x19\xe0\x5a\x15\xc7\x99\x78\xea\x41\x8a\x1a\x72\x54\x68\xeb\x16\x01\xa6\x98\x11\xa1\xdb\x6e\x33\xe4\x63\x07\xdd\xc8\x7f\x11\x10\x88\xd1\xd5\xd2\x38\xee\x74\x8c\xfd\x4e\xd7\xb8\xff\x84\x3c\x10\x13\x30\xa3\x76\xd3\x1c\x06\x5b\x84\x32\x30\x9b\x33\x3c\x91\x9c\x41\x31\x5d\x9d\xcc\x3e\x6c\x86\xb8\xe3\x38\x87\x53\x66\x83\xef\x97\x15\x67\xf1\x7b\x4f\xfd\x22\x74\x3b\x05\x71\x9d\xce\x6c\xbe\x37\x5e\xd6\xa3\xe9\x7b\xd9\x3d\x0e\x47\xc3\xf4\x13\x11\x8b\xac\xc3\x7c\x3a\x4c\xa1\x9f\x76\xf3\x99\x71\xb2\x23\x36\x02\xbc\xa7\x85\x10\xad\x05\xf0\x7f\x2e\xb7\x90\x9c\xc4\x63\x73\xa8\xf8\x3b\xc7\x73\xff\x5e\xd4\x59\xde\xa0\x83\xe8\x35\x7c\x41\x4f\x68\x77\x55\xf1\x02\x0f\xa9\xa4\xe5\xc5\x51\x3c\x17\xfc\x09\x0f\x9a\x44\x31\x77\xb6\x6a\x37\x3d\x4a\x8e\xb3\x6a\x3a\xea\xa5\xc4\xc2\xdd\x80\x23\x6d\xa6\xc0\xf0\x10\x81\xc8\x70\x3e\xfd\x1a\x68\x55\xba\x91\xa2\xd4\x08\x88\x97\xb3\xa3\x13\x69\x6b\x27\x25\xb2\xf6\x44\x31\x6e\xe1\x28\x4f\xa9\x2f\x46\x12\xf5\x83\x89\x23\xed\x71\x54\x0e\x36\xc3\x83\xdf\x48\xd7\xdf\x6b\xac\x31\x66\xa4\x41\x88\x76\xec\x38\x15\x73\x5e\x2f\x86\x29\x7a\x9b\x08\x74\x9a\xba\xc8\xc8\x2c\x82\x58\xb0\x0d\x3b\xa3\x30\x32\x2c\xbd\xcf\x02\x93\xc2\xb4\x10\xe5\xe5\x91\x9b\x81\xda\x87\x03\x56\xde\x4e\x26\x5d\x4c\xc4\x8a\xa4\xb4\xc3\xba\x4d\x73\x4e\x1a\x3d\xac\xa7\x8f\xac\x8e\xe0\xe6\xae\x3a\x7d\x3e\x6e\x7b\xb9\x41\xe2\x60\x13\xd9\x76\x24\xa6\x6c\x33\xf6\x53\x4a\x9c\xde\x4d\xfa\xe5\x7a\x6d\xdb\x4e\xea\xa5\xd2\x6c\x45\x59\x88\x8e\x5d\xa9\x2f\x70\x12\x18\x60\x96\x9c\x92\xee\x04\x78\x70\xda\x35\x22\x4a\x49\x7f\xf4\xd1\x91\xd0\x84\xb8\x09\x5a\x0f\xc4\xfc\x69\xd2\x8c\xc2\x9b\x08\x72\xab\x18\xa9\x02\x7d\x71\x24\x32\x20\x3a\x70\xad\xa4\x7b\x1a\x79\x0b\xda\xe0\x2a\xac\x8d\x64\x42\x3d\x98\xa1\x04\xd4\xca\x57\x47\x21\xe2\x8b\x1d\xf4\x59\x9e\x3b\x9a\xc8\xb9\x8b\x75\x0b\x2c\x8e\xa7\x23\x2b\x9f\x5d\x18\xa0\x46\x35\xb8\xdc\x20\xe5\xb5\x43\x40\x16\xc4\x00\xa9\x2c\x8e\x3f\x1f\x5f\x8a\x60\x56\xc8\xe2\xd8\xd1\x71\x84\x47\x31\xf5\xdd\xd1\xbb\x86\x58\x46\x48\x6b\x46\x2c\xfd\x52\x76\x73\xbc\xa5\xd7\xc3\x2d\xdd\x1f\x91\xab\x80\xab\xa7\x09\x0b\x11\x6d\x98\x71\xee\xf2\x19\x2a\xb7\x2c\x93\x62\x29\xcf\x20\x85\xc7\x26\x23\x24\x2f\xe3\xac\x72\x18\x98\x47\x8e\xa4\x2b\x81\x18\xef\x62\x98\xe2\x89\xa2\x18\xa5\xb8\x18\x5b\x7a\xa8\x02\x62\x1a\x06\x06\xb3\xa4\x95\x38\xf2\x52\xde\xb1\x61\xb0\xaa\xfb\xb3\x3c\xff\xe0\x50\x26\x9a\xf8\xad\x22\x17\x5a\xfa\x7d\xe3\x37\xdb\xc3\x09\x10\xb5\xfd\xce\xa9\x1b\x9b\x3e\x8b\xe2\x0a\x3b\x5f\x58\x2f\xf5\xd5\x71\x4c\x20\x68\x9a\x53\x4b\x0c\xa9\x5f\xc8\x40\xd0\xd1\xa7\x0f\xd6\x63\x2a\x0b\x44\x21\x4d\xc8\x26\x35\x13\xea\x6b\xcf\x03\xe9\xbd\xe5\x07\xc0\xcc\x88\x7d\x6d\x3b\x0a\xf2\x2b\x08\x82\xcf\x82\x9e\xd3\x34\x0e\x5f\x8c\xab\x3d\xc2\xfe\xe8\xd3\xc2\x29\x1c\x58\xaa\x7f\x4a\xf0\x84\x31\x42\x26\xe7\x0c\x15\xc5\x78\xd4\xd8\x09\x82\x78\xba\x69\x32\x25\x37\x02\xb5\x7e\x81\x16\xbb\x1d\x6e\xe0\x04\x3e\xef\xf5\x64\x7c\x59\xf1\x77\xbc\x42\x0b\x21\x18\xa1\x13\x4e\x34\x8b\xfd\x15\xbd\xde\xbe\x9e\x5f\xa7\xf0\x35\x3d\x19\xa6\x01\x7f\xee\xf7\xe7\xd7\x62\xa4\xa7\x4e\x69\xad\xf6\xb3\x72\x01\x75\xbe\x42\xbd\x27\x0c\x2d\x73\x05\x9f\x47\x05\xb1\x82\xb0\x2d\x96\x5f\xb0\x3c\x0f\x59\x74\x77\x1c\xf8\xac\x31\x3a\x81\x7e\xbf\xc6\x01\x89\xc6\xdd\x9e\xe2\xb6\xa0\x7c\x1b\x07\x61\x87\x05\x49\xcb\xe8\x8c\x2d\xcb\x22\xe2\x78\xf0\x71\xdb\xd7\x9f\x6b\xe1\x8d\x2d\xf7\x7c\x5f\x56\xef\x6d\x3b\x87\x88\xce\x56\x90\x52\xde\x34\x2b\xe5\xe7\xb7\xeb\x05\xc7\xd9\x6a\xb3\xb3\xed\xe4\x26\xdd\xa4\x92\x0e\xef\xfc\x54\x9f\x59\xe5\xfe\x2a\x80\x5c\x30\xc4\x68\x39\x88\x3e\x7f\x75\x79\xf8\xa1\xf8\x9a\xe5\x47\x4e\x4e\x21\x9d\xad\x15\x79\x8a\xe9\x6c\x0d\x3b\xdb\x76\x32\x2f\xeb\x44\xe7\x5b\x27\xd3\x8a\x5e\xe2\x86\x9e\xe8\xba\x7b\xa7\x0d\x0c\xd1\x7e\xeb\x8e\x9e\x06\x94\x40\x86\x28\xd4\x67\x43\xba\x9b\x9b\xee\xea\xa6\xab\xd4\x41\x30\xc4\xa5\x08\x47\x77\xc8\x48\x1e\x4c\x45\x8d\x8e\xc8\x66\x10\x2f\x3a\xf6\xf4\x19\x85\x6d\xdf\x2d\x77\x4c\x30\x57\x4d\xb3\xd3\x54\xd6\x45\x0b\x4f\xdd\xf1\x9e\x4b\xa0\xb1\x6d\xa7\x4e\x44\x5a\xd2\x1a\x31\xb9\x21\xf6\xfa\x49\x74\x43\x04\xd9\x08\x6e\x31\x0c\xa5\xc9\xe5\x83\x0c\xc5\x36\x71\xb1\xcb\x4e\xd0\x7f\x09\x50\x5d\xa8\xf0\x09\xf9\x4d\x73\x90\x11\x15\x32\x9e\xe4\x7e\x43\xd8\x41\x44\x04\x4b\x41\x76\x5a\xf5\x1c\xc1\x1a\xb7\x93\x93\xdc\xd0\xc8\xb6\x93\xc5\x02\x52\x7c\x4a\x17\x0b\xd2\xca\x6d\xd0\xc2\x98\x85\xeb\x18\x82\xbe\x72\x06\x3b\x64\x56\x66\x8e\x0a\x09\xa9\x55\xf3\x63\x1b\xca\x7e\x24\x3a\x9e\xbc\x6c\x43\xad\xee\x64\xc6\x8c\x86\x8a\x3b\x1e\x66\x9e\xb8\xf9\x66\xb6\x6b\x21\x2f\x4d\x8a\xde\x47\x38\xd3\x75\x84\x4d\x63\x40\x93\xaa\x52\x14\x9a\xac\x30\x43\x6b\x41\xfe\x73\x56\x4f\xdf\x69\x24\xc6\x1b\xd9\xf6\x2c\xc3\xe3\x24\xbc\x35\x00\x42\xea\x33\x08\x25\xe2\xf2\xd4\xaf\x43\xdc\x30\x80\xd8\x53\xe7\x78\x21\x71\x71\xdd\x55\xf3\xa2\x89\x89\x3e\xdf\x2d\x75\xdb\xe3\x1b\x8a\x8c\x72\x53\xbd\x9e\x45\x6d\x87\x81\xee\xcc\x9b\x60\xbe\xe4\x09\xaf\xaa\x49\xc3\x5c\xdf\xb7\x2a\x7e\x2c\xf3\x77\xdc\x02\x2b\x2e\x0b\x6e\x81\x81\x8c\x1c\x4b\x20\x8e\x2b\x89\x1e\x2c\x02\x3a\x6f\x6c\x05\x20\x0a\x62\x74\x4a\xb0\x12\x96\xe5\xbf\x55\xee\x16\x6d\x6c\xb1\x5c\x51\xd6\x59\xf2\xde\x12\xc4\xb0\x4c\x2b\x7e\x3c\x8e\xca\xea\x62\x41\x00\x11\xb5\x0e\xbc\x88\x91\x52\xc6\xf4\x74\xac\x59\x3d\x35\x65\x51\x0b\x2c\x7f\x64\xef\x8f\x13\xdf\xf8\x52\x0c\xcb\xd8\x90\x4b\xd1\x5d\xe7\x6c\x56\xeb\x9d\x49\x38\x75\x40\xc8\x2e\x5b\x8f\xda\xf5\x6c\x1a\x01\xf2\xa6\xd1\x8c\x3a\xe6\x4b\xe9\x50\x26\x96\xbc\xa0\xf8\xd9\x70\x3f\xf1\xd7\x41\xe0\x9c\x35\x9b\xda\x76\x3a\x7d\x4b\xd5\x86\x49\x85\x43\x5f\x9f\x10\x6b\xf7\xd9\x91\x13\xaf\x7b\x74\x88\x1c\x74\xb4\x54\x0b\xa6\x06\x2d\xde\xc5\x42\x08\x46\x5b\x4e\x3d\x4a\x22\x62\x39\x88\x1b\xf9\x89\xbf\x0a\xe6\x96\x80\x3c\x2b\xc0\x76\x11\x17\x46\x7d\xad\xf2\x86\xb8\x54\x5e\x73\xd1\x75\xa9\x15\x58\x83\xc9\xc8\x91\xa4\xcf\x2c\xd8\x22\x7c\xfc\xd0\x8d\x66\x1d\x90\x32\x88\x89\x1b\xb7\x2d\x70\x83\x8e\xc6\xcb\x43\x86\x76\x98\x62\x71\xe0\x7c\x8e\x59\x3f\xc7\x89\xff\x22\x80\x1d\x46\x6f\xdd\xc4\x72\x5a\x69\x2a\x78\x79\x41\x69\xf0\xc1\x9c\xe5\x88\xee\x5a\x08\xfd\xf5\x5b\x16\xf8\x2f\x02\x8d\x18\x20\xf4\x5f\xe0\xbb\x40\x0c\x04\x38\x4e\x48\x30\x71\x23\x03\x9f\x9c\x2a\xee\xc5\xee\xf4\x8e\x1d\xe6\xa7\x69\xb7\xc3\x31\x50\x98\x9e\x31\x8e\xb7\xe0\xa8\x6b\xcd\x38\x70\x3c\xb1\x7b\xdc\xf1\x29\x4b\xed\x15\x44\x67\xf7\x47\x10\xbc\x9a\xaf\x13\x67\x85\x6c\xc0\x9b\xe6\x03\xf0\xc2\x5d\x41\xeb\xd1\xc9\xdd\x63\xae\x01\xd9\x44\xcc\xe4\x34\x27\xdb\x25\x0b\x9a\x2e\xb8\x1e\x1c\x71\x24\x9e\xc6\x57\x7d\xdd\xac\xbd\xb3\x2e\xba\x1c\x7d\x35\x32\x2f\x55\x70\x87\x78\x4e\x34\xe0\x2e\x16\x49\xd3\xa4\x1a\x62\xbb\xf4\xb6\x95\x56\xb3\x78\xe2\x7d\xb3\x46\x19\x3b\x43\xcb\x5b\x49\x85\x38\x81\xdb\xe1\xeb\xdd\xe0\x75\xc3\x95\x92\x39\xf2\xc3\x60\x34\x17\x22\xa9\x9f\x0e\xf3\x4d\xef\x20\xd1\x87\x3b\x41\x42\xe5\x06\x4a\xcf\x37\x90\xc8\x71\x0b\x19\xc1\x01\x74\x91\xe6\xc6\x23\x11\x75\x40\x6a\x6c\x0e\xc5\x5a\x7e\x83\x17\x0b\x4a\x3d\x18\x9d\x64\xdb\xf1\xd3\xb8\x5b\x4c\x43\x56\x8f\xe4\xbb\x9b\xbb\xd6\x80\x45\x7e\x66\x59\xed\xae\x61\x57\xe6\xb1\xfc\x30\x60\x2c\x3d\x55\xb1\xc8\x35\x9f\xbb\xea\xcd\x99\xad\x48\x2b\x8b\x0f\xb2\x63\xd8\x98\xd9\xca\x5b\x2c\x8c\x62\xa8\xea\xc3\xaa\x49\xd3\x38\xdd\x0b\x46\xb2\x9d\x89\xec\xb6\x3d\xc8\x7f\xb3\x6a\x1a\xe7\x9b\xc1\xac\xe4\xe0\x17\x81\xd2\x1d\xd5\x55\x96\xa6\x5c\x85\x1f\xa8\x6c\xdb\x11\x1c\xea\x28\xd5\xb1\xb0\x36\x4b\xc8\xf3\x39\x59\x96\x49\xd2\xa5\x90\x91\x08\xfe\xad\x43\x4e\xb9\x0a\x6f\x3b\x8a\x77\xf9\xe5\x0f\xdf\x29\xbf\xa9\x57\x25\x8b\x79\x6c\xc1\xb7\x30\x5b\x13\x60\xd3\xd9\x65\xb4\x4b\x99\x45\xcf\x13\x69\x47\x0b\x43\x27\x7c\xbf\xbe\x11\xe3\xa5\x83\x6d\x65\x45\xe5\xfe\x90\xf3\x1a\x8f\x8c\x73\x59\xc5\x6b\x41\xd4\xbc\x23\xaf\xdf\x64\x7b\x5e\x3e\xd4\x8e\xaa\x9a\xb8\x4e\x3e\x11\xad\xf3\x72\xef\xcf\xf3\x1a\x5d\x27\x04\xbe\xe9\xa0\x28\xc4\x93\xa3\x11\x64\x21\x3c\xfe\x05\x9d\x8d\x22\x7e\x3c\x8e\x10\x80\x16\x2a\x94\xcd\xf0\x94\xf1\x29\xa5\x11\x9e\x17\x74\x77\x88\xf5\xfc\x35\x39\x71\x21\x3d\x88\xbd\xbb\xbb\xca\x8a\xab\x88\xe8\x66\xb0\xf6\x1d\x44\xfe\x2e\x80\xd9\x0a\x5b\xe8\xfc\x4e\x07\x77\xdd\x89\x0a\x86\xb7\xe8\xc4\xf2\xb6\xbf\xd9\x0a\xcd\x58\x9d\xd4\x73\xfa\x13\x4a\x1d\xca\x98\xb8\xce\x2d\x0d\x21\xbc\x84\xce\x6e\x0d\x5d\x56\x84\x81\xcf\x94\xf6\xbe\x33\xa3\x0d\xd1\x89\x10\x22\x48\xbd\x58\x5f\xb0\x89\x29\x3b\xd0\x9f\x48\x6f\x1c\xc8\x3d\xe6\xde\x7a\xba\x1f\xc4\xcd\xbc\x10\xc3\x15\x08\x04\x97\xb4\x1b\x39\xea\x43\xfd\x25\xab\xd9\xd4\x76\x1f\xaa\x5c\x65\x20\x12\xf3\x7d\x36\x37\xce\xff\x7a\x60\xff\xab\x43\x4e\x4a\x23\x25\x95\xed\x9d\x87\xa8\xd4\x54\xb2\x68\x27\xc8\x2a\xac\xe0\x34\x70\x6b\xd3\xed\x9e\xda\x56\x31\xfe\x4b\x75\x6b\xa0\x3c\x83\x16\x4f\xf3\xbf\x2e\xf1\xe6\xa0\x16\x7f\xe9\x1a\xfe\xaa\xc6\x70\xa4\xe6\x68\xe0\xaf\xe6\xdd\xa8\x77\xfc\xfd\xd9\xcd\xb6\x5d\x39\x87\x75\xc7\xba\x32\xf8\x54\x28\xfa\x16\x51\xe6\x9b\x3d\x08\x94\x01\xff\x29\xa2\xaa\x07\x18\xf2\x3a\x1c\x66\xa2\xda\x2d\xa0\x85\xa9\x09\xc8\xf0\x4c\xb5\x0b\x8e\x1d\x93\xb3\xf2\x11\x18\x2c\x48\x48\xda\x81\xf2\x14\x27\xce\x8f\x82\xa6\x71\x06\xef\x68\xb1\x1e\xb5\x70\xe4\xf5\xc5\x1b\xda\xb0\xc0\x1d\x7f\x2f\x20\x2b\xa1\x46\x71\x1e\x5c\x38\xf8\x4e\xfc\x30\xa0\xd1\x46\x43\xbf\x80\x75\xe3\xc2\x3f\x27\x21\xa4\xeb\xea\xa0\x3a\x08\x8d\x5b\xaf\x62\x79\xea\x94\xf8\xf1\xf0\xde\xaf\x64\x7c\xb9\x6c\x6f\x56\x69\x54\x66\x74\x3a\x18\xc6\x32\x92\x41\x10\x5c\x41\x23\x5b\x90\x5b\x77\x7a\xe8\xe7\xc5\x9a\x26\x9c\x50\xde\x84\xb6\xdd\x65\x89\x3c\x47\x1d\xf5\xa6\x5c\x46\x77\x82\x7e\xef\x2b\xae\x4a\x7d\x2a\x96\xdd\x5d\x7d\x18\xd6\xca\xd5\xc7\x43\xb5\xea\x45\x5f\x32\xf2\x22\x37\x24\xe7\x82\xb5\x79\xe4\x89\x06\xcb\xe6\x52\xa5\xe6\x74\x48\x8f\x88\x7e\x24\x64\xf0\x4d\x30\xaa\x68\xce\xdb\x5f\x2b\x19\x12\x0f\xef\xb1\x93\xa6\xb4\x21\xaa\xb9\x8c\x1e\x8b\xee\x72\x3a\x1c\x02\xe0\x95\x8d\xa9\x17\x53\x3f\x04\x1e\xb8\x4e\x4c\x39\xc4\x34\x96\xa9\x7e\x1c\xb8\xf1\x40\x8d\x84\x96\x8b\xf1\xb9\xe5\xa2\x8a\x91\x9b\xfa\xb1\x1f\x05\x41\x8b\x12\xbc\xd8\x98\x97\xee\xc1\x34\x41\xcb\x18\xd6\x68\x13\xe2\xed\xab\x04\xa5\xef\x88\x55\x43\x09\x72\x94\xb5\x0b\x83\xff\x81\xda\xda\x16\x37\xfc\x2b\xe4\xd0\xfe\x0a\xdf\xa9\xdf\xef\xd5\x09\xf6\x49\x1e\x5f\x3f\xdf\xb6\xcd\xd6\xd7\xcf\x01\x79\x76\x0d\x3f\xd0\x6b\xc7\xff\x6c\xf1\x3f\x01\xb9\x4e\x7b\xbc\xf7\xe3\x10\xf2\xcc\xb5\x3a\x8b\x2a\x2f\xef\x18\xb4\x62\x56\xb3\x85\x35\xef\x23\xab\xfd\x00\xd6\xe2\xd9\xda\x1a\x3b\x30\x47\x63\x93\xa5\x98\x9c\x9f\xd2\x47\xe4\x24\x70\x52\x44\xad\xba\x7a\x40\x9a\x1e\xe1\x35\x62\x09\xcb\x8f\xfa\x75\xed\x5a\x82\x10\xc9\x37\x0c\x8e\x33\x8f\xe6\x96\x7c\x9d\x47\xee\xf7\x3a\x18\x8e\xa7\x4e\xa3\xff\xf2\xfa\x87\xef\x51\xc9\x64\x84\x54\xfb\xce\x80\x6f\x49\x1d\x23\x3a\x0c\x38\x16\xb5\x83\xd3\xb7\x0b\x0b\x7f\xf5\xdd\x52\x7d\xc4\x03\xae\x57\xc6\x5b\x0b\xf1\xb0\x8c\x9c\xd8\xff\xd3\x15\x34\xc8\x75\xd4\x6d\xaa\x2f\xc7\x65\xc8\xe9\x3b\xc5\x45\xa9\x20\x6d\xff\x9a\xac\x56\xd5\xfa\x6a\x5c\xeb\xbf\x2e\x56\xfb\x6a\x50\xed\xf8\xc0\xf1\xac\x91\xf3\x0d\x2e\x88\x70\x4a\x13\xdb\x4e\x0c\x93\xbc\x01\xc8\x48\x3a\x65\xe8\x8f\x91\xeb\xf8\x0e\x11\x4f\x22\x4d\x7d\x12\xe3\x4c\x6e\xf6\x4a\x7e\x01\x4b\xcd\xa2\x80\x95\xa3\xe0\x44\x4f\x51\xe7\xcb\x62\x6c\xd0\xd4\x8f\xa4\xbf\x8c\x78\x58\x16\x6c\xcf\x61\x85\xf6\x42\x5d\xc8\x23\x09\x9b\x52\xe5\x6d\x22\x89\x58\x69\x93\x3e\x25\x04\x7e\x94\x6e\x3c\x7e\x1c\x08\xae\xe3\x15\x02\xc6\xb8\x0b\x20\xd8\x78\xcd\x90\xa8\x87\xf3\x9b\x5d\xe5\xe1\x16\x8a\xd4\x06\x43\x20\x41\x4d\x8a\xb1\xa4\x25\xee\x5f\xc6\x37\x70\xf7\x66\xd6\x66\x17\xa5\xf9\x45\x62\xe0\xf4\x50\x59\x89\xa8\xf9\x03\x66\x62\xe6\xfe\x3e\xb8\x41\x9e\xf8\x03\x79\xe4\xc0\xe5\xe7\xc9\x6c\x72\x63\x4c\x0e\x4a\xd2\x39\xd9\x0a\x0e\x27\x26\x1b\x63\xa0\xb1\x20\x38\x0b\x79\x3a\xd7\x2d\x06\x2e\x44\xdf\x8c\x6d\x9b\x33\x83\x37\x8e\xb7\x2a\xda\x23\x9c\x0b\xbe\xf2\x8b\x92\xa6\x26\x20\x7a\x74\x6d\xf8\xd9\x1a\x28\x58\xef\x96\x41\x02\xbc\x86\xf6\xfb\x07\xfe\xc0\x3f\x4c\x7d\x99\xe7\x84\x14\x1d\xa8\x92\x27\x8b\xcc\x2d\x2c\x62\x41\x4c\x5f\xf5\x24\x36\xb2\x6d\x0c\x17\x3b\xb8\x98\x5a\xe4\x30\x36\xa5\x69\x4a\x11\x11\xe2\x76\x31\xbd\x09\xe0\x0d\x45\x7d\xb8\xed\x98\x9f\x77\x8b\x9c\x50\x3b\x2a\xfa\x20\xa3\x8c\xd2\x62\x89\xb9\x64\x07\xe2\x5e\x5d\xc1\x69\xd4\x3b\x7c\xd2\x62\xf9\x2f\xcc\xf6\x4d\x59\xde\x1d\xbb\xc8\x25\xfd\x04\x15\x4b\xd5\x9a\xc4\x06\x1b\x2b\x2b\x3a\x5d\x22\xa5\x94\x4b\x25\x7b\x57\x61\xbc\x58\xa0\x7b\x9a\x23\x3a\x42\x95\x11\x83\x8e\x15\x6a\x96\x25\xa0\x48\x58\x82\x87\x17\xc0\xb5\x3c\x91\xa2\x2f\xdb\x2c\xb6\x6d\x44\x20\xa8\xdf\x46\x25\x8e\x23\x90\x56\xdf\xd7\xe9\x5b\x65\xd5\xf4\x63\x0e\x6b\xd3\xe1\x3e\xb9\x10\x11\x22\xe2\x6e\xca\x23\x38\x49\xed\xf9\x65\x75\xea\x58\x99\x65\xa0\x46\x3f\xec\x96\x3a\x0a\xe4\x3d\x1b\x63\x54\x39\xb5\x4a\xb2\x9f\x2f\x46\xf7\x99\xce\x0c\x63\x34\x47\x5e\x64\x2a\x26\x10\x04\x32\x3b\x83\xf9\x97\x91\xa7\xd7\x56\x63\xdb\x2e\x16\x3b\xf2\x8e\x22\xd5\xfd\xc0\xee\x34\x4b\xe3\x06\xdb\x0c\xa1\x40\xed\x05\x50\x6b\xc8\x6c\xdb\x5c\x39\xb1\x45\xd1\xc2\xa0\x07\x8d\x7e\xf3\x4c\xc0\xe6\x87\x37\xe0\x64\x25\x51\xce\x59\xf5\xb7\x0f\xd6\xa3\x60\x52\x42\x3c\xe0\x5d\xfd\xe7\x3a\x50\xd3\x53\x65\x0d\x7c\xa8\x20\x90\xb4\x4a\x73\xa1\xdd\x8d\xb8\x46\xdf\x16\x8b\xb8\x69\xf8\x40\x8d\x92\x80\x9f\x04\x62\x1b\x5c\x5e\x38\x8d\x37\x19\x55\xbd\x33\x2f\x6b\x51\x48\x21\xf1\xd3\x00\xd8\x00\x58\x11\x49\x44\x12\xde\x05\x59\x9a\xcf\x41\xbd\x21\x10\x1a\x3e\xa3\x3b\x87\x00\x37\x15\x0c\x4a\xc1\xf5\x37\x7a\xed\xcf\x17\x81\x27\xd8\xbb\xf8\xf9\x76\xd9\x90\x6d\x3c\x77\x3c\xd7\xe7\x5f\x05\xf8\x61\x1b\xcf\x1b\x72\xad\xae\xf2\x81\x9f\xa8\x6f\xbd\x29\x0f\x16\x58\x3f\x65\xe9\xae\xb6\xc0\xfa\xbc\xac\xeb\x72\x6f\x81\xf5\x8a\x27\xb5\x15\xc0\xeb\x4b\x37\x9e\x86\x4d\xc3\xc0\x2a\xca\x82\x4b\xd5\x43\x84\xfb\xc9\x8a\xb3\xe3\x21\x67\xef\x2d\xd2\x34\x33\xc3\x6e\x68\x14\x25\x16\xcf\xcf\xdf\x48\x36\x54\xc7\x1f\x68\x30\x22\x01\x79\x76\x9d\xf5\x87\x8a\x9d\x86\x5e\x5f\x46\xae\x2b\xf8\xba\x62\x29\x3a\x32\x10\x08\xe9\x30\x3e\xfc\xd9\xbd\xe5\xd2\xd5\x01\xa2\xf3\x1b\xcd\x75\x00\xfa\x68\x3a\x00\x3d\x76\xc8\x42\xef\x8b\x61\x9c\x3d\x15\x24\x1f\xac\x3e\x5c\xfe\x38\x8f\x0a\x4a\x2f\xaf\x4b\x37\xbb\x17\x11\xb8\x93\x01\x57\xbe\xc8\xcb\x82\x0b\xf1\x45\xfc\xa2\xf5\xfc\x6c\x45\x46\x6f\x5d\x48\x33\x1d\xa3\x05\xc2\x81\xfb\x82\xbe\x32\xf1\xe6\xe9\xe5\x75\xf7\x6c\xc1\xdd\xb2\x28\xb1\xfa\x2f\x64\x29\x8a\xe6\xe4\x17\x6a\x1e\xf8\x15\x28\xc5\xd4\xdf\xcd\xbb\x3a\x36\x77\x4b\x0c\x98\x93\x15\x9f\x3f\x84\x61\xce\x8f\xd4\x2a\x0b\x95\x82\x77\x03\x63\x91\x7f\xd0\xeb\xb7\x77\xfc\xfd\x35\xfc\x2c\xd7\x75\x5f\x3e\x1c\x79\x73\x28\xb3\xa2\xe6\x55\xa3\xcc\xb7\xf6\xbc\x78\x20\x4d\x94\x67\xd1\xdd\x35\xfc\x22\x33\xaa\x9a\xe4\x15\xb4\xf8\xb7\x7c\xa8\xc3\xfc\xa1\x12\x92\x08\xde\x13\xe9\xbf\x5d\x06\xcf\xf1\xaa\xc9\xa5\xb3\x9c\x93\x86\x98\x96\xf6\xff\x63\x06\x85\xec\x52\x9f\x39\xe6\xcd\x5c\x3a\xf5\x5f\x8e\x14\x21\x14\x14\xe7\xc3\x48\x3f\x4a\x04\x60\xe4\xd4\x0a\xfe\xfe\x1d\x2f\x6a\x7a\x92\x37\xeb\xbb\xa7\x73\xc3\xa8\x41\x38\xc0\xd1\xb5\xc3\xea\xd2\x61\x4d\xff\x91\x5d\xab\xc8\x29\x5a\xee\x3a\x85\x6b\x42\x23\x88\x68\xa2\x53\x80\xd3\xde\xb5\x0d\xaf\x9c\xc1\x9b\xa4\x1d\xf9\x40\xf5\x8d\xd2\x04\x9c\x8c\x56\xb2\x73\x47\xd2\x34\xc6\x9b\x74\xec\x4f\x69\xa5\xaa\x94\xfa\x3a\xfd\x36\xa5\x32\x55\x78\xab\x98\x51\xfa\x77\x3c\xf5\x16\xf5\x68\x25\x30\x8f\xd1\xda\xa9\x96\xa6\xf5\xf2\x93\xd8\xdd\xe8\x26\xa1\x2f\x79\x34\x8e\x1a\x14\x67\x22\x36\x24\x72\x42\x16\x31\x05\x69\xcb\x0a\xe0\x76\xec\x02\x78\xbb\x58\x90\x1d\xfd\xa7\xb4\x4e\x0e\xfd\xdb\x40\x5a\x6e\x94\xf4\x9e\xee\xfc\x75\x00\x07\xea\xec\xfc\x17\x2a\x78\xac\xf2\x9e\x5a\x6a\xf7\x29\x02\x25\x5e\xb9\xac\xfb\x86\x3e\x27\x2c\xf7\x4b\x14\xa2\xa1\xa4\x0e\xf7\xf2\xa5\xe0\x30\x52\x56\xa3\x10\xe1\xe6\xcb\x30\x2b\x62\x14\x4f\x9b\xa6\x84\x8b\x65\xef\x68\x4f\xc0\x31\xfe\x45\x09\x65\x95\xa5\x58\xc7\xbd\x94\xdc\x62\x50\xeb\xe6\x46\xf2\xf2\x72\xb9\x4e\xa0\x57\xd0\xe5\xc3\x3b\x56\xd1\xaa\xf0\x82\x9f\x89\x94\x49\x39\x01\x81\x34\x8e\x07\x16\x71\xf7\xa0\x5c\xc3\x96\x16\x69\x21\x21\xe0\xec\x69\xe6\x97\x62\x7e\xd4\x13\xf5\x03\xd8\x77\xa3\xfb\xa2\x7c\x28\x6a\xba\x82\x5c\x60\xa1\x87\x83\x6d\xab\x87\xde\x85\xe4\x00\x29\x99\x51\x3a\x5b\x37\xcd\xb9\xea\xda\xb6\x27\xd4\xd9\x25\xa4\xa8\xc9\x06\x54\x8b\x8b\xa9\x16\xbf\xba\xc6\x3b\x81\xc6\xd4\x14\x68\x50\x1d\x26\x50\x39\x23\x84\x00\xf7\xf6\xda\x1a\x62\xd4\xe5\xf9\x1c\x56\x70\x47\x5c\xe5\x98\x7c\x87\x6c\x37\xae\x88\xdc\x76\x62\xa0\x82\xad\x9f\xd4\x2a\xfd\xbe\xfd\xd7\xcb\xdc\xb6\x3d\xd8\x8d\xb6\x6d\xee\x24\xc1\x3b\xff\x27\x60\x8b\xf7\x75\xfe\xef\x21\x97\x9c\x3e\x04\xb8\xf1\x6f\x00\xae\x04\x01\x6c\x71\x87\x11\x3a\x06\xb7\x66\x58\xce\xdb\x66\xbb\x5d\x12\x6b\xae\xa1\x68\xbb\x5d\x3a\x9e\xbb\x7c\xbe\x15\x0c\x81\x90\x4f\x1c\xf1\xf4\x8c\x58\xc8\xe8\xd3\xfd\x70\x78\xc9\x62\x41\xee\xe8\xde\x4f\x02\x98\x71\xe9\xd0\x7c\xb7\xd4\xf0\x8f\x96\x18\x72\x65\x31\x5d\x2e\xfd\xce\xb6\x67\x3b\x09\xc6\x77\xcb\x0e\x8a\x49\xd3\xc4\xb6\x2d\xf3\x19\x06\xe6\xd6\xf3\xe7\x96\xbc\x0e\x77\xd6\xa7\x23\x64\x6b\x28\x49\x60\x2d\xc0\xab\x2f\x33\x02\x9b\xc5\x02\xf4\x61\x93\x00\x75\xf9\xd4\x43\x26\xd9\xa4\xb6\x3d\xdb\xf7\x6a\x85\x7c\x59\x73\x56\xc5\xe5\x63\x21\xb2\xeb\x67\x5d\xe0\x00\x1d\xc6\x54\x3b\xa4\x30\x8f\xa6\x1c\x06\x65\x9f\x43\x8b\x2c\xb8\x1b\xdb\x4e\x0f\x5c\x5e\x65\xc5\x55\x46\xf4\x92\x76\x12\x42\x39\x17\xc0\x81\x90\x3a\x5b\x09\x1e\x7b\xa8\x09\xcc\x50\xfb\x20\x6b\xd4\x4d\x80\x21\x60\x58\x12\x3a\x2d\x8c\xa7\xac\xf0\xf2\x30\xaa\xcc\xd9\x0e\xb8\x53\x3e\xf8\x7e\xdc\x34\x79\x00\xf7\xf4\x56\x3b\x62\xa9\xb0\x5d\x9e\xc4\xe9\x6e\x08\x95\xf1\xad\x5b\x34\xcc\xd0\xbd\x19\xb0\xeb\xfa\x32\x60\x0d\xdd\x51\xbc\x2f\x37\x87\x8f\x07\x17\x9f\xd8\xf6\x7f\x8f\xde\x67\xbf\x48\x90\xb8\x9f\x9f\x91\x16\x31\xee\xfb\x5e\xfa\x5f\x5a\xe4\x86\xae\x6c\xdb\xa9\xe8\xbd\xd1\x24\xdc\xd3\xaa\x13\x2b\x2b\xb5\x79\x08\xdc\x51\xa3\xa8\x6b\x91\x97\x2b\xdb\xb6\xca\xc2\x9a\xdf\x43\x48\x43\xbf\x3b\x4b\x09\xbc\x10\xef\xb6\x2e\x96\x72\x21\xef\xe1\x4c\x2d\x13\xda\x76\x28\x38\xb4\xec\xf8\x46\x76\x8d\x72\xef\x85\xfb\x31\x18\x53\x40\xab\x1e\x17\x9b\xe9\xff\xaa\x04\xf3\xd6\xbd\x7a\x93\x3b\xb0\xfa\xcd\x1d\xe8\x4a\xad\x86\x90\x30\x1e\xf2\xba\x33\xa0\x5a\xca\x98\x88\x4d\xe3\xe8\x47\x1a\x0b\x1e\x56\x9d\xfc\x79\x7e\x18\xb8\x03\x6d\x01\xf8\x61\x40\xa0\x3c\xc3\x2a\xf7\x12\xab\xf0\xa6\x99\x95\x7a\xfe\x9b\xa6\x7b\xec\x6e\x82\x8d\x24\xf0\x4b\xc7\x69\xb1\xef\x67\xe5\xb2\x28\x25\xc3\x67\xdb\xa8\xc3\xfe\x39\x2b\xe2\xf2\xd1\x89\x89\x34\x65\xcc\x68\x39\xc0\x52\x4d\x73\x0f\x6a\xc5\xb3\xf9\xbd\xe4\x3e\x52\xd3\x12\x7f\x93\x6e\x46\x29\x07\x89\xf7\x53\x02\x3b\x9a\x6e\x76\x94\x52\x27\x1e\xbb\x01\x61\xc4\x05\x15\x34\xc7\xbc\x7e\x11\x4d\x04\xb1\x2a\xd9\xaf\xa6\x61\xa4\x4d\xba\xb0\x0b\x4e\x4a\x0f\xf2\x9e\x03\xdb\x9e\x89\x05\xfe\xb1\x2a\x0f\x2c\xc5\x00\x92\xaf\xeb\xf2\x70\x10\x02\x20\x51\xb7\x76\x26\x37\x6b\x2f\x73\xcb\x0e\xcb\x8a\xa1\xec\xa9\x23\xe9\x45\xda\x6f\x43\x54\xcf\xfb\xb2\x50\xa0\xe9\x49\x0a\x96\xdc\xb9\x16\x81\xbd\xc0\x55\x3a\x7a\x4b\x44\x60\x4f\xef\x6c\x3b\xf5\xef\x02\xe3\x8b\xe0\x04\xfa\x93\x3c\x27\xc5\x58\xec\x7a\xfd\x07\xa5\xbb\x54\x69\xe3\x19\xa2\x2d\x3c\x2f\xea\x2f\xe5\x2c\x38\x46\x94\x14\x39\x8e\x7b\xb1\xce\x62\xb0\x2a\xc7\x8f\x32\xbf\x18\xaa\x58\xf3\x7f\xa9\xe9\xb3\xed\xfe\x59\xb5\x77\x90\x11\x57\x35\x18\xa0\xf4\x66\x74\x32\x26\x4d\x73\x37\x32\xe7\x88\xfd\x7b\x9c\xdc\x01\x68\x60\x44\xb4\x58\x0c\x58\x20\x5e\xf1\x20\x0f\x86\xe1\x0c\x05\xd0\x7b\x10\x35\x38\x53\x9f\xd4\x2e\xe8\xaa\xd8\x91\x7e\x32\x5a\x3c\x1e\x41\x36\x74\x78\x3e\xd2\x81\x7e\x92\x3d\x39\x86\x7d\xee\xc0\x3a\xf7\xdc\x8a\xe7\x56\xaf\xb3\x74\x0d\x1c\x2e\xb5\x8c\x85\x18\xa8\xdb\xc1\xc7\x7b\xab\xfb\x7a\x6a\x65\x8c\x2c\xf4\xd3\x62\xfd\xae\x90\x1b\x17\x2b\x9e\xdd\x89\xd5\xfb\x52\xf5\xbc\x69\x06\xaf\xa6\x37\x87\xda\x87\xa7\x5d\xd7\x9c\xe2\xaa\x8e\x66\x2e\xb8\x15\x8c\x76\x07\xec\x09\xdd\xf9\xa1\x02\x76\x76\x09\xd8\x4f\x6c\x19\x3d\x54\x62\xc7\xa8\x8e\x25\x4b\x9e\xf3\x3d\x44\xe6\xa6\xe9\x04\x92\x23\x5e\xc6\xae\x2b\xfc\x76\xbf\xe7\x71\xc6\x6a\x3e\x59\xb3\x33\x63\x03\xc4\x28\x98\x4c\xf3\x5d\x5f\x05\xd8\xb3\x06\x18\x2e\x58\x35\xf5\x43\x78\x4b\x53\x31\x6d\xac\x66\x34\xc5\x1f\xe0\xd4\x71\xc6\xd3\x9d\x76\x5c\x88\x3c\x27\x53\xc5\x9b\x26\xd5\x7d\x26\x0a\x9a\xd5\xc0\x32\x43\x73\xcd\xb1\x41\xb5\x9f\xb8\x36\x9b\x46\xfb\xac\xe1\x9e\x02\x69\x4a\x6d\x8c\xd3\x21\xbd\xf1\xf0\xdd\xf2\x50\x1e\x6b\xbd\x6e\xb6\x3d\x7c\x1f\xac\x23\xb0\x1e\x62\xf5\x9c\x5e\x3e\x35\xd1\x61\xc6\xc2\x21\xab\x83\x76\x1f\x92\x00\xe0\x7d\xef\xb6\x9d\x99\x37\x35\xcf\xd8\x52\x46\x01\x6d\x1a\x0b\xa5\x6a\x69\xcf\x8f\x91\x31\x94\x61\xc5\x8c\x2a\xef\x63\x9a\x0d\x3c\x1a\xd0\x37\x4c\x40\x6d\x17\x57\x16\xcd\x88\x26\x2a\x42\x6c\x1f\xcb\xa0\xd2\xab\xcd\x0e\x23\x61\xce\x49\x42\x43\x3f\x0a\x06\x62\xeb\xdc\xba\xb2\xa0\x53\x42\xc6\x3e\xc7\x13\x18\x9f\x07\x34\x19\x08\x3c\x5e\xe1\x70\xe9\x9b\xa6\xdc\xb0\x32\x41\xfe\x95\x77\xb6\xfa\xa4\xae\x32\xca\xba\xab\x8c\x08\xc8\x0a\xbb\x18\x31\x9b\xb8\xe3\xf0\x54\x84\xb5\x93\x58\x75\x37\xeb\x67\x3b\x6e\xbb\x85\xdb\xbd\x0c\xa7\xb3\x63\x63\x5d\x09\x6d\x4a\xbc\x23\x2d\x81\x14\x15\x8a\x87\xa3\x6b\xb1\xbc\xfe\x2b\x7f\x7f\x15\x4a\xfd\xc7\x55\xc4\x8a\x88\xe7\x62\xd2\xae\xa2\xba\xca\xc5\xa7\xc1\xce\xba\x42\x90\xfa\x71\xc7\x8e\xfc\x6a\xcf\x6b\x26\x32\x60\x18\x14\x1e\xab\x0c\xc8\xd5\x88\x64\xb9\xb6\x57\x75\xb6\xe7\xaf\x6b\xb6\x3f\x5c\xbd\xcb\xf8\xe3\xd5\xe3\x2e\x8b\x76\x96\x66\x85\xae\x2c\x02\x49\xf6\x24\x75\xde\x42\x3e\xe5\xef\xd5\xb3\xea\x5e\xb4\x13\x80\xb4\x63\xd5\x17\x65\xcc\xaf\xee\xf8\x7b\xf1\x5f\x3c\x8f\xaa\x18\x79\x62\x1b\x0a\x3d\x1d\x37\x02\x1b\xc6\x7d\x81\x4f\x3a\xcc\xdd\x52\x57\xee\xf5\x8f\x6e\xb8\x54\xad\x10\x60\x6d\x0b\xa8\xf0\x19\xf6\x4b\xc2\xe6\x95\xfc\x39\x5e\x45\x79\xc6\x8b\xfa\x17\xf5\xfb\xcf\xab\x32\x49\x8e\xbc\xfe\x45\xfd\xfe\xf3\xea\xc0\x52\xfe\x0b\xfe\xfd\xe7\xd5\x31\xaa\x38\x2f\x7e\x51\xbf\xff\xbc\xaa\x4b\xa5\xa5\xf9\xed\x21\x99\x67\x91\xa1\xda\x1f\x9b\xd1\x38\xb1\x29\x1d\x2f\x2a\x5c\xaa\x9e\x61\x44\x4e\xbd\xdf\xce\x18\x11\x3c\x41\x39\xbf\x14\x3a\x5a\x86\x65\xfc\x1e\x54\x9d\x7d\x65\x73\x07\x5d\x85\x8f\x51\x55\xe6\xf9\x2b\x9e\xd4\x18\xfa\x8a\x0f\x12\x56\x64\x21\x73\xc9\x32\x46\x2e\x33\x01\x2f\x72\xc2\x69\xe9\x6a\xff\xe7\xa0\xf6\x37\xe5\x61\x50\x39\xbe\x8f\xea\xee\xf3\x18\xef\x2b\xbc\xb7\x05\x97\xba\x69\xba\x9d\x9b\x34\x4d\x07\x00\x6b\x3b\xf1\xd6\xee\x0b\x3b\xf1\x3e\x76\x3f\xb1\x13\xef\x85\xbb\x92\xcb\x9d\x64\x4f\x63\xa3\x23\x66\xf0\xde\x5d\x34\x4c\xd3\x4f\x46\x61\x14\x48\x28\xd3\x4a\x77\x0d\xd7\x3e\x0f\x36\xa9\xb6\xfc\x31\x12\x69\x4a\x7f\xd6\x0a\x12\x79\x86\x6a\xc0\xd9\x3f\x86\x5f\xfa\x7d\xd1\x12\x88\x29\x1a\x80\x1e\x8e\xda\xad\xb0\x3c\x1c\xb5\xa9\x88\xfa\x42\xdc\xfe\x13\x30\x6a\xca\x0a\x89\x20\xaf\x23\xbb\x8f\x10\xb5\xf7\xb1\x1f\x06\xc0\xfc\x28\xa0\x89\x1f\x75\x66\x3b\xac\x67\xd8\xf5\x23\xcd\x09\x7c\x2c\xe3\x29\x4b\x78\x32\xf0\x76\x97\xa7\xfb\x68\x86\x63\x4a\x95\x8f\x95\x97\x76\x2e\x8f\x90\x10\x97\xb5\xa0\x48\xa1\x7b\xca\x4b\x16\xbb\x27\xcd\xa0\xe3\x95\x4e\x32\xa8\xf9\xe9\x4c\x4c\x1c\x1c\x9a\xcc\x28\xfd\x97\x43\xa4\x6b\xa8\xd4\xea\x2a\x7f\xf3\x44\x46\x34\xc7\x3b\xc9\xfb\x43\x46\x43\x07\x61\x69\x8d\x6f\x0b\x61\xfe\x50\xfd\x56\x43\xd4\x6c\x48\x14\x50\xed\x88\xc7\xdf\x6e\xa6\x7c\xa8\xad\x16\x90\x10\x7d\xa0\x21\x4b\x9f\x1d\x58\x54\x12\x39\x15\x5a\x4b\x9a\xc4\x88\xc2\x82\x65\xd5\x71\x75\x14\x83\xa7\x94\xfe\xda\xcd\x5e\xe4\x1a\xf5\x47\xb3\xc6\xd3\x8e\x7d\x5d\x75\x7a\xe9\xc0\x62\x96\x90\xcf\x43\x9e\x94\x15\x97\xf7\xb5\xbb\x27\x93\x2d\x18\x5a\x94\xf7\x5e\xf7\x92\x3d\xb0\x6d\x86\x8c\x4d\x56\xb0\x5c\xdd\x02\xef\x8c\x52\x96\xb2\x75\x54\xd1\x77\xe5\x48\xdb\xb6\x70\xcc\xf6\x0f\xf9\xc0\x4d\x43\x69\xc6\x7a\xe7\x3f\xa5\xc9\x34\xa0\x1b\x22\x90\x7a\x4d\x06\xd9\xf1\xb5\xaa\x01\x83\x3d\x0f\x5a\x75\x4f\x6d\x4b\x36\xb1\x37\xe2\xcf\x1d\xae\xef\x5d\x74\xcf\xf4\xc2\x4a\x9d\xc0\x09\xf0\x49\x29\x04\xfd\xd9\x47\x0c\x57\x2b\xad\x63\x3b\x85\xcb\x99\xf1\xe8\xa4\xa5\xb0\x98\xb5\x29\x03\x62\x31\xf8\xd9\x1a\x2d\x6e\xcf\x6b\x1b\x40\xe8\x20\x62\x85\xcc\xec\x39\xe8\x12\x50\xf7\x61\x18\x06\x13\xa2\x83\x30\xa0\xac\xa5\x50\x19\x26\x9c\x0f\x95\x76\xf1\x9a\xba\x24\x03\xc1\x9e\x7f\x94\xc3\xe9\x17\x59\xb0\xa7\xde\xff\xb8\xcf\x14\x8a\x92\x2d\x42\x28\xb5\xc8\x9d\x51\x22\x84\xca\x8e\xb4\x63\x1f\xa8\x1c\x80\x7e\x6d\x1a\x01\xb0\x8f\x8e\x64\x84\xe5\x59\x71\x8f\xa3\xe9\x6c\x45\xc8\x40\x45\x22\xad\x88\xd4\x9b\x69\x62\x7a\x3e\x42\xf7\x19\x4c\xc9\x19\x98\xfc\x01\x69\xc1\x7d\x06\x43\x00\x38\xf7\x02\x3a\x9f\xf8\xcd\xa5\x59\xfe\x1f\xe9\xc3\x31\xac\xf1\x3c\xc5\x21\x2d\x8c\x98\xfa\xff\xa4\xd9\xf3\x51\xe8\x86\x47\x95\x4e\x24\xe9\xa6\xa7\xa6\xe4\x3f\xe9\xc3\x07\xa6\xd4\xec\xcc\x54\xb6\x0f\x7d\x53\xde\x79\x13\xbd\x6e\xb5\x07\xd0\x09\x09\xae\x98\xef\xca\xb5\xf0\xb9\x7c\xc7\x2b\x4b\xf2\x7b\x39\x67\xef\xb8\x4e\x7e\xa8\x2d\x50\x07\x7e\x2a\xbb\x7a\x93\x05\xd4\x8b\x2a\xa2\x3f\x21\xa6\x1f\x3b\x33\x8f\xe4\xec\x80\x9e\x06\x44\x22\x04\xad\xa9\x71\x43\xc5\xbb\x9f\x79\xed\x44\x20\x8d\x5c\x41\x62\x4c\x83\xf9\xc6\xa0\xb9\x9d\xe8\xa9\x28\x38\x5e\xb0\xcb\xa5\xf5\xbb\x79\x72\xad\x83\x38\x33\xa5\x29\xea\x64\x50\xf3\xf0\x6e\xda\x79\x0c\x54\x99\x90\x40\x84\x26\xdf\xe3\x73\x54\xb1\x3b\xe5\x14\x4b\xda\xdd\x91\x58\x49\x61\x4d\x52\x38\x65\x41\x62\x8e\xb8\x9b\x32\x85\xcd\x9d\x10\x3a\xfa\x34\xd4\x8b\xa0\x9d\xd4\x66\x3c\xc5\x61\x40\x4f\x78\x64\x34\x86\x49\x65\x29\x3c\xe2\x85\xd5\xc4\x76\x96\x34\x31\x5a\x45\x37\x4d\x7c\x7e\x8e\xc4\x00\x6f\x1c\x04\x33\x2f\x38\x5c\xf0\x9e\x73\x81\xa7\xb5\x3a\xfe\x7f\xdf\xf0\x62\xbd\xe1\xde\xa0\x7a\x4e\x5c\x0c\xd4\x7b\x4e\x1e\xfa\xde\x28\x25\xbb\xa8\x80\xb4\x67\x76\x3b\x83\x0b\x3b\xce\xce\x9a\x86\x8e\x17\x7d\xa0\xa6\x33\x93\x90\x10\x25\x8a\xa8\x69\x42\xd0\x0e\xb6\x46\xa0\x7e\x26\x2d\x9c\xcb\xc2\x49\xb1\x09\xe6\xa7\x01\xf0\x61\x38\xa2\x2c\x51\xe1\x31\x22\x29\xad\x50\x1a\x7b\x4e\x4c\x43\x88\x3a\x97\x5d\xa9\x43\x96\x7e\x1b\xe7\x86\xdf\x22\x77\x04\x51\x97\x57\xbd\x1a\x1d\x12\xbc\x32\xea\x9c\x62\xfa\xac\xb3\x87\x9f\xc5\x83\xc8\x54\x86\xc7\x04\xc7\xc3\xeb\x18\xe2\x49\x0f\x2a\x47\x3a\x0a\x31\x02\xc9\xf4\xae\x68\x21\x96\xe7\x83\x89\x3e\x37\x4c\x46\x47\xdc\xda\x37\xe2\xcc\x4c\x48\x82\x2c\x8b\x63\xad\x04\x8b\x21\x52\xb6\x81\x65\x31\xc5\x02\x99\xd6\x42\xc6\x42\x0a\xb0\x2b\x93\xe4\x92\x33\x81\x58\xdd\x0b\x64\xa5\xc3\x1a\xdd\x55\xcc\x26\x2a\x81\xc2\x19\x2b\xff\xe4\x6c\xc4\xc6\x39\x41\xdc\x61\x90\xb9\xb5\xb4\xe6\xc6\x27\xb7\xff\x64\xc4\x59\x83\xb8\xd3\x6e\x41\xad\x83\x84\x4d\xc0\x1e\x46\xab\x36\xa1\x2a\x49\x1c\x0e\x21\x30\x9f\x4f\x46\xb8\xc2\x3b\xe2\x67\xeb\xa6\x99\x08\x86\x1b\xca\xbb\x29\x0c\x18\x41\x3f\x42\xd4\x98\x45\xf4\xd9\x6f\x2c\xd0\xc0\x9c\xb2\x5b\xa1\x33\x2e\xfe\x2c\xb6\xcc\xa5\xfa\x34\xdf\x29\x56\x09\xb5\x46\x46\x75\xca\x55\xed\xa2\xa7\x85\x19\x51\xf0\x8c\x91\x95\xf0\x30\x5b\x75\xac\xbf\xb2\xa2\x62\x8c\x5e\xbf\x74\xbc\x19\xab\x38\x6b\xc2\xaa\x89\xca\xbc\xe1\xfb\x90\xc7\xcd\xae\x6a\xb2\x7d\xda\xa0\x0c\xd1\xe4\x59\x71\xd7\xec\x79\xcd\x9a\x03\xab\xd8\x9e\x38\x8e\xbf\x7d\x74\x83\xb9\x8c\x06\x47\xb6\xd7\x37\xd7\x69\x06\x21\x56\xa6\xbe\x5c\x43\x24\x5e\x1b\xfb\x0f\xde\xf6\x71\xbe\xb9\x86\x58\x36\xe5\x1e\xa3\x2a\x3b\xd4\xcd\xb1\x7e\x9f\x73\xac\x98\x5c\x67\xc0\x19\xbd\x56\x76\x3f\xdb\xe3\x73\xc7\x73\xfd\xb7\x34\x68\xe8\xf6\xf8\x5c\x9b\x03\x2d\x45\xb6\x84\xd1\xeb\xb7\xcf\x9a\xed\xb5\xe3\xb9\xb7\xec\x1d\x6b\x78\xb4\x67\x44\xd6\x78\x9d\x41\x2a\x3e\xd7\xd5\x03\xdf\x5e\x3b\xcb\xe7\xe4\x1a\x76\x22\x61\x7b\x7c\xfe\x72\xe6\x78\xee\xd6\xff\xe2\xcb\xcf\xde\x7c\xb6\xf5\x9b\xc5\x82\x34\x22\x21\xd8\x06\xe2\xf9\x66\x7b\x7c\xfe\xec\x3a\x85\x8c\xd1\x93\xbc\x16\xca\xf5\xd7\x60\xbd\x94\x70\x79\xb5\x7f\xc8\xeb\xec\x90\x73\xfa\x91\x7e\xfa\xe8\xc6\x02\xeb\xe5\xb5\xfc\x7e\x63\x05\x50\xef\x38\x8b\x65\x21\x0c\x81\x2b\xbf\xab\xc7\x00\xa2\x32\x77\xfd\x17\xdd\xc7\x97\x51\x99\xa7\x55\xf9\x70\x90\xd9\xba\x37\xa3\x44\x5d\x0d\x0a\xd4\x61\x19\xbf\x57\x95\xe2\xa3\x99\x35\x76\xfd\x8f\xc7\x59\x5f\xd6\x95\xca\x5e\xdd\x4c\x94\xe9\xe4\x3e\x7f\x05\x96\x05\x96\x15\xb4\x9b\x8c\x2d\xcb\x43\x8d\x3d\xa1\xf2\x39\x2b\x0b\xc8\xd8\x12\x4b\x8b\xa4\x3a\x29\xcb\x5a\x3c\xe8\x1e\xe3\x33\xc3\x8c\xf8\x5d\xcc\x02\x96\xd8\xe1\x6b\xdc\x9b\x2e\xdd\xb2\xa1\x0e\xce\x90\x2d\xc1\xc2\x6e\x59\x64\x20\xc1\x9e\x47\x20\x0a\xcd\xa8\x34\x56\x5d\x59\x44\xde\x77\xae\xd4\x53\xc7\xcf\xdf\xbf\x61\x29\x96\xb5\xb0\xc7\x16\xf1\x57\x01\xda\x80\x18\x36\x69\x23\xeb\xbc\xb1\x99\x9c\x2a\x48\x5c\xd6\x5b\x52\xdd\x0d\xaf\xf9\x40\x3e\xc7\x91\xda\xb4\x4b\xd7\x45\xcd\xad\x6b\x6b\xae\xa4\x26\xa3\xa6\x9c\xf5\x7e\xd6\x29\x53\x91\x0a\xa5\xe2\xb9\x3b\xdd\xf2\x34\x27\xe5\xaf\x03\x57\xcb\x7d\x67\x2d\x98\xb5\xee\xd9\xd9\x15\x50\x10\xf7\xd7\x8d\xc4\x4a\x89\x2d\x2d\xfa\x99\x1f\x05\x60\x49\x93\x93\xaf\xde\xb1\xdc\x82\x59\xd8\x34\xf2\x54\x28\x1c\x7f\x23\x46\xc0\xfc\x82\x4d\xe8\xf1\xa5\x21\xca\xe6\xec\x36\x16\x54\x91\x0d\x0d\x52\x9c\xc4\xb0\xff\x26\x90\x52\xd9\x9f\x10\x12\x02\xb7\x34\xe9\x8d\x53\xb4\xbb\x91\xb6\x11\x48\x7b\x9b\xaf\x4d\x87\xf8\x6f\x55\x44\x34\x31\xd2\x5b\x9f\x07\xe3\xc1\x9a\x04\x34\x04\x0e\x22\x8f\x1f\x05\xa4\xfd\x6e\xd8\xa9\x1d\xfd\xce\xe8\x54\x46\xcd\xb8\x37\x3b\x02\xdf\xa9\x3e\x66\x82\x6f\xea\xa6\xa2\x1c\xdc\x1d\x30\x0d\x83\x97\x40\x53\xde\x3c\x42\x5c\xb6\xc4\x40\x66\x3a\xe0\xda\x67\x79\xee\x9d\x27\x75\xb9\xfd\x09\x9f\x39\x74\x7e\x1b\xec\xa3\x90\x78\x5d\x10\x25\x86\x8e\xa1\xc6\x95\x2f\x87\xd1\x85\x07\x17\xee\x63\xeb\xaf\x4f\x8b\x6c\xfb\x8d\xbe\xe2\x0d\x41\x14\xf5\xe1\xd2\xc6\xb2\xbb\x47\xcf\x75\x8c\x02\xea\x92\x34\x41\x4a\xf0\x5d\x9e\xf6\x9a\x36\x97\x74\x18\xda\x99\x18\xbe\x45\x68\xb2\x79\x89\x4d\x51\xc7\x9a\x6c\x68\xd8\x89\xeb\xf5\x01\xbb\x5b\xf4\xf3\x74\xc6\x06\xa2\x4d\x33\x8c\x96\xa6\x82\x9d\x99\xce\xb0\x7d\x54\x65\x87\x11\x79\xb8\x94\xd2\x92\x39\x3b\x02\x89\xf8\x65\x44\x85\xf9\x4b\xc6\xf7\xee\x1c\x98\x93\xf8\x71\x00\xa9\x1f\x07\x32\x86\x31\x06\xe5\xc3\x2a\x12\x9a\x34\x8d\x2c\x9d\xd2\x14\x1f\x77\x17\x2b\x2a\x06\x15\x21\xa7\x8a\x3b\x70\xd7\xdf\xa5\x83\x3d\x02\x4b\x12\x3f\x8b\x40\x6a\xdc\x8c\xb0\x67\x4e\x0a\xb3\xcc\xb6\x11\x56\xbb\x3c\x04\x76\x2d\x84\x0f\x59\x1e\x6b\xab\xe2\x09\x4e\x52\xe3\x91\xe1\xd5\x62\xe1\x65\xb3\xe4\x1c\x2d\xf4\xe8\x0a\xca\x1e\xeb\x94\x37\xfb\xcd\x5e\xc6\x72\xe2\x94\xf9\xfb\x00\xb8\xbc\x45\x13\xdd\xe5\xce\x3d\xb9\x39\x21\x1a\x76\x73\xe0\xc6\xbd\x3c\x3c\x70\x39\xe9\x58\xf5\x88\x69\x35\x38\x39\xe1\x7c\xde\x0d\xb0\x7b\x78\xc1\x20\x3a\xa5\x4e\xa8\xf0\x2d\x97\xb6\x6e\x82\xe4\x91\xf3\x7b\xf4\x05\xdd\xf2\xd3\xa0\x69\x32\xd6\x99\x0d\x40\x62\xd8\x21\xef\xfc\x75\x60\x5c\xc5\xcd\x18\x58\x2f\x9f\xad\x6f\x5e\x5e\x3f\x7b\x71\x63\x91\xf9\xce\x7f\x11\xc0\x2d\xdd\x09\x5e\xac\xb7\xa0\x4b\xc4\xfa\x6a\x23\xe4\x4d\x3f\xce\xc4\x8c\x73\x06\x09\xbd\x33\x29\x5c\x62\xde\xc3\x4a\x2d\x4b\x5a\x60\xe5\x2a\xe0\x8f\x1a\xe8\x1b\xfe\x84\x8a\x74\x31\x21\x9b\xbb\x51\x09\xe8\x6f\xe6\xe0\x34\xef\x6e\x01\x41\xd7\x9c\xc5\x1a\xe7\x5e\x47\x5c\xc2\x0b\x27\xd0\x4c\xd0\x8c\xb1\x3c\xda\x51\x5c\x81\xff\x70\xce\x39\x31\x60\x30\x43\xd0\x4b\x08\x44\x84\x9c\x6e\x8d\xe6\x13\xff\x56\x34\x9f\xe8\xf5\xd3\x17\x3b\x5a\xa4\x8b\xfb\xc9\xfb\x93\x67\xe9\x13\x51\x9c\xf9\x36\x99\x17\x02\xc9\x43\xaf\x91\x70\x0f\x29\x5d\x6d\x3a\xb5\xb3\x13\x51\xb1\x9a\x04\xa3\x8a\xc9\xf0\xe4\x86\xa1\x07\xe2\x27\x4e\x23\xff\x55\xa7\x25\x44\x5f\x9e\x90\xbe\xea\x3c\xa0\xd5\xed\x0a\xa1\x26\x4f\xbd\x23\x74\x97\xe2\xc7\x81\x37\x12\x07\xf0\x7a\x9f\xa1\x65\x9d\xe8\x6f\xa8\x2d\xeb\x36\x7d\x03\x9d\x6f\x6b\x9f\xd4\xaa\x94\xef\xb4\x57\xb8\xff\x9d\xe9\xe7\x3a\x16\xdf\xcf\x6e\xc3\x54\x93\x38\xf6\xaf\xeb\xbf\xf4\xba\x59\x4f\x06\x94\xc7\x9c\x4a\xfd\x2a\xef\x09\x25\x67\x12\x0a\x52\x78\xcc\xd1\xe3\xc9\xf5\x44\xda\x9f\xc6\x49\x44\x07\xda\x35\x81\x93\xf5\x5e\x6e\xec\xcc\xe3\x87\xb4\x20\x01\xec\xc2\x79\xcb\x32\x2e\xf7\xdf\xb1\x22\x3b\x4c\x86\x2d\xc3\x05\xfb\x5f\x77\x56\x71\x67\xb7\x4c\x9b\x36\x6c\x86\x3e\x0d\x8c\xb4\xad\x8c\xcb\xf8\xff\xa1\x0e\x66\xc5\x91\x57\xf5\xe7\x78\x28\x23\xf0\xf8\x20\x0e\xa3\xe8\xae\x3c\xaf\xf9\x5f\xf6\x56\x1e\x1c\x1a\x51\xa0\x47\x09\xe3\xe6\x3b\xb9\x95\x25\xf5\xc5\x33\xb3\xff\x37\x1a\x1d\xc4\x18\x6e\x2f\xf9\xe7\x9b\xa1\x7a\x99\x57\xf4\xc7\x8e\xfd\x26\x00\x4e\x57\x1b\x75\xbf\x52\x84\xc6\x1d\x04\xef\xc4\x0a\x25\xef\x10\x0d\x58\x85\x0e\x53\x39\x25\x43\xf7\xc5\x68\x18\x32\x1b\xb9\xb4\x0e\xa7\x46\x23\x9c\x2a\x90\xd0\x5e\x16\x35\xc9\xb4\x59\x87\xc2\x23\xda\xa7\x66\xa8\xe0\x38\x8f\x88\xd7\x45\x36\x46\xa3\x29\x35\x0a\xa9\x6e\xf7\xc3\x80\x60\xc4\xa2\x71\x00\x66\x67\x34\x0c\x26\xcd\xe1\xd9\x88\xa0\x8c\x9a\x3e\x67\xd9\x0c\xa7\x29\x1d\xe8\x76\xb6\x76\x99\x0a\x99\x42\x69\xe8\x31\x57\x2a\x36\x30\x80\xc1\x39\x68\x14\x92\xc3\x1b\x3a\xc3\xee\xea\xfd\x64\xcc\xd5\x09\x0c\x27\x37\x87\xd2\x86\xa0\x35\xa8\x94\x11\x0c\xa7\xb7\xa1\x67\xf6\xd9\x6d\xdd\x9d\x95\x61\x47\xf3\xa7\x43\xd5\xdb\xf6\x2c\x36\xee\xc5\x99\x65\xcc\xef\x78\x0c\xf6\x21\x1e\x23\x20\x27\xf3\x92\xf3\x11\x07\x81\xa1\x48\xd0\x9a\x49\x8b\x32\x6a\x38\x91\x1c\xce\x7a\x74\x7f\xd2\x78\xe5\x42\xb9\x72\xa6\xeb\x94\x40\x11\x74\x65\x38\xfd\xb7\xa1\xda\x4e\x1a\xd7\x4b\x04\x87\xbe\xfa\x97\x51\xb2\xea\xf0\x30\x74\xe1\x59\x34\x3b\x43\x09\xf5\x9b\xdb\x3c\x14\x33\x31\xda\xd7\x30\x1a\x0f\x6e\x4a\x15\xbe\x4c\xf5\x40\xb1\x7a\x1a\xcf\x88\x6f\x8e\xe6\x3b\xd1\x1a\x4f\x2f\xa5\xe1\x19\xaa\x08\x33\x7a\x6c\xd6\x6c\x74\x4c\x6d\xf6\xb7\xb3\x47\x47\x17\x6b\xdd\xfb\x11\x90\x33\xca\x95\xc2\xd7\x0f\x74\x78\x54\x41\xe0\x3b\x7e\x99\xae\x20\x1f\x38\x5a\xee\xe5\xf9\x4c\x49\xf3\xc5\x1a\x0e\x78\xb5\x01\xdc\x0f\xc3\xf7\x1d\x50\x5e\xb8\x6f\x9a\xfc\x66\x3d\x11\xd5\xe4\x60\xdb\x33\xd3\x9b\xce\xb6\xb9\x02\xbf\x03\x21\x97\x55\x8b\x5d\x44\xd2\xfd\x92\xdf\x3b\x11\xd9\xdc\x8b\xd9\xf2\x57\x01\x3d\x18\x16\x7c\x11\xc4\x4b\xb1\xcb\x1c\x42\x08\xc4\xc6\xa2\xe1\x0e\x14\xfd\xca\x51\x1d\x5a\x2c\x07\xc2\x83\x42\x9a\xfe\x2a\x18\x61\xb5\x99\x0a\xda\x8f\x66\x44\x06\x4f\x2b\xa3\x8f\xf7\x4c\x6f\xef\xb7\x10\xd1\x98\x80\x36\xb7\x4e\x54\x1c\xdf\x21\x56\x84\x3b\x94\x9c\x3a\x51\x29\xbf\xb9\xdd\xdc\xce\xe7\x64\x47\x23\xb8\x9d\x51\x5a\xa2\x3c\xaf\x31\xc8\x0e\x66\x2b\x3c\xfe\x48\x05\xfe\x95\x1c\x77\x02\x43\x91\x09\x37\x4a\x37\x0b\xfe\x6d\x00\x3b\xb8\x25\xf2\xae\x5a\x69\xf6\x9d\xf8\x49\x7f\xef\xc4\x68\x90\xb2\x8f\x09\xe4\x8c\x88\x15\xdf\xa4\x5d\x7f\x12\x51\x95\x66\x75\x77\x26\xab\x3b\xeb\x74\x20\xbb\xa1\xa6\x65\x40\x24\x32\xd8\xa1\x72\x62\x79\xac\x22\xaf\x58\xfe\x8b\xbf\x63\xf9\xdf\xab\x5c\xe4\xd1\xcf\xf2\xa3\xe0\x32\xfb\x5a\x44\x53\x3d\xbe\xee\x30\xcc\x8e\x81\x65\x91\x51\x50\x58\xe9\xf6\x8f\x07\x72\x72\xf7\xbf\x29\x5d\x4b\x3e\x59\x9a\xbb\x11\x49\xea\xd1\x02\x93\xde\xba\x96\x64\x28\x74\xea\x67\x48\xe8\x2d\xa4\xf7\x96\x46\x14\x9f\xe5\xb9\x6b\x19\x48\x63\xe2\xe8\x73\x14\xc7\x99\x0d\x89\x33\xde\x63\x50\x48\x71\x99\x77\xab\x00\x3b\x9c\x6a\x2a\x63\x68\x45\x74\x87\xf7\x8d\xf6\x3b\x5d\xae\xbe\x58\xf8\xc2\xe1\xfe\x2e\x20\x7e\x18\x38\x51\x7f\x44\x13\x43\x24\x23\xb7\x0f\x88\x99\x11\x9d\x39\xee\x3c\x8c\xef\x19\x54\x6c\x10\x98\xf9\xc8\x9c\x41\x28\xa6\xc2\x89\x46\x12\x67\x48\x34\x3a\x7d\x53\x3a\xd2\x5c\x8e\xe0\x21\x6c\xca\xf5\xe1\xca\x17\xe5\xfe\xf0\x50\xf3\xf8\x75\xfd\x3e\xe7\x18\x92\xe3\xe2\x57\xbc\x68\x9b\x10\x2f\x5e\x2a\x67\x63\x57\x7a\x1f\x8b\x64\xc3\x01\x79\xd3\x47\x24\x45\xec\xe6\x10\x48\xc6\xd7\x14\x4b\xca\x98\x43\x44\x2b\xe6\xb3\xfe\xa4\x00\xef\xc4\x96\x37\x48\x13\xe5\xe4\x2c\xa3\x52\x88\x2f\xf7\x8c\x3a\xf7\xac\x69\x0a\xc7\x7a\x99\x25\x15\xdb\xf3\x2b\xfc\x1b\x96\x55\xcc\x2b\xfa\xd1\xea\xa3\x2b\xbc\xdf\x0c\x9f\xe4\x85\x67\xe2\xf1\xfa\xc6\x32\xa7\x21\x1c\x5b\x12\x12\x08\xe9\x3d\x5e\xdb\x3a\x8a\x02\x0e\xe1\xf2\xb1\xca\x6a\x21\x89\xa3\x13\xaf\x0a\x98\xa3\xbb\x77\xcf\xba\x01\x12\xc0\x61\xd0\x88\x40\xd4\xe2\xe5\x56\x8c\x5e\xbf\xdd\xb3\x2a\xcd\x8a\x6b\x78\x27\x2d\xdc\xb4\x8f\xca\x5b\xc7\x9a\xff\x6d\x6e\x11\xc7\x9b\x1d\x9e\x88\xcf\x16\xbf\xfe\x57\x30\x7f\x66\x81\x95\x59\x04\x1e\xd9\x94\xbf\xe8\xe8\x8a\x16\xd3\x1b\x63\x59\x1e\x78\xc1\xab\xf1\x2d\x2e\x83\x2c\x29\x1f\x2d\x64\x08\x32\x68\x1c\xbb\xf8\xc9\x00\xb3\x27\x76\x49\xff\x85\x87\x26\xdd\xda\xd1\xa8\x69\x1e\x51\xa1\x14\xd9\xb6\x93\x52\x84\x6c\x1d\xa1\x0d\x35\x6c\x4e\x48\x9a\x26\x42\x7f\x19\x91\xc5\x12\x6b\x9b\x22\xd7\x7a\x59\x6d\x86\xde\x2c\x85\x6c\x4a\x5e\x6e\x00\xef\x14\x2e\x4b\x89\x6d\x3f\x30\x7d\x85\x16\xc2\xee\x6e\x89\x10\x00\x9c\xee\x96\xfb\xac\xf8\x19\x5f\x12\xf1\xc2\x9e\xe4\x4b\x9f\x6e\xa4\xea\x72\x34\x05\xd1\xef\x47\x95\x53\xa6\xc5\x66\x19\x0e\x46\xa9\x84\x18\x76\xee\xa9\x97\xce\x2d\xcb\x4d\xcf\x6f\x75\x55\xc1\xe7\x26\x43\xd2\x5d\x31\x7d\xd3\x9c\x19\x55\x4a\x64\xed\xae\x75\xa0\x21\xb9\x70\xa0\xdb\xb6\x63\x87\x7d\x54\x45\xd0\x7c\xc2\x58\x76\xda\x3b\x1f\x92\x0b\x1f\x30\xcc\x8d\x9c\x75\x72\x52\x0f\xcb\x90\x45\x77\x69\x55\x3e\x14\xf1\x17\x79\x76\xa0\x96\xda\x2f\x8b\xb0\x7c\xb2\x20\x19\xf9\xb9\x4f\x17\xb1\xe0\x0e\x59\xaa\x0a\xd9\x06\x04\xb9\x61\x3d\x18\x7d\x68\xaa\x2c\x70\x95\x1c\x1d\x8f\x6f\xf8\x53\x4d\x2d\xb9\xef\xdd\xd5\x06\xd7\xc9\x5d\x6d\xe4\x9e\x77\x57\x9b\xba\x3c\xb8\xab\x4d\xce\x93\xda\x5d\xfc\xe9\x4f\x7f\xfa\xd3\xe1\x69\x23\x37\xe3\x42\x7c\x59\x1f\x9e\x36\x07\x75\x41\xa3\xcb\xc2\x63\x99\x3f\xd4\xdc\x02\x3e\x10\xad\x13\x23\xc8\x66\xea\xf4\x73\xd0\xb5\xbe\x78\xe4\xe1\x5d\x86\x9d\x5e\x1c\xb3\x5f\xb3\x22\x75\x65\x87\x44\xca\x66\xb1\x2f\x7f\xbd\xf0\x69\x3a\x55\xa3\xd4\x30\x2f\xa3\xbb\x41\x6f\xff\x6b\xa3\x7e\xd4\x78\xb1\xfb\x2c\x8e\x45\x05\xe2\x59\x8e\xfe\x93\xe9\x41\x99\xda\x42\xcb\x82\x78\xa4\x2c\xdb\xc8\xa8\xc2\x13\x78\x20\x91\x78\x60\x13\x52\x6b\xfd\x5f\xb8\x51\x97\x75\x79\x80\x88\x5a\x9f\x1c\x70\x95\x52\xb5\x4d\xe2\x81\x44\xc8\x49\x7b\x5e\x99\x61\x3c\x77\x07\xa7\x43\xf6\xc4\x73\x7d\x41\xe6\xc4\x8e\x48\x05\xbe\x6d\x21\x2c\x9f\x5e\xe3\x2c\xfd\xc4\xf3\xec\x42\xfc\xf4\xce\x40\x43\x94\x89\x84\x54\x20\xb3\x7e\x87\xd3\x87\xa1\x35\xc6\xd2\x41\x88\xe6\x43\xbf\x23\x6e\x45\x87\xd7\x46\x0b\xff\x7b\x00\xc1\x00\xe8\x33\x48\x30\xbf\x5d\x48\x9e\x82\x05\x77\xb5\xe9\xe0\x5d\xaf\xfe\xca\x02\xdd\xbb\x7d\x3f\x62\xaa\xd3\x24\xfa\xb2\x56\x02\x0a\x06\x29\xeb\xc3\xd3\x39\x28\x40\x48\x67\x18\x99\xed\xeb\xbc\x64\xb5\x33\x01\x12\x91\x04\x09\xb3\x2d\x72\xb6\xfc\x90\x8c\x34\x04\x10\xb6\x2d\x69\x5b\x74\x37\x3b\x3e\xb2\xc3\x59\xc0\x55\x65\x30\x8b\x9e\x38\xea\x54\x2d\x91\xd1\x1d\x53\x3f\x09\x34\x99\xf1\x93\x00\xfa\x47\x1a\xfa\x49\xb0\xe1\x34\xea\x02\x22\xc8\x30\x4d\x66\x69\x23\xb7\xa8\xa8\x63\x4b\x64\x6c\xbe\x5f\x05\x85\x76\x04\x87\xd1\xe0\x81\xaf\xe3\xcd\x16\x91\xcf\x59\x40\x96\x73\x72\x0d\x9f\x5d\xa0\xd9\xcb\xe7\x44\x93\xea\xcf\xc7\x59\xfc\xf9\x22\x20\x54\xe5\x54\x99\xbe\x60\xf4\xd4\x6d\x4b\xab\xdf\x97\xef\xb2\x63\x16\x66\x79\x56\xbf\x77\xad\x5d\x16\xc7\xbc\xb0\x40\x2f\xbb\x85\xeb\x6e\xb5\xf0\x25\xa3\xa7\x9c\xd7\x35\xaf\x5e\x1f\x58\x24\x56\x1c\x17\xb3\x2c\xea\x9f\x25\xa6\xb3\x3e\x59\xad\xac\x16\xbe\x62\xd4\xb7\x7e\x46\x28\xb4\xc0\xfa\xc1\x02\xeb\xbb\xf2\x57\x0b\xac\xfd\xd1\x0a\x7a\x2c\xf6\xb5\x22\x47\x59\xe2\x84\xd2\x5c\x45\x73\x17\x2a\x68\x55\x88\x77\xfb\x96\x7f\x3f\x1c\xb4\x76\x60\xae\xbd\x72\xd6\x42\x78\x0a\x81\xd3\xaf\xd8\xd0\x34\x9f\x4b\x97\xfc\x90\x7e\xc5\x7c\x1e\xcc\x23\x18\x57\xad\xcd\x75\x7a\xb2\xf8\xe7\x21\x3f\x41\x3f\x53\x7a\x8a\xb0\xbf\x0f\xd1\xc3\x6b\xc8\xf7\xec\xc9\x59\x41\xec\xaf\x83\x85\x13\xa1\xcb\xc4\xdc\x89\xa5\x73\xff\xe1\xc9\x22\x6e\xd8\xd7\xf9\x0d\x33\x8d\xc5\x34\xdf\x9e\xd0\x08\x3d\x5b\x3d\x45\x2a\x2c\x57\x93\x1a\x8b\x78\x9f\xb8\x96\xbc\x0d\x17\xc3\x36\xad\x31\x46\xf8\x6a\xf3\xc9\x4d\xb2\x49\xe6\xf4\x05\xb1\x24\x94\xab\xb3\x47\x27\x9d\x77\xa1\x76\xa2\xf9\x4f\xe8\xa2\xbf\xc2\x7b\x58\x62\xcf\xe9\x2a\xd5\x79\x17\x7d\x58\x1e\xb5\x55\xad\x41\x19\x5d\xf7\xec\x3c\xbf\xea\x28\x66\x9f\x5b\x3f\xcb\xeb\x7a\x65\x31\xe2\x9a\xbd\x98\xaa\xb9\x4f\x9c\x9d\xf5\xfa\x83\x35\x77\xa7\x78\xfd\x8c\x7e\x3b\x5a\x25\x91\x93\x9a\x33\xc6\x96\xd2\x7b\x08\x6b\x72\xf5\xdb\x37\x08\x98\x90\xd0\x47\x75\xb4\x68\xf5\x34\x6e\x10\xaf\xa8\x43\xef\x96\x90\xcf\x13\x64\x38\x56\x37\x94\x37\x8d\x44\xea\xea\xe2\x37\xaa\xb8\xcf\x84\x80\xb3\xba\x31\xbe\xe2\x69\x89\xde\xe2\x82\xa3\x7c\xd7\x1f\xc6\xe9\x9d\xbe\x89\x69\x6a\xdb\xce\xdd\xf2\x8c\x96\x38\xa4\x69\x38\xaa\x1d\xfb\x0a\x38\x35\xd0\x1f\x27\x4d\xb3\xea\x82\x0b\xce\x35\x7c\x09\x6e\x74\x0a\x9a\x20\x86\x84\xcc\x05\x58\xf6\x33\xf8\x97\xb1\x25\x84\x3a\x24\xc2\xfb\xd7\x56\xc8\x40\xab\xad\xb4\x53\x57\xcd\xc4\x78\x40\x04\xb1\xec\x94\x6d\x63\xa8\x2a\x15\xca\x26\x06\xab\xcc\xe3\x4e\xc8\xc2\xe0\xa8\x12\xa9\xab\x34\x08\x3d\xcc\xdf\x34\xbd\xdc\xd4\x34\xce\x28\x17\xed\x2e\x53\x1e\x7d\xb0\xed\xd7\xd2\x8b\x58\xb5\xd9\x19\x75\x9a\xcd\x42\xcd\x9c\xb8\x3b\xac\x27\x44\x06\x7a\x7d\x8d\x41\x43\x75\x44\xaa\xc8\xb6\x79\xd3\x48\x7b\x8a\x51\x69\xee\x45\x4a\x64\x8c\x0d\x79\x91\xa8\x9b\x52\x53\xf4\x71\xbc\x30\x13\xa1\x6d\x77\xc3\x3a\xeb\xb9\x35\x91\x3a\x31\xf4\xd0\x53\xf3\x63\xb9\xb2\x2e\x32\xbc\x9b\x4c\x9f\xfd\x1f\x8f\xca\x99\xa9\x14\x58\xb7\x7e\xef\x9e\xce\x43\x0a\xe3\x61\xba\x32\x5f\x40\x10\xb5\x54\xe6\x4e\xfe\x55\xb1\x4f\xad\xb5\xe5\x46\x6d\xdb\xb6\x10\x1d\x8f\xdf\x3f\xec\x43\x5e\xb9\xa7\xa8\xcc\x1f\xf6\x05\xfa\x99\xba\xb3\x15\x24\x59\x9e\xff\xa0\xda\x12\xaf\x39\x7f\xfa\x73\x55\x3e\xea\xe7\xd7\xbb\x2a\x2b\xee\xf0\xad\x47\xfd\xb3\x15\xe4\x59\xc1\xbf\xe9\xde\xca\xbe\x02\xc9\x27\xe0\xc3\x61\xc7\x0a\xbc\xbc\xf1\x31\x8b\xcb\x47\x7c\xfa\xf5\x5b\xbc\x06\x4f\x3c\x95\xe5\x1e\x3d\x98\xa2\x23\x9a\xda\x1f\xdd\x93\x95\x08\xf0\x17\xa0\x7d\x3c\xe2\x4e\xb0\x5a\xc0\x59\x9c\x38\x9a\x97\xd6\x9a\x1f\x8f\xec\x17\xfe\x7b\xf4\xce\xb4\x14\x61\x9c\xe2\x8f\x63\x03\x67\x63\x61\x32\x94\x88\x02\x3b\xe5\xef\x02\x0c\xbc\x6f\xbc\xd3\xaf\x19\xaa\xa5\x04\x82\xc1\x0f\xd2\x69\x2d\xc4\x1b\xb0\xba\xd7\x5d\x00\x46\xe8\xe5\xd4\xb6\xad\x94\xd7\x56\x56\x5c\xa5\x46\xc4\x4b\x87\xd3\x54\x85\x28\x9c\xad\x21\x26\xc4\xe3\x6e\xe6\x87\x81\xeb\x24\x5d\xf8\x5b\x23\x22\x2e\x4d\x10\xf1\x7c\xae\x68\x56\x44\xa4\xc1\xa6\xc3\xfd\x75\x30\x5f\x93\xe7\xdc\x7f\x11\xcc\x0d\x3c\xa2\xf1\x9d\x90\x5b\x13\x6a\x15\x08\x00\x16\x01\x79\x12\x12\xd9\x76\xa4\x88\x86\xfe\x34\x43\x2f\x40\x2c\x26\xa1\x45\x0e\x3f\x9a\x53\x24\x7a\xe7\xe2\x93\x80\x67\xb9\xd7\x57\x68\xa3\xd6\x05\xe8\xe8\xc5\x27\x0b\xe3\x55\xf9\x61\x40\xad\xac\xd8\xf1\x2a\x43\x03\x0d\xdb\xb6\x8e\xa3\xf9\xa0\x78\x4a\x9d\xaa\x30\xbc\x62\x91\xbb\x92\x51\x27\xeb\x12\x09\xcb\x97\x1c\x9f\x26\x57\xf8\x3f\x58\x57\x05\x09\xbf\x67\x75\x87\x4b\x6a\xae\xe4\x0a\xfa\xfe\x76\x91\x32\x15\x29\x89\x09\x62\xab\x6a\xcf\x72\x15\x45\x13\x79\x96\x2f\x19\x66\xfa\x12\x2f\xae\x91\x28\x32\x6a\x9a\xc8\x73\x92\x21\x5d\x90\x06\xb9\x2b\x69\x97\xf3\xfd\xc3\x9e\x57\x59\xe4\x24\xc4\x4b\x9a\x66\xe5\x72\xe2\x72\x43\x9b\xe9\x5b\x52\x24\xb5\x40\x51\xce\xe0\x4c\xeb\x68\x0c\x8f\x8e\xf1\x8c\x69\x4a\x1d\x79\xbf\x2a\x02\x77\x1e\xf2\x8f\xd8\xb6\x74\x6e\x32\x28\xb2\x27\xb9\x6d\x87\xc1\x17\xc6\x35\xe1\x5d\x75\xdf\xea\xb9\x68\x89\xdb\x3d\x77\x8e\x78\xc7\x89\x7e\x48\xaf\xb6\xd8\xb6\x91\xb2\xeb\x05\x45\x66\x2e\x82\xd8\x53\x14\x32\x86\xdf\x47\xf0\x39\x01\x4e\xdc\x95\x76\x00\xd0\xb3\x30\x90\x63\xde\x33\xe7\x6e\x39\x21\xd2\xc1\xe4\x21\x5f\xd8\x8f\xf8\xd4\x71\xd2\x59\x21\x90\xe4\x42\x33\xd4\x4f\x0c\x7c\xa6\xd9\x2f\x19\x79\x31\x30\x02\xa8\x75\x7e\x37\x52\xe2\xb2\x2c\xd0\x92\x96\x65\x81\x92\xbe\x14\xe7\x74\xae\x3e\xee\x16\x92\xcd\xc5\x52\x4a\x1b\x09\xd7\x3c\xfa\xd0\x8c\x80\x34\xb2\x3a\xb5\x02\x21\x9c\x85\xda\xf6\x22\xc3\xcd\xda\xf5\xa3\x60\xf3\x89\x32\xc2\xe2\x3e\x9b\xff\xe4\xc7\x81\xa8\x3e\xf1\xe3\xa0\x69\x12\x3f\x5e\xbc\xc0\xdf\x95\x21\xde\xb4\xf0\xc0\xfa\xdb\x5d\x9d\x51\xcf\xc4\xde\xa6\x7f\x66\x64\x6c\xb8\x31\xde\xd1\x97\xcf\x35\x47\xba\x40\x31\x10\x41\xba\x55\x28\x7f\x1d\x20\x5e\x07\x2f\x90\x7c\x20\xef\x43\x79\x71\x45\xe2\x13\x3f\xf4\xd3\x20\xe8\x00\x44\xbc\x49\x14\xdc\xc7\xf2\x1f\x98\x88\x60\xa8\x7b\x43\x13\x08\x78\xe0\xa0\xd1\x6b\x0b\x6c\x32\x44\x31\x69\xe1\xb8\x2b\x1f\x27\x94\x07\x7f\x51\x46\x0b\x78\xb6\xb6\xcb\xe2\x29\x05\x83\xca\x43\x5a\xa8\xcb\x34\xcd\xa7\x42\xa2\x5a\x61\x59\xe6\x9c\x15\x66\xc8\x69\x15\x74\x5a\x34\xac\x6e\x93\x5a\x8a\x06\xf4\xf3\xd8\x9a\xe5\xb5\x6c\xc4\x93\x17\x67\x13\x5d\x4e\xbf\xca\xa2\xed\xf0\xe2\x97\xbf\x0e\x24\x1e\xad\x0f\xe1\x8f\x57\x7f\x65\xbd\xfb\x20\x5e\x82\x6e\xe4\x6b\x8b\xe5\x9b\x47\xce\x0b\xfa\x57\x06\x66\x3e\x7a\x32\xee\x1a\x77\xff\xca\x40\x94\x9b\xf0\xc3\x81\x44\xd9\x42\xf0\x9c\xef\xb5\x53\xe6\xa1\x2a\x0f\x34\xd2\x9e\x09\xc7\xac\xc0\x7b\x15\xad\xe3\x23\xee\x75\xe9\x12\x81\x46\xd9\x47\x1a\x6a\x9f\x37\x56\xd5\xda\x92\xe4\x51\xdd\x44\x80\xde\xc9\xb2\x92\x22\xa6\xb1\x7c\x7c\xc0\x4b\xdc\x35\x14\x2b\x82\x18\x05\x9e\x60\xe1\x04\x39\x6c\x21\x7a\xa8\xce\x0f\x80\xe5\xd8\x0e\x12\xea\xbb\x4e\xf6\x3e\xe3\x82\x2b\x49\x79\x2d\xcd\x62\x95\xbd\x91\x59\xa6\x0f\xd2\xd3\x7d\x6f\xa1\x7a\x98\xb8\xa1\x0a\xa2\xdf\x6a\xcc\x9c\x80\x65\xfc\x50\xa1\x9b\x9f\x72\x8d\x2f\x8f\x54\x50\x44\x39\x6b\xbe\x31\x83\x81\x36\x22\x19\x17\x7c\xce\x60\x05\xeb\xe9\x6f\xda\xab\x1e\x6b\xd5\x46\x28\xe5\x23\x75\xf4\xac\x2e\xfa\xd9\x27\xcf\xc3\x79\xff\x36\xac\xef\x58\xf3\x83\x3a\x93\x37\x93\xfa\xb3\x49\x19\xe4\x45\xd7\xaf\x2f\xbb\xb6\x6d\x8c\xc5\xea\x45\x5d\x00\xf1\x4b\x93\xda\x7d\x97\xb7\x3b\xb5\x70\x06\xb3\x06\x68\x9a\xdf\xc0\xac\x8f\x9e\x3a\xbf\x81\x11\xe1\x54\x6b\x33\x0e\x3d\x21\x7a\xed\xcb\x0a\xd0\x12\x5f\xbc\x6b\x01\x43\x5d\xd4\x66\xa4\xe9\x9c\x9e\x13\x6a\x1c\x25\xc7\x2d\xd3\x41\x08\x52\x42\x2a\x61\x0f\x75\x29\x18\xb0\xd0\x0b\xdd\x15\x71\x87\xcd\x8c\x49\x29\x9e\x33\x3e\xe1\x74\x76\xf5\x9f\xa5\xe0\x45\xf1\x83\xde\x39\x13\xdd\x33\x18\x27\x55\x6e\xc8\x1f\xa9\x44\xd2\xa3\xcc\x41\xf7\x05\x8b\xfe\x38\xc7\x0b\x40\xeb\x71\xaf\x91\x7f\x7f\x6c\xbb\x85\x51\xeb\xd7\x85\xb8\xa0\x13\xc9\xaf\x78\x52\xa3\x27\xe3\x30\x36\x94\xec\xb1\x29\x0d\x60\xc2\xc0\x26\x69\xaa\x71\xed\x06\x8b\xe8\xe4\x24\x88\x38\xab\x26\x2f\xea\x6c\x01\x11\xcd\xc4\xb7\xe5\xa7\x0b\x54\x23\x45\xe5\xd1\x61\xcf\xf1\xf1\xc7\x6f\xc9\xf5\x0b\xac\x39\x79\xa2\x67\x40\x07\xdd\x4a\xd0\x93\xba\xc0\x83\xc1\x77\x0c\xbe\x67\x32\x5e\xae\x24\x01\x8d\xc0\xce\x8d\xc0\xc9\x78\x61\xc7\x58\x09\xe8\xb9\x4a\x0f\xd8\x10\xad\x33\x94\x47\x7c\xbd\xe2\xf0\x47\x46\xaf\xfb\xe0\xd3\xcf\xae\xe1\x6f\x8c\xfa\xff\x60\x01\xfc\xc4\xe8\xc9\x7a\x6e\xb9\xfe\x25\xa7\x2a\x6d\x67\x2b\x70\x78\x1f\x5b\x5e\xa2\x4e\x4e\x7f\xe8\x14\x69\x90\x08\xb6\x96\xfb\x1f\x07\x23\xd4\xc9\x7a\xd4\x09\x29\x1d\x7d\x92\x7a\xb5\x19\xca\x38\xf3\x98\xd8\xb6\xae\x50\x82\x7f\xa4\xe0\x87\x10\xd8\xd1\x35\x64\xf4\x05\x12\xfd\xd4\xb6\x53\xff\xe3\x40\x14\x53\x56\xd0\xe2\x15\xb8\x20\x02\xa8\xea\x98\xc7\x4d\xb3\xde\xc4\xe5\xd5\x8e\xee\x9a\xc6\x5a\x7e\x6a\x41\x7a\x4d\x77\xa0\xe1\x52\xd7\x0b\xe9\x3c\x21\x4a\xad\xb8\x13\x92\xd9\x4e\x8f\xed\x3a\x56\xb7\x8a\xef\x6c\x7b\xb1\xc8\xfa\x4b\x1f\xd4\x39\xa3\xa4\x27\xf3\xb4\x69\x44\x5b\x2b\x88\x14\xdd\x80\x08\x69\x89\x90\xcd\xbc\x74\x3e\x90\xd1\xdc\xb9\xf8\x4b\x20\x6a\x03\xe3\xa8\xf3\x35\xeb\x49\xbf\x71\x53\x99\x19\x84\x5e\xc7\x18\x6f\x09\xbc\x62\x54\x39\xf9\xf7\x4a\x9f\x37\x43\xc7\x14\xc9\xe9\xa9\x73\x29\x26\x95\xdb\xa1\x54\x37\x2a\xbe\x8e\xbe\x58\x84\x24\xa2\x82\xb1\x03\xee\x6b\xcd\xe0\x3c\x0a\x28\xf7\x7b\x1d\x5f\x14\x50\x66\x5c\x88\xee\xf0\xa5\x12\xf7\xa9\x56\xea\x0b\x26\xab\xef\xc6\xdf\x3b\xed\x5d\xc7\x74\x02\xa7\xce\x4f\x0c\xa5\x28\x3f\x20\x3a\x20\xcb\x4f\xcc\xb7\x9e\x5b\x01\xc1\xeb\x6a\x7b\xcb\x86\x4d\x8a\x7a\xd0\xb9\xbc\x4d\x86\xfb\x49\x20\xb1\x7f\x24\x78\xac\x4e\xc1\x66\x28\x75\xff\x31\x7d\x48\xac\x23\xc3\x4a\x83\xa3\x3d\xc5\x30\xab\x5a\xc2\x3b\x0c\xf4\x04\xaf\x05\x9f\x78\xdf\x5d\xdc\x60\x25\x4f\x62\xa3\x61\x90\x70\xdc\x2c\x4d\x83\xf6\x34\xc3\x1b\x13\xf0\xda\x07\x90\x08\x7e\xb7\x7c\x28\xf0\x63\x8c\xd6\x2a\xfa\x05\xaf\x70\xdb\x19\x77\x19\x80\xf9\x62\x86\x9c\xef\xcb\x34\x4d\x26\x18\x2e\xe8\x53\xe6\x73\xc8\x97\xf2\xf2\x55\x13\x1c\xa6\xd2\xfa\x42\x8b\x05\xf4\x17\x41\x60\x57\x3b\xc3\xb0\xdd\xf0\x72\x05\xbc\x92\xed\xcc\x0e\x52\x4b\x8f\x59\x71\x15\x36\x8d\x12\x21\xf1\x6c\xc3\xb6\x9d\x68\x59\xbe\xe3\x55\x92\x97\x8f\xd4\x2f\xbb\x67\xe8\x1f\x7f\x31\x9e\xff\x19\xc0\xed\x44\xac\x78\xb8\xa3\x9d\xde\xee\xd6\xeb\xa6\xde\x54\x34\x36\x4d\x2d\x64\xf2\x4e\xe7\xe7\xde\x82\x92\xaa\x44\xa1\x3b\xad\x96\x33\x25\x3d\xa9\x42\x12\x7d\x2c\x7b\xb5\xe3\x40\x12\x43\x9b\x52\xdd\x37\xcc\xd7\x8d\xa5\x3b\x0d\x99\x9a\x5a\x23\x5f\x5f\xde\x5f\x05\xe6\xa8\xcd\x2f\x6b\xf3\xcb\x3f\xcd\x2f\x2f\x82\x56\xa9\x1d\xd5\x4d\x62\xa8\x6c\x0e\xc5\x2e\xfc\xbe\xf3\xcd\x40\x15\x97\x3a\x97\xc7\x4f\x88\xde\x2c\x49\x07\x50\x77\x00\x9c\x52\xea\x1c\x3c\xd1\x6b\x6e\xb9\x96\x04\x59\x2c\x27\x9f\xe5\xe5\xa4\xb3\x7b\x23\x06\xc9\xbd\x1f\x07\x24\x2a\x8b\x3a\x2b\x1e\xf8\xe6\x40\x67\xab\x76\xef\xc7\x01\xbd\xb7\xed\x7b\x14\xeb\x7a\x19\x27\x56\x91\x6e\x6f\xf5\x35\x48\x13\xf7\xa5\xed\x09\x31\x16\xc4\x31\xd6\x73\xbc\x70\xc3\x15\xb9\x95\x7e\x2c\xa7\x7b\x4f\x4f\x79\x56\x5c\xdd\xdb\xb6\x73\xa0\xf7\x4b\x99\x42\xdc\x7b\xf3\x9a\x14\xbd\x25\xe1\xd4\x12\x48\x30\x90\xac\xcc\x47\xff\xff\xcc\x7d\xdb\x93\xdb\x36\xba\xe7\xfb\xf9\x2b\x24\x8c\x97\x45\x58\x68\x49\xed\x49\x6d\x9d\xa5\x06\xe6\x26\x8e\x73\x99\x63\x4f\x2e\x76\x76\x32\x23\x73\x52\x00\x09\x4a\x54\xab\x29\x59\x94\xba\xdb\x69\xea\x7f\xdf\xc2\xf7\xe1\x46\x8a\xed\x9c\x79\xd8\xaa\x7d\xe8\x16\x09\x82\x20\xee\xf8\xee\xbf\xf1\x9e\xb2\x7d\xaa\xcf\x5e\xcb\xbb\x6c\x11\xc0\x33\x74\x2a\xd6\x4f\x2d\x2b\xc3\x2e\x9f\x23\xc9\x16\xc6\xe0\x75\x3b\x00\xec\x9a\x7a\x98\x6e\x69\xc8\xff\xdd\x2e\x65\x46\xcf\xc1\x28\xde\xd2\x15\xff\x45\xc4\xfb\x54\xf7\x63\x32\x67\x05\xdb\x52\x06\x4f\x3e\xb6\x6d\xac\x13\xf9\xca\x10\xbc\x7b\x7d\x74\xc0\xe9\x60\x53\xcc\x6f\xa0\xe3\x28\xda\xd6\xae\x40\x40\x08\xbe\x4e\xe6\x1d\xcf\xbb\xbf\x0f\x39\x21\x42\x6d\x72\x54\x82\xc1\xe6\x19\x0a\xc2\x72\xe0\x84\x71\x26\x81\xef\xa3\xe7\x98\x4b\xd4\x68\x94\x7a\xce\xe2\x43\xae\xd9\x7a\xca\x72\x03\x0c\x29\x74\xf5\x4b\x1b\x06\x59\x67\xe8\xc9\xc7\x0a\x14\x88\xa1\xe0\x01\x64\x62\xfa\x3c\x5e\x19\x6f\x8d\xb8\xa4\xfe\xdd\x22\xf3\xd5\x2c\x29\xd6\xb6\x6d\x63\x17\x5c\x8b\x01\x6a\xbf\x32\xb3\x4f\x57\x98\x07\x87\xcb\xaf\x97\x7b\x3d\x1c\x1e\x3f\x09\x8f\xe4\x11\xa2\x7d\x0c\x2c\x64\x1b\xcc\x19\x8e\xfe\x33\x65\x55\xb8\x0f\xeb\xa5\x48\x2d\x86\xc0\xc2\x79\xd9\xf0\x37\xa2\x6d\xf5\x09\xcd\x72\x1e\xe8\x07\x37\x38\x6e\xfa\xac\x9e\x6c\x1c\x2f\x74\x85\xb4\xd1\xcc\xa7\x68\xc2\xa0\xe4\xd7\x57\x05\x68\x5f\x2a\xbe\x99\x1e\x35\x19\xe5\x0d\xb1\x8d\x5c\xc2\xa6\x2f\x57\xd9\xf4\x70\xaa\xe3\xd2\x63\x7f\x84\x58\xbe\x82\x2d\x37\xac\x64\x7a\x14\xae\x5f\x96\x51\x54\xa5\x79\x12\xaf\x3b\x78\x25\x3a\x4b\x46\x31\x28\xd2\x86\xaf\x1d\x6a\x08\x86\x3f\x14\x26\xc4\x61\xe8\xe4\x29\x29\xdb\xed\x8f\x41\xda\x78\xce\x1e\x8d\x33\xd1\x6b\xa0\x85\x93\xc7\xf3\x99\xe5\xd4\xc5\x8b\xf2\x00\x90\x89\x74\x89\x3f\x20\xd7\x96\xe4\xcc\x75\x4d\xe2\x3a\xcf\xf6\x47\x92\xbb\xae\x61\xd8\xe2\x64\x99\xb1\x80\xc0\xec\xc4\xbb\xb6\x6a\x40\x23\x40\x88\x05\xdb\x68\xe6\xb0\x01\xc9\x00\x5e\x4e\x3b\x15\x05\x42\xc3\x3c\x40\x32\xde\xf5\xa3\xeb\x79\x70\xb4\x2a\x28\x2b\x30\x52\x4f\x12\x5a\xbe\x79\xdf\x61\x99\xf6\x86\x2a\x81\x7d\x50\x75\xc2\x64\x80\x2f\x2e\x1f\xcf\x9d\xa1\xba\x1b\xc6\x1c\x87\xf1\x3a\x70\x6a\xbe\x1c\x26\x26\x33\x9a\xac\x0d\xea\x71\x27\x95\x59\x03\xd5\x1b\xbe\xc1\x80\x75\xf0\xad\xbf\x8b\xf8\x66\xb0\xdd\xb4\x4b\x3a\xfd\x24\x1c\xed\xb4\x61\x82\xd9\x77\x3c\x09\xe5\x01\xd7\x6f\xc5\x3e\xbe\x61\xbf\x40\x84\xd9\x8e\x2d\xb6\xfd\x0c\xf0\xed\x51\x14\xde\xda\x50\xea\xf0\x4a\xf9\x00\xf1\xa7\x0e\xb1\x9b\x3e\x15\xb3\x73\x4d\xd4\xd5\x6d\xb2\x61\x88\x0f\x64\x4a\x80\x1b\x4d\x78\x6c\x3c\xcc\xb3\x79\x64\xef\x0d\x0e\xb3\x49\xd5\xd7\xb6\xd1\x16\xe1\xd7\x20\x46\x9b\x54\x7d\xed\xd6\xbb\x49\xc3\x3b\x7a\xae\xa7\x5f\xd6\xd5\x2d\x4c\x38\xef\xd9\xfc\xab\x60\x8f\x30\x50\x17\xa1\x24\xba\x68\xde\x34\x35\x08\x3f\x48\xae\x26\x42\x53\x91\x4e\x4e\xba\x08\x2d\x75\xe7\x10\x78\xa8\xe7\xc1\x9a\x73\xbd\xeb\xb1\x9f\x61\x8b\x83\xff\xc0\x9d\xc0\x95\xc3\xc8\x92\xe8\x4b\x35\x18\xdb\x52\xa6\x3f\x09\x97\x51\xd0\xe4\x27\x81\xd3\x57\x18\xe8\xa9\x66\xaf\x54\x71\x11\x41\x0d\x17\x8d\x88\xa2\x01\x5c\xba\x70\xe1\x0b\x9a\x3c\xda\x1e\x4d\xf2\xb6\x1d\xe7\x51\x24\x51\xc5\x10\xf4\x41\x14\x09\xbf\x7c\x05\xc3\x65\x95\x60\x56\x69\x02\x42\x7f\xe3\xd7\x50\x14\xc9\x00\x62\xde\xbe\xc8\x61\xa2\xec\xca\x32\x9d\x27\x56\xe9\xe4\x6a\xe5\xb3\xa5\xfe\x32\xf1\x97\xfa\xa4\x40\x2e\x59\x37\xb7\x49\x83\xeb\xa5\xcf\x95\x25\x41\xba\xf7\x5c\x35\xf1\x74\x0a\x4b\xcf\x9b\x0b\x50\xa7\x80\xf9\xa6\xb9\x47\xa2\xbe\x98\xee\xb6\x05\x2f\xdc\x44\x63\xfe\xb2\x8b\x91\x16\x46\xc6\xd6\xef\xd0\x28\x82\x5f\x2f\xaf\xd2\x85\x41\xd1\x17\xb8\x59\x26\x9d\x9e\xf5\x1e\xd4\x91\x87\x97\xa2\x50\xef\x77\x7f\x10\xda\xc6\x78\x6b\xbd\xa3\x40\xfa\x3a\x15\x30\x9b\x5b\x3a\x48\x53\x18\xfa\x00\x84\x89\xaf\x62\xa7\x51\x96\x67\x86\x6a\x95\x33\x33\xcf\x3e\x13\x47\xb0\x4b\xef\x09\x44\x8e\x83\xce\x45\x24\x82\x1e\x6a\x1c\x1e\x96\xbf\x1a\xe9\x76\x77\x96\xb1\x92\x2e\x62\x65\x43\x2c\x40\x06\x52\x56\x75\xd5\xac\x41\x8b\x24\x21\x1c\x19\xc0\xa3\x3b\x93\x90\x29\x3e\xe7\x2b\xa6\xda\xb6\xf4\x43\x76\x1d\x00\x2b\xae\x8c\xe8\x11\x7b\xd6\x64\x62\x2b\xda\xdf\xd7\x3b\xab\xe2\xd2\x53\x0a\xa3\xa5\x2d\x2c\x99\x82\xe0\x74\x32\xce\x5d\x6d\x06\x91\xbf\x30\x5c\x4e\x88\xfe\x25\xa3\x08\xa0\xd9\xaf\x8d\x14\xf3\x02\xaf\x6c\x38\x8c\x0e\x56\x02\x0c\x5d\x8c\xbc\x2d\x8a\xba\x38\x61\xd0\xf3\xb0\xc7\x36\x10\x33\xc2\x49\x87\xf1\x40\x5a\x81\x0b\xad\xfe\x0f\x55\x8f\xa2\x22\x5e\xa1\xbb\x9e\x85\xab\x80\x70\x11\xab\xcb\x8c\x3f\x3a\xe3\x15\xff\x12\x1e\x69\xde\x17\xff\xea\x6a\x41\x4b\xfd\x8a\xde\xd2\x4d\x70\x69\xb4\x87\x81\x9a\xc2\x23\xa8\xeb\x98\x73\x4d\xcd\x41\x82\x9e\x5d\x38\xa8\x39\x58\xf8\x5d\xb3\xd2\x82\x7d\x28\x76\x4d\xe9\x22\x96\x7a\xb7\xa1\x4f\x20\xca\xe1\xd8\x0f\x0a\xde\xc6\x36\x90\xb7\x85\x5a\xfb\x5c\xaf\xb2\x3c\xec\x2d\x4d\x99\x2d\x6d\xcf\x92\x8c\xa9\xe0\x16\x3b\x3a\xeb\xf6\x74\x91\x16\xfe\xec\x07\xca\xd5\xce\x4a\x00\x4b\xef\x20\xea\xe9\xe1\xc5\x88\xbc\xd0\xb3\xf8\x1b\x78\x17\x8d\xf5\x04\xf1\xdd\x2a\xb1\x5b\x25\x76\xab\x71\x70\xd5\xbd\x29\x33\x37\xd7\x05\x98\xc5\xc8\xb0\x37\x75\x29\xae\x27\x25\xf4\x24\xca\x76\xe6\x8b\xd5\x4b\x09\x6e\x8d\xc5\x52\x66\x51\xa4\xff\x9b\xca\x76\x6e\x82\xdd\xc9\x4e\x78\xdb\x28\x87\x83\x89\x2a\x64\xc3\x6e\x32\x64\x28\x19\xb2\x9a\x7d\x45\xb2\x05\x17\x2c\xeb\xa5\xcc\x16\xe6\x37\x3c\x8e\x3a\x6a\x22\x14\x88\xb7\xed\x90\xee\x2a\x1f\x36\x36\xc7\x05\x6e\x37\xb2\xf7\xe0\xdb\x37\xa7\x0c\x0b\x0e\x1d\x78\x9a\x6d\x55\xa8\xaf\x77\xf7\x75\xf2\x5e\x18\x26\x98\x32\x48\xfc\x65\x0f\x49\x50\x7f\x93\xf4\x1e\xb5\x6a\x3a\xd9\x34\x93\x32\xbd\xf3\x7e\x5f\x7b\xeb\x1b\x2c\xe3\x0c\xe9\x3f\x9c\x8e\xc1\x03\x28\x09\x1f\x98\x82\xfc\x33\x53\xdc\xf9\x8f\xfd\x7c\x2e\xb7\x75\xdb\x4a\x69\x37\x69\x68\x1e\xce\x46\xbe\xcc\x2c\xa9\x95\xdf\xf4\xb7\x5d\xf0\x72\x65\xb9\x9b\xba\x30\x27\xbc\x98\x70\x21\xff\x92\xbb\x79\x37\x99\x50\xc1\x73\x88\x69\x1c\x1b\xb7\x08\x5c\xb8\xb9\x9b\x56\x57\x57\xec\x9a\x2e\x72\x27\x34\x32\xf2\x69\xc0\x8b\xf0\x82\xc8\x80\xf2\xeb\x45\x26\xc4\x4a\x58\x3a\x45\x7f\xc7\x2a\x1b\xc4\xe1\x18\xd3\xc4\xe7\xd0\x45\x9a\x82\x20\x38\xe4\x9d\xd8\xf2\xeb\x3f\x33\x9f\x3b\x6c\xe9\x5b\xbd\xbb\xbc\x15\xbc\x51\xc7\xef\x4d\xe6\xd8\x75\x49\xb7\x10\x6a\x4b\xd5\xb5\x0e\xcb\x00\x23\x16\xf7\xf6\x5b\x41\xd9\x5b\xf4\xd2\xb5\xf9\x81\x76\xe0\x8f\xcd\x76\x77\x9f\xfc\xcf\xf9\x9c\x95\xa2\x39\x26\x2f\xe6\x73\x1f\x2c\xea\x8b\xf9\xdc\x9c\xd9\x85\xda\x8a\x4f\x4f\xe1\x25\xea\xe2\x3a\x74\x8a\xc8\xda\x56\x80\x1b\xb0\xc1\x6c\x65\xc1\x21\x21\xd9\x10\xd7\x13\xc8\x82\x25\x13\x80\x5b\x38\xd4\x1e\x9b\xc7\xf8\xb9\x5f\xa8\x25\x9f\xc2\x41\x64\xf2\xf2\x11\x46\xf3\x02\x43\x3f\xf9\x79\x73\x75\xd4\xd1\x11\x4a\x17\x26\x58\x93\x8f\xce\x6c\x11\x0f\x7f\xa8\x39\x41\x5c\x81\x3b\xb1\x3d\x29\x76\xa3\x29\x73\x0c\xed\xa3\x0a\x9e\x9b\x90\x77\x00\x72\x68\x31\x09\xf4\xce\x0a\xd9\xbe\x76\x09\xb9\x7b\xc8\x3e\xd3\x16\xf3\x0d\x4e\x8e\xc4\xc6\xe1\x34\x80\x8e\xec\x66\x0a\x17\xff\xc7\x3e\xe7\xae\x46\x16\xfe\xf0\x1f\x82\xfd\x53\xb0\x67\x00\x29\xf2\xb0\x3f\x00\x84\x35\x46\x9a\x5b\x74\xa8\x33\x9d\xfe\x59\x73\x85\x1a\x5e\x7d\xda\x26\xc0\x47\xb2\xfa\x37\xd0\x52\xfd\x4b\x4f\x41\x16\x5f\xd4\xab\x2b\x25\xf1\xd2\xdd\x85\x37\x9e\x2b\xd1\x66\xae\x8c\xa2\x17\xa0\x44\xe9\x62\x04\x76\x63\x7a\x71\xce\x7f\x49\x6b\xe0\x43\xad\x09\x04\x04\x6f\x28\x11\x22\xc6\x85\x09\x6a\xdb\x58\x72\xd9\x0b\x27\xa3\xb9\x77\xe8\x50\x67\x4e\x15\x77\xa0\xf1\xf4\x61\x60\xbd\xa9\xd2\x7f\x8a\xe4\x1f\x82\x52\xf6\x1f\x81\x09\x5d\xe1\xed\xad\x0a\xab\x32\xe5\xb1\xe2\x85\x03\x5b\xa6\xa9\x42\xe8\xff\xb2\xaa\x0b\xf8\x18\xaa\xa9\x8c\xd5\x2e\x7a\x3a\x81\x99\x94\x79\x1b\x0b\x6d\x5c\xa1\xa1\x5d\x5e\xe1\xec\xd0\x4c\xc1\xa2\x8b\xf5\x29\x59\x3e\x21\x7a\x85\x18\x13\x9e\xce\x00\x41\x6d\x9e\x18\xe7\x8e\xd0\x8e\xcf\x59\xc9\xa5\xa6\x7d\x2d\xfc\x9c\x81\xf8\xee\xe1\xea\x1b\x84\x73\x5e\x2e\xd5\x64\x92\x51\xdd\x99\x7a\x18\xbe\xa9\x1e\x80\x99\xcc\xd9\x13\x7d\x09\x81\x5d\x40\x78\x37\xbe\x46\x68\x92\x6e\x0c\xb5\x5c\xf3\x00\x76\x54\x12\x0c\x0f\xde\xd3\xa3\x1a\x83\xd3\x71\xb8\x7e\xa2\xc8\xac\x2a\x04\x7a\xee\x86\xb0\x33\x6b\xd1\x07\x05\x83\x45\xe6\x43\xe6\x0f\xa1\xae\x1a\xa4\x6c\xbb\x7c\xd1\x71\x03\xcc\xb3\xfe\x29\xfa\x8a\xdd\x0e\xba\x3d\x86\xb3\x4c\x7b\xbd\x9f\xd3\xa4\xf7\x9d\x9c\x81\x7b\xa4\x0b\x6f\x7c\xd9\x5f\x08\x8e\x6b\xc6\x61\xf6\xe1\x7e\x32\x5b\xd1\x41\x3a\xe7\x99\x30\xd6\x80\x6e\x9a\x2d\x20\xa9\xcb\x7f\x7b\x8b\x44\xc7\x05\x6b\xb2\x18\xdf\x66\xf8\x82\x72\xc4\x7e\x6e\xde\x49\x7b\xcb\x06\x71\xc2\x4c\xf1\x94\x29\xeb\x8f\xfb\x9b\xd1\x0a\x63\x48\x4a\xdc\x41\x5b\x1b\x71\xac\x45\xf0\x0b\x00\xd5\xed\x6c\x5c\x7a\xca\xfc\xc1\xc6\x85\xea\xf9\xcf\x6f\x5c\x3f\x76\x8b\xf9\xfc\xc6\x15\x78\x16\x2e\xfd\xa4\x85\x63\x30\xeb\x6f\x60\xe6\x69\xf2\x48\xca\xdd\x81\x24\x64\x7d\xbc\xdd\x7e\xb3\x3b\x10\x46\xf2\xad\x68\x1a\x92\xe0\xaf\x9e\x68\x04\x41\x5a\x3e\x17\x25\x6d\x78\xc3\x5b\xe1\x86\xb7\xc2\x0d\x6f\x65\x37\xbc\x92\x5f\xa3\x3f\xe8\xb8\xb3\x95\x81\xa6\x41\x06\xab\x4d\x8f\xbc\x04\x40\x69\x6f\x76\x03\x0e\x00\xde\x4a\x4c\xf9\x3d\x45\x85\x7b\x4a\xc1\x55\x67\x4f\x29\x12\x18\xd6\x3c\x51\x7e\x67\x53\x7e\x67\xd3\xd9\xfd\xce\x86\x99\xb1\xd1\x76\xb1\x0a\x89\xc6\xd4\x17\x06\x28\x6e\xa9\xad\x45\x13\x2e\x35\x21\xc1\x3e\x97\xd0\xb6\xfd\xcd\x5a\xe9\x79\x1d\x4d\xdb\x8a\xe9\xfa\xa0\xca\x54\x4c\x5d\xd1\x57\xd7\x67\x13\xc3\x3a\x38\xb3\x61\xeb\x0e\x4c\x30\xec\x51\x3e\x6c\x08\x03\xb0\x2b\xd6\xe0\x22\x50\x23\xcb\x8e\x1d\x46\x78\xe7\x4a\x84\x3a\xc0\xf6\xdd\xe5\x49\x4c\xed\x08\x23\x07\x25\x8a\x1f\xea\xed\x27\xc2\xc8\xad\x78\x78\x03\x33\x55\x4f\x17\xb5\xdd\x1a\xaf\x25\x73\xf7\xa3\x51\x66\x33\x72\xd8\xdd\xbf\xdb\x8b\x5a\xa7\xef\xb6\xe6\xea\xd4\xa8\xb7\x62\x4f\x18\x01\x97\xee\xaf\xd0\xc3\x82\x59\x0f\x8b\xd7\x45\x85\x61\x39\x33\xd6\x39\x91\xed\x9c\xc0\x90\x4e\x9d\xc0\x26\xc0\xc8\xd9\xb8\xb2\x92\xcf\x96\x1f\x8e\x1f\x0e\x1f\xea\x0f\x65\x36\x5b\xf5\x88\x89\xa2\x78\xa5\x27\xf5\x90\x75\x97\x8f\x2d\x79\x69\xab\x29\xa2\x48\xb0\x8a\xcf\xd9\xa6\x1f\xd1\xa5\x27\xb7\xfb\x4c\x44\x0c\xcd\x91\x18\x33\x3f\x5b\x8d\x58\x04\xdc\xaa\xb1\x98\x73\x8b\x8e\x9a\x08\x18\x6b\x8a\xec\x26\x48\x35\xba\xd0\xa9\xd9\x62\xf3\xb2\x5a\x54\x28\x81\x36\xc1\x78\xab\x8c\x15\x1c\xe3\x5d\x04\xfa\xe5\xdc\x97\x9b\xc6\x64\x44\x26\x41\xc2\x84\x8c\x08\xf5\x71\x61\x24\x03\x7b\x54\xfd\x8f\x3e\x96\x41\x28\x35\x89\x58\x7f\x85\xb7\x3b\x1f\x91\x09\xbe\xfd\x97\x39\x60\xa9\x73\xbc\x5b\xac\x34\x5b\x74\xa8\x6e\xe3\x82\xb2\xe0\x43\xb8\x13\x84\x75\xe1\xab\x6e\x74\x08\xb3\xe7\xfd\x77\xc6\x08\xcc\xa0\x7b\xdb\x66\xdb\xfe\xbf\x1e\xb9\xa0\x7e\xff\x5f\x0f\xde\x13\x63\x87\xb7\x43\x23\xf8\x92\xcf\x69\xc1\x0b\x57\x92\x7b\xc2\xcc\x88\x42\xcc\x36\x1c\xd3\x84\x90\x7f\x73\x58\x91\x45\xef\x0f\x6b\x60\xf1\x64\x06\x6b\xf1\x94\xa1\xad\x0c\x23\xd3\xf0\x3c\x95\x28\x92\xf4\x0b\x89\x86\xf1\x76\xba\x69\x86\x04\xe9\xea\x18\x42\x6b\x6d\x3b\xb8\x41\x2d\x3b\x83\x9b\xf7\x06\x57\x13\x50\x92\x9e\x93\xae\x22\x33\xac\x9f\x9d\xb0\xa8\xa2\x30\xe5\x03\x57\xd0\x99\x00\x06\xf3\x88\x97\xcb\x42\x8f\x8e\xd2\x47\x08\x7e\x5e\xd2\x54\x75\x1a\x23\x69\xa2\x7c\x73\x25\xea\x6b\xe3\x5c\x73\x09\x1d\xe1\x0e\x46\x3f\xed\xd6\x37\x8a\xde\x38\x43\x4c\x46\x7e\xfb\xcd\x3d\xf8\xed\x37\xd2\x9f\xb7\xbd\x7b\xde\xbd\x6d\x5b\x81\x24\x20\x21\x49\x28\x58\xee\x96\x49\x61\xae\x43\x04\x2d\xd3\x9e\xe1\x60\x8a\x5c\x4f\x32\x01\x93\xec\x32\x5a\x96\xd5\xee\x05\x31\xeb\x96\x79\xd6\xb1\x99\x19\x91\x89\x4d\xfe\xfc\x7a\x70\xf3\x5d\xc2\x3c\xb7\x50\xf6\x0b\x87\x5e\x6f\x0e\x0f\x29\xf9\xec\xc3\xa1\x7f\x68\xdc\x89\xed\x53\x7b\x91\x8b\x7f\x0e\x1e\x52\xfd\xd8\x55\x2e\x7e\x7d\x6f\xf2\x0d\x49\x4f\xcd\x94\x51\x8b\x8b\x60\x7c\x60\x2c\x50\xa4\xdd\x09\x69\xa7\xec\x9d\xd8\xc6\x94\x26\xc2\xb1\x5d\x8a\x83\xcf\x5b\x4f\xd9\xa3\x52\x35\xd1\x0f\xbc\x11\x82\x71\xab\x44\x5d\xa4\x1a\x8a\xd6\x68\x03\xa9\x11\x92\x88\x09\x21\x67\x4a\x99\xa6\xcd\xee\xc4\x36\xb0\x7f\x36\xe0\x9c\xfd\xe4\xe1\x20\xbf\x19\x58\xd1\x1a\x6a\x4d\x06\xd4\x9a\xf4\xd3\x53\x31\x02\x5c\x09\x38\x32\x41\x59\xc8\xa4\xb8\x1d\xd5\x47\x4a\x0b\x2b\xa3\x06\x6a\xa2\x3e\x5b\x8d\xd5\x65\x35\xe2\x9c\x4b\x98\xd4\xbe\x12\x34\xcd\x93\x38\xe7\xca\x48\x53\x06\x9d\x38\xec\x64\x93\x92\x11\x62\x81\x22\x72\xdd\x6f\xb9\x75\x7a\x09\xa6\x92\x73\x38\x04\x7d\xdb\x13\x54\x5c\x97\xab\xb6\x95\x09\xad\x9c\xc7\x60\x85\x6c\xb6\x64\x13\x4d\x53\x00\x86\x35\xd2\x73\x97\x25\x77\x62\x98\x72\x1b\x67\x1d\xb1\x5b\xba\x34\x60\xc9\x8d\x4c\xea\xca\x18\x18\x09\x13\x4a\x6a\xfe\x52\xb1\x15\x2f\x53\x5d\x81\x04\xa0\x34\xcb\x54\x4d\xae\x13\x2b\xb2\xd7\x07\xed\x4b\x95\xae\x93\x32\x55\xc9\x7c\xb1\x0e\xcf\xb7\x42\x1f\x6e\xe3\x78\xec\x45\x50\x51\x54\xa1\xcd\x54\xdc\x91\x3e\xa5\x5e\xf8\xe4\x44\x07\xbd\x68\xe7\xf6\x39\xa1\xb4\x6d\x3b\x21\x0b\xed\x93\x0e\x9b\x1c\xe6\x60\xc4\xc6\x9a\x27\x36\xc6\x2a\xd7\xab\x0f\x57\x12\x2b\xbd\x3b\xbb\x41\xb0\x94\xee\x28\x5b\x5d\x78\x4b\x75\x84\x0b\xbe\x47\x31\x8c\x98\x85\x8d\x96\x61\x1c\x29\xb3\xe5\xaf\xae\xae\x68\xc1\xd5\x72\x95\xb1\xb8\xf0\x34\xbd\x8f\x8b\x5b\x98\x09\x57\xc2\x86\x05\xaa\xaf\xf1\x9c\x86\xc1\x93\x7a\x83\xc6\xaf\xae\x29\x2b\xcf\xe7\x0e\xed\x6e\x84\x71\x5e\x4a\xd8\xa3\xa9\x3b\x8b\x36\xbb\x64\xfd\x83\xf0\x88\xde\xdd\x27\x75\x41\xb8\x83\xfa\x82\xc9\x17\x76\x21\xec\xb1\x0e\xed\xc1\xcb\x25\x81\x91\xe9\x7e\x11\x62\xde\x3c\xb9\xf5\x5c\x04\xb9\x37\xcb\x20\x25\xbb\x9a\x24\x56\x9c\x48\x7d\x83\x89\xdc\x9e\x0e\x23\x40\xf4\x19\x19\x98\x9f\x91\xc5\xf7\x19\x6d\x77\xa2\x18\x1d\x54\x53\xfd\xae\x46\x68\xc7\x3e\x42\x1c\xb9\x11\xe0\xd3\x8d\x0a\xb9\xc5\x0b\xc0\x59\x2a\x76\xf7\x35\x5e\x9d\xf6\xf8\xab\x8f\xe2\x91\x83\x66\x1a\x59\x34\xa6\x91\x47\x6e\x1a\x79\xb4\xa6\x51\xbe\x16\xf5\x4a\x8d\x0c\x90\x43\x73\x92\xb7\xd5\x71\x74\xa3\x3e\x41\xb9\x37\xea\xd3\xfe\xa0\x9a\x46\x5f\x9c\xf6\x23\x75\x38\xec\x0e\xa3\x1c\x71\x5b\x6f\x55\x7d\xea\xc2\x6f\x5e\xea\x34\xba\xd2\x0f\x2f\x9e\xb9\x90\x22\xcc\x91\x4a\x02\x09\xb7\x09\xb0\x98\x5b\xb4\x33\x83\xcf\x21\xe9\x45\x60\xdf\xb5\x6e\xe0\x67\x30\x44\x7c\x8b\xf5\xa0\xfb\x46\xc7\x12\xf0\xc1\x01\x37\xea\x29\x09\xd2\xd1\xc1\xc4\x20\xbe\x1d\xcb\xe9\x99\x9d\xea\x8b\x57\x7a\x2f\x94\xa5\x7b\x83\x7a\x30\xc3\x3f\x46\xa3\x71\x6a\x1d\x76\xaa\x9f\x78\xcb\xbd\x73\x3d\xc0\x50\xa4\xc1\xe7\xc9\xf3\xe7\xc4\x74\x9e\x4e\x90\x4c\x93\xf4\xcf\x9f\x13\xdd\x04\x43\x3f\xe4\xd2\xea\x7f\x58\xa1\x49\x89\x74\xb6\xa8\xa7\xe0\x52\xfa\xd7\x77\x3f\xfc\x6d\x68\xa6\xeb\x74\xcc\x11\xeb\x43\x16\x74\x28\x70\xfb\xeb\xdb\x37\x97\x6a\x73\x96\x43\x68\x79\xe1\xf9\x1c\xaf\x1e\xa7\xc1\xda\x81\x60\x9e\x39\xb8\x2b\x7c\xfd\xc3\xdb\x1f\x75\x79\x07\x26\x79\x8e\x45\x7f\x73\xd8\xdd\xbe\x83\xd7\x01\x03\x43\x3d\x1c\x67\x0f\xb7\x5b\x42\x4d\xa4\xce\x82\x3e\x5a\x48\x1a\x0b\x63\x33\x96\x6d\x2b\x9f\x80\xbc\x80\x22\x0f\x30\x87\x9d\xd1\x33\xe8\x98\x21\x29\x26\xdf\xd7\x77\x62\x5b\x15\xa3\x5f\xdf\xbe\x49\x34\xb9\x47\x99\x44\x8f\x0b\x25\xf9\xec\x4f\xd3\xe7\xcf\x66\xac\x94\x7c\x16\x2f\xd3\x28\xa3\xbf\xf1\xe5\xbf\xa2\xec\xf9\x8c\xad\x24\x9f\xfd\x2b\x9e\x3e\x4f\x69\xb2\x1c\x7d\x38\x66\xcf\xe3\xe5\xbf\x34\x4f\x9f\x3d\xa7\xcf\x66\xab\x5b\xb6\x96\x28\x92\x13\x72\x77\x3a\xb6\x62\xbf\xd7\x7f\x57\xcd\x71\x77\x10\x2b\xd5\x4e\x27\x57\x30\x99\x9b\x6a\x57\xb7\x65\xb5\x55\xed\x41\x35\xed\x7d\x55\xac\xd4\x91\x26\xcf\x66\xac\x32\xaf\x7f\xfb\xfa\x7d\xfb\xdd\xeb\x2f\xbf\xa6\xcf\x66\x6c\xa3\xd3\x3e\xcc\x3e\xcc\x66\xec\x06\x1e\x2f\x3f\xdc\x4f\x27\x57\xd9\x24\xa1\x71\x9a\xe8\x07\x80\x0e\xf3\x61\x96\xfe\x29\x7b\xfe\xbf\x5b\x1a\xe3\x75\x92\x3d\xd7\xcf\x93\xf8\x43\x31\xa1\x2d\x6d\xe9\x8c\x6d\x25\x7f\x3c\xb3\x5b\xf8\x5f\x4b\x4e\x9e\xcf\x88\x35\xc2\x27\xcf\x09\x65\x3b\xc9\xc5\x74\xbb\xcb\xc1\x82\x06\xa4\x40\x6c\x2f\xf9\x8d\x44\x63\xe4\x5d\x4f\x2a\x89\xac\x82\x33\xc9\xfc\x28\x83\xe9\xd3\xd5\x60\x3d\x01\x8d\x25\x99\xae\x03\xc1\x29\xea\xc4\xe0\xdd\x8f\x74\xf9\x92\x3e\x77\x9c\x53\xcb\x39\x5a\x99\x38\x99\x80\xa1\xec\x72\x9e\xa5\xb1\x66\x1b\x6d\xec\x18\xc0\x8d\x60\x28\x04\x17\x60\xe2\xbc\xcc\xa8\x33\xa6\xca\x29\x4d\xfa\xcf\xe0\x90\xcd\x43\x63\xdb\x83\xec\x1b\xc6\x80\x03\xad\xe6\x3c\x6e\x65\x18\xaa\x6b\x8d\xcf\x2b\xe7\x10\xbb\x5c\x67\x68\x26\x00\xc7\x81\x00\xb7\xf3\x65\x47\x7f\x6e\x5e\xd9\xf0\xb5\x31\xa8\x79\xca\xdc\x64\xd3\xb6\x65\xdb\xaa\xe5\x26\x4b\xcb\x74\x1c\x57\x7c\x63\xbd\x87\x93\x58\x02\x7e\xba\xa6\xcd\x1b\xd7\xb4\x0d\x65\x2b\xfd\x6f\x7c\xad\x0f\xa4\xca\xd1\x0c\x61\xe6\xe5\x3c\xa3\x6d\x3b\x56\x60\xd8\x16\x45\x2b\x98\x0d\xbe\xdd\x8d\xec\x93\x14\xf5\x54\x6c\xc4\xc3\x3b\x75\x3c\x56\xf5\xaa\x99\x96\x5b\x71\x34\x06\x9f\x80\x87\xef\x0c\x7b\x25\xf5\xa4\xf4\x32\xcf\xa2\x28\x8e\xd5\x32\xcf\x52\x91\x14\x6d\x1b\x17\xfc\xf1\x4c\xe9\x32\xcf\xe0\xa1\x0f\xbd\x13\xc4\xea\x1a\xcf\x99\x60\x45\x07\xdd\xe5\x28\x9f\xc4\xc2\x40\x41\x5d\x03\xb1\x1c\x5c\xe3\x0c\x65\x43\x9e\xeb\x89\x51\xe9\xa6\x56\x53\xec\x9a\xc0\x3b\xbf\x30\x61\x27\x6f\xab\x5b\x13\xc7\x1a\xb6\x95\x9f\x55\xb3\xdf\xd5\x8d\xfa\x4e\x89\x42\x1d\x62\x62\x22\x89\x5e\xbd\x47\x54\x1b\x3d\x1f\x0b\xea\x8c\x6a\xd6\x9a\xa0\x5c\x83\x5d\x8d\xfe\x8f\xa2\xd5\x42\x13\x73\x6e\x34\x14\x5d\xc8\x83\x12\x37\xe7\xaa\x8c\x75\x5d\xaa\x7a\x94\xd3\x12\xaa\x85\xa6\xf0\xae\xb0\x1c\xf5\x2d\x95\x81\xec\xc9\x77\xf5\x9d\x3a\x1c\xd5\xa1\x59\x02\x2b\x39\xd1\x0f\x32\xfa\x58\x72\x65\x4a\x5c\x41\x98\x42\x45\xcf\xe8\x00\x65\x07\xba\x4c\xe3\x72\x8c\x0d\x8f\x22\x5f\x91\x92\xb2\x7c\x59\x7a\xcf\x73\xd7\xbd\xa7\xfe\x24\x0f\x82\xf8\x3e\x9e\xd9\x4d\xd8\xb5\x66\x75\x41\x3f\xdc\x2c\xaf\x33\xea\xd1\xed\x82\x0a\xd3\xcd\x72\xd5\x17\x8c\x76\x1a\xb4\xca\x16\x25\xbf\xb1\x83\x62\xc6\xab\xd4\x9d\x09\x70\xb7\x30\x02\xdf\x54\x6a\x5b\x34\xcb\x52\xcf\xa1\x7c\x39\x90\x9e\x71\x49\x01\xe0\x03\xe0\x54\x75\x15\xbf\x01\xcb\x38\x90\xdc\x87\x09\x80\x8e\x68\x9b\x40\xc1\xee\x9b\x05\x9f\x07\x34\x0e\x98\x2b\xa5\x1e\x18\x07\xb4\x41\x9e\x13\xdd\x8d\xc8\x1b\x94\x30\x38\x2b\xbe\x59\x56\x30\x18\x65\xd6\xb6\x9b\x25\x79\x0e\x97\x6c\xbc\xa2\x01\x2e\x8f\x9e\x13\x5c\x85\x94\xd3\x7a\x79\x9d\x99\x30\x1e\xbe\x88\xb5\x1e\x4f\x57\x0a\xdc\x51\xfa\xb8\x02\xcb\xc4\x74\x05\x98\x3e\x89\xfe\x07\x40\xfd\x80\x1e\xa4\xf3\xb0\x1b\x37\xa2\xba\x54\x1a\x4c\xaf\x15\xe4\xa4\xe8\x1e\x27\x96\xe4\xb8\x3e\xec\xee\x1b\x92\x51\xc9\x57\xb1\x34\x06\x61\xfa\x3c\xc6\x7b\x73\xc8\x6e\x5d\xac\xc8\xe6\xa8\x69\x92\xce\x31\xca\xe0\x27\x59\xa5\xdb\x84\xfc\x6d\x37\xc2\x21\xd4\x67\xd9\xa8\x3c\xec\x6e\xf5\xa4\x9c\x90\xd1\x71\xa7\x7b\xe1\x7c\x3e\x77\xcb\x69\x4e\xe0\xc3\x41\x98\xee\xfa\x44\x9e\x83\x68\x37\x22\x3f\x56\x77\x2a\x99\xb3\xad\x68\x8e\x6f\x77\x45\x55\x56\xaa\x48\x1e\xcf\x4c\x1d\xc5\x4a\xff\x86\x9b\x4d\xf2\x78\x3a\x6c\x93\x9d\x64\xa0\xa5\x24\xdf\xbe\x7e\x4f\x58\xd5\xbc\xd9\xe5\x62\x9b\xac\xa5\x09\x00\x2d\x75\x5f\x30\x0c\x04\x9c\x8c\xe7\x6c\x7f\xd8\xe9\x8f\x03\x7c\x86\xde\x52\x9a\x4f\x75\xae\x2f\xcc\x8e\x81\xe0\xd3\x62\xbf\xdf\x56\x78\xf6\xcd\x1e\xae\xee\xef\xef\xaf\xca\xdd\xe1\xf6\xea\x74\xd8\xaa\x3a\xdf\x15\xaa\x58\x00\xcc\x7e\xa3\x8e\xfc\x97\xf7\xdf\x5c\xfd\x27\x61\x88\x9d\xd1\x24\xe0\x31\x59\x4b\x06\xc8\x13\x48\xb8\xec\xb7\xa2\xaa\x09\x46\x6a\xc7\x14\x7d\x49\xd8\x83\xbe\xef\x7c\xe9\x76\xcb\x46\x8e\xd6\x61\x9b\x06\x82\xb4\x05\x19\x74\x8a\xc9\xb1\x11\x77\xc2\x84\x6a\x3e\xdb\xba\x37\xc9\xa3\x2e\x53\xbf\x3d\xc3\xcf\xc1\x97\x66\x58\x12\xbc\x3d\x3b\xb3\xee\x72\xc1\x57\x88\x4d\xfc\xf5\xed\x1b\x62\xea\x6e\x93\xde\xab\x87\xa3\xad\x8c\x4d\xd3\x24\x21\x7e\xd7\x2c\x5c\xdd\x6e\xa8\x18\x49\x90\x6c\x43\xa2\x6d\x04\x2d\xd5\xdd\x8b\xb7\xba\x14\x92\x04\xf4\xa6\x49\xd7\xed\x4d\x3c\x55\x79\x66\xc1\x31\x82\xa3\x6c\x47\xe8\xe1\x98\x8c\x35\xcb\x66\xe6\xc1\xe9\x09\xf5\xa5\x4c\x1b\x19\xc3\x61\xd5\x3d\x9f\x34\xeb\x97\x34\x32\xee\xa6\x32\xcd\x12\xe8\x84\x1f\x9d\xb9\xf5\x47\x19\x6f\x25\x85\xc4\xf7\x07\x51\x37\xfb\xdd\xe1\xa8\x13\x6f\x4d\x62\xef\xb3\x97\x06\xd5\xb8\xd9\x84\x66\xa0\x5c\xc2\x89\x38\x00\x12\xc6\x6e\xfc\x31\x7a\xda\x1b\xd7\x8b\x2d\xbf\x99\x9a\x26\xb7\xed\x0d\xbb\xf5\xb7\x51\x14\x6f\x03\x98\x85\xed\x74\x03\xe0\x58\x34\xad\xe3\xad\x03\xe3\x66\xbb\x8e\xd7\x0b\xdb\xf3\x7a\xfa\x4a\x6c\xb7\x52\xe4\x37\x4d\x4c\x76\x75\xae\x46\xb7\xea\x76\x77\xf8\x44\x28\xfb\xa8\x37\xbd\xa3\x38\x9e\x9a\x57\xbb\x42\x41\x30\xfd\x83\xde\xe2\x1b\xfd\xef\xc8\xe7\xec\xc4\x49\x2e\xea\x5c\x6d\x55\x41\xd8\x1d\x7f\x3c\x28\x51\x7c\x7a\x07\xcb\x79\xce\x2e\x4e\xc7\x01\xe7\xf7\xaa\x8c\x5f\x70\xce\x8f\x78\x94\x81\x6f\xee\xe3\xd9\x09\x97\x57\xd2\x39\xb9\x95\x4b\x79\x09\x0b\xc0\xe5\xf2\x45\x76\x96\xbc\x5c\x8a\xde\x93\x73\x87\x1d\x97\x28\xf6\x91\x67\x5d\xa7\x2f\xb7\xdb\x6e\xb5\x9a\x81\x90\x1a\x50\xa9\x54\x25\x68\xec\xd5\xe8\x96\x7c\x3c\xa9\xe6\x78\xd1\x90\x10\xd4\xac\x0b\x0b\x66\xf9\xb9\xb6\x8d\x05\x6f\x34\x0d\x83\x88\x04\x82\x1d\x96\x02\xce\x22\x54\x30\x68\x96\xf5\x50\x15\xea\xad\x21\x2c\x06\x35\xe6\x20\x69\xb2\xa4\x07\x17\xf6\x5d\x3f\x38\xc3\x7d\x0b\xde\x5d\x2f\x5e\x1e\xa9\x73\x4e\x13\xf4\xa3\x66\xc2\x97\x1f\xc1\xa6\x6f\x29\x33\xa4\x2a\x46\x77\xd6\x1f\x42\x2c\xef\xcc\x98\xf7\x70\x41\x99\x90\x7a\xb2\x0f\xe8\x6d\xdb\xf6\xe4\xc4\x3b\x51\x94\x4f\x21\x63\x2c\x29\x7b\x88\xe7\x16\x83\xfc\x7c\xd6\xf5\xd9\x39\xf7\xa2\x3b\xea\x0d\xe5\xf7\x53\x51\x14\xec\x6e\x6a\x0e\x00\x7e\x87\x3e\x1c\x77\xc8\x87\xf1\x3b\x70\xd8\xd0\xe7\xd8\x61\xcb\xe3\x58\xb4\x2d\x5c\xb6\xed\x4e\x52\xcd\x78\x3a\x29\xa6\x02\x29\xa6\xbb\xdd\x48\x06\xdb\xfc\x84\xcc\x66\x10\x93\x0a\x41\x02\xa7\xb7\xea\xb8\xde\x15\x9a\x7e\x43\xd1\xe0\x8d\x4b\xc1\x2c\xec\xc6\xd3\x2f\x56\x1b\xe8\x93\x10\x5e\xee\x69\x16\x84\x90\xcc\x48\xb4\x6f\xa6\xf9\x61\xd7\x34\x5f\xef\x6e\x45\x55\x43\xa0\x7d\xcb\x27\x41\xfd\x7b\xac\x12\xeb\x64\xe7\xe3\x78\xbc\x6e\x5b\x43\x07\x40\x33\x34\xc9\xf8\xc2\xdc\xbd\xd0\x44\xce\x1a\x3d\xe7\xc9\xfa\x78\xdc\x27\x9a\x1c\xd1\xb9\x53\xf2\x9f\x73\x92\x90\x2f\xbe\xf8\x33\xa1\x14\xdc\x3e\x65\x3f\x1b\x94\xd6\xc9\x07\x5f\xd7\x0d\x8c\xa2\x9b\x69\x70\x12\x7a\xcd\x95\x63\x2e\x6c\x3e\xd3\x23\x1c\x76\x67\x61\x3b\x48\x77\xf2\x41\x14\x10\x48\x54\x6c\x29\x65\x07\xbd\x5f\xb2\x1b\x26\xd9\x1d\x65\xb8\xd2\x6d\xb8\x9c\x45\x65\x91\xa8\xf4\x57\xf1\x24\x66\x15\x06\x89\xaa\xa7\x78\xe2\x4f\x26\x40\xe9\x77\x60\x59\x09\xec\x88\x47\x71\x38\xfa\x41\xc5\x9f\x6e\x58\x50\x76\x03\x3a\x29\x83\xc4\x32\xae\xcc\xc9\x8f\x59\x29\x2b\x38\x8c\x42\x27\x17\xac\x32\xd3\x3e\xf3\x7c\xc2\xe3\x42\x5a\x3a\x3d\x25\x11\x49\x48\x4a\xe8\xc4\x34\xd7\x18\xad\xe0\x1d\x0c\xa1\xc8\xd7\xca\x62\xe1\xe2\x8c\x2d\xfd\xeb\x5e\x47\x59\x4a\x46\x9e\x5d\xff\xc6\xc9\x24\x97\x93\x09\x4d\x8a\xc9\xe0\x67\x88\xcb\xa1\x0b\xaf\x4a\x4b\xfa\x00\x88\x49\x48\x0b\x2d\x8b\x2c\x8a\xee\xa6\xfd\x8d\x2a\x26\xdf\x97\x57\x36\xcf\xd5\xbb\xaa\xce\x15\x61\x17\x6f\x82\x14\xf2\x28\x56\x9f\x2b\xe4\x6f\xbb\x5a\x5d\xbd\xd5\xd3\x9c\xf8\xdc\x94\xb2\xd8\x4f\x1c\xdf\x8f\xfa\x2e\x20\x9c\xc6\x88\x24\x2c\xc3\x34\x3a\xfc\xa5\x0e\xfb\xc4\x3a\xa5\x50\x36\xf4\xc2\x97\x40\x60\x91\x70\xcd\x02\x1f\x73\x63\x60\xcb\x9a\x65\xf7\x49\x96\x3e\xf9\x64\x62\x28\xf8\x6e\x72\x4a\xd8\x88\x4c\x6a\x39\x21\x8b\xd1\x47\x3e\x9f\xce\xaf\x49\x42\x08\x4d\x7c\x31\xe0\xeb\x05\x1c\xed\x46\xef\xb0\x37\xd3\x35\x1e\x2b\x74\xa0\xbe\x1b\xe6\x1e\x2f\x37\x08\x77\x78\x33\x45\x64\x88\x77\xaa\x2e\x30\x0e\xa8\xbb\x45\xbd\xd9\x96\xdd\xb1\x1b\x6a\xe0\x98\x71\x0d\xb9\x45\x64\xf6\x5a\xba\x38\x71\x02\x97\xc4\x55\xe4\xd1\x6c\xa7\xc9\xb5\x21\xca\xaf\x99\x73\xde\xba\x3e\xd3\xbb\xe5\x26\x8b\x6f\x6c\x25\x72\x7e\xd0\x44\x8c\x59\xa9\xf4\xf1\x6e\xea\x8f\x72\x7e\x0d\x18\x75\xbd\x05\x08\x08\x17\xcb\x3b\x76\x93\xe9\xa9\x09\xf4\xb2\xee\xf5\x23\x5a\x17\xbf\x9c\x03\xeb\x32\x1c\x9e\xc2\xd6\x9a\x98\xcc\x84\x9e\x99\x7b\x93\x22\x9e\xcf\x91\x5f\xb3\x7c\xda\x68\xea\xff\xc0\x1e\x2c\xef\x71\x8f\x74\x02\x1c\x69\x14\xd8\x95\xd1\xfd\xe2\x21\xbe\xba\x66\xf7\xf4\x8c\x7e\xc0\x70\xa7\x79\x0f\x47\x9f\x91\x20\x20\xd5\x03\xc6\x69\x75\xc2\x14\x76\x60\x0d\x3b\xb1\x7b\xf6\xc0\xe5\xe2\xc5\x98\x73\x4d\x45\x1d\xf9\x0b\xb6\x8a\xa2\x8e\xb5\xf4\x8a\x3a\x90\x74\xa6\x20\x44\x08\x61\x9d\x4e\x12\x2f\xe7\xe9\x17\xc9\x9c\x6d\xb8\x78\xc9\x5f\xcc\xe7\x51\xf4\xe7\xf9\xfc\xa5\x68\xdb\x3f\xcf\xbf\xe0\x9c\x0b\xb0\x10\x3b\xf1\xa3\x8c\x6f\xd8\x1d\x2b\x29\x65\x27\x7e\xd2\x37\x27\x76\xc7\x36\x94\x6d\xd2\xb8\xb7\xc2\xef\xf9\xdd\x90\x84\xe1\x8d\x68\x8e\x6e\x4d\x13\xca\xee\x87\x36\x03\x7e\x4f\xd9\x13\xef\xeb\xb5\xeb\x5e\x33\x0b\x99\xdf\x53\xca\x5e\x60\x45\xdb\x96\x7c\xf7\xfa\xcb\xaf\x21\x70\x02\xec\x95\xe9\x03\x27\xf5\xce\x46\x91\x4d\x4c\x7b\x30\xf5\x78\x6b\x2b\x92\xc4\x0f\xfc\x04\x94\x83\x62\x07\x7e\xc2\xfd\xb1\xe1\x27\x3c\xc4\xd9\x86\x8f\x1b\x4a\x93\xb8\xe1\x0f\x4c\x1f\xe1\xe3\x07\x1a\x45\xf1\x03\x27\x86\x6f\x9c\xbf\x04\x4c\x22\x3e\xd7\x87\x91\xa5\x40\xb8\x70\x97\x10\xc5\x3c\x96\x6d\xfb\xa0\xcf\x7c\xb6\x49\x77\x1d\xf7\xd8\x2d\x5b\x1e\xd8\x03\xbb\xcb\x68\xb2\x0b\x1d\x64\xb7\x7a\x8a\x3e\xb0\x26\xf3\x85\x6a\x6a\x29\xfe\xa8\x89\x5b\x33\x9c\x9d\xc9\xbd\x49\x71\x7a\x1b\x5e\x34\x81\xbb\xd7\x58\x47\x3d\xdb\xd9\x26\x3d\x24\xba\xb8\x3d\x44\xc5\x08\x3e\x92\x01\x94\x63\xdc\x5b\x27\xaf\xcc\x92\x73\x6b\xe5\xea\xca\x1e\x6e\x6d\xfb\xc4\xd1\xb6\xdb\x87\xd8\x33\x77\x40\xb5\x6a\xae\xe8\x29\xf1\x7f\x6d\xed\xff\x58\xce\x08\xf0\x52\x14\xde\x79\x07\x8c\xe0\x53\x6a\x31\x7c\xc7\xf4\x81\xf4\x08\x3f\x1d\x35\xdc\x4a\x1d\x09\x23\xfb\x5d\x73\xbc\x8c\x0a\xd9\x57\xe6\x74\xbd\x77\xba\x42\x58\xd0\xd8\xab\xb6\x2d\x58\xc1\x73\xb7\x92\xa8\x61\xc3\x62\xe0\xe5\x04\x32\xec\x92\xd9\xed\x37\x51\x28\x0a\xc8\x99\xdd\xca\x0a\x6b\x09\x6a\x31\x7d\x06\x55\x70\x97\x65\xa2\x10\xc0\x95\x6b\xdb\x6a\xd9\xfc\x6b\x27\x08\xb8\x66\x56\x0a\xa2\xf9\x49\xda\x73\xb7\xbc\x3f\x88\xfd\x97\xdb\x01\x93\x8a\xc5\x50\xab\x05\x4d\x3f\x6f\x91\x65\x8a\xeb\x5a\x63\x51\x7a\xa6\x08\xab\x01\xe7\x18\xe8\x78\x9f\xc0\x8c\xa2\x53\xf5\x31\x9e\xd3\x00\xbf\xc7\x66\xeb\x5a\x4c\x76\x70\xff\x4c\x16\xca\x64\x1f\x4f\x0e\xdd\x3f\xc0\x51\x1d\x19\x30\x81\x38\x54\x46\x73\x82\xd8\x88\x82\x0f\xa4\xfa\x00\xc5\x0e\x18\xed\x88\x20\x64\x26\x2a\x9d\x6e\xe9\xf7\x75\xad\xfe\xc0\x8f\xe1\x49\x4b\xa7\x5e\xa7\x41\x51\x17\xdd\x76\x01\xa2\xe0\xac\x97\x72\xee\x68\x8f\x26\xf6\xbe\x4a\x69\xee\x87\x80\x26\x32\xc0\x74\x33\x55\x1e\x34\x6f\xe8\x54\x71\xf1\x59\x18\xb1\xfe\x40\xcb\xae\x29\x0c\x4d\xf0\x53\xa7\xba\xfb\xb1\x6e\xcf\xe0\x58\x0e\xc0\x8b\x06\x66\x02\x68\xca\x84\x40\xec\x6d\xeb\x2d\xfe\x1c\x92\x94\x31\xab\xf2\xd0\xb9\x67\xe3\xf5\x6b\x8d\x3c\xf6\x07\xe3\x27\xdc\xd8\x70\x29\x83\x86\xc2\x41\xec\xd6\xbf\xf0\x79\x14\x75\x23\xaa\xff\x85\x83\xb3\x53\xa7\x34\xc0\x10\xd8\xaa\x81\xe2\xc6\x83\xdf\xd5\xdd\x0f\xc2\x90\x3b\xc9\x67\xff\xe3\xc5\x7c\xb6\x62\xf7\x92\xcf\x3e\x2c\x3f\x64\xcf\x66\xec\x01\xcc\x9c\xd2\x0f\xf5\x6c\xc5\x3e\x19\x4d\x18\xaa\xa8\x8d\x31\x7b\x5b\xdd\x8a\x15\x28\xcd\xd4\x11\xf4\x67\xf4\xd9\xac\x62\xbf\xcb\xcf\x99\xc1\xdf\xa8\x4f\x2b\x55\xd3\x59\xe5\xe9\x84\x2f\xfb\x32\xee\x8b\xc8\xa1\x66\x8b\xec\xb8\x62\x29\xfa\x98\xb7\xed\xbd\xb4\x81\x4d\xd3\x22\x16\x4c\xd1\x44\x97\x36\x21\x4b\x32\x89\x2f\x04\x42\x2a\x95\x9a\x9c\x9c\x90\x8c\x30\x85\x0a\xdf\x00\xba\xb9\x6d\xed\x0b\x63\x07\xfb\x2c\x29\x2d\x60\x07\xee\x39\xec\x4a\xea\x3e\xa3\xa0\x38\xb9\x54\x19\x96\x68\x98\x34\x3e\x68\xff\x81\xa0\x61\xbd\x38\x02\xbc\xe7\xa5\x9f\xca\xd8\x9a\x07\xc9\x94\x10\xbd\x49\x2f\xad\xe9\x4c\xc6\x51\xfa\xf9\xcb\xcf\xdf\xeb\xd3\x6e\x57\x03\xcc\x1d\x9d\x10\x4e\x26\x03\x4f\x24\x3d\x77\xf0\x24\xa5\xb1\x9c\x0f\x25\x6f\x9a\xeb\xeb\xe8\x8f\x42\xae\x32\x88\x47\x23\xc0\x18\x1d\xe5\x5c\x26\xb4\xc0\x8f\x5b\x51\xd5\xce\x0b\xdd\x0e\x53\x27\xba\x30\xae\x97\x69\x2d\x6e\x15\xf3\x76\x5a\xae\xe3\x83\xd8\x38\x5f\xca\x38\x67\x10\x03\x47\x0f\xae\x0f\x53\xb0\xd9\x55\x75\x4c\xa2\x40\xd8\x70\x27\x19\x99\x90\xfe\x81\xd1\xa8\x43\x25\xb6\xd5\xef\x83\xb0\x30\x86\x73\xc6\x00\x97\x36\x23\xb6\x8b\xd2\x33\xeb\x26\x3d\xb5\x3b\x0c\xee\xe1\xc6\xf7\x0a\x77\x05\x65\x14\xdf\xde\x08\x4b\xa4\xa1\x91\x8f\xb1\x35\x3d\x53\x1b\x28\x60\xf0\x48\x80\xb9\xd7\xd9\xed\x6a\x30\xcf\x1c\xdb\xcd\xa6\x6a\x62\x92\x78\xeb\xa6\x28\xfa\xdd\x2c\x83\x8e\x55\x1d\x8d\xa2\xf1\x27\xe9\x31\x40\xed\xbe\x64\x60\xe6\xc7\x16\x3e\x5f\x9f\x82\xdd\xb6\x85\x0e\xc4\xa1\x05\x61\x37\x7e\x66\x8e\x92\x3e\x3f\x43\x72\x00\xf8\x17\xfb\x38\x1f\x30\x14\x7c\xd4\x6d\x48\x24\xce\x04\x98\x04\x89\x47\x19\x7d\x90\x8c\x7c\x38\x7c\xa8\x81\x22\x4a\x06\xb2\xe6\xc3\x59\x11\x2a\x0f\xf7\xd5\xce\x1c\x7e\x58\x1f\x42\x67\x4c\xcd\xe5\x04\x11\x71\x7f\x7d\xfb\xe6\xbb\xe3\x71\x6f\xd8\x45\xc3\xef\x08\xfa\x78\xc6\xdd\xf0\x2b\xc9\xe7\xec\x15\xe8\xe5\xbf\x96\xfc\x71\x0e\x5e\xa6\xd7\x2f\x5e\xfc\x39\x79\x31\xff\xe2\xcc\x5e\xf7\x57\x90\xfe\x5a\x4c\x17\x62\x2a\x8e\x47\x91\xaf\x5f\xa3\x9c\xa5\x73\x1b\x93\x5d\x8d\x76\x44\x24\x5c\x1d\x0e\x0c\x57\x2f\x81\x57\x92\xbe\x92\x4b\x91\x41\x38\x2c\xcd\x8e\x1f\x1a\x3e\x1e\xbf\x96\x51\x44\xee\xab\xe3\xfa\xd5\x41\x15\xaa\x3e\x56\x62\xdb\x90\xaa\x1e\xbd\x96\x9a\x15\xdc\x88\x07\xfe\x5a\x42\x36\xd3\x05\x8e\x15\x8b\x9f\xa4\x9c\xb0\xec\xb6\xd5\x45\x8f\x45\x28\x0a\x4b\x1f\x9b\x0e\x6c\x74\xa8\x77\xe4\x02\xdb\xc9\x56\x7c\x32\xf9\x4a\x22\x1e\xd8\x6e\xaf\x4f\x11\x14\xe5\x09\x90\xf1\x08\xe4\x4f\xf5\x5d\xa3\x0e\x30\x84\x62\xba\x17\x4d\x73\xbf\x3b\x14\x94\x41\x21\xa8\xf7\xf0\x6a\xb9\x4e\xe2\x52\x65\x3c\x48\x58\xaa\x6c\xe1\x35\xc1\x51\x54\x4e\xfb\x42\xdc\xa1\xb4\xd8\xbf\xa2\xbf\x19\x34\xb1\x6d\xf3\x25\xf9\xf5\xca\x8c\xbd\x2a\xae\x00\xfc\x11\x22\xea\x0f\xa5\x73\xd2\x9d\x2c\x26\xb4\x8c\x51\x0a\x97\x97\x52\x07\xc5\x72\x08\xd6\x20\x87\x0e\xf5\x60\xe8\xf5\x56\x6c\x44\x5a\xaf\x20\xd2\xb5\xe4\xe5\x74\x07\x53\x04\x2e\x50\x1e\x0b\xc6\x4c\x46\xda\x00\x9c\x60\x69\xa5\x10\x89\xe1\xe6\x20\xb5\x00\x68\x36\xcd\x71\xb1\x32\x60\xe2\x68\x52\xc4\x5f\xcb\xa5\x4d\xca\xda\x76\x30\xdb\xa5\xbd\x6a\x39\x0d\x55\x4f\xa9\x01\x71\xef\x24\x9e\x8d\xae\x9a\x95\xd3\x41\x41\x7f\x4c\xc1\xcc\xd4\xb5\x49\xc6\x94\xf9\x76\xc9\xd8\x54\x9f\x32\xc9\xa1\xfd\x3a\x09\xdb\x69\x40\x86\x51\x20\x21\x3a\xa2\x2e\x54\x15\x63\x8c\x0b\x2b\xa7\x58\x1b\xec\x0d\x14\x51\xac\xcf\x17\xc2\x73\xe8\x6b\xa9\xb7\x89\x30\xb0\x7b\xa0\xeb\x71\x8a\x43\x64\x55\x8c\x86\xd0\xab\xf7\xd8\xa8\xa3\x01\x7c\x22\x5d\xe5\xb7\x83\xe9\x0f\x57\xfe\x49\x47\x51\x68\xbe\x36\x8b\xd3\x44\x97\xd9\xea\x6c\x14\x13\x67\x3d\xc5\x1e\x68\xe8\x4c\x11\x43\x64\x7d\x07\x66\x55\x50\x26\xce\x7e\x4f\x74\x0a\xb5\xd8\xb1\x62\x9d\x9d\xc1\x61\x4d\xa3\x40\x15\x3c\x3e\x51\xb4\x8a\xee\xa9\x5d\xc1\xba\x75\xe0\xd6\x4c\x1e\x75\xdf\xf0\x9b\xce\xe0\x37\xc0\x76\x20\x28\xc7\xdb\xa9\x59\xad\x74\x67\xd7\x01\xde\x56\x73\x14\xe4\x2f\x58\xda\x4b\x42\xf1\x94\x7d\xf4\xba\x62\xd4\xfd\x26\x62\x8a\x59\x5e\xe1\x3d\x6b\x0e\x79\x02\x1b\xd1\x99\x4e\x77\x75\x4c\xc0\x74\xd3\xc8\x3d\xf2\xce\x92\x94\x0e\x75\x99\xe5\xb8\xce\x44\x14\xa9\x38\x58\x56\x28\x91\xf9\x62\xfe\x05\x1c\x00\x78\x8b\xa1\x0a\xd7\x4a\x74\xd1\xd2\xa4\x66\xf3\x06\x66\x5e\x1e\x45\xb9\x9e\x79\xd6\xf4\xef\x1b\xa9\x49\xc0\x6f\x25\x9f\xc5\x9c\x7e\x48\xe3\x94\x47\xed\x33\xda\x7e\x48\xd1\x08\x30\x98\x94\x9b\x66\x57\xef\x13\x92\x1b\x7d\x21\xaa\x7f\xf7\x56\x7d\x78\x19\xe1\xfc\x1b\x89\x41\x1b\x40\xd2\x01\x01\xfe\x76\x13\xf2\x1b\x4a\xb4\x43\x5a\x62\x29\xc0\xf8\x49\x0c\x4e\x10\xfd\x0d\xd0\x10\xef\x49\x27\xec\x41\x1f\xcb\x43\x4e\x21\x93\x8d\xf8\xf2\xad\xa1\x32\xa4\xee\x78\x9a\x92\xd3\x61\x4b\x92\x8b\x4d\x45\x1a\xe9\xf5\x38\xee\x48\xa7\xd1\xe3\xc9\xb9\x1a\xfd\xa1\xde\x5f\xd3\x3b\xfe\x83\xa0\x0c\x88\x22\xa2\x7f\x3d\xd5\xb5\x6e\x5b\x82\xcd\x00\x3c\xf2\x8e\x8c\x39\x56\xb6\xfa\xb6\x33\x7b\x04\x78\xf7\x21\x4d\x7b\x09\xb1\x66\x5f\x3b\x29\x6c\x9d\xca\xe5\x3a\xe3\xfa\x9f\xa3\x53\xbe\x05\xad\x03\x99\x28\x97\xdd\xf6\x96\xec\xe9\x3a\x6c\xaf\x59\x45\x84\xc9\x8e\x34\x3d\x20\xcd\x7a\xe3\x1c\xb3\xbc\x50\x8b\x9f\xf1\x4b\x42\x15\xd0\x53\xd1\xa6\x52\x4d\xc8\xe8\x5e\x34\xa3\x7a\x77\x1c\xe9\x69\x04\x12\xcc\xd5\x72\x9e\x9d\x59\xb7\x4b\x38\x0a\xb2\x20\xca\xa4\xca\x98\xfe\x17\x96\xbc\xf2\xf6\xae\x67\x56\x0c\xc4\x6e\xc4\x17\x80\x07\x82\xe6\x75\x3b\x37\xef\x75\x96\x9e\xa8\xa7\x66\x1d\x2b\x6a\xc0\xaf\x83\xbe\x2f\x69\x14\x95\xf1\x0a\x64\x26\x2b\x5e\xfa\xc8\xca\x4e\x62\x16\x6e\xe1\x60\xab\x00\x40\x96\x7d\x61\xdd\x7f\xcf\xfc\x75\xd0\x7f\xcc\x58\x42\xea\xbd\x0f\xcc\x05\xb6\x68\x0f\xc9\xef\x2c\x76\x3e\x53\x7c\x9c\x47\xd1\x32\xf3\xe0\x74\x4b\xd9\x8b\x7d\x51\x2c\xaf\x33\x9a\x25\x10\xec\xb3\x0b\x49\xbe\x14\xc8\xdf\x60\x44\x22\x8b\x2f\x5e\xc7\x8a\xfa\xed\xc8\xe2\x81\x2f\x33\x56\x84\x72\x04\xc3\xac\x7f\x07\x8e\x1f\xf5\x54\x6f\x6d\x0b\x77\x35\xd4\x07\x43\xd1\xb1\xbe\x93\xb6\x0f\xbe\x93\xc3\x81\x7d\x16\xa1\xbf\x36\x3c\x5b\x73\x11\xfa\x02\xfa\x65\xf6\x92\x83\x47\xa7\xd5\xdc\x0a\x63\x82\xb6\xa6\x94\x41\x3c\x3e\xb8\x9b\x03\x72\x4f\x9f\xc9\x35\xfd\x6c\x84\x93\x89\x1c\x88\x88\x07\x71\xad\x39\xf9\xf1\x87\x77\xef\xf5\xcc\x75\xe6\xea\x96\x63\xed\x88\x1d\x55\x20\x72\x44\xe3\x1e\x63\xda\x44\x7b\x81\x65\x05\x7d\x2c\xfd\x8c\x66\x2b\x44\x96\x2f\x52\x7d\xdc\x14\xd5\x9d\x3e\x6b\x8c\x70\x2a\x98\x61\x9a\x4b\x02\x67\x9b\xb8\x40\x49\x92\xd3\xa8\xc7\x79\x14\x75\x19\xa7\x15\xb2\xc1\x39\x2b\xdb\x36\xb0\x8d\x03\x4a\x4b\x32\x91\xe9\x23\x04\xb5\xfc\x4e\xf4\xeb\xd5\xac\xcc\xcb\xa5\x59\x4f\xa8\x1d\x8a\xc7\x3b\x82\x73\xe6\xb5\x44\x97\x70\x42\x7d\x47\x80\x21\xe3\xf7\x21\xc9\x94\x09\x79\x54\x0c\x4b\x7d\x57\x07\xb5\x8f\x5d\x3c\xae\x50\x76\xe8\xc2\xec\xe8\x8d\x17\x83\xb9\x9a\x81\xc3\xd9\xfb\x3d\xd8\xff\x39\x50\xea\x2e\x2c\xb1\x17\x0a\xfd\x55\x76\xbe\x57\x35\x7f\xaf\xea\x62\x77\x1f\x0b\x9a\x8a\xe4\x7f\xf1\x3e\xa2\x58\x00\x6e\x7d\xae\x8d\x9c\x0c\x1c\x55\x7e\x80\xcb\xcf\x85\x24\x08\xec\x7f\x2c\x90\xa2\x81\xe7\x24\x94\x6d\x11\xe1\xfd\x96\x3f\x9e\x17\x44\x53\xcc\x55\x6e\xa2\x5c\x5b\x58\xaa\xa9\xcd\xcd\xc9\x41\x6d\xc5\xb1\xba\x53\x84\xb2\x35\xdf\x9a\x5a\xc4\x18\x9d\xcf\x14\x0d\xfa\x06\x56\xf9\x84\xad\x2a\x8f\x84\xb2\x0d\x8f\x3d\x16\xa8\xfe\x40\xdb\x92\xb2\x7a\x50\x05\xdc\x00\x0a\xdf\xa4\x0a\x4f\xc9\xd3\x71\x47\xe8\xcb\xab\x6b\xb6\x49\xe3\x82\x6f\x5d\x2d\x80\x3f\x2b\x00\x99\x57\xf1\x62\xaa\x8b\xa7\x49\xbc\x0a\x11\xab\x4a\xda\xb6\xf3\x2e\xb8\x61\xa5\x93\x2e\xd6\x28\x08\x8b\xa4\x8d\x28\x9a\xe3\x32\x46\xa7\xb2\x29\x84\x52\x8b\x6f\xf5\x2f\xde\x5d\xad\xf5\xff\xc9\xca\x67\xd1\xdf\x86\x3c\xfa\xc2\xdc\x5f\xad\xe1\x47\x9f\x6b\xe4\xd4\xe8\xbd\xa9\xaa\x47\x32\x95\x53\xb8\xb1\x9f\xba\xa5\xc9\x16\x3a\xe8\x16\x51\x1f\x02\x29\xcf\xae\x3f\x9e\xf4\x73\x3e\x95\x9e\xb8\x0d\x20\xf8\x2f\x75\x04\x66\xa8\xa6\x6e\xbe\xd8\xd0\x71\x92\x5a\x97\x4f\xf0\x86\x33\xf2\x7c\xa6\xf8\x23\x00\x4a\x33\x00\x94\x9e\x9f\x59\xc9\x0b\x88\x31\x19\x6a\x0c\x80\x41\xf6\x5e\x88\xe5\x05\x04\x77\x80\x72\x0e\x61\x46\x62\x17\x72\x73\xa5\x8e\x5f\xed\x4e\x75\x51\xd5\xab\x57\xdb\x4a\xd5\xc7\x9f\x55\x7e\x1c\x73\xfe\x0b\x3a\x79\x0e\x3f\x8f\xa9\x26\x64\xff\x2a\xe3\x92\x32\xa8\x9e\x82\x01\xc9\xa7\x7b\xb1\x52\xff\xc0\x76\x5d\xc9\x69\x0e\x2f\xbc\xdf\xed\xb1\xf2\x0a\xc7\x03\x73\xfd\xda\xcb\xf5\x46\x95\xc7\x33\x4d\xd4\x99\xed\x07\xd0\x99\xab\xd2\x29\x38\x6c\xac\x33\x96\xbb\x3e\x2a\x7a\x7d\x64\x2d\xe8\xdd\xac\x36\x18\x12\xe1\x72\x4b\x25\xfa\xf0\x0d\x35\x2e\x89\x8d\x70\x0c\xc7\xea\x47\x23\xa9\x67\x32\x4c\x85\xc3\xd3\xc7\xbd\xd1\xf5\xc0\xc3\x80\x82\x81\xbb\x70\xd9\x28\x83\x35\xe2\xd0\x50\x21\x27\x02\x7a\xbd\xdf\xed\x1d\x16\xaa\xce\x06\xfd\x33\x90\x4f\x77\x8e\xcf\x68\xfa\x1c\x97\x02\x94\x7d\xe5\x1a\x88\x10\x0e\xef\xf5\x96\xae\x8b\x84\x0e\x31\xcb\x01\x8b\xef\x67\xd5\x45\x43\xde\xf3\xf9\xcc\xc2\xf6\xfe\x5b\x92\xc9\x8b\xde\x6a\xdb\xef\xa5\x55\x37\x81\x04\x37\x8c\x10\x84\xdd\x04\x56\x48\x76\x97\x1b\xd8\x10\x41\x27\x15\x96\xe9\xe4\x9c\xba\xf0\x73\x37\xee\x9f\x83\x81\x49\x48\x30\xbb\x08\x73\xb0\x31\x98\x6e\xe6\x66\x88\xa0\x16\x44\x5a\xeb\x64\xe1\x9c\xe7\x97\xb1\x0c\xd5\x93\xd0\x64\x12\x11\xaa\x10\xd3\xfc\xaf\x32\xc0\x1d\x74\x3b\x43\x99\xae\xd2\xd5\x32\xcf\x12\x4d\xbe\x02\x75\x19\xaf\xd2\x95\x83\xb6\x89\x8b\x54\x84\x6b\x23\x29\x59\x91\x96\x89\x08\x57\x15\x85\x77\x79\x49\xcf\x9a\xb4\xbb\x88\xd2\x83\x20\xd9\xbd\x08\x8e\xfa\x78\x87\xbd\xff\xf3\x00\x80\x80\x78\xd7\xc1\x47\x67\x83\x3e\x7d\xb9\xa6\xa7\x10\xce\xd0\x03\xdf\xe6\x14\x23\xf0\xfb\xb3\x61\x29\x33\xc0\xa4\x4d\x72\x4f\x48\x07\x23\x66\xb0\x43\x1d\x46\x21\x22\xf9\x9a\xf8\xf7\x97\x71\x13\xf1\x25\x87\x88\x07\xb8\xf2\x64\x22\xac\x88\x23\x91\x8c\x90\x84\xec\x4e\x47\x48\x0e\xde\x07\x7e\x12\x86\xb1\x08\x86\x11\xd8\x7e\x44\x69\xee\x77\xa1\x26\xcb\x83\xf8\x05\x8e\x9e\x85\x48\xb7\x00\x6a\x6b\x20\x18\x31\x76\x70\x6a\x51\x53\x12\x8b\xcc\xeb\xc6\xfd\x72\x86\x04\x7a\xa7\x4b\x72\x43\x6a\xf6\xef\x29\x6a\x65\x49\x70\x9b\x24\x13\x91\x01\x4d\x22\x1d\x4d\x82\x5c\x66\x7f\xc7\x77\x41\xea\xe5\x54\xee\x8a\x4f\xc0\xcd\xed\xb6\x5b\xfd\x3e\x53\x9d\x3b\x9b\x01\x97\x9a\xcd\xd0\xbd\xf3\x1f\xa7\x76\x34\x01\x95\x00\x97\xad\x6e\xd8\x8a\x26\x16\x1e\x01\x23\x11\xac\x60\x8a\x96\x69\xe1\x84\x77\x6e\x72\x5a\xf7\xce\xa6\xfa\x5d\x0d\xf0\x95\x41\xcc\x05\x73\x22\x8b\xba\x78\xa7\xb6\x25\xf2\x22\xa2\x28\xbe\xd2\xcc\x1d\xb1\x6f\x06\x11\xa4\x55\x59\xd5\x2a\x8a\xf0\x77\x2a\x6e\x0b\x7b\x1d\x13\xd4\x26\x11\xb6\xcc\x06\x10\x29\x6b\x73\xf6\xfe\x97\xa6\x18\x37\x3f\xe9\x9c\xec\x8d\xbe\x7e\xe6\x07\xaa\xde\xbd\xda\xd5\xe5\xb6\xca\x03\x07\xe1\x80\x08\x9d\x3e\xd3\xdb\x18\x10\x6b\xcf\xf8\x1b\x89\x81\x80\x4d\x59\xee\x89\xb9\xfd\x2f\x49\x59\x7d\x66\x96\xf7\xe0\x78\xdc\xba\xc7\xba\x84\x5a\xe7\xa0\x8b\xff\x98\xcd\xfe\x34\xc2\xd0\x64\x6f\xc5\x7e\x5f\xd5\xab\x5f\x7e\x7e\xc3\xb1\x2d\xd3\xdb\x0a\x74\x20\xff\x37\x00\x00\xff\xff\x5f\xef\x55\xb8\x9c\x49\x01\x00") +var _uiLibJqueryMinJs = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\xcc\xfd\x7b\x97\xa3\x36\xb6\x38\x0c\xff\xff\xfb\x14\x65\xa6\x0f\x41\xed\x6d\x97\xdd\x49\xe6\x3d\x83\x5b\xc5\xca\x75\x92\x99\xce\x65\xd2\x3d\x93\xcc\xc1\xf4\x2c\x01\x02\x53\x85\xc1\x85\xa9\xae\xea\x18\xe6\xb3\xbf\x4b\x5b\x12\x08\x8c\x3b\x99\xf3\x7b\x9e\xb5\x9e\xd5\xab\xcb\x20\x74\xd7\xd6\xbe\x69\xef\xad\xeb\xe7\xb3\xab\xdb\xbf\x3d\xf0\xea\xfd\xd5\xbb\x17\xcb\xf5\xf2\x93\xab\xe6\xca\x89\xc8\xd5\x8b\xd5\xea\x53\xb8\x7a\xb1\x5a\x7f\xaa\x3f\x7f\x5d\x3e\x14\x31\xab\xb3\xb2\x80\xab\x6f\x8b\x68\x79\xd5\x5c\xdd\xde\x8b\x2f\xcb\xb2\x4a\xaf\xf3\x2c\xe2\xc5\x91\x5f\x3d\xbf\xfe\x3f\xb3\xe4\xa1\x88\x44\x3e\x87\x41\x48\x4e\x56\x19\xde\xf2\xa8\xb6\x28\xad\xdf\x1f\x78\x99\x5c\xed\xcb\xf8\x21\xe7\xb6\x7d\xe1\xc3\x92\x3f\x1d\xca\xaa\x3e\x7a\xc3\x57\xca\x96\x71\x19\x3d\xec\x79\x51\x7b\xa1\xc3\x60\xb6\x22\x6e\xdf\x10\x39\x65\x89\x33\xeb\xb3\x90\x7a\x57\x95\x8f\x57\x05\x7f\xbc\xfa\xaa\xaa\xca\xca\xb1\xd4\x28\x2a\x7e\xff\x90\x55\xfc\x78\xc5\xae\x1e\xb3\x22\x2e\x1f\xaf\x1e\xb3\x7a\x77\xc5\xae\x74\x49\x8b\x6c\x2a\x5e\x3f\x54\xc5\x55\xe8\x30\xd2\xba\xf8\xd7\xb1\x1e\x8a\x98\x27\x59\xc1\x63\x6b\xa6\xbb\x2b\xcb\x7b\xf2\xc7\xad\x77\xd9\x11\x86\x23\x7f\xc7\xaa\xab\x88\xfa\x01\xc4\x34\x5a\x1e\xc5\x0c\x01\xa7\xd1\x32\x2a\x8b\x88\xd5\x90\xd0\x68\x79\x78\x38\xee\x20\xa5\xd1\x32\x2b\x62\xfe\xf4\x43\x02\x3b\x7a\x6a\x21\xa3\xbb\x65\x5d\xbe\xae\xab\xac\x48\xe1\x96\xee\x96\x3b\x76\xfc\xe1\xb1\xf8\xb1\x2a\x0f\xbc\xaa\xdf\xc3\x9d\xc8\x94\x1b\x13\x02\x7b\x6a\xe1\xe2\x59\x50\xd0\x61\x1f\xd4\x58\xc4\x44\x14\xcb\xa4\x58\x66\x45\x56\xe3\x97\x16\x4a\x7a\xfd\xd6\xdf\x1e\xb7\x0f\x5f\x7f\xf5\xf5\xd7\xdb\xa7\xcf\x56\xc1\xbc\x19\xbd\x3f\xbb\x4e\xe1\x40\xaf\xdf\x2e\xf6\xc7\xc5\x35\xdc\xd3\xeb\x85\xe3\x6f\x63\xb6\xf8\x35\x20\xd7\x69\x06\xd5\x74\x63\xe1\xb2\x2e\xff\x7e\x38\xf0\xea\x0b\x76\xe4\x0e\x69\x37\xa2\x65\x5a\x2c\x0f\x55\x59\x97\x62\xf2\xe8\x49\x42\x8e\xbb\x87\xa8\x2c\x8e\x75\xf5\x10\xd5\x65\xe5\x16\x70\xe4\x39\xc7\x47\xcb\x82\x9c\x17\x69\xbd\x73\x57\x50\x97\x9f\x55\x15\x7b\xdf\xaf\x76\xd7\x50\xbc\x8c\x58\x9e\x3b\x62\xea\x49\x0b\x29\xaf\x07\x10\xa1\x87\xfe\x90\xe7\x33\xca\xbc\xd5\x0d\xf3\x44\x4e\x9f\xcd\xc5\xcf\x52\xd6\x1f\xb8\x32\x2d\x70\x87\x95\x89\x95\x79\x5d\xb3\xe8\x6e\x50\xa5\x58\xd1\x90\x16\xcb\x3d\xaf\x52\x8e\x59\x97\xc6\x00\x1c\x02\xac\x87\x9e\xe5\xa1\xe2\xef\x7e\x40\x10\xa7\x08\x1c\xa1\xc8\x5b\xf3\x27\xf9\xaa\x5f\x20\x6c\x81\xb3\x68\xe7\x4e\xaf\xdb\x52\x7c\xc3\x96\x40\xae\xda\x9e\x1d\xa6\x46\x89\x55\x76\x9d\x76\x8a\xe5\x9e\x1d\x9c\x21\x4c\x86\x10\x75\xd9\x99\x1c\x6c\x08\x91\xa8\x94\x90\x16\x10\x3e\x27\xe6\x78\x54\x71\xbc\x64\x87\x43\xfe\x5e\xf5\xa8\x4a\x11\xfe\x8e\xa2\x82\x24\xab\x8e\xf5\xa5\x0a\xf8\xbd\xb3\x22\x2d\xe4\xec\x83\x59\x16\x6b\xd2\x02\xbf\x9f\x98\x72\x63\xc5\x20\xa2\x73\x36\x77\xc4\x72\x86\xee\xaa\x9b\xef\x51\x3f\xa3\x1b\xba\xb2\xed\xf0\x26\xf2\x7c\x5c\xe0\x28\x08\x5c\x3f\x10\xd5\x17\xf1\xc5\x51\x76\x0b\xd6\x34\x67\x6b\x2b\xc0\x48\xc1\x85\x9b\xc0\xb1\xac\x6a\x37\x5a\x8a\x1f\x38\x1e\x70\xea\xa2\xa5\x7c\x68\xa1\x58\xf2\xa7\x9a\x17\x31\xc5\x1d\xa7\x9e\x8d\x36\xc5\x90\x18\x88\xb9\x8f\x81\x43\x02\x29\xed\x26\xd2\x5f\x05\x4d\x73\x6a\x61\x47\xd7\x90\xf5\xc9\x7a\xe8\xb7\x74\xb6\xde\x24\x02\x9d\x85\x65\x99\x73\x56\xf4\xc8\x33\xb5\x6d\xe7\x96\xa6\x83\xca\x76\xaa\xb2\xf9\x9c\xc0\x19\xb6\x4d\x9b\xa6\x58\x66\xc7\xaf\x75\xbf\x52\xd2\x34\x4e\x4a\x4f\x2d\x81\x1d\xa5\x34\xb3\x6d\x27\x95\x80\xbb\x5b\x2c\xc8\x26\xbb\xd9\x6d\x44\x45\x59\xe2\xc8\x1d\xe5\xb0\x41\x4b\x84\x88\x7e\x85\x57\x59\x71\xc5\x48\x44\x53\x3f\x14\x78\x8f\x89\x9f\x74\x46\x69\x2c\xba\x67\xdb\xe2\x47\xb4\xfa\x63\xce\xb2\x42\xce\xb5\x13\x8b\x86\x39\x15\xc9\xb8\xd1\x9d\x98\x10\xe2\x39\xdc\x73\x38\x9d\xad\x05\x9e\xb4\xed\xfe\x63\x44\xbc\x48\xac\xa4\xdb\xa5\x9b\x75\xe1\xd7\x53\x0b\xa2\x79\xaa\xe7\xde\xb9\x85\x04\x62\x42\xdc\x77\x65\x16\x5f\xad\x54\x6f\x30\x4b\x4c\x3a\x00\x4a\xfb\x85\x73\x4e\xfc\xe9\xc0\x8a\xb8\x74\x15\xd9\xb0\xe6\xce\x7e\xfe\x1d\xab\x77\xcb\x4a\x24\xef\x1d\x42\x96\x15\x3f\xe4\x2c\xe2\xce\xf5\xf6\xcb\xeb\x14\x2c\x8b\x40\x76\xfc\x89\xb3\xf8\xbd\x3b\x5b\x01\x17\x44\x67\x00\xc7\x63\x82\xc4\x48\x0b\x45\x59\x1e\x4c\x60\x6c\xa1\x5f\x8f\x89\x4d\x6e\xe9\x24\x8b\x52\x5a\x2c\xc5\x3a\x62\x35\x6a\x6a\x5c\xfc\xab\x27\x0a\xb2\xe3\xcf\x92\x32\x5d\xc6\x89\xb6\xcd\x28\xa5\x6c\x29\x49\x98\xa8\xe8\xfb\x87\x3d\xaf\xb2\x68\xa2\xcc\xac\x5f\x02\x46\x6c\x9b\x2d\x0e\xac\x3a\xf2\xaf\xf3\x92\xd5\x0e\x23\xf3\xf5\x0d\x5d\x89\x0a\x8c\xc5\x98\x1a\x81\x02\xc2\x99\xd1\xff\xa6\x61\xcb\xa2\x8c\xf9\x9b\xf7\x07\x2e\x41\x52\xf6\xdb\x61\xc4\x9b\xad\x5d\x66\xee\x42\xdb\x9e\xdd\x4a\xcc\x35\x48\xee\x29\x0b\x58\xd9\xf1\x47\xfd\xf2\x43\x62\x61\x15\x33\xec\xd9\x57\xfb\x43\xfd\x7e\xa2\x67\x88\x60\x36\x06\xf0\xaa\xf1\xae\x15\x60\x88\xd2\xa2\xb6\x4b\xf3\x48\x29\xf3\xd8\xdc\xb2\xdc\xb3\x1d\xc6\x9a\xc6\x5c\x32\x9d\xea\xed\xfc\x4c\x0d\x82\x04\x4d\xa3\x8b\xb9\xfa\x7b\x0b\x69\x5e\x86\x2c\xff\xea\x1d\xcb\xcf\x7b\x0a\x11\xe5\xef\x58\xbe\x61\x62\x06\xab\x6c\xef\x30\x02\xcc\xb6\x9d\x35\xae\xa4\xe2\x23\x1c\xeb\xe1\xc8\xaf\x8e\x75\x95\x45\xb5\x45\x3c\x27\xa4\xf9\x32\xaa\x38\xab\xf9\x57\x39\x17\x3b\xd6\xb1\x8e\x51\x95\x1d\x6a\x8b\x40\xb8\x44\x9a\xc4\x20\x5f\xee\x38\x43\xfc\xce\x8b\xf8\x8b\x5d\x96\xc7\x4e\x48\x96\x07\x56\xf1\xa2\xfe\xbe\x8c\xf9\xb2\xe2\xfb\xf2\x1d\xd7\x5f\x88\x1b\x39\x4c\x20\xfe\x88\xed\x79\x2e\x48\xfd\xd4\x0c\xb1\x6e\x9f\x1c\xc0\xda\x1f\x17\x56\xbf\x71\xee\xa1\xc2\x3d\x10\xf3\xef\xd9\x9e\x4f\xd3\x3f\x09\x1a\xe2\xbb\x6d\xf7\xcf\xcb\xba\x7c\x55\x3e\x6a\xfe\x82\x52\x1a\x0e\x53\x26\x28\xaa\xa0\x7d\x62\xfe\x62\xe0\x74\x05\x09\x65\x1a\xa5\xa6\xf4\xe8\x30\xb2\xc9\x12\x27\x42\x26\x32\x25\x27\x01\x0b\x9b\xe4\x86\x6f\xb8\xc4\x77\x31\x0d\x15\xd5\x63\x3e\x0f\x20\x22\x10\x53\x4a\x67\x6b\x12\x56\x9c\xdd\xb5\x3c\x3f\xf2\x2b\x51\x86\x4b\xf8\xf9\x9d\x25\x2e\xb7\x25\x61\x43\x14\xe4\x20\x7e\x7e\x5f\x7b\x1f\x2e\xa5\xb1\x1c\x6b\x41\x40\xcd\x87\x80\xd9\xb2\x5c\x47\x00\x74\xbf\x52\xa5\x40\x6f\x82\xf5\xb8\xe3\x23\x56\xcc\xe0\x73\xc3\xa6\xf1\x83\xcd\x18\xc1\x38\x47\x47\xa1\x66\x46\x88\xa7\x39\xa7\x08\xac\x23\xb2\xb7\xe6\xb6\x10\x4c\x18\x23\x6e\x22\x47\x12\x01\x23\x04\xa2\x16\xb2\xe2\xbc\x4d\x83\x93\x91\xbd\x0e\xbd\xc5\xda\x4d\x35\x53\xc3\x20\x12\xdd\x15\x4d\x8d\xba\x2a\xa6\x4d\x76\x77\x1e\x6a\x08\x88\xe9\x0a\x78\x07\x10\x9b\xe8\x26\xde\xc4\xf3\x39\x61\x3e\x9f\xcf\x03\x1a\xfa\x71\x37\x2a\x9d\x87\x72\x10\xbb\xb4\xe2\x87\xb3\x5e\xe9\x06\x04\x9c\xf9\x01\x24\x74\x25\x28\xb2\x6e\x6a\x47\x67\xd1\x26\xbd\x49\x36\xc9\x7c\x4e\x62\x3a\x0b\x1d\xe6\x27\x01\x24\x04\xe2\x19\xa5\x3b\xdb\xe6\xc8\xc2\x60\x6a\x47\x98\xf8\x98\xe9\x33\xa1\xf9\xac\x01\x01\xcd\x90\x51\x3f\x10\x20\xbd\x43\xa2\x6c\xb4\xa8\x1b\x14\x20\x29\xd7\x28\xb6\xed\x4c\x36\x1a\x93\x4d\x07\x5a\x89\x04\xad\xdf\x2c\xa0\xbb\xa8\xa0\xdd\x0f\x20\x13\x9c\xf8\x43\x16\xbb\x6b\x38\x54\xe5\xd3\x24\xac\x08\xae\x47\x15\x3d\x83\x83\xd0\xb6\x9d\x48\xf2\x0d\x21\x65\xc0\xa8\x68\xd8\xe4\x53\x98\xe0\x0d\xa8\xe2\xd6\x3b\x0e\x04\x5e\x10\x48\xe8\x39\x63\xc7\x54\xcf\x42\xc9\xd2\x01\x57\xe2\x97\x33\xae\x80\x20\x0f\xbb\x14\x5d\xa7\xcc\xfc\x11\x34\x49\xfc\xce\xe7\x90\x68\x16\x42\xa0\xad\x47\xf7\x4b\x56\xf3\x65\x51\x3e\xc2\xf1\xe1\x20\x64\x54\xf7\xae\x15\x7d\x45\x8e\xdd\xfa\x5c\x32\x68\x57\xdf\x3f\xec\x43\x5e\x5d\x49\x69\xee\x4a\x8f\xe2\x0a\x61\xfa\x4a\xd4\x70\xf5\x13\x4f\xbf\x7a\x3a\x5c\xc9\x6d\x22\xb9\x03\x0b\x79\xc9\xda\xb1\xae\x2c\x32\x12\x2a\x77\xbe\xe5\x4b\x8a\x71\x65\xcd\xc3\xb9\x15\x58\xc1\x19\xfa\x23\x1b\x5d\xe6\xea\xd8\xf3\xd0\x96\x84\x11\x4b\xac\xac\xc0\xa6\x1d\x3b\xdd\x91\xe2\xcd\x04\x9f\x11\x4d\xd0\x64\x49\x6b\x34\xd1\xb6\xed\xd0\x9b\xad\x5c\x8b\x89\x21\xa9\x22\x2b\x81\x94\x9b\xc6\x2a\x70\xf4\x83\xd5\x0d\x6f\x04\x63\xbe\x58\x23\x84\xb5\xa2\x6b\x35\x9d\xa0\x72\x9a\x37\x86\x1d\x64\x70\x0b\x77\x90\xc3\x1e\x0a\x28\xe1\x00\xf7\x50\xc1\x11\x6a\x78\xa0\xd6\x31\xfb\xf5\xd7\x9c\x5b\xf3\xf5\x73\xc1\x59\x89\xe9\x84\x77\xa6\x60\xfc\x48\x57\xf0\x44\x57\xf0\x9e\xee\x98\x43\xe0\x57\xf9\xf3\x99\xfc\xf9\x7c\x5a\x7c\x15\x3c\x91\x80\xc2\x9c\xce\x56\x04\x56\x2d\x7c\x41\xd7\x2f\x5f\x7e\xbc\x86\x2f\xe9\xa9\x1d\xcb\xe2\x5f\x89\x5d\xfe\x35\xfd\x6a\x79\x28\x0f\xf0\x67\xf1\x2b\x44\xfa\x6f\xf4\xc3\xb7\xf4\x2b\x25\xf9\xff\x85\x5e\xc2\x44\x2b\xc1\x27\x6b\xec\x13\xdf\x44\x9b\x48\x92\x02\xe6\x47\x81\xe8\x8a\x62\x48\xae\x22\xb5\x3c\x8b\x75\x0b\x7f\xa5\x56\xb4\xe3\xd1\x1d\x8f\x1b\x29\x33\xf3\xb8\x61\xc7\xf7\x45\xd4\xb0\x87\xba\x4c\xca\xe8\xe1\x88\x4f\x87\x9c\xbd\x6f\x84\xa4\x59\x95\xf9\xb1\x89\x79\xc2\xab\x26\xce\x8e\x2c\xcc\x79\xdc\xec\xb2\x38\xe6\x45\x93\x1d\xf7\xec\xd0\xe4\x65\x79\x68\xf6\x0f\x79\x9d\x1d\x72\xde\x94\x07\x5e\x34\x15\x67\x71\x59\xe4\xef\x1b\xa5\x34\x89\x9b\x63\x54\x1e\x78\x6c\xc1\x2b\x6a\xf9\xdb\xed\xd3\x8b\xd5\x76\x5b\x6f\xb7\xd5\x76\x5b\x6c\xb7\x49\x60\xc1\x77\xd4\x72\x3c\x77\xbb\xdd\x6e\x97\x8d\xbf\xdd\x3e\x2e\x82\xc6\x7f\xbb\xdd\x3e\xad\x56\x8b\xed\xf6\x89\xad\x02\x32\xb7\xe0\x7b\xfa\x5d\x47\x59\xac\x47\x0b\xac\xc7\x3f\x58\x04\x7e\xa0\xd6\x76\xeb\x5b\xf3\x57\x73\xeb\xb9\x63\xcd\xbf\x9b\x5b\xc4\xf1\x5c\xf5\xee\x3f\x7f\xfb\xac\x99\xfd\x3b\xf0\x28\x51\x29\x9e\xfb\x91\xd3\x37\xf5\x56\xfc\x7e\x14\x90\xe7\xe4\xa3\x66\x6b\x8d\x3f\x6c\x2d\xf1\x65\x6b\x35\x8e\x35\xff\x7e\x6e\x11\xd2\xa8\x5a\xb6\xdb\xc0\x82\x1f\xa9\xe5\xf6\x0d\x6e\xb7\x8e\xe3\xfc\xe7\x55\x93\x66\xfc\xc5\x21\xfe\x76\x1b\x04\x8d\x35\xff\x61\x6e\x91\xe7\xa4\x59\x3e\x27\xdb\xad\x68\x1a\xfe\x46\x05\xb0\xca\x6d\xef\xbc\x9a\x5b\x73\x0b\xac\xd4\x22\xf0\x93\x99\x6e\xbd\xc5\x3e\xce\xb1\xe2\xb7\xaa\xd2\x80\xe8\x56\xc8\x73\x39\x86\xf9\x33\x55\xf8\xf5\x44\xe1\xe7\x20\x7f\x2c\x02\x6f\xa6\x3e\x3b\xfe\xcd\xfc\xdf\xa2\x8b\xaf\xe6\x16\xe9\xb2\xfe\x7d\x90\x95\xea\xac\x6f\xb7\xdb\xe0\xa3\xad\x15\x3c\xf7\xcc\xd9\xc3\xb6\xff\x61\x96\xf8\x91\xc0\xcf\xe3\xc6\xbe\x9f\x5b\xcf\x2c\x02\xbf\xd0\xd3\xb7\x5f\xba\x83\x6f\x7f\x50\x53\x6f\x11\xf8\xe2\xd5\x67\xaf\x5f\x0f\xbf\x6e\xb7\xcb\xfe\xfb\x9b\xcf\xfe\x3c\xfc\x2a\x3e\x8d\x20\xe9\xb9\x45\x64\xe6\xcf\xde\xbc\xf9\xc9\x1d\xf5\xe2\x07\x02\x3f\xbe\xfe\xea\xef\x5f\xfe\x30\xfe\xf0\x23\x81\x2f\xbe\xf9\xf6\xd5\xa8\x6b\xae\x83\xc0\x8f\x7a\x8d\x26\x67\xc7\xba\x29\xea\x9d\xf8\xbf\x10\x2f\x64\xe1\x44\x82\x13\x6e\xca\x64\x21\x90\x9b\x02\x1e\x35\x5b\xfc\x1d\x2f\x9a\x32\x8e\x1b\xc7\xf1\xe7\x8b\xa0\x21\xce\x76\x1b\x3f\x27\x45\xd3\xc3\xaf\xfa\xa0\xde\xb7\xdb\x78\x4e\x1a\xd2\x4d\x2d\x02\x8a\x95\x09\xfe\xbc\x2c\xf3\xd1\xb8\xc5\xbe\xf8\xeb\xdc\x22\xcf\x54\x96\x82\xf3\xf8\xf8\x85\xd4\x27\x8d\xc7\x26\xaa\x93\xcb\xec\xf6\xbd\xe2\xf7\x4d\x5a\x37\xb9\x1c\x51\x3f\xc0\xe1\x18\x1c\xcf\x5d\x6c\xb7\x31\xf1\xb0\xeb\x46\xc7\x1c\x8f\xfa\x6f\x17\x41\xf3\x4c\x75\xb1\x85\x7f\xd2\x6b\xd1\xab\xac\x38\x3c\xd4\x0a\x21\x35\xa2\x33\xac\xe2\xac\x09\x1f\xea\xba\x2c\xc8\xb3\xeb\x0c\xfe\x87\x5e\xbf\xdd\x6d\x63\xf1\xf8\x8c\x5e\xbf\xf5\xdf\x9e\x82\xf9\xf6\xb4\x3d\x3e\xdf\xfa\x05\xab\xb3\x77\xfc\x6a\xfb\x78\x0d\xff\x92\xb5\xfd\xc1\xf1\x05\x06\x99\x93\xc6\xd9\x3e\xce\x49\xb3\x5d\xea\x04\xf2\xec\x1a\x18\xa3\xd7\xfe\xfc\xdf\xc1\x35\x84\x8c\x5e\x7f\xd4\x6c\xb7\xd7\x29\x44\x6c\x00\x79\xb8\x0f\xfd\xed\x36\x66\x8b\x24\x38\xad\xe1\x8f\x2d\x8e\xc2\x6b\xe4\x10\x49\xb3\xc4\x11\x08\x10\x8e\x19\x9d\x64\xb0\xa8\xb5\x7a\xb2\xe6\xe1\xe2\x8f\x9f\x7e\xfa\xf1\x1f\x35\xbb\x23\x98\xb5\xb8\x69\x22\x2f\x74\x57\x37\xb1\x27\x69\xfb\x32\xa9\xca\xfd\x17\x3b\x56\x7d\x51\xc6\xdc\x89\xe7\x58\x82\xb8\x93\x1f\x6f\x6e\xd6\xab\xe6\xd3\x4f\x5f\xfc\xe9\x8f\xb0\x5e\xbd\xf8\xd8\x8e\x9b\x4f\xff\xf8\xf1\x8b\x15\x0a\x2e\x26\x13\xb3\x77\x48\xbb\xa9\xab\xf7\xa7\x6f\x14\x1b\xf3\x15\xfd\x56\xf2\x2d\xef\x96\x08\x7d\x42\x2e\x3b\x12\x18\xbe\x7d\xe5\x9b\xef\x5a\xd1\xd9\xd1\xeb\x36\x62\x75\xb4\x73\x12\x46\x4e\xdf\xd0\x13\xd6\xeb\x7e\xa5\x72\x79\x43\x22\xf5\x67\x2d\xc5\x80\x6a\x36\x24\xa4\x9d\xe4\xfe\x99\xc1\x4d\x6f\x1e\x77\x59\xce\x05\xfd\x52\x0c\xf4\x7c\x1e\x90\x4d\xc7\x3c\x47\x8b\x75\xdb\xb6\x1d\x87\x92\x32\x9c\xf0\x18\xb8\xac\x2b\x81\x9d\xa2\xf7\x25\xd2\xf9\x47\x78\x12\xac\xac\x13\x7a\xe1\xb2\x7c\x2c\x78\xf5\xa5\x22\xee\x4d\x13\xba\xef\xc8\x8c\xd2\xc2\xb6\xf7\x4e\x48\x20\x14\x2c\x47\x01\xb1\x58\x1b\x3f\x80\x3b\x1a\x76\x63\xee\xe4\x8d\x99\x21\x9c\xcf\x58\xd3\xac\x67\x94\xde\xd9\xf6\x9f\xe4\xcf\x1a\x5f\x35\xc1\x8d\x45\xbb\x33\x6e\xdb\x07\x94\x0c\xd7\x2a\xaf\x93\xd0\x7f\x2d\xf9\x13\x47\xf1\x57\x10\xea\x5b\x9a\xf8\xeb\x00\xf3\xfc\x89\x8a\xf2\xe2\x69\x47\xc3\x65\xca\x6b\x25\x6f\x7f\xfe\xfe\xdb\xd8\xb9\x25\x30\xdb\x35\xcd\x6c\x67\x08\xd5\x83\xb6\x76\xcb\x4c\xc8\x6c\xb7\x5d\xa2\xe4\xb3\x77\x04\xe2\x4e\x66\x1c\x4d\x82\x6d\x63\x4b\x83\xb4\xf3\x76\x89\x6d\xd7\x4e\x08\x3b\x62\xdb\xbf\xd5\x86\xe8\x7b\xe2\xbf\x08\xf4\x77\x0d\x79\x31\x98\xe3\x39\x7e\xfe\xfe\x0d\x4b\x85\x2c\x2e\x26\x01\xb0\xf7\x38\x0f\x1f\x07\xc4\xb6\xa3\x61\xce\x2f\x72\x76\x3c\x8a\xbc\xbf\x59\x67\x97\x53\xf4\x19\xe2\x56\x48\xe5\xcb\xfb\xa3\x90\x23\x67\xf7\x4d\x33\xbb\x5f\xd6\xfc\x88\xa2\x24\xce\xf1\x91\x56\xf4\x01\x1e\x69\x08\x4f\x54\x2d\x0e\x03\xc1\x9c\xde\xf5\xa7\x4b\x33\xaa\xc0\xe0\x5c\x71\x40\x4e\x25\x4d\x85\xb8\xe4\x54\x72\xb1\x3e\xab\xeb\x2a\x0b\x1f\x6a\xee\x58\x59\x6c\x11\xe2\x1d\x69\xd5\x11\x98\x90\x81\xb5\xdd\x3e\xb3\x2d\xe2\x86\xcb\xe3\x38\x33\x1c\x09\x1c\xa9\xe5\x67\x31\xfd\xc8\x9a\x1f\xe7\xd6\x47\xc1\x95\x05\x39\x2d\x35\x63\x27\xf7\x44\xbe\x58\x90\xd2\xcf\x03\x7a\x9c\x57\xcc\x11\x4f\x64\xf3\x48\x19\xd3\xe3\xb2\xed\x03\x73\x42\x13\x3e\x9a\x46\x8c\xae\x5c\xde\x96\x59\xe1\x58\x60\x11\x31\x29\x4f\x44\x20\x85\xb3\xd9\x7c\x5c\xe2\xb1\xca\x6b\x75\x8a\xf2\x59\x9e\x3b\x4f\x38\x8f\x72\xc7\xbf\x27\xa7\x36\xc9\x0a\x96\xe7\xef\x4f\x55\xd3\x84\x4a\xa1\x33\x1a\x75\xdb\xb6\xaa\xe2\xcc\xe9\xb5\x37\x3f\x81\xf5\x6c\x2d\xa8\x11\x6e\xd4\x7e\xf7\x0a\x46\x5a\x2a\xb4\x85\xc8\xd9\x25\x87\x4e\x24\xf6\x73\x27\x84\x21\x8c\x45\x73\x21\xcf\xdc\x08\xc9\x2b\xda\xf1\x57\x38\x2f\xb6\x1d\xf3\x9c\xd7\xfc\x2a\xf4\xd9\xf2\xb8\xcb\x92\xda\x21\x01\x84\x3e\xe6\x0d\x28\xd7\x7d\x09\xfb\x26\x33\x66\xea\x97\xfc\x87\x80\xce\x56\xc0\xfa\xef\xb7\xcc\x3c\xaa\x19\xa9\xbd\xe2\xec\x9d\x45\x36\xfd\xec\xcd\x66\xcc\x09\x89\x9a\xa0\x4e\xab\x30\x5b\x77\x13\x65\x2e\x86\x6d\x87\x97\xf5\x61\x10\x52\x21\x20\x1b\x98\xed\x8e\x0d\x31\xa4\x92\xe9\x1a\x8b\x98\xfa\x06\x09\x18\x7c\xb1\x20\xf1\x92\xd5\x75\xf5\x0d\x2b\xe2\x9c\xfb\x91\xcf\x83\x80\x1a\xc3\xce\x07\xb5\x85\x02\xd4\x63\x1a\xd9\xf6\x58\x18\x5b\x53\x6a\x20\x3e\xdb\x76\xfe\x1d\x2e\x8f\xe5\x43\x15\xf1\x6f\x8b\x98\x3f\x35\xcd\x17\x64\xe1\xfc\x9b\x8d\xd3\xc4\x0e\x8e\x07\xd8\x28\x22\xb2\x6b\x11\x8d\x96\x05\x7f\xaa\x5f\x67\x61\x9e\x15\xa9\xc0\x78\x91\x21\x97\x2c\xd6\x9d\x7a\xc4\x5b\xbb\x8b\x75\xdf\xe3\xbd\xb9\x50\xfd\x31\x54\x37\x84\x0b\xdb\x52\x4b\xa1\xc8\x4d\xa0\x3c\x29\xe6\x1d\xcf\x0d\x29\x65\xc6\xfc\x16\xff\x57\xf5\x3b\x46\x03\x4d\x63\x49\x2e\x05\xdf\xc8\x85\xf6\x4a\xb3\xbd\x8c\x39\x66\x93\x1a\x4c\xe9\x3c\x04\xf3\x53\x04\xb1\xec\x0f\x87\x84\x32\xc7\x0f\x20\xd2\x94\x32\x24\x90\xd2\x64\x08\x06\xe9\x62\x41\x22\x9f\xd3\xc4\x4f\x83\xc0\xb6\x1d\x01\x05\x74\xe6\xc4\xe2\x47\x3c\x13\xd2\x8a\x7f\x5d\x97\x0e\x83\xbd\x60\xdb\x53\xe7\xd4\x6c\x12\x6f\xdb\x36\x6b\x23\x9a\xb2\xa5\x52\x5e\xd0\x53\x0b\x89\x78\xcf\x8e\xbf\x7c\xf7\xea\x5c\x22\x47\x65\x1e\x1b\x53\x60\x46\x3a\x59\x5b\xb5\xd0\x9d\x7f\x7a\xd6\x37\x6f\xbe\x7b\x35\xc4\xbf\xee\x6c\xdd\xc2\x1e\x5b\xe5\xb5\xae\x65\x42\xfa\xe7\x90\x52\xe6\x9d\xb7\xe6\xbe\xeb\x4e\x6b\x24\xdd\x17\xf4\x36\x35\x80\x3d\x1d\x77\xc7\x73\x0a\x9a\x42\x49\xcf\x3e\x00\x17\x69\x3c\x61\x0f\x79\xfd\x8f\x8c\x3f\x02\xb7\x6d\x3e\xa3\x54\x00\xcb\xc1\xb6\x1d\xbe\x64\x71\xfc\xd5\x3b\x5e\xd4\xaf\xb2\x63\xcd\x0b\x5e\x79\xe7\x49\x8e\xf5\x50\xe4\x25\x8b\x2d\xe0\x0c\x66\x6b\xe2\x72\xb1\x85\x59\xb4\xc3\x5c\xb6\x3d\x78\x75\xac\xb2\xe8\xb3\x13\x02\x07\x3a\x4b\x9c\x94\x40\x84\xfb\x1e\x51\xf0\x91\xde\x1a\xc0\x63\xaa\xd1\x23\x4d\x1a\xa9\x95\x59\x30\x63\x23\x7a\xd5\x7d\xb6\x48\x2b\x6a\x9c\x5a\xf2\x8b\x75\x9b\x2a\xff\x54\x61\xcc\x2f\xca\xbd\xc4\x98\x16\x21\xaa\xb9\x73\xda\x2f\xe4\x45\x05\xc0\xe7\xad\x76\xc4\x9c\x3e\x93\xe4\x2d\xbd\xc4\x16\xc8\x92\x82\x57\xb9\xd0\xc5\x72\xd0\x45\x46\x04\x0f\xf3\x00\xb3\x51\x85\xa2\xae\xa6\x99\x4a\x75\x1e\xc6\xdd\x14\x8d\x79\x4e\xbc\x4c\xb2\x22\x5e\x7e\xfb\xe5\x48\x39\x93\x25\x93\x16\x1f\x63\x8e\x0e\x39\x43\x8d\x6c\x46\x4c\x57\x6f\x09\x10\x09\x86\xa8\x27\x1b\x9e\x1f\x05\xae\x1f\xb4\x2d\x88\xd6\xf3\x9a\x57\xc3\xf6\xbb\xfd\xd6\xd1\xde\x88\x41\xdc\x57\x37\xb9\x82\xe7\xcc\x8b\xc0\xd0\x6d\x4b\x5c\x47\xd1\xd7\x6e\xa8\xff\x0f\x34\x2b\x87\x7c\x11\xd7\x74\x3d\x91\x34\xf3\x3c\x4d\xf6\x70\x30\x3f\xef\x58\xfe\xc0\x55\x9f\x41\xf5\xf5\xcd\x67\x7f\xa6\xd3\x90\xec\x4d\x29\xee\x7e\x6b\xc5\x8c\xe2\x17\x59\x59\x17\xd9\x4d\x2f\x3c\x67\xa4\x58\xa7\xfb\x9d\xd4\x68\xc7\xd4\x0f\xd4\xd1\xd2\xc5\xca\x05\x51\xb5\x9e\x0b\x12\xc3\xc8\x49\xd3\xd6\x04\x8f\x19\x88\xa0\xda\x91\x81\xc8\x14\x5b\x1e\x75\xb3\x14\x6b\x4e\x28\x69\xf5\xfc\xa0\xc2\x64\x3c\x43\xdd\xae\xb2\xed\x49\xed\xe6\x61\x3c\xf8\x9e\xe7\xee\x87\x08\x95\x18\xce\xbd\xf8\x23\x19\xf0\x7e\x0b\x8f\x27\x46\xc8\x16\xce\x68\xd7\x9e\x6f\xd7\xa2\xe0\x95\x20\x07\xd4\x7a\xc9\xae\x24\x8f\xfc\x30\xb7\x3e\xba\x79\x79\xcd\x6e\x5e\x4a\x85\x41\x9f\xbc\xd8\x26\xc1\x47\x57\xfb\x23\xcb\xf3\xf2\x31\x62\x87\xfa\xa1\xe2\xf4\xa3\x8f\x6e\x5e\x96\x07\xa9\xd3\x56\x1a\x4f\x4c\xbb\x96\x89\x37\x2f\xaf\x65\xf2\x8d\x05\xec\x7c\xf5\x2c\x7f\x58\xdd\x5b\xfa\xd1\x47\x41\x87\xbb\x6c\xfb\x5e\x4e\xb7\xe5\x3f\x7f\xfb\x2c\xa0\xbd\x8e\xf1\xa3\x66\x6b\x6d\x51\xa1\x34\x59\xa9\xee\x49\x5f\x55\xd3\xe8\xaa\x7a\x6d\xa6\xe7\x22\x74\x37\x52\x69\x73\xa9\xae\x2c\xfe\x37\x95\xc3\x9f\xaa\xed\xdf\xf4\x42\x39\x57\xe9\x81\x27\xca\xf4\x9f\x26\x4b\xb2\x3f\x60\x73\xf3\xe7\x13\x45\x97\x7f\x58\xce\xfd\xf9\xbf\x03\xa4\x26\xa3\xd5\x95\x78\x22\x1d\x73\xd6\x92\x9b\x22\x9b\xb1\x70\x24\x76\xa2\x05\x96\x54\x36\x63\x57\x46\x27\xcc\xc3\xec\x85\xa0\x61\x60\x7d\x79\x69\x9a\xc4\x77\x1a\x4f\xad\x1d\x96\x94\xfa\xae\x4e\x5d\x7c\x69\xd2\x78\x81\x2a\xf0\xa9\x49\xd3\x9f\xc0\x72\xb5\xa6\xfc\x42\x2d\xcf\xc1\x7d\xb2\x08\xe8\x92\xb0\x7c\xee\x8a\xf9\x22\x62\xcf\xec\x85\x40\xc1\x8f\x3a\xbf\xde\x3f\x47\x5a\xea\x4f\x4d\x53\x2e\x1f\x79\x78\x97\xd5\xdf\x0d\xf3\x8a\x0f\xfb\xf2\xd7\x89\xd4\x72\x2a\xe7\x71\x94\x28\x36\xe4\x68\xc5\xa2\x65\x9c\x1d\xa3\xb2\x28\x10\x58\x31\x3f\x3d\xaa\xf3\x2f\x90\x22\x11\xf4\xef\xfe\x71\x26\x76\x07\x8e\xad\x52\x63\x9b\x51\x0b\x7e\x14\xb0\x70\x4f\xef\xbb\x89\x37\x54\x6d\xf7\x4a\x3e\x6d\x04\xb7\x50\xd1\x6a\x2a\x4f\x65\xe6\x09\xf5\x8c\x94\xcb\xa8\xdc\x0b\xea\xa8\xd9\xbc\x1f\xcb\x63\x26\x3a\x4e\xa0\xa6\x61\xd3\x18\xd9\x8a\x9a\x65\xc5\x91\x78\x53\xfa\xa7\x3f\x0d\xa4\x20\x8f\x8d\xd9\x3d\x57\x48\x4b\xe1\x50\x80\xdb\x18\x07\x3e\x71\xd3\xcc\x9c\x59\x2c\x15\x42\xb1\x61\x90\x32\x73\xa2\xae\x69\xaf\x7f\x74\x62\x82\xa6\x29\x93\x5d\xb7\xed\xf5\x1f\xed\x8b\x5f\xd1\xbe\x69\x4c\x45\xb2\xc4\x09\x95\xbc\x15\xd2\x81\x02\x40\x7c\x41\x92\xa1\xcd\x51\x36\x9d\x8c\x0a\x9f\xd3\xd0\x3b\xab\x87\x99\x87\x46\xb9\x10\x8e\x57\x1b\xa9\xcb\x9c\x5d\xec\xd3\x62\x16\x5e\xfa\xd4\x11\x20\x2f\x76\x9d\x98\x4e\xc9\x00\x94\xd2\xb1\x5e\xaa\x69\x42\xe2\x5d\x9e\x82\x90\xb8\x6b\x58\xdb\x62\xd6\xa5\x15\xdd\x97\x5c\xf0\xc9\x3c\x16\x2b\x74\xa9\x10\x36\x14\x7b\x62\x7c\x69\xd3\x8c\xfa\x41\x29\x7d\x67\xdb\xb5\xf3\x0e\x18\xf1\x16\x6b\x37\x94\xb9\xc2\x4b\xb9\x42\xe2\xad\xdd\x3b\xef\x2f\xce\x1d\x30\xb2\x10\x3f\x21\x71\x57\xee\x27\x76\x2c\x4a\xaf\xa7\x16\xe8\xd2\xc4\x46\x9d\x09\x41\xbf\x6c\xc8\x07\x18\xaf\x3b\xea\xb3\x00\x32\xea\x87\x81\xd4\x2a\x36\xcd\x2c\x21\x06\x00\xa6\x5d\xa7\xbd\xb5\xcb\xc5\x4b\x32\xd5\x41\x51\x58\xf0\x49\x5d\x59\xa5\x16\xd8\x44\x94\x6d\x7a\x79\xdd\x80\x9f\xdd\xf2\xa1\x90\x8a\x95\x48\xe4\x0a\xa7\x73\x65\x66\x2e\x99\x63\xe7\xc7\x01\xa5\x34\xf3\xe3\x80\xc4\xf3\x79\x0f\x07\x39\xc3\x6f\x80\x5f\x5c\x95\xed\x9d\xe8\x72\xa6\x9f\xd7\xee\xaa\x85\x94\xb8\x45\x0b\x29\xd3\x18\x6f\xfa\xb8\x15\xf5\xbf\xc5\x43\x9e\xcb\x3f\x21\x31\x8b\x74\xf8\xf3\x6c\x31\xa6\xe0\x50\xeb\x82\x19\xea\x82\x3b\x46\xf6\xef\x60\xd1\x8f\x9e\xad\x05\xc1\x87\x99\x33\x3b\x43\xce\x4d\x33\x3b\x34\x4d\x65\xdb\x95\xc4\x35\x21\x69\x9a\x7b\x41\x57\xd4\x1b\x41\x6d\x9b\xdc\x42\x1d\x9a\x0c\xa5\xc6\xa4\x69\x26\x90\xab\x00\xce\xb8\x53\xd0\xa2\xde\xb8\x4f\xe8\x70\x4b\xa7\x6c\x51\xda\x27\x4e\x4e\x6d\x3f\x27\x21\x14\x72\x42\x7c\x16\x68\x2a\x75\xb3\xc2\xb9\xd1\x38\x68\x72\x3e\x7f\x63\x5e\xb4\xf1\x77\xca\x50\xe8\x1c\x55\xf1\xe1\xc2\x08\xec\x9c\x0e\xd4\x54\x23\xd3\x83\x00\x12\xca\x6d\xfb\x4b\x39\x4b\x66\x4e\x18\xe5\x24\x1e\x47\xbd\xff\xec\xa0\xb9\x4e\x0d\x60\x9d\x95\x66\xe2\x25\xae\x29\x1b\x8b\x75\xf2\x46\xb2\x4e\x48\x5c\x27\xa1\x13\x22\x46\x28\xe8\x60\xb2\x3c\x1e\x78\x94\x25\x19\x8f\xbd\x44\xca\x18\x2e\x2a\xe9\xc4\xf8\xd1\x46\x93\x7e\xc8\x46\xd3\x7a\xfd\xbe\xa8\xd9\xd3\x15\xe6\x84\xab\x87\xa2\xe2\x51\x99\x16\xd9\xaf\x3c\xbe\xe2\x4f\x87\x8a\x1f\x8f\x59\x59\xb8\x57\xd6\x9c\xc9\x29\x7d\x28\xb2\xfb\x07\xfe\xba\xac\xa6\x94\x1a\x86\x88\x80\xdb\x38\xa7\xb3\x68\x19\xf3\x9a\x47\xf5\x97\x0f\x87\x3c\x8b\x58\xcd\x8f\x70\x47\x15\x46\x7c\x5d\x0b\xde\x43\x88\x4f\x68\x40\xe0\xac\x04\x13\x22\x3e\x38\x9f\x13\xc8\xb5\x00\x11\x52\xe6\x27\x42\x80\x40\x1a\xe1\x27\x81\x6d\xa3\x75\x0c\x92\xed\x84\x10\x43\xbd\xc8\x94\x81\x32\x6a\x93\x60\x4d\x34\xb0\xdd\xa1\xde\x12\x58\x0b\x9c\xa6\x38\x93\x6f\xf8\xd3\xa4\x4d\x06\xb5\x2c\x44\x75\x89\x41\x6a\xc5\x48\x12\x79\x3e\x22\xd0\x52\xd3\xfc\x49\xfe\xac\xf1\x55\x8a\xd2\x67\xb6\x5e\x68\x72\x88\x07\x96\x45\xdd\x21\x41\x33\x11\xed\x31\x19\x65\x4b\x3c\x9c\x44\x56\x71\xc3\x36\x22\xc1\xd4\x44\x46\x73\x8a\x16\xb0\xfa\x6c\xe4\x63\xd9\xf4\x27\x26\x7e\x94\x3d\xfd\x87\x58\x7a\x99\xaf\x9f\x37\x3c\x97\xc2\x3a\xc2\x5e\x18\x6d\x21\x96\xfa\x29\x89\x1b\x8e\xf4\x64\x68\xab\xdd\x4f\x57\x20\xd9\xde\x1f\x8f\xfc\x21\x2e\xdd\x8c\x01\x22\x13\xf7\x17\xe8\x41\xdd\x3d\xb5\x20\x04\x34\xf1\x5b\xf1\x1c\x0f\x36\xdd\x93\x75\x63\xb9\xa7\x38\xab\x5c\xab\x47\xbb\x96\xb2\x9a\x9f\xad\x5a\xb0\xae\x26\xbe\xb7\x60\xcd\xbb\xe4\x8a\xbf\xcb\xca\x87\xa3\x1a\xfd\xa0\xec\xbf\x2f\x65\x6a\x5b\x38\x54\xfc\x6b\x14\xf8\xdd\x13\x9e\x8a\x4f\x29\x10\xfc\x75\x40\xc5\x9f\x91\xf0\x0f\xcc\xff\x38\xa0\x8e\xf8\xdb\x34\xcc\xff\x04\xff\x7e\x1a\x34\x8d\x69\x1d\xa8\xb2\x0a\x11\x05\x61\xf0\x85\x80\x41\x2c\x68\x89\x9d\xe1\x7f\x1c\xa0\xde\x1f\x3a\x40\x86\x4f\x48\xab\x0e\xdc\x3f\xd8\x97\x01\xbe\x00\xab\xa8\x77\xb2\x81\x75\xd0\xd5\xf4\x31\xf1\x54\xef\xf4\x86\x76\x98\xbf\x0a\x44\xc7\x3f\x09\xe8\xdc\x11\x3f\x9e\xe8\xb2\x78\xfc\x63\xd0\x34\x6b\xe2\xbe\x78\xee\x58\xfc\x1d\x2f\x64\x65\x1f\xa3\x09\x6e\x1c\xeb\x37\x22\xca\x7e\x2a\xcb\xfe\xff\x82\x39\xf3\xff\xfb\x2c\x83\x2b\x7e\x6c\x7b\xdc\x62\xab\xad\x0b\xa6\x76\xce\x4c\x34\x6f\xdb\x62\x76\x34\xa8\xfd\xb2\xc4\x39\x50\x47\x3f\xa2\x0e\x4f\x6c\x44\x17\x07\xe4\x89\x9c\x74\x38\xe5\x6e\x64\xdb\xff\x90\xd9\x23\x21\x75\x87\x34\x75\x22\x98\xad\x88\x7c\x89\x7a\xeb\x5f\x62\x75\x6a\xe6\x45\x48\x16\xfa\x99\xe0\xc2\xac\x44\xbd\xab\x7e\x0e\x43\x31\xe2\x17\x81\xf6\x51\xc2\x14\x73\xb5\x3e\x26\xa4\x15\x00\x2d\x41\xe8\xcd\x67\x7f\x9e\xf0\xcf\x18\x6b\x8d\xa6\x35\xfa\x52\xf7\xe1\x9d\x59\xe9\xcd\x06\x4a\x95\xff\xd8\xf8\xb7\x6d\x95\xed\xc8\x79\xbf\xde\xfb\x0c\x0f\x92\x3a\xad\x74\xd3\x38\xe1\xc0\x46\xc0\x79\xdb\xd9\xbf\xb0\xb9\x25\x0d\x03\x9a\x67\xc4\x12\x93\xfa\xde\x61\x30\xd1\xaf\x50\xae\xc1\x04\x5a\x8b\x7a\xe5\x8b\xf1\xd2\x34\xbf\xad\x2a\x1b\xab\xc9\x94\x46\xd7\x22\xb8\xd7\x5a\xd2\xc2\x68\xef\x0e\x8c\x60\xbb\x64\x7d\xd8\x40\x15\x7d\x77\x62\xc3\x25\x49\x9a\xca\x72\x4f\x48\x73\x62\xde\xdc\xd0\x73\xf8\x5c\x20\x75\x4b\x26\x78\x82\xb3\x8c\x5c\xfd\xdd\xe3\x33\x7c\x7d\xab\x5e\x23\xdb\x5e\x51\x4a\x79\x07\x67\x11\x71\xad\xe7\xfd\x47\xf3\xc3\xcd\x62\xed\x5a\xcf\xcc\x6f\x12\x9c\x7a\x58\x94\x4d\xfd\x5b\x65\x71\x04\xae\xe0\x1d\x14\xfd\x4d\xa0\x43\x82\x78\x63\x5c\x69\x63\xf6\xb5\x69\x78\x07\xa7\xba\xe6\xf9\x1a\xeb\x9e\x5b\x0b\xcb\x9d\xad\x89\x40\x90\xe7\xe8\x46\xbb\xdf\x28\x9b\x03\x8a\xd8\x05\xf9\xb4\x1e\xec\x21\xa5\x56\xce\x8e\xb5\x99\xbe\xf8\x84\xc0\x8e\x5a\xca\xe8\x07\x7b\xa2\xa7\x57\x10\xbc\x58\x4d\x91\x37\xe1\x40\x31\x33\xe5\x03\x03\xe0\x45\x4f\x32\xd9\x8f\x81\x9d\x23\x4d\x66\x42\x1a\xb0\x0c\x8a\x67\x4d\x50\x81\xfb\xa1\xa0\x51\xd1\x9d\x90\xa1\xa6\x77\x0b\x1c\xe9\x2c\xb3\xed\xd9\x4e\x50\xed\x7b\x24\xce\x89\xe6\x24\x0e\xe4\x94\x77\xd2\x41\x4e\x73\xff\x10\x08\xd9\x73\xe7\xe5\x97\xb7\x5e\x85\xa6\xa0\xf9\x98\xa5\x9d\xad\x37\x25\x3d\x50\xab\x2c\x72\x34\x08\x65\xb6\x3d\x2b\x6d\x7b\x30\x92\xb6\xdb\xfa\x59\xe2\x94\xd4\x4f\xbd\x7b\x83\xd8\xbb\xf7\x4b\x31\xf3\xf8\x1c\x40\x6a\xdb\x47\x72\xba\xa3\xf7\xfe\x43\xd0\x34\x8e\xf8\x41\x3f\xa5\x5b\x7a\xe7\xb3\x00\x8d\x3d\x0a\x7a\x2b\x10\x1b\xa5\x8f\xb6\x7d\xeb\xaf\x03\xd8\x0f\x12\x5e\x04\x90\x0b\x36\xf6\xde\x30\x8c\xf1\x8b\xa0\x1b\xed\x7c\x5e\xd8\x76\x6e\xdb\x62\xd4\x4d\xe3\xec\x69\x41\x57\xa4\x69\xca\xe5\xa1\x3c\x38\x68\xe4\x31\x1c\xa8\x6d\xcf\xe7\x7b\xdb\xce\x51\x22\x3c\x89\x5e\x50\xff\x11\x0a\xd8\x07\x1b\x69\xa4\xdf\xf1\x24\x47\xf4\xcb\x72\x42\xd9\xf5\x50\x75\x9d\x08\xae\x5e\x74\x4c\x76\x91\x88\xde\xae\x83\x8d\xc1\xa0\xfc\x9e\x3e\xfd\x87\x8b\xa3\x3a\x8d\x5d\x72\x72\xd9\xa1\xdc\xe8\x90\x18\xc2\x3e\x20\x20\x47\x35\xf4\x1b\xd8\x2f\x28\x87\xbd\x54\x94\xec\xff\x2b\xa6\x94\xae\x6c\x7b\x7f\x1d\xdf\xd0\x55\xdb\x4e\x50\x3e\xc3\xd6\x5b\x70\xa3\xc8\x2d\x1d\x71\xb1\xe2\xe5\x91\xd7\x92\x21\x39\xfa\x6c\x24\x3e\x18\x74\xdc\x7a\x28\xd4\xd1\x24\x8f\xaf\x64\x05\x92\xd3\xee\x8c\xce\xfd\x87\xc0\x43\x09\x80\x6b\xf9\x68\xed\x39\x11\xf5\x19\x30\xb0\x2c\x08\x03\x30\xdb\x1a\x59\xee\x3a\x6c\x2c\x8f\x98\xc7\xb6\xcc\xb4\xb0\x47\x41\xe5\xc2\x61\x6d\x4c\xff\x22\x88\x84\x9f\x22\xcf\x11\x07\x74\xe6\x44\xe2\x07\x53\x5a\x32\x45\xd6\x44\x75\x2b\x88\xc4\x57\x2e\xd8\x33\x39\x37\xee\xa9\x28\x6b\x37\x9b\x52\xb5\xfa\x01\x28\x37\xe2\xdd\xb9\x45\x46\x7f\x40\x20\xa6\x63\x38\x06\x81\x59\x3a\xab\xaa\x94\xc6\x5a\xd0\xe6\xe0\x07\x02\x8d\x8d\x6c\x10\x76\x8b\x05\x71\x12\x9a\xfa\xbb\x40\x72\x0a\x3b\x31\x9c\x50\xfc\x24\x64\x38\x18\xe0\x90\xf4\xf4\x10\x59\x0a\x88\x85\xcc\x2a\xaa\x47\x67\x01\x4c\xc4\xd7\x59\x24\x21\xb6\x6d\x09\xec\xd8\x71\x3c\xc6\x89\xf3\x7b\x53\x33\x10\x1a\xc2\x6f\x4b\x40\xcb\xbe\x17\x6a\x61\x67\x9c\x08\x9c\x57\xec\x84\xa6\xa8\xd1\x34\xa1\x3c\x9f\x10\x52\x4f\xd3\xa0\xe4\xd8\xd1\x1c\x26\x68\x8e\x68\x37\x67\x45\x7a\xa1\xcd\x9f\x15\x07\x87\x94\xfa\x12\x00\x63\x79\x04\x5f\x38\xef\xe3\x08\x49\x9f\x99\x32\x6c\xe2\xf2\x0a\xad\x2e\x0e\x5e\xb8\xc4\x9a\xc6\xe6\x4a\x4f\xfb\xdc\x15\x1f\x44\x07\xc6\xdf\x64\x7a\x67\x45\x4e\xa3\x51\x73\x91\xc0\xd0\xd2\x64\xbf\x67\x21\x99\x20\x9f\x5a\x7a\x1c\xab\x24\xc7\x46\x26\xa4\x57\x49\xb6\x04\x6a\x56\x0d\x5c\xb1\x4d\x1b\xc1\x32\x62\x52\x41\xda\x3f\x8b\x7d\xb9\x1b\x9c\x05\x4a\x4a\xbb\x96\x8e\x5d\x59\xdc\x42\x55\x96\x93\xae\xdd\x8c\x52\x5a\xb6\x80\xe6\xee\x97\xbe\x17\x4b\x16\x09\x01\x4c\xe9\x81\x6d\xdb\x99\x61\x93\x5f\xa3\x8d\x7c\xd3\x3f\x3b\x82\xe3\x9b\xcd\x04\x5e\x40\xc5\x2f\x5b\xee\x2a\x9e\x34\xcd\xbf\xd9\xb2\x66\x21\xda\xc9\xa0\xfb\x30\x9e\x08\x4c\xb3\xab\xfa\xbc\x00\xfd\xae\x5a\xd0\xaf\xbf\x9d\x79\xd5\x82\x3a\xab\x99\xe4\xad\x7f\xa7\x9d\x4c\x28\xfa\xcf\x96\xda\x31\xa0\xb1\xe4\xd1\x98\xf1\x49\x9f\x57\xb5\xa0\x9f\xa6\xfb\x66\x9a\x3c\x99\x6f\x5d\x05\x38\x1d\xd0\x57\xa8\x06\xc1\xf7\x87\xfa\xfd\xa0\xca\xdf\x25\xc7\x67\x89\xd3\x2b\x14\x5e\xfe\x71\xca\x03\x53\xf6\x61\xca\x2f\xb5\xa3\x2e\x4b\x6c\x1d\x3d\x62\x77\x9c\xc5\xbc\x9a\x1a\xdb\xff\xa8\xcd\xda\xcd\x29\x69\x01\x27\x70\x2a\xf3\x3f\x27\x32\x4b\x3b\xa1\xff\xcb\x65\x32\xac\x8d\x34\xb8\x19\x49\x61\x0b\x68\xc9\x7d\xee\xa5\x3a\xae\xea\x52\x9b\xb6\x6d\x89\x1a\xfa\xfa\x6d\xdb\x91\xdc\xbf\x13\xd2\xb1\xa0\x81\x8c\x2c\x11\x82\x86\x2e\x33\x56\xd5\x69\xe7\xfe\xd2\xc0\x7f\x7a\x92\xfc\x55\x80\xe8\x71\xf4\xd9\xd0\x48\xfa\xe1\x62\x2d\xf2\xf0\xfb\x71\x8e\x5e\x82\xf1\x57\x37\x91\x17\xcd\x43\x37\xc2\x9c\xef\x78\x71\x5e\x9b\xe1\x31\xb3\x09\xd1\x4d\x86\xbe\x20\x6c\x7c\x4e\xce\x5a\x02\x65\x1c\x7f\xa8\xf8\xfa\x37\x8a\xe7\x67\x43\x19\x78\xf6\xd1\xae\xaf\x9b\xc5\x42\x30\x40\x1b\x5d\x4d\x3c\xa8\x26\xfd\xdd\xd5\xcc\xe7\xf1\xcb\x70\xba\x16\x34\x13\xd1\x00\x5e\xd4\x3b\x6a\x80\xfb\x7d\xe7\xb5\x7c\xaa\x58\x9c\x95\xee\x6c\x25\xd1\x48\x58\x3e\x89\xe7\x24\xcb\xb9\xf8\x3d\xb0\xe3\xf1\xb1\xac\x62\xf1\x9c\xed\x59\x2a\x12\x5b\xd2\x73\x65\x61\x40\xf7\xcc\x09\x49\x5f\xdd\xf1\x21\xdc\x67\xb5\xc8\x5f\xf1\x23\xaf\xcf\xf3\x17\x32\xbf\x36\x43\xbb\x67\x0e\x39\xb5\xf7\xcc\x08\xf1\xa1\xad\x4c\x8e\x7d\x8f\x07\xec\x18\x0a\xe1\xf7\x0c\x52\x21\xaa\xd6\xe5\x1d\x2f\xb2\x5f\x39\xbd\xe0\x2c\xd8\xbb\x81\xd1\x5f\xb5\x44\x9f\x25\x4e\x67\xa9\x1d\x7a\x2b\xf7\xae\xd3\x93\x6e\x76\x94\xa1\x0b\x24\xdc\x8a\xc6\xb5\xfa\x4b\x73\x39\xe4\xe4\xcc\x22\x0c\x39\xf0\x5a\x9a\x71\xef\x08\x6a\x50\x38\xda\x52\xef\x54\x35\xdc\x5f\x05\x5a\x54\x6d\x9a\x1d\x01\xe5\xf4\x98\x50\x3f\x20\x82\x68\xce\xd6\xe0\x70\xfa\xa6\xab\x02\xfd\x16\xb9\xb6\x61\x85\x44\x66\x3f\x49\xa5\x73\x24\x5d\xc8\xb1\x52\x83\x81\xbb\xc2\xf3\xf5\xbe\xd1\x4e\x38\x96\x6b\x91\x5e\x65\xc5\x95\x9e\x48\x32\x73\x38\xfd\xc5\x4f\x83\xae\xc5\xa6\xb9\xf5\xd3\xc0\xb6\xc5\x07\xf1\xe4\x70\x91\xf6\xdb\xbd\x48\x41\x1d\x80\xb8\xfc\x52\xeb\x59\xe2\xcc\x22\xe5\x6f\xdc\xcd\xf1\x4e\x7d\x77\x77\x5e\xaf\xfb\x22\xee\xaf\x0e\x83\x8c\x74\xb3\xdf\xf6\x60\x51\x31\x4d\x02\x24\x8a\x5c\xc1\xc0\x51\xc0\xb2\x36\xd1\x4d\xb8\x09\xe7\x73\x12\xcf\xd1\xe5\x53\xaa\xe8\x7b\x93\x97\xde\x8d\x91\x0d\xbd\x32\xc2\x65\x9c\x55\xc0\x69\x64\xdb\xa6\xba\x54\xc8\x27\x90\xd0\xa7\xfe\xb4\x2a\x94\x94\xc7\x1b\x48\xdb\x49\xaf\x3d\x0f\xfd\x38\xd0\xe2\x5d\x68\x1c\xfb\x76\xa7\x33\x4c\x95\x18\x09\xec\xa9\xec\x09\x42\xa5\x90\x9b\x12\x04\xc8\xf4\xbc\xe2\x89\x9a\x6d\x9b\xa9\x3a\xba\x33\xdd\xa1\x6a\xfa\x72\xa7\x84\xc4\x9e\xd1\x91\x30\x09\xce\x4e\x9e\xd2\xd9\xf6\xae\x93\x79\x77\xfe\x3a\x30\xf5\xe0\x42\x06\xa6\x3b\xff\x05\xf6\x13\xcf\xe9\x6e\x01\xd3\xce\xfb\x62\x98\xbc\xd6\x03\xfb\xd2\x5e\xcc\x1a\xcc\x45\xa7\x74\x9a\xb0\x69\xc6\xb0\x4c\x3e\x0f\x54\xc6\x09\xd2\xee\x32\x41\x42\xba\x16\x1f\xd8\x04\xa6\x04\x4e\xb5\xbb\xf6\x86\x2b\xff\x6c\x29\x1d\xf8\x71\x00\x91\xa1\xbd\xef\xea\x79\xc7\x4c\x25\x8f\xae\x4b\x88\x41\x7e\x00\x3b\xba\x82\xac\x07\xc5\x5b\x2a\x5d\x9b\xc3\x2e\xca\x89\x93\x50\xa6\xc4\x20\x81\x2b\x22\x27\xc1\x7a\xc4\x7b\xaa\xcf\x56\xe0\x16\xcd\x09\xa4\xf7\x84\x11\x46\xa4\xeb\xc2\xa3\xd1\x05\x43\x5c\x8a\x6d\x7b\x26\x84\x35\xdb\x76\x62\xfa\xc8\x9c\x98\x10\xe0\xb6\x3d\xe3\x32\x8d\x8b\x34\x91\x9f\x0c\x0c\x89\x15\x0e\x1c\xe8\x89\x28\x2a\x3e\xfc\x00\xed\x5b\xd5\x58\x0e\x34\x69\x9a\x07\xe6\x84\x4d\x63\x3d\xb7\x60\xd7\xdb\x44\xf8\xbb\xc0\xdd\xa1\xe4\x77\x4f\x67\xac\x69\x66\x89\x6d\x87\xde\xc1\x7d\xc7\x9c\x03\xec\x81\x61\xf5\x50\xd1\xc8\xe3\x4d\xe3\x24\x1e\x73\xcb\xa6\x89\x89\xe7\x07\x6e\xea\xde\xa3\x45\xb8\x6d\x47\xce\x3d\x54\x32\x67\x4c\x4e\xb7\xf4\x1d\x73\x2a\x28\x08\xc4\xce\x2d\x88\x89\x15\x1f\xee\xe8\xed\x10\x10\xee\x84\x60\x99\xd3\x5b\xff\x0e\x67\xb4\xf2\x0b\xff\x2e\x10\xb2\xe5\xbd\x7a\xca\x09\xba\x35\xc8\xe3\x22\xc1\x7b\xcb\x07\xd1\x00\x3a\xf2\x54\x93\xf5\x55\xb2\xbe\x5b\xb9\x06\xf7\xfe\x9d\xa8\x68\xc3\x91\xd3\x91\x16\x6c\xb7\x90\x91\xf6\x37\x8a\x3b\xb7\x94\x7b\x7f\x71\x12\xc8\x89\xbb\x17\x49\x37\x8b\xb5\x6d\x3b\x89\x7f\x2b\x7a\x98\x8a\x1f\xd1\x3d\xb9\x43\x2b\x1c\x30\x9e\xd2\x57\xfa\x38\xad\x04\x5d\x3f\x71\x2b\x02\xdc\x53\x3d\x48\xa1\x82\x8c\xb8\xda\x3d\x23\x85\x6a\x60\xba\xfd\x34\x44\x8e\x80\x84\xce\x8c\x4b\x11\x2f\xf5\xe1\x91\x8f\xfa\x7a\x81\xbb\x05\xe8\xa6\x4d\x63\x7c\x12\xb4\x10\x32\xb4\x1a\x58\xc1\x1d\x3d\x5e\x10\x8b\x91\xab\xdc\xc1\x6c\x45\x20\xbf\x90\xe9\x2f\x4e\x08\x52\xde\x55\x19\xf7\xd4\x37\x15\x22\xfd\x3e\x9f\xa5\x02\x76\x9b\x26\x9a\x51\x7a\x2b\x48\x8e\x13\xd2\x88\xf4\x90\x76\xa7\xb2\xbb\xb9\x7a\xe8\xa3\x62\x49\x95\x00\x6f\x83\x4d\x72\x93\x6d\x32\xe9\xe9\x1c\x0d\xc7\x9a\xa9\xb1\x92\x3d\xf5\x8f\xcc\xa9\x99\xb3\x27\x10\x11\xa9\x1e\x3b\xa9\xfc\x92\x28\x1a\xb9\xd5\x34\xcb\xb3\x4c\x91\xaa\x88\x1c\x81\xc8\x7f\x08\xe4\x4c\x73\x3a\x9f\x67\x83\x70\x1b\x66\xbb\x5c\xb7\x3b\xd0\x7c\x3d\x32\x27\xbb\x59\xdb\xb6\xec\x06\x3e\x0a\xba\xd6\xe9\x89\xb3\xc5\x9a\xe8\xa0\x02\x8a\xce\x5a\x57\xf2\xb0\x28\x5b\xbc\x90\x55\x7a\xd6\x73\xcb\xb5\xac\xd6\x08\x1b\xa4\x1d\x6a\x22\xe0\x37\x99\x6d\x3f\xf5\x55\x66\x02\xd1\x40\x72\xc3\x65\x6a\xa7\x7a\xee\x52\x91\xac\x92\x76\xaf\x79\x57\x4d\xa1\xb1\x87\x3d\x80\xbd\x1f\x3a\x8c\x74\x6a\x14\xc3\xf9\xe4\x66\x65\x06\x4d\xd0\x6c\xd6\x9d\x2c\x93\xc3\x1e\xd5\xd0\x2b\xb8\xa7\xd6\xca\x82\x8a\x26\xb6\xed\x07\x70\x14\x3b\xab\xa6\xb7\xf0\x20\x50\x0d\xda\xaa\x6a\x73\x5d\x47\xa0\x9c\x3b\x02\xef\xe8\xe3\x9c\x4a\x81\xa3\xf6\xd6\xee\x20\x72\x52\xd3\x2c\xd7\xf0\x44\x1f\xf4\x9e\x14\xeb\x72\x27\x83\x57\x49\x53\x83\x94\x6c\xee\x67\x94\x3e\xd9\xb6\x0a\x34\x95\xd3\x07\xff\x3e\x20\x9b\xfb\xf9\x5c\xe2\x05\xdb\xce\xc9\x69\xdf\x39\x1a\x96\x94\xf9\xfb\xf9\x1c\x49\x66\xe9\x88\x8d\xb7\x23\xe4\xa4\xf8\xb5\x9c\x28\x8d\xac\x68\xe3\x91\xbe\x23\x6d\x84\xea\x4f\x3a\x2b\x45\x35\xb6\x7d\x58\x2c\x20\xb1\xed\x4a\x67\x47\x4c\x74\x98\xd3\x7b\x88\x6c\x5b\x74\xe4\x30\x6c\x2b\x94\x6d\x95\x4e\x05\x47\x6c\xaa\x3f\x01\x3f\xdc\xac\x94\x0d\xd7\xfd\x62\x41\x2a\xff\x3e\x68\x9a\x23\xfe\x75\xc4\x0f\xfd\x5a\x9a\x45\x64\x84\x6c\x8e\x02\x91\x1c\x49\xab\xb1\x43\x06\x47\x02\x77\xb6\x2d\x90\xf2\xb1\x5b\x1d\xdb\x3e\x74\x71\x4a\x04\xe0\x0d\x4c\x0c\x9c\xac\x3f\xc2\x97\x63\x83\x5b\x5a\x13\xa8\xda\x8e\x1c\xa2\x3e\x90\xb8\x89\xce\xb7\xa3\xa9\xb4\xc9\xca\xf2\x69\x5e\x5b\xd9\x28\x60\xe4\x92\xcf\x0c\x4e\x7b\x96\x90\x93\x3c\x3b\x4b\xd1\xe1\xaf\x87\x27\x6d\x4e\xb4\x58\x90\x84\x3e\x31\x27\xf4\xa3\x80\x40\xe2\x3f\x04\x5e\x67\x85\xe0\x72\xfd\xb4\x49\xe8\x67\x0e\x83\xf7\x82\xc2\x09\xba\x97\x74\x07\xed\x94\x19\x06\xce\x59\x7f\x04\x3f\x74\xcb\x45\x3a\x2a\xba\x6a\xc4\x84\xa0\x53\x41\x96\x6c\x9b\x41\x49\xc5\x6c\xa6\x0e\xa3\x45\xd7\x8c\xa0\x2d\xd2\x86\x8a\xe3\xb9\x81\x60\xb1\xb4\x8f\x1e\xae\xe1\x2d\x2d\x05\x0f\x55\x1a\x27\xa4\x04\x34\x3d\xbb\x79\x61\xdb\xd6\xb7\x5f\x8a\xdd\xed\xdc\xe1\x01\x03\x51\xe2\x75\xe7\x54\x20\x7d\x52\x4c\x07\xac\x83\xd8\x21\x1d\x9a\xb9\xc5\x93\x6d\x44\x33\x68\xf4\x47\x7b\x27\x04\xe7\x4e\xe3\x2c\x53\x4c\x50\x6a\xcc\x90\x88\xfe\x12\x7f\x15\xc0\xac\x33\x42\xe3\x9b\x02\x8f\x7e\x07\xda\x39\xe8\x51\xc6\xad\x16\x04\x24\x63\xad\xc7\xd9\x66\xf4\x97\xa5\xe9\x34\xae\xdd\x0f\xbd\x95\x3b\x22\xdd\xd9\x62\x81\xfd\x14\xa3\xcd\x02\x30\x06\x92\xd3\xbb\x01\xba\x14\xbc\xee\x9e\xca\xc1\xf8\x39\x52\xd6\x84\xee\x3f\x38\x26\xed\xf7\x78\xab\xc9\xdb\xb4\xff\xa3\xf2\xf6\xbc\xd5\x04\x37\x83\xb5\x18\x64\xd2\x19\x99\x56\x0c\x7d\x6b\xd9\xd8\xbf\x54\x40\x0b\x70\x7d\x22\xa3\xe0\xcb\x29\x9a\x66\xe7\x30\x28\x09\x71\x12\x34\x40\x02\x0e\xbf\xe1\x81\x49\x80\xb7\x60\x9a\xe5\xd0\x07\xed\xcd\x67\x11\x6d\x94\xa3\xcc\x5b\xd1\xf5\xe2\x01\xce\x4d\x7b\xe8\x6c\x96\xc3\xde\x21\x30\xb4\x78\xbc\xe0\xf2\xb2\xfe\x80\x01\xe9\xb4\x57\xe3\x84\xa9\x76\xc7\xb8\x0f\x0d\xf0\x77\x15\x4f\xe8\x47\x7f\x90\xe6\xf7\x16\x58\x7f\x90\x8a\xa2\x5e\x47\x37\xd2\x10\x89\xfc\x42\x52\x6d\x9a\x3b\x26\xf5\x45\x0d\xea\x46\x77\x3c\x4b\x77\x75\xf3\x98\xc5\xf5\xce\x82\x0b\x67\xd3\x91\x27\x0d\xba\xdc\xb1\xe5\x16\x58\xdd\x11\xea\x50\xdf\xe4\xad\xdd\x17\xd2\x8b\xa9\xb7\xfd\x3a\xb3\x69\x9e\x1c\x1a\x2a\xc6\xae\xd1\x05\xc0\x18\xcc\xd0\xc0\x1c\x77\x82\x85\x01\xfb\xac\xdf\x18\xb7\xcc\xda\x0d\x5c\x95\xbc\x34\xce\xa6\x51\x8a\xb9\xd9\x65\xc5\x5c\x3f\x17\xda\xf5\x0c\x0d\x93\x2e\x2d\x9c\x0a\xc9\x35\xea\x56\x6f\x96\xae\x7a\xf6\xd7\xb3\x3e\xa1\xdc\xb4\x39\x5b\x01\x3f\x0c\x50\x53\xeb\x8d\x66\xdc\x75\xe2\x8b\x36\x74\xb1\x61\x43\x17\x9b\x36\x74\x04\x52\xd6\x3a\x8c\x6c\x0a\xdc\xf3\xb4\xc6\xf8\x89\x87\x8a\xd6\xbd\xf5\x94\x4a\xf2\x2d\xd7\x92\xf1\x18\x0f\x55\xa7\x0d\x2a\x14\x2d\xa3\xb5\x41\xd4\xa0\x90\xe1\xe8\x6a\x6d\x87\x86\xc1\x9f\x7e\xf9\xee\xd5\x97\x65\x44\x6b\xf9\x08\x45\x6f\x02\x59\x77\x8f\x68\x9d\xf8\xa0\x1b\x41\xa4\x33\xc0\x71\xf0\x8e\x5e\xbf\x7d\x89\xa1\x24\xb6\xc7\xe7\xdb\x6b\xef\xc6\xf1\xdc\x97\xdb\xeb\xed\xfa\xa6\x21\xcf\xae\xe1\x91\x5e\xbf\x5d\xfa\x6f\xdd\x3f\x6c\xfd\xed\x12\x82\xe7\xcf\xae\x7b\x45\xc6\x93\x9e\xd7\x2c\x71\x06\xc1\xa8\xc2\xee\x5c\xa5\x58\xa6\x15\x3f\x0c\x0c\x46\x04\xc3\xac\xcf\xfe\x75\x7c\x36\x88\x01\x4d\x2a\xa3\x16\xc9\x50\x78\x66\x0d\x3a\x51\xcf\x90\x8d\xef\x0b\x9f\xc7\xce\xc2\x0e\x3e\x76\x76\xab\x5d\x95\x92\x59\x56\x91\xd1\x36\x21\x35\x53\x3a\x26\xe2\x43\x2d\xf7\xa1\xd5\xc8\x0d\x5d\xc9\x2e\xb4\xba\x96\x0b\x91\x33\x42\x7f\x15\x18\xe7\x3a\x0e\xa3\x96\x5b\x94\xb5\x83\x86\x36\xc4\x22\x20\xd5\x1b\x1a\x89\xa3\xf9\x44\x2f\x43\x48\xa0\x1a\x9b\xea\xa2\x3d\x8b\xe7\xc7\x81\xeb\x07\xee\x30\x8b\xc3\x40\x8d\x20\x9c\x1a\xc1\xd0\x4d\x1a\x43\xde\x1a\xe1\x59\x9d\x13\x1a\xec\x4d\x59\x6e\x99\xa1\x67\x15\x7b\x24\x92\xcc\x05\xe8\x6d\x7a\xf4\x94\x8f\xc3\xf1\x3a\x8c\xe8\x29\x37\x34\xe8\xa8\x6f\xa5\xab\x4e\x0b\x86\xd0\xd5\x79\x18\x70\x3f\x0c\x00\xc3\x11\xf7\xaa\x19\xa5\x18\x34\x0b\xc9\x59\x70\x18\x60\xfe\x5e\x79\x1c\xd3\xb3\x90\xb8\x6b\x4f\xef\x39\x27\x26\x6e\x4c\x50\x21\xab\xd8\x2f\xcc\xac\xdf\xbc\xc1\xdb\x1c\xed\xf8\x5c\x06\x71\x67\x06\x36\x31\xc1\xa3\xd6\x9e\x54\x88\x60\xe4\xb2\x66\x6b\x9c\xef\xe9\x53\xbc\x0f\x16\x5c\x11\x0c\x70\x3a\x75\xf0\x33\x53\x39\xcf\xed\xb0\x6c\xfb\xa1\xe3\x68\x44\x09\xb7\xeb\x85\xf6\x02\x6d\xa5\x31\xf3\x7b\xf8\x55\xc6\x9a\xd9\x1e\x9f\x3b\x2f\xfd\xed\xe3\xf6\xe7\x60\x7e\x43\xfc\xb7\x37\xc1\xf3\x46\xc5\x9f\x79\x8e\xe1\x66\x3e\xa3\x5d\xf8\xec\x69\xc6\x19\xb9\xe4\xc1\xfa\x4f\x6e\x51\xa9\xd9\x88\xa8\xf5\x52\x8a\x88\xab\xc0\xb6\xad\x1b\xf9\xac\xa5\xb2\xc5\x3a\xe8\xe3\xb3\xdd\xd0\x8f\x3d\x5f\x0a\xb5\x78\xba\x1e\xb8\xbf\xea\xe0\x23\x30\x8b\x9a\x66\x16\xf9\x22\xbb\x66\x09\x67\x61\xd3\x84\x4b\x19\x5e\xdb\x73\xc2\xa6\x79\x4f\x14\x7c\x10\xf7\x2c\xa6\x71\xd8\x7d\x43\xed\x8e\x0e\x62\x12\xd2\xf0\x2a\x2b\x8e\x35\x2b\x22\xd1\xe5\xc2\x13\x3b\xd9\x0d\xc1\x8c\x7b\x0d\xc5\x12\x03\xc0\x0a\xc2\x8b\x25\x21\xd4\x66\x47\xb8\x7d\x27\x62\xb5\xe4\xb8\x9a\xf0\x4e\x59\x30\x8a\xd6\xce\x03\xf8\x86\x32\x8e\x70\x74\x95\x15\x57\x21\x19\xe0\x5a\x15\xc7\x99\x78\xea\x41\x8a\x1a\x72\x54\x68\xeb\x16\x01\xa6\x98\x11\xa1\xdb\x6e\x33\xe4\x63\x07\xdd\xc8\x7f\x11\x10\x88\xd1\xd5\xd2\x38\xee\x74\x8c\xfd\x4e\xd7\xb8\xff\x84\x3c\x10\x13\x30\xa3\x76\xd3\x1c\x06\x5b\x84\x32\x30\x9b\x33\x3c\x91\x9c\x41\x31\x5d\x9d\xcc\x3e\x6c\x86\xb8\xe3\x38\x87\x53\x66\x83\xef\x97\x15\x67\xf1\x7b\x4f\xfd\x22\x74\x3b\x05\x71\x9d\xce\x6c\xbe\x37\x5e\xd6\xa3\xe9\x7b\xd9\x3d\x0e\x47\xc3\xf4\x13\x11\x8b\xac\xc3\x7c\x3a\x4c\xa1\x9f\x76\xf3\x99\x71\xb2\x23\x36\x02\xbc\xa7\x85\x10\xad\x05\xf0\x7f\x2e\xb7\x90\x9c\xc4\x63\x73\xa8\xf8\x3b\xc7\x73\xff\x5e\xd4\x59\xde\xa0\x83\xe8\x35\x7c\x41\x4f\x68\x77\x55\xf1\x02\x0f\xa9\xa4\xe5\xc5\x51\x3c\x17\xfc\x09\x0f\x9a\x44\x31\x77\xb6\x6a\x37\x3d\x4a\x8e\xb3\x6a\x3a\xea\xa5\xc4\xc2\xdd\x80\x23\x6d\xa6\xc0\xf0\x10\x81\xc8\x70\x3e\xfd\x1a\x68\x55\xba\x91\xa2\xd4\x08\x88\x97\xb3\xa3\x13\x69\x6b\x27\x25\xb2\xf6\x44\x31\x6e\xe1\x28\x4f\xa9\x2f\x46\x12\xf5\x83\x89\x23\xed\x71\x54\x0e\x36\xc3\x83\xdf\x48\xd7\xdf\x6b\xac\x31\x66\xa4\x41\x88\x76\xec\x38\x15\x73\x5e\x2f\x86\x29\x7a\x9b\x08\x74\x9a\xba\xc8\xc8\x2c\x82\x58\xb0\x0d\x3b\xa3\x30\x32\x2c\xbd\xcf\x02\x93\xc2\xb4\x10\xe5\xe5\x91\x9b\x81\xda\x87\x03\x56\xde\x4e\x26\x5d\x4c\xc4\x8a\xa4\xb4\xc3\xba\x4d\x73\x4e\x1a\x3d\xac\xa7\x8f\xac\x8e\xe0\xe6\xae\x3a\x7d\x3e\x6e\x7b\xb9\x41\xe2\x60\x13\xd9\x76\x24\xa6\x6c\x33\xf6\x53\x4a\x9c\xde\x4d\xfa\xe5\x7a\x6d\xdb\x4e\xea\xa5\xd2\x6c\x45\x59\x88\x8e\x5d\xa9\x2f\x70\x12\x18\x60\x96\x9c\x92\xee\x04\x78\x70\xda\x35\x22\x4a\x49\x7f\xf4\xd1\x91\xd0\x84\xb8\x09\x5a\x0f\xc4\xfc\x69\xd2\x8c\xc2\x9b\x08\x72\xab\x18\xa9\x02\x7d\x71\x24\x32\x20\x3a\x70\xad\xa4\x7b\x1a\x79\x0b\xda\xe0\x2a\xac\x8d\x64\x42\x3d\x98\xa1\x04\xd4\xca\x57\x47\x21\xe2\x8b\x1d\xf4\x59\x9e\x3b\x9a\xc8\xb9\x8b\x75\x0b\x2c\x8e\xa7\x23\x2b\x9f\x5d\x18\xa0\x46\x35\xb8\xdc\x20\xe5\xb5\x43\x40\x16\xc4\x00\xa9\x2c\x8e\x3f\x1f\x5f\x8a\x60\x56\xc8\xe2\xd8\xd1\x71\x84\x47\x31\xf5\xdd\xd1\xbb\x86\x58\x46\x48\x6b\x46\x2c\xfd\x52\x76\x73\xbc\xa5\xd7\xc3\x2d\xdd\x1f\x91\xab\x80\xab\xa7\x09\x0b\x11\x6d\x98\x71\xee\xf2\x19\x2a\xb7\x2c\x93\x62\x29\xcf\x20\x85\xc7\x26\x23\x24\x2f\xe3\xac\x72\x18\x98\x47\x8e\xa4\x2b\x81\x18\xef\x62\x98\xe2\x89\xa2\x18\xa5\xb8\x18\x5b\x7a\xa8\x02\x62\x1a\x06\x06\xb3\xa4\x95\x38\xf2\x52\xde\xb1\x61\xb0\xaa\xfb\xb3\x3c\xff\xe0\x50\x26\x9a\xf8\xad\x22\x17\x5a\xfa\x7d\xe3\x37\xdb\xc3\x09\x10\xb5\xfd\xce\xa9\x1b\x9b\x3e\x8b\xe2\x0a\x3b\x5f\x58\x2f\xf5\xd5\x71\x4c\x20\x68\x9a\x53\x4b\x0c\xa9\x5f\xc8\x40\xd0\xd1\xa7\x0f\xd6\x63\x2a\x0b\x44\x21\x4d\xc8\x26\x35\x13\xea\x6b\xcf\x03\xe9\xbd\xe5\x07\xc0\xcc\x88\x7d\x6d\x3b\x0a\xf2\x2b\x08\x82\xcf\x82\x9e\xd3\x34\x0e\x5f\x8c\xab\x3d\xc2\xfe\xe8\xd3\xc2\x29\x1c\x58\xaa\x7f\x4a\xf0\x84\x31\x42\x26\xe7\x0c\x15\xc5\x78\xd4\xd8\x09\x82\x78\xba\x69\x32\x25\x37\x02\xb5\x7e\x81\x16\xbb\x1d\x6e\xe0\x04\x3e\xef\xf5\x64\x7c\x59\xf1\x77\xbc\x42\x0b\x21\x18\xa1\x13\x4e\x34\x8b\xfd\x15\xbd\xde\xbe\x9e\x5f\xa7\xf0\x35\x3d\x19\xa6\x01\x7f\xee\xf7\xe7\xd7\x62\xa4\xa7\x4e\x69\xad\xf6\xb3\x72\x01\x75\xbe\x42\xbd\x27\x0c\x2d\x73\x05\x9f\x47\x05\xb1\x82\xb0\x2d\x96\x5f\xb0\x3c\x0f\x59\x74\x77\x1c\xf8\xac\x31\x3a\x81\x7e\xbf\xc6\x01\x89\xc6\xdd\x9e\xe2\xb6\xa0\x7c\x1b\x07\x61\x87\x05\x49\xcb\xe8\x8c\x2d\xcb\x22\xe2\x78\xf0\x71\xdb\xd7\x9f\x6b\xe1\x8d\x2d\xf7\x7c\x5f\x56\xef\x6d\x3b\x87\x88\xce\x56\x90\x52\xde\x34\x2b\xe5\xe7\xb7\xeb\x05\xc7\xd9\x6a\xb3\xb3\xed\xe4\x26\xdd\xa4\x92\x0e\xef\xfc\x54\x9f\x59\xe5\xfe\x2a\x80\x5c\x30\xc4\x68\x39\x88\x3e\x7f\x75\x79\xf8\xa1\xf8\x9a\xe5\x47\x4e\x4e\x21\x9d\xad\x15\x79\x8a\xe9\x6c\x0d\x3b\xdb\x76\x32\x2f\xeb\x44\xe7\x5b\x27\xd3\x8a\x5e\xe2\x86\x9e\xe8\xba\x7b\xa7\x0d\x0c\xd1\x7e\xeb\x8e\x9e\x06\x94\x40\x86\x28\xd4\x67\x43\xba\x9b\x9b\xee\xea\xa6\xab\xd4\x41\x30\xc4\xa5\x08\x47\x77\xc8\x48\x1e\x4c\x45\x8d\x8e\xc8\x66\x10\x2f\x3a\xf6\xf4\x19\x85\x6d\xdf\x2d\x77\x4c\x30\x57\x4d\xb3\xd3\x54\xd6\x45\x0b\x4f\xdd\xf1\x9e\x4b\xa0\xb1\x6d\xa7\x4e\x44\x5a\xd2\x1a\x31\xb9\x21\xf6\xfa\x49\x74\x43\x04\xd9\x08\x6e\x31\x0c\xa5\xc9\xe5\x83\x0c\xc5\x36\x71\xb1\xcb\x4e\xd0\x7f\x09\x50\x5d\xa8\xf0\x09\xf9\x4d\x73\x90\x11\x15\x32\x9e\xe4\x7e\x43\xd8\x41\x44\x04\x4b\x41\x76\x5a\xf5\x1c\xc1\x1a\xb7\x93\x93\xdc\xd0\xc8\xb6\x93\xc5\x02\x52\x7c\x4a\x17\x0b\xd2\xca\x6d\xd0\xc2\x98\x85\xeb\x18\x82\xbe\x72\x06\x3b\x64\x56\x66\x8e\x0a\x09\xa9\x55\xf3\x63\x1b\xca\x7e\x24\x3a\x9e\xbc\x6c\x43\xad\xee\x64\xc6\x8c\x86\x8a\x3b\x1e\x66\x9e\xb8\xf9\x66\xb6\x6b\x21\x2f\x4d\x8a\xde\x47\x38\xd3\x75\x84\x4d\x63\x40\x93\xaa\x52\x14\x9a\xac\x30\x43\x6b\x41\xfe\x73\x56\x4f\xdf\x69\x24\xc6\x1b\xd9\xf6\x2c\xc3\xe3\x24\xbc\x35\x00\x42\xea\x33\x08\x25\xe2\xf2\xd4\xaf\x43\xdc\x30\x80\xd8\x53\xe7\x78\x21\x71\x71\xdd\x55\xf3\xa2\x89\x89\x3e\xdf\x2d\x75\xdb\xe3\x1b\x8a\x8c\x72\x53\xbd\x9e\x45\x6d\x87\x81\xee\xcc\x9b\x60\xbe\xe4\x09\xaf\xaa\x49\xc3\x5c\xdf\xb7\x2a\x7e\x2c\xf3\x77\xdc\x02\x2b\x2e\x0b\x6e\x81\x81\x8c\x1c\x4b\x20\x8e\x2b\x89\x1e\x2c\x02\x3a\x6f\x6c\x05\x20\x0a\x62\x74\x4a\xb0\x12\x96\xe5\xbf\x55\xee\x16\x6d\x6c\xb1\x5c\x51\xd6\x59\xf2\xde\x12\xc4\xb0\x4c\x2b\x7e\x3c\x8e\xca\xea\x62\x41\x00\x11\xb5\x0e\xbc\x88\x91\x52\xc6\xf4\x74\xac\x59\x3d\x35\x65\x51\x0b\x2c\x7f\x64\xef\x8f\x13\xdf\xf8\x52\x0c\xcb\xd8\x90\x4b\xd1\x5d\xe7\x6c\x56\xeb\x9d\x49\x38\x75\x40\xc8\x2e\x5b\x8f\xda\xf5\x6c\x1a\x01\xf2\xa6\xd1\x8c\x3a\xe6\x4b\xe9\x50\x26\x96\xbc\xa0\xf8\xd9\x70\x3f\xf1\xd7\x41\xe0\x9c\x35\x9b\xda\x76\x3a\x7d\x4b\xd5\x86\x49\x85\x43\x5f\x9f\x10\x6b\xf7\xd9\x91\x13\xaf\x7b\x74\x88\x1c\x74\xb4\x54\x0b\xa6\x06\x2d\xde\xc5\x42\x08\x46\x5b\x4e\x3d\x4a\x22\x62\x39\x88\x1b\xf9\x89\xbf\x0a\xe6\x96\x80\x3c\x2b\xc0\x76\x11\x17\x46\x7d\xad\xf2\x86\xb8\x54\x5e\x73\xd1\x75\xa9\x15\x58\x83\xc9\xc8\x91\xa4\xcf\x2c\xd8\x22\x7c\xfc\xd0\x8d\x66\x1d\x90\x32\x88\x89\x1b\xb7\x2d\x70\x83\x8e\xc6\xcb\x43\x86\x76\x98\x62\x71\xe0\x7c\x8e\x59\x3f\xc7\x89\xff\x22\x80\x1d\x46\x6f\xdd\xc4\x72\x5a\x69\x2a\x78\x79\x41\x69\xf0\xc1\x9c\xe5\x88\xee\x5a\x08\xfd\xf5\x5b\x16\xf8\x2f\x02\x8d\x18\x20\xf4\x5f\xe0\xbb\x40\x0c\x04\x38\x4e\x48\x30\x71\x23\x03\x9f\x9c\x2a\xee\xc5\xee\xf4\x8e\x1d\xe6\xa7\x69\xb7\xc3\x31\x50\x98\x9e\x31\x8e\xb7\xe0\xa8\x6b\xcd\x38\x70\x3c\xb1\x7b\xdc\xf1\x29\x4b\xed\x15\x44\x67\xf7\x47\x10\xbc\x9a\xaf\x13\x67\x85\x6c\xc0\x9b\xe6\x03\xf0\xc2\x5d\x41\xeb\xd1\xc9\xdd\x63\xae\x01\xd9\x44\xcc\xe4\x34\x27\xdb\x25\x0b\x9a\x2e\xb8\x1e\x1c\x71\x24\x9e\xc6\x57\x7d\xdd\xac\xbd\xb3\x2e\xba\x1c\x7d\x35\x32\x2f\x55\x70\x87\x78\x4e\x34\xe0\x2e\x16\x49\xd3\xa4\x1a\x62\xbb\xf4\xb6\x95\x56\xb3\x78\xe2\x7d\xb3\x46\x19\x3b\x43\xcb\x5b\x49\x85\x38\x81\xdb\xe1\xeb\xdd\xe0\x75\xc3\x95\x92\x39\xf2\xc3\x60\x34\x17\x22\xa9\x9f\x0e\xf3\x4d\xef\x20\xd1\x87\x3b\x41\x42\xe5\x06\x4a\xcf\x37\x90\xc8\x71\x0b\x19\xc1\x01\x74\x91\xe6\xc6\x23\x11\x75\x40\x6a\x6c\x0e\xc5\x5a\x7e\x83\x17\x0b\x4a\x3d\x18\x9d\x64\xdb\xf1\xd3\xb8\x5b\x4c\x43\x56\x8f\xe4\xbb\x9b\xbb\xd6\x80\x45\x7e\x66\x59\xed\xae\x61\x57\xe6\xb1\xfc\x30\x60\x2c\x3d\x55\xb1\xc8\x35\x9f\xbb\xea\xcd\x99\xad\x48\x2b\x8b\x0f\xb2\x63\xd8\x98\xd9\xca\x5b\x2c\x8c\x62\xa8\xea\xc3\xaa\x49\xd3\x38\xdd\x0b\x46\xb2\x9d\x89\xec\xb6\x3d\xc8\x7f\xb3\x6a\x1a\xe7\x9b\xc1\xac\xe4\xe0\x17\x81\xd2\x1d\xd5\x55\x96\xa6\x5c\x85\x1f\xa8\x6c\xdb\x11\x1c\xea\x28\xd5\xb1\xb0\x36\x4b\xc8\xf3\x39\x59\x96\x49\xd2\xa5\x90\x91\x08\xfe\xad\x43\x4e\xb9\x0a\x6f\x3b\x8a\x77\xf9\xe5\x0f\xdf\x29\xbf\xa9\x57\x25\x8b\x79\x6c\xc1\xb7\x30\x5b\x13\x60\xd3\xd9\x65\xb4\x4b\x99\x45\xcf\x13\x69\x47\x0b\x43\x27\x7c\xbf\xbe\x11\xe3\xa5\x83\x6d\x65\x45\xe5\xfe\x90\xf3\x1a\x8f\x8c\x73\x59\xc5\x6b\x41\xd4\xbc\x23\xaf\xdf\x64\x7b\x5e\x3e\xd4\x8e\xaa\x9a\xb8\x4e\x3e\x11\xad\xf3\x72\xef\xcf\xf3\x1a\x5d\x27\x04\xbe\xe9\xa0\x28\xc4\x93\xa3\x11\x64\x21\x3c\xfe\x05\x9d\x8d\x22\x7e\x3c\x8e\x10\x80\x16\x2a\x94\xcd\xf0\x94\xf1\x29\xa5\x11\x9e\x17\x74\x77\x88\xf5\xfc\x35\x39\x71\x21\x3d\x88\xbd\xbb\xbb\xca\x8a\xab\x88\xe8\x66\xb0\xf6\x1d\x44\xfe\x2e\x80\xd9\x0a\x5b\xe8\xfc\x4e\x07\x77\xdd\x89\x0a\x86\xb7\xe8\xc4\xf2\xb6\xbf\xd9\x0a\xcd\x58\x9d\xd4\x73\xfa\x13\x4a\x1d\xca\x98\xb8\xce\x2d\x0d\x21\xbc\x84\xce\x6e\x0d\x5d\x56\x84\x81\xcf\x94\xf6\xbe\x33\xa3\x0d\xd1\x89\x10\x22\x48\xbd\x58\x5f\xb0\x89\x29\x3b\xd0\x9f\x48\x6f\x1c\xc8\x3d\xe6\xde\x7a\xba\x1f\xc4\xcd\xbc\x10\xc3\x15\x08\x04\x97\xb4\x1b\x39\xea\x43\xfd\x25\xab\xd9\xd4\x76\x1f\xaa\x5c\x65\x20\x12\xf3\x7d\x36\x37\xce\xff\x7a\x60\xff\xab\x43\x4e\x4a\x23\x25\x95\xed\x9d\x87\xa8\xd4\x54\xb2\x68\x27\xc8\x2a\xac\xe0\x34\x70\x6b\xd3\xed\x9e\xda\x56\x31\xfe\x4b\x75\x6b\xa0\x3c\x83\x16\x4f\xf3\xbf\x2e\xf1\xe6\xa0\x16\x7f\xe9\x1a\xfe\xaa\xc6\x70\xa4\xe6\x68\xe0\xaf\xe6\xdd\xa8\x77\xfc\xfd\xd9\xcd\xb6\x5d\x39\x87\x75\xc7\xba\x32\xf8\x54\x28\xfa\x16\x51\xe6\x9b\x3d\x08\x94\x01\xff\x29\xa2\xaa\x07\x18\xf2\x3a\x1c\x66\xa2\xda\x2d\xa0\x85\xa9\x09\xc8\xf0\x4c\xb5\x0b\x8e\x1d\x93\xb3\xf2\x11\x18\x2c\x48\x48\xda\x81\xf2\x14\x27\xce\x8f\x82\xa6\x71\x06\xef\x68\xb1\x1e\xb5\x70\xe4\xf5\xc5\x1b\xda\xb0\xc0\x1d\x7f\x2f\x20\x2b\xa1\x46\x71\x1e\x5c\x38\xf8\x4e\xfc\x30\xa0\xd1\x46\x43\xbf\x80\x75\xe3\xc2\x3f\x27\x21\xa4\xeb\xea\xa0\x3a\x08\x8d\x5b\xaf\x62\x79\xea\x94\xf8\xf1\xf0\xde\xaf\x64\x7c\xb9\x6c\x6f\x56\x69\x54\x66\x74\x3a\x18\xc6\x32\x92\x41\x10\x5c\x41\x23\x5b\x90\x5b\x77\x7a\xe8\xe7\xc5\x9a\x26\x9c\x50\xde\x84\xb6\xdd\x65\x89\x3c\x47\x1d\xf5\xa6\x5c\x46\x77\x82\x7e\xef\x2b\xae\x4a\x7d\x2a\x96\xdd\x5d\x7d\x18\xd6\xca\xd5\xc7\x43\xb5\xea\x45\x5f\x32\xf2\x22\x37\x24\xe7\x82\xb5\x79\xe4\x89\x06\xcb\xe6\x52\xa5\xe6\x74\x48\x8f\x88\x7e\x24\x64\xf0\x4d\x30\xaa\x68\xce\xdb\x5f\x2b\x19\x12\x0f\xef\xb1\x93\xa6\xb4\x21\xaa\xb9\x8c\x1e\x8b\xee\x72\x3a\x1c\x02\xe0\x95\x8d\xa9\x17\x53\x3f\x04\x1e\xb8\x4e\x4c\x39\xc4\x34\x96\xa9\x7e\x1c\xb8\xf1\x40\x8d\x84\x96\x8b\xf1\xb9\xe5\xa2\x8a\x91\x9b\xfa\xb1\x1f\x05\x41\x8b\x12\xbc\xd8\x98\x97\xee\xc1\x34\x41\xcb\x18\xd6\x68\x13\xe2\xed\xab\x04\xa5\xef\x88\x55\x43\x09\x72\x94\xb5\x0b\x83\xff\x81\xda\xda\x16\x37\xfc\x2b\xe4\xd0\xfe\x0a\xdf\xa9\xdf\xef\xd5\x09\xf6\x49\x1e\x5f\x3f\xdf\xb6\xcd\xd6\xd7\xcf\x01\x79\x76\x0d\x3f\xd0\x6b\xc7\xff\x6c\xf1\x3f\x01\xb9\x4e\x7b\xbc\xf7\xe3\x10\xf2\xcc\xb5\x3a\x8b\x2a\x2f\xef\x18\xb4\x62\x56\xb3\x85\x35\xef\x23\xab\xfd\x00\xd6\xe2\xd9\xda\x1a\x3b\x30\x47\x63\x93\xa5\x98\x9c\x9f\xd2\x47\xe4\x24\x70\x52\x44\xad\xba\x7a\x40\x9a\x1e\xe1\x35\x62\x09\xcb\x8f\xfa\x75\xed\x5a\x82\x10\xc9\x37\x0c\x8e\x33\x8f\xe6\x96\x7c\x9d\x47\xee\xf7\x3a\x18\x8e\xa7\x4e\xa3\xff\xf2\xfa\x87\xef\x51\xc9\x64\x84\x54\xfb\xce\x80\x6f\x49\x1d\x23\x3a\x0c\x38\x16\xb5\x83\xd3\xb7\x0b\x0b\x7f\xf5\xdd\x52\x7d\xc4\x03\xae\x57\xc6\x5b\x0b\xf1\xb0\x8c\x9c\xd8\xff\xd3\x15\x34\xc8\x75\xd4\x6d\xaa\x2f\xc7\x65\xc8\xe9\x3b\xc5\x45\xa9\x20\x6d\xff\x9a\xac\x56\xd5\xfa\x6a\x5c\xeb\xbf\x2e\x56\xfb\x6a\x50\xed\xf8\xc0\xf1\xac\x91\xf3\x0d\x2e\x88\x70\x4a\x13\xdb\x4e\x0c\x93\xbc\x01\xc8\x48\x3a\x65\xe8\x8f\x91\xeb\xf8\x0e\x11\x4f\x22\x4d\x7d\x12\xe3\x4c\x6e\xf6\x4a\x7e\x01\x4b\xcd\xa2\x80\x95\xa3\xe0\x44\x4f\x51\xe7\xcb\x62\x6c\xd0\xd4\x8f\xa4\xbf\x8c\x78\x58\x16\x6c\xcf\x61\x85\xf6\x42\x5d\xc8\x23\x09\x9b\x52\xe5\x6d\x22\x89\x58\x69\x93\x3e\x25\x04\x7e\x94\x6e\x3c\x7e\x1c\x08\xae\xe3\x15\x02\xc6\xb8\x0b\x20\xd8\x78\xcd\x90\xa8\x87\xf3\x9b\x5d\xe5\xe1\x16\x8a\xd4\x06\x43\x20\x41\x4d\x8a\xb1\xa4\x25\xee\x5f\xc6\x37\x70\xf7\x66\xd6\x66\x17\xa5\xf9\x45\x62\xe0\xf4\x50\x59\x89\xa8\xf9\x03\x66\x62\xe6\xfe\x3e\xb8\x41\x9e\xf8\x03\x79\xe4\xc0\xe5\xe7\xc9\x6c\x72\x63\x4c\x0e\x4a\xd2\x39\xd9\x0a\x0e\x27\x26\x1b\x63\xa0\xb1\x20\x38\x0b\x79\x3a\xd7\x2d\x06\x2e\x44\xdf\x8c\x6d\x9b\x33\x83\x37\x8e\xb7\x2a\xda\x23\x9c\x0b\xbe\xf2\x8b\x92\xa6\x26\x20\x7a\x74\x6d\xf8\xd9\x1a\x28\x58\xef\x96\x41\x02\xbc\x86\xf6\xfb\x07\xfe\xc0\x3f\x4c\x7d\x99\xe7\x84\x14\x1d\xa8\x92\x27\x8b\xcc\x2d\x2c\x62\x41\x4c\x5f\xf5\x24\x36\xb2\x6d\x0c\x17\x3b\xb8\x98\x5a\xe4\x30\x36\xa5\x69\x4a\x11\x11\xe2\x76\x31\xbd\x09\xe0\x0d\x45\x7d\xb8\xed\x98\x9f\x77\x8b\x9c\x50\x3b\x2a\xfa\x20\xa3\x8c\xd2\x62\x89\xb9\x64\x07\xe2\x5e\x5d\xc1\x69\xd4\x3b\x7c\xd2\x62\xf9\x2f\xcc\xf6\x4d\x59\xde\x1d\xbb\xc8\x25\xfd\x04\x15\x4b\xd5\x9a\xc4\x06\x1b\x2b\x2b\x3a\x5d\x22\xa5\x94\x4b\x25\x7b\x57\x61\xbc\x58\xa0\x7b\x9a\x23\x3a\x42\x95\x11\x83\x8e\x15\x6a\x96\x25\xa0\x48\x58\x82\x87\x17\xc0\xb5\x3c\x91\xa2\x2f\xdb\x2c\xb6\x6d\x44\x20\xa8\xdf\x46\x25\x8e\x23\x90\x56\xdf\xd7\xe9\x5b\x65\xd5\xf4\x63\x0e\x6b\xd3\xe1\x3e\xb9\x10\x11\x22\xe2\x6e\xca\x23\x38\x49\xed\xf9\x65\x75\xea\x58\x99\x65\xa0\x46\x3f\xec\x96\x3a\x0a\xe4\x3d\x1b\x63\x54\x39\xb5\x4a\xb2\x9f\x2f\x46\xf7\x99\xce\x0c\x63\x34\x47\x5e\x64\x2a\x26\x10\x04\x32\x3b\x83\xf9\x97\x91\xa7\xd7\x56\x63\xdb\x2e\x16\x3b\xf2\x8e\x22\xd5\xfd\xc0\xee\x34\x4b\xe3\x06\xdb\x0c\xa1\x40\xed\x05\x50\x6b\xc8\x6c\xdb\x5c\x39\xb1\x45\xd1\xc2\xa0\x07\x8d\x7e\xf3\x4c\xc0\xe6\x87\x37\xe0\x64\x25\x51\xce\x59\xf5\xb7\x0f\xd6\xa3\x60\x52\x42\x3c\xe0\x5d\xfd\xe7\x3a\x50\xd3\x53\x65\x0d\x7c\xa8\x20\x90\xb4\x4a\x73\xa1\xdd\x8d\xb8\x46\xdf\x16\x8b\xb8\x69\xf8\x40\x8d\x92\x80\x9f\x04\x62\x1b\x5c\x5e\x38\x8d\x37\x19\x55\xbd\x33\x2f\x6b\x51\x48\x21\xf1\xd3\x00\xd8\x00\x58\x11\x49\x44\x12\xde\x05\x59\x9a\xcf\x41\xbd\x21\x10\x1a\x3e\xa3\x3b\x87\x00\x37\x15\x0c\x4a\xc1\xf5\x37\x7a\xed\xcf\x17\x81\x27\xd8\xbb\xf8\xf9\x76\xd9\x90\x6d\x3c\x77\x3c\xd7\xe7\x5f\x05\xf8\x61\x1b\xcf\x1b\x72\xad\xae\xf2\x81\x9f\xa8\x6f\xbd\x29\x0f\x16\x58\x3f\x65\xe9\xae\xb6\xc0\xfa\xbc\xac\xeb\x72\x6f\x81\xf5\x8a\x27\xb5\x15\xc0\xeb\x4b\x37\x9e\x86\x4d\xc3\xc0\x2a\xca\x82\x4b\xd5\x43\x84\xfb\xc9\x8a\xb3\xe3\x21\x67\xef\x2d\xd2\x34\x33\xc3\x6e\x68\x14\x25\x16\xcf\xcf\xdf\x48\x36\x54\xc7\x1f\x68\x30\x22\x01\x79\x76\x9d\xf5\x87\x8a\x9d\x86\x5e\x5f\x46\xae\x2b\xf8\xba\x62\x29\x3a\x32\x10\x08\xe9\x30\x3e\xfc\xd9\xbd\xe5\xd2\xd5\x01\xa2\xf3\x1b\xcd\x75\x00\xfa\x68\x3a\x00\x3d\x76\xc8\x42\xef\x8b\x61\x9c\x3d\x15\x24\x1f\xac\x3e\x5c\xfe\x38\x8f\x0a\x4a\x2f\xaf\x4b\x37\xbb\x17\x11\xb8\x93\x01\x57\xbe\xc8\xcb\x82\x0b\xf1\x45\xfc\xa2\xf5\xfc\x6c\x45\x46\x6f\x5d\x48\x33\x1d\xa3\x05\xc2\x81\xfb\x82\xbe\x32\xf1\xe6\xe9\xe5\x75\xf7\x6c\xc1\xdd\xb2\x28\xb1\xfa\x2f\x64\x29\x8a\xe6\xe4\x17\x6a\x1e\xf8\x15\x28\xc5\xd4\xdf\xcd\xbb\x3a\x36\x77\x4b\x0c\x98\x93\x15\x9f\x3f\x84\x61\xce\x8f\xd4\x2a\x0b\x95\x82\x77\x03\x63\x91\x7f\xd0\xeb\xb7\x77\xfc\xfd\x35\xfc\x2c\xd7\x75\x5f\x3e\x1c\x79\x73\x28\xb3\xa2\xe6\x55\xa3\xcc\xb7\xf6\xbc\x78\x20\x4d\x94\x67\xd1\xdd\x35\xfc\x22\x33\xaa\x9a\xe4\x15\xb4\xf8\xb7\x7c\xa8\xc3\xfc\xa1\x12\x92\x08\xde\x13\xe9\xbf\x5d\x06\xcf\xf1\xaa\xc9\xa5\xb3\x9c\x93\x86\x98\x96\xf6\xff\x63\x06\x85\xec\x52\x9f\x39\xe6\xcd\x5c\x3a\xf5\x5f\x8e\x14\x21\x14\x14\xe7\xc3\x48\x3f\x4a\x04\x60\xe4\xd4\x0a\xfe\xfe\x1d\x2f\x6a\x7a\x92\x37\xeb\xbb\xa7\x73\xc3\xa8\x41\x38\xc0\xd1\xb5\xc3\xea\xd2\x61\x4d\xff\x91\x5d\xab\xc8\x29\x5a\xee\x3a\x85\x6b\x42\x23\x88\x68\xa2\x53\x80\xd3\xde\xb5\x0d\xaf\x9c\xc1\x9b\xa4\x1d\xf9\x40\xf5\x8d\xd2\x04\x9c\x8c\x56\xb2\x73\x47\xd2\x34\xc6\x9b\x74\xec\x4f\x69\xa5\xaa\x94\xfa\x3a\xfd\x36\xa5\x32\x55\x78\xab\x98\x51\xfa\x77\x3c\xf5\x16\xf5\x68\x25\x30\x8f\xd1\xda\xa9\x96\xa6\xf5\xf2\x93\xd8\xdd\xe8\x26\xa1\x2f\x79\x34\x8e\x1a\x14\x67\x22\x36\x24\x72\x42\x16\x31\x05\x69\xcb\x0a\xe0\x76\xec\x02\x78\xbb\x58\x90\x1d\xfd\xa7\xb4\x4e\x0e\xfd\xdb\x40\x5a\x6e\x94\xf4\x9e\xee\xfc\x75\x00\x07\xea\xec\xfc\x17\x2a\x78\xac\xf2\x9e\x5a\x6a\xf7\x29\x02\x25\x5e\xb9\xac\xfb\x86\x3e\x27\x2c\xf7\x4b\x14\xa2\xa1\xa4\x0e\xf7\xf2\xa5\xe0\x30\x52\x56\xa3\x10\xe1\xe6\xcb\x30\x2b\x62\x14\x4f\x9b\xa6\x84\x8b\x65\xef\x68\x4f\xc0\x31\xfe\x45\x09\x65\x95\xa5\x58\xc7\xbd\x94\xdc\x62\x50\xeb\xe6\x46\xf2\xf2\x72\xb9\x4e\xa0\x57\xd0\xe5\xc3\x3b\x56\xd1\xaa\xf0\x82\x9f\x89\x94\x49\x39\x01\x81\x34\x8e\x07\x16\x71\xf7\xa0\x5c\xc3\x96\x16\x69\x21\x21\xe0\xec\x69\xe6\x97\x62\x7e\xd4\x13\xf5\x03\xd8\x77\xa3\xfb\xa2\x7c\x28\x6a\xba\x82\x5c\x60\xa1\x87\x83\x6d\xab\x87\xde\x85\xe4\x00\x29\x99\x51\x3a\x5b\x37\xcd\xb9\xea\xda\xb6\x27\xd4\xd9\x25\xa4\xa8\xc9\x06\x54\x8b\x8b\xa9\x16\xbf\xba\xc6\x3b\x81\xc6\xd4\x14\x68\x50\x1d\x26\x50\x39\x23\x84\x00\xf7\xf6\xda\x1a\x62\xd4\xe5\xf9\x1c\x56\x70\x47\x5c\xe5\x98\x7c\x87\x6c\x37\xae\x88\xdc\x76\x62\xa0\x82\xad\x9f\xd4\x2a\xfd\xbe\xfd\xd7\xcb\xdc\xb6\x3d\xd8\x8d\xb6\x6d\xee\x24\xc1\x3b\xff\x27\x60\x8b\xf7\x75\xfe\xef\x21\x97\x9c\x3e\x04\xb8\xf1\x6f\x00\xae\x04\x01\x6c\x71\x87\x11\x3a\x06\xb7\x66\x58\xce\xdb\x66\xbb\x5d\x12\x6b\xae\xa1\x68\xbb\x5d\x3a\x9e\xbb\x7c\xbe\x15\x0c\x81\x90\x4f\x1c\xf1\xf4\x8c\x58\xc8\xe8\xd3\xfd\x70\x78\xc9\x62\x41\xee\xe8\xde\x4f\x02\x98\x71\xe9\xd0\x7c\xb7\xd4\xf0\x8f\x96\x18\x72\x65\x31\x5d\x2e\xfd\xce\xb6\x67\x3b\x09\xc6\x77\xcb\x0e\x8a\x49\xd3\xc4\xb6\x2d\xf3\x19\x06\xe6\xd6\xf3\xe7\x96\xbc\x0e\x77\xd6\xa7\x23\x64\x6b\x28\x49\x60\x2d\xc0\xab\x2f\x33\x02\x9b\xc5\x02\xf4\x61\x93\x00\x75\xf9\xd4\x43\x26\xd9\xa4\xb6\x3d\xdb\xf7\x6a\x85\x7c\x59\x73\x56\xc5\xe5\x63\x21\xb2\xeb\x67\x5d\xe0\x00\x1d\xc6\x54\x3b\xa4\x30\x8f\xa6\x1c\x06\x65\x9f\x43\x8b\x2c\xb8\x1b\xdb\x4e\x0f\x5c\x5e\x65\xc5\x55\x46\xf4\x92\x76\x12\x42\x39\x17\xc0\x81\x90\x3a\x5b\x09\x1e\x7b\xa8\x09\xcc\x50\xfb\x20\x6b\xd4\x4d\x80\x21\x60\x58\x12\x3a\x2d\x8c\xa7\xac\xf0\xf2\x30\xaa\xcc\xd9\x0e\xb8\x53\x3e\xf8\x7e\xdc\x34\x79\x00\xf7\xf4\x56\x3b\x62\xa9\xb0\x5d\x9e\xc4\xe9\x6e\x08\x95\xf1\xad\x5b\x34\xcc\xd0\xbd\x19\xb0\xeb\xfa\x32\x60\x0d\xdd\x51\xbc\x2f\x37\x87\x8f\x07\x17\x9f\xd8\xf6\x7f\x8f\xde\x67\xbf\x48\x90\xb8\x9f\x9f\x91\x16\x31\xee\xfb\x5e\xfa\x5f\x5a\xe4\x86\xae\x6c\xdb\xa9\xe8\xbd\xd1\x24\xdc\xd3\xaa\x13\x2b\x2b\xb5\x79\x08\xdc\x51\xa3\xa8\x6b\x91\x97\x2b\xdb\xb6\xca\xc2\x9a\xdf\x43\x48\x43\xbf\x3b\x4b\x09\xbc\x10\xef\xb6\x2e\x96\x72\x21\xef\xe1\x4c\x2d\x13\xda\x76\x28\x38\xb4\xec\xf8\x46\x76\x8d\x72\xef\x85\xfb\x31\x18\x53\x40\xab\x1e\x17\x9b\xe9\xff\xaa\x04\xf3\xd6\xbd\x7a\x93\x3b\xb0\xfa\xcd\x1d\xe8\x4a\xad\x86\x90\x30\x1e\xf2\xba\x33\xa0\x5a\xca\x98\x88\x4d\xe3\xe8\x47\x1a\x0b\x1e\x56\x9d\xfc\x79\x7e\x18\xb8\x03\x6d\x01\xf8\x61\x40\xa0\x3c\xc3\x2a\xf7\x12\xab\xf0\xa6\x99\x95\x7a\xfe\x9b\xa6\x7b\xec\x6e\x82\x8d\x24\xf0\x4b\xc7\x69\xb1\xef\x67\xe5\xb2\x28\x25\xc3\x67\xdb\xa8\xc3\xfe\x39\x2b\xe2\xf2\xd1\x89\x89\x34\x65\xcc\x68\x39\xc0\x52\x4d\x73\x0f\x6a\xc5\xb3\xf9\xbd\xe4\x3e\x52\xd3\x12\x7f\x93\x6e\x46\x29\x07\x89\xf7\x53\x02\x3b\x9a\x6e\x76\x94\x52\x27\x1e\xbb\x01\x61\xc4\x05\x15\x34\xc7\xbc\x7e\x11\x4d\x04\xb1\x2a\xd9\xaf\xa6\x61\xa4\x4d\xba\xb0\x0b\x4e\x4a\x0f\xf2\x9e\x03\xdb\x9e\x89\x05\xfe\xb1\x2a\x0f\x2c\xc5\x00\x92\xaf\xeb\xf2\x70\x10\x02\x20\x51\xb7\x76\x26\x37\x6b\x2f\x73\xcb\x0e\xcb\x8a\xa1\xec\xa9\x23\xe9\x45\xda\x6f\x43\x54\xcf\xfb\xb2\x50\xa0\xe9\x49\x0a\x96\xdc\xb9\x16\x81\xbd\xc0\x55\x3a\x7a\x4b\x44\x60\x4f\xef\x6c\x3b\xf5\xef\x02\xe3\x8b\xe0\x04\xfa\x93\x3c\x27\xc5\x58\xec\x7a\xfd\x07\xa5\xbb\x54\x69\xe3\x19\xa2\x2d\x3c\x2f\xea\x2f\xe5\x2c\x38\x46\x94\x14\x39\x8e\x7b\xb1\xce\x62\xb0\x2a\xc7\x8f\x32\xbf\x18\xaa\x58\xf3\x7f\xa9\xe9\xb3\xed\xfe\x59\xb5\x77\x90\x11\x57\x35\x18\xa0\xf4\x66\x74\x32\x26\x4d\x73\x37\x32\xe7\x88\xfd\x7b\x9c\xdc\x01\x68\x60\x44\xb4\x58\x0c\x58\x20\x5e\xf1\x20\x0f\x86\xe1\x0c\x05\xd0\x7b\x10\x35\x38\x53\x9f\xd4\x2e\xe8\xaa\xd8\x91\x7e\x32\x5a\x3c\x1e\x41\x36\x74\x78\x3e\xd2\x81\x7e\x92\x3d\x39\x86\x7d\xee\xc0\x3a\xf7\xdc\x8a\xe7\x56\xaf\xb3\x74\x0d\x1c\x2e\xb5\x8c\x85\x18\xa8\xdb\xc1\xc7\x7b\xab\xfb\x7a\x6a\x65\x8c\x2c\xf4\xd3\x62\xfd\xae\x90\x1b\x17\x2b\x9e\xdd\x89\xd5\xfb\x52\xf5\xbc\x69\x06\xaf\xa6\x37\x87\xda\x87\xa7\x5d\xd7\x9c\xe2\xaa\x8e\x66\x2e\xb8\x15\x8c\x76\x07\xec\x09\xdd\xf9\xa1\x02\x76\x76\x09\xd8\x4f\x6c\x19\x3d\x54\x62\xc7\xa8\x8e\x25\x4b\x9e\xf3\x3d\x44\xe6\xa6\xe9\x04\x92\x23\x5e\xc6\xae\x2b\xfc\x76\xbf\xe7\x71\xc6\x6a\x3e\x59\xb3\x33\x63\x03\xc4\x28\x98\x4c\xf3\x5d\x5f\x05\xd8\xb3\x06\x18\x2e\x58\x35\xf5\x43\x78\x4b\x53\x31\x6d\xac\x66\x34\xc5\x1f\xe0\xd4\x71\xc6\xd3\x9d\x76\x5c\x88\x3c\x27\x53\xc5\x9b\x26\xd5\x7d\x26\x0a\x9a\xd5\xc0\x32\x43\x73\xcd\xb1\x41\xb5\x9f\xb8\x36\x9b\x46\xfb\xac\xe1\x9e\x02\x69\x4a\x6d\x8c\xd3\x21\xbd\xf1\xf0\xdd\xf2\x50\x1e\x6b\xbd\x6e\xb6\x3d\x7c\x1f\xac\x23\xb0\x1e\x62\xf5\x9c\x5e\x3e\x35\xd1\x61\xc6\xc2\x21\xab\x83\x76\x1f\x92\x00\xe0\x7d\xef\xb6\x9d\x99\x37\x35\xcf\xd8\x52\x46\x01\x6d\x1a\x0b\xa5\x6a\x69\xcf\x8f\x91\x31\x94\x61\xc5\x8c\x2a\xef\x63\x9a\x0d\x3c\x1a\xd0\x37\x4c\x40\x6d\x17\x57\x16\xcd\x88\x26\x2a\x42\x6c\x1f\xcb\xa0\xd2\xab\xcd\x0e\x23\x61\xce\x49\x42\x43\x3f\x0a\x06\x62\xeb\xdc\xba\xb2\xa0\x53\x42\xc6\x3e\xc7\x13\x18\x9f\x07\x34\x19\x08\x3c\x5e\xe1\x70\xe9\x9b\xa6\xdc\xb0\x32\x41\xfe\x95\x77\xb6\xfa\xa4\xae\x32\xca\xba\xab\x8c\x08\xc8\x0a\xbb\x18\x31\x9b\xb8\xe3\xf0\x54\x84\xb5\x93\x58\x75\x37\xeb\x67\x3b\x6e\xbb\x85\xdb\xbd\x0c\xa7\xb3\x63\x63\x5d\x09\x6d\x4a\xbc\x23\x2d\x81\x14\x15\x8a\x87\xa3\x6b\xb1\xbc\xfe\x2b\x7f\x7f\x15\x4a\xfd\xc7\x55\xc4\x8a\x88\xe7\x62\xd2\xae\xa2\xba\xca\xc5\xa7\xc1\xce\xba\x42\x90\xfa\x71\xc7\x8e\xfc\x6a\xcf\x6b\x26\x32\x60\x18\x14\x1e\xab\x0c\xc8\xd5\x88\x64\xb9\xb6\x57\x75\xb6\xe7\xaf\x6b\xb6\x3f\x5c\xbd\xcb\xf8\xe3\xd5\xe3\x2e\x8b\x76\x96\x66\x85\xae\x2c\x02\x49\xf6\x24\x75\xde\x42\x3e\xe5\xef\xd5\xb3\xea\x5e\xb4\x13\x80\xb4\x63\xd5\x17\x65\xcc\xaf\xee\xf8\x7b\xf1\x5f\x3c\x8f\xaa\x18\x79\x62\x1b\x0a\x3d\x1d\x37\x02\x1b\xc6\x7d\x81\x4f\x3a\xcc\xdd\x52\x57\xee\xf5\x8f\x6e\xb8\x54\xad\x10\x60\x6d\x0b\xa8\xf0\x19\xf6\x4b\xc2\xe6\x95\xfc\x39\x5e\x45\x79\xc6\x8b\xfa\x17\xf5\xfb\xcf\xab\x32\x49\x8e\xbc\xfe\x45\xfd\xfe\xf3\xea\xc0\x52\xfe\x0b\xfe\xfd\xe7\xd5\x31\xaa\x38\x2f\x7e\x51\xbf\xff\xbc\xaa\x4b\xa5\xa5\xf9\xed\x21\x99\x67\x91\xa1\xda\x1f\x9b\xd1\x38\xb1\x29\x1d\x2f\x2a\x5c\xaa\x9e\x61\x44\x4e\xbd\xdf\xce\x18\x11\x3c\x41\x39\xbf\x14\x3a\x5a\x86\x65\xfc\x1e\x54\x9d\x7d\x65\x73\x07\x5d\x85\x8f\x51\x55\xe6\xf9\x2b\x9e\xd4\x18\xfa\x8a\x0f\x12\x56\x64\x21\x73\xc9\x32\x46\x2e\x33\x01\x2f\x72\xc2\x69\xe9\x6a\xff\xe7\xa0\xf6\x37\xe5\x61\x50\x39\xbe\x8f\xea\xee\xf3\x18\xef\x2b\xbc\xb7\x05\x97\xba\x69\xba\x9d\x9b\x34\x4d\x07\x00\x6b\x3b\xf1\xd6\xee\x0b\x3b\xf1\x3e\x76\x3f\xb1\x13\xef\x85\xbb\x92\xcb\x9d\x64\x4f\x63\xa3\x23\x66\xf0\xde\x5d\x34\x4c\xd3\x4f\x46\x61\x14\x48\x28\xd3\x4a\x77\x0d\xd7\x3e\x0f\x36\xa9\xb6\xfc\x31\x12\x69\x4a\x7f\xd6\x0a\x12\x79\x86\x6a\xc0\xd9\x3f\x86\x5f\xfa\x7d\xd1\x12\x88\x29\x1a\x80\x1e\x8e\xda\xad\xb0\x3c\x1c\xb5\xa9\x88\xfa\x42\xdc\xfe\x13\x30\x6a\xca\x0a\x89\x20\xaf\x23\xbb\x8f\x10\xb5\xf7\xb1\x1f\x06\xc0\xfc\x28\xa0\x89\x1f\x75\x66\x3b\xac\x67\xd8\xf5\x23\xcd\x09\x7c\x2c\xe3\x29\x4b\x78\x32\xf0\x76\x97\xa7\xfb\x68\x86\x63\x4a\x95\x8f\x95\x97\x76\x2e\x8f\x90\x10\x97\xb5\xa0\x48\xa1\x7b\xca\x4b\x16\xbb\x27\xcd\xa0\xe3\x95\x4e\x32\xa8\xf9\xe9\x4c\x4c\x1c\x1c\x9a\xcc\x28\xfd\x97\x43\xa4\x6b\xa8\xd4\xea\x2a\x7f\xf3\x44\x46\x34\xc7\x3b\xc9\xfb\x43\x46\x43\x07\x61\x69\x8d\x6f\x0b\x61\xfe\x50\xfd\x56\x43\xd4\x6c\x48\x14\x50\xed\x88\xc7\xdf\x6e\xa6\x7c\xa8\xad\x16\x90\x10\x7d\xa0\x21\x4b\x9f\x1d\x58\x54\x12\x39\x15\x5a\x4b\x9a\xc4\x88\xc2\x82\x65\xd5\x71\x75\x14\x83\xa7\x94\xfe\xda\xcd\x5e\xe4\x1a\xf5\x47\xb3\xc6\xd3\x8e\x7d\x5d\x75\x7a\xe9\xc0\x62\x96\x90\xcf\x43\x9e\x94\x15\x97\xf7\xb5\xbb\x27\x93\x2d\x18\x5a\x94\xf7\x5e\xf7\x92\x3d\xb0\x6d\x86\x8c\x4d\x56\xb0\x5c\xdd\x02\xef\x8c\x52\x96\xb2\x75\x54\xd1\x77\xe5\x48\xdb\xb6\x70\xcc\xf6\x0f\xf9\xc0\x4d\x43\x69\xc6\x7a\xe7\x3f\xa5\xc9\x34\xa0\x1b\x22\x90\x7a\x4d\x06\xd9\xf1\xb5\xaa\x01\x83\x3d\x0f\x5a\x75\x4f\x6d\x4b\x36\xb1\x37\xe2\xcf\x1d\xae\xef\x5d\x74\xcf\xf4\xc2\x4a\x9d\xc0\x09\xf0\x49\x29\x04\xfd\xd9\x47\x0c\x57\x2b\xad\x63\x3b\x85\xcb\x99\xf1\xe8\xa4\xa5\xb0\x98\xb5\x29\x03\x62\x31\xf8\xd9\x1a\x2d\x6e\xcf\x6b\x1b\x40\xe8\x20\x62\x85\xcc\xec\x39\xe8\x12\x50\xf7\x61\x18\x06\x13\xa2\x83\x30\xa0\xac\xa5\x50\x19\x26\x9c\x0f\x95\x76\xf1\x9a\xba\x24\x03\xc1\x9e\x7f\x94\xc3\xe9\x17\x59\xb0\xa7\xde\xff\xb8\xcf\x14\x8a\x92\x2d\x42\x28\xb5\xc8\x9d\x51\x22\x84\xca\x8e\xb4\x63\x1f\xa8\x1c\x80\x7e\x6d\x1a\x01\xb0\x8f\x8e\x64\x84\xe5\x59\x71\x8f\xa3\xe9\x6c\x45\xc8\x40\x45\x22\xad\x88\xd4\x9b\x69\x62\x7a\x3e\x42\xf7\x19\x4c\xc9\x19\x98\xfc\x01\x69\xc1\x7d\x06\x43\x00\x38\xf7\x02\x3a\x9f\xf8\xcd\xa5\x59\xfe\x1f\xe9\xc3\x31\xac\xf1\x3c\xc5\x21\x2d\x8c\x98\xfa\xff\xa4\xd9\xf3\x51\xe8\x86\x47\x95\x4e\x24\xe9\xa6\xa7\xa6\xe4\x3f\xe9\xc3\x07\xa6\xd4\xec\xcc\x54\xb6\x0f\x7d\x53\xde\x79\x13\xbd\x6e\xb5\x07\xd0\x09\x09\xae\x98\xef\xca\xb5\xf0\xb9\x7c\xc7\x2b\x4b\xf2\x7b\x39\x67\xef\xb8\x4e\x7e\xa8\x2d\x50\x07\x7e\x2a\xbb\x7a\x93\x05\xd4\x8b\x2a\xa2\x3f\x21\xa6\x1f\x3b\x33\x8f\xe4\xec\x80\x9e\x06\x44\x22\x04\xad\xa9\x71\x43\xc5\xbb\x9f\x79\xed\x44\x20\x8d\x5c\x41\x62\x4c\x83\xf9\xc6\xa0\xb9\x9d\xe8\xa9\x28\x38\x5e\xb0\xcb\xa5\xf5\xbb\x79\x72\xad\x83\x38\x33\xa5\x29\xea\x64\x50\xf3\xf0\x6e\xda\x79\x0c\x54\x99\x90\x40\x84\x26\xdf\xe3\x73\x54\xb1\x3b\xe5\x14\x4b\xda\xdd\x91\x58\x49\x61\x4d\x52\x38\x65\x41\x62\x8e\xb8\x9b\x32\x85\xcd\x9d\x10\x3a\xfa\x34\xd4\x8b\xa0\x9d\xd4\x66\x3c\xc5\x61\x40\x4f\x78\x64\x34\x86\x49\x65\x29\x3c\xe2\x85\xd5\xc4\x76\x96\x34\x31\x5a\x45\x37\x4d\x7c\x7e\x8e\xc4\x00\x6f\x1c\x04\x33\x2f\x38\x5c\xf0\x9e\x73\x81\xa7\xb5\x3a\xfe\x7f\xdf\xf0\x62\xbd\xe1\xde\xa0\x7a\x4e\x5c\x0c\xd4\x7b\x4e\x1e\xfa\xde\x28\x25\xbb\xa8\x80\xb4\x67\x76\x3b\x83\x0b\x3b\xce\xce\x9a\x86\x8e\x17\x7d\xa0\xa6\x33\x93\x90\x10\x25\x8a\xa8\x69\x42\xd0\x0e\xb6\x46\xa0\x7e\x26\x2d\x9c\xcb\xc2\x49\xb1\x09\xe6\xa7\x01\xf0\x61\x38\xa2\x2c\x51\xe1\x31\x22\x29\xad\x50\x1a\x7b\x4e\x4c\x43\x88\x3a\x97\x5d\xa9\x43\x96\x7e\x1b\xe7\x86\xdf\x22\x77\x04\x51\x97\x57\xbd\x1a\x1d\x12\xbc\x32\xea\x9c\x62\xfa\xac\xb3\x87\x9f\xc5\x83\xc8\x54\x86\xc7\x04\xc7\xc3\xeb\x18\xe2\x49\x0f\x2a\x47\x3a\x0a\x31\x02\xc9\xf4\xae\x68\x21\x96\xe7\x83\x89\x3e\x37\x4c\x46\x47\xdc\xda\x37\xe2\xcc\x4c\x48\x82\x2c\x8b\x63\xad\x04\x8b\x21\x52\xb6\x81\x65\x31\xc5\x02\x99\xd6\x42\xc6\x42\x0a\xb0\x2b\x93\xe4\x92\x33\x81\x58\xdd\x0b\x64\xa5\xc3\x1a\xdd\x55\xcc\x26\x2a\x81\xc2\x19\x2b\xff\xe4\x6c\xc4\xc6\x39\x41\xdc\x61\x90\xb9\xb5\xb4\xe6\xc6\x27\xb7\xff\x64\xc4\x59\x83\xb8\xd3\x6e\x41\xad\x83\x84\x4d\xc0\x1e\x46\xab\x36\xa1\x2a\x49\x1c\x0e\x21\x30\x9f\x4f\x46\xb8\xc2\x3b\xe2\x67\xeb\xa6\x99\x08\x86\x1b\xca\xbb\x29\x0c\x18\x41\x3f\x42\xd4\x98\x45\xf4\xd9\x6f\x2c\xd0\xc0\x9c\xb2\x5b\xa1\x33\x2e\xfe\x2c\xb6\xcc\xa5\xfa\x34\xdf\x29\x56\x09\xb5\x46\x46\x75\xca\x55\xed\xa2\xa7\x85\x19\x51\xf0\x8c\x91\x95\xf0\x30\x5b\x75\xac\xbf\xb2\xa2\x62\x8c\x5e\xbf\x74\xbc\x19\xab\x38\x6b\xc2\xaa\x89\xca\xbc\xe1\xfb\x90\xc7\xcd\xae\x6a\xb2\x7d\xda\xa0\x0c\xd1\xe4\x59\x71\xd7\xec\x79\xcd\x9a\x03\xab\xd8\x9e\x38\x8e\xbf\x7d\x74\x83\xb9\x8c\x06\x47\xb6\xd7\x37\xd7\x69\x06\x21\x56\xa6\xbe\x5c\x43\x24\x5e\x1b\xfb\x0f\xde\xf6\x71\xbe\xb9\x86\x58\x36\xe5\x1e\xa3\x2a\x3b\xd4\xcd\xb1\x7e\x9f\x73\xac\x98\x5c\x67\xc0\x19\xbd\x56\x76\x3f\xdb\xe3\x73\xc7\x73\xfd\xb7\x34\x68\xe8\xf6\xf8\x5c\x9b\x03\x2d\x45\xb6\x84\xd1\xeb\xb7\xcf\x9a\xed\xb5\xe3\xb9\xb7\xec\x1d\x6b\x78\xb4\x67\x44\xd6\x78\x9d\x41\x2a\x3e\xd7\xd5\x03\xdf\x5e\x3b\xcb\xe7\xe4\x1a\x76\x22\x61\x7b\x7c\xfe\x72\xe6\x78\xee\xd6\xff\xe2\xcb\xcf\xde\x7c\xb6\xf5\x9b\xc5\x82\x34\x22\x21\xd8\x06\xe2\xf9\x66\x7b\x7c\xfe\xec\x3a\x85\x8c\xd1\x93\xbc\x16\xca\xf5\xd7\x60\xbd\x94\x70\x79\xb5\x7f\xc8\xeb\xec\x90\x73\xfa\x91\x7e\xfa\xe8\xc6\x02\xeb\xe5\xb5\xfc\x7e\x63\x05\x50\xef\x38\x8b\x65\x21\x0c\x81\x2b\xbf\xab\xc7\x00\xa2\x32\x77\xfd\x17\xdd\xc7\x97\x51\x99\xa7\x55\xf9\x70\x90\xd9\xba\x37\xa3\x44\x5d\x0d\x0a\xd4\x61\x19\xbf\x57\x95\xe2\xa3\x99\x35\x76\xfd\x8f\xc7\x59\x5f\xd6\x95\xca\x5e\xdd\x4c\x94\xe9\xe4\x3e\x7f\x05\x96\x05\x96\x15\xb4\x9b\x8c\x2d\xcb\x43\x8d\x3d\xa1\xf2\x39\x2b\x0b\xc8\xd8\x12\x4b\x8b\xa4\x3a\x29\xcb\x5a\x3c\xe8\x1e\xe3\x33\xc3\x8c\xf8\x5d\xcc\x02\x96\xd8\xe1\x6b\xdc\x9b\x2e\xdd\xb2\xa1\x0e\xce\x90\x2d\xc1\xc2\x6e\x59\x64\x20\xc1\x9e\x47\x20\x0a\xcd\xa8\x34\x56\x5d\x59\x44\xde\x77\xae\xd4\x53\xc7\xcf\xdf\xbf\x61\x29\x96\xb5\xb0\xc7\x16\xf1\x57\x01\xda\x80\x18\x36\x69\x23\xeb\xbc\xb1\x99\x9c\x2a\x48\x5c\xd6\x5b\x52\xdd\x0d\xaf\xf9\x40\x3e\xc7\x91\xda\xb4\x4b\xd7\x45\xcd\xad\x6b\x6b\xae\xa4\x26\xa3\xa6\x9c\xf5\x7e\xd6\x29\x53\x91\x0a\xa5\xe2\xb9\x3b\xdd\xf2\x34\x27\xe5\xaf\x03\x57\xcb\x7d\x67\x2d\x98\xb5\xee\xd9\xd9\x15\x50\x10\xf7\xd7\x8d\xc4\x4a\x89\x2d\x2d\xfa\x99\x1f\x05\x60\x49\x93\x93\xaf\xde\xb1\xdc\x82\x59\xd8\x34\xf2\x54\x28\x1c\x7f\x23\x46\xc0\xfc\x82\x4d\xe8\xf1\xa5\x21\xca\xe6\xec\x36\x16\x54\x91\x0d\x0d\x52\x9c\xc4\xb0\xff\x26\x90\x52\xd9\x9f\x10\x12\x02\xb7\x34\xe9\x8d\x53\xb4\xbb\x91\xb6\x11\x48\x7b\x9b\xaf\x4d\x87\xf8\x6f\x55\x44\x34\x31\xd2\x5b\x9f\x07\xe3\xc1\x9a\x04\x34\x04\x0e\x22\x8f\x1f\x05\xa4\xfd\x6e\xd8\xa9\x1d\xfd\xce\xe8\x54\x46\xcd\xb8\x37\x3b\x02\xdf\xa9\x3e\x66\x82\x6f\xea\xa6\xa2\x1c\xdc\x1d\x30\x0d\x83\x97\x40\x53\xde\x3c\x42\x5c\xb6\xc4\x40\x66\x3a\xe0\xda\x67\x79\xee\x9d\x27\x75\xb9\xfd\x09\x9f\x39\x74\x7e\x1b\xec\xa3\x90\x78\x5d\x10\x25\x86\x8e\xa1\xc6\x95\x2f\x87\xd1\x85\x07\x17\xee\x63\xeb\xaf\x4f\x8b\x6c\xfb\x8d\xbe\xe2\x0d\x41\x14\xf5\xe1\xd2\xc6\xb2\xbb\x47\xcf\x75\x8c\x02\xea\x92\x34\x41\x4a\xf0\x5d\x9e\xf6\x9a\x36\x97\x74\x18\xda\x99\x18\xbe\x45\x68\xb2\x79\x89\x4d\x51\xc7\x9a\x6c\x68\xd8\x89\xeb\xf5\x01\xbb\x5b\xf4\xf3\x74\xc6\x06\xa2\x4d\x33\x8c\x96\xa6\x82\x9d\x99\xce\xb0\x7d\x54\x65\x87\x11\x79\xb8\x94\xd2\x92\x39\x3b\x02\x89\xf8\x65\x44\x85\xf9\x4b\xc6\xf7\xee\x1c\x98\x93\xf8\x71\x00\xa9\x1f\x07\x32\x86\x31\x06\xe5\xc3\x2a\x12\x9a\x34\x8d\x2c\x9d\xd2\x14\x1f\x77\x17\x2b\x2a\x06\x15\x21\xa7\x8a\x3b\x70\xd7\xdf\xa5\x83\x3d\x02\x4b\x12\x3f\x8b\x40\x6a\xdc\x8c\xb0\x67\x4e\x0a\xb3\xcc\xb6\x11\x56\xbb\x3c\x04\x76\x2d\x84\x0f\x59\x1e\x6b\xab\xe2\x09\x4e\x52\xe3\x91\xe1\xd5\x62\xe1\x65\xb3\xe4\x1c\x2d\xf4\xe8\x0a\xca\x1e\xeb\x94\x37\xfb\xcd\x5e\xc6\x72\xe2\x94\xf9\xfb\x00\xb8\xbc\x45\x13\xdd\xe5\xce\x3d\xb9\x39\x21\x1a\x76\x73\xe0\xc6\xbd\x3c\x3c\x70\x39\xe9\x58\xf5\x88\x69\x35\x38\x39\xe1\x7c\xde\x0d\xb0\x7b\x78\xc1\x20\x3a\xa5\x4e\xa8\xf0\x2d\x97\xb6\x6e\x82\xe4\x91\xf3\x7b\xf4\x05\xdd\xf2\xd3\xa0\x69\x32\xd6\x99\x0d\x40\x62\xd8\x21\xef\xfc\x75\x60\x5c\xc5\xcd\x18\x58\x2f\x9f\xad\x6f\x5e\x5e\x3f\x7b\x71\x63\x91\xf9\xce\x7f\x11\xc0\x2d\xdd\x09\x5e\xac\xb7\xa0\x4b\xc4\xfa\x6a\x23\xe4\x4d\x3f\xce\xc4\x8c\x73\x06\x09\xbd\x33\x29\x5c\x62\xde\xc3\x4a\x2d\x4b\x5a\x60\xe5\x2a\xe0\x8f\x1a\xe8\x1b\xfe\x84\x8a\x74\x31\x21\x9b\xbb\x51\x09\xe8\x6f\xe6\xe0\x34\xef\x6e\x01\x41\xd7\x9c\xc5\x1a\xe7\x5e\x47\x5c\xc2\x0b\x27\xd0\x4c\xd0\x8c\xb1\x3c\xda\x51\x5c\x81\xff\x70\xce\x39\x31\x60\x30\x43\xd0\x4b\x08\x44\x84\x9c\x6e\x8d\xe6\x13\xff\x56\x34\x9f\xe8\xf5\xd3\x17\x3b\x5a\xa4\x8b\xfb\xc9\xfb\x93\x67\xe9\x13\x51\x9c\xf9\x36\x99\x17\x02\xc9\x43\xaf\x91\x70\x0f\x29\x5d\x6d\x3a\xb5\xb3\x13\x51\xb1\x9a\x04\xa3\x8a\xc9\xf0\xe4\x86\xa1\x07\xe2\x27\x4e\x23\xff\x55\xa7\x25\x44\x5f\x9e\x90\xbe\xea\x3c\xa0\xd5\xed\x0a\xa1\x26\x4f\xbd\x23\x74\x97\xe2\xc7\x81\x37\x12\x07\xf0\x7a\x9f\xa1\x65\x9d\xe8\x6f\xa8\x2d\xeb\x36\x7d\x03\x9d\x6f\x6b\x9f\xd4\xaa\x94\xef\xb4\x57\xb8\xff\x9d\xe9\xe7\x3a\x16\xdf\xcf\x6e\xc3\x54\x93\x38\xf6\xaf\xeb\xbf\xf4\xba\x59\x4f\x06\x94\xc7\x9c\x4a\xfd\x2a\xef\x09\x25\x67\x12\x0a\x52\x78\xcc\xd1\xe3\xc9\xf5\x44\xda\x9f\xc6\x49\x44\x07\xda\x35\x81\x93\xf5\x5e\x6e\xec\xcc\xe3\x87\xb4\x20\x01\xec\xc2\x79\xcb\x32\x2e\xf7\xdf\xb1\x22\x3b\x4c\x86\x2d\xc3\x05\xfb\x5f\x77\x56\x71\x67\xb7\x4c\x9b\x36\x6c\x86\x3e\x0d\x8c\xb4\xad\x8c\xcb\xf8\xff\xa1\x0e\x66\xc5\x91\x57\xf5\xe7\x78\x28\x23\xf0\xf8\x20\x0e\xa3\xe8\xae\x3c\xaf\xf9\x5f\xf6\x56\x1e\x1c\x1a\x51\xa0\x47\x09\xe3\xe6\x3b\xb9\x95\x25\xf5\xc5\x33\xb3\xff\x37\x1a\x1d\xc4\x18\x6e\x2f\xf9\xe7\x9b\xa1\x7a\x99\x57\xf4\xc7\x8e\xfd\x26\x00\x4e\x57\x1b\x75\xbf\x52\x84\xc6\x1d\x04\xef\xc4\x0a\x25\xef\x10\x0d\x58\x85\x0e\x53\x39\x25\x43\xf7\xc5\x68\x18\x32\x1b\xb9\xb4\x0e\xa7\x46\x23\x9c\x2a\x90\xd0\x5e\x16\x35\xc9\xb4\x59\x87\xc2\x23\xda\xa7\x66\xa8\xe0\x38\x8f\x88\xd7\x45\x36\x46\xa3\x29\x35\x0a\xa9\x6e\xf7\xc3\x80\x60\xc4\xa2\x71\x00\x66\x67\x34\x0c\x26\xcd\xe1\xd9\x88\xa0\x8c\x9a\x3e\x67\xd9\x0c\xa7\x29\x1d\xe8\x76\xb6\x76\x99\x0a\x99\x42\x69\xe8\x31\x57\x2a\x36\x30\x80\xc1\x39\x68\x14\x92\xc3\x1b\x3a\xc3\xee\xea\xfd\x64\xcc\xd5\x09\x0c\x27\x37\x87\xd2\x86\xa0\x35\xa8\x94\x11\x0c\xa7\xb7\xa1\x67\xf6\xd9\x6d\xdd\x9d\x95\x61\x47\xf3\xa7\x43\xd5\xdb\xf6\x2c\x36\xee\xc5\x99\x65\xcc\xef\x78\x0c\xf6\x21\x1e\x23\x20\x27\xf3\x92\xf3\x11\x07\x81\xa1\x48\xd0\x9a\x49\x8b\x32\x6a\x38\x91\x1c\xce\x7a\x74\x7f\xd2\x78\xe5\x42\xb9\x72\xa6\xeb\x94\x40\x11\x74\x65\x38\xfd\xb7\xa1\xda\x4e\x1a\xd7\x4b\x04\x87\xbe\xfa\x97\x51\xb2\xea\xf0\x30\x74\xe1\x59\x34\x3b\x43\x09\xf5\x9b\xdb\x3c\x14\x33\x31\xda\xd7\x30\x1a\x0f\x6e\x4a\x15\xbe\x4c\xf5\x40\xb1\x7a\x1a\xcf\x88\x6f\x8e\xe6\x3b\xd1\x1a\x4f\x2f\xa5\xe1\x19\xaa\x08\x33\x7a\x6c\xd6\x6c\x74\x4c\x6d\xf6\xb7\xb3\x47\x47\x17\x6b\xdd\xfb\x11\x90\x33\xca\x95\xc2\xd7\x0f\x74\x78\x54\x41\xe0\x3b\x7e\x99\xae\x20\x1f\x38\x5a\xee\xe5\xf9\x4c\x49\xf3\xc5\x1a\x0e\x78\xb5\x01\xdc\x0f\xc3\xf7\x1d\x50\x5e\xb8\x6f\x9a\xfc\x66\x3d\x11\xd5\xe4\x60\xdb\x33\xd3\x9b\xce\xb6\xb9\x02\xbf\x03\x21\x97\x55\x8b\x5d\x44\xd2\xfd\x92\xdf\x3b\x11\xd9\xdc\x8b\xd9\xf2\x57\x01\x3d\x18\x16\x7c\x11\xc4\x4b\xb1\xcb\x1c\x42\x08\xc4\xc6\xa2\xe1\x0e\x14\xfd\xca\x51\x1d\x5a\x2c\x07\xc2\x83\x42\x9a\xfe\x2a\x18\x61\xb5\x99\x0a\xda\x8f\x66\x44\x06\x4f\x2b\xa3\x8f\xf7\x4c\x6f\xef\xb7\x10\xd1\x98\x80\x36\xb7\x4e\x54\x1c\xdf\x21\x56\x84\x3b\x94\x9c\x3a\x51\x29\xbf\xb9\xdd\xdc\xce\xe7\x64\x47\x23\xb8\x9d\x51\x5a\xa2\x3c\xaf\x31\xc8\x0e\x66\x2b\x3c\xfe\x48\x05\xfe\x95\x1c\x77\x02\x43\x91\x09\x37\x4a\x37\x0b\xfe\x6d\x00\x3b\xb8\x25\xf2\xae\x5a\x69\xf6\x9d\xf8\x49\x7f\xef\xc4\x68\x90\xb2\x8f\x09\xe4\x8c\x88\x15\xdf\xa4\x5d\x7f\x12\x51\x95\x66\x75\x77\x26\xab\x3b\xeb\x74\x20\xbb\xa1\xa6\x65\x40\x24\x32\xd8\xa1\x72\x62\x79\xac\x22\xaf\x58\xfe\x8b\xbf\x63\xf9\xdf\xab\x5c\xe4\xd1\xcf\xf2\xa3\xe0\x32\xfb\x5a\x44\x53\x3d\xbe\xee\x30\xcc\x8e\x81\x65\x91\x51\x50\x58\xe9\xf6\x8f\x07\x72\x72\xf7\xbf\x29\x5d\x4b\x3e\x59\x9a\xbb\x11\x49\xea\xd1\x02\x93\xde\xba\x96\x64\x28\x74\xea\x67\x48\xe8\x2d\xa4\xf7\x96\x46\x14\x9f\xe5\xb9\x6b\x19\x48\x63\xe2\xe8\x73\x14\xc7\x99\x0d\x89\x33\xde\x63\x50\x48\x71\x99\x77\xab\x00\x3b\x9c\x6a\x2a\x63\x68\x45\x74\x87\xf7\x8d\xf6\x3b\x5d\xae\xbe\x58\xf8\xc2\xe1\xfe\x2e\x20\x7e\x18\x38\x51\x7f\x44\x13\x43\x24\x23\xb7\x0f\x88\x99\x11\x9d\x39\xee\x3c\x8c\xef\x19\x54\x6c\x10\x98\xf9\xc8\x9c\x41\x28\xa6\xc2\x89\x46\x12\x67\x48\x34\x3a\x7d\x53\x3a\xd2\x5c\x8e\xe0\x21\x6c\xca\xf5\xe1\xca\x17\xe5\xfe\xf0\x50\xf3\xf8\x75\xfd\x3e\xe7\x18\x92\xe3\xe2\x57\xbc\x68\x9b\x10\x2f\x5e\x2a\x67\x63\x57\x7a\x1f\x8b\x64\xc3\x01\x79\xd3\x47\x24\x45\xec\xe6\x10\x48\xc6\xd7\x14\x4b\xca\x98\x43\x44\x2b\xe6\xb3\xfe\xa4\x00\xef\xc4\x96\x37\x48\x13\xe5\xe4\x2c\xa3\x52\x88\x2f\xf7\x8c\x3a\xf7\xac\x69\x0a\xc7\x7a\x99\x25\x15\xdb\xf3\x2b\xfc\x1b\x96\x55\xcc\x2b\xfa\xd1\xea\xa3\x2b\xbc\xdf\x0c\x9f\xe4\x85\x67\xe2\xf1\xfa\xc6\x32\xa7\x21\x1c\x5b\x12\x12\x08\xe9\x3d\x5e\xdb\x3a\x8a\x02\x0e\xe1\xf2\xb1\xca\x6a\x21\x89\xa3\x13\xaf\x0a\x98\xa3\xbb\x77\xcf\xba\x01\x12\xc0\x61\xd0\x88\x40\xd4\xe2\xe5\x56\x8c\x5e\xbf\xdd\xb3\x2a\xcd\x8a\x6b\x78\x27\x2d\xdc\xb4\x8f\xca\x5b\xc7\x9a\xff\x6d\x6e\x11\xc7\x9b\x1d\x9e\x88\xcf\x16\xbf\xfe\x57\x30\x7f\x66\x81\x95\x59\x04\x1e\xd9\x94\xbf\xe8\xe8\x8a\x16\xd3\x1b\x63\x59\x1e\x78\xc1\xab\xf1\x2d\x2e\x83\x2c\x29\x1f\x2d\x64\x08\x32\x68\x1c\xbb\xf8\xc9\x00\xb3\x27\x76\x49\xff\x85\x87\x26\xdd\xda\xd1\xa8\x69\x1e\x51\xa1\x14\xd9\xb6\x93\x52\x84\x6c\x1d\xa1\x0d\x35\x6c\x4e\x48\x9a\x26\x42\x7f\x19\x91\xc5\x12\x6b\x9b\x22\xd7\x7a\x59\x6d\x86\xde\x2c\x85\x6c\x4a\x5e\x6e\x00\xef\x14\x2e\x4b\x89\x6d\x3f\x30\x7d\x85\x16\xc2\xee\x6e\x89\x10\x00\x9c\xee\x96\xfb\xac\xf8\x19\x5f\x12\xf1\xc2\x9e\xe4\x4b\x9f\x6e\xa4\xea\x72\x34\x05\xd1\xef\x47\x95\x53\xa6\xc5\x66\x19\x0e\x46\xa9\x84\x18\x76\xee\xa9\x97\xce\x2d\xcb\x4d\xcf\x6f\x75\x55\xc1\xe7\x26\x43\xd2\x5d\x31\x7d\xd3\x9c\x19\x55\x4a\x64\xed\xae\x75\xa0\x21\xb9\x70\xa0\xdb\xb6\x63\x87\x7d\x54\x45\xd0\x7c\xc2\x58\x76\xda\x3b\x1f\x92\x0b\x1f\x30\xcc\x8d\x9c\x75\x72\x52\x0f\xcb\x90\x45\x77\x69\x55\x3e\x14\xf1\x17\x79\x76\xa0\x96\xda\x2f\x8b\xb0\x7c\xb2\x20\x19\xf9\xb9\x4f\x17\xb1\xe0\x0e\x59\xaa\x0a\xd9\x06\x04\xb9\x61\x3d\x18\x7d\x68\xaa\x2c\x70\x95\x1c\x1d\x8f\x6f\xf8\x53\x4d\x2d\xb9\xef\xdd\xd5\x06\xd7\xc9\x5d\x6d\xe4\x9e\x77\x57\x9b\xba\x3c\xb8\xab\x4d\xce\x93\xda\x5d\xfc\xe9\x4f\x7f\xfa\xd3\xe1\x69\x23\x37\xe3\x42\x7c\x59\x1f\x9e\x36\x07\x75\x41\xa3\xcb\xc2\x63\x99\x3f\xd4\xdc\x02\x3e\x10\xad\x13\x23\xc8\x66\xea\xf4\x73\xd0\xb5\xbe\x78\xe4\xe1\x5d\x86\x9d\x5e\x1c\xb3\x5f\xb3\x22\x75\x65\x87\x44\xca\x66\xb1\x2f\x7f\xbd\xf0\x69\x3a\x55\xa3\xd4\x30\x2f\xa3\xbb\x41\x6f\xff\x6b\xa3\x7e\xd4\x78\xb1\xfb\x2c\x8e\x45\x05\xe2\x59\x8e\xfe\x93\xe9\x41\x99\xda\x42\xcb\x82\x78\xa4\x2c\xdb\xc8\xa8\xc2\x13\x78\x20\x91\x78\x60\x13\x52\x6b\xfd\x5f\xb8\x51\x97\x75\x79\x80\x88\x5a\x9f\x1c\x70\x95\x52\xb5\x4d\xe2\x81\x44\xc8\x49\x7b\x5e\x99\x61\x3c\x77\x07\xa7\x43\xf6\xc4\x73\x7d\x41\xe6\xc4\x8e\x48\x05\xbe\x6d\x21\x2c\x9f\x5e\xe3\x2c\xfd\xc4\xf3\xec\x42\xfc\xf4\xce\x40\x43\x94\x89\x84\x54\x20\xb3\x7e\x87\xd3\x87\xa1\x35\xc6\xd2\x41\x88\xe6\x43\xbf\x23\x6e\x45\x87\xd7\x46\x0b\xff\x7b\x00\xc1\x00\xe8\x33\x48\x30\xbf\x5d\x48\x9e\x82\x05\x77\xb5\xe9\xe0\x5d\xaf\xfe\xca\x02\xdd\xbb\x7d\x3f\x62\xaa\xd3\x24\xfa\xb2\x56\x02\x0a\x06\x29\xeb\xc3\xd3\x39\x28\x40\x48\x67\x18\x99\xed\xeb\xbc\x64\xb5\x33\x01\x12\x91\x04\x09\xb3\x2d\x72\xb6\xfc\x90\x8c\x34\x04\x10\xb6\x2d\x69\x5b\x74\x37\x3b\x3e\xb2\xc3\x59\xc0\x55\x65\x30\x8b\x9e\x38\xea\x54\x2d\x91\xd1\x1d\x53\x3f\x09\x34\x99\xf1\x93\x00\xfa\x47\x1a\xfa\x49\xb0\xe1\x34\xea\x02\x22\xc8\x30\x4d\x66\x69\x23\xb7\xa8\xa8\x63\x4b\x64\x6c\xbe\x5f\x05\x85\x76\x04\x87\xd1\xe0\x81\xaf\xe3\xcd\x16\x91\xcf\x59\x40\x96\x73\x72\x0d\x9f\x5d\xa0\xd9\xcb\xe7\x44\x93\xea\xcf\xc7\x59\xfc\xf9\x22\x20\x54\xe5\x54\x99\xbe\x60\xf4\xd4\x6d\x4b\xab\xdf\x97\xef\xb2\x63\x16\x66\x79\x56\xbf\x77\xad\x5d\x16\xc7\xbc\xb0\x40\x2f\xbb\x85\xeb\x6e\xb5\xf0\x25\xa3\xa7\x9c\xd7\x35\xaf\x5e\x1f\x58\x24\x56\x1c\x17\xb3\x2c\xea\x9f\x25\xa6\xb3\x3e\x59\xad\xac\x16\xbe\x62\xd4\xb7\x7e\x46\x28\xb4\xc0\xfa\xc1\x02\xeb\xbb\xf2\x57\x0b\xac\xfd\xd1\x0a\x7a\x2c\xf6\xb5\x22\x47\x59\xe2\x84\xd2\x5c\x45\x73\x17\x2a\x68\x55\x88\x77\xfb\x96\x7f\x3f\x1c\xb4\x76\x60\xae\xbd\x72\xd6\x42\x78\x0a\x81\xd3\xaf\xd8\xd0\x34\x9f\x4b\x97\xfc\x90\x7e\xc5\x7c\x1e\xcc\x23\x18\x57\xad\xcd\x75\x7a\xb2\xf8\xe7\x21\x3f\x41\x3f\x53\x7a\x8a\xb0\xbf\x0f\xd1\xc3\x6b\xc8\xf7\xec\xc9\x59\x41\xec\xaf\x83\x85\x13\xa1\xcb\xc4\xdc\x89\xa5\x73\xff\xe1\xc9\x22\x6e\xd8\xd7\xf9\x0d\x33\x8d\xc5\x34\xdf\x9e\xd0\x08\x3d\x5b\x3d\x45\x2a\x2c\x57\x93\x1a\x8b\x78\x9f\xb8\x96\xbc\x0d\x17\xc3\x36\xad\x31\x46\xf8\x6a\xf3\xc9\x4d\xb2\x49\xe6\xf4\x05\xb1\x24\x94\xab\xb3\x47\x27\x9d\x77\xa1\x76\xa2\xf9\x4f\xe8\xa2\xbf\xc2\x7b\x58\x62\xcf\xe9\x2a\xd5\x79\x17\x7d\x58\x1e\xb5\x55\xad\x41\x19\x5d\xf7\xec\x3c\xbf\xea\x28\x66\x9f\x5b\x3f\xcb\xeb\x7a\x65\x31\xe2\x9a\xbd\x98\xaa\xb9\x4f\x9c\x9d\xf5\xfa\x83\x35\x77\xa7\x78\xfd\x8c\x7e\x3b\x5a\x25\x91\x93\x9a\x33\xc6\x96\xd2\x7b\x08\x6b\x72\xf5\xdb\x37\x08\x98\x90\xd0\x47\x75\xb4\x68\xf5\x34\x6e\x10\xaf\xa8\x43\xef\x96\x90\xcf\x13\x64\x38\x56\x37\x94\x37\x8d\x44\xea\xea\xe2\x37\xaa\xb8\xcf\x84\x80\xb3\xba\x31\xbe\xe2\x69\x89\xde\xe2\x82\xa3\x7c\xd7\x1f\xc6\xe9\x9d\xbe\x89\x69\x6a\xdb\xce\xdd\xf2\x8c\x96\x38\xa4\x69\x38\xaa\x1d\xfb\x0a\x38\x35\xd0\x1f\x27\x4d\xb3\xea\x82\x0b\xce\x35\x7c\x09\x6e\x74\x0a\x9a\x20\x86\x84\xcc\x05\x58\xf6\x33\xf8\x97\xb1\x25\x84\x3a\x24\xc2\xfb\xd7\x56\xc8\x40\xab\xad\xb4\x53\x57\xcd\xc4\x78\x40\x04\xb1\xec\x94\x6d\x63\xa8\x2a\x15\xca\x26\x06\xab\xcc\xe3\x4e\xc8\xc2\xe0\xa8\x12\xa9\xab\x34\x08\x3d\xcc\xdf\x34\xbd\xdc\xd4\x34\xce\x28\x17\xed\x2e\x53\x1e\x7d\xb0\xed\xd7\xd2\x8b\x58\xb5\xd9\x19\x75\x9a\xcd\x42\xcd\x9c\xb8\x3b\xac\x27\x44\x06\x7a\x7d\x8d\x41\x43\x75\x44\xaa\xc8\xb6\x79\xd3\x48\x7b\x8a\x51\x69\xee\x45\x4a\x64\x8c\x0d\x79\x91\xa8\x9b\x52\x53\xf4\x71\xbc\x30\x13\xa1\x6d\x77\xc3\x3a\xeb\xb9\x35\x91\x3a\x31\xf4\xd0\x53\xf3\x63\xb9\xb2\x2e\x32\xbc\x9b\x4c\x9f\xfd\x1f\x8f\xca\x99\xa9\x14\x58\xb7\x7e\xef\x9e\xce\x43\x0a\xe3\x61\xba\x32\x5f\x40\x10\xb5\x54\xe6\x4e\xfe\x55\xb1\x4f\xad\xb5\xe5\x46\x6d\xdb\xb6\x10\x1d\x8f\xdf\x3f\xec\x43\x5e\xb9\xa7\xa8\xcc\x1f\xf6\x05\xfa\x99\xba\xb3\x15\x24\x59\x9e\xff\xa0\xda\x12\xaf\x39\x7f\xfa\x73\x55\x3e\xea\xe7\xd7\xbb\x2a\x2b\xee\xf0\xad\x47\xfd\xb3\x15\xe4\x59\xc1\xbf\xe9\xde\xca\xbe\x02\xc9\x27\xe0\xc3\x61\xc7\x0a\xbc\xbc\xf1\x31\x8b\xcb\x47\x7c\xfa\xf5\x5b\xbc\x06\x4f\x3c\x95\xe5\x1e\x3d\x98\xa2\x23\x9a\xda\x1f\xdd\x93\x95\x08\xf0\x17\xa0\x7d\x3c\xe2\x4e\xb0\x5a\xc0\x59\x9c\x38\x9a\x97\xd6\x9a\x1f\x8f\xec\x17\xfe\x7b\xf4\xce\xb4\x14\x61\x9c\xe2\x8f\x63\x03\x67\x63\x61\x32\x94\x88\x02\x3b\xe5\xef\x02\x0c\xbc\x6f\xbc\xd3\xaf\x19\xaa\xa5\x04\x82\xc1\x0f\xd2\x69\x2d\xc4\x1b\xb0\xba\xd7\x5d\x00\x46\xe8\xe5\xd4\xb6\xad\x94\xd7\x56\x56\x5c\xa5\x46\xc4\x4b\x87\xd3\x54\x85\x28\x9c\xad\x21\x26\xc4\xe3\x6e\xe6\x87\x81\xeb\x24\x5d\xf8\x5b\x23\x22\x2e\x4d\x10\xf1\x7c\xae\x68\x56\x44\xa4\xc1\xa6\xc3\xfd\x75\x30\x5f\x93\xe7\xdc\x7f\x11\xcc\x0d\x3c\xa2\xf1\x9d\x90\x5b\x13\x6a\x15\x08\x00\x16\x01\x79\x12\x12\xd9\x76\xa4\x88\x86\xfe\x34\x43\x2f\x40\x2c\x26\xa1\x45\x0e\x3f\x9a\x53\x24\x7a\xe7\xe2\x93\x80\x67\xb9\xd7\x57\x68\xa3\xd6\x05\xe8\xe8\xc5\x27\x0b\xe3\x55\xf9\x61\x40\xad\xac\xd8\xf1\x2a\x43\x03\x0d\xdb\xb6\x8e\xa3\xf9\xa0\x78\x4a\x9d\xaa\x30\xbc\x62\x91\xbb\x92\x51\x27\xeb\x12\x09\xcb\x97\x1c\x9f\x26\x57\xf8\x3f\x58\x57\x05\x09\xbf\x67\x75\x87\x4b\x6a\xae\xe4\x0a\xfa\xfe\x76\x91\x32\x15\x29\x89\x09\x62\xab\x6a\xcf\x72\x15\x45\x13\x79\x96\x2f\x19\x66\xfa\x12\x2f\xae\x91\x28\x32\x6a\x9a\xc8\x73\x92\x21\x5d\x90\x06\xb9\x2b\x69\x97\xf3\xfd\xc3\x9e\x57\x59\xe4\x24\xc4\x4b\x9a\x66\xe5\x72\xe2\x72\x43\x9b\xe9\x5b\x52\x24\xb5\x40\x51\xce\xe0\x4c\xeb\x68\x0c\x8f\x8e\xf1\x8c\x69\x4a\x1d\x79\xbf\x2a\x02\x77\x1e\xf2\x8f\xd8\xb6\x74\x6e\x32\x28\xb2\x27\xb9\x6d\x87\xc1\x17\xc6\x35\xe1\x5d\x75\xdf\xea\xb9\x68\x89\xdb\x3d\x77\x8e\x78\xc7\x89\x7e\x48\xaf\xb6\xd8\xb6\x91\xb2\xeb\x05\x45\x66\x2e\x82\xd8\x53\x14\x32\x86\xdf\x47\xf0\x39\x01\x4e\xdc\x95\x76\x00\xd0\xb3\x30\x90\x63\xde\x33\xe7\x6e\x39\x21\xd2\xc1\xe4\x21\x5f\xd8\x8f\xf8\xd4\x71\xd2\x59\x21\x90\xe4\x42\x33\xd4\x4f\x0c\x7c\xa6\xd9\x2f\x19\x79\x31\x30\x02\xa8\x75\x7e\x37\x52\xe2\xb2\x2c\xd0\x92\x96\x65\x81\x92\xbe\x14\xe7\x74\xae\x3e\xee\x16\x92\xcd\xc5\x52\x4a\x1b\x09\xd7\x3c\xfa\xd0\x8c\x80\x34\xb2\x3a\xb5\x02\x21\x9c\x85\xda\xf6\x22\xc3\xcd\xda\xf5\xa3\x60\xf3\x89\x32\xc2\xe2\x3e\x9b\xff\xe4\xc7\x81\xa8\x3e\xf1\xe3\xa0\x69\x12\x3f\x5e\xbc\xc0\xdf\x95\x21\xde\xb4\xf0\xc0\xfa\xdb\x5d\x9d\x51\xcf\xc4\xde\xa6\x7f\x66\x64\x6c\xb8\x31\xde\xd1\x97\xcf\x35\x47\xba\x40\x31\x10\x41\xba\x55\x28\x7f\x1d\x20\x5e\x07\x2f\x90\x7c\x20\xef\x43\x79\x71\x45\xe2\x13\x3f\xf4\xd3\x20\xe8\x00\x44\xbc\x49\x14\xdc\xc7\xf2\x1f\x98\x88\x60\xa8\x7b\x43\x13\x08\x78\xe0\xa0\xd1\x6b\x0b\x6c\x32\x44\x31\x69\xe1\xb8\x2b\x1f\x27\x94\x07\x7f\x51\x46\x0b\x78\xb6\xb6\xcb\xe2\x29\x05\x83\xca\x43\x5a\xa8\xcb\x34\xcd\xa7\x42\xa2\x5a\x61\x59\xe6\x9c\x15\x66\xc8\x69\x15\x74\x5a\x34\xac\x6e\x93\x5a\x8a\x06\xf4\xf3\xd8\x9a\xe5\xb5\x6c\xc4\x93\x17\x67\x13\x5d\x4e\xbf\xca\xa2\xed\xf0\xe2\x97\xbf\x0e\x24\x1e\xad\x0f\xe1\x8f\x57\x7f\x65\xbd\xfb\x20\x5e\x82\x6e\xe4\x6b\x8b\xe5\x9b\x47\xce\x0b\xfa\x57\x06\x66\x3e\x7a\x32\xee\x1a\x77\xff\xca\x40\x94\x9b\xf0\xc3\x81\x44\xd9\x42\xf0\x9c\xef\xb5\x53\xe6\xa1\x2a\x0f\x34\xd2\x9e\x09\xc7\xac\xc0\x7b\x15\xad\xe3\x23\xee\x75\xe9\x12\x81\x46\xd9\x47\x1a\x6a\x9f\x37\x56\xd5\xda\x92\xe4\x51\xdd\x44\x80\xde\xc9\xb2\x92\x22\xa6\xb1\x7c\x7c\xc0\x4b\xdc\x35\x14\x2b\x82\x18\x05\x9e\x60\xe1\x04\x39\x6c\x21\x7a\xa8\xce\x0f\x80\xe5\xd8\x0e\x12\xea\xbb\x4e\xf6\x3e\xe3\x82\x2b\x49\x79\x2d\xcd\x62\x95\xbd\x91\x59\xa6\x0f\xd2\xd3\x7d\x6f\xa1\x7a\x98\xb8\xa1\x0a\xa2\xdf\x6a\xcc\x9c\x80\x65\xfc\x50\xa1\x9b\x9f\x72\x8d\x2f\x8f\x54\x50\x44\x39\x6b\xbe\x31\x83\x81\x36\x22\x19\x17\x7c\xce\x60\x05\xeb\xe9\x6f\xda\xab\x1e\x6b\xd5\x46\x28\xe5\x23\x75\xf4\xac\x2e\xfa\xd9\x27\xcf\xc3\x79\xff\x36\xac\xef\x58\xf3\x83\x3a\x93\x37\x93\xfa\xb3\x49\x19\xe4\x45\xd7\xaf\x2f\xbb\xb6\x6d\x8c\xc5\xea\x45\x5d\x00\xf1\x4b\x93\xda\x7d\x97\xb7\x3b\xb5\x70\x06\xb3\x06\x68\x9a\xdf\xc0\xac\x8f\x9e\x3a\xbf\x81\x11\xe1\x54\x6b\x33\x0e\x3d\x21\x7a\xed\xcb\x0a\xd0\x12\x5f\xbc\x6b\x01\x43\x5d\xd4\x66\xa4\xe9\x9c\x9e\x13\x6a\x1c\x25\xc7\x2d\xd3\x41\x08\x52\x42\x2a\x61\x0f\x75\x29\x18\xb0\xd0\x0b\xdd\x15\x71\x87\xcd\x8c\x49\x29\x9e\x33\x3e\xe1\x74\x76\xf5\x9f\xa5\xe0\x45\xf1\x83\xde\x39\x13\xdd\x33\x18\x27\x55\x6e\xc8\x1f\xa9\x44\xd2\xa3\xcc\x41\xf7\x05\x8b\xfe\x38\xc7\x0b\x40\xeb\x71\xaf\x91\x7f\x7f\x6c\xbb\x85\x51\xeb\xd7\x85\xb8\xa0\x13\xc9\xaf\x78\x52\xa3\x27\xe3\x30\x36\x94\xec\xb1\x29\x0d\x60\xc2\xc0\x26\x69\xaa\x71\xed\x06\x8b\xe8\xe4\x24\x88\x38\xab\x26\x2f\xea\x6c\x01\x11\xcd\xc4\xb7\xe5\xa7\x0b\x54\x23\x45\xe5\xd1\x61\xcf\xf1\xf1\xc7\x6f\xc9\xf5\x0b\xac\x39\x79\xa2\x67\x40\x07\xdd\x4a\xd0\x93\xba\xc0\x83\xc1\x77\x0c\xbe\x67\x32\x5e\xae\x24\x01\x8d\xc0\xce\x8d\xc0\xc9\x78\x61\xc7\x58\x09\xe8\xb9\x4a\x0f\xd8\x10\xad\x33\x94\x47\x7c\xbd\xe2\xf0\x47\x46\xaf\xfb\xe0\xd3\xcf\xae\xe1\x6f\x8c\xfa\xff\x60\x01\xfc\xc4\xe8\xc9\x7a\x6e\xb9\xfe\x25\xa7\x2a\x6d\x67\x2b\x70\x78\x1f\x5b\x5e\xa2\x4e\x4e\x7f\xe8\x14\x69\x90\x08\xb6\x96\xfb\x1f\x07\x23\xd4\xc9\x7a\xd4\x09\x29\x1d\x7d\x92\x7a\xb5\x19\xca\x38\xf3\x98\xd8\xb6\xae\x50\x82\x7f\xa4\xe0\x87\x10\xd8\xd1\x35\x64\xf4\x05\x12\xfd\xd4\xb6\x53\xff\xe3\x40\x14\x53\x56\xd0\xe2\x15\xb8\x20\x02\xa8\xea\x98\xc7\x4d\xb3\xde\xc4\xe5\xd5\x8e\xee\x9a\xc6\x5a\x7e\x6a\x41\x7a\x4d\x77\xa0\xe1\x52\xd7\x0b\xe9\x3c\x21\x4a\xad\xb8\x13\x92\xd9\x4e\x8f\xed\x3a\x56\xb7\x8a\xef\x6c\x7b\xb1\xc8\xfa\x4b\x1f\xd4\x39\xa3\xa4\x27\xf3\xb4\x69\x44\x5b\x2b\x88\x14\xdd\x80\x08\x69\x89\x90\xcd\xbc\x74\x3e\x90\xd1\xdc\xb9\xf8\x4b\x20\x6a\x03\xe3\xa8\xf3\x35\xeb\x49\xbf\x71\x53\x99\x19\x84\x5e\xc7\x18\x6f\x09\xbc\x62\x54\x39\xf9\xf7\x4a\x9f\x37\x43\xc7\x14\xc9\xe9\xa9\x73\x29\x26\x95\xdb\xa1\x54\x37\x2a\xbe\x8e\xbe\x58\x84\x24\xa2\x82\xb1\x03\xee\x6b\xcd\xe0\x3c\x0a\x28\xf7\x7b\x1d\x5f\x14\x50\x66\x5c\x88\xee\xf0\xa5\x12\xf7\xa9\x56\xea\x0b\x26\xab\xef\xc6\xdf\x3b\xed\x5d\xc7\x74\x02\xa7\xce\x4f\x0c\xa5\x28\x3f\x20\x3a\x20\xcb\x4f\xcc\xb7\x9e\x5b\x01\xc1\xeb\x6a\x7b\xcb\x86\x4d\x8a\x7a\xd0\xb9\xbc\x4d\x86\xfb\x49\x20\xb1\x7f\x24\x78\xac\x4e\xc1\x66\x28\x75\xff\x31\x7d\x48\xac\x23\xc3\x4a\x83\xa3\x3d\xc5\x30\xab\x5a\xc2\x3b\x0c\xf4\x04\xaf\x05\x9f\x78\xdf\x5d\xdc\x60\x25\x4f\x62\xa3\x61\x90\x70\xdc\x2c\x4d\x83\xf6\x34\xc3\x1b\x13\xf0\xda\x07\x90\x08\x7e\xb7\x7c\x28\xf0\x63\x8c\xd6\x2a\xfa\x05\xaf\x70\xdb\x19\x77\x19\x80\xf9\x62\x86\x9c\xef\xcb\x34\x4d\x26\x18\x2e\xe8\x53\xe6\x73\xc8\x97\xf2\xf2\x55\x13\x1c\xa6\xd2\xfa\x42\x8b\x05\xf4\x17\x41\x60\x57\x3b\xc3\xb0\xdd\xf0\x72\x05\xbc\x92\xed\xcc\x0e\x52\x4b\x8f\x59\x71\x15\x36\x8d\x12\x21\xf1\x6c\xc3\xb6\x9d\x68\x59\xbe\xe3\x55\x92\x97\x8f\xd4\x2f\xbb\x67\xe8\x1f\x7f\x31\x9e\xff\x19\xc0\xed\x44\xac\x78\xb8\xa3\x9d\xde\xee\xd6\xeb\xa6\xde\x54\x34\x36\x4d\x2d\x64\xf2\x4e\xe7\xe7\xde\x82\x92\xaa\x44\xa1\x3b\xad\x96\x33\x25\x3d\xa9\x42\x12\x7d\x2c\x7b\xb5\xe3\x40\x12\x43\x9b\x52\xdd\x37\xcc\xd7\x8d\xa5\x3b\x0d\x99\x9a\x5a\x23\x5f\x5f\xde\x5f\x05\xe6\xa8\xcd\x2f\x6b\xf3\xcb\x3f\xcd\x2f\x2f\x82\x56\xa9\x1d\xd5\x4d\x62\xa8\x6c\x0e\xc5\x2e\xfc\xbe\xf3\xcd\x40\x15\x97\x3a\x97\xc7\x4f\x88\xde\x2c\x49\x07\x50\x77\x00\x9c\x52\xea\x1c\x3c\xd1\x6b\x6e\xb9\x96\x04\x59\x2c\x27\x9f\xe5\xe5\xa4\xb3\x7b\x23\x06\xc9\xbd\x1f\x07\x24\x2a\x8b\x3a\x2b\x1e\xf8\xe6\x40\x67\xab\x76\xef\xc7\x01\xbd\xb7\xed\x7b\x14\xeb\x7a\x19\x27\x56\x91\x6e\x6f\xf5\x35\x48\x13\xf7\xa5\xed\x09\x31\x16\xc4\x31\xd6\x73\xbc\x70\xc3\x15\xb9\x95\x7e\x2c\xa7\x7b\x4f\x4f\x79\x56\x5c\xdd\xdb\xb6\x73\xa0\xf7\x4b\x99\x42\xdc\x7b\xf3\x9a\x14\xbd\x25\xe1\xd4\x12\x48\x30\x90\xac\xcc\x47\xff\xff\xcc\x7d\xdb\x93\xdb\x36\xba\xe7\xfb\xf9\x2b\x24\x8c\x97\x45\x58\x68\x49\xed\x49\x6d\x9d\xa5\x06\xe6\x26\x8e\x73\x99\x63\x4f\x2e\x76\x76\x32\x23\x73\x52\x00\x09\x4a\x54\xab\x29\x59\x94\xba\xdb\x69\xea\x7f\xdf\xc2\xf7\xe1\x46\x8a\xed\x9c\x79\xd8\xaa\x7d\xe8\x16\x09\x82\x20\xee\xf8\xee\xbf\xf1\x9e\xb2\x7d\xaa\xcf\x5e\xcb\xbb\x6c\x11\xc0\x33\x74\x2a\xd6\x4f\x2d\x2b\xc3\x2e\x9f\x23\xc9\x16\xc6\xe0\x75\x3b\x00\xec\x9a\x7a\x98\x6e\x69\xc8\xff\xdd\x2e\x65\x46\xcf\xc1\x28\xde\xd2\x15\xff\x45\xc4\xfb\x54\xf7\x63\x32\x67\x05\xdb\x52\x06\x4f\x3e\xb6\x6d\xac\x13\xf9\xca\x10\xbc\x7b\x7d\x74\xc0\xe9\x60\x53\xcc\x6f\xa0\xe3\x28\xda\xd6\xae\x40\x40\x08\xbe\x4e\xe6\x1d\xcf\xbb\xbf\x0f\x39\x21\x42\x6d\x72\x54\x82\xc1\xe6\x19\x0a\xc2\x72\xe0\x84\x71\x26\x81\xef\xa3\xe7\x98\x4b\xd4\x68\x94\x7a\xce\xe2\x43\xae\xd9\x7a\xca\x72\x03\x0c\x29\x74\xf5\x4b\x1b\x06\x59\x67\xe8\xc9\xc7\x0a\x14\x88\xa1\xe0\x01\x64\x62\xfa\x3c\x5e\x19\x6f\x8d\xb8\xa4\xfe\xdd\x22\xf3\xd5\x2c\x29\xd6\xb6\x6d\x63\x17\x5c\x8b\x01\x6a\xbf\x32\xb3\x4f\x57\x98\x07\x87\xcb\xaf\x97\x7b\x3d\x1c\x1e\x3f\x09\x8f\xe4\x11\xa2\x7d\x0c\x2c\x64\x1b\xcc\x19\x8e\xfe\x33\x65\x55\xb8\x0f\xeb\xa5\x48\x2d\x86\xc0\xc2\x79\xd9\xf0\x37\xa2\x6d\xf5\x09\xcd\x72\x1e\xe8\x07\x37\x38\x6e\xfa\xac\x9e\x6c\x1c\x2f\x74\x85\xb4\xd1\xcc\xa7\x68\xc2\xa0\xe4\xd7\x57\x05\x68\x5f\x2a\xbe\x99\x1e\x35\x19\xe5\x0d\xb1\x8d\x5c\xc2\xa6\x2f\x57\xd9\xf4\x70\xaa\xe3\xd2\x63\x7f\x84\x58\xbe\x82\x2d\x37\xac\x64\x7a\x14\xae\x5f\x96\x51\x54\xa5\x79\x12\xaf\x3b\x78\x25\x3a\x4b\x46\x31\x28\xd2\x86\xaf\x1d\x6a\x08\x86\x3f\x14\x26\xc4\x61\xe8\xe4\x29\x29\xdb\xed\x8f\x41\xda\x78\xce\x1e\x8d\x33\xd1\x6b\xa0\x85\x93\xc7\xf3\x99\xe5\xd4\xc5\x8b\xf2\x00\x90\x89\x74\x89\x3f\x20\xd7\x96\xe4\xcc\x75\x4d\xe2\x3a\xcf\xf6\x47\x92\xbb\xae\x61\xd8\xe2\x64\x99\xb1\x80\xc0\xec\xc4\xbb\xb6\x6a\x40\x23\x40\x88\x05\xdb\x68\xe6\xb0\x01\xc9\x00\x5e\x4e\x3b\x15\x05\x42\xc3\x3c\x40\x32\xde\xf5\xa3\xeb\x79\x70\xb4\x2a\x28\x2b\x30\x52\x4f\x12\x5a\xbe\x79\xdf\x61\x99\xf6\x86\x2a\x81\x7d\x50\x75\xc2\x64\x80\x2f\x2e\x1f\xcf\x9d\xa1\xba\x1b\xc6\x1c\x87\xf1\x3a\x70\x6a\xbe\x1c\x26\x26\x33\x9a\xac\x0d\xea\x71\x27\x95\x59\x03\xd5\x1b\xbe\xc1\x80\x75\xf0\xad\xbf\x8b\xf8\x66\xb0\xdd\xb4\x4b\x3a\xfd\x24\x1c\xed\xb4\x61\x82\xd9\x77\x3c\x09\xe5\x01\xd7\x6f\xc5\x3e\xbe\x61\xbf\x40\x84\xd9\x8e\x2d\xb6\xfd\x0c\xf0\xed\x51\x14\xde\xda\x50\xea\xf0\x4a\xf9\x00\xf1\xa7\x0e\xb1\x9b\x3e\x15\xb3\x73\x4d\xd4\xd5\x6d\xb2\x61\x88\x0f\x64\x4a\x80\x1b\x4d\x78\x6c\x3c\xcc\xb3\x79\x64\xef\x0d\x0e\xb3\x49\xd5\xd7\xb6\xd1\x16\xe1\xd7\x20\x46\x9b\x54\x7d\xed\xd6\xbb\x49\xc3\x3b\x7a\xae\xa7\x5f\xd6\xd5\x2d\x4c\x38\xef\xd9\xfc\xab\x60\x8f\x30\x50\x17\xa1\x24\xba\x68\xde\x34\x35\x08\x3f\x48\xae\x26\x42\x53\x91\x4e\x4e\xba\x08\x2d\x75\xe7\x10\x78\xa8\xe7\xc1\x9a\x73\xbd\xeb\xb1\x9f\x61\x8b\x83\xff\xc0\x9d\xc0\x95\xc3\xc8\x92\xe8\x4b\x35\x18\xdb\x52\xa6\x3f\x09\x97\x51\xd0\xe4\x27\x81\xd3\x57\x18\xe8\xa9\x66\xaf\x54\x71\x11\x41\x0d\x17\x8d\x88\xa2\x01\x5c\xba\x70\xe1\x0b\x9a\x3c\xda\x1e\x4d\xf2\xb6\x1d\xe7\x51\x24\x51\xc5\x10\xf4\x41\x14\x09\xbf\x7c\x05\xc3\x65\x95\x60\x56\x69\x02\x42\x7f\xe3\xd7\x50\x14\xc9\x00\x62\xde\xbe\xc8\x61\xa2\xec\xca\x32\x9d\x27\x56\xe9\xe4\x6a\xe5\xb3\xa5\xfe\x32\xf1\x97\xfa\xa4\x40\x2e\x59\x37\xb7\x49\x83\xeb\xa5\xcf\x95\x25\x41\xba\xf7\x5c\x35\xf1\x74\x0a\x4b\xcf\x9b\x0b\x50\xa7\x80\xf9\xa6\xb9\x47\xa2\xbe\x98\xee\xb6\x05\x2f\xdc\x44\x63\xfe\xb2\x8b\x91\x16\x46\xc6\xd6\xef\xd0\x28\x82\x5f\x2f\xaf\xd2\x85\x41\xd1\x17\xb8\x59\x26\x9d\x9e\xf5\x1e\xd4\x91\x87\x97\xa2\x50\xef\x77\x7f\x10\xda\xc6\x78\x6b\xbd\xa3\x40\xfa\x3a\x15\x30\x9b\x5b\x3a\x48\x53\x18\xfa\x00\x84\x89\xaf\x62\xa7\x51\x96\x67\x86\x6a\x95\x33\x33\xcf\x3e\x13\x47\xb0\x4b\xef\x09\x44\x8e\x83\xce\x45\x24\x82\x1e\x6a\x1c\x1e\x96\xbf\x1a\xe9\x76\x77\x96\xb1\x92\x2e\x62\x65\x43\x2c\x40\x06\x52\x56\x75\xd5\xac\x41\x8b\x24\x21\x1c\x19\xc0\xa3\x3b\x93\x90\x29\x3e\xe7\x2b\xa6\xda\xb6\xf4\x43\x76\x1d\x00\x2b\xae\x8c\xe8\x11\x7b\xd6\x64\x62\x2b\xda\xdf\xd7\x3b\xab\xe2\xd2\x53\x0a\xa3\xa5\x2d\x2c\x99\x82\xe0\x74\x32\xce\x5d\x6d\x06\x91\xbf\x30\x5c\x4e\x88\xfe\x25\xa3\x08\xa0\xd9\xaf\x8d\x14\xf3\x02\xaf\x6c\x38\x8c\x0e\x56\x02\x0c\x5d\x8c\xbc\x2d\x8a\xba\x38\x61\xd0\xf3\xb0\xc7\x36\x10\x33\xc2\x49\x87\xf1\x40\x5a\x81\x0b\xad\xfe\x0f\x55\x8f\xa2\x22\x5e\xa1\xbb\x9e\x85\xab\x80\x70\x11\xab\xcb\x8c\x3f\x3a\xe3\x15\xff\x12\x1e\x69\xde\x17\xff\xea\x6a\x41\x4b\xfd\x8a\xde\xd2\x4d\x70\x69\xb4\x87\x81\x9a\xc2\x23\xa8\xeb\x98\x73\x4d\xcd\x41\x82\x9e\x5d\x38\xa8\x39\x58\xf8\x5d\xb3\xd2\x82\x7d\x28\x76\x4d\xe9\x22\x96\x7a\xb7\xa1\x4f\x20\xca\xe1\xd8\x0f\x0a\xde\xc6\x36\x90\xb7\x85\x5a\xfb\x5c\xaf\xb2\x3c\xec\x2d\x4d\x99\x2d\x6d\xcf\x92\x8c\xa9\xe0\x16\x3b\x3a\xeb\xf6\x74\x91\x16\xfe\xec\x07\xca\xd5\xce\x4a\x00\x4b\xef\x20\xea\xe9\xe1\xc5\x88\xbc\xd0\xb3\xf8\x1b\x78\x17\x8d\xf5\x04\xf1\xdd\x2a\xb1\x5b\x25\x76\xab\x71\x70\xd5\xbd\x29\x33\x37\xd7\x05\x98\xc5\xc8\xb0\x37\x75\x29\xae\x27\x25\xf4\x24\xca\x76\xe6\x8b\xd5\x4b\x09\x6e\x8d\xc5\x52\x66\x51\xa4\xff\x9b\xca\x76\x6e\x82\xdd\xc9\x4e\x78\xdb\x28\x87\x83\x89\x2a\x64\xc3\x6e\x32\x64\x28\x19\xb2\x9a\x7d\x45\xb2\x05\x17\x2c\xeb\xa5\xcc\x16\xe6\x37\x3c\x8e\x3a\x6a\x22\x14\x88\xb7\xed\x90\xee\x2a\x1f\x36\x36\xc7\x05\x6e\x37\xb2\xf7\xe0\xdb\x37\xa7\x0c\x0b\x0e\x1d\x78\x9a\x6d\x55\xa8\xaf\x77\xf7\x75\xf2\x5e\x18\x26\x98\x32\x48\xfc\x65\x0f\x49\x50\x7f\x93\xf4\x1e\xb5\x6a\x3a\xd9\x34\x93\x32\xbd\xf3\x7e\x5f\x7b\xeb\x1b\x2c\xe3\x0c\xe9\x3f\x9c\x8e\xc1\x03\x28\x09\x1f\x98\x82\xfc\x33\x53\xdc\xf9\x8f\xfd\x7c\x2e\xb7\x75\xdb\x4a\x69\x37\x69\x68\x1e\xce\x46\xbe\xcc\x2c\xa9\x95\xdf\xf4\xb7\x5d\xf0\x72\x65\xb9\x9b\xba\x30\x27\xbc\x98\x70\x21\xff\x92\xbb\x79\x37\x99\x50\xc1\x73\x88\x69\x1c\x1b\xb7\x08\x5c\xb8\xb9\x9b\x56\x57\x57\xec\x9a\x2e\x72\x27\x34\x32\xf2\x69\xc0\x8b\xf0\x82\xc8\x80\xf2\xeb\x45\x26\xc4\x4a\x58\x3a\x45\x7f\xc7\x2a\x1b\xc4\xe1\x18\xd3\xc4\xe7\xd0\x45\x9a\x82\x20\x38\xe4\x9d\xd8\xf2\xeb\x3f\x33\x9f\x3b\x6c\xe9\x5b\xbd\xbb\xbc\x15\xbc\x51\xc7\xef\x4d\xe6\xd8\x75\x49\xb7\x10\x6a\x4b\xd5\xb5\x0e\xcb\x00\x23\x16\xf7\xf6\x5b\x41\xd9\x5b\xf4\xd2\xb5\xf9\x81\x76\xe0\x8f\xcd\x76\x77\x9f\xfc\xcf\xf9\x9c\x95\xa2\x39\x26\x2f\xe6\x73\x1f\x2c\xea\x8b\xf9\xdc\x9c\xd9\x85\xda\x8a\x4f\x4f\xe1\x25\xea\xe2\x3a\x74\x8a\xc8\xda\x56\x80\x1b\xb0\xc1\x6c\x65\xc1\x21\x21\xd9\x10\xd7\x13\xc8\x82\x25\x13\x80\x5b\x38\xd4\x1e\x9b\xc7\xf8\xb9\x5f\xa8\x25\x9f\xc2\x41\x64\xf2\xf2\x11\x46\xf3\x02\x43\x3f\xf9\x79\x73\x75\xd4\xd1\x11\x4a\x17\x26\x58\x93\x8f\xce\x6c\x11\x0f\x7f\xa8\x39\x41\x5c\x81\x3b\xb1\x3d\x29\x76\xa3\x29\x73\x0c\xed\xa3\x0a\x9e\x9b\x90\x77\x00\x72\x68\x31\x09\xf4\xce\x0a\xd9\xbe\x76\x09\xb9\x7b\xc8\x3e\xd3\x16\xf3\x0d\x4e\x8e\xc4\xc6\xe1\x34\x80\x8e\xec\x66\x0a\x17\xff\xc7\x3e\xe7\xae\x46\x16\xfe\xf0\x1f\x82\xfd\x53\xb0\x67\x00\x29\xf2\xb0\x3f\x00\x84\x35\x46\x9a\x5b\x74\xa8\x33\x9d\xfe\x59\x73\x85\x1a\x5e\x7d\xda\x26\xc0\x47\xb2\xfa\x37\xd0\x52\xfd\x4b\x4f\x41\x16\x5f\xd4\xab\x2b\x25\xf1\xd2\xdd\x85\x37\x9e\x2b\xd1\x66\xae\x8c\xa2\x17\xa0\x44\xe9\x62\x04\x76\x63\x7a\x71\xce\x7f\x49\x6b\xe0\x43\xad\x09\x04\x04\x6f\x28\x11\x22\xc6\x85\x09\x6a\xdb\x58\x72\xd9\x0b\x27\xa3\xb9\x77\xe8\x50\x67\x4e\x15\x77\xa0\xf1\xf4\x61\x60\xbd\xa9\xd2\x7f\x8a\xe4\x1f\x82\x52\xf6\x1f\x81\x09\x5d\xe1\xed\xad\x0a\xab\x32\xe5\xb1\xe2\x85\x03\x5b\xa6\xa9\x42\xe8\xff\xb2\xaa\x0b\xf8\x18\xaa\xa9\x8c\xd5\x2e\x7a\x3a\x81\x99\x94\x79\x1b\x0b\x6d\x5c\xa1\xa1\x5d\x5e\xe1\xec\xd0\x4c\xc1\xa2\x8b\xf5\x29\x59\x3e\x21\x7a\x85\x18\x13\x9e\xce\x00\x41\x6d\x9e\x18\xe7\x8e\xd0\x8e\xcf\x59\xc9\xa5\xa6\x7d\x2d\xfc\x9c\x81\xf8\xee\xe1\xea\x1b\x84\x73\x5e\x2e\xd5\x64\x92\x51\xdd\x99\x7a\x18\xbe\xa9\x1e\x80\x99\xcc\xd9\x13\x7d\x09\x81\x5d\x40\x78\x37\xbe\x46\x68\x92\x6e\x0c\xb5\x5c\xf3\x00\x76\x54\x12\x0c\x0f\xde\xd3\xa3\x1a\x83\xd3\x71\xb8\x7e\xa2\xc8\xac\x2a\x04\x7a\xee\x86\xb0\x33\x6b\xd1\x07\x05\x83\x45\xe6\x43\xe6\x0f\xa1\xae\x1a\xa4\x6c\xbb\x7c\xd1\x71\x03\xcc\xb3\xfe\x29\xfa\x8a\xdd\x0e\xba\x3d\x86\xb3\x4c\x7b\xbd\x9f\xd3\xa4\xf7\x9d\x9c\x81\x7b\xa4\x0b\x6f\x7c\xd9\x5f\x08\x8e\x6b\xc6\x61\xf6\xe1\x7e\x32\x5b\xd1\x41\x3a\xe7\x99\x30\xd6\x80\x6e\x9a\x2d\x20\xa9\xcb\x7f\x7b\x8b\x44\xc7\x05\x6b\xb2\x18\xdf\x66\xf8\x82\x72\xc4\x7e\x6e\xde\x49\x7b\xcb\x06\x71\xc2\x4c\xf1\x94\x29\xeb\x8f\xfb\x9b\xd1\x0a\x63\x48\x4a\xdc\x41\x5b\x1b\x71\xac\x45\xf0\x0b\x00\xd5\xed\x6c\x5c\x7a\xca\xfc\xc1\xc6\x85\xea\xf9\xcf\x6f\x5c\x3f\x76\x8b\xf9\xfc\xc6\x15\x78\x16\x2e\xfd\xa4\x85\x63\x30\xeb\x6f\x60\xe6\x69\xf2\x48\xca\xdd\x81\x24\x64\x7d\xbc\xdd\x7e\xb3\x3b\x10\x46\xf2\xad\x68\x1a\x92\xe0\xaf\x9e\x68\x04\x41\x5a\x3e\x17\x25\x6d\x78\xc3\x5b\xe1\x86\xb7\xc2\x0d\x6f\x65\x37\xbc\x92\x5f\xa3\x3f\xe8\xb8\xb3\x95\x81\xa6\x41\x06\xab\x4d\x8f\xbc\x04\x40\x69\x6f\x76\x03\x0e\x00\xde\x4a\x4c\xf9\x3d\x45\x85\x7b\x4a\xc1\x55\x67\x4f\x29\x12\x18\xd6\x3c\x51\x7e\x67\x53\x7e\x67\xd3\xd9\xfd\xce\x86\x99\xb1\xd1\x76\xb1\x0a\x89\xc6\xd4\x17\x06\x28\x6e\xa9\xad\x45\x13\x2e\x35\x21\xc1\x3e\x97\xd0\xb6\xfd\xcd\x5a\xe9\x79\x1d\x4d\xdb\x8a\xe9\xfa\xa0\xca\x54\x4c\x5d\xd1\x57\xd7\x67\x13\xc3\x3a\x38\xb3\x61\xeb\x0e\x4c\x30\xec\x51\x3e\x6c\x08\x03\xb0\x2b\xd6\xe0\x22\x50\x23\xcb\x8e\x1d\x46\x78\xe7\x4a\x84\x3a\xc0\xf6\xdd\xe5\x49\x4c\xed\x08\x23\x07\x25\x8a\x1f\xea\xed\x27\xc2\xc8\xad\x78\x78\x03\x33\x55\x4f\x17\xb5\xdd\x1a\xaf\x25\x73\xf7\xa3\x51\x66\x33\x72\xd8\xdd\xbf\xdb\x8b\x5a\xa7\xef\xb6\xe6\xea\xd4\xa8\xb7\x62\x4f\x18\x01\x97\xee\xaf\xd0\xc3\x82\x59\x0f\x8b\xd7\x45\x85\x61\x39\x33\xd6\x39\x91\xed\x9c\xc0\x90\x4e\x9d\xc0\x26\xc0\xc8\xd9\xb8\xb2\x92\xcf\x96\x1f\x8e\x1f\x0e\x1f\xea\x0f\x65\x36\x5b\xf5\x88\x89\xa2\x78\xa5\x27\xf5\x90\x75\x97\x8f\x2d\x79\x69\xab\x29\xa2\x48\xb0\x8a\xcf\xd9\xa6\x1f\xd1\xa5\x27\xb7\xfb\x4c\x44\x0c\xcd\x91\x18\x33\x3f\x5b\x8d\x58\x04\xdc\xaa\xb1\x98\x73\x8b\x8e\x9a\x08\x18\x6b\x8a\xec\x26\x48\x35\xba\xd0\xa9\xd9\x62\xf3\xb2\x5a\x54\x28\x81\x36\xc1\x78\xab\x8c\x15\x1c\xe3\x5d\x04\xfa\xe5\xdc\x97\x9b\xc6\x64\x44\x26\x41\xc2\x84\x8c\x08\xf5\x71\x61\x24\x03\x7b\x54\xfd\x8f\x3e\x96\x41\x28\x35\x89\x58\x7f\x85\xb7\x3b\x1f\x91\x09\xbe\xfd\x97\x39\x60\xa9\x73\xbc\x5b\xac\x34\x5b\x74\xa8\x6e\xe3\x82\xb2\xe0\x43\xb8\x13\x84\x75\xe1\xab\x6e\x74\x08\xb3\xe7\xfd\x77\xc6\x08\xcc\xa0\x7b\xdb\x66\xdb\xfe\xbf\x1e\xb9\xa0\x7e\xff\x5f\x0f\xde\x13\x63\x87\xb7\x43\x23\xf8\x92\xcf\x69\xc1\x0b\x57\x92\x7b\xc2\xcc\x88\x42\xcc\x36\x1c\xd3\x84\x90\x7f\x73\x58\x91\x45\xef\x0f\x6b\x60\xf1\x64\x06\x6b\xf1\x94\xa1\xad\x0c\x23\xd3\xf0\x3c\x95\x28\x92\xf4\x0b\x89\x86\xf1\x76\xba\x69\x86\x04\xe9\xea\x18\x42\x6b\x6d\x3b\xb8\x41\x2d\x3b\x83\x9b\xf7\x06\x57\x13\x50\x92\x9e\x93\xae\x22\x33\xac\x9f\x9d\xb0\xa8\xa2\x30\xe5\x03\x57\xd0\x99\x00\x06\xf3\x88\x97\xcb\x42\x8f\x8e\xd2\x47\x08\x7e\x5e\xd2\x54\x75\x1a\x23\x69\xa2\x7c\x73\x25\xea\x6b\xe3\x5c\x73\x09\x1d\xe1\x0e\x46\x3f\xed\xd6\x37\x8a\xde\x38\x43\x4c\x46\x7e\xfb\xcd\x3d\xf8\xed\x37\xd2\x9f\xb7\xbd\x7b\xde\xbd\x6d\x5b\x81\x24\x20\x21\x49\x28\x58\xee\x96\x49\x61\xae\x43\x04\x2d\xd3\x9e\xe1\x60\x8a\x5c\x4f\x32\x01\x93\xec\x32\x5a\x96\xd5\xee\x05\x31\xeb\x96\x79\xd6\xb1\x99\x19\x91\x89\x4d\xfe\xfc\x7a\x70\xf3\x5d\xc2\x3c\xb7\x50\xf6\x0b\x87\x5e\x6f\x0e\x0f\x29\xf9\xec\xc3\xa1\x7f\x68\xdc\x89\xed\x53\x7b\x91\x8b\x7f\x0e\x1e\x52\xfd\xd8\x55\x2e\x7e\x7d\x6f\xf2\x0d\x49\x4f\xcd\x94\x51\x8b\x8b\x60\x7c\x60\x2c\x50\xa4\xdd\x09\x69\xa7\xec\x9d\xd8\xc6\x94\x26\xc2\xb1\x5d\x8a\x83\xcf\x5b\x4f\xd9\xa3\x52\x35\xd1\x0f\xbc\x11\x82\x71\xab\x44\x5d\xa4\x1a\x8a\xd6\x68\x03\xa9\x11\x92\x88\x09\x21\x67\x4a\x99\xa6\xcd\xee\xc4\x36\xb0\x7f\x36\xe0\x9c\xfd\xe4\xe1\x20\xbf\x19\x58\xd1\x1a\x6a\x4d\x06\xd4\x9a\xf4\xd3\x53\x31\x02\x5c\x09\x38\x32\x41\x59\xc8\xa4\xb8\x1d\xd5\x47\x4a\x0b\x2b\xa3\x06\x6a\xa2\x3e\x5b\x8d\xd5\x65\x35\xe2\x9c\x4b\x98\xd4\xbe\x12\x34\xcd\x93\x38\xe7\xca\x48\x53\x06\x9d\x38\xec\x64\x93\x92\x11\x62\x81\x22\x72\xdd\x6f\xb9\x75\x7a\x09\xa6\x92\x73\x38\x04\x7d\xdb\x13\x54\x5c\x97\xab\xb6\x95\x09\xad\x9c\xc7\x60\x85\x6c\xb6\x64\x13\x4d\x53\x00\x86\x35\xd2\x73\x97\x25\x77\x62\x98\x72\x1b\x67\x1d\xb1\x5b\xba\x34\x60\xc9\x8d\x4c\xea\xca\x18\x18\x09\x13\x4a\x6a\xfe\x52\xb1\x15\x2f\x53\x5d\x81\x04\xa0\x34\xcb\x54\x4d\xae\x13\x2b\xb2\xd7\x07\xed\x4b\x95\xae\x93\x32\x55\xc9\x7c\xb1\x0e\xcf\xb7\x42\x1f\x6e\xe3\x78\xec\x45\x50\x51\x54\xa1\xcd\x54\xdc\x91\x3e\xa5\x5e\xf8\xe4\x44\x07\xbd\x68\xe7\xf6\x39\xa1\xb4\x6d\x3b\x21\x0b\xed\x93\x0e\x9b\x1c\xe6\x60\xc4\xc6\x9a\x27\x36\xc6\x2a\xd7\xab\x0f\x57\x12\x2b\xbd\x3b\xbb\x41\xb0\x94\xee\x28\x5b\x5d\x78\x4b\x75\x84\x0b\xbe\x47\x31\x8c\x98\x85\x8d\x96\x61\x1c\x29\xb3\xe5\xaf\xae\xae\x68\xc1\xd5\x72\x95\xb1\xb8\xf0\x34\xbd\x8f\x8b\x5b\x98\x09\x57\xc2\x86\x05\xaa\xaf\xf1\x9c\x86\xc1\x93\x7a\x83\xc6\xaf\xae\x29\x2b\xcf\xe7\x0e\xed\x6e\x84\x71\x5e\x4a\xd8\xa3\xa9\x3b\x8b\x36\xbb\x64\xfd\x83\xf0\x88\xde\xdd\x27\x75\x41\xb8\x83\xfa\x82\xc9\x17\x76\x21\xec\xb1\x0e\xed\xc1\xcb\x25\x81\x91\xe9\x7e\x11\x62\xde\x3c\xb9\xf5\x5c\x04\xb9\x37\xcb\x20\x25\xbb\x9a\x24\x56\x9c\x48\x7d\x83\x89\xdc\x9e\x0e\x23\x40\xf4\x19\x19\x98\x9f\x91\xc5\xf7\x19\x6d\x77\xa2\x18\x1d\x54\x53\xfd\xae\x46\x68\xc7\x3e\x42\x1c\xb9\x11\xe0\xd3\x8d\x0a\xb9\xc5\x0b\xc0\x59\x2a\x76\xf7\x35\x5e\x9d\xf6\xf8\xab\x8f\xe2\x91\x83\x66\x1a\x59\x34\xa6\x91\x47\x6e\x1a\x79\xb4\xa6\x51\xbe\x16\xf5\x4a\x8d\x0c\x90\x43\x73\x92\xb7\xd5\x71\x74\xa3\x3e\x41\xb9\x37\xea\xd3\xfe\xa0\x9a\x46\x5f\x9c\xf6\x23\x75\x38\xec\x0e\xa3\x1c\x71\x5b\x6f\x55\x7d\xea\xc2\x6f\x5e\xea\x34\xba\xd2\x0f\x2f\x9e\xb9\x90\x22\xcc\x91\x4a\x02\x09\xb7\x09\xb0\x98\x5b\xb4\x33\x83\xcf\x21\xe9\x45\x60\xdf\xb5\x6e\xe0\x67\x30\x44\x7c\x8b\xf5\xa0\xfb\x46\xc7\x12\xf0\xc1\x01\x37\xea\x29\x09\xd2\xd1\xc1\xc4\x20\xbe\x1d\xcb\xe9\x99\x9d\xea\x8b\x57\x7a\x2f\x94\xa5\x7b\x83\x7a\x30\xc3\x3f\x46\xa3\x71\x6a\x1d\x76\xaa\x9f\x78\xcb\xbd\x73\x3d\xc0\x50\xa4\xc1\xe7\xc9\xf3\xe7\xc4\x74\x9e\x4e\x90\x4c\x93\xf4\xcf\x9f\x13\xdd\x04\x43\x3f\xe4\xd2\xea\x7f\x58\xa1\x49\x89\x74\xb6\xa8\xa7\xe0\x52\xfa\xd7\x77\x3f\xfc\x6d\x68\xa6\xeb\x74\xcc\x11\xeb\x43\x16\x74\x28\x70\xfb\xeb\xdb\x37\x97\x6a\x73\x96\x43\x68\x79\xe1\xf9\x1c\xaf\x1e\xa7\xc1\xda\x81\x60\x9e\x39\xb8\x2b\x7c\xfd\xc3\xdb\x1f\x75\x79\x07\x26\x79\x8e\x45\x7f\x73\xd8\xdd\xbe\x83\xd7\x01\x03\x43\x3d\x1c\x67\x0f\xb7\x5b\x42\x4d\xa4\xce\x82\x3e\x5a\x48\x1a\x0b\x63\x33\x96\x6d\x2b\x9f\x80\xbc\x80\x22\x0f\x30\x87\x9d\xd1\x33\xe8\x98\x21\x29\x26\xdf\xd7\x77\x62\x5b\x15\xa3\x5f\xdf\xbe\x49\x34\xb9\x47\x99\x44\x8f\x0b\x25\xf9\xec\x4f\xd3\xe7\xcf\x66\xac\x94\x7c\x16\x2f\xd3\x28\xa3\xbf\xf1\xe5\xbf\xa2\xec\xf9\x8c\xad\x24\x9f\xfd\x2b\x9e\x3e\x4f\x69\xb2\x1c\x7d\x38\x66\xcf\xe3\xe5\xbf\x34\x4f\x9f\x3d\xa7\xcf\x66\xab\x5b\xb6\x96\x28\x92\x13\x72\x77\x3a\xb6\x62\xbf\xd7\x7f\x57\xcd\x71\x77\x10\x2b\xd5\x4e\x27\x57\x30\x99\x9b\x6a\x57\xb7\x65\xb5\x55\xed\x41\x35\xed\x7d\x55\xac\xd4\x91\x26\xcf\x66\xac\x32\xaf\x7f\xfb\xfa\x7d\xfb\xdd\xeb\x2f\xbf\xa6\xcf\x66\x6c\xa3\xd3\x3e\xcc\x3e\xcc\x66\xec\x06\x1e\x2f\x3f\xdc\x4f\x27\x57\xd9\x24\xa1\x71\x9a\xe8\x07\x80\x0e\xf3\x61\x96\xfe\x29\x7b\xfe\xbf\x5b\x1a\xe3\x75\x92\x3d\xd7\xcf\x93\xf8\x43\x31\xa1\x2d\x6d\xe9\x8c\x6d\x25\x7f\x3c\xb3\x5b\xf8\x5f\x4b\x4e\x9e\xcf\x88\x35\xc2\x27\xcf\x09\x65\x3b\xc9\xc5\x74\xbb\xcb\xc1\x82\x06\xa4\x40\x6c\x2f\xf9\x8d\x44\x63\xe4\x5d\x4f\x2a\x89\xac\x82\x33\xc9\xfc\x28\x83\xe9\xd3\xd5\x60\x3d\x01\x8d\x25\x99\xae\x03\xc1\x29\xea\xc4\xe0\xdd\x8f\x74\xf9\x92\x3e\x77\x9c\x53\xcb\x39\x5a\x99\x38\x99\x80\xa1\xec\x72\x9e\xa5\xb1\x66\x1b\x6d\xec\x18\xc0\x8d\x60\x28\x04\x17\x60\xe2\xbc\xcc\xa8\x33\xa6\xca\x29\x4d\xfa\xcf\xe0\x90\xcd\x43\x63\xdb\x83\xec\x1b\xc6\x80\x03\xad\xe6\x3c\x6e\x65\x18\xaa\x6b\x8d\xcf\x2b\xe7\x10\xbb\x5c\x67\x68\x26\x00\xc7\x81\x00\xb7\xf3\x65\x47\x7f\x6e\x5e\xd9\xf0\xb5\x31\xa8\x79\xca\xdc\x64\xd3\xb6\x65\xdb\xaa\xe5\x26\x4b\xcb\x74\x1c\x57\x7c\x63\xbd\x87\x93\x58\x02\x7e\xba\xa6\xcd\x1b\xd7\xb4\x0d\x65\x2b\xfd\x6f\x7c\xad\x0f\xa4\xca\xd1\x0c\x61\xe6\xe5\x3c\xa3\x6d\x3b\x56\x60\xd8\x16\x45\x2b\x98\x0d\xbe\xdd\x8d\xec\x93\x14\xf5\x54\x6c\xc4\xc3\x3b\x75\x3c\x56\xf5\xaa\x99\x96\x5b\x71\x34\x06\x9f\x80\x87\xef\x0c\x7b\x25\xf5\xa4\xf4\x32\xcf\xa2\x28\x8e\xd5\x32\xcf\x52\x91\x14\x6d\x1b\x17\xfc\xf1\x4c\xe9\x32\xcf\xe0\xa1\x0f\xbd\x13\xc4\xea\x1a\xcf\x99\x60\x45\x07\xdd\xe5\x28\x9f\xc4\xc2\x40\x41\x5d\x03\xb1\x1c\x5c\xe3\x0c\x65\x43\x9e\xeb\x89\x51\xe9\xa6\x56\x53\xec\x9a\xc0\x3b\xbf\x30\x61\x27\x6f\xab\x5b\x13\xc7\x1a\xb6\x95\x9f\x55\xb3\xdf\xd5\x8d\xfa\x4e\x89\x42\x1d\x62\x62\x22\x89\x5e\xbd\x47\x54\x1b\x3d\x1f\x0b\xea\x8c\x6a\xd6\x9a\xa0\x5c\x83\x5d\x8d\xfe\x8f\xa2\xd5\x42\x13\x73\x6e\x34\x14\x5d\xc8\x83\x12\x37\xe7\xaa\x8c\x75\x5d\xaa\x7a\x94\xd3\x12\xaa\x85\xa6\xf0\xae\xb0\x1c\xf5\x2d\x95\x81\xec\xc9\x77\xf5\x9d\x3a\x1c\xd5\xa1\x59\x02\x2b\x39\xd1\x0f\x32\xfa\x58\x72\x65\x4a\x5c\x41\x98\x42\x45\xcf\xe8\x00\x65\x07\xba\x4c\xe3\x72\x8c\x0d\x8f\x22\x5f\x91\x92\xb2\x7c\x59\x7a\xcf\x73\xd7\xbd\xa7\xfe\x24\x0f\x82\xf8\x3e\x9e\xd9\x4d\xd8\xb5\x66\x75\x41\x3f\xdc\x2c\xaf\x33\xea\xd1\xed\x82\x0a\xd3\xcd\x72\xd5\x17\x8c\x76\x1a\xb4\xca\x16\x25\xbf\xb1\x83\x62\xc6\xab\xd4\x9d\x09\x70\xb7\x30\x02\xdf\x54\x6a\x5b\x34\xcb\x52\xcf\xa1\x7c\x39\x90\x9e\x71\x49\x01\xe0\x03\xe0\x54\x75\x15\xbf\x01\xcb\x38\x90\xdc\x87\x09\x80\x8e\x68\x9b\x40\xc1\xee\x9b\x05\x9f\x07\x34\x0e\x98\x2b\xa5\x1e\x18\x07\xb4\x41\x9e\x13\xdd\x8d\xc8\x1b\x94\x30\x38\x2b\xbe\x59\x56\x30\x18\x65\xd6\xb6\x9b\x25\x79\x0e\x97\x6c\xbc\xa2\x01\x2e\x8f\x9e\x13\x5c\x85\x94\xd3\x7a\x79\x9d\x99\x30\x1e\xbe\x88\xb5\x1e\x4f\x57\x0a\xdc\x51\xfa\xb8\x02\xcb\xc4\x74\x05\x98\x3e\x89\xfe\x07\x40\xfd\x80\x1e\xa4\xf3\xb0\x1b\x37\xa2\xba\x54\x1a\x4c\xaf\x15\xe4\xa4\xe8\x1e\x27\x96\xe4\xb8\x3e\xec\xee\x1b\x92\x51\xc9\x57\xb1\x34\x06\x61\xfa\x3c\xc6\x7b\x73\xc8\x6e\x5d\xac\xc8\xe6\xa8\x69\x92\xce\x31\xca\xe0\x27\x59\xa5\xdb\x84\xfc\x6d\x37\xc2\x21\xd4\x67\xd9\xa8\x3c\xec\x6e\xf5\xa4\x9c\x90\xd1\x71\xa7\x7b\xe1\x7c\x3e\x77\xcb\x69\x4e\xe0\xc3\x41\x98\xee\xfa\x44\x9e\x83\x68\x37\x22\x3f\x56\x77\x2a\x99\xb3\xad\x68\x8e\x6f\x77\x45\x55\x56\xaa\x48\x1e\xcf\x4c\x1d\xc5\x4a\xff\x86\x9b\x4d\xf2\x78\x3a\x6c\x93\x9d\x64\xa0\xa5\x24\xdf\xbe\x7e\x4f\x58\xd5\xbc\xd9\xe5\x62\x9b\xac\xa5\x09\x00\x2d\x75\x5f\x30\x0c\x04\x9c\x8c\xe7\x6c\x7f\xd8\xe9\x8f\x03\x7c\x86\xde\x52\x9a\x4f\x75\xae\x2f\xcc\x8e\x81\xe0\xd3\x62\xbf\xdf\x56\x78\xf6\xcd\x1e\xae\xee\xef\xef\xaf\xca\xdd\xe1\xf6\xea\x74\xd8\xaa\x3a\xdf\x15\xaa\x58\x00\xcc\x7e\xa3\x8e\xfc\x97\xf7\xdf\x5c\xfd\x27\x61\x88\x9d\xd1\x24\xe0\x31\x59\x4b\x06\xc8\x13\x48\xb8\xec\xb7\xa2\xaa\x09\x46\x6a\xc7\x14\x7d\x49\xd8\x83\xbe\xef\x7c\xe9\x76\xcb\x46\x8e\xd6\x61\x9b\x06\x82\xb4\x05\x19\x74\x8a\xc9\xb1\x11\x77\xc2\x84\x6a\x3e\xdb\xba\x37\xc9\xa3\x2e\x53\xbf\x3d\xc3\xcf\xc1\x97\x66\x58\x12\xbc\x3d\x3b\xb3\xee\x72\xc1\x57\x88\x4d\xfc\xf5\xed\x1b\x62\xea\x6e\x93\xde\xab\x87\xa3\xad\x8c\x4d\xd3\x24\x21\x7e\xd7\x2c\x5c\xdd\x6e\xa8\x18\x49\x90\x6c\x43\xa2\x6d\x04\x2d\xd5\xdd\x8b\xb7\xba\x14\x92\x04\xf4\xa6\x49\xd7\xed\x4d\x3c\x55\x79\x66\xc1\x31\x82\xa3\x6c\x47\xe8\xe1\x98\x8c\x35\xcb\x66\xe6\xc1\xe9\x09\xf5\xa5\x4c\x1b\x19\xc3\x61\xd5\x3d\x9f\x34\xeb\x97\x34\x32\xee\xa6\x32\xcd\x12\xe8\x84\x1f\x9d\xb9\xf5\x47\x19\x6f\x25\x85\xc4\xf7\x07\x51\x37\xfb\xdd\xe1\xa8\x13\x6f\x4d\x62\xef\xb3\x97\x06\xd5\xb8\xd9\x84\x66\xa0\x5c\xc2\x89\x38\x00\x12\xc6\x6e\xfc\x31\x7a\xda\x1b\xd7\x8b\x2d\xbf\x99\x9a\x26\xb7\xed\x0d\xbb\xf5\xb7\x51\x14\x6f\x03\x98\x85\xed\x74\x03\xe0\x58\x34\xad\xe3\xad\x03\xe3\x66\xbb\x8e\xd7\x0b\xdb\xf3\x7a\xfa\x4a\x6c\xb7\x52\xe4\x37\x4d\x4c\x76\x75\xae\x46\xb7\xea\x76\x77\xf8\x44\x28\xfb\xa8\x37\xbd\xa3\x38\x9e\x9a\x57\xbb\x42\x41\x30\xfd\x83\xde\xe2\x1b\xfd\xef\xc8\xe7\xec\xc4\x49\x2e\xea\x5c\x6d\x55\x41\xd8\x1d\x7f\x3c\x28\x51\x7c\x7a\x07\xcb\x79\xce\x2e\x4e\xc7\x01\xe7\xf7\xaa\x8c\x5f\x70\xce\x8f\x78\x94\x81\x6f\xee\xe3\xd9\x09\x97\x57\xd2\x39\xb9\x95\x4b\x79\x09\x0b\xc0\xe5\xf2\x45\x76\x96\xbc\x5c\x8a\xde\x93\x73\x87\x1d\x97\x28\xf6\x91\x67\x5d\xa7\x2f\xb7\xdb\x6e\xb5\x9a\x81\x90\x1a\x50\xa9\x54\x25\x68\xec\xd5\xe8\x96\x7c\x3c\xa9\xe6\x78\xd1\x90\x10\xd4\xac\x0b\x0b\x66\xf9\xb9\xb6\x8d\x05\x6f\x34\x0d\x83\x88\x04\x82\x1d\x96\x02\xce\x22\x54\x30\x68\x96\xf5\x50\x15\xea\xad\x21\x2c\x06\x35\xe6\x20\x69\xb2\xa4\x07\x17\xf6\x5d\x3f\x38\xc3\x7d\x0b\xde\x5d\x2f\x5e\x1e\xa9\x73\x4e\x13\xf4\xa3\x66\xc2\x97\x1f\xc1\xa6\x6f\x29\x33\xa4\x2a\x46\x77\xd6\x1f\x42\x2c\xef\xcc\x98\xf7\x70\x41\x99\x90\x7a\xb2\x0f\xe8\x6d\xdb\xf6\xe4\xc4\x3b\x51\x94\x4f\x21\x63\x2c\x29\x7b\x88\xe7\x16\x83\xfc\x7c\xd6\xf5\xd9\x39\xf7\xa2\x3b\xea\x0d\xe5\xf7\x53\x51\x14\xec\x6e\x6a\x0e\x00\x7e\x87\x3e\x1c\x77\xc8\x87\xf1\x3b\x70\xd8\xd0\xe7\xd8\x61\xcb\xe3\x58\xb4\x2d\x5c\xb6\xed\x4e\x52\xcd\x78\x3a\x29\xa6\x02\x29\xa6\xbb\xdd\x48\x06\xdb\xfc\x84\xcc\x66\x10\x93\x0a\x41\x02\xa7\xb7\xea\xb8\xde\x15\x9a\x7e\x43\xd1\xe0\x8d\x4b\xc1\x2c\xec\xc6\xd3\x2f\x56\x1b\xe8\x93\x10\x5e\xee\x69\x16\x84\x90\xcc\x48\xb4\x6f\xa6\xf9\x61\xd7\x34\x5f\xef\x6e\x45\x55\x43\xa0\x7d\xcb\x27\x41\xfd\x7b\xac\x12\xeb\x64\xe7\xe3\x78\xbc\x6e\x5b\x43\x07\x40\x33\x34\xc9\xf8\xc2\xdc\xbd\xd0\x44\xce\x1a\x3d\xe7\xc9\xfa\x78\xdc\x27\x9a\x1c\xd1\xb9\x53\xf2\x9f\x73\x92\x90\x2f\xbe\xf8\x33\xa1\x14\xdc\x3e\x65\x3f\x1b\x94\xd6\xc9\x07\x5f\xd7\x0d\x8c\xa2\x9b\x69\x70\x12\x7a\xcd\x95\x63\x2e\x6c\x3e\xd3\x23\x1c\x76\x67\x61\x3b\x48\x77\xf2\x41\x14\x10\x48\x54\x6c\x29\x65\x07\xbd\x5f\xb2\x1b\x26\xd9\x1d\x65\xb8\xd2\x6d\xb8\x9c\x45\x65\x91\xa8\xf4\x57\xf1\x24\x66\x15\x06\x89\xaa\xa7\x78\xe2\x4f\x26\x40\xe9\x77\x60\x59\x09\xec\x88\x47\x71\x38\xfa\x41\xc5\x9f\x6e\x58\x50\x76\x03\x3a\x29\x83\xc4\x32\xae\xcc\xc9\x8f\x59\x29\x2b\x38\x8c\x42\x27\x17\xac\x32\xd3\x3e\xf3\x7c\xc2\xe3\x42\x5a\x3a\x3d\x25\x11\x49\x48\x4a\xe8\xc4\x34\xd7\x18\xad\xe0\x1d\x0c\xa1\xc8\xd7\xca\x62\xe1\xe2\x8c\x2d\xfd\xeb\x5e\x47\x59\x4a\x46\x9e\x5d\xff\xc6\xc9\x24\x97\x93\x09\x4d\x8a\xc9\xe0\x67\x88\xcb\xa1\x0b\xaf\x4a\x4b\xfa\x00\x88\x49\x48\x0b\x2d\x8b\x2c\x8a\xee\xa6\xfd\x8d\x2a\x26\xdf\x97\x57\x36\xcf\xd5\xbb\xaa\xce\x15\x61\x17\x6f\x82\x14\xf2\x28\x56\x9f\x2b\xe4\x6f\xbb\x5a\x5d\xbd\xd5\xd3\x9c\xf8\xdc\x94\xb2\xd8\x4f\x1c\xdf\x8f\xfa\x2e\x20\x9c\xc6\x88\x24\x2c\xc3\x34\x3a\xfc\xa5\x0e\xfb\xc4\x3a\xa5\x50\x36\xf4\xc2\x97\x40\x60\x91\x70\xcd\x02\x1f\x73\x63\x60\xcb\x9a\x65\xf7\x49\x96\x3e\xf9\x64\x62\x28\xf8\x6e\x72\x4a\xd8\x88\x4c\x6a\x39\x21\x8b\xd1\x47\x3e\x9f\xce\xaf\x49\x42\x08\x4d\x7c\x31\xe0\xeb\x05\x1c\xed\x46\xef\xb0\x37\xd3\x35\x1e\x2b\x74\xa0\xbe\x1b\xe6\x1e\x2f\x37\x08\x77\x78\x33\x45\x64\x88\x77\xaa\x2e\x30\x0e\xa8\xbb\x45\xbd\xd9\x96\xdd\xb1\x1b\x6a\xe0\x98\x71\x0d\xb9\x45\x64\xf6\x5a\xba\x38\x71\x02\x97\xc4\x55\xe4\xd1\x6c\xa7\xc9\xb5\x21\xca\xaf\x99\x73\xde\xba\x3e\xd3\xbb\xe5\x26\x8b\x6f\x6c\x25\x72\x7e\xd0\x44\x8c\x59\xa9\xf4\xf1\x6e\xea\x8f\x72\x7e\x0d\x18\x75\xbd\x05\x08\x08\x17\xcb\x3b\x76\x93\xe9\xa9\x09\xf4\xb2\xee\xf5\x23\x5a\x17\xbf\x9c\x03\xeb\x32\x1c\x9e\xc2\xd6\x9a\x98\xcc\x84\x9e\x99\x7b\x93\x22\x9e\xcf\x91\x5f\xb3\x7c\xda\x68\xea\xff\xc0\x1e\x2c\xef\x71\x8f\x74\x02\x1c\x69\x14\xd8\x95\xd1\xfd\xe2\x21\xbe\xba\x66\xf7\xf4\x8c\x7e\xc0\x70\xa7\x79\x0f\x47\x9f\x91\x20\x20\xd5\x03\xc6\x69\x75\xc2\x14\x76\x60\x0d\x3b\xb1\x7b\xf6\xc0\xe5\xe2\xc5\x98\x73\x4d\x45\x1d\xf9\x0b\xb6\x8a\xa2\x8e\xb5\xf4\x8a\x3a\x90\x74\xa6\x20\x44\x08\x61\x9d\x4e\x12\x2f\xe7\xe9\x17\xc9\x9c\x6d\xb8\x78\xc9\x5f\xcc\xe7\x51\xf4\xe7\xf9\xfc\xa5\x68\xdb\x3f\xcf\xbf\xe0\x9c\x0b\xb0\x10\x3b\xf1\xa3\x8c\x6f\xd8\x1d\x2b\x29\x65\x27\x7e\xd2\x37\x27\x76\xc7\x36\x94\x6d\xd2\xb8\xb7\xc2\xef\xf9\xdd\x90\x84\xe1\x8d\x68\x8e\x6e\x4d\x13\xca\xee\x87\x36\x03\x7e\x4f\xd9\x13\xef\xeb\xb5\xeb\x5e\x33\x0b\x99\xdf\x53\xca\x5e\x60\x45\xdb\x96\x7c\xf7\xfa\xcb\xaf\x21\x70\x02\xec\x95\xe9\x03\x27\xf5\xce\x46\x91\x4d\x4c\x7b\x30\xf5\x78\x6b\x2b\x92\xc4\x0f\xfc\x04\x94\x83\x62\x07\x7e\xc2\xfd\xb1\xe1\x27\x3c\xc4\xd9\x86\x8f\x1b\x4a\x93\xb8\xe1\x0f\x4c\x1f\xe1\xe3\x07\x1a\x45\xf1\x03\x27\x86\x6f\x9c\xbf\x04\x4c\x22\x3e\xd7\x87\x91\xa5\x40\xb8\x70\x97\x10\xc5\x3c\x96\x6d\xfb\xa0\xcf\x7c\xb6\x49\x77\x1d\xf7\xd8\x2d\x5b\x1e\xd8\x03\xbb\xcb\x68\xb2\x0b\x1d\x64\xb7\x7a\x8a\x3e\xb0\x26\xf3\x85\x6a\x6a\x29\xfe\xa8\x89\x5b\x33\x9c\x9d\xc9\xbd\x49\x71\x7a\x1b\x5e\x34\x81\xbb\xd7\x58\x47\x3d\xdb\xd9\x26\x3d\x24\xba\xb8\x3d\x44\xc5\x08\x3e\x92\x01\x94\x63\xdc\x5b\x27\xaf\xcc\x92\x73\x6b\xe5\xea\xca\x1e\x6e\x6d\xfb\xc4\xd1\xb6\xdb\x87\xd8\x33\x77\x40\xb5\x6a\xae\xe8\x29\xf1\x7f\x6d\xed\xff\x58\xce\x08\xf0\x52\x14\xde\x79\x07\x8c\xe0\x53\x6a\x31\x7c\xc7\xf4\x81\xf4\x08\x3f\x1d\x35\xdc\x4a\x1d\x09\x23\xfb\x5d\x73\xbc\x8c\x0a\xd9\x57\xe6\x74\xbd\x77\xba\x42\x58\xd0\xd8\xab\xb6\x2d\x58\xc1\x73\xb7\x92\xa8\x61\xc3\x62\xe0\xe5\x04\x32\xec\x92\xd9\xed\x37\x51\x28\x0a\xc8\x99\xdd\xca\x0a\x6b\x09\x6a\x31\x7d\x06\x55\x70\x97\x65\xa2\x10\xc0\x95\x6b\xdb\x6a\xd9\xfc\x6b\x27\x08\xb8\x66\x56\x0a\xa2\xf9\x49\xda\x73\xb7\xbc\x3f\x88\xfd\x97\xdb\x01\x93\x8a\xc5\x50\xab\x05\x4d\x3f\x6f\x91\x65\x8a\xeb\x5a\x63\x51\x7a\xa6\x08\xab\x01\xe7\x18\xe8\x78\x9f\xc0\x8c\xa2\x53\xf5\x31\x9e\xd3\x00\xbf\xc7\x66\xeb\x5a\x4c\x76\x70\xff\x4c\x16\xca\x64\x1f\x4f\x0e\xdd\x3f\xc0\x51\x1d\x19\x30\x81\x38\x54\x46\x73\x82\xd8\x88\x82\x0f\xa4\xfa\x00\xc5\x0e\x18\xed\x88\x20\x64\x26\x2a\x9d\x6e\xe9\xf7\x75\xad\xfe\xc0\x8f\xe1\x49\x4b\xa7\x5e\xa7\x41\x51\x17\xdd\x76\x01\xa2\xe0\xac\x97\x72\xee\x68\x8f\x26\xf6\xbe\x4a\x69\xee\x87\x80\x26\x32\xc0\x74\x33\x55\x1e\x34\x6f\xe8\x54\x71\xf1\x59\x18\xb1\xfe\x40\xcb\xae\x29\x0c\x4d\xf0\x53\xa7\xba\xfb\xb1\x6e\xcf\xe0\x58\x0e\xc0\x8b\x06\x66\x02\x68\xca\x84\x40\xec\x6d\xeb\x2d\xfe\x1c\x92\x94\x31\xab\xf2\xd0\xb9\x67\xe3\xf5\x6b\x8d\x3c\xf6\x07\xe3\x27\xdc\xd8\x70\x29\x83\x86\xc2\x41\xec\xd6\xbf\xf0\x79\x14\x75\x23\xaa\xff\x85\x83\xb3\x53\xa7\x34\xc0\x10\xd8\xaa\x81\xe2\xc6\x83\xdf\xd5\xdd\x0f\xc2\x90\x3b\xc9\x67\xff\xe3\xc5\x7c\xb6\x62\xf7\x92\xcf\x3e\x2c\x3f\x64\xcf\x66\xec\x01\xcc\x9c\xd2\x0f\xf5\x6c\xc5\x3e\x19\x4d\x18\xaa\xa8\x8d\x31\x7b\x5b\xdd\x8a\x15\x28\xcd\xd4\x11\xf4\x67\xf4\xd9\xac\x62\xbf\xcb\xcf\x99\xc1\xdf\xa8\x4f\x2b\x55\xd3\x59\xe5\xe9\x84\x2f\xfb\x32\xee\x8b\xc8\xa1\x66\x8b\xec\xb8\x62\x29\xfa\x98\xb7\xed\xbd\xb4\x81\x4d\xd3\x22\x16\x4c\xd1\x44\x97\x36\x21\x4b\x32\x89\x2f\x04\x42\x2a\x95\x9a\x9c\x9c\x90\x8c\x30\x85\x0a\xdf\x00\xba\xb9\x6d\xed\x0b\x63\x07\xfb\x2c\x29\x2d\x60\x07\xee\x39\xec\x4a\xea\x3e\xa3\xa0\x38\xb9\x54\x19\x96\x68\x98\x34\x3e\x68\xff\x81\xa0\x61\xbd\x38\x02\xbc\xe7\xa5\x9f\xca\xd8\x9a\x07\xc9\x94\x10\xbd\x49\x2f\xad\xe9\x4c\xc6\x51\xfa\xf9\xcb\xcf\xdf\xeb\xd3\x6e\x57\x03\xcc\x1d\x9d\x10\x4e\x26\x03\x4f\x24\x3d\x77\xf0\x24\xa5\xb1\x9c\x0f\x25\x6f\x9a\xeb\xeb\xe8\x8f\x42\xae\x32\x88\x47\x23\xc0\x18\x1d\xe5\x5c\x26\xb4\xc0\x8f\x5b\x51\xd5\xce\x0b\xdd\x0e\x53\x27\xba\x30\xae\x97\x69\x2d\x6e\x15\xf3\x76\x5a\xae\xe3\x83\xd8\x38\x5f\xca\x38\x67\x10\x03\x47\x0f\xae\x0f\x53\xb0\xd9\x55\x75\x4c\xa2\x40\xd8\x70\x27\x19\x99\x90\xfe\x81\xd1\xa8\x43\x25\xb6\xd5\xef\x83\xb0\x30\x86\x73\xc6\x00\x97\x36\x23\xb6\x8b\xd2\x33\xeb\x26\x3d\xb5\x3b\x0c\xee\xe1\xc6\xf7\x0a\x77\x05\x65\x14\xdf\xde\x08\x4b\xa4\xa1\x91\x8f\xb1\x35\x3d\x53\x1b\x28\x60\xf0\x48\x80\xb9\xd7\xd9\xed\x6a\x30\xcf\x1c\xdb\xcd\xa6\x6a\x62\x92\x78\xeb\xa6\x28\xfa\xdd\x2c\x83\x8e\x55\x1d\x8d\xa2\xf1\x27\xe9\x31\x40\xed\xbe\x64\x60\xe6\xc7\x16\x3e\x5f\x9f\x82\xdd\xb6\x85\x0e\xc4\xa1\x05\x61\x37\x7e\x66\x8e\x92\x3e\x3f\x43\x72\x00\xf8\x17\xfb\x38\x1f\x30\x14\x7c\xd4\x6d\x48\x24\xce\x04\x98\x04\x89\x47\x19\x7d\x90\x8c\x7c\x38\x7c\xa8\x81\x22\x4a\x06\xb2\xe6\xc3\x59\x11\x2a\x0f\xf7\xd5\xce\x1c\x7e\x58\x1f\x42\x67\x4c\xcd\xe5\x04\x11\x71\x7f\x7d\xfb\xe6\xbb\xe3\x71\x6f\xd8\x45\xc3\xef\x08\xfa\x78\xc6\xdd\xf0\x2b\xc9\xe7\xec\x15\xe8\xe5\xbf\x96\xfc\x71\x0e\x5e\xa6\xd7\x2f\x5e\xfc\x39\x79\x31\xff\xe2\xcc\x5e\xf7\x57\x90\xfe\x5a\x4c\x17\x62\x2a\x8e\x47\x91\xaf\x5f\xa3\x9c\xa5\x73\x1b\x93\x5d\x8d\x76\x44\x24\x5c\x1d\x0e\x0c\x57\x2f\x81\x57\x92\xbe\x92\x4b\x91\x41\x38\x2c\xcd\x8e\x1f\x1a\x3e\x1e\xbf\x96\x51\x44\xee\xab\xe3\xfa\xd5\x41\x15\xaa\x3e\x56\x62\xdb\x90\xaa\x1e\xbd\x96\x9a\x15\xdc\x88\x07\xfe\x5a\x42\x36\xd3\x05\x8e\x15\x8b\x9f\xa4\x9c\xb0\xec\xb6\xd5\x45\x8f\x45\x28\x0a\x4b\x1f\x9b\x0e\x6c\x74\xa8\x77\xe4\x02\xdb\xc9\x56\x7c\x32\xf9\x4a\x22\x1e\xd8\x6e\xaf\x4f\x11\x14\xe5\x09\x90\xf1\x08\xe4\x4f\xf5\x5d\xa3\x0e\x30\x84\x62\xba\x17\x4d\x73\xbf\x3b\x14\x94\x41\x21\xa8\xf7\xf0\x6a\xb9\x4e\xe2\x52\x65\x3c\x48\x58\xaa\x6c\xe1\x35\xc1\x51\x54\x4e\xfb\x42\xdc\xa1\xb4\xd8\xbf\xa2\xbf\x19\x34\xb1\x6d\xf3\x25\xf9\xf5\xca\x8c\xbd\x2a\xae\x00\xfc\x11\x22\xea\x0f\xa5\x73\xd2\x9d\x2c\x26\xb4\x8c\x51\x0a\x97\x97\x52\x07\xc5\x72\x08\xd6\x20\x87\x0e\xf5\x60\xe8\xf5\x56\x6c\x44\x5a\xaf\x20\xd2\xb5\xe4\xe5\x74\x07\x53\x04\x2e\x50\x1e\x0b\xc6\x4c\x46\xda\x00\x9c\x60\x69\xa5\x10\x89\xe1\xe6\x20\xb5\x00\x68\x36\xcd\x71\xb1\x32\x60\xe2\x68\x52\xc4\x5f\xcb\xa5\x4d\xca\xda\x76\x30\xdb\xa5\xbd\x6a\x39\x0d\x55\x4f\xa9\x01\x71\xef\x24\x9e\x8d\xae\x9a\x95\xd3\x41\x41\x7f\x4c\xc1\xcc\xd4\xb5\x49\xc6\x94\xf9\x76\xc9\xd8\x54\x9f\x32\xc9\xa1\xfd\x3a\x09\xdb\x69\x40\x86\x51\x20\x21\x3a\xa2\x2e\x54\x15\x63\x8c\x0b\x2b\xa7\x58\x1b\xec\x0d\x14\x51\xac\xcf\x17\xc2\x73\xe8\x6b\xa9\xb7\x89\x30\xb0\x7b\xa0\xeb\x71\x8a\x43\x64\x55\x8c\x86\xd0\xab\xf7\xd8\xa8\xa3\x01\x7c\x22\x5d\xe5\xb7\x83\xe9\x0f\x57\xfe\x49\x47\x51\x68\xbe\x36\x8b\xd3\x44\x97\xd9\xea\x6c\x14\x13\x67\x3d\xc5\x1e\x68\xe8\x4c\x11\x43\x64\x7d\x07\x66\x55\x50\x26\xce\x7e\x4f\x74\x0a\xb5\xd8\xb1\x62\x9d\x9d\xc1\x61\x4d\xa3\x40\x15\x3c\x3e\x51\xb4\x8a\xee\xa9\x5d\xc1\xba\x75\xe0\xd6\x4c\x1e\x75\xdf\xf0\x9b\xce\xe0\x37\xc0\x76\x20\x28\xc7\xdb\xa9\x59\xad\x74\x67\xd7\x01\xde\x56\x73\x14\xe4\x2f\x58\xda\x4b\x42\xf1\x94\x7d\xf4\xba\x62\xd4\xfd\x26\x62\x8a\x59\x5e\xe1\x3d\x6b\x0e\x79\x02\x1b\xd1\x99\x4e\x77\x75\x4c\xc0\x74\xd3\xc8\x3d\xf2\xce\x92\x94\x0e\x75\x99\xe5\xb8\xce\x44\x14\xa9\x38\x58\x56\x28\x91\xf9\x62\xfe\x05\x1c\x00\x78\x8b\xa1\x0a\xd7\x4a\x74\xd1\xd2\xa4\x66\xf3\x06\x66\x5e\x1e\x45\xb9\x9e\x79\xd6\xf4\xef\x1b\xa9\x49\xc0\x6f\x25\x9f\xc5\x9c\x7e\x48\xe3\x94\x47\xed\x33\xda\x7e\x48\xd1\x08\x30\x98\x94\x9b\x66\x57\xef\x13\x92\x1b\x7d\x21\xaa\x7f\xf7\x56\x7d\x78\x19\xe1\xfc\x1b\x89\x41\x1b\x40\xd2\x01\x01\xfe\x76\x13\xf2\x1b\x4a\xb4\x43\x5a\x62\x29\xc0\xf8\x49\x0c\x4e\x10\xfd\x0d\xd0\x10\xef\x49\x27\xec\x41\x1f\xcb\x43\x4e\x21\x93\x8d\xf8\xf2\xad\xa1\x32\xa4\xee\x78\x9a\x92\xd3\x61\x4b\x92\x8b\x4d\x45\x1a\xe9\xf5\x38\xee\x48\xa7\xd1\xe3\xc9\xb9\x1a\xfd\xa1\xde\x5f\xd3\x3b\xfe\x83\xa0\x0c\x88\x22\xa2\x7f\x3d\xd5\xb5\x6e\x5b\x82\xcd\x00\x3c\xf2\x8e\x8c\x39\x56\xb6\xfa\xb6\x33\x7b\x04\x78\xf7\x21\x4d\x7b\x09\xb1\x66\x5f\x3b\x29\x6c\x9d\xca\xe5\x3a\xe3\xfa\x9f\xa3\x53\xbe\x05\xad\x03\x99\x28\x97\xdd\xf6\x96\xec\xe9\x3a\x6c\xaf\x59\x45\x84\xc9\x8e\x34\x3d\x20\xcd\x7a\xe3\x1c\xb3\xbc\x50\x8b\x9f\xf1\x4b\x42\x15\xd0\x53\xd1\xa6\x52\x4d\xc8\xe8\x5e\x34\xa3\x7a\x77\x1c\xe9\x69\x04\x12\xcc\xd5\x72\x9e\x9d\x59\xb7\x4b\x38\x0a\xb2\x20\xca\xa4\xca\x98\xfe\x17\x96\xbc\xf2\xf6\xae\x67\x56\x0c\xc4\x6e\xc4\x17\x80\x07\x82\xe6\x75\x3b\x37\xef\x75\x96\x9e\xa8\xa7\x66\x1d\x2b\x6a\xc0\xaf\x83\xbe\x2f\x69\x14\x95\xf1\x0a\x64\x26\x2b\x5e\xfa\xc8\xca\x4e\x62\x16\x6e\xe1\x60\xab\x00\x40\x96\x7d\x61\xdd\x7f\xcf\xfc\x75\xd0\x7f\xcc\x58\x42\xea\xbd\x0f\xcc\x05\xb6\x68\x0f\xc9\xef\x2c\x76\x3e\x53\x7c\x9c\x47\xd1\x32\xf3\xe0\x74\x4b\xd9\x8b\x7d\x51\x2c\xaf\x33\x9a\x25\x10\xec\xb3\x0b\x49\xbe\x14\xc8\xdf\x60\x44\x22\x8b\x2f\x5e\xc7\x8a\xfa\xed\xc8\xe2\x81\x2f\x33\x56\x84\x72\x04\xc3\xac\x7f\x07\x8e\x1f\xf5\x54\x6f\x6d\x0b\x77\x35\xd4\x07\x43\xd1\xb1\xbe\x93\xb6\x0f\xbe\x93\xc3\x81\x7d\x16\xa1\xbf\x36\x3c\x5b\x73\x11\xfa\x02\xfa\x65\xf6\x92\x83\x47\xa7\xd5\xdc\x0a\x63\x82\xb6\xa6\x94\x41\x3c\x3e\xb8\x9b\x03\x72\x4f\x9f\xc9\x35\xfd\x6c\x84\x93\x89\x1c\x88\x88\x07\x71\xad\x39\xf9\xf1\x87\x77\xef\xf5\xcc\x75\xe6\xea\x96\x63\xed\x88\x1d\x55\x20\x72\x44\xe3\x1e\x63\xda\x44\x7b\x81\x65\x05\x7d\x2c\xfd\x8c\x66\x2b\x44\x96\x2f\x52\x7d\xdc\x14\xd5\x9d\x3e\x6b\x8c\x70\x2a\x98\x61\x9a\x4b\x02\x67\x9b\xb8\x40\x49\x92\xd3\xa8\xc7\x79\x14\x75\x19\xa7\x15\xb2\xc1\x39\x2b\xdb\x36\xb0\x8d\x03\x4a\x4b\x32\x91\xe9\x23\x04\xb5\xfc\x4e\xf4\xeb\xd5\xac\xcc\xcb\xa5\x59\x4f\xa8\x1d\x8a\xc7\x3b\x82\x73\xe6\xb5\x44\x97\x70\x42\x7d\x47\x80\x21\xe3\xf7\x21\xc9\x94\x09\x79\x54\x0c\x4b\x7d\x57\x07\xb5\x8f\x5d\x3c\xae\x50\x76\xe8\xc2\xec\xe8\x8d\x17\x83\xb9\x9a\x81\xc3\xd9\xfb\x3d\xd8\xff\x39\x50\xea\x2e\x2c\xb1\x17\x0a\xfd\x55\x76\xbe\x57\x35\x7f\xaf\xea\x62\x77\x1f\x0b\x9a\x8a\xe4\x7f\xf1\x3e\xa2\x58\x00\x6e\x7d\xae\x8d\x9c\x0c\x1c\x55\x7e\x80\xcb\xcf\x85\x24\x08\xec\x7f\x2c\x90\xa2\x81\xe7\x24\x94\x6d\x11\xe1\xfd\x96\x3f\x9e\x17\x44\x53\xcc\x55\x6e\xa2\x5c\x5b\x58\xaa\xa9\xcd\xcd\xc9\x41\x6d\xc5\xb1\xba\x53\x84\xb2\x35\xdf\x9a\x5a\xc4\x18\x9d\xcf\x14\x0d\xfa\x06\x56\xf9\x84\xad\x2a\x8f\x84\xb2\x0d\x8f\x3d\x16\xa8\xfe\x40\xdb\x92\xb2\x7a\x50\x05\xdc\x00\x0a\xdf\xa4\x0a\x4f\xc9\xd3\x71\x47\xe8\xcb\xab\x6b\xb6\x49\xe3\x82\x6f\x5d\x2d\x80\x3f\x2b\x00\x99\x57\xf1\x62\xaa\x8b\xa7\x49\xbc\x0a\x11\xab\x4a\xda\xb6\xf3\x2e\xb8\x61\xa5\x93\x2e\xd6\x28\x08\x8b\xa4\x8d\x28\x9a\xe3\x32\x46\xa7\xb2\x29\x84\x52\x8b\x6f\xf5\x2f\xde\x5d\xad\xf5\xff\xc9\xca\x67\xd1\xdf\x86\x3c\xfa\xc2\xdc\x5f\xad\xe1\x47\x9f\x6b\xe4\xd4\xe8\xbd\xa9\xaa\x47\x32\x95\x53\xb8\xb1\x9f\xba\xa5\xc9\x16\x3a\xe8\x16\x51\x1f\x02\x29\xcf\xae\x3f\x9e\xf4\x73\x3e\x95\x9e\xb8\x0d\x20\xf8\x2f\x75\x04\x66\xa8\xa6\x6e\xbe\xd8\xd0\x71\x92\x5a\x97\x4f\xf0\x86\x33\xf2\x7c\xa6\xf8\x23\x00\x4a\x33\x00\x94\x9e\x9f\x59\xc9\x0b\x88\x31\x19\x6a\x0c\x80\x41\xf6\x5e\x88\xe5\x05\x04\x77\x80\x72\x0e\x61\x46\x62\x17\x72\x73\xa5\x8e\x5f\xed\x4e\x75\x51\xd5\xab\x57\xdb\x4a\xd5\xc7\x9f\x55\x7e\x1c\x73\xfe\x0b\x3a\x79\x0e\x3f\x8f\xa9\x26\x64\xff\x2a\xe3\x92\x32\xa8\x9e\x82\x01\xc9\xa7\x7b\xb1\x52\xff\xc0\x76\x5d\xc9\x69\x0e\x2f\xbc\xdf\xed\xb1\xf2\x0a\xc7\x03\x73\xfd\xda\xcb\xf5\x46\x95\xc7\x33\x4d\xd4\x99\xed\x07\xd0\x99\xab\xd2\x29\x38\x6c\xac\x33\x96\xbb\x3e\x2a\x7a\x7d\x64\x2d\xe8\xdd\xac\x36\x18\x12\xe1\x72\x4b\x25\xfa\xf0\x0d\x35\x2e\x89\x8d\x70\x0c\xc7\xea\x47\x23\xa9\x67\x32\x4c\x85\xc3\xd3\xc7\xbd\xd1\xf5\xc0\xc3\x80\x82\x81\xbb\x70\xd9\x28\x83\x35\xe2\xd0\x50\x21\x27\x02\x7a\xbd\xdf\xed\x1d\x16\xaa\xce\x06\xfd\x33\x90\x4f\x77\x8e\xcf\x68\xfa\x1c\x97\x02\x94\x7d\xe5\x1a\x88\x10\x0e\xef\xf5\x96\xae\x8b\x84\x0e\x31\xcb\x01\x8b\xef\x67\xd5\x45\x43\xde\xf3\xf9\xcc\xc2\xf6\xfe\x5b\x92\xc9\x8b\xde\x6a\xdb\xef\xa5\x55\x37\x81\x04\x37\x8c\x10\x84\xdd\x04\x56\x48\x76\x97\x1b\xd8\x10\x41\x27\x15\x96\xe9\xe4\x9c\xba\xf0\x73\x37\xee\x9f\x83\x81\x49\x48\x30\xbb\x08\x73\xb0\x31\x98\x6e\xe6\x66\x88\xa0\x16\x44\x5a\xeb\x64\xe1\x9c\xe7\x97\xb1\x0c\xd5\x93\xd0\x64\x12\x11\xaa\x10\xd3\xfc\xaf\x32\xc0\x1d\x74\x3b\x43\x99\xae\xd2\xd5\x32\xcf\x12\x4d\xbe\x02\x75\x19\xaf\xd2\x95\x83\xb6\x89\x8b\x54\x84\x6b\x23\x29\x59\x91\x96\x89\x08\x57\x15\x85\x77\x79\x49\xcf\x9a\xb4\xbb\x88\xd2\x83\x20\xd9\xbd\x08\x8e\xfa\x78\x87\xbd\xff\xf3\x00\x80\x80\x78\xd7\xc1\x47\x67\x83\x3e\x7d\xb9\xa6\xa7\x10\xce\xd0\x03\xdf\xe6\x14\x23\xf0\xfb\xb3\x61\x29\x33\xc0\xa4\x4d\x72\x4f\x48\x07\x23\x66\xb0\x43\x1d\x46\x21\x22\xf9\x9a\xf8\xf7\x97\x71\x13\xf1\x25\x87\x88\x07\xb8\xf2\x64\x22\xac\x88\x23\x91\x8c\x90\x84\xec\x4e\x47\x48\x0e\xde\x07\x7e\x12\x86\xb1\x08\x86\x11\xd8\x7e\x44\x69\xee\x77\xa1\x26\xcb\x83\xf8\x05\x8e\x9e\x85\x48\xb7\x00\x6a\x6b\x20\x18\x31\x76\x70\x6a\x51\x53\x12\x8b\xcc\xeb\xc6\xfd\x72\x86\x04\x7a\xa7\x4b\x72\x43\x6a\xf6\xef\x29\x6a\x65\x49\x70\x9b\x24\x13\x91\x01\x4d\x22\x1d\x4d\x82\x5c\x66\x7f\xc7\x77\x41\xea\xe5\x54\xee\x8a\x4f\xc0\xcd\xed\xb6\x5b\xfd\x3e\x53\x9d\x3b\x9b\x01\x97\x9a\xcd\xd0\xbd\xf3\x1f\xa7\x76\x34\x01\x95\x00\x97\xad\x6e\xd8\x8a\x26\x16\x1e\x01\x23\x11\xac\x60\x8a\x96\x69\xe1\x84\x77\x6e\x72\x5a\xf7\xce\xa6\xfa\x5d\x0d\xf0\x95\x41\xcc\x05\x73\x22\x8b\xba\x78\xa7\xb6\x25\xf2\x22\xa2\x28\xbe\xd2\xcc\x1d\xb1\x6f\x06\x11\xa4\x55\x59\xd5\x2a\x8a\xf0\x77\x2a\x6e\x0b\x7b\x1d\x13\xd4\x26\x11\xb6\xcc\x06\x10\x29\x6b\x73\xf6\xfe\x97\xa6\x18\x37\x3f\xe9\x9c\xec\x8d\xbe\x7e\xe6\x07\xaa\xde\xbd\xda\xd5\xe5\xb6\xca\x03\x07\xe1\x80\x08\x9d\x3e\xd3\xdb\x18\x10\x6b\xcf\xf8\x1b\x89\x81\x80\x4d\x59\xee\x89\xb9\xfd\x2f\x49\x59\x7d\x66\x96\xf7\xe0\x78\xdc\xba\xc7\xba\x84\x5a\xe7\xa0\x8b\xff\x98\xcd\xfe\x34\xc2\xd0\x64\x6f\xc5\x7e\x5f\xd5\xab\x5f\x7e\x7e\xc3\xb1\x2d\xd3\xdb\x0a\x74\x20\xff\x37\x00\x00\xff\xff\x5f\xef\x55\xb8\x9c\x49\x01\x00") func uiLibJqueryMinJsBytes() ([]byte, error) { return bindataRead( @@ -465,12 +465,12 @@ func uiLibJqueryMinJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "ui/lib/jquery.min.js", size: 84380, mode: os.FileMode(420), modTime: time.Unix(1483467521, 0)} + info := bindataFileInfo{name: "ui/lib/jquery.min.js", size: 84380, mode: os.FileMode(420), modTime: time.Unix(1491905519, 0)} a := &asset{bytes: bytes, info: info} return a, nil } -var _uiLibKubeMinCss = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xcc\x7d\xe9\x92\xe3\x38\x72\xf0\xab\xf0\xab\x89\x8e\x99\x9a\x8f\xa2\xc5\x4b\x67\xec\x86\x1d\xfe\xe3\x1f\x5e\xbf\x40\x47\xff\x80\x44\xa8\xc8\x6d\x8a\xe4\x80\x50\x57\xf5\x30\xf4\xee\x0e\x9c\xc4\x91\x60\x69\xca\x3d\x63\x4f\xed\xb6\xa0\xcc\x44\x66\x02\x48\x5c\x89\x04\x54\xd3\x6b\x3b\x9d\xfa\xb7\xd5\xd8\xfc\xde\x74\x2f\x87\xe8\xd4\x93\x0a\x93\xd5\xa9\x7f\x3b\xde\x7f\x8d\x7f\x3d\x9c\xf0\xa5\x27\x38\xfe\xf5\x80\x2e\x14\x13\x8b\xb4\xe9\x6a\x4c\x1a\x7a\xbc\x37\xd7\x17\x0b\x71\xee\x3b\x8a\x3b\x2a\x99\x4c\x57\x44\x5e\x9a\xee\x10\xad\x8f\x03\xaa\x2a\x4e\xb1\x3e\x0a\x39\x2c\xd5\xdf\x68\xdb\x74\x98\x25\x2f\x7d\x47\x19\x17\x7c\x88\xd2\xf5\xfa\xd3\xf1\x1b\x26\xb4\x39\xa3\x76\x85\xda\xe6\xa5\x3b\x44\x27\x34\x62\x46\x7b\x3c\xa1\xf3\xd7\x17\xd2\xdf\xba\xea\x10\x51\x82\xba\x71\x40\x04\x77\xf4\x78\x47\x07\x74\xa6\xcd\x37\x1c\xa3\x43\xdd\x7f\xc3\x64\x32\xb8\xdf\xd1\xad\x6a\xfa\x43\xd7\xd3\x5f\x3e\x33\x15\x49\xdf\x8e\x5f\x9e\xa7\xaa\x19\x87\x16\x7d\x3f\x44\x5d\xdf\xe1\x63\x8d\x9b\x97\x9a\x72\xf2\x53\xdb\x9f\xbf\xfe\x76\xeb\x29\x8e\x7f\x9b\xf8\xe7\x28\x89\x0c\x54\x34\xa8\x2a\xb2\x60\xbc\xb6\xe2\xdf\x14\xee\x37\x59\x7d\xb2\x66\x0e\xd1\xcf\x3f\x1f\x75\x5a\xb0\xa4\xe8\xd4\xe2\x49\x56\xff\xb9\x6f\x5b\x34\x8c\x98\xd5\xa5\x48\xc9\x0a\x5b\x8d\x03\x3a\xcb\x2a\xbc\x9f\xd1\x40\x9b\xbe\x8b\x69\x1d\xd3\x6a\xa2\xf8\x8d\xaa\x8a\x6a\xf1\x85\x7a\xb5\x47\xfb\xe1\x78\xa7\x35\x46\x55\xc4\x72\x88\x44\x35\xf1\x4a\x7f\x95\xc5\x3e\xf5\x6d\xe5\x57\x7b\x4f\x69\x7f\x3d\xde\x51\xd4\x5c\x5f\x62\x5a\x8b\x8f\x8a\x7d\x4c\xa0\x90\xd3\x8d\xd2\xbe\x8b\x9b\x6e\xb8\xd1\x78\xc4\x2d\x3e\xd3\x98\xa9\x87\x08\x46\x86\x39\xdc\x35\x8c\x35\xd5\xa5\xed\x5f\x0f\x11\xba\xd1\x1e\xd4\x9c\x60\x61\x18\x0a\xa7\xa4\x4c\xaf\x4d\x45\x6b\x99\x71\xe6\xf3\xad\x19\x9b\x53\x8b\x8f\x77\xae\xc4\x67\xfa\x7d\xc0\x7f\x7b\x22\x78\xc4\xf4\xe9\x4b\x6c\xc2\xc6\xdb\xe9\xda\xb8\xc0\x4b\xd3\x62\x07\x44\x50\xd5\xf4\x0e\xec\x5c\xe3\xf3\xd7\x53\xff\xf6\xf4\x45\x95\x52\xea\x74\xbe\x91\xb1\x27\x87\x68\xe8\x9b\x8e\x62\xa2\x74\x55\xc6\x29\xbf\x5d\xfa\xf3\x6d\x9c\x2d\x54\xd8\x01\xe7\x7f\x38\xac\xae\xfd\xef\x2b\x4e\xb0\x6a\xba\x0e\x13\x95\xc7\x43\x4c\x73\x4f\x32\xba\xd7\xfd\x71\xd5\x27\xb3\xd7\xa5\xeb\x4f\xc7\xa1\x1f\x1b\x66\x57\x87\x88\xe0\x16\x31\x85\x8f\xa2\xcd\x56\x44\x18\x49\x3e\xbc\x05\x65\x8d\x18\x91\x73\xfd\xf4\x65\x5a\xbd\xe2\xd3\xd7\x86\xae\xd0\x30\x60\x44\x50\x77\xc6\x87\x88\xb5\xf7\xa5\xc1\x6d\x05\xe7\x39\x1c\x54\x26\x01\x59\x55\xf8\xdc\x13\xc4\x6d\xfc\x21\xfa\x33\x13\xd3\xae\x64\x23\x40\x1a\x88\x3a\xae\xc9\xdc\xeb\x79\xb7\x3d\x86\x86\x2f\x35\x1c\xa4\xc3\x9b\x31\x64\xc9\xbe\x48\xfb\x81\x63\xa2\xb1\x6f\x9b\x2a\x22\x2f\x27\xf4\xcb\x3a\x8e\xe4\xff\x92\xf4\x99\x0f\x8d\xf1\xb7\xa6\xc2\x7d\xcc\x07\x9f\x18\x5f\x4f\xb8\x8a\xfb\xd3\x3f\xf1\x99\x4e\x57\xf4\xb6\x92\xd6\xcb\x87\x3b\x83\xda\xa2\x53\x4a\x70\x13\xbf\x83\x28\x9d\xdf\xeb\x90\xd7\xa6\xaa\x5a\x7c\x5c\x5d\x99\xbd\x50\x4c\x86\xbe\xe5\x35\xba\xba\xf6\x15\x3e\x44\xa7\xe6\x7c\x3b\x35\xe7\xe3\x9d\xcf\x04\x86\x29\x6c\xb2\xa4\xfc\x74\xbc\x9f\xfa\xea\xbb\x00\x5f\xd0\xb5\x69\xbf\x1f\xa2\x9f\xff\x03\xb7\xdf\x30\x93\x11\xfd\x17\xbe\xe1\x9f\xe3\x48\x03\xe2\xe8\xdf\x48\x83\xda\x38\x1a\x51\x37\xae\x46\x4c\x9a\x8b\x35\xa6\x27\x25\xbe\x1e\x99\xb1\xaf\x94\xde\x59\xc1\x2a\xd6\x18\xcd\x7f\xba\xf0\xff\x8e\xe7\xbe\x65\x1d\xe8\xa7\x6c\xcd\xfe\x8e\x77\x34\x69\x48\xb9\x39\x9d\xf7\x6c\xa8\x17\x23\x3c\xef\x10\x7c\x12\x90\x56\x8b\xda\x36\x62\x42\x10\x89\xd6\x49\x36\x1e\x97\x70\x8a\x29\xce\x52\x9c\x9f\x8e\xf7\x84\x36\xb4\xc5\x71\x9d\xc6\x75\x16\xd7\x79\x5c\x17\x71\x5d\xc6\xf5\x06\x18\x25\x55\xd6\x35\xff\xef\xc8\x87\x5f\x82\xbb\x0a\x13\x6e\x45\xfd\x40\x9b\x6b\xf3\x3b\xfe\x4f\xfc\xd2\x9c\x9a\xb6\xa1\xdf\x0d\xee\x72\x10\x5c\x89\x91\xf5\x10\xa5\x9b\xe1\xed\x78\x77\x44\x3a\x34\x3b\x46\xe2\xeb\xa7\xc8\xd8\x90\x7f\x88\x56\xe9\x4c\x65\xb6\x66\x91\xec\x88\x5b\xf7\xa5\x10\x9a\x9a\x74\xb9\x47\x95\x67\x42\x35\x93\x2a\x4b\x8a\x10\x5d\x6e\xd1\x79\x54\xbc\xbd\xef\x75\x61\x0d\x3a\x80\x6e\x92\xae\xb4\xe9\x36\x21\xba\x8d\x4d\x57\xc2\x74\xbc\x89\xb8\x35\x5c\x7a\x72\x3d\x44\xb7\x61\xc0\xe4\x8c\x46\x7c\xbc\x0f\xd1\xff\x8f\xea\x34\xbe\xb5\xe2\xb3\x97\x9f\x95\xfc\x34\xe6\x76\xfe\xbd\x26\xe2\x73\x20\x12\xc0\x67\x6f\x91\x64\xbc\x65\xaa\x79\xb9\x29\x02\x54\x55\x04\x8f\xa3\xcc\xc6\x3e\x32\x29\x2d\x93\xd2\x32\x29\x2d\x73\xa4\x65\x52\x5a\xa6\xa4\x65\xb3\xb4\x4c\x4b\xcb\x0c\x69\x99\x29\x2d\x13\xd2\x72\x29\x2d\x97\xd2\x72\x29\x2d\x77\xa4\xe5\x52\x5a\xae\xa4\xe5\xb3\xb4\x5c\x4b\xcb\x0d\x69\xb9\x29\x2d\x17\xd2\x0a\x29\xad\x90\xd2\x0a\x29\xad\x70\xa4\x15\x52\x5a\xa1\xa4\x15\xb3\xb4\x42\x4b\x2b\x0c\x69\x85\x29\xad\x10\xd2\x4a\x29\xad\x94\xd2\x4a\x29\xad\x74\xa4\x95\x52\x5a\xa9\xa4\x95\xb3\xb4\x52\x4b\x2b\x0d\x69\xa5\x29\xad\x14\xd2\x36\x52\xda\x46\x4a\xdb\x48\x69\x1b\x47\xda\x46\x4a\xdb\x28\x69\x9b\x59\xda\x46\x4b\xdb\x18\xd2\x36\xa6\x34\xdd\xff\xf9\x2c\x23\xec\xfc\xd6\xc6\x7d\xcb\xc4\xf3\x44\x24\xd2\x3d\x4f\xdf\xda\x79\x61\xc5\xff\x44\x0e\x4e\x15\xb5\xcd\xd4\x36\x23\x5d\x8d\xf4\x7b\x8b\x57\x6c\x12\x3d\x44\x6d\xff\x8a\xc9\x0a\xb5\x43\x8d\x14\xd9\x22\x25\xe9\xaf\xa8\x3b\xde\x87\x58\x28\x51\xb5\x46\x71\xe3\x9a\xb0\x42\x8a\xf2\xc5\x7c\x86\x1f\x31\x95\x25\x53\x85\x8a\xfb\x1b\x1d\x6e\x14\x1e\xfa\x92\x16\xa3\xca\xea\xc4\xd9\xfa\x93\xd3\x85\xf9\x00\x38\x0b\x95\xd4\x4c\xd1\x43\xd4\x50\xd4\x36\xe7\xe3\xfb\x0c\xe4\xba\x45\x0e\x97\x62\xfa\x11\xb3\xb9\x80\x84\xa7\xf3\xec\xd9\x5a\xf7\x9f\x1b\x6a\x8d\xb0\xbb\xcd\xa7\xa3\x35\x49\x74\x3d\xb9\xa2\xd6\x51\x61\xcd\xca\x20\x2b\xc4\x2a\x80\xa4\xbe\x57\x6d\x54\x51\x60\xb6\xb9\x57\x95\x3d\xd2\x8b\xf6\xe5\x5a\xc8\x99\xc8\x55\xb8\x7c\x3e\x02\x55\x74\x1f\xaf\xa8\x6d\x5d\xcd\x01\x2d\xc7\xb8\xc2\xad\xd8\x55\xcc\xeb\xb0\x03\x9f\x3d\x57\xb4\x26\xfd\xed\xa5\x3e\xde\xd1\xe9\x44\x3e\xf3\xd9\xe6\x4b\x5c\x5d\x3a\x99\x9c\xf4\x2e\x52\xb6\xf1\xf0\x16\x55\x3d\xa5\xb8\xd2\x13\xba\x5a\x21\xd7\xb8\x1d\x8e\xf7\x91\x92\xbe\x7b\x89\x4f\x50\xc1\xf1\x35\x6e\xa0\xb6\xbe\x8f\xb7\x53\x3c\xde\x06\xb3\x28\xdb\xc2\x29\xca\x7a\x61\x35\x2b\xea\x31\xe1\x93\xd4\x9d\x31\xe2\x3d\x6d\xb5\x16\x93\x1b\x63\x3f\xa9\x02\xac\xd6\x92\xec\xd2\xbc\xc8\x5d\x97\xee\x6e\x09\x9b\x33\xed\xcd\xab\xb6\x05\x47\xe3\xa6\x1b\xe3\x9b\x5f\xa5\x37\xb6\x68\xe0\xfb\xda\xfb\x15\x91\xaf\xd3\xbc\x1e\x5a\xa9\x45\xc6\xe5\x52\x6d\x52\xec\xae\x8a\x3c\x4e\x72\x2b\xd9\x5c\xb1\x5b\x2b\x77\xd6\x3f\xcf\x7d\x85\xe3\xaf\xa7\x2a\x1e\xd1\x75\x88\xbf\x21\xa2\xfa\xa4\x41\xbc\x5f\xdb\xba\x4b\xc3\xb4\x96\x80\xff\xc0\x5d\xdb\xc7\xd1\x3f\xfa\x0e\x9d\xfb\x38\xfa\xf7\xbe\x1b\xfb\x16\x8d\x2c\x75\x23\x0d\x26\x71\x74\xed\xbb\x9e\x6d\x55\x31\x17\xec\xf2\xf7\xa7\xe6\x80\x09\xef\x9f\x8f\xce\xd6\xd0\x5c\x2b\xba\xd4\xeb\xfc\x79\xde\x97\x70\xb6\xaf\x3d\xa9\x56\xaf\x04\x0d\x73\x07\xa3\x55\xc4\x34\x7a\xad\x1b\x8a\xf9\x6e\x1a\x1f\x18\x80\x53\x1d\x2d\x28\x5f\x58\x06\x50\x01\x70\x6f\x20\x66\xd1\x27\x82\xd1\xd7\x15\x03\x88\x06\x16\xed\xc0\xdb\xe0\xeb\xa9\x9a\xb4\xca\xdc\xc6\x22\x61\x7e\x7a\x7f\xd2\x74\xbc\xb6\xc4\x36\xc5\xaa\xb8\x54\x8d\x5c\x6c\x7f\x77\x1b\x0f\x11\x5f\x81\x31\xde\xd3\x62\x2d\x6d\x9f\x79\xa3\x44\x9c\xd2\x75\xb9\xa8\x4d\x0e\xb7\x24\xd3\x5f\x63\x70\xe4\x38\x60\x19\xf6\x0d\x91\x85\xb1\xe8\xce\x0a\x6c\x69\xf6\x53\xb1\x41\xfb\xcb\xd9\x6a\xfc\xac\x2c\xe3\x68\xfe\x67\x9d\xec\x59\x56\x56\x4d\x56\x4e\x35\x8a\x2c\xe5\xdc\x95\xcf\x76\xf3\x74\x3d\x6f\x99\x3b\xe9\x5f\xe7\xfd\x9f\xda\x25\xb2\xdd\xde\x0c\x64\x4d\xef\x40\xc6\xd5\xa5\xc5\x6f\x36\x50\xe6\x65\x88\x19\xca\xbf\x99\x28\x6d\x81\x5c\xbc\xe2\x64\x43\x01\x3a\x93\xc3\x09\x8d\xcd\x28\x9b\x48\x33\x30\x81\x1e\xc0\x99\x66\x45\x0b\xfd\xeb\x15\x57\x0d\x8a\x7e\x31\x76\x9e\xdb\xcd\x6e\x78\x7b\x8e\x26\xd2\xbf\x46\x93\x55\xa2\x55\xd5\x10\x7c\x16\x03\xcb\xb9\x6f\x6f\xd7\x6e\x16\xed\xa3\x02\xe0\x3b\xab\x6d\xf9\x05\xf6\x04\xda\xbe\x05\xa1\xe7\x9c\xe7\xd0\xa2\x91\xae\xce\x75\xd3\xea\xf9\x8f\x68\x0f\x1d\xe9\x5f\x3f\xe3\xae\xfa\xe2\xae\x29\x24\x6a\x1c\xda\x86\x7e\xb1\x85\x3b\xb9\xcf\x98\xed\x89\x71\x35\xfb\x2b\xfe\x79\x1b\x69\x73\xf9\xbe\xd2\xee\x39\x41\x32\x17\x7d\x40\xe7\xaf\x1a\x1a\xa2\xe6\xcc\x11\xb7\xd6\x05\xd6\xdc\x2e\x57\x82\xcc\x15\x50\x35\x23\x25\xcd\xe9\x46\xb1\x2f\xc4\xca\xc7\x45\x9d\x30\x7d\xc5\xb8\x7b\x57\x96\xa4\x73\x85\x49\xea\x90\x24\x95\xeb\x2e\xaa\xf2\xf3\xb9\x6f\xc7\xbf\x3d\xa5\x4f\x5f\x94\xf3\x6d\x97\xe4\xf2\xbf\x4f\x0e\x51\x36\x13\xa5\x9b\x64\x23\xfe\xdb\xba\x54\xf9\x4c\x95\x95\x2e\xb2\x98\x91\x79\x1e\x14\x54\xce\x54\x45\x1a\x14\xb4\x99\xa9\xca\xb5\x8b\xdc\x1a\xc8\x70\x89\x76\x33\xd5\x26\x5c\xa2\xfd\x4c\xb5\xf5\x4a\x94\xae\x8d\xaa\x0b\x17\x29\x35\x6a\x78\x1f\x2e\x53\x6a\xd6\xf1\xda\x28\x55\x7f\xb9\x8c\x98\x8a\x86\xb2\xd6\x3c\x67\xd4\x9e\x7f\xd9\x27\xa5\x92\xfb\xec\x65\xc9\xc0\x2c\xe9\x36\xd9\x29\x25\xfc\x3c\x39\x98\x27\xdb\x24\x19\x40\x5c\x80\xc4\x79\xb1\xa4\x54\x09\xe6\x29\xb2\x25\xa5\x36\x60\x9e\x32\x05\x95\xda\xc2\xc4\x8b\x35\xb5\x03\xf3\x6c\x16\x6b\x6a\x0f\xe6\xd9\xc2\x35\xc5\x8d\xc5\xa7\xde\x2d\x56\x55\x1a\x68\x73\xbb\xae\x12\x6e\x35\xab\x14\xec\xc6\x12\x99\xc1\xdd\x57\x62\x73\xab\xdb\x4a\x60\x01\x77\x57\x89\x2d\xe1\x6e\x2a\xb1\x1b\xab\x7b\x4a\xe0\x16\xee\x96\x12\xbb\x83\xbb\xa3\xc4\xee\xad\x6e\xa8\x4a\xbc\x86\xbb\x9f\x42\xa7\x70\xb7\x53\xe8\xcc\xee\x6e\xef\xce\xaa\xfe\xf4\x14\x45\x0c\x23\x9b\xcb\x69\x29\x8d\x36\x7a\xf9\x17\x6f\xfa\x32\x35\x00\xe7\x7a\xc1\x63\x71\x26\xb5\x14\x52\x85\x8b\x75\x32\x9b\x93\xf9\x9c\x2c\xe6\x64\x39\x27\x37\x73\x72\x3b\x27\x77\x73\x72\x3f\x27\xd3\xb5\x91\x36\xe4\xb9\xf5\x2a\xb6\xdb\xe3\xff\xc6\x5a\x0d\x5a\xa9\xb9\xeb\x34\xfe\xdd\xf6\xbe\x66\x49\x9a\x6d\x37\xe5\xbe\x64\xd6\x22\xb4\x8f\xfe\x1e\x55\xcd\x37\x67\xef\x6e\x90\x81\x6d\x27\xb2\xce\x53\xa8\x64\xa2\x3a\xce\x36\xd9\x6d\xb3\xbc\x58\x17\xf9\x27\x87\x36\x77\x69\xf3\x34\x49\x03\xb4\x85\x4b\x9b\x65\x41\xbe\xa5\x4b\x9b\x86\x75\xd8\x78\xb4\x45\x52\xcc\xb4\x0b\xbd\x45\xd6\xd8\x14\x39\xa7\x33\x7e\xf7\x80\x2b\x28\x76\x10\x79\x08\x51\x84\x10\x65\x08\xe1\x17\xca\xe8\x78\x5a\x31\x79\x8a\xeb\x1e\xec\x98\x69\x7c\x1d\xe8\xf7\xd5\x19\xb7\xed\x78\x88\xc6\xba\x7f\x95\x47\xbf\x91\xf2\x2b\x84\xbd\xd4\xc6\xa2\xd9\x38\x7c\xb0\x9c\x5e\xe9\xf0\x76\x04\x7c\x28\x42\x02\xad\xa5\x07\x92\x5a\xae\xb6\x7d\xa1\xb6\x7d\x96\xc3\x06\xf6\x82\xad\x0b\x63\x8f\xcd\x7d\x77\xca\xa3\xa6\xf3\x96\xcc\x82\x95\xc4\xc3\xa5\x21\x6a\xd8\xd1\xd2\x4d\xe0\x64\x7b\xe4\xd6\x46\xd6\x79\xc0\x9a\x73\x1a\x83\x98\xca\x38\xaf\xe8\x25\xd5\xa5\xef\xa9\x51\x58\xf1\xb5\x5a\xda\x9a\x72\xca\x84\xff\xbb\x12\x55\x81\x2b\xcb\xff\x2a\xce\x55\x20\xb2\x88\x4a\xed\x3c\x78\xad\x8f\x66\x17\xaa\x33\x0f\x48\xd7\xe6\x60\x57\x8f\xf0\x96\x06\xf4\xf0\xeb\x5a\xd2\xb0\x9d\xc4\x30\x2c\xd3\x18\x7a\x3f\xc0\xa7\x5e\x68\xc2\x65\x1d\xdd\x46\x05\x54\x0c\x90\x98\x1a\xbe\xcb\xa5\x5e\xb0\x14\x5f\xc1\xb1\xb9\x0e\xdc\xbe\x62\x08\x5a\x43\x50\xd5\x3e\x90\xc3\xc4\xb1\xe5\xc7\x84\x4c\x5e\x47\xf2\xd4\xbc\xb4\x88\xba\xf9\x05\xac\xf6\x61\x4b\x0a\xfa\xba\x51\xd2\x7f\xf5\x8d\x59\x83\x6b\xc8\xa5\xfb\xa0\x49\xcf\x8d\x72\xea\xab\xef\x11\x25\x87\x8e\xd6\xa2\x65\x7e\xe9\xab\xea\x99\xf5\x4d\xfb\x08\x78\xc7\xfe\x16\x67\x0a\x93\x3f\xc1\xe3\xd0\x77\x63\xf3\x0d\x47\x53\x34\x1f\xd2\xdf\xa3\x28\x40\xc5\x43\x5f\x9c\xb8\x9f\x05\x6a\x20\x58\xc0\xaa\x8a\x6c\x31\x02\x20\xcc\xb7\x8a\x17\x70\xa6\x85\x2f\x91\x99\xdd\xd0\x51\xd3\x0c\x08\xe2\x96\x6f\x0c\xdc\x6b\xb1\x42\x84\xf9\xda\xd6\x36\x99\x36\xf3\x4e\x96\x40\x47\x7f\xac\x9c\xae\x89\x2d\x36\x61\x25\x43\xab\xe6\x90\x2a\x44\x29\xf9\xa5\x42\x14\xad\x5a\x74\xc2\xed\xf3\xf1\xd2\xf6\x88\xca\x58\xa8\xf0\xa4\xba\x74\x84\xc3\x27\x4f\xdb\xd1\x79\xbc\xdf\x19\x07\x77\x05\x2d\x96\x6d\x22\x08\xe8\xf3\xf5\xd6\xd2\x66\x68\xf1\xdf\x9e\x54\xea\xe9\xcb\x1c\xff\x64\x47\x7c\x18\x61\x2d\xf8\x8a\x9a\xd6\x09\xd3\xe9\x6e\xd7\x13\x26\x6e\xc8\x92\x8c\x7f\xb1\x80\x8c\xbf\x07\x72\xd9\xdd\x88\x0b\x19\xd0\x38\xbe\xf6\xa4\x32\x34\x94\xb1\x4c\x3f\x2e\xea\x83\x3b\xb4\x67\x2b\x4a\xf6\x04\x5f\xa3\xd4\x3b\xa3\x4f\x75\xb4\x4d\xc1\xcc\xd3\x8e\x8b\x82\x62\x44\xfc\xe9\xf5\xa7\xea\xc2\xfe\x20\xc7\xb8\xb7\xe5\x09\x2c\x07\x76\x6c\x3d\x00\x34\xcb\xe7\xaa\x19\x99\x15\x56\x70\x03\x05\xd0\xaa\xa9\x02\x68\xd1\x68\x41\x64\x58\x2c\x6f\xc8\x00\x6e\x6e\x52\x83\x40\x35\xae\x01\x92\xd6\xaa\x01\x93\x0a\xb1\xe3\x15\xde\x0f\xe8\xdc\xd0\xef\xac\xbd\xca\x52\x1f\xd7\x55\xf8\x82\x6e\x2d\xfd\x3f\x65\xb8\x0b\x81\x5e\x4e\x87\x34\x7a\xa1\x15\x53\x65\x9b\x61\x52\x1a\x91\x89\xa6\x21\x8b\x85\xad\xc4\x88\xe8\x3d\x59\x89\xf2\x8b\x88\xdd\x83\xc2\xfa\x1e\x34\xdf\x8c\xff\x77\xbc\xab\x23\xf4\x79\xec\xcd\x19\x55\x0e\x18\xb2\x71\x84\xfd\x4e\x30\x1a\x74\x5a\xa4\x04\x45\xbf\x2e\xb9\x07\xa2\xff\xd7\x5c\x87\x9e\x50\xd4\xd1\xe3\xbd\xc5\x2f\xb8\x73\xc2\x46\xcb\xb5\x77\xfe\xf9\xc8\x36\x26\x4a\xf1\xd5\xd9\x41\x33\x88\x88\x78\x60\x5b\x0b\xff\xec\xd6\x39\xdd\xbd\x27\x8c\xfb\x18\x8d\xe2\xd8\xc1\x9d\x02\x1d\x74\x2c\xbf\x0e\xf0\xf0\x2d\xb1\x7a\x1c\xd4\x99\x79\x68\xa7\xfc\x06\x19\x3e\x80\xd2\xf6\x0f\xe0\x74\x37\x00\x70\xb2\x37\x80\x98\x80\x28\xd1\x37\x00\x84\xd1\x45\xcc\x49\x27\x50\x47\x7c\xd6\x74\xf7\x85\x4b\xb4\x89\x8a\x21\xf5\xb6\xac\xdc\xe4\xa1\x60\x08\x37\x2e\x56\x8e\xc1\x2a\x92\xdc\x10\xae\x83\xcb\xa5\xc4\x84\x8b\x64\x9b\x31\xbd\x4e\x36\x02\x63\x14\x91\xd2\x68\xd5\x36\x23\x0d\x19\x83\x4d\xe5\x97\x5b\x89\x76\x94\x83\x4f\x64\xbd\x69\xc5\xf6\xd3\xf1\x35\xfc\xc3\xd5\x03\x6b\xb8\x52\x21\x9d\x33\x1c\x8e\x0d\x7c\x30\xf3\xb2\x23\xd0\xb4\x23\xed\x12\x74\x7a\x86\x0b\x17\x3d\x64\xd9\x9b\xec\xb3\xcd\x02\x6c\x33\x90\x6d\xc8\x0f\xed\xf3\xcd\x03\x7c\x73\x90\xaf\xe3\xc1\xf6\xd9\x15\x01\x76\x05\xc8\x2e\xe4\xfb\xf6\xf9\x96\x01\xbe\x25\xc8\x37\xe4\x35\xf7\xf9\x6e\x02\x7c\x37\x20\x5f\xc7\xdf\xee\xb3\xdb\x06\xd8\x6d\x41\x76\x21\x4f\xbd\xcf\x77\x17\xe0\xbb\x03\xf9\x86\x7c\xfc\x3e\xdf\x7d\x80\xef\x1e\xe4\xeb\x9c\x0e\x00\xb6\xbf\x0e\x19\xff\x1a\xb6\xfe\xd0\xc9\x02\xc0\x3a\xd8\xaf\x02\x1d\x2b\x74\x2a\x01\xb0\x0e\xf5\xad\x14\xee\x5c\xae\xe7\x5d\xd0\xf0\x7f\x57\x62\xb8\xf3\x66\xc5\x25\xa4\x85\xb3\xa7\xcf\x30\xca\xc2\x2c\xcc\xb2\x0f\xd2\x05\xc9\xdc\x99\xf9\x51\xc2\x20\x9d\x3b\x9d\x3f\x4a\x18\xa4\xb3\xd7\x00\x8f\x91\x2d\x50\x3d\x52\x77\x26\x55\x90\xc8\x5a\x68\x3c\x44\x15\x24\x32\xb6\x9d\xef\xf1\xf3\x48\x2d\xca\x84\xf6\x7d\xcb\x76\x9d\x41\x23\xb3\x28\xac\xdb\x42\xf0\x8c\xbe\xe4\x76\xf2\x16\x23\xd1\x14\x59\xcb\x11\x71\x92\x06\x4d\xa1\x1a\xec\x4d\xa2\x1a\x63\x77\xc9\x18\x64\x94\x05\x19\x65\x01\x46\x19\xcc\x28\x0f\x32\xca\x03\x8c\x72\x98\x51\x11\x64\x54\x04\x18\x15\x30\xa3\x32\xc8\xa8\x0c\x30\x2a\x61\x46\x9b\x20\xa3\x4d\x80\xd1\x06\x66\xb4\x0d\x32\xda\x06\x18\x6d\x61\x46\xbb\x20\xa3\x5d\x80\xd1\x0e\x66\xb4\x0f\x32\xda\x07\x18\xed\x61\x46\xe2\x0c\x36\x34\xb3\x05\x4c\x72\x1d\xe0\xb5\x60\xdd\x41\xf3\x0e\xd8\x77\x1a\x36\xf0\x34\x64\xe1\xde\xb9\x71\x52\xe1\xf1\x0c\xef\x4a\xcc\x43\x9d\x85\xc0\x53\x1d\x3b\x2d\x63\xc9\x87\x37\x20\x44\x1a\x5c\xc2\xdf\x5a\x21\x1d\x5a\xa1\x8f\x03\xea\x2c\xac\xd8\xf4\x16\x20\xf7\x7b\x82\x09\xe9\x49\x9c\x8c\xb7\xf3\x19\x8f\xe3\xe3\xbb\x2c\x57\xf3\xc0\x38\xc7\xb5\x11\x32\x78\x52\xc9\xb1\xc3\xa3\x45\x30\xb4\x68\x22\xfe\xef\x4a\x64\xd1\x8d\x63\x02\x65\xb3\x98\x20\xf3\x8b\x7f\xa4\xe6\x85\x95\xfa\xb1\xcf\x22\xb8\x73\xbd\x8f\xa3\x74\x1b\x47\xdb\xdc\xf2\x66\xd8\xce\xbf\x34\x4d\x8b\xbd\xad\xac\x2c\x94\xab\xae\x02\x5b\x0a\x2b\xa0\xfd\xf5\xe3\x4a\xb3\xfe\x92\xe6\x65\x1c\xed\x8a\xb0\xd2\x6b\xb4\xdb\x96\x85\xad\xf4\xa9\x79\x01\x2e\x48\xcd\xde\x7b\x7e\xc1\x29\x4a\x45\x4c\xba\x7d\x9d\x4b\x16\x48\x7c\x04\x18\x59\x39\x34\xd7\xcd\xf0\x26\xcf\x05\xac\xfa\x73\x6f\x0b\x48\xa9\x86\x3b\x77\xab\xdd\xb9\xf6\x5d\x30\x5b\x95\x10\x23\x2b\x0f\xa0\x8c\xd4\x03\x0d\x03\xee\x2a\xd5\x34\x03\xc1\xec\xeb\x9f\x1e\x19\x02\xbb\x89\x4c\x8d\xc4\xe0\xe5\xe8\x25\x80\x13\x63\x71\x88\x52\xcf\x47\x60\xb9\xd3\x6c\x6e\xac\x23\xba\xcc\x18\x6c\xb2\x62\x54\xc6\x9a\x34\xdd\x57\xb6\xda\x70\x5c\x1c\xd0\x68\x00\xdc\x26\xc0\x17\xf6\x77\x84\xc2\x71\x45\x43\x06\x46\xc5\xcd\xb3\xeb\xe5\xb3\x86\x2d\xee\xb6\x07\x23\xae\xfd\x42\x4e\x80\x6f\xef\xf7\x55\xd3\x55\xa2\xca\xac\x3b\x39\xa2\x8f\xd9\xde\xcb\x35\x3f\x76\x63\xff\x5f\x83\x2d\x32\xf9\xde\x4e\x71\x2d\xca\x68\x41\xab\x82\x15\xbd\xaa\x3b\x5f\xe4\x12\x0b\x50\xa6\xad\xe3\x89\x76\x52\xc3\x3f\xdd\x6c\x4d\x61\x91\xbc\x8c\x6f\x82\x58\x5a\x5b\x27\x27\x56\x17\xd7\xe1\xa9\x02\xba\x8f\xff\x63\x4f\x87\x20\xc3\x85\x2c\xc9\x30\x54\x3e\x60\x58\xa6\xe7\x1b\xa3\x79\x04\x2a\x23\xb3\xe1\x3b\x33\xc1\x23\x04\xdb\x8d\x3f\xf7\x18\xeb\x54\x1d\xf0\xac\xf3\x0b\xe5\x35\xaa\xfa\x57\x49\x13\x70\x7d\xaa\xeb\xc3\xd6\x01\x01\x2e\xd9\x9f\x68\x19\x71\xcb\x59\x5d\xff\x17\x57\x9e\xa1\x2e\x5d\xb1\xbf\x85\x8e\x1b\xb8\x2b\xc4\x45\xfc\x8f\x5f\x1b\x60\x5c\x8c\x93\x25\x91\xdb\x38\x59\x72\x8f\x8f\xbc\xda\x31\x4e\x9b\x0a\x97\x9d\x55\x03\x2e\x78\x82\x2a\x0e\xba\x9a\x0d\x17\xfd\xb3\x6c\x5f\xad\xb3\xfa\x3e\x99\x96\x06\x4f\xfa\xef\x9e\xb9\x64\xe5\xf3\x42\x83\xd8\xf2\xed\x42\xda\x50\xe3\x55\x10\xb3\x58\x1f\x28\xa5\xdf\x46\x3e\xe6\x43\x8d\xe5\xb3\x81\x0b\xe4\x37\xdf\x43\xb5\xe8\x55\x7e\xa0\x5a\xb7\x8b\x76\xfe\x59\xdc\xc7\x50\x3a\xc9\xdb\x19\x4e\xe7\x2d\xc5\xaa\x83\x91\xf3\x25\x8b\x26\x17\xdf\x16\x97\x42\x62\xe1\x6e\xad\x68\x80\x3b\xf2\x06\x6f\xcf\xfc\x1c\xb0\x69\x85\xe9\x5e\x67\x3e\x35\x2f\x3a\x07\x4b\x2f\x2d\x16\xd7\x51\xb1\x33\x94\xe2\x6b\x3e\xe0\x19\x00\xcd\xd7\x53\xc9\x02\x9a\x0a\x15\x5b\x9d\x91\x1f\xee\xe9\x1c\xe2\xdb\x42\x20\xa3\xa5\x6e\xea\xa8\x2b\xaa\x0d\x53\x6a\xbe\x76\x93\xa4\x6c\x17\x62\xc8\xf2\xd4\x74\xc0\x5e\xff\xb5\x32\xdb\x2d\x6b\x01\xad\xba\x84\x9a\x17\x60\x14\x52\xe6\xb1\xd6\x94\xc4\x66\xa3\x1a\xa0\x69\x29\x94\x42\xb4\xad\xc7\x26\xa4\xcf\x23\x4d\x29\x9c\x6e\xa7\x16\x9d\xbf\x3e\xe9\xfc\x16\x70\x5a\xbe\xaf\x67\xf7\x56\x35\x3a\x01\xcc\xed\x11\x02\x40\x2d\x0b\xda\x3e\x43\x4b\x5b\xe1\x70\x87\xc4\x85\x86\xa6\x45\xa2\x1f\x55\x56\xaf\x45\x60\xec\x14\x1a\xe8\xf4\x32\x01\x9c\x09\x96\x04\x2e\x15\xd6\x9d\x66\x80\xb2\x2c\x4e\x3d\xc1\x5a\x59\x52\xe8\xb1\x76\x08\x4f\x18\xf0\x3c\xfc\xce\xe4\x68\x2a\x34\x90\xe6\x8a\xc8\x77\xd7\xba\x35\xf8\x8f\xb5\x79\x76\xd9\x6e\xab\x14\x16\x00\x15\xd0\x41\x7e\xc4\xc6\xcb\xfd\x3e\xab\x10\x2c\x72\xb9\x76\x83\x64\x3f\xae\xcc\x01\x4b\xf7\xf1\x61\x5b\x97\xec\x9d\x86\x7d\x48\xe8\x72\xa1\x97\xec\x7d\x51\xe8\x1f\xb1\x77\x5f\xdc\xa3\x6d\xf2\x61\x9b\xb7\xb5\x84\x6a\x8a\xef\xa5\x5c\x8b\x97\xc0\xc9\x0d\x4e\x82\x72\x42\x9a\x5b\xa8\xc9\x58\x15\xee\x4a\x88\x45\xc0\x32\x5c\x6c\xd8\x2e\xe6\xa0\xa9\xd5\x1f\x69\x10\x57\xc0\x42\x51\x5c\x0b\xd1\x65\x4a\xad\x1b\x17\x4e\xf5\xab\x78\x2e\xb0\x1a\x57\x0c\x34\x3c\xb8\xb1\x56\x2f\xed\xcd\x19\xdd\x87\x03\x9f\x9e\x5c\x9f\xcf\xb9\xc5\x88\xf0\xac\xb5\x99\x91\x6f\xf2\x63\xe3\xbb\xdc\xe1\x9b\x51\xb1\xd0\xd3\x51\x36\x03\xeb\x2a\x80\xc7\xcc\x8a\x3e\x5e\xf4\x96\x38\x5c\x8d\xd8\x60\x9f\xa9\x1f\x11\x0c\x3b\x54\xf8\x21\x5c\x9c\x9c\x50\xf5\x62\xbf\x63\xe0\x5d\x82\x91\x0e\x05\xa7\x0d\xdc\xe8\x53\xb3\x85\x43\x8e\x03\x70\x39\x0b\x6f\x39\x00\xa7\x80\xe1\x34\xe5\x4f\x3d\x08\xdf\x29\x14\xe6\x26\x4b\x17\x21\x59\xbe\x68\x7e\xff\x6c\x69\xaf\x27\x33\x49\x0b\x57\x59\x7f\xe0\x43\x69\xe0\x3e\x96\x4b\x3d\xf0\x8b\x4d\x52\xa6\xf8\xe2\x86\xd8\x0b\xc2\xcf\xa7\xbe\xad\xbe\x48\x42\xf1\x05\x7a\xf6\x45\x12\xeb\x31\x43\xd2\xbf\x3b\x4a\x00\x5b\xc2\xf7\xf7\x98\xe5\xb3\xd9\x36\xa9\x68\x1b\xfe\xda\x98\xab\x87\xad\xbd\x0d\x55\xe6\xaa\x02\x8a\xac\x16\x17\x3c\x4b\x83\xa7\x3c\x45\x96\xdb\x6c\xc9\xd2\x05\x0a\x4a\x8e\x72\x29\x2d\xa0\xe3\x07\x29\xd8\x9f\xbf\x08\x02\xe4\xba\x35\x1c\xc4\x02\x9a\x78\x79\x61\x6c\x78\x44\x97\x7a\x3a\xe3\xa9\x84\x82\xea\xea\x1e\xe1\x83\x01\x05\x67\x6a\x07\x3c\x3d\xe8\x3c\x01\x35\xb0\xba\x57\x08\x09\x6a\x63\xe7\x04\x91\x7f\x72\x37\x95\xea\xca\x45\x87\x5d\x06\x0d\x34\x75\x77\x28\x2d\x20\xb8\x82\x72\x66\x45\x50\x6e\xc0\xe8\x7c\x2c\xa0\x49\xc0\xe8\x5c\xec\x87\x97\x97\x80\xba\xae\xd1\x19\x60\x40\x41\xd7\xe8\x34\x78\x72\xaa\xe6\x11\xa3\xd3\x99\x21\xa3\xf3\x90\xa0\x36\x90\xd1\x39\xc8\x1f\x67\x74\xde\x62\xcc\x33\x3d\x79\x2c\x6c\x96\x43\x82\x4c\xed\x2d\x2a\x03\x64\x9b\x9c\x3c\xf1\x5d\x34\x39\x9e\x2d\x60\x70\x2e\xce\xd3\x20\x60\x6c\x36\x2e\x6c\x6a\x52\x3f\xc7\xd4\xd4\x39\xb5\xaf\xa6\x6b\x68\x1a\xe8\x29\xe6\x1a\x99\x04\x7e\xc4\xc4\x64\x56\xc8\xc0\x1c\x14\xa0\x05\x64\x5c\x16\xea\xaf\x34\x2d\x7d\x80\x6f\x96\x41\x03\x4d\xed\x1d\x4a\x0b\xe8\xf8\x41\xc4\xf9\xfc\xa2\x89\xc9\x8c\x01\x23\xf3\xb1\x80\x26\x01\x43\x73\xb1\x0b\x0e\x22\xa1\xa7\xeb\x0d\x91\xd1\x05\x90\xba\xae\xb1\x19\x60\x40\x41\xd7\xe0\x34\xf8\x23\x26\xa7\x33\x43\x46\xe7\x21\x41\x6d\x20\xc3\x73\x90\x7f\xa5\xe9\xbd\x22\xd2\x35\xdd\x8b\x5d\x12\x0d\x34\x4b\xe0\x50\x5a\x40\x67\x2b\x5e\x54\x79\xea\xb9\x00\x41\xb9\x01\xd3\xf3\xb1\x80\x26\x01\xd3\x73\xb1\x0b\xfb\x72\xa1\xa7\xbb\x2b\x16\x50\x50\x5d\xd7\xf4\x0c\x30\xa0\xa0\x6b\x7a\x1a\xfc\x91\x55\x9c\xce\x0c\x99\x9e\x87\x04\xb5\x81\x4c\xcf\x41\xfe\x35\xab\x38\xee\x2c\xb5\x4b\x20\x41\xa6\xde\x16\x95\x01\x02\xfd\xbd\x8b\xe3\x1c\xcf\x16\x30\x35\x17\xe7\x69\x10\x30\x33\x1b\xf7\x61\x07\xb8\xa7\xa6\x6b\x62\x1a\xe8\x29\xe6\x9a\x97\x04\x7e\x64\x5c\x93\x59\x21\xd3\x72\x50\x80\x16\x90\x59\x59\xa8\xbf\x74\x3c\xab\x1b\x8a\x9d\xce\x21\x40\x56\x97\x30\xa9\x0c\x90\xe7\x52\x34\x9f\x74\x87\xc7\x31\x96\x2d\x34\x8a\x39\x38\x4f\x83\xd0\x08\x66\xe1\x16\xfd\x8a\xbe\x6b\x11\xee\x01\x9c\xa5\x37\x7a\x29\xa0\xa7\x98\x37\x72\x09\xe0\x87\xc6\x2d\x91\x15\x1c\xb5\x6c\x14\xa0\x05\x38\x62\x99\xa8\x3f\x6f\xbc\x12\xee\x39\xc7\x19\x96\xaf\x87\xb7\xe3\xb5\xe9\xf4\x2b\x39\xdb\xf9\xd9\xfa\x48\x39\xf6\x5a\x44\x5e\xf4\xb7\x3a\xd5\xa9\x4c\xa7\x72\x9d\x2a\x74\xaa\xd4\xa9\x8d\xe6\x24\xf9\x72\x55\x34\x5f\xf1\x8d\xf1\x95\xa9\x4c\xa7\x72\x9d\x2a\x74\xaa\xd4\xa9\x8d\x4c\x85\x7e\x6a\xe1\xfe\x8e\x5e\x4b\xdc\x27\xe3\xb5\x99\xb9\x00\xb3\x48\x81\x16\x3e\xd5\x2b\x1e\x47\xe4\xd7\xad\x15\xf1\x2b\x1e\xfd\xd0\xfe\xc5\x4b\xf3\x86\xab\x39\xce\x2e\xe3\xc6\xc7\x7f\xc5\x62\x33\xbc\x1d\xcd\x3b\x8b\xc6\xe5\x87\x7c\xe3\x05\x57\xa5\x49\x51\x1e\x9d\xab\xa2\xd6\xcb\xbb\x51\xbe\x59\x7c\xd5\x57\x6b\xaf\x3e\x57\x8c\xff\x24\xef\x50\xe8\x17\x7d\xd4\x3b\x2a\x66\x78\xb7\xf3\x98\x4b\xb6\x5e\xdb\xea\x82\xd1\x82\x01\x81\xd1\xa5\xef\x29\x26\x46\x30\x22\x3a\x8d\x7d\x7b\xa3\xf8\x68\xab\x22\x5e\x7f\x56\x79\xa3\x5b\x1b\xeb\x74\xdf\x5a\x11\xc2\x3b\xe8\xad\x81\x39\xa7\x14\xe8\xe6\x98\x09\x10\xe8\x0c\x75\x95\xd7\x5e\x19\x17\x21\xf7\xcd\x2e\x58\x6d\x6d\xde\x3f\x37\x09\x48\x62\x23\x19\x28\x0b\x42\x78\x7b\x83\x8f\xc8\x53\x63\x56\x40\x6a\x08\xed\xee\x01\xde\x3b\x5f\x0d\x6a\x00\x3a\xb7\x7c\xea\xb0\x57\xc2\xa7\x5d\x5a\xe5\xfb\xd4\x4b\xdb\xd1\x7b\x82\x5a\x4c\x28\x14\x45\x3b\x87\x89\xf3\xc3\x92\xc2\x78\xa2\x8b\x84\x02\x93\x38\x95\xd3\x9f\x9d\x39\xea\x91\x48\xe3\x77\x5f\xdd\x90\x01\xd4\x5c\x77\xf1\xaf\xae\x6d\xd7\x3b\x07\x87\xd4\x17\xdb\x38\x4a\xd3\x7d\x1c\xf1\x0b\x01\xeb\x24\x2d\x9f\x61\x7e\xcc\x2c\x21\x70\x5d\xba\x92\xec\xec\xa2\x39\x5d\xff\xcd\x63\x97\x12\x3c\x5d\x74\x07\xf1\x81\x86\x1e\xda\x5c\x4c\x2a\x65\x2a\x8a\xe8\x74\x46\xe9\x3a\xac\x49\x51\xc4\x51\x96\xa6\x71\x94\x8b\x98\xb9\xdc\x55\xc5\xd8\x4a\x41\x60\x43\x1d\x29\xc9\xce\xee\x8c\x1f\xda\xdb\xf0\xd8\xc5\x07\x4f\x1b\xc3\xa7\x00\x81\x0d\x6d\x6c\x7b\x0f\x8c\x8e\x12\x67\xf7\xf8\x9f\xc4\x22\x53\xe0\xf8\x05\x97\x73\xdb\x8f\xf8\xfd\xb1\xde\x08\x6d\x95\x17\x2d\xd8\xe0\xaf\x8f\x82\x93\x8d\x17\xcb\xeb\x4b\xf1\xcf\x8f\xef\xc9\x89\x60\x54\x9d\xc9\xed\x7a\x32\x1e\xc2\x9e\x7f\x6d\xc3\xbe\xa0\x64\xf5\x18\x27\xe8\x7e\xe1\x21\x3b\x43\xc8\x1f\x3e\x39\xd6\x39\xa3\xb6\xb1\x8e\x89\x2d\x1c\x82\xc6\x1c\xfb\xd1\x83\x9d\x3f\xe4\xa4\xf9\xbc\x1c\x58\x3c\xc1\x34\x25\xfd\xb9\x4b\xd3\xa5\x9f\x61\xb0\xd5\x90\x2f\x4d\x85\x0c\x67\x55\xce\x6b\xa7\xf5\xfc\xb3\x7e\x4f\xd1\xdf\xa3\xa7\x90\xfc\xc2\xbf\x5f\x66\x0a\x35\x92\xab\x01\xd1\x7a\x56\xc2\x60\xff\x2f\xd1\x93\x54\xa0\x70\xb2\xcb\x6b\x24\x66\x21\x12\xf1\xd3\x73\xb2\x4a\xe1\xda\x57\x66\xcd\xb0\x0b\x8a\xdf\x93\x01\xbd\x34\x1d\xcf\x39\x05\xec\xd7\x78\x09\x43\x3e\x79\x1a\x98\x0c\x9c\x49\xc7\xe4\xfd\x47\x0d\x78\xce\xe9\x1b\xb0\x81\x43\xb1\xf9\x4d\xdc\x45\x51\xfd\x9d\xad\x5c\x77\xe0\xe4\xe8\xbc\x52\x3f\xff\x6c\x8c\x39\xdb\x3d\x62\xe0\x8e\x6c\x4b\x19\xd5\x4a\x20\x10\x58\xcf\xd8\x06\x1d\x18\x8c\xed\x47\x80\xac\x36\xb6\xeb\x45\x3e\x62\x64\xc3\x7e\x40\x17\x0c\x84\x47\x3c\xa4\xed\xc2\xc6\x72\x56\x33\x51\xaf\xf8\x4f\x40\xd8\x06\x48\x68\x18\x08\x57\x26\x70\x43\x32\xf9\x50\x08\x4e\xdd\x54\xd8\x0b\x7d\x90\xbf\x47\x39\xf1\x4f\xfe\x73\x70\xc6\x6f\x54\xb2\x2c\x15\xee\x2c\xa4\x00\x1d\xef\x73\xe1\x54\xcf\x12\x3f\x03\x98\xd4\xcd\x4b\xdd\x32\x73\x04\x7f\x2f\xa6\x60\x7f\x6c\x50\x70\x6e\x00\x66\xfc\x79\x07\xf0\x37\x80\x24\x18\x13\xff\xb7\x63\x04\x26\xbe\xb5\x32\xd1\xab\x44\xa5\x12\xf3\x2f\x23\x49\x40\x4d\x64\x62\x20\x0a\x24\xde\xf2\x13\xe9\x4b\x4f\xae\x2a\x29\xdf\xa0\xd2\x5f\x5f\x6e\x3a\x8b\xfc\xa9\x24\xa9\x30\x70\x49\x76\x50\x4a\x6b\xe5\x30\xd1\xea\x61\xa2\x15\xc4\xc4\x53\x11\x13\xad\x24\x26\xb3\x9a\x98\x98\x8a\x62\x62\xa8\xca\xbe\x58\xca\x72\xc0\xac\x2e\x26\xb6\xc2\x98\xd8\x2a\x8b\x17\x3d\x07\xd6\x28\x4c\x5d\xf6\xd1\x8b\x8f\x4a\x7c\x18\x2a\xb2\xaf\x35\xe1\x1f\x4c\x35\xf6\x29\xd4\x62\x29\xae\x12\x4f\x28\x75\xc4\x17\xae\x0a\x4b\x2a\x35\x58\xf3\xb7\xfe\xaf\x68\x25\xe2\x3a\x55\x2c\x3f\x23\x5a\x4d\xf0\xbd\x3d\x82\x7f\x5b\xf8\xe9\x43\xb9\x72\xb5\xc3\xf9\xf1\x15\x7e\xf0\x48\xde\x67\xf6\x97\xbd\x81\xb5\xe5\x3d\xe1\x6c\x96\xfb\xb6\xf8\xd5\x45\xde\x0b\xfc\xe7\x2e\x25\x9a\x4d\x01\xde\xaf\xe3\xda\x77\x30\x47\x8a\x08\xb5\x36\xe5\xce\x25\xcd\x16\x8d\xd4\x7d\x82\xdd\xa6\xc0\xdd\x3b\xef\xa6\x25\x62\x97\x34\x01\x3b\x27\x47\x16\x2f\x8e\x45\x96\xaf\x1d\x5e\xb4\x6e\x3a\x9b\x24\x75\x49\x58\x4b\xf9\x6d\xe7\xdc\x3d\xe5\x3f\x4c\x05\xfc\xba\x96\x4d\xc6\x43\xdd\x16\xee\x73\x30\x9d\x47\xca\x1f\x0c\x75\x9f\xb2\xf7\xd6\x07\xf7\xe4\x7a\xa3\x78\xf1\x35\xe6\x64\xec\x2f\x74\xb5\x48\xc6\x37\xee\x1c\x27\xcf\x32\x5c\xe7\x32\x32\xb1\xef\x4e\x9d\x8a\x97\x70\x5e\xbb\x1e\x60\x64\x62\x1f\x71\x2b\x30\x8e\x4b\xaf\x88\xb0\x19\x62\x75\xe9\x89\xb8\x14\x6d\xbe\x77\x2e\xaa\x68\xce\x3c\xbb\x48\x75\xe6\xb1\xee\x5f\x97\x32\x47\x51\xc2\x2d\xde\x9c\xdf\xac\xc5\x50\x14\x25\xa2\xc7\x00\x14\xb2\xe3\x28\x05\x06\xd2\x74\xd4\x54\x58\x02\x6c\x99\x96\xb1\x44\xd1\xac\x21\xa7\x76\x9e\x61\xb3\x88\xef\xff\x1d\x00\x00\xff\xff\x55\x9a\xc9\x27\x80\x7c\x00\x00") +var _uiLibKubeMinCss = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\xcc\x7d\xe9\x92\xe3\x38\x72\xf0\xab\xf0\xab\x89\x8e\x99\x9a\x8f\xa2\xc5\x4b\x67\xec\x86\x1d\xfe\xe3\x1f\x5e\xbf\x40\x47\xff\x80\x44\xa8\xc8\x6d\x8a\xe4\x80\x50\x57\xf5\x30\xf4\xee\x0e\x9c\xc4\x91\x60\x69\xca\x3d\x63\x4f\xed\xb6\xa0\xcc\x44\x66\x02\x48\x5c\x89\x04\x54\xd3\x6b\x3b\x9d\xfa\xb7\xd5\xd8\xfc\xde\x74\x2f\x87\xe8\xd4\x93\x0a\x93\xd5\xa9\x7f\x3b\xde\x7f\x8d\x7f\x3d\x9c\xf0\xa5\x27\x38\xfe\xf5\x80\x2e\x14\x13\x8b\xb4\xe9\x6a\x4c\x1a\x7a\xbc\x37\xd7\x17\x0b\x71\xee\x3b\x8a\x3b\x2a\x99\x4c\x57\x44\x5e\x9a\xee\x10\xad\x8f\x03\xaa\x2a\x4e\xb1\x3e\x0a\x39\x2c\xd5\xdf\x68\xdb\x74\x98\x25\x2f\x7d\x47\x19\x17\x7c\x88\xd2\xf5\xfa\xd3\xf1\x1b\x26\xb4\x39\xa3\x76\x85\xda\xe6\xa5\x3b\x44\x27\x34\x62\x46\x7b\x3c\xa1\xf3\xd7\x17\xd2\xdf\xba\xea\x10\x51\x82\xba\x71\x40\x04\x77\xf4\x78\x47\x07\x74\xa6\xcd\x37\x1c\xa3\x43\xdd\x7f\xc3\x64\x32\xb8\xdf\xd1\xad\x6a\xfa\x43\xd7\xd3\x5f\x3e\x33\x15\x49\xdf\x8e\x5f\x9e\xa7\xaa\x19\x87\x16\x7d\x3f\x44\x5d\xdf\xe1\x63\x8d\x9b\x97\x9a\x72\xf2\x53\xdb\x9f\xbf\xfe\x76\xeb\x29\x8e\x7f\x9b\xf8\xe7\x28\x89\x0c\x54\x34\xa8\x2a\xb2\x60\xbc\xb6\xe2\xdf\x14\xee\x37\x59\x7d\xb2\x66\x0e\xd1\xcf\x3f\x1f\x75\x5a\xb0\xa4\xe8\xd4\xe2\x49\x56\xff\xb9\x6f\x5b\x34\x8c\x98\xd5\xa5\x48\xc9\x0a\x5b\x8d\x03\x3a\xcb\x2a\xbc\x9f\xd1\x40\x9b\xbe\x8b\x69\x1d\xd3\x6a\xa2\xf8\x8d\xaa\x8a\x6a\xf1\x85\x7a\xb5\x47\xfb\xe1\x78\xa7\x35\x46\x55\xc4\x72\x88\x44\x35\xf1\x4a\x7f\x95\xc5\x3e\xf5\x6d\xe5\x57\x7b\x4f\x69\x7f\x3d\xde\x51\xd4\x5c\x5f\x62\x5a\x8b\x8f\x8a\x7d\x4c\xa0\x90\xd3\x8d\xd2\xbe\x8b\x9b\x6e\xb8\xd1\x78\xc4\x2d\x3e\xd3\x98\xa9\x87\x08\x46\x86\x39\xdc\x35\x8c\x35\xd5\xa5\xed\x5f\x0f\x11\xba\xd1\x1e\xd4\x9c\x60\x61\x18\x0a\xa7\xa4\x4c\xaf\x4d\x45\x6b\x99\x71\xe6\xf3\xad\x19\x9b\x53\x8b\x8f\x77\xae\xc4\x67\xfa\x7d\xc0\x7f\x7b\x22\x78\xc4\xf4\xe9\x4b\x6c\xc2\xc6\xdb\xe9\xda\xb8\xc0\x4b\xd3\x62\x07\x44\x50\xd5\xf4\x0e\xec\x5c\xe3\xf3\xd7\x53\xff\xf6\xf4\x45\x95\x52\xea\x74\xbe\x91\xb1\x27\x87\x68\xe8\x9b\x8e\x62\xa2\x74\x55\xc6\x29\xbf\x5d\xfa\xf3\x6d\x9c\x2d\x54\xd8\x01\xe7\x7f\x38\xac\xae\xfd\xef\x2b\x4e\xb0\x6a\xba\x0e\x13\x95\xc7\x43\x4c\x73\x4f\x32\xba\xd7\xfd\x71\xd5\x27\xb3\xd7\xa5\xeb\x4f\xc7\xa1\x1f\x1b\x66\x57\x87\x88\xe0\x16\x31\x85\x8f\xa2\xcd\x56\x44\x18\x49\x3e\xbc\x05\x65\x8d\x18\x91\x73\xfd\xf4\x65\x5a\xbd\xe2\xd3\xd7\x86\xae\xd0\x30\x60\x44\x50\x77\xc6\x87\x88\xb5\xf7\xa5\xc1\x6d\x05\xe7\x39\x1c\x54\x26\x01\x59\x55\xf8\xdc\x13\xc4\x6d\xfc\x21\xfa\x33\x13\xd3\xae\x64\x23\x40\x1a\x88\x3a\xae\xc9\xdc\xeb\x79\xb7\x3d\x86\x86\x2f\x35\x1c\xa4\xc3\x9b\x31\x64\xc9\xbe\x48\xfb\x81\x63\xa2\xb1\x6f\x9b\x2a\x22\x2f\x27\xf4\xcb\x3a\x8e\xe4\xff\x92\xf4\x99\x0f\x8d\xf1\xb7\xa6\xc2\x7d\xcc\x07\x9f\x18\x5f\x4f\xb8\x8a\xfb\xd3\x3f\xf1\x99\x4e\x57\xf4\xb6\x92\xd6\xcb\x87\x3b\x83\xda\xa2\x53\x4a\x70\x13\xbf\x83\x28\x9d\xdf\xeb\x90\xd7\xa6\xaa\x5a\x7c\x5c\x5d\x99\xbd\x50\x4c\x86\xbe\xe5\x35\xba\xba\xf6\x15\x3e\x44\xa7\xe6\x7c\x3b\x35\xe7\xe3\x9d\xcf\x04\x86\x29\x6c\xb2\xa4\xfc\x74\xbc\x9f\xfa\xea\xbb\x00\x5f\xd0\xb5\x69\xbf\x1f\xa2\x9f\xff\x03\xb7\xdf\x30\x93\x11\xfd\x17\xbe\xe1\x9f\xe3\x48\x03\xe2\xe8\xdf\x48\x83\xda\x38\x1a\x51\x37\xae\x46\x4c\x9a\x8b\x35\xa6\x27\x25\xbe\x1e\x99\xb1\xaf\x94\xde\x59\xc1\x2a\xd6\x18\xcd\x7f\xba\xf0\xff\x8e\xe7\xbe\x65\x1d\xe8\xa7\x6c\xcd\xfe\x8e\x77\x34\x69\x48\xb9\x39\x9d\xf7\x6c\xa8\x17\x23\x3c\xef\x10\x7c\x12\x90\x56\x8b\xda\x36\x62\x42\x10\x89\xd6\x49\x36\x1e\x97\x70\x8a\x29\xce\x52\x9c\x9f\x8e\xf7\x84\x36\xb4\xc5\x71\x9d\xc6\x75\x16\xd7\x79\x5c\x17\x71\x5d\xc6\xf5\x06\x18\x25\x55\xd6\x35\xff\xef\xc8\x87\x5f\x82\xbb\x0a\x13\x6e\x45\xfd\x40\x9b\x6b\xf3\x3b\xfe\x4f\xfc\xd2\x9c\x9a\xb6\xa1\xdf\x0d\xee\x72\x10\x5c\x89\x91\xf5\x10\xa5\x9b\xe1\xed\x78\x77\x44\x3a\x34\x3b\x46\xe2\xeb\xa7\xc8\xd8\x90\x7f\x88\x56\xe9\x4c\x65\xb6\x66\x91\xec\x88\x5b\xf7\xa5\x10\x9a\x9a\x74\xb9\x47\x95\x67\x42\x35\x93\x2a\x4b\x8a\x10\x5d\x6e\xd1\x79\x54\xbc\xbd\xef\x75\x61\x0d\x3a\x80\x6e\x92\xae\xb4\xe9\x36\x21\xba\x8d\x4d\x57\xc2\x74\xbc\x89\xb8\x35\x5c\x7a\x72\x3d\x44\xb7\x61\xc0\xe4\x8c\x46\x7c\xbc\x0f\xd1\xff\x8f\xea\x34\xbe\xb5\xe2\xb3\x97\x9f\x95\xfc\x34\xe6\x76\xfe\xbd\x26\xe2\x73\x20\x12\xc0\x67\x6f\x91\x64\xbc\x65\xaa\x79\xb9\x29\x02\x54\x55\x04\x8f\xa3\xcc\xc6\x3e\x32\x29\x2d\x93\xd2\x32\x29\x2d\x73\xa4\x65\x52\x5a\xa6\xa4\x65\xb3\xb4\x4c\x4b\xcb\x0c\x69\x99\x29\x2d\x13\xd2\x72\x29\x2d\x97\xd2\x72\x29\x2d\x77\xa4\xe5\x52\x5a\xae\xa4\xe5\xb3\xb4\x5c\x4b\xcb\x0d\x69\xb9\x29\x2d\x17\xd2\x0a\x29\xad\x90\xd2\x0a\x29\xad\x70\xa4\x15\x52\x5a\xa1\xa4\x15\xb3\xb4\x42\x4b\x2b\x0c\x69\x85\x29\xad\x10\xd2\x4a\x29\xad\x94\xd2\x4a\x29\xad\x74\xa4\x95\x52\x5a\xa9\xa4\x95\xb3\xb4\x52\x4b\x2b\x0d\x69\xa5\x29\xad\x14\xd2\x36\x52\xda\x46\x4a\xdb\x48\x69\x1b\x47\xda\x46\x4a\xdb\x28\x69\x9b\x59\xda\x46\x4b\xdb\x18\xd2\x36\xa6\x34\xdd\xff\xf9\x2c\x23\xec\xfc\xd6\xc6\x7d\xcb\xc4\xf3\x44\x24\xd2\x3d\x4f\xdf\xda\x79\x61\xc5\xff\x44\x0e\x4e\x15\xb5\xcd\xd4\x36\x23\x5d\x8d\xf4\x7b\x8b\x57\x6c\x12\x3d\x44\x6d\xff\x8a\xc9\x0a\xb5\x43\x8d\x14\xd9\x22\x25\xe9\xaf\xa8\x3b\xde\x87\x58\x28\x51\xb5\x46\x71\xe3\x9a\xb0\x42\x8a\xf2\xc5\x7c\x86\x1f\x31\x95\x25\x53\x85\x8a\xfb\x1b\x1d\x6e\x14\x1e\xfa\x92\x16\xa3\xca\xea\xc4\xd9\xfa\x93\xd3\x85\xf9\x00\x38\x0b\x95\xd4\x4c\xd1\x43\xd4\x50\xd4\x36\xe7\xe3\xfb\x0c\xe4\xba\x45\x0e\x97\x62\xfa\x11\xb3\xb9\x80\x84\xa7\xf3\xec\xd9\x5a\xf7\x9f\x1b\x6a\x8d\xb0\xbb\xcd\xa7\xa3\x35\x49\x74\x3d\xb9\xa2\xd6\x51\x61\xcd\xca\x20\x2b\xc4\x2a\x80\xa4\xbe\x57\x6d\x54\x51\x60\xb6\xb9\x57\x95\x3d\xd2\x8b\xf6\xe5\x5a\xc8\x99\xc8\x55\xb8\x7c\x3e\x02\x55\x74\x1f\xaf\xa8\x6d\x5d\xcd\x01\x2d\xc7\xb8\xc2\xad\xd8\x55\xcc\xeb\xb0\x03\x9f\x3d\x57\xb4\x26\xfd\xed\xa5\x3e\xde\xd1\xe9\x44\x3e\xf3\xd9\xe6\x4b\x5c\x5d\x3a\x99\x9c\xf4\x2e\x52\xb6\xf1\xf0\x16\x55\x3d\xa5\xb8\xd2\x13\xba\x5a\x21\xd7\xb8\x1d\x8e\xf7\x91\x92\xbe\x7b\x89\x4f\x50\xc1\xf1\x35\x6e\xa0\xb6\xbe\x8f\xb7\x53\x3c\xde\x06\xb3\x28\xdb\xc2\x29\xca\x7a\x61\x35\x2b\xea\x31\xe1\x93\xd4\x9d\x31\xe2\x3d\x6d\xb5\x16\x93\x1b\x63\x3f\xa9\x02\xac\xd6\x92\xec\xd2\xbc\xc8\x5d\x97\xee\x6e\x09\x9b\x33\xed\xcd\xab\xb6\x05\x47\xe3\xa6\x1b\xe3\x9b\x5f\xa5\x37\xb6\x68\xe0\xfb\xda\xfb\x15\x91\xaf\xd3\xbc\x1e\x5a\xa9\x45\xc6\xe5\x52\x6d\x52\xec\xae\x8a\x3c\x4e\x72\x2b\xd9\x5c\xb1\x5b\x2b\x77\xd6\x3f\xcf\x7d\x85\xe3\xaf\xa7\x2a\x1e\xd1\x75\x88\xbf\x21\xa2\xfa\xa4\x41\xbc\x5f\xdb\xba\x4b\xc3\xb4\x96\x80\xff\xc0\x5d\xdb\xc7\xd1\x3f\xfa\x0e\x9d\xfb\x38\xfa\xf7\xbe\x1b\xfb\x16\x8d\x2c\x75\x23\x0d\x26\x71\x74\xed\xbb\x9e\x6d\x55\x31\x17\xec\xf2\xf7\xa7\xe6\x80\x09\xef\x9f\x8f\xce\xd6\xd0\x5c\x2b\xba\xd4\xeb\xfc\x79\xde\x97\x70\xb6\xaf\x3d\xa9\x56\xaf\x04\x0d\x73\x07\xa3\x55\xc4\x34\x7a\xad\x1b\x8a\xf9\x6e\x1a\x1f\x18\x80\x53\x1d\x2d\x28\x5f\x58\x06\x50\x01\x70\x6f\x20\x66\xd1\x27\x82\xd1\xd7\x15\x03\x88\x06\x16\xed\xc0\xdb\xe0\xeb\xa9\x9a\xb4\xca\xdc\xc6\x22\x61\x7e\x7a\x7f\xd2\x74\xbc\xb6\xc4\x36\xc5\xaa\xb8\x54\x8d\x5c\x6c\x7f\x77\x1b\x0f\x11\x5f\x81\x31\xde\xd3\x62\x2d\x6d\x9f\x79\xa3\x44\x9c\xd2\x75\xb9\xa8\x4d\x0e\xb7\x24\xd3\x5f\x63\x70\xe4\x38\x60\x19\xf6\x0d\x91\x85\xb1\xe8\xce\x0a\x6c\x69\xf6\x53\xb1\x41\xfb\xcb\xd9\x6a\xfc\xac\x2c\xe3\x68\xfe\x67\x9d\xec\x59\x56\x56\x4d\x56\x4e\x35\x8a\x2c\xe5\xdc\x95\xcf\x76\xf3\x74\x3d\x6f\x99\x3b\xe9\x5f\xe7\xfd\x9f\xda\x25\xb2\xdd\xde\x0c\x64\x4d\xef\x40\xc6\xd5\xa5\xc5\x6f\x36\x50\xe6\x65\x88\x19\xca\xbf\x99\x28\x6d\x81\x5c\xbc\xe2\x64\x43\x01\x3a\x93\xc3\x09\x8d\xcd\x28\x9b\x48\x33\x30\x81\x1e\xc0\x99\x66\x45\x0b\xfd\xeb\x15\x57\x0d\x8a\x7e\x31\x76\x9e\xdb\xcd\x6e\x78\x7b\x8e\x26\xd2\xbf\x46\x93\x55\xa2\x55\xd5\x10\x7c\x16\x03\xcb\xb9\x6f\x6f\xd7\x6e\x16\xed\xa3\x02\xe0\x3b\xab\x6d\xf9\x05\xf6\x04\xda\xbe\x05\xa1\xe7\x9c\xe7\xd0\xa2\x91\xae\xce\x75\xd3\xea\xf9\x8f\x68\x0f\x1d\xe9\x5f\x3f\xe3\xae\xfa\xe2\xae\x29\x24\x6a\x1c\xda\x86\x7e\xb1\x85\x3b\xb9\xcf\x98\xed\x89\x71\x35\xfb\x2b\xfe\x79\x1b\x69\x73\xf9\xbe\xd2\xee\x39\x41\x32\x17\x7d\x40\xe7\xaf\x1a\x1a\xa2\xe6\xcc\x11\xb7\xd6\x05\xd6\xdc\x2e\x57\x82\xcc\x15\x50\x35\x23\x25\xcd\xe9\x46\xb1\x2f\xc4\xca\xc7\x45\x9d\x30\x7d\xc5\xb8\x7b\x57\x96\xa4\x73\x85\x49\xea\x90\x24\x95\xeb\x2e\xaa\xf2\xf3\xb9\x6f\xc7\xbf\x3d\xa5\x4f\x5f\x94\xf3\x6d\x97\xe4\xf2\xbf\x4f\x0e\x51\x36\x13\xa5\x9b\x64\x23\xfe\xdb\xba\x54\xf9\x4c\x95\x95\x2e\xb2\x98\x91\x79\x1e\x14\x54\xce\x54\x45\x1a\x14\xb4\x99\xa9\xca\xb5\x8b\xdc\x1a\xc8\x70\x89\x76\x33\xd5\x26\x5c\xa2\xfd\x4c\xb5\xf5\x4a\x94\xae\x8d\xaa\x0b\x17\x29\x35\x6a\x78\x1f\x2e\x53\x6a\xd6\xf1\xda\x28\x55\x7f\xb9\x8c\x98\x8a\x86\xb2\xd6\x3c\x67\xd4\x9e\x7f\xd9\x27\xa5\x92\xfb\xec\x65\xc9\xc0\x2c\xe9\x36\xd9\x29\x25\xfc\x3c\x39\x98\x27\xdb\x24\x19\x40\x5c\x80\xc4\x79\xb1\xa4\x54\x09\xe6\x29\xb2\x25\xa5\x36\x60\x9e\x32\x05\x95\xda\xc2\xc4\x8b\x35\xb5\x03\xf3\x6c\x16\x6b\x6a\x0f\xe6\xd9\xc2\x35\xc5\x8d\xc5\xa7\xde\x2d\x56\x55\x1a\x68\x73\xbb\xae\x12\x6e\x35\xab\x14\xec\xc6\x12\x99\xc1\xdd\x57\x62\x73\xab\xdb\x4a\x60\x01\x77\x57\x89\x2d\xe1\x6e\x2a\xb1\x1b\xab\x7b\x4a\xe0\x16\xee\x96\x12\xbb\x83\xbb\xa3\xc4\xee\xad\x6e\xa8\x4a\xbc\x86\xbb\x9f\x42\xa7\x70\xb7\x53\xe8\xcc\xee\x6e\xef\xce\xaa\xfe\xf4\x14\x45\x0c\x23\x9b\xcb\x69\x29\x8d\x36\x7a\xf9\x17\x6f\xfa\x32\x35\x00\xe7\x7a\xc1\x63\x71\x26\xb5\x14\x52\x85\x8b\x75\x32\x9b\x93\xf9\x9c\x2c\xe6\x64\x39\x27\x37\x73\x72\x3b\x27\x77\x73\x72\x3f\x27\xd3\xb5\x91\x36\xe4\xb9\xf5\x2a\xb6\xdb\xe3\xff\xc6\x5a\x0d\x5a\xa9\xb9\xeb\x34\xfe\xdd\xf6\xbe\x66\x49\x9a\x6d\x37\xe5\xbe\x64\xd6\x22\xb4\x8f\xfe\x1e\x55\xcd\x37\x67\xef\x6e\x90\x81\x6d\x27\xb2\xce\x53\xa8\x64\xa2\x3a\xce\x36\xd9\x6d\xb3\xbc\x58\x17\xf9\x27\x87\x36\x77\x69\xf3\x34\x49\x03\xb4\x85\x4b\x9b\x65\x41\xbe\xa5\x4b\x9b\x86\x75\xd8\x78\xb4\x45\x52\xcc\xb4\x0b\xbd\x45\xd6\xd8\x14\x39\xa7\x33\x7e\xf7\x80\x2b\x28\x76\x10\x79\x08\x51\x84\x10\x65\x08\xe1\x17\xca\xe8\x78\x5a\x31\x79\x8a\xeb\x1e\xec\x98\x69\x7c\x1d\xe8\xf7\xd5\x19\xb7\xed\x78\x88\xc6\xba\x7f\x95\x47\xbf\x91\xf2\x2b\x84\xbd\xd4\xc6\xa2\xd9\x38\x7c\xb0\x9c\x5e\xe9\xf0\x76\x04\x7c\x28\x42\x02\xad\xa5\x07\x92\x5a\xae\xb6\x7d\xa1\xb6\x7d\x96\xc3\x06\xf6\x82\xad\x0b\x63\x8f\xcd\x7d\x77\xca\xa3\xa6\xf3\x96\xcc\x82\x95\xc4\xc3\xa5\x21\x6a\xd8\xd1\xd2\x4d\xe0\x64\x7b\xe4\xd6\x46\xd6\x79\xc0\x9a\x73\x1a\x83\x98\xca\x38\xaf\xe8\x25\xd5\xa5\xef\xa9\x51\x58\xf1\xb5\x5a\xda\x9a\x72\xca\x84\xff\xbb\x12\x55\x81\x2b\xcb\xff\x2a\xce\x55\x20\xb2\x88\x4a\xed\x3c\x78\xad\x8f\x66\x17\xaa\x33\x0f\x48\xd7\xe6\x60\x57\x8f\xf0\x96\x06\xf4\xf0\xeb\x5a\xd2\xb0\x9d\xc4\x30\x2c\xd3\x18\x7a\x3f\xc0\xa7\x5e\x68\xc2\x65\x1d\xdd\x46\x05\x54\x0c\x90\x98\x1a\xbe\xcb\xa5\x5e\xb0\x14\x5f\xc1\xb1\xb9\x0e\xdc\xbe\x62\x08\x5a\x43\x50\xd5\x3e\x90\xc3\xc4\xb1\xe5\xc7\x84\x4c\x5e\x47\xf2\xd4\xbc\xb4\x88\xba\xf9\x05\xac\xf6\x61\x4b\x0a\xfa\xba\x51\xd2\x7f\xf5\x8d\x59\x83\x6b\xc8\xa5\xfb\xa0\x49\xcf\x8d\x72\xea\xab\xef\x11\x25\x87\x8e\xd6\xa2\x65\x7e\xe9\xab\xea\x99\xf5\x4d\xfb\x08\x78\xc7\xfe\x16\x67\x0a\x93\x3f\xc1\xe3\xd0\x77\x63\xf3\x0d\x47\x53\x34\x1f\xd2\xdf\xa3\x28\x40\xc5\x43\x5f\x9c\xb8\x9f\x05\x6a\x20\x58\xc0\xaa\x8a\x6c\x31\x02\x20\xcc\xb7\x8a\x17\x70\xa6\x85\x2f\x91\x99\xdd\xd0\x51\xd3\x0c\x08\xe2\x96\x6f\x0c\xdc\x6b\xb1\x42\x84\xf9\xda\xd6\x36\x99\x36\xf3\x4e\x96\x40\x47\x7f\xac\x9c\xae\x89\x2d\x36\x61\x25\x43\xab\xe6\x90\x2a\x44\x29\xf9\xa5\x42\x14\xad\x5a\x74\xc2\xed\xf3\xf1\xd2\xf6\x88\xca\x58\xa8\xf0\xa4\xba\x74\x84\xc3\x27\x4f\xdb\xd1\x79\xbc\xdf\x19\x07\x77\x05\x2d\x96\x6d\x22\x08\xe8\xf3\xf5\xd6\xd2\x66\x68\xf1\xdf\x9e\x54\xea\xe9\xcb\x1c\xff\x64\x47\x7c\x18\x61\x2d\xf8\x8a\x9a\xd6\x09\xd3\xe9\x6e\xd7\x13\x26\x6e\xc8\x92\x8c\x7f\xb1\x80\x8c\xbf\x07\x72\xd9\xdd\x88\x0b\x19\xd0\x38\xbe\xf6\xa4\x32\x34\x94\xb1\x4c\x3f\x2e\xea\x83\x3b\xb4\x67\x2b\x4a\xf6\x04\x5f\xa3\xd4\x3b\xa3\x4f\x75\xb4\x4d\xc1\xcc\xd3\x8e\x8b\x82\x62\x44\xfc\xe9\xf5\xa7\xea\xc2\xfe\x20\xc7\xb8\xb7\xe5\x09\x2c\x07\x76\x6c\x3d\x00\x34\xcb\xe7\xaa\x19\x99\x15\x56\x70\x03\x05\xd0\xaa\xa9\x02\x68\xd1\x68\x41\x64\x58\x2c\x6f\xc8\x00\x6e\x6e\x52\x83\x40\x35\xae\x01\x92\xd6\xaa\x01\x93\x0a\xb1\xe3\x15\xde\x0f\xe8\xdc\xd0\xef\xac\xbd\xca\x52\x1f\xd7\x55\xf8\x82\x6e\x2d\xfd\x3f\x65\xb8\x0b\x81\x5e\x4e\x87\x34\x7a\xa1\x15\x53\x65\x9b\x61\x52\x1a\x91\x89\xa6\x21\x8b\x85\xad\xc4\x88\xe8\x3d\x59\x89\xf2\x8b\x88\xdd\x83\xc2\xfa\x1e\x34\xdf\x8c\xff\x77\xbc\xab\x23\xf4\x79\xec\xcd\x19\x55\x0e\x18\xb2\x71\x84\xfd\x4e\x30\x1a\x74\x5a\xa4\x04\x45\xbf\x2e\xb9\x07\xa2\xff\xd7\x5c\x87\x9e\x50\xd4\xd1\xe3\xbd\xc5\x2f\xb8\x73\xc2\x46\xcb\xb5\x77\xfe\xf9\xc8\x36\x26\x4a\xf1\xd5\xd9\x41\x33\x88\x88\x78\x60\x5b\x0b\xff\xec\xd6\x39\xdd\xbd\x27\x8c\xfb\x18\x8d\xe2\xd8\xc1\x9d\x02\x1d\x74\x2c\xbf\x0e\xf0\xf0\x2d\xb1\x7a\x1c\xd4\x99\x79\x68\xa7\xfc\x06\x19\x3e\x80\xd2\xf6\x0f\xe0\x74\x37\x00\x70\xb2\x37\x80\x98\x80\x28\xd1\x37\x00\x84\xd1\x45\xcc\x49\x27\x50\x47\x7c\xd6\x74\xf7\x85\x4b\xb4\x89\x8a\x21\xf5\xb6\xac\xdc\xe4\xa1\x60\x08\x37\x2e\x56\x8e\xc1\x2a\x92\xdc\x10\xae\x83\xcb\xa5\xc4\x84\x8b\x64\x9b\x31\xbd\x4e\x36\x02\x63\x14\x91\xd2\x68\xd5\x36\x23\x0d\x19\x83\x4d\xe5\x97\x5b\x89\x76\x94\x83\x4f\x64\xbd\x69\xc5\xf6\xd3\xf1\x35\xfc\xc3\xd5\x03\x6b\xb8\x52\x21\x9d\x33\x1c\x8e\x0d\x7c\x30\xf3\xb2\x23\xd0\xb4\x23\xed\x12\x74\x7a\x86\x0b\x17\x3d\x64\xd9\x9b\xec\xb3\xcd\x02\x6c\x33\x90\x6d\xc8\x0f\xed\xf3\xcd\x03\x7c\x73\x90\xaf\xe3\xc1\xf6\xd9\x15\x01\x76\x05\xc8\x2e\xe4\xfb\xf6\xf9\x96\x01\xbe\x25\xc8\x37\xe4\x35\xf7\xf9\x6e\x02\x7c\x37\x20\x5f\xc7\xdf\xee\xb3\xdb\x06\xd8\x6d\x41\x76\x21\x4f\xbd\xcf\x77\x17\xe0\xbb\x03\xf9\x86\x7c\xfc\x3e\xdf\x7d\x80\xef\x1e\xe4\xeb\x9c\x0e\x00\xb6\xbf\x0e\x19\xff\x1a\xb6\xfe\xd0\xc9\x02\xc0\x3a\xd8\xaf\x02\x1d\x2b\x74\x2a\x01\xb0\x0e\xf5\xad\x14\xee\x5c\xae\xe7\x5d\xd0\xf0\x7f\x57\x62\xb8\xf3\x66\xc5\x25\xa4\x85\xb3\xa7\xcf\x30\xca\xc2\x2c\xcc\xb2\x0f\xd2\x05\xc9\xdc\x99\xf9\x51\xc2\x20\x9d\x3b\x9d\x3f\x4a\x18\xa4\xb3\xd7\x00\x8f\x91\x2d\x50\x3d\x52\x77\x26\x55\x90\xc8\x5a\x68\x3c\x44\x15\x24\x32\xb6\x9d\xef\xf1\xf3\x48\x2d\xca\x84\xf6\x7d\xcb\x76\x9d\x41\x23\xb3\x28\xac\xdb\x42\xf0\x8c\xbe\xe4\x76\xf2\x16\x23\xd1\x14\x59\xcb\x11\x71\x92\x06\x4d\xa1\x1a\xec\x4d\xa2\x1a\x63\x77\xc9\x18\x64\x94\x05\x19\x65\x01\x46\x19\xcc\x28\x0f\x32\xca\x03\x8c\x72\x98\x51\x11\x64\x54\x04\x18\x15\x30\xa3\x32\xc8\xa8\x0c\x30\x2a\x61\x46\x9b\x20\xa3\x4d\x80\xd1\x06\x66\xb4\x0d\x32\xda\x06\x18\x6d\x61\x46\xbb\x20\xa3\x5d\x80\xd1\x0e\x66\xb4\x0f\x32\xda\x07\x18\xed\x61\x46\xe2\x0c\x36\x34\xb3\x05\x4c\x72\x1d\xe0\xb5\x60\xdd\x41\xf3\x0e\xd8\x77\x1a\x36\xf0\x34\x64\xe1\xde\xb9\x71\x52\xe1\xf1\x0c\xef\x4a\xcc\x43\x9d\x85\xc0\x53\x1d\x3b\x2d\x63\xc9\x87\x37\x20\x44\x1a\x5c\xc2\xdf\x5a\x21\x1d\x5a\xa1\x8f\x03\xea\x2c\xac\xd8\xf4\x16\x20\xf7\x7b\x82\x09\xe9\x49\x9c\x8c\xb7\xf3\x19\x8f\xe3\xe3\xbb\x2c\x57\xf3\xc0\x38\xc7\xb5\x11\x32\x78\x52\xc9\xb1\xc3\xa3\x45\x30\xb4\x68\x22\xfe\xef\x4a\x64\xd1\x8d\x63\x02\x65\xb3\x98\x20\xf3\x8b\x7f\xa4\xe6\x85\x95\xfa\xb1\xcf\x22\xb8\x73\xbd\x8f\xa3\x74\x1b\x47\xdb\xdc\xf2\x66\xd8\xce\xbf\x34\x4d\x8b\xbd\xad\xac\x2c\x94\xab\xae\x02\x5b\x0a\x2b\xa0\xfd\xf5\xe3\x4a\xb3\xfe\x92\xe6\x65\x1c\xed\x8a\xb0\xd2\x6b\xb4\xdb\x96\x85\xad\xf4\xa9\x79\x01\x2e\x48\xcd\xde\x7b\x7e\xc1\x29\x4a\x45\x4c\xba\x7d\x9d\x4b\x16\x48\x7c\x04\x18\x59\x39\x34\xd7\xcd\xf0\x26\xcf\x05\xac\xfa\x73\x6f\x0b\x48\xa9\x86\x3b\x77\xab\xdd\xb9\xf6\x5d\x30\x5b\x95\x10\x23\x2b\x0f\xa0\x8c\xd4\x03\x0d\x03\xee\x2a\xd5\x34\x03\xc1\xec\xeb\x9f\x1e\x19\x02\xbb\x89\x4c\x8d\xc4\xe0\xe5\xe8\x25\x80\x13\x63\x71\x88\x52\xcf\x47\x60\xb9\xd3\x6c\x6e\xac\x23\xba\xcc\x18\x6c\xb2\x62\x54\xc6\x9a\x34\xdd\x57\xb6\xda\x70\x5c\x1c\xd0\x68\x00\xdc\x26\xc0\x17\xf6\x77\x84\xc2\x71\x45\x43\x06\x46\xc5\xcd\xb3\xeb\xe5\xb3\x86\x2d\xee\xb6\x07\x23\xae\xfd\x42\x4e\x80\x6f\xef\xf7\x55\xd3\x55\xa2\xca\xac\x3b\x39\xa2\x8f\xd9\xde\xcb\x35\x3f\x76\x63\xff\x5f\x83\x2d\x32\xf9\xde\x4e\x71\x2d\xca\x68\x41\xab\x82\x15\xbd\xaa\x3b\x5f\xe4\x12\x0b\x50\xa6\xad\xe3\x89\x76\x52\xc3\x3f\xdd\x6c\x4d\x61\x91\xbc\x8c\x6f\x82\x58\x5a\x5b\x27\x27\x56\x17\xd7\xe1\xa9\x02\xba\x8f\xff\x63\x4f\x87\x20\xc3\x85\x2c\xc9\x30\x54\x3e\x60\x58\xa6\xe7\x1b\xa3\x79\x04\x2a\x23\xb3\xe1\x3b\x33\xc1\x23\x04\xdb\x8d\x3f\xf7\x18\xeb\x54\x1d\xf0\xac\xf3\x0b\xe5\x35\xaa\xfa\x57\x49\x13\x70\x7d\xaa\xeb\xc3\xd6\x01\x01\x2e\xd9\x9f\x68\x19\x71\xcb\x59\x5d\xff\x17\x57\x9e\xa1\x2e\x5d\xb1\xbf\x85\x8e\x1b\xb8\x2b\xc4\x45\xfc\x8f\x5f\x1b\x60\x5c\x8c\x93\x25\x91\xdb\x38\x59\x72\x8f\x8f\xbc\xda\x31\x4e\x9b\x0a\x97\x9d\x55\x03\x2e\x78\x82\x2a\x0e\xba\x9a\x0d\x17\xfd\xb3\x6c\x5f\xad\xb3\xfa\x3e\x99\x96\x06\x4f\xfa\xef\x9e\xb9\x64\xe5\xf3\x42\x83\xd8\xf2\xed\x42\xda\x50\xe3\x55\x10\xb3\x58\x1f\x28\xa5\xdf\x46\x3e\xe6\x43\x8d\xe5\xb3\x81\x0b\xe4\x37\xdf\x43\xb5\xe8\x55\x7e\xa0\x5a\xb7\x8b\x76\xfe\x59\xdc\xc7\x50\x3a\xc9\xdb\x19\x4e\xe7\x2d\xc5\xaa\x83\x91\xf3\x25\x8b\x26\x17\xdf\x16\x97\x42\x62\xe1\x6e\xad\x68\x80\x3b\xf2\x06\x6f\xcf\xfc\x1c\xb0\x69\x85\xe9\x5e\x67\x3e\x35\x2f\x3a\x07\x4b\x2f\x2d\x16\xd7\x51\xb1\x33\x94\xe2\x6b\x3e\xe0\x19\x00\xcd\xd7\x53\xc9\x02\x9a\x0a\x15\x5b\x9d\x91\x1f\xee\xe9\x1c\xe2\xdb\x42\x20\xa3\xa5\x6e\xea\xa8\x2b\xaa\x0d\x53\x6a\xbe\x76\x93\xa4\x6c\x17\x62\xc8\xf2\xd4\x74\xc0\x5e\xff\xb5\x32\xdb\x2d\x6b\x01\xad\xba\x84\x9a\x17\x60\x14\x52\xe6\xb1\xd6\x94\xc4\x66\xa3\x1a\xa0\x69\x29\x94\x42\xb4\xad\xc7\x26\xa4\xcf\x23\x4d\x29\x9c\x6e\xa7\x16\x9d\xbf\x3e\xe9\xfc\x16\x70\x5a\xbe\xaf\x67\xf7\x56\x35\x3a\x01\xcc\xed\x11\x02\x40\x2d\x0b\xda\x3e\x43\x4b\x5b\xe1\x70\x87\xc4\x85\x86\xa6\x45\xa2\x1f\x55\x56\xaf\x45\x60\xec\x14\x1a\xe8\xf4\x32\x01\x9c\x09\x96\x04\x2e\x15\xd6\x9d\x66\x80\xb2\x2c\x4e\x3d\xc1\x5a\x59\x52\xe8\xb1\x76\x08\x4f\x18\xf0\x3c\xfc\xce\xe4\x68\x2a\x34\x90\xe6\x8a\xc8\x77\xd7\xba\x35\xf8\x8f\xb5\x79\x76\xd9\x6e\xab\x14\x16\x00\x15\xd0\x41\x7e\xc4\xc6\xcb\xfd\x3e\xab\x10\x2c\x72\xb9\x76\x83\x64\x3f\xae\xcc\x01\x4b\xf7\xf1\x61\x5b\x97\xec\x9d\x86\x7d\x48\xe8\x72\xa1\x97\xec\x7d\x51\xe8\x1f\xb1\x77\x5f\xdc\xa3\x6d\xf2\x61\x9b\xb7\xb5\x84\x6a\x8a\xef\xa5\x5c\x8b\x97\xc0\xc9\x0d\x4e\x82\x72\x42\x9a\x5b\xa8\xc9\x58\x15\xee\x4a\x88\x45\xc0\x32\x5c\x6c\xd8\x2e\xe6\xa0\xa9\xd5\x1f\x69\x10\x57\xc0\x42\x51\x5c\x0b\xd1\x65\x4a\xad\x1b\x17\x4e\xf5\xab\x78\x2e\xb0\x1a\x57\x0c\x34\x3c\xb8\xb1\x56\x2f\xed\xcd\x19\xdd\x87\x03\x9f\x9e\x5c\x9f\xcf\xb9\xc5\x88\xf0\xac\xb5\x99\x91\x6f\xf2\x63\xe3\xbb\xdc\xe1\x9b\x51\xb1\xd0\xd3\x51\x36\x03\xeb\x2a\x80\xc7\xcc\x8a\x3e\x5e\xf4\x96\x38\x5c\x8d\xd8\x60\x9f\xa9\x1f\x11\x0c\x3b\x54\xf8\x21\x5c\x9c\x9c\x50\xf5\x62\xbf\x63\xe0\x5d\x82\x91\x0e\x05\xa7\x0d\xdc\xe8\x53\xb3\x85\x43\x8e\x03\x70\x39\x0b\x6f\x39\x00\xa7\x80\xe1\x34\xe5\x4f\x3d\x08\xdf\x29\x14\xe6\x26\x4b\x17\x21\x59\xbe\x68\x7e\xff\x6c\x69\xaf\x27\x33\x49\x0b\x57\x59\x7f\xe0\x43\x69\xe0\x3e\x96\x4b\x3d\xf0\x8b\x4d\x52\xa6\xf8\xe2\x86\xd8\x0b\xc2\xcf\xa7\xbe\xad\xbe\x48\x42\xf1\x05\x7a\xf6\x45\x12\xeb\x31\x43\xd2\xbf\x3b\x4a\x00\x5b\xc2\xf7\xf7\x98\xe5\xb3\xd9\x36\xa9\x68\x1b\xfe\xda\x98\xab\x87\xad\xbd\x0d\x55\xe6\xaa\x02\x8a\xac\x16\x17\x3c\x4b\x83\xa7\x3c\x45\x96\xdb\x6c\xc9\xd2\x05\x0a\x4a\x8e\x72\x29\x2d\xa0\xe3\x07\x29\xd8\x9f\xbf\x08\x02\xe4\xba\x35\x1c\xc4\x02\x9a\x78\x79\x61\x6c\x78\x44\x97\x7a\x3a\xe3\xa9\x84\x82\xea\xea\x1e\xe1\x83\x01\x05\x67\x6a\x07\x3c\x3d\xe8\x3c\x01\x35\xb0\xba\x57\x08\x09\x6a\x63\xe7\x04\x91\x7f\x72\x37\x95\xea\xca\x45\x87\x5d\x06\x0d\x34\x75\x77\x28\x2d\x20\xb8\x82\x72\x66\x45\x50\x6e\xc0\xe8\x7c\x2c\xa0\x49\xc0\xe8\x5c\xec\x87\x97\x97\x80\xba\xae\xd1\x19\x60\x40\x41\xd7\xe8\x34\x78\x72\xaa\xe6\x11\xa3\xd3\x99\x21\xa3\xf3\x90\xa0\x36\x90\xd1\x39\xc8\x1f\x67\x74\xde\x62\xcc\x33\x3d\x79\x2c\x6c\x96\x43\x82\x4c\xed\x2d\x2a\x03\x64\x9b\x9c\x3c\xf1\x5d\x34\x39\x9e\x2d\x60\x70\x2e\xce\xd3\x20\x60\x6c\x36\x2e\x6c\x6a\x52\x3f\xc7\xd4\xd4\x39\xb5\xaf\xa6\x6b\x68\x1a\xe8\x29\xe6\x1a\x99\x04\x7e\xc4\xc4\x64\x56\xc8\xc0\x1c\x14\xa0\x05\x64\x5c\x16\xea\xaf\x34\x2d\x7d\x80\x6f\x96\x41\x03\x4d\xed\x1d\x4a\x0b\xe8\xf8\x41\xc4\xf9\xfc\xa2\x89\xc9\x8c\x01\x23\xf3\xb1\x80\x26\x01\x43\x73\xb1\x0b\x0e\x22\xa1\xa7\xeb\x0d\x91\xd1\x05\x90\xba\xae\xb1\x19\x60\x40\x41\xd7\xe0\x34\xf8\x23\x26\xa7\x33\x43\x46\xe7\x21\x41\x6d\x20\xc3\x73\x90\x7f\xa5\xe9\xbd\x22\xd2\x35\xdd\x8b\x5d\x12\x0d\x34\x4b\xe0\x50\x5a\x40\x67\x2b\x5e\x54\x79\xea\xb9\x00\x41\xb9\x01\xd3\xf3\xb1\x80\x26\x01\xd3\x73\xb1\x0b\xfb\x72\xa1\xa7\xbb\x2b\x16\x50\x50\x5d\xd7\xf4\x0c\x30\xa0\xa0\x6b\x7a\x1a\xfc\x91\x55\x9c\xce\x0c\x99\x9e\x87\x04\xb5\x81\x4c\xcf\x41\xfe\x35\xab\x38\xee\x2c\xb5\x4b\x20\x41\xa6\xde\x16\x95\x01\x02\xfd\xbd\x8b\xe3\x1c\xcf\x16\x30\x35\x17\xe7\x69\x10\x30\x33\x1b\xf7\x61\x07\xb8\xa7\xa6\x6b\x62\x1a\xe8\x29\xe6\x9a\x97\x04\x7e\x64\x5c\x93\x59\x21\xd3\x72\x50\x80\x16\x90\x59\x59\xa8\xbf\x74\x3c\xab\x1b\x8a\x9d\xce\x21\x40\x56\x97\x30\xa9\x0c\x90\xe7\x52\x34\x9f\x74\x87\xc7\x31\x96\x2d\x34\x8a\x39\x38\x4f\x83\xd0\x08\x66\xe1\x16\xfd\x8a\xbe\x6b\x11\xee\x01\x9c\xa5\x37\x7a\x29\xa0\xa7\x98\x37\x72\x09\xe0\x87\xc6\x2d\x91\x15\x1c\xb5\x6c\x14\xa0\x05\x38\x62\x99\xa8\x3f\x6f\xbc\x12\xee\x39\xc7\x19\x96\xaf\x87\xb7\xe3\xb5\xe9\xf4\x2b\x39\xdb\xf9\xd9\xfa\x48\x39\xf6\x5a\x44\x5e\xf4\xb7\x3a\xd5\xa9\x4c\xa7\x72\x9d\x2a\x74\xaa\xd4\xa9\x8d\xe6\x24\xf9\x72\x55\x34\x5f\xf1\x8d\xf1\x95\xa9\x4c\xa7\x72\x9d\x2a\x74\xaa\xd4\xa9\x8d\x4c\x85\x7e\x6a\xe1\xfe\x8e\x5e\x4b\xdc\x27\xe3\xb5\x99\xb9\x00\xb3\x48\x81\x16\x3e\xd5\x2b\x1e\x47\xe4\xd7\xad\x15\xf1\x2b\x1e\xfd\xd0\xfe\xc5\x4b\xf3\x86\xab\x39\xce\x2e\xe3\xc6\xc7\x7f\xc5\x62\x33\xbc\x1d\xcd\x3b\x8b\xc6\xe5\x87\x7c\xe3\x05\x57\xa5\x49\x51\x1e\x9d\xab\xa2\xd6\xcb\xbb\x51\xbe\x59\x7c\xd5\x57\x6b\xaf\x3e\x57\x8c\xff\x24\xef\x50\xe8\x17\x7d\xd4\x3b\x2a\x66\x78\xb7\xf3\x98\x4b\xb6\x5e\xdb\xea\x82\xd1\x82\x01\x81\xd1\xa5\xef\x29\x26\x46\x30\x22\x3a\x8d\x7d\x7b\xa3\xf8\x68\xab\x22\x5e\x7f\x56\x79\xa3\x5b\x1b\xeb\x74\xdf\x5a\x11\xc2\x3b\xe8\xad\x81\x39\xa7\x14\xe8\xe6\x98\x09\x10\xe8\x0c\x75\x95\xd7\x5e\x19\x17\x21\xf7\xcd\x2e\x58\x6d\x6d\xde\x3f\x37\x09\x48\x62\x23\x19\x28\x0b\x42\x78\x7b\x83\x8f\xc8\x53\x63\x56\x40\x6a\x08\xed\xee\x01\xde\x3b\x5f\x0d\x6a\x00\x3a\xb7\x7c\xea\xb0\x57\xc2\xa7\x5d\x5a\xe5\xfb\xd4\x4b\xdb\xd1\x7b\x82\x5a\x4c\x28\x14\x45\x3b\x87\x89\xf3\xc3\x92\xc2\x78\xa2\x8b\x84\x02\x93\x38\x95\xd3\x9f\x9d\x39\xea\x91\x48\xe3\x77\x5f\xdd\x90\x01\xd4\x5c\x77\xf1\xaf\xae\x6d\xd7\x3b\x07\x87\xd4\x17\xdb\x38\x4a\xd3\x7d\x1c\xf1\x0b\x01\xeb\x24\x2d\x9f\x61\x7e\xcc\x2c\x21\x70\x5d\xba\x92\xec\xec\xa2\x39\x5d\xff\xcd\x63\x97\x12\x3c\x5d\x74\x07\xf1\x81\x86\x1e\xda\x5c\x4c\x2a\x65\x2a\x8a\xe8\x74\x46\xe9\x3a\xac\x49\x51\xc4\x51\x96\xa6\x71\x94\x8b\x98\xb9\xdc\x55\xc5\xd8\x4a\x41\x60\x43\x1d\x29\xc9\xce\xee\x8c\x1f\xda\xdb\xf0\xd8\xc5\x07\x4f\x1b\xc3\xa7\x00\x81\x0d\x6d\x6c\x7b\x0f\x8c\x8e\x12\x67\xf7\xf8\x9f\xc4\x22\x53\xe0\xf8\x05\x97\x73\xdb\x8f\xf8\xfd\xb1\xde\x08\x6d\x95\x17\x2d\xd8\xe0\xaf\x8f\x82\x93\x8d\x17\xcb\xeb\x4b\xf1\xcf\x8f\xef\xc9\x89\x60\x54\x9d\xc9\xed\x7a\x32\x1e\xc2\x9e\x7f\x6d\xc3\xbe\xa0\x64\xf5\x18\x27\xe8\x7e\xe1\x21\x3b\x43\xc8\x1f\x3e\x39\xd6\x39\xa3\xb6\xb1\x8e\x89\x2d\x1c\x82\xc6\x1c\xfb\xd1\x83\x9d\x3f\xe4\xa4\xf9\xbc\x1c\x58\x3c\xc1\x34\x25\xfd\xb9\x4b\xd3\xa5\x9f\x61\xb0\xd5\x90\x2f\x4d\x85\x0c\x67\x55\xce\x6b\xa7\xf5\xfc\xb3\x7e\x4f\xd1\xdf\xa3\xa7\x90\xfc\xc2\xbf\x5f\x66\x0a\x35\x92\xab\x01\xd1\x7a\x56\xc2\x60\xff\x2f\xd1\x93\x54\xa0\x70\xb2\xcb\x6b\x24\x66\x21\x12\xf1\xd3\x73\xb2\x4a\xe1\xda\x57\x66\xcd\xb0\x0b\x8a\xdf\x93\x01\xbd\x34\x1d\xcf\x39\x05\xec\xd7\x78\x09\x43\x3e\x79\x1a\x98\x0c\x9c\x49\xc7\xe4\xfd\x47\x0d\x78\xce\xe9\x1b\xb0\x81\x43\xb1\xf9\x4d\xdc\x45\x51\xfd\x9d\xad\x5c\x77\xe0\xe4\xe8\xbc\x52\x3f\xff\x6c\x8c\x39\xdb\x3d\x62\xe0\x8e\x6c\x4b\x19\xd5\x4a\x20\x10\x58\xcf\xd8\x06\x1d\x18\x8c\xed\x47\x80\xac\x36\xb6\xeb\x45\x3e\x62\x64\xc3\x7e\x40\x17\x0c\x84\x47\x3c\xa4\xed\xc2\xc6\x72\x56\x33\x51\xaf\xf8\x4f\x40\xd8\x06\x48\x68\x18\x08\x57\x26\x70\x43\x32\xf9\x50\x08\x4e\xdd\x54\xd8\x0b\x7d\x90\xbf\x47\x39\xf1\x4f\xfe\x73\x70\xc6\x6f\x54\xb2\x2c\x15\xee\x2c\xa4\x00\x1d\xef\x73\xe1\x54\xcf\x12\x3f\x03\x98\xd4\xcd\x4b\xdd\x32\x73\x04\x7f\x2f\xa6\x60\x7f\x6c\x50\x70\x6e\x00\x66\xfc\x79\x07\xf0\x37\x80\x24\x18\x13\xff\xb7\x63\x04\x26\xbe\xb5\x32\xd1\xab\x44\xa5\x12\xf3\x2f\x23\x49\x40\x4d\x64\x62\x20\x0a\x24\xde\xf2\x13\xe9\x4b\x4f\xae\x2a\x29\xdf\xa0\xd2\x5f\x5f\x6e\x3a\x8b\xfc\xa9\x24\xa9\x30\x70\x49\x76\x50\x4a\x6b\xe5\x30\xd1\xea\x61\xa2\x15\xc4\xc4\x53\x11\x13\xad\x24\x26\xb3\x9a\x98\x98\x8a\x62\x62\xa8\xca\xbe\x58\xca\x72\xc0\xac\x2e\x26\xb6\xc2\x98\xd8\x2a\x8b\x17\x3d\x07\xd6\x28\x4c\x5d\xf6\xd1\x8b\x8f\x4a\x7c\x18\x2a\xb2\xaf\x35\xe1\x1f\x4c\x35\xf6\x29\xd4\x62\x29\xae\x12\x4f\x28\x75\xc4\x17\xae\x0a\x4b\x2a\x35\x58\xf3\xb7\xfe\xaf\x68\x25\xe2\x3a\x55\x2c\x3f\x23\x5a\x4d\xf0\xbd\x3d\x82\x7f\x5b\xf8\xe9\x43\xb9\x72\xb5\xc3\xf9\xf1\x15\x7e\xf0\x48\xde\x67\xf6\x97\xbd\x81\xb5\xe5\x3d\xe1\x6c\x96\xfb\xb6\xf8\xd5\x45\xde\x0b\xfc\xe7\x2e\x25\x9a\x4d\x01\xde\xaf\xe3\xda\x77\x30\x47\x8a\x08\xb5\x36\xe5\xce\x25\xcd\x16\x8d\xd4\x7d\x82\xdd\xa6\xc0\xdd\x3b\xef\xa6\x25\x62\x97\x34\x01\x3b\x27\x47\x16\x2f\x8e\x45\x96\xaf\x1d\x5e\xb4\x6e\x3a\x9b\x24\x75\x49\x58\x4b\xf9\x6d\xe7\xdc\x3d\xe5\x3f\x4c\x05\xfc\xba\x96\x4d\xc6\x43\xdd\x16\xee\x73\x30\x9d\x47\xca\x1f\x0c\x75\x9f\xb2\xf7\xd6\x07\xf7\xe4\x7a\xa3\x78\xf1\x35\xe6\x64\xec\x2f\x74\xb5\x48\xc6\x37\xee\x1c\x27\xcf\x32\x5c\xe7\x32\x32\xb1\xef\x4e\x9d\x8a\x97\x70\x5e\xbb\x1e\x60\x64\x62\x1f\x71\x2b\x30\x8e\x4b\xaf\x88\xb0\x19\x62\x75\xe9\x89\xb8\x14\x6d\xbe\x77\x2e\xaa\x68\xce\x3c\xbb\x48\x75\xe6\xb1\xee\x5f\x97\x32\x47\x51\xc2\x2d\xde\x9c\xdf\xac\xc5\x50\x14\x25\xa2\xc7\x00\x14\xb2\xe3\x28\x05\x06\xd2\x74\xd4\x54\x58\x02\x6c\x99\x96\xb1\x44\xd1\xac\x21\xa7\x76\x9e\x61\xb3\x88\xef\xff\x1d\x00\x00\xff\xff\x55\x9a\xc9\x27\x80\x7c\x00\x00") func uiLibKubeMinCssBytes() ([]byte, error) { return bindataRead( @@ -485,12 +485,12 @@ func uiLibKubeMinCss() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "ui/lib/kube.min.css", size: 31872, mode: os.FileMode(420), modTime: time.Unix(1483467521, 0)} + info := bindataFileInfo{name: "ui/lib/kube.min.css", size: 31872, mode: os.FileMode(420), modTime: time.Unix(1491905519, 0)} a := &asset{bytes: bytes, info: info} return a, nil } -var _uiLibMomentMinJs = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xbc\xbd\x79\x73\xdb\x38\x12\x28\xfe\xff\x7e\x0a\x19\x95\xe8\x07\x98\xd0\xe5\x24\xce\x84\x0a\xcc\xca\xc4\xb9\x66\xa2\x1c\x63\x67\x3c\x89\xac\x75\x81\x04\x28\xd1\x96\x44\x47\x94\xe2\x38\xa6\xf7\xb3\xff\xaa\x1b\x20\x09\x4a\x72\x66\x67\xeb\xbd\x57\xa9\xb2\xd0\x40\xa3\x89\xb3\x2f\x34\x90\x4e\x67\xa7\x31\x4b\x67\x7a\xbe\x6c\x9f\x67\xff\x02\xe8\x9b\x5e\x64\x49\x3a\x6f\xf8\x8d\xbd\x76\xaf\xdb\xde\xc7\x4c\xb9\x5a\x4e\xd2\x45\xd6\xf0\x1b\xc7\xc9\xac\x71\x92\xa6\x8a\x37\xde\x64\x17\x0b\x3d\x6f\x3c\x9f\xe8\xc5\x5c\x7f\xe3\x8d\x41\x41\xa6\x11\xa5\xf3\xe5\x22\x09\x57\xcb\x74\x61\x68\x4e\x93\x48\xcf\x33\xdd\xf0\x1b\x83\x37\xc7\xff\xaa\xbe\x79\x9e\xb5\xa3\x74\xf6\xaf\x9d\x78\x35\x8f\x96\x49\x3a\xa7\x92\x87\xec\x86\xa4\xe1\xb9\x8e\x96\x44\x88\xe5\xf5\xa5\x4e\xe3\x86\xfe\x7e\x99\x2e\x96\x59\xb3\x49\x56\x73\xa5\xe3\x64\xae\x15\xd9\x29\x0a\x67\xa9\x5a\x4d\x75\x60\x7e\xda\x16\x55\x84\x94\xf9\xa4\x20\x5b\x51\x32\xb5\x9b\x4d\xf3\xdb\x96\x33\x15\x98\x24\x0d\x99\x2f\xdb\xa6\x55\x50\xf9\x96\x2e\x27\x49\xc6\xcb\x86\xb1\x1b\xb2\xca\x74\x23\x5b\x2e\x92\x68\x49\xfa\x45\x7e\x43\x52\x76\xb3\xd0\xcb\xd5\x62\xde\x78\x1d\xb5\xe5\xe5\xe5\xf4\x9a\xce\x57\xd3\x29\x97\x8b\xf1\x0a\x88\x65\xec\xb6\x44\x0e\xa9\x64\x37\xaf\x23\x21\xab\xac\x08\xb2\x0c\x01\x32\x34\xfd\x6e\x3c\x5b\x2c\xe4\xf5\x88\x08\x21\xde\x63\x46\xfb\x72\x91\x2e\x53\xe8\x41\x7b\x99\x1e\x2d\x17\xc9\x7c\xdc\x8e\xe4\x74\x4a\xa5\x43\x5b\x55\x84\x1a\xb2\x91\xcc\xb3\xa5\x9c\x47\xd0\xe5\x43\xb9\xd4\x79\x5e\x12\x07\xf0\x9f\xd2\xd6\x66\x5e\xbe\xc9\x45\x23\xe2\x4a\x0c\x47\xfd\x38\x5d\xd0\x48\x74\xfb\xd1\x53\xd9\x9e\xea\xf9\x78\x39\xe9\x7b\x5e\xc4\x54\xfb\x72\x95\x4d\x68\x48\xe5\x30\x1a\xf1\x88\xb1\xbe\x6d\x91\xaa\x88\xc5\x86\x98\x2d\xd8\x68\xc5\x44\x66\xef\xaf\xe6\x1f\x16\xe9\xa5\x5e\x2c\xaf\x6d\x5b\x78\xe8\xb4\x66\x6c\x08\x40\x13\xb0\x45\x8d\x64\xde\x08\x59\x4c\x43\x1e\xb1\x66\x13\x3f\x2d\xc2\x61\x34\x2a\x3f\x0e\x45\xa4\xe8\x1d\x41\x9c\xb2\xb3\x22\x2c\x93\x8c\x23\xe2\x37\x39\x5d\xe9\xf7\xb1\xc5\xb3\x90\x08\x8b\x14\xe3\xce\xec\x4d\xa0\x29\x3c\xe2\xaa\xec\xcf\x73\x59\x64\xf1\x9d\x2e\x6b\xaf\x96\x11\x75\x9a\x9e\x94\xab\xe5\x46\xcf\x2e\x97\xd7\xfe\x4e\x8f\xaf\xe6\xab\x4c\xab\xe3\xf4\x42\xcf\x33\x7f\x38\xb2\xf0\x9b\xf9\xe5\x6a\x09\x60\xfa\x4d\x2f\xe2\x69\x7a\xe5\xb7\xf6\x78\x34\x91\x8b\xec\xad\x8e\x97\xef\xbf\xe9\x85\xdf\xe5\xb0\xd0\x0c\xe2\x4e\x8f\x27\xf3\x6f\x72\x9a\xa8\x41\x3a\x5f\x4e\x7c\x5c\x82\x36\xe7\x65\xba\x98\x49\x44\x59\x65\x7a\xf1\xc6\x64\xca\xa5\x56\x58\x2b\x4b\xfd\x9d\xde\x6d\xd5\xc4\x73\x67\x1d\x01\x15\x21\x64\xfb\xec\x32\xc6\xc1\x38\xbb\x8c\x45\x42\x19\xe3\x98\xac\xea\x5c\x40\x9d\x24\xa6\x25\x7e\x92\xfd\x09\x1f\x31\x4b\x26\x14\x40\xb3\x5f\x65\x8b\x1d\x9a\x64\xef\xe4\x3b\xa0\xa8\xda\x63\xbd\x3c\x4e\x66\x9a\x32\x96\xe7\x3b\x34\x6c\x17\x1d\x7e\xda\x65\x79\x1e\xb6\x71\x9c\x20\xe1\xf6\xcf\x81\x4f\xb4\xbe\x50\x12\x31\xca\xe1\x70\x8a\x4d\xe7\x21\x63\xad\xf3\xd8\x09\xb3\x9d\x4d\xdf\x8a\xc6\x55\xc9\x66\xb3\x2b\x84\x08\xdb\xb5\x61\x2f\x32\xdd\x69\xb3\x5b\xa0\xd9\xfc\x96\x26\xaa\x61\xca\xc3\x64\xfc\x3a\x5d\x2d\xd8\x6d\xb1\x27\x4b\xb2\xd5\xb8\xc1\x2e\xb3\x43\x34\xa1\xef\xe4\xbb\x72\xc5\x42\x4f\x76\x84\x0c\xc6\xf4\x9c\x86\x8c\x4b\xe6\xc3\xef\x7a\x17\xc4\x4e\x97\x87\x15\xb5\x59\x6d\x97\x72\xdd\x4f\x62\xba\x8d\x61\x86\xd0\x92\x67\x86\x5b\x9b\xed\x57\x0c\x40\x2d\x53\x6c\xe2\x31\x7e\x17\x3d\x4b\x01\xeb\xdc\x89\x65\x17\x11\x6c\xa6\xb3\xf8\x4e\xac\xa9\xc1\x9a\x02\xd6\xf4\x4e\x2c\x77\xe6\x4c\x5a\x94\xb9\x77\x56\x5a\xfe\x98\x99\x1a\xcb\x1f\x33\x61\xe0\xbb\xbb\x94\x7d\x3a\x7e\x5e\x0c\xcc\xa7\xe3\xe7\xa2\xc8\xbb\xb3\x46\x1a\xc7\x99\xb6\x4d\x32\x69\x51\xe6\xde\x59\xc9\xd9\x59\x30\xc5\x77\x8f\x4a\x1a\xc9\xa9\xb6\x43\x83\x69\x51\xe6\x32\xfe\x5b\x64\x97\xe0\x41\x97\x21\x6b\x06\x9e\xf8\x5b\xc4\x94\xf8\x2d\x02\x4e\xac\x45\x38\x54\xa3\xad\xb4\x91\xe6\x50\x8d\x84\x2e\x57\x9f\xc3\xe0\xe6\x34\x64\x37\x33\x23\x0b\x43\xc6\xe1\xb7\x7d\xa6\xc4\x5c\x5f\xa1\x20\xa1\x66\xa1\x86\xed\x33\x15\x84\xb5\xcd\xec\xc3\x72\xe6\xbf\x47\x42\x88\x9d\x5e\xb3\x49\x7f\x8f\x60\xb5\xca\xf6\xea\x12\x96\xee\x7b\x1c\x14\x24\x8b\x48\x3b\x3d\x87\x49\xa6\x77\x49\xb2\x79\x9e\xdb\x8d\xd1\x6c\xda\xc4\xc6\x12\xad\xc8\x5c\x3a\x64\xba\x07\x32\x18\xc8\xe5\xa4\x1d\xe9\x04\x36\x9d\x8f\x40\x3c\x4d\xd3\x45\x4d\xd0\x7d\xad\x36\xa4\x27\x39\x08\xb8\x82\xc0\x8e\x10\x61\xb3\x99\x64\x2f\x93\x79\xb2\x04\x6d\xa1\xd9\xa4\x91\xb8\xc4\x29\x8b\x2a\x02\x0b\xc3\xfd\x0d\x11\xc5\xb5\xc0\x0f\xcd\x92\x39\x2d\xe4\x24\x0f\x6d\x82\xf1\xd8\x94\xca\x30\x2b\x4b\x5b\x55\xe9\x58\x74\x51\xcc\x2a\xd1\xed\xeb\x03\xd5\x57\x9e\xc7\x68\xd4\x6c\xc2\x64\x41\x6b\x86\x6a\x94\xe7\x3b\x51\xb3\xf9\x15\xe7\x8f\xed\x08\xf1\x95\x42\x2e\x63\xcd\xe6\xd8\xf3\x8a\xa6\x8f\x3d\x87\x53\x67\x94\xdd\x54\xd0\xd2\x1d\xe9\x00\x84\xe2\xdb\xf4\x4a\x2f\x9e\xcb\x4c\x53\xd6\x5e\xe8\xcb\xa9\x8c\x34\x25\x67\x84\x93\x16\x61\xbe\xb3\x2e\x56\x50\xb3\x90\xc0\x46\xdc\x69\x1e\x43\x8b\x2b\x85\xc0\x20\x68\xb1\xa4\x72\x18\x8f\x58\x3b\xbb\x9c\x26\x4b\x0a\x94\x78\x28\x74\x31\x1c\x91\x29\xf7\x7a\x23\xc6\x23\x11\x05\x91\x83\x87\x62\xac\x1f\x1e\x74\xfb\x28\x5e\x94\xf8\x46\x75\x3b\x03\x65\x92\x76\x79\xc8\xda\xe7\x69\x32\x47\x44\xc6\x0a\x3d\x03\x98\x5e\xd4\x6c\x96\xfb\x01\x66\x6d\x41\x35\x8f\x40\x1c\x1f\x88\xb0\xd5\x63\xe1\x42\xcb\x8b\x7e\xd8\x6a\xdd\xc6\x9e\x77\xeb\x70\xdc\xaa\x7b\xdf\xaa\x75\x80\x4d\x48\x62\xba\xf3\x36\x1a\xca\xd1\xcf\x54\xd0\x66\xb3\xfe\x5b\xe8\xa2\x6c\xb9\xb8\xbe\x09\xc5\x9b\xa8\x7d\x26\xc3\x70\xc1\x17\xfa\xeb\x2a\x59\x68\x4a\xda\x1d\xb3\x7f\x3b\xc4\x93\x8c\x5f\xd1\x90\xdd\x46\x72\x19\x4d\x68\xc4\x6e\x8a\x76\xe1\x57\xab\x86\x5d\x39\x3c\xbe\xdc\xae\xb8\x14\x9d\x76\x95\xda\x6e\x18\x5c\xc3\x62\xff\x8e\x95\x78\xd4\x6c\xd2\x37\x91\x88\x18\xe3\x45\x5b\x2a\xc2\xdf\x6b\x5a\x99\xd9\x5d\x22\x0c\x68\xd8\x06\x3c\x21\x39\x36\x44\xe0\xdf\x3c\x87\xfd\x9f\x99\xac\x36\x6c\xe4\x10\x9a\x2f\x99\xc9\x61\x3e\x55\x7a\xaa\x97\xda\x34\x1e\xb5\x14\x67\x8f\x5d\x97\x63\x0b\xc3\x2a\x9b\x4d\x59\x71\xb7\x32\x69\x9a\x07\xac\x49\xac\xe5\x31\xbe\x23\x8b\xd9\x7e\x13\xe1\xcc\x80\x0e\x8d\x0b\x24\x14\x30\x71\x45\x69\xd8\x97\x02\x06\xcf\x82\xab\xda\x4e\xff\xe1\x0c\xa4\x58\x5b\xf9\xfd\x01\x30\x4d\x01\x7f\x3d\x92\x11\x4c\x85\x23\x57\x6b\x7f\xe6\x68\xed\x99\x51\x2b\xcb\x41\x97\xc1\xc0\x0c\x12\xfc\xd4\x09\x8f\x7c\xa3\x20\x54\x84\x7e\x2d\x07\x03\xf6\x90\xb8\xb9\xed\x97\xec\x5b\x32\xd0\x94\x51\xa5\x0d\xc5\x33\x1a\x31\x1e\x36\x9b\x54\x61\x4b\x40\xbb\xdd\xa6\x5b\x3f\x47\x25\xb8\x98\xc5\xd2\x78\x51\x6b\x13\xab\x02\xfa\xc2\xf2\x74\x8e\x8a\xd0\x06\x57\xe6\x91\x61\xf6\xcc\x3f\x2c\x98\xbf\xa3\x23\x1e\xd6\x16\x0b\x68\x71\x43\x32\xd6\x4b\xe2\x95\xd2\x32\x20\x9f\x8e\x9f\x13\x9f\x10\xe6\x85\x23\x57\x03\x7e\x51\x30\xc8\x5a\xe5\xec\x27\x95\x23\xa7\xf6\x4b\x77\xf9\x83\x7a\xb3\x6e\x29\x4a\xe6\x8c\x1f\x4a\x2b\xe8\x51\xc4\x71\xc4\xfa\x7a\x9a\xe9\x06\x2c\x3a\x01\x13\xc8\xb7\xd8\x87\x50\x05\x96\xb0\x6d\x9d\x05\x69\x58\x0e\x36\xe4\x54\xed\x79\x55\x63\xf7\x82\x10\xaf\xe2\xe8\x0c\xa4\x6e\x4b\x15\x7c\x2e\x16\xf2\xa0\x94\x27\x34\x0e\xa2\x80\x78\xd0\x47\x1f\xf8\x97\xa9\x76\x99\x5e\xd1\x5e\x97\x1b\x91\x21\xbf\xd3\x2e\xd7\x8c\x95\xe6\x09\x65\xed\x6c\x15\x66\xcb\x05\xed\x31\xcf\x99\xf3\xd7\x95\x0d\x02\xad\xd0\x42\xf5\x37\xd6\xa4\x6a\x36\xa9\x16\x8e\x31\xeb\xf6\x4f\xc1\x04\x31\x0e\x6c\xe4\x23\x6e\x72\x6d\x96\xda\xc7\x68\x18\x0e\xbb\xa3\xd1\x96\x7a\xaf\xa8\xb6\xb6\x2e\x2e\x8e\xca\xd6\xe5\xe1\xb0\x37\xe2\xe1\x70\x6f\x04\x24\x23\x43\x25\xda\x46\x02\x27\xc7\x6c\xec\x43\xb9\x94\x94\xb5\xd3\x85\x4a\xe6\x72\x7a\x27\x69\xc9\x6e\x9d\xa5\xf0\xc6\x95\x5d\xed\x19\xf2\xcd\xce\xe9\x70\x78\x9a\x9d\x1e\x8d\x3a\x2c\x90\xa5\xfc\xea\xfc\xfb\x74\x98\x9f\x8e\xee\x75\xc6\x9c\x80\x14\xab\x0a\x4e\x4f\x4d\x5e\x45\xf5\xb7\xfa\x7e\x2c\x08\xbf\x8b\x18\x6e\xcc\x50\x74\x79\x24\x8a\x39\xed\x47\x07\x61\x3f\xf4\x3c\xf6\x31\x1a\xc2\xbe\x1c\x05\xb8\x3b\x0b\xc8\x47\xe8\x0d\x6e\xd9\xca\x16\x2d\x06\x42\x9b\xef\xc4\x82\x90\x82\x74\x49\x2f\xf6\x04\x54\x72\x54\x9f\x97\xb6\x1a\x7e\xc1\x18\xc5\x1a\xcc\x02\x00\x4b\xd2\xce\x0e\xfd\x7d\x6d\x87\x5a\xd3\x83\xb2\x80\x86\xe2\x2d\x0d\xb9\xac\x8d\x3d\xe3\x1f\x90\xc5\xe1\xdf\x3c\xff\x0d\x18\x3a\xa6\x81\x9d\xfa\x75\xdc\xc2\xb2\x42\xfd\xcf\x19\xba\xb7\xd6\x2c\xdf\xe2\xd9\x68\x84\xed\x69\x3a\x1f\x43\x0d\x63\x8f\x51\xc9\xf2\x5c\xde\x9a\x5d\xf3\x08\xfb\xff\x3e\x6a\x4f\x65\xb6\x7c\x33\x57\xfa\xbb\xe8\xf6\xd5\x81\xe8\x36\x9b\xef\xa3\xf6\x52\x67\x80\xde\x67\x20\x09\x8a\x99\x7b\x1f\x01\x83\xaa\x57\xe1\xaa\x25\x7a\x5b\x54\xd8\x81\xc3\xab\x37\x37\xbc\x6c\x36\x4b\xd7\x48\x31\xc8\xff\xd4\x3d\xf2\xae\xe0\x02\x4a\xc1\xf6\x19\xd0\x90\x05\xa1\x5f\xf9\xb4\xaa\x79\x68\x36\xa3\x20\xf2\x43\x67\xa2\xde\xd7\x26\x2a\xa6\x4a\x71\xc9\x02\x24\x44\x4b\x83\x86\x57\xaa\xbe\x0f\xa2\xf7\x0f\x3d\x7e\xf1\xfd\x92\x7e\x80\xd9\xa9\x48\x7d\xa8\xed\x88\x52\x7b\x3b\x3d\x25\xb0\xc6\xdd\x55\x4f\x4f\x87\x2c\x87\x9f\x11\xcb\x4f\x87\x74\xf8\xef\xd3\xd1\xe9\x70\xb4\xcb\x4e\x47\x90\xdb\x66\x9d\x31\x77\x3d\x72\x46\xbd\xab\x26\x33\xcf\xa3\x3c\x57\x79\xae\x6f\x1d\xaa\xc3\xd6\x69\xe7\xf4\xf4\xdf\xf7\x76\xbd\xa0\x4d\x59\x3e\x3c\x1d\xdd\xdc\x8e\x60\x7b\x9d\x9e\xde\x6b\xba\x5b\xec\x63\xdd\x99\x14\xe2\xec\x6f\x4a\x51\x94\xfd\xc0\x8a\x39\x99\xaf\x66\xa1\x5e\x38\x6a\x0d\xc8\x41\xe1\xb4\x30\x62\x37\xb8\x7c\x41\x7d\x07\xb6\x53\x77\x4c\x45\x9e\xc7\xb4\x1a\x82\x08\x18\x09\x87\x71\xfe\x61\x1a\x02\xed\x71\x69\x99\xbe\xaa\xf6\xd9\x95\x80\x3f\x79\x7e\x73\xcb\x43\x2a\x39\x00\x58\xe6\x72\xa1\xa3\x62\xea\xad\x21\xd4\x6c\xc6\x54\xc3\x14\x36\x9b\xda\xcc\x21\x07\x55\x8b\x47\xdc\x5d\x30\xc7\x75\x65\xab\x30\xa6\xe0\x4f\xfb\xd3\xf1\x73\x28\xf5\x7a\xbc\xcb\x18\xd8\x53\x9f\x8e\x9f\xaf\x6f\xb5\x4f\xce\x4c\x1b\x93\x6c\x96\xce\x97\x93\x6c\x28\xdb\x98\xa0\xcc\x51\x19\xff\xbc\x03\xf9\x68\x92\x2e\x96\x5b\x6b\x9c\xac\x19\x31\x3c\xc6\x39\x72\x2b\x7f\x90\x8b\x4c\xe7\xf9\x66\x9e\x18\x8e\xac\x95\x08\x3b\x7e\xb0\xad\x20\x83\x0f\xd7\x4b\x18\x07\x2b\xa7\xb7\x67\xcd\x1c\xd0\xe5\xb4\x98\xd0\xe1\x9e\x7e\xc0\xd5\x08\x05\xc9\xce\x56\xaa\x43\x35\x6a\x36\xe9\x5d\x45\xc2\xd9\x2c\xe4\xdf\xc4\x43\x3c\xd3\x58\xaa\x6b\x9b\x82\xb4\x71\x93\x78\xe4\x1e\xe1\x24\x21\xec\x8e\xa6\xfe\x9c\x26\x8e\xe8\xdf\x10\x66\x3c\xca\xf3\x8d\x51\x43\x5b\x8e\xc6\x62\x6b\x23\x3d\x92\xdf\xf9\x1d\xbe\x8d\x94\xdb\xc4\x78\xbd\x25\x45\x2b\x9a\x4d\x32\x18\x0c\x06\xc0\xea\xc2\x66\xf3\xae\x11\x2c\xd8\xef\xba\x7d\x45\xd6\xab\x6e\x19\xa9\xad\x75\xc1\x60\xdd\xd6\xe6\x0d\x64\x87\x47\xfe\xb5\x69\xf4\x6c\xf0\x8b\x10\xd5\xe4\x35\x49\xe5\x7c\x02\x24\x5a\xc1\x48\x2a\xbf\x0a\x0b\xa4\x4f\x23\xd7\x48\x57\xb8\xd5\xf8\x31\x95\xed\x6b\x2d\x17\x94\xf1\xd0\xf8\x3b\x7f\xa6\xa5\x12\xec\x38\xc1\xdd\xce\x6a\x3b\xfd\x33\x5d\x37\xaa\xc2\x80\xfe\x55\xfa\x53\xb6\x69\xde\x3b\xdd\x35\xd5\xdb\x52\x77\xa8\x7e\xa9\xd4\xa8\x63\xb3\xf8\x6d\x5b\xab\x45\x42\x5d\xc9\x70\xcf\xd1\x6a\xc0\x9e\x92\x85\x98\x8c\x9a\xcd\xd6\x9e\x10\xe8\xa0\x2d\x1d\xaf\x38\x92\xd1\x70\xac\x46\x4f\xbb\x79\x8e\x89\x83\x5e\x2f\x18\x2b\x3f\x1a\x4e\xd4\xe8\x69\x0f\x32\x27\x6a\x74\x70\x4c\xa3\x61\xac\x46\x1c\x51\x58\x30\x01\x84\xa4\xa8\x95\xa8\xd1\xc1\xde\xc3\x3c\xdf\x7b\x28\x84\x40\xb0\xd9\xa4\xdd\x1d\x48\x9f\xc3\x6a\x37\xc9\x8b\x2a\x39\x05\x1a\x09\xd0\x38\x2f\x68\x9c\xab\xd1\xc1\xa3\x27\xc1\x39\x64\x5e\x14\x99\x17\x26\xf3\x02\x32\xa7\x45\xe6\x54\x8d\x0e\x9e\x3c\x79\x12\x4c\x95\xdf\xea\x71\xec\xce\x59\xd1\x9f\x43\x79\xfd\x3e\xfe\xac\x25\x98\x93\xb1\x3a\x08\xf3\x3c\x3c\x98\x28\x63\x57\x4d\x14\xe3\xb5\xce\x8b\xb0\xe6\xe0\x3f\x83\xf9\x93\xed\x6c\x75\x79\xb9\xd0\x59\x76\xa8\x2f\x17\x3a\x92\x50\x74\x22\x17\xf3\x64\x3e\xce\xac\x83\x6b\x9b\x5b\x20\x4a\xe7\x59\x0a\x66\xad\x4d\xb4\xaf\xe4\x62\x5e\x87\x28\x71\x48\x36\xae\x0c\x4d\xbf\x41\x3c\xf7\xc0\x43\x4a\xd7\x58\xdd\x29\x9d\x52\x63\xba\xa9\x56\x83\xca\x7d\x46\xa5\x47\x4e\xe7\xc4\xa3\xc0\x08\x5e\x2c\x16\xe9\x82\xb5\xb3\xa5\x8c\x2e\x40\x36\xee\xf4\x18\x0f\xb7\xab\xd8\xb7\xb5\x73\x96\xd0\x7e\x36\x55\x68\xce\x52\x18\x0b\x8e\x80\xd8\xe9\x3a\x78\x91\x5c\x57\x9a\xcf\x12\xae\xc5\xa5\x6a\xeb\xef\x3a\xa2\x8a\xc1\xbe\xd7\xc6\x1b\x84\x63\x9d\x64\x29\xba\xae\x51\x99\xfe\xba\xa1\x4d\x27\x31\xfd\x0a\x7a\xed\xb0\x37\x2a\x28\xc0\x1c\x9c\xc5\xc2\x64\x77\x47\x7d\x74\xe1\xdc\x56\x1a\xf9\x62\x1b\x91\xc5\x56\x22\x9e\xa0\x7a\xb8\x3f\xca\x73\xd2\x20\xcc\x5b\xd4\x29\x2a\xab\xef\x4b\xc5\xac\xaf\xda\x13\xe4\x0b\x61\xfc\x1b\xf4\xf1\x16\xed\x47\xf7\x1c\xa3\xe7\x9c\xbf\x49\x5a\x4e\x51\x66\xbb\x8e\xde\xf0\xba\x4f\x5f\x44\xc1\xb7\x34\x51\x50\xe4\xb8\x51\xbd\x68\xd8\x1b\x31\xe6\xd3\x08\xa8\xf0\x02\xa3\xf8\x8e\xf5\xa1\x5a\xaf\x4a\x55\xc0\x65\x3b\x5a\x68\xd0\xaa\x17\xe9\x0c\x4f\x3e\x5e\xca\xe9\x34\x94\xd1\x05\x0d\x19\x73\x39\x80\xae\x8e\xa5\x34\x8f\xf9\xd8\xb4\x74\x52\xb5\xa0\x5e\x5a\xb4\xb9\xf7\xe4\x71\xf7\x40\x36\x9b\x13\x30\xa3\x5f\xae\xa6\x53\xd8\x46\x60\xda\x4e\x9c\xf3\x3c\xe9\x38\xcb\xd6\x55\x99\xed\x27\xa2\x1b\xf4\x43\xa0\xff\xe9\xf8\xb9\xfb\x09\xe7\x64\x63\x2c\x1d\x1d\x66\x02\x40\xf0\x60\x7f\xdf\x7f\xb0\xff\xc8\x39\x8a\x73\x71\xe4\x7d\xe0\x3a\xdd\x66\x53\xde\xef\x75\x81\xbd\x74\xf3\x5c\xde\x7f\xd8\xed\x42\xae\x73\x1c\xe7\x9c\xde\x4e\xa4\xcb\x49\x9d\xa1\x3b\x97\xeb\x3e\xdd\xa8\x15\xf2\x58\x44\x2d\x90\x16\xd7\xb4\x32\xed\x0e\x34\x70\x98\x96\x78\xcc\xb8\x6e\x3d\x3e\x88\x01\xf2\x00\x52\xe2\x10\x5a\xd7\x96\x4a\xd1\x98\x13\x45\x18\xbf\xb9\xd2\xfa\xc2\xaf\x7c\xd2\x0a\x68\x19\x36\x45\x59\xe7\x31\xe3\xd0\x0e\x5f\xd9\xe6\x38\xc2\xf0\xc2\xed\x27\xb6\xcd\x88\x53\xa0\xd7\x56\xe9\x55\x1d\xbc\x66\x6d\x48\x39\x47\x4e\x72\xcd\x04\x2f\x2b\x3a\x07\x49\x77\xe1\x5c\x3b\x07\x03\xce\xac\x6f\x9a\xf2\x80\x6f\xbc\xfb\xfd\xfa\x51\x62\x10\xfa\x88\x0d\x23\xf1\x78\x97\xca\x16\x88\x65\xe5\xca\xb6\xd4\x21\x7c\x6e\xe6\x84\xf7\xf8\x43\x43\xf3\x1f\x53\xbb\x94\xae\x01\x83\x06\x37\x1f\x8b\x7d\x4f\xb7\x14\x9f\x08\x58\xba\xbc\xcb\x7b\xde\x98\xf1\x44\x4c\x4a\x6d\xdb\x99\x54\x7d\x90\x34\x9b\x34\xc1\x69\x8c\x84\xd9\xc3\x51\xd0\xdb\x8d\x7c\xcd\x63\xd1\xf3\xc6\xde\xe3\x5d\x1a\xb6\x7a\xac\x95\x78\x11\xbf\xc1\x59\x8b\x0f\xba\x81\xf4\x65\xab\xc7\xcb\x39\xc5\xbc\xd8\x87\x85\xdc\xea\x31\xcf\x35\xd5\xbf\x3a\x1d\xc6\xf5\xb0\x48\x57\x73\x45\xcd\x6a\x8c\xa6\xe9\x5c\x53\xe4\xde\x8b\xe5\xfb\x98\x12\x25\xaf\x09\x6b\x6d\x2f\x83\x8f\x13\xc6\x3a\xbf\xec\x3f\xd4\x8f\x98\xd7\xfb\xc9\x68\xc9\x56\xb8\x36\x52\x0b\xb9\xe6\x99\x2b\xce\x20\xa5\x5f\x28\x2e\xa1\xef\x9c\x74\x64\x5b\xb6\x7d\xbf\x72\xea\xad\x32\x0d\x3a\xd2\x30\xb4\x83\x5a\xee\x6c\x10\x3e\x26\x6b\x60\xf4\x94\x12\x36\x56\xce\xc8\x37\x75\xd6\x2b\xd4\xb0\x2d\xaa\x73\x92\x51\x97\x41\x78\x18\x31\x1c\xa1\xc2\x09\xba\x9b\x11\x3e\x4a\x60\xa3\x41\x9b\xbb\x32\x27\x48\x78\x58\x2d\x41\x99\xa9\xc1\x63\x80\x57\x05\xae\x72\xf4\x07\x2d\x60\x9c\x00\x07\x14\x1f\x05\x7f\xeb\x38\x07\x63\x49\x35\x08\x8f\x3b\x74\x10\x10\x9d\x3c\x82\x95\xa7\x79\xb7\x56\x13\xe9\xe0\xb7\x45\xb4\x36\x42\x45\x23\xcb\x02\xd3\x7f\x06\x22\xb4\xff\xe0\x20\xac\x35\x3e\x1c\xf5\x3d\x2f\x64\x36\x2d\x62\xf8\x83\x6e\x22\x18\x82\xfe\x63\x2b\x1f\x6b\xc5\xb5\xda\x01\x28\x84\x61\xd0\xf3\xbb\x7e\x41\x0f\x75\x38\x04\x50\x8d\xeb\x16\xd0\x79\x0d\xba\xa8\x41\x53\x54\xf8\x64\xfb\x6c\xae\xbf\x2f\x0f\xe5\xb5\x39\xfe\x33\x24\x44\xd7\x0c\x9a\xa0\xd5\x4a\x89\xa5\xaf\x81\x45\x56\xf2\x22\x66\xbc\x3c\xe5\xc3\x93\x5b\x0c\x17\x30\x82\x62\x90\xcc\x57\x4b\x9d\x95\x11\x04\x4e\x16\x6b\x49\x7b\xb2\x5b\x7d\xdc\xb4\xc4\x7c\x7b\xef\xa1\xcb\x4e\x57\x9b\x0b\x87\x8f\xf9\xa4\x0f\xb6\xc4\xd9\x15\x2f\xce\x37\x5f\xbd\x2a\xce\x1e\xc3\xf6\x49\x95\x7c\x11\xd0\x58\xf4\xf8\x58\x3c\x04\x25\x44\x52\x40\xe4\xe5\xf2\x38\x97\xf4\x50\x52\x66\xd8\xd7\x35\x4e\xb1\x32\x58\x27\xbc\xc7\xb8\x36\xe9\x17\xbc\x07\x92\x3f\x76\x0f\x3a\x4a\x66\x3e\xde\x92\x7b\x5d\x7c\x6b\x3c\xde\xfc\x16\x48\xef\xfa\xb7\xae\xe0\x5b\x45\x83\x55\x40\x35\xfc\x70\x14\x56\x9e\xa7\x98\xaf\x45\x51\xa8\x83\xb0\xad\xbd\xd8\x8f\x19\x9f\x88\x4b\x49\xcd\x78\x8c\x61\x22\x8a\xef\x88\x09\x12\xaf\x2d\x5c\x31\xa9\x64\x97\x73\x84\x86\xfa\x50\x12\x83\x1e\x13\xe3\xa2\x78\x73\xf4\xfe\xec\x97\xfd\x6e\xaf\x30\xf1\xf0\x2c\x04\x15\x9e\x7e\xd8\x3e\x93\x62\x38\xe2\x18\xe5\x80\x11\x1f\xa0\xe6\x96\x91\x0c\x66\x4e\x04\x21\x1e\xe8\x3e\xc8\xaa\xad\x57\xfd\xc2\x1e\x92\x6a\xf1\x16\x3f\xe4\x78\xca\x2a\xd7\x6d\x9e\x0f\x47\xd6\x29\xa4\x5d\xa7\x50\x2c\xf4\x30\x1a\x71\x25\xe8\xc4\x22\xbf\xa7\x31\xd8\x7b\x50\x81\x0d\xbb\x23\xae\x9a\x4d\x3a\x16\x93\xc2\xf1\xde\xe5\x93\x76\x32\x57\xfa\xfb\xfb\x18\xf4\x49\x3e\x2e\x4f\xdd\x9b\x4d\x13\xa0\x51\xc5\xee\x98\x48\xa8\x31\x0c\xe5\xc4\x9e\x59\xba\x95\x3d\x55\x1e\xf4\x5e\x78\xa2\x02\x3e\x46\xc3\x78\x14\x50\x15\xb8\x43\xd1\xf3\x1d\xea\x36\xe4\x04\xc9\xc7\x8c\x1f\xd1\x98\x2b\x68\xb4\xef\x44\x45\xec\xa8\x5a\x83\xea\x55\xfa\x58\x52\x0b\x6a\x11\x49\xeb\x82\x4f\xfe\xb6\x37\x13\x66\x66\xc8\xc6\xb6\x80\x5e\xda\x05\xe5\xcd\xec\xac\xa7\xa2\xb7\x57\x41\x40\x85\xd6\xb0\xcd\xd9\x17\x70\x70\xbb\x13\xaf\x60\x79\xda\xe9\x2a\x73\x21\x31\xd3\x8b\x44\x25\x7a\xc6\xf8\x12\xf5\xe1\x7b\xd4\xb5\x4b\xae\xea\x0a\x59\x5d\xca\x45\x41\xe8\x17\x5c\xa3\x20\x03\x5f\x0f\xea\x20\x5a\xea\x25\x62\x92\x7d\x18\x04\x54\xd9\x14\x8d\x18\x4c\x7c\x6f\xef\x00\x9d\x0a\x9e\xe8\xed\x31\xae\xf2\xbc\xb7\xb7\x23\x44\x98\xe7\x60\x73\x30\x1e\x32\xdf\xd1\x50\xbf\x6f\xb2\x11\x10\x3e\x96\x1b\xc6\xc5\xf4\x16\x6a\x1b\x5a\x41\x6e\x80\x12\x70\x47\xd4\xfa\x65\xcd\x2e\x78\x27\xdf\x31\x66\x17\x78\xb7\xaf\x9f\x3a\xb4\xfa\x1a\x57\x30\x98\x51\x33\x7a\x73\xcb\xa5\xc3\x2d\x0d\x4b\x85\xc6\x17\xe9\x2a\x17\xc7\x1f\x99\x4d\x3c\xd4\x23\x8e\xdb\x94\x5f\x98\x80\x86\xd8\x13\x9b\x6b\x83\xc7\x9e\xe8\x75\x77\x37\x97\x93\xdd\x82\x58\x90\x45\xe9\x42\x8b\x98\xdb\x10\x30\x95\xe7\xea\x20\x66\xc6\x4f\xcb\x23\x11\x32\xd6\x1f\x53\xc9\xa3\x3c\x77\x67\xf2\x5a\xda\xc0\x31\x2b\xa4\x8d\x36\xf1\x2b\xba\x58\x30\x60\x4c\x8a\x61\x68\x18\x4e\x68\xdc\x1a\x3c\x6c\xdb\x60\x2f\x25\x97\xb0\x68\x26\xe9\x0a\x0b\x91\xf9\x73\xb0\x23\xa2\x74\xae\x30\x67\x3a\x4d\x0c\x34\xe2\xa8\x1e\x38\x5c\xff\xc7\x9a\xf2\x32\xa7\xf7\xe8\x33\xc8\xab\x4c\x93\xd0\x15\x1e\x21\x2a\x4d\x3d\xa3\xba\x57\x25\xd5\x92\x76\x8e\x86\x1d\xd2\xd6\x12\x86\xb1\x76\x54\x23\x1b\xbe\x53\xa6\xf2\xfc\x1a\xa3\x7a\xcc\x04\x0a\x5c\x63\x65\x20\x99\x6e\x36\x09\x3a\xda\x82\x29\xbd\x71\xe2\xfd\xba\xb7\xcc\xdf\xf4\x9a\x87\x65\x1c\x96\x23\x37\x2e\x17\xfa\xd2\xba\xc0\x18\x4f\x69\xc8\x82\xa2\xcb\x21\x9a\x9c\x54\xb3\x00\xd7\xaf\xaf\x03\xb4\x73\x7d\x05\x48\xb8\x12\x43\xff\x57\xa3\x06\xb9\x16\xd1\xaf\xa5\xa9\x8b\xa1\x5c\x49\xbf\x6c\x6d\x1c\xd4\xec\x5a\x5f\xd1\x98\x05\x6b\xa6\x6e\xcc\xfc\x8d\x76\xc7\x01\x9a\xcf\x7e\x04\xf8\x14\xa5\x81\xa6\x71\x11\xea\xc1\xf8\x96\xb3\x14\xec\xd2\x9b\xf9\x92\x4a\xde\xeb\xb2\x5b\xcb\x2a\x98\xbf\x71\x24\x1c\x07\xd7\x48\x7b\xe3\x18\x61\xad\xb1\x34\x66\xfe\xcf\xec\x69\xe7\x94\x7d\xd3\xa8\x10\x37\xb7\x85\x67\x32\x4c\xd3\xa9\x96\xce\x11\x53\x84\xdb\x20\xe2\x51\xb9\x5c\xe2\xcd\x60\xbb\x9d\x2e\xe4\xda\xcd\x1a\x17\x31\x67\x1a\x32\xa7\x22\xc2\x1a\x42\xc2\x4f\x2c\x42\xf8\xb1\x31\x6f\x8a\xff\x90\x34\x76\xda\x76\x28\x7f\x1a\x92\xea\xc6\x59\xbd\x70\xdc\x4a\x36\x5c\xb0\x87\xa1\x8b\x45\x34\x63\x44\xc3\x61\x77\x64\x1c\x65\x98\xe2\x3b\xe1\x1a\x27\x03\x9d\xc3\x46\x29\x01\x06\xd7\xa2\xd7\xd7\x4f\xc3\x2a\x26\x58\x33\xba\x13\x0e\xf5\xa8\x3a\x81\xcc\x73\x80\x87\x72\x04\x22\x14\x87\x06\xe0\x6d\xd1\x0c\x2f\xc1\x0e\x85\xd6\x81\x6e\x60\x16\x83\x3d\x7c\x2b\x3c\x09\xbc\x5b\xd6\x7b\x21\x29\x49\xb2\x5f\x75\x9c\x2e\x34\xa9\xf9\x60\x5f\xfd\x73\x32\xcf\xe2\xa5\x5e\xd4\xa9\xbc\x76\xf6\xf5\xaf\xb0\x25\x22\x61\x58\x53\x9e\x77\xb9\x12\x61\xfb\xeb\x4a\x2e\x96\x1a\x41\x50\xb1\x66\x26\x4e\xb5\xcb\x61\x8f\x80\xe6\x06\xe9\xb1\xb0\xfc\xab\xcb\x27\xc2\x30\x2f\x48\x27\xa2\xe0\x60\x00\x9d\x8b\x82\x8d\x01\x74\x21\x6a\xbc\x2c\xcf\xbb\x7d\xeb\x3f\xaf\x32\x33\xe1\x5d\x78\x3d\xfd\x60\xf7\xdc\xdb\xd7\x0f\x77\x13\xef\xc1\xbe\x7e\xb4\x3b\x29\xc2\xf5\xe4\x75\x26\xd0\x50\x8d\x6b\xc7\x05\xc2\xd3\xde\x83\x5d\xe5\xf5\xf6\x76\xa3\x12\x75\x29\xc5\xcd\x6d\x79\x82\x83\x8c\xea\xba\x70\x2c\x9f\x85\xab\x30\x9c\xd6\x4e\xa2\xde\xc8\xbb\x82\xf5\x5e\x3b\x5e\xd4\xdf\xec\x4a\x7b\x8d\xe6\x76\xd7\x8d\xaa\x37\xf3\x82\xe4\x57\xcb\xc8\xfa\xc1\x61\x70\x89\x47\xfa\x55\xf4\x1e\x9e\x06\xb6\x24\xe4\xb7\x08\xe3\x91\xf7\x8a\xfe\xe7\x3f\x54\x76\xf6\xbb\x8c\xef\x31\x2f\x44\x58\xde\xdf\xef\xf2\xbd\xda\xf9\xdc\xef\xce\xac\x51\x99\xe7\x84\xb0\xca\xc5\x67\xf5\xc2\x70\x58\xac\xd7\x56\x6f\x84\x79\x4a\xd0\xc8\xab\x50\xbf\x23\x2a\x69\x11\x68\x3c\xac\x71\x8f\xee\x77\x77\xd5\xb0\x37\x62\xde\x57\xaa\x86\x7b\xe5\xea\x25\x1e\xf0\x6a\x35\xec\x8e\x02\xed\xb7\xb4\x73\x38\x2e\x69\xa9\xb1\x80\x6e\x50\x78\x6b\x8b\xb3\x04\xaa\x45\x54\x18\xf4\x3c\x16\x14\xd8\x74\x9e\x23\x1f\xf6\x42\xdf\x3b\x44\xde\xd6\xf2\x34\xd7\xd6\x06\xc2\x28\x4b\x0f\x20\x2f\xde\x38\x47\xd0\xb0\xd1\xb9\x66\x3e\xd6\x33\xae\x19\x77\xd6\x06\xee\xac\xf5\x1e\xed\xb6\x1c\xbf\x83\x1b\x93\xfd\x23\x9d\x17\x24\x59\xa7\xf7\xc8\x3d\xf2\x76\xfa\xa3\xb8\x36\x13\x68\x63\x5d\x61\x89\xae\x1f\x79\xdc\x71\x5e\xf3\x3b\xf6\x8b\x97\x41\x33\x21\x7b\xda\xdb\xc7\x92\xfd\xee\x6e\xc8\xb8\x3d\xf4\xb3\xb1\xb8\x86\x91\x0e\x8c\x53\x88\x15\x8b\xb2\x08\xb5\xe5\x0e\x2e\xb0\x53\x1b\xea\x64\x8f\x9b\x40\x7e\x2b\x4e\x66\x84\x71\x6d\x62\x39\xe9\x4e\x79\x12\x17\x4d\xe4\x7c\xac\xdf\xcc\x3f\x2c\xd2\xf1\x42\x67\x59\x10\x86\xc6\xf1\xf4\x59\xd2\xb0\xa5\x4d\xb5\x1e\x0c\xaa\xbf\xbd\x42\x79\x12\xba\x5e\x70\x47\xd0\x6b\x79\xc8\xb3\xa5\x06\x86\xcb\x15\x47\x40\x4e\x9f\x02\xed\x17\x5d\x77\xc2\x07\xe4\x96\xb8\x3d\x59\x8d\xf7\x4e\xfd\x3c\xbd\x25\xed\x67\xab\xbd\x26\x8b\xb8\x5e\xe6\xb7\xd6\xb7\xa1\x13\x5b\x20\xd7\x4f\x91\x2b\xb4\x6e\x8d\x4f\x7e\xdc\xc0\x2c\x43\xa9\xb7\xd4\xab\x4f\x5a\x8f\x4b\x3b\x5d\xd9\x2a\x5c\x2e\x64\xb4\xa4\x45\x97\x71\x0e\x0c\xba\x73\x82\xbf\xe1\xa8\x5c\xfe\x98\x05\x6b\x9f\x29\x0b\xb6\xe8\x1d\xf6\xeb\xf6\xa3\x55\x9d\xdf\xad\x33\xf8\x2c\xd9\xf8\xe6\x51\x8d\xe3\x09\x19\x18\xd7\xae\x33\x6a\x7e\x97\xaf\x77\x95\xb5\x24\xbb\xbf\xbf\xe6\x7d\x3e\x5e\x6f\xbd\x83\x7f\x50\xf3\xf0\x99\x13\xbd\x6e\xed\x2b\x76\xed\xfe\x4d\x9d\x47\x6c\xfb\x7c\x7e\x82\x6f\xdf\x71\x3f\xa0\x98\x92\xc3\xa3\xe3\xa3\x49\x12\x2f\xb5\x62\x6b\xd3\x59\x95\xf4\x0d\xff\xbe\xb9\x05\xed\x61\x66\x9d\xd1\x8c\x4b\xf1\xac\xf0\x9e\xd5\x94\x61\x5c\xc7\x13\xf4\xc5\x20\x73\xc2\x44\x7f\x93\xac\xe1\x27\xa5\xca\xd0\x6c\x2e\x10\x95\x87\xed\x65\x8a\xb7\xa3\x28\x63\x07\x5d\x73\x1e\xb3\xa5\xf6\x4e\xaf\x7f\x67\x8b\x9d\xc0\x88\x6a\xfc\x5d\x3e\xe3\xc4\x41\x6c\x2c\xaf\x35\x84\xbf\xb6\x23\x18\x2f\x98\xcb\x9d\x9c\x03\x61\xb9\x76\x4b\x83\x8f\x85\xe4\x13\x13\x66\x5c\x84\xb5\xe2\x09\xc7\x58\xdc\xcc\x32\x5f\xd6\x05\x3d\x57\xbe\x71\xbd\x64\x7c\x80\x65\x28\xc9\x6f\x37\x95\x5b\x19\xd0\x31\x48\xf2\x30\x18\x63\xc4\xa8\x3f\x6e\xd7\x14\x06\xc9\x7c\x3a\x11\xd7\xf6\xa0\x4a\x32\x16\x50\x94\xad\x42\x88\xc9\xb0\x37\x0a\x5a\x3d\xbf\xc7\xc7\xe2\xe6\xda\xef\x72\xe5\x7f\xa5\x93\xe1\x44\x8d\xd8\x6e\xc4\x27\x08\x24\x06\x98\x21\x70\x6e\x80\x0c\x81\x0b\x5b\x62\xa0\x29\x42\xb7\xf8\xb1\x1f\xff\xc5\xc7\xbe\x48\x3a\x19\xee\x8d\x78\xc4\xf8\xc0\x00\x0f\x10\x50\x06\x78\x88\xc0\xc4\x00\x8f\x10\x98\x19\x60\x1f\x81\xcc\x00\x8f\x11\xb8\x32\xc0\x2f\x00\xdc\x1a\x63\x5f\x88\x31\x8c\xeb\xed\xa6\x95\x30\x6e\x36\x29\x89\x17\xe9\x8c\x24\xf3\xc6\x38\xcf\xc9\x32\xc5\x14\x43\xa7\xef\x19\x7a\xd7\xc6\x6d\x40\x60\x1c\x93\xcb\x94\x31\x8e\x43\x3c\x6e\xcf\x32\xa1\x6b\xc3\xcb\xc7\xed\x01\x64\xe1\xec\x30\x6e\x8c\x8c\xd7\x92\x8e\x19\xc7\xc9\x6d\x36\x63\x2a\x39\xb1\x1a\x16\x5e\x35\x53\x9b\x86\x21\xe3\xce\x6a\xfd\x52\x3b\x04\x96\xcd\x26\x1a\x40\x2f\xa7\xa9\x5c\x52\x27\xda\x8b\x13\x4e\xda\xa4\x34\x63\xed\x45\xab\x88\x05\x5d\x3f\x62\xbb\x8e\x9d\x7a\xaf\x46\xef\xc6\x6d\xbd\xdf\xe5\xa6\xe5\x7e\xf7\xb6\xd2\x54\xac\xd2\x18\x16\xf1\x05\xad\x32\x74\x08\x34\x48\x1a\xda\xa3\xaa\x56\x11\x38\x01\xbb\xbf\x60\x46\x20\x7d\x0b\x0a\x9c\x0c\x08\x6b\x5b\x1d\x1b\xfd\x0e\xad\x56\x59\x16\xd5\x57\xa9\x17\xb6\xbc\x9f\x50\x71\x6f\x5e\x9c\xc9\x2d\xa1\xf1\xa1\x40\xc5\x0b\x39\x51\x61\x1c\x80\x4e\x15\x09\xdb\x7d\x9f\x62\x12\x51\xd6\xbe\xdd\xaa\xc3\xbc\x1c\x81\xb2\xb5\xb5\xef\xcb\xb0\x1e\xc9\x57\xa8\xb8\x55\x60\x6e\xa5\xf6\x59\x3b\x5f\xe5\xb9\x99\x1e\x0f\x14\x4c\x1a\x42\x3b\x88\xb9\x82\x4a\x59\x9b\x78\xa1\x47\xe8\xa5\x5e\x24\xa9\xe2\x0d\xb3\xbf\x59\x23\xc9\x1a\xca\x46\x0c\x68\xd5\x6e\x7c\x98\x6a\x99\xe9\xc6\x2a\xd3\x8d\xb5\x8a\xa6\x02\x6f\x18\x02\xac\x4d\x40\xaf\x04\x23\x54\x71\x25\x62\xd4\xb0\xd7\xa5\x61\x14\x78\x91\x1f\x71\x2d\x3e\xa3\xef\x97\xf1\x42\x0d\xd2\x85\xa4\x76\x5c\x28\x61\x48\xd7\x4c\xe0\x68\x8d\x55\x8d\x21\x07\x59\xd5\x04\xcb\x70\xcc\xfa\xda\x9e\x36\xe8\x60\xa7\xeb\x6b\x1e\xa3\xc7\xd0\x51\x69\x43\x54\x69\x77\x15\xe3\xe3\x66\xf3\x05\x8c\x08\x18\xe7\x84\x1f\x96\x49\xe6\x8d\xa1\x78\xd2\x6c\xfe\x45\x43\x93\x6f\x23\x64\xbc\x09\x14\xe0\x3d\x82\x9a\xca\x15\xf2\x71\x9e\x4f\xdc\x90\x85\xb0\xb6\x99\xf2\x1c\x7d\xe7\x0a\x56\x8b\x31\x85\xd6\x4f\xdc\x0a\x15\x57\x25\x71\x0c\x7a\x24\x74\x8b\xa0\x16\x17\x8b\xd6\xfe\x81\x0e\x48\x26\x67\xfa\xc5\x34\xd3\xc4\x6f\xf5\x00\x9e\xca\x6c\x79\xa2\xf5\x05\xf1\xbb\x05\x78\x28\xaf\x89\xdf\x2b\x90\x11\xda\x03\xc8\x7a\x93\x88\xff\xb8\x80\x4c\xc5\x8a\x66\x4d\x9c\xc5\x26\x84\x36\x6c\x36\xc3\x61\x3c\xb2\x7a\x40\xed\xf8\x15\x92\x73\x25\x17\xd4\x18\x7c\xc0\xb0\xa2\x5a\x38\x80\x0a\x69\x2d\xfc\x70\xbe\xae\x57\xea\x70\xeb\x6e\x7a\xb6\xfd\x42\x61\x10\xfa\xc4\x99\x7a\x02\xda\x9a\x03\xa2\xfb\x8a\x4a\x91\x82\x58\x93\x28\xf7\x19\xc7\x80\xb6\x03\x4f\xe2\x16\xc4\x12\x4f\xa2\xa1\x03\x3b\xf1\xa9\xb7\xf5\x84\x33\x74\xfb\x10\xff\xdf\x6f\xa2\x3c\xf0\x8c\x66\xbc\xd9\xc4\x7a\x03\xf5\x5c\x61\xf3\x9e\xba\x97\x15\xc6\xe1\xda\x89\xaa\x55\x6a\x0c\xe3\x33\x57\x3b\x6c\x56\xc1\x99\xb8\x5b\x7f\x72\x57\x07\xc3\x3c\xff\xdf\x86\x5b\x08\x61\x07\x7c\x6b\x2f\xaa\x61\x7e\x2a\xa2\x66\x33\x7a\x2a\xb6\xf7\xd2\xbd\xd0\x1c\x6e\xc4\x8a\xc2\x26\x2a\xf4\xc0\xb1\xd8\xd7\x0f\x77\x69\x5c\x53\x85\xd7\xf5\x56\x56\xeb\x1b\xe3\xe6\x1c\xdb\xf8\x41\x09\x72\x8d\x02\xb0\x2e\x16\xdb\x43\x2d\xce\x2d\x7f\x8a\x19\xaf\x97\xe9\x8e\x78\xe0\x57\x74\x40\x86\x77\x44\x6f\x8f\x31\x9f\x1a\xdd\xb2\x15\x73\x2d\x88\x3b\x60\xaa\xd3\xd3\x0f\x60\x8d\xcc\x57\x4b\x5d\x64\xed\xeb\x87\x3e\x99\xa4\xab\x45\x91\xf1\x60\x5f\x3f\xf2\x91\x25\x98\x36\xa8\xd6\xd8\x9e\xb7\xfb\xe4\x0a\x36\xad\x93\xbd\xdf\x7d\xf8\x8b\x7e\xe4\x2b\xc6\xa3\x40\xfb\x97\x54\xbb\x41\x25\xe1\x9a\x1a\x28\xb6\xcb\x50\x8f\x6e\x91\xb7\xc0\x74\xea\x52\x11\x4c\x54\x64\xaf\x84\x55\x4e\x93\xb0\x15\x83\x9e\xb5\x86\xd9\xea\x55\xb8\x5c\x09\x1a\xb6\x62\xd6\xa1\x71\x2b\x42\x5f\xf0\x3a\xb6\xb7\x15\x3b\x6a\xc5\x8c\xf1\x16\xd5\x9e\x72\xfa\x74\x11\xae\x69\xc3\x05\x25\xc3\x9b\x28\xd1\x73\xc2\x0a\xee\x45\x94\x52\x8d\xc1\x60\xd0\x38\x3c\x6c\x7c\xfe\xfc\xf9\x73\xe3\xf5\x6b\x7f\x36\xf3\xb3\xac\x31\x7c\x35\x38\x1e\x7d\xf9\xe2\xc6\x26\x4c\xc3\xba\xa7\xa8\x20\x8c\xb7\xeb\xcb\x0e\x3f\x2d\x46\x0d\xf8\xbf\x49\x3d\x15\x4f\x9e\x3c\x79\x12\x6c\x89\xfb\xc7\x00\x25\x37\xb8\xff\xcd\xd1\x7b\x13\xdf\x6f\xec\xc7\x65\x6a\xce\xd8\xdd\x12\xca\xfc\xdf\x41\x6d\x83\xf6\xb6\x06\x83\xd6\xe1\xe1\xf0\x78\x54\xb4\xbb\x7d\x74\x74\x34\xfc\x32\x22\x0e\xce\xcf\xb0\x9c\x68\x9b\xb0\x0a\x1c\xfb\xdd\x46\x86\xe6\xb9\x6c\x2b\x1d\xcb\xd5\x74\x69\xce\x87\x6a\xf7\x8f\xea\xcc\xfe\x32\xcd\x96\x76\x50\x5d\xee\x31\xaf\xeb\x23\x75\x83\x2a\xf8\x2c\xe9\xcd\x32\xf5\xcd\xee\x59\xa4\x33\x5f\xde\x96\xf3\xe4\x7c\x82\x32\xd6\x9e\xac\x66\x72\x9e\xfc\xd0\x74\x27\xb4\xfe\x88\xff\xe6\x36\x48\x1a\xae\xbb\x01\xe0\x33\xe6\x8c\xda\x75\x17\x5c\xfe\x6d\x33\xb1\x79\xd8\xd0\x65\xfa\x7f\xbc\x99\x5f\x37\x9a\xb9\x4c\x37\x1b\xb9\x08\xab\x3b\x8b\xee\xe1\x35\x1e\xef\x05\xae\xb3\xd4\xdc\x51\xf4\x69\x28\xae\x69\x79\x22\x17\x3a\x21\xea\xe6\xe6\xb6\xf5\xb8\x38\xd1\x34\xeb\x7b\xc7\xa2\x3a\x11\x2e\xd8\x86\xec\x2a\x41\xe7\x25\x5e\x60\x63\x37\x91\xcc\xb4\x61\x73\xbe\x13\xfa\xdb\x65\x7d\x2c\x28\x58\xa2\x8f\x90\xe1\xa4\x06\x0f\xa3\x9c\x7b\x16\x0d\xf9\x96\xc1\x49\xb2\xf4\xa4\x82\x80\xcd\x19\x7c\x60\x81\x59\x49\x17\x19\xa2\xfd\xa0\x0d\xba\x28\x8a\x2c\xfb\x34\x85\x56\x11\x2c\x0b\x2d\xbb\x2d\x6a\x56\xaa\x22\xed\x16\xcf\x24\x94\x4c\xb4\x70\x04\x5d\x99\xe7\x1d\x68\x97\xf1\xb2\x75\x4e\xb1\xcd\x02\x8c\x5e\x5d\x08\x14\x18\x66\x48\x1e\xec\x3a\x37\xbe\xdd\x28\xe9\xce\x83\x0d\x0f\xcf\x2a\xac\x79\x78\xf0\xaa\x60\x35\xdd\x6b\xb2\xb7\x5c\x01\xb6\xcb\x56\x84\xda\x60\xbf\x5e\xbd\xd1\x81\x1d\x6b\xc9\x2a\x07\x17\x30\xd8\xcc\xe5\x07\xdf\xaa\xa5\xe0\x59\xaf\x7c\x0b\xa5\xe8\x9a\x8f\xd5\x3d\x11\x77\x56\x8f\xd3\x4f\xac\x0e\x62\xcd\x41\xfd\xbe\xb1\xd0\x0c\xc1\xa0\x3a\xa0\x73\x3d\x8f\x8e\x01\x7a\x5d\x67\xc2\x76\x23\x0c\xcb\x38\xf9\x52\x3c\xf1\x32\x8a\x5e\xe2\xc2\x31\x65\xb8\x30\x30\x69\x46\xce\xe6\x96\x23\x59\x0b\xe7\xfa\xb1\xf5\x5b\x18\x5d\x97\xf9\xe5\x17\xad\x91\x5a\x7d\x18\x3e\xeb\x97\x5f\xc7\x45\xeb\x4b\xbb\x78\x19\xb7\x6b\xd5\x97\xe5\xaa\x65\xbc\xb0\x78\x65\xb9\x58\x01\xcf\x31\x85\x65\x7d\xa1\xba\x87\xc8\xcf\x9c\xa1\xbc\x58\x57\xa0\x7f\x75\x0a\xc7\xf4\xe6\x96\x9f\x5b\xaf\xb5\x73\x8c\xe8\xa0\xd8\xd2\x32\x0c\xdd\x39\xd0\x0b\x8b\xb3\x93\x2e\x1f\x4a\x5e\xdc\x6a\x1a\xf1\x6e\x2d\x58\xfb\xc5\xba\xb2\x69\x02\x82\x86\x92\xf7\x7a\xfc\x41\xcf\x0b\x5b\xd1\x88\x21\xc2\x5a\x40\xe8\xcb\x70\x33\xde\x72\x93\x7d\xae\x85\x97\x6e\x2d\xbb\x36\x81\x47\x7f\x17\x75\x78\xed\x2e\xf6\x57\x5b\xbe\x5e\x86\x4b\xfd\x23\x4a\xaf\x9d\xd1\x7c\x11\xd6\x6e\x45\x00\x41\xe7\xc8\x6a\x4d\x99\xd8\xec\x4b\x7f\x3b\x19\x89\xfd\x97\xd8\x53\xe7\x6c\x2b\xdc\x7c\x30\xc7\x79\x6b\xa2\xc6\x6c\xbc\x1e\xf0\x1b\xbf\xc6\x97\x4c\x40\xa8\x8b\x75\xdf\xdd\xaf\xbf\xd7\xe4\xe3\xa6\x5b\x3f\x90\xbe\x7d\x4b\x87\x81\xce\x1f\x16\x0c\xd3\xde\x7a\x91\x5b\xae\xcf\x15\x21\x9d\xcc\x5f\x3b\x43\xaf\x4e\xab\x36\xa4\xe2\x59\x41\x76\x68\x83\x9e\x9d\xcd\x3a\xb8\x1b\xbb\xb8\x63\xb6\x5e\xe5\xdd\xdd\x55\x06\xc9\x7c\x4b\x85\xf7\x61\x2d\xbe\xc6\xb9\x8f\x56\xeb\xaf\xd8\x92\x87\x27\x7a\xa1\xe8\x96\xa1\x8f\x49\xbc\xad\x2a\x5e\x7c\xa5\x91\x80\x4d\xb3\xa7\x1f\xf0\xde\x88\x61\x2b\x42\xd0\x7b\xcb\x7b\x59\x45\x15\x1a\xad\xdd\xcc\xaa\xf5\xf8\xce\xd2\x41\x32\x37\x65\x7c\x7b\x0b\xdc\x9b\x5b\xea\x8e\x9b\x5b\xdb\x6b\xae\xdf\x9f\x72\x3c\x7d\x1f\xc2\xb5\x50\x6d\xeb\x87\xb7\x1c\xde\x8d\x7a\xf6\x9d\xbc\x5a\x18\x74\x79\xb0\x24\x05\xae\xc8\x8d\x9d\x63\xdb\xe5\xc6\x16\xd7\x02\xa4\x3e\x3a\x8d\xa0\x56\x07\xb9\xa6\xcc\x7b\xdc\xfa\x09\xb3\x61\xf7\x1f\xff\xa3\x18\xe6\x3f\xb6\xed\xc5\xea\x63\x79\xfe\xd8\x2f\xa1\x2a\xfb\xfe\x63\x8c\xd6\x7e\xec\x5e\xeb\x0c\xef\x3c\xb0\xbe\x53\x0f\x2f\xc2\xcb\xa8\xa3\x31\x15\x37\xb2\x4a\x79\x13\xd6\x4e\xa7\x8f\xeb\xca\xaf\x13\xf9\x86\xd3\xea\x1c\xd7\x38\x1d\x23\x97\xa0\x4b\x50\x89\x07\xd4\xf5\x17\x5b\xa2\x89\x5c\x3c\x5b\x52\x77\x2b\xff\xb9\x2e\x17\xe4\x41\xaf\x17\x44\x01\xb9\x9c\x11\x9f\x7c\x18\x10\x3f\x0a\x88\x84\xf4\xb3\x01\x71\x8e\x3e\x6c\xcb\xc2\xe1\x54\x8d\xc4\x57\xda\xd3\x0f\x76\x29\xe9\xb6\x89\x57\x8b\x04\xfa\x6b\x43\x9b\xa8\x5f\x8d\x73\xce\x3d\xee\xc2\x7c\x9e\x9a\x7b\xff\x4b\xad\x1a\x9f\xe6\xc9\x37\xbd\xc8\xe4\xb4\x71\x9c\xcc\x74\x9d\xc0\x17\x77\x6e\x0f\x25\xb6\xc8\xd5\xd1\xef\x39\x1f\x38\x94\xdb\xef\x9d\xb4\x91\xe1\x7d\x41\xe3\xd1\xf1\x1c\xd7\x7d\x18\x76\x8f\x14\x3e\xb4\xa1\x2c\x2e\xd8\x6f\x7b\x4e\x30\x50\x26\x94\x04\xc3\x09\x1d\x65\x49\x46\xeb\x7b\xae\x7e\x01\x7e\x28\x47\x3c\xba\xa3\xa4\xbd\x4c\x3f\x5d\x5e\x96\x6f\x86\xf4\xab\x6b\xd7\x3b\x51\x10\xfa\xf4\x0e\x7a\x22\xaa\x2e\x63\x0f\x06\x83\x41\x3e\x18\xe4\x87\x87\xb9\x52\x4a\xd5\xee\x73\x3b\x77\xc4\x4d\x7c\x55\x0f\xa3\xa7\xb6\x13\x75\xaf\x83\x45\x1b\x33\x58\xd9\x54\x8e\x6b\x35\xda\x60\xed\xf6\x61\x87\x8a\x9f\xdd\x57\xf5\xd8\x1a\xe5\xd6\x71\xe2\x46\x74\xb4\xfe\xb6\x85\x21\xb8\xd0\x53\xb9\x4c\xbe\x69\x58\x25\xc3\xe8\x27\xf3\xa3\x83\xf2\x66\x13\xf3\x75\x35\x3e\xf7\x55\x27\xa9\xb5\x20\x8e\x5c\x87\xf0\x96\xaf\xc8\x83\x6e\x40\xe2\xd5\x72\xb5\x80\x75\x79\x29\xb3\x25\xf9\xc9\x77\xa3\x20\xc2\x70\x36\xe7\x8b\x59\x27\xa9\xbf\x62\x18\x39\x12\xcd\x7d\xf5\x25\xc4\xe7\x5d\xb6\x3d\x4e\x12\x22\x2f\xc3\xe7\x0d\x91\x8f\x0d\xc9\x19\xf1\x00\xea\xd7\xc6\x19\x79\xc7\x5b\x3d\x4f\xf4\x7c\xe9\x0a\x94\x4d\xa4\x76\x96\xae\x16\x91\xf6\x48\x4e\xbc\xce\xa9\xba\xe9\xf1\xbd\xdb\x8e\xcd\x74\x1d\x91\x1b\xd3\x70\x8d\x51\x2a\x13\xca\xf0\x79\x15\xc5\xab\xf7\x51\x60\x3e\x68\x5c\x1b\xdb\x24\x72\xc3\xe5\x92\x98\x6e\x6a\x24\xe6\xf2\x2e\x97\x65\x84\x9c\x44\x43\x8b\x14\x06\x74\x21\xd5\xca\x96\x68\xd6\x2f\x2e\xf3\xd8\xd7\x28\x63\x7c\x34\x22\xee\xc7\x9e\xc7\xc6\xc3\x78\x24\x10\x37\x36\xb8\x85\x22\xee\x38\xe0\xa2\x1a\xeb\xb5\x6d\x2c\x7c\x5d\xbc\xb7\x67\xd3\xae\x78\xb9\xf8\x59\x1d\x14\xfc\x77\x54\x9c\x6e\xaf\x58\xc8\x70\xc2\x1f\x73\x73\xcc\xe0\x78\x85\x7e\x5e\xc5\x7e\x6d\xb3\xde\xfc\xe7\xf5\x06\xc9\x7c\x5b\xad\x34\xaa\xeb\xc4\x18\x08\x56\x3f\x43\xaf\x9d\x8d\x9d\x28\xba\x99\xcb\xdc\x78\xb3\x12\x03\xa0\xfa\x35\x75\xa7\xb6\x3d\x46\xab\x1b\x59\x50\x5e\xcf\xa9\xac\x46\x5b\xe8\xe4\x5b\xd9\x5a\x54\x42\xa0\xb0\x3c\x6d\x2e\x26\x4b\x03\xb5\x40\x2d\xbf\x8d\x56\xa5\xc9\xc4\xe4\xba\x3f\xe0\x72\x63\xf9\x7f\x36\xd1\x4f\x4e\x4c\xaf\xdb\x5a\x4f\xa8\x5d\xbd\x76\x16\x66\x0f\xed\x6d\x11\x1e\x8a\x95\xa7\xf7\x05\xbe\x39\xd7\x94\xdb\xc2\xec\xbe\xd6\x67\xf5\x32\xb2\x37\x77\x79\xc8\xdd\x88\xce\xc5\xdd\x68\x2d\x17\x2f\x8b\xb6\xbd\x8d\x57\x3c\x87\xe7\xbb\x2f\xe5\x39\x0e\xa8\x72\x8d\x54\x57\x45\xc5\xe6\x2a\xe0\x63\x51\x4d\x3c\x9f\x08\x77\xa6\x79\xb2\x65\x79\xc5\xf8\xd2\xcb\x18\xff\x4e\x0e\x44\x37\xcf\xbb\x07\x22\x6e\x36\xbb\x07\x62\x8c\x7f\x27\x79\x4e\x63\x4f\xa0\x97\x7d\x37\x8b\xe8\xb7\x88\x4e\x98\x37\xc6\x17\xf2\xf8\x44\x74\x19\x4f\xea\xeb\x27\xbe\xdf\xd3\x0f\xb8\x14\x97\x34\x46\xef\x07\x4f\xca\xd5\x83\x21\x82\xa1\xb8\xb4\xa1\x83\x49\xb9\x7c\x42\x28\xc0\x07\xfd\x6c\x81\x59\x3f\xd1\xfd\xbd\x87\x7c\xec\x89\x4b\x1a\x75\xf6\x1e\x32\xae\xc5\x25\x5d\x45\x74\xcc\x18\x9f\x78\x42\xf3\x71\x4b\x98\x16\x69\x06\x76\xc2\x25\x9d\x74\x7a\x7b\x8c\x4f\xee\x8b\xde\x1e\x4f\xda\xb8\x15\xc6\xf0\x19\xb3\xf2\x26\x3c\xb1\xcb\x4d\xad\x3b\x9d\xdc\x29\x79\xf8\x4b\xb7\xbb\x2b\x3b\xbd\x87\xfb\xdd\x27\x8f\x1d\xcf\x90\x8b\x63\x0a\x77\x65\x07\x90\x1d\x57\x50\x54\xbf\x8c\xbd\x39\x41\x7d\xe7\x01\xac\xf2\x74\x05\xb8\x6d\x71\x5c\x52\x3e\xaf\x16\x3a\x33\xe9\x29\x73\xcc\x51\x6a\x2d\x76\xed\xae\x22\x3c\xb2\xa9\x08\x05\x91\x1f\x75\x7a\x7b\x7d\xeb\xa9\xac\xd1\x70\xc2\x0c\xbf\x45\x75\x1e\xc0\xb8\xb4\xee\x4c\xe3\x22\x2b\x9a\xd0\x79\xec\x29\x7b\x92\xd2\xaf\x9c\x92\x45\x69\xd1\x2a\xd7\x2f\x69\xcb\xf6\x1e\xee\x42\xf1\x83\xfd\xa2\xb4\x70\x4d\x96\xe3\xf7\xb0\x8b\x18\xfb\xfa\x61\xdd\x3d\x69\x11\x7e\xd9\x7f\xd8\x35\x18\x3d\xfd\xa0\x20\x51\x39\xfe\xfc\x4d\x7f\x9b\x59\xa1\x21\xf3\x54\xdf\x3a\xef\xfd\xe5\x64\x91\x5e\x35\xca\x6b\xf8\x94\x7c\x9a\x5f\xcc\xd3\xab\x79\x63\x35\x4f\x96\x0d\xd0\xa6\x1d\x87\xd2\xf7\x0d\x0d\xab\xc6\x56\x0c\x79\x67\x38\xdd\x01\xbc\xdf\xdb\xdb\xdd\x7b\xf4\x64\x4f\xef\x7b\x0f\x7a\x8f\x1e\xec\xeb\xfd\xdd\xaf\xb5\x11\x86\x75\xe9\x38\xf3\xdc\xa5\x74\x87\x75\x23\xb3\xb5\x4b\x13\xd1\xa6\x5f\x14\xd5\x10\x89\xaf\xe4\xb9\xfc\xea\xd9\x7f\x41\x1e\x99\xc0\x50\x8e\x9c\x2f\xfc\xea\x0c\xc0\x65\x69\xa1\x65\x78\x21\xda\xf1\x9b\x45\x5b\x1e\x25\x02\xe5\xae\x52\xd7\x68\x98\xe7\x3d\xbe\xb3\x13\x71\xc9\xdd\x23\xaa\xc3\xa8\xae\xea\x7f\x36\xd7\xb2\x43\x30\xcd\xb4\xb8\xd0\x54\x41\xaf\x49\x46\xf0\x8c\xad\x84\x31\xf4\x70\x5c\xc1\x13\x80\x27\x15\x0c\xc6\x2e\x4f\x2a\x78\x00\xf0\x79\x05\x5f\x03\x7c\x21\xf4\xd3\xa9\x6e\x67\xcd\xe6\x90\x64\x84\xeb\x51\x9e\xf7\x84\x00\x4e\x37\x24\x33\x32\xca\xf3\x18\x8a\x67\x08\xce\x08\x8f\x6d\xf9\x18\x32\x26\x50\x3e\x86\xf2\x09\x82\x13\xc2\xc7\xb6\x1c\x33\x14\x94\x4f\xa0\x5c\x21\xa8\x08\x9f\xd8\xf2\x04\x32\x06\x50\x9e\x40\xf9\x00\xc1\x01\xe1\x89\x2d\x3f\x87\x8c\x6b\x28\x1f\x92\xeb\x6b\xc2\xcf\x4b\x83\xe3\x62\xb8\x37\x12\x21\xbf\x18\x3e\x18\x09\x4f\x1e\x74\xf9\xc5\xf0\xe1\x48\x44\xfc\x79\xed\x9d\xf3\x0b\xd7\x09\x59\x97\x3f\xa5\xd3\x7c\xaa\x87\x72\x14\xec\xf4\xfc\xea\x7d\xe4\x00\xf3\x7c\x8a\x3f\x22\xe4\xb5\x17\x25\x5e\xae\x5b\x4f\xae\xa1\xcd\x23\x71\x68\x05\xdb\x8e\x74\x34\x4f\xf3\x0c\x66\xd8\x06\xdd\xfc\x25\x2a\xea\xc6\x95\xcd\x23\xc6\x78\x78\xd7\x31\xd9\xab\x35\xa9\x26\x66\x7a\x9b\x6a\x03\x3c\x80\xeb\xaa\xd0\x68\x35\xb1\x83\x6d\xd8\x58\x1f\xa4\x8e\x42\x11\x52\x49\x19\x75\x5f\xec\x77\xb9\xc4\xbf\x91\x91\x4a\x7b\x8c\xc7\x20\x23\x50\x8b\x1d\x8b\x88\x4f\x44\xcc\x13\xa1\xf9\x39\x8c\xb8\x90\x7c\x2a\x14\x9f\x09\xbb\x0f\x8f\x0a\xef\x73\xd1\xd7\x59\x40\xbb\x07\xb3\x80\xb4\xec\xfb\x33\x1f\x88\x47\xc7\xc1\xd8\x23\x9f\x4d\x06\x9d\x04\x13\x8f\x0c\x2c\x90\x04\x89\x47\x0e\x2d\x70\x9e\xe7\x17\x79\x3e\x0d\xc8\x71\x91\x11\x9c\x7b\xe4\xb5\x05\x2e\x82\x8b\xaa\xde\x34\x98\x7a\xe4\x08\x01\x9f\x7c\xe8\x1e\x12\x7c\xb0\xed\x75\xc4\xdf\x44\xfc\xb7\x48\x14\xcf\xe5\xdb\xb7\xda\x13\x9d\x89\xe1\xc8\xbc\xe6\xcb\xdf\x46\xe2\xe6\x96\x0f\xf0\xef\xbb\x48\x74\xe8\xe9\x70\xf8\xef\xd3\xe1\x68\xf7\x74\xc4\x72\x7a\x7a\xca\x02\x3a\x48\xf3\xc1\x20\x80\x7f\xf9\x61\x9a\x1f\x1e\xe2\x9f\x00\xfe\x81\xcd\x1a\xa8\x20\x57\x69\x90\x5f\x0d\xd3\xfc\x6a\x14\xe4\x27\xc3\x34\x3f\x19\x05\xf9\xc7\xdc\x9c\xac\xe6\xd5\xdf\xfc\xf3\xe7\x7c\x3c\xa6\xe3\xf1\x38\x60\x41\xfe\xea\x15\x7d\xf5\xea\x15\xa4\x74\xfe\x22\x97\xf9\xb3\x7c\x32\x09\xf2\xd7\xaf\x83\x7c\x36\x0b\xf2\x2c\x0b\xf2\xa3\x9b\x1e\x7f\x72\x9b\x7f\xcf\xff\xca\x7f\xfc\x08\xf2\x2f\x5f\x82\x1c\x9f\x3c\x7b\xbf\xbd\x9d\x6f\x8f\x8f\xf2\xb7\xc7\xf9\xdb\xb7\x01\xfc\xcb\xa7\x37\x3d\xfe\xf0\x16\xf0\x3f\x60\xef\x3e\xe2\xdf\x3f\x22\xd1\x39\x55\x1d\x7e\x84\xbf\x90\x3a\xc6\xd4\xcd\x83\xdb\x0e\xff\x64\x92\x0f\x6f\x3b\xfc\xcf\x48\x74\x86\x5e\x6b\x14\x9c\xaa\x9b\xfd\xdb\x0e\x3f\xb1\xf8\x41\x87\xff\x65\xb0\x7a\x1c\xaa\x7c\x2e\x00\xa8\xf4\xc5\xa9\xd4\xe3\x50\xed\x1e\x16\x7b\x1d\x7e\x56\x15\x79\x1d\x2e\x95\xe8\x7c\xc9\x01\x06\x9a\x7e\x80\x2d\x19\x27\x3c\x54\x15\x16\x3d\x6d\xdb\xaf\xb0\xa0\xc3\x23\x28\xe9\xb6\x9e\x8c\x76\x87\xff\x9f\x6c\xfd\x38\x5d\x75\xbb\xcf\xba\xad\xd3\x55\xf7\xd1\xcb\x97\xa7\xab\xee\xe3\x2e\x00\x87\x8f\x01\x78\xf9\x04\x81\x97\x87\xcf\x01\x38\x7c\x89\xc0\xcb\x17\x2f\x47\x5e\x3e\x3c\x5d\x75\xf7\xb1\xb4\xbb\xff\xf2\xe5\x69\x67\xe4\xd1\xd3\x6c\x37\xa8\x67\x8f\x3c\x66\x0c\xcc\x84\x2b\x05\x63\xa6\xf1\x6f\xac\x44\x97\x8f\x95\xe8\xf1\x89\x12\x7b\x3c\x51\xe2\x01\x3f\x57\xe2\x21\xbf\x50\xe2\x11\x9f\x2a\xb1\xdf\x7f\x0d\x1c\x95\x1b\xb6\xb5\x37\xe2\x64\x90\x92\xbb\x3c\x72\xa5\xa3\xfd\x96\x71\xa8\x06\x55\x6a\x0e\x3c\xf9\x33\x0f\x9e\xf3\xba\x96\x51\x9c\x59\x49\xe6\x9f\xd3\x71\x48\xfc\xa0\x56\x41\x32\x51\x8b\xef\xb0\x3f\x27\x91\x49\x61\x92\x1f\x15\xd0\x80\xf0\x48\x15\x69\x0b\x7c\xa4\xc0\xc2\x39\xe0\x8e\x6a\x2f\xf3\xb1\x9b\x10\x1f\x0c\xf8\x4a\x25\x6b\x41\x9f\x11\x73\x60\x70\x37\xb0\x5d\x13\x26\x2a\x4f\xac\xdd\x47\xb2\x24\x57\x3c\x2a\x9f\x51\xef\x1b\xeb\x5b\x07\xe6\x23\xda\x3f\xa7\x11\xab\xbd\xc3\x2f\xe4\xad\x31\xc4\x67\x4a\x90\xdf\xe4\x7c\x25\x17\xd7\x67\x2f\x75\xb8\xc0\xc4\x40\x2e\xa2\xc9\xd9\xb3\xcb\x45\x32\x3d\x1b\xc8\xeb\xb3\xdf\x56\x73\x7d\xf6\xdb\x6a\x7a\x7d\xf6\x6c\x35\x5e\x65\xcb\xb3\x23\x7d\xb9\xd4\xb3\x50\x2f\xce\xde\x47\xcb\x14\x7e\xdf\xa5\xdf\x4c\xc6\xa1\x8e\x30\x41\x8a\xe7\xa0\xcf\x08\xe3\x73\xf3\x15\xf8\x02\x10\x07\xd2\x05\x61\xa0\x0b\x64\x81\x26\x50\x03\x4a\x40\xa4\x56\x3f\xc5\x17\x76\x7f\xfe\x9c\xd3\x4e\x0f\x3b\x74\xa9\x44\xe7\xdf\xa7\xd9\x2e\x0d\x7c\xb3\x9f\x6e\xf6\x6f\x73\xdc\xc4\xac\x45\x03\x9f\xc2\xd6\x6a\xc1\x1f\x96\xd3\x13\xf8\xbd\x57\x24\x5a\x98\x07\xa9\x53\xc5\x18\xa5\xc7\x79\x83\x21\x48\x7d\xe7\x2f\xec\x42\x8f\x05\xe6\x1f\x1d\x9e\x7a\xa7\x66\xd3\xd2\xc0\x37\xfb\x96\x05\xf9\x69\xb6\xfb\x05\x8a\xef\x75\xf8\x57\x25\x86\xc3\x5a\x50\x09\xe1\x9d\xb2\x61\xad\x53\x75\xb3\x67\xff\x76\x46\x7c\x48\x6a\x68\xd8\xea\x0d\x94\x57\xaf\x5e\xbd\x6a\x0d\x4f\x46\x27\x27\xad\x17\x25\xd2\x49\x81\xb5\x86\xb2\x86\x50\x7d\xe3\xb0\xfe\x85\x07\xb7\x9d\xd1\x88\x2f\xb0\xb1\x6e\xc8\xcb\x11\xe1\x1d\x1c\x08\xe4\x4b\xe5\x1f\x1c\x04\x24\x56\x20\x6f\xc7\xab\x50\x36\xca\x6d\x91\x9b\x0f\x4d\xc8\x70\xfa\x3a\xc1\xa1\x5c\xea\x53\x4a\x4f\x5b\xc0\xfa\x58\x27\xe9\xdf\x79\xc3\x53\x48\x49\x6d\xf0\x2d\x3e\xdc\xb5\x5c\xac\xac\x6b\x50\x4e\xa7\x59\x03\x50\x1a\xcb\xb4\x71\x9e\x99\xd0\xa1\xc6\xf1\x24\xc9\x30\x1a\x37\xc9\xa2\x74\xb5\x90\x63\xad\x1a\x72\xae\x1a\x57\xc9\x74\xda\x08\x75\x63\xa1\x67\xe9\x37\xad\x1a\xc9\xbc\xb1\xba\x8c\xd2\x59\x32\x1f\x37\x66\xf2\x3c\x5d\x34\x16\x1a\x83\x76\xcb\xe0\xdd\x85\x8e\xf5\x02\x68\x4f\x96\xcb\xcb\xcc\xef\x74\xc6\xc9\x72\xb2\x0a\xdb\x51\x3a\xeb\x98\x06\x15\x3f\x49\x96\xad\x74\xd6\xe9\x3d\xec\x3e\x6e\xc4\xe9\xa2\x31\x4b\x17\xba\x91\xcc\xe3\xb4\x4d\x6a\x9c\xa9\x7e\x89\x5c\xb6\xcf\x12\xcf\x79\x69\x83\x34\x8a\x87\xeb\x0c\x7b\xeb\xe2\x64\x22\x6b\xbd\xf3\xa4\xc3\x1c\x81\xde\xef\x75\xbb\x4e\x15\xa8\xf4\x10\x2a\xd9\x97\x67\x9c\x82\xcf\x84\x3f\xba\xa3\xe4\x33\xe1\xfb\x7c\xa7\xeb\x96\xfe\xb0\x6f\xd7\xe0\x91\x2e\xb0\xbe\xcf\x84\x9f\x19\x86\x08\xe8\x15\x7b\x34\xd5\x3f\x47\xfc\x53\x05\x7f\x26\xfc\x4b\xc4\xff\x74\x32\xaa\x1c\x60\x87\x36\xa7\x28\x1a\xf1\x18\x39\xaa\xa5\x55\xf6\x37\x34\xaf\x88\xc6\x6a\x24\xf6\x9c\x5b\xb0\x81\x34\x87\x06\xc7\x57\xe9\x61\x32\x4e\x96\xf8\x24\x4d\xc8\xfc\xaf\x34\x64\xb7\x96\xce\x76\x2a\xdb\x2b\xde\x32\xbe\xa5\x40\x6c\x91\x2b\xc0\xd3\x3d\x0a\x7f\x0f\xf6\x7f\x09\x7a\x4f\xba\x5d\x7f\x4f\x3f\x60\xb7\xc8\x9e\x96\x4a\x3c\xa7\xa4\x78\x23\x87\xf0\x9d\x1e\x03\x31\x79\x05\x62\xf2\xea\xca\x88\xc9\xab\x94\x18\xc7\x1f\x8e\x3f\x39\x81\x32\xd8\xca\x50\x76\x02\x65\x45\x68\x0a\x4e\x00\x22\x72\x72\x65\xa0\xa2\x88\x93\x13\x33\x23\x57\xa5\xc0\xba\xba\x72\x67\xe4\xa4\xcc\x3f\x39\x29\xf3\xff\xa0\x43\xa8\x80\xa8\x80\x01\x65\xdb\x44\x51\x38\x54\xd5\xd3\x1a\x3d\x56\x3c\xe0\x8a\x3d\x5c\x29\x71\xa3\xd2\x2b\xbf\xcb\x55\x7a\xed\xef\xdf\x42\xf7\x90\xdb\x0c\xe1\xe7\x90\xf0\x07\x23\x0e\x29\xe8\x48\xf9\xfc\x88\x69\x7c\x05\x22\x86\xe9\x00\xd6\xf9\x2b\x2a\xd2\x87\x84\x1f\xdb\x05\x82\x80\xc9\x5b\x6f\x24\xbb\x89\xdc\x87\x4e\xec\xfb\xb2\xd5\x53\x26\xee\xbb\xd6\x66\x62\xbe\x29\x87\x91\x80\x2e\x90\xcc\xeb\x31\xfb\xdc\x09\xd6\x37\xa5\xf3\x6c\xa9\xa5\x6a\xff\xf7\xdb\xff\xd1\xc3\x5f\xc8\xe6\x1d\xda\xbb\x0e\xbd\x5c\x37\xee\x81\x8d\x55\x92\xb7\x8c\x5f\xad\xb7\x54\x7e\xff\x59\x4b\xa1\xf4\xff\x51\x4b\x25\xde\x64\x2b\x5b\xda\xff\x4d\x52\xf2\x85\x70\xe2\x13\xc6\x31\xfd\xc5\x9c\x87\xbf\xc3\x6c\x69\xb4\xa5\x2f\x36\x09\x33\x0a\xe5\x5f\xbe\x6c\x9f\x4d\x7b\xc5\x7e\xa7\x0b\x8a\xce\xf2\xc7\x4c\xe0\x15\x61\xbb\xe8\xbe\x2b\xd1\xb1\xc2\x38\x47\x21\xdc\x19\x83\xc8\x70\x2f\x13\x6c\x4e\xf9\x35\x54\x3a\x6d\xb1\xc0\xe8\x05\xbb\xec\xb4\xcd\x02\x0a\xf2\xe6\xd4\xc7\x1f\x1a\xf8\x36\x75\xda\x86\x82\x1b\xd0\xbd\x41\xfb\xfe\x01\x52\x8a\xb6\x58\xf0\x01\xaa\x06\x3e\x05\x55\x9c\xb7\x47\xbb\xec\xb3\xa1\x56\xc2\x83\x35\xf8\x10\xe1\xe3\x5a\xde\xeb\xbf\xa9\x73\x04\x1f\xcd\x2b\xf8\x84\xdd\xeb\xf4\x3f\xcb\x76\x3c\x17\xaf\x65\x15\x0b\x8b\x7d\x7a\xa6\x84\x0c\x69\x8f\x13\xa9\x14\x61\xfc\x57\x04\x5b\x3d\x4e\x8a\xb8\x35\xc2\xfa\x6b\x21\xaa\xc2\xd1\x3a\x8e\x0b\x79\xfe\x85\x20\xb9\xe7\x6b\x6b\x6d\x2a\xe7\x63\xba\x71\x99\xe5\x8d\x59\x5f\xbc\x7e\x9d\xc5\x55\xad\x41\x4a\x8e\xf5\xb2\xb1\x9c\xe8\x06\xd0\x58\xc9\xb1\x06\x69\x1d\x27\xe3\xd5\x02\xf5\xb8\x76\xe3\xd3\x66\x65\x53\xd1\xdc\xb4\x2d\xeb\x65\x6b\x42\xf3\x8e\xc0\x4e\xf7\xf3\x6e\x5c\xa9\x59\x34\x46\xae\x8d\xc7\x3f\x97\x9e\xc0\x5b\x3f\x6f\x4a\xd0\x57\xaf\x7e\x5e\xcd\x32\xe1\x5a\xcd\xc3\x90\x92\xf1\x18\x3e\x48\x0a\xaa\xa4\xca\xdd\x92\x0d\x4a\x5c\xc5\xeb\xd7\x0a\x36\x4b\xac\x24\xb0\xdc\x73\x3c\xae\x89\x03\x9b\xfb\xea\x95\xd9\x7c\xaf\x4a\x29\x3d\x2e\x53\x40\xb2\x92\x0e\xd0\xa0\x0a\x32\x1f\xac\xa4\xb7\x69\x70\x05\xdb\x16\x55\xd2\xdc\x76\xc9\x66\x80\x54\xb1\x7d\x2c\xfa\x6a\xbb\x60\x2a\xfe\xad\x84\xd9\x2b\x25\x8c\xa5\x65\xfa\x32\xaa\x89\x6f\xe3\x55\x8c\x86\xfa\x27\x12\xfc\x35\x25\x1f\x8d\x3d\x58\x46\x9c\xe2\x30\x15\x00\x27\x1f\xcd\x08\x7d\x24\xfc\x0f\x94\x32\x90\xda\x66\xb8\x3d\xd8\xa5\xc6\x76\xb3\x64\xad\x7c\x33\x42\xda\xca\xb6\xa5\x2e\xc4\xda\x52\x83\xa0\xb2\xf2\xac\x14\xbc\x87\x87\xee\x20\x1f\xa6\xeb\x5f\x2a\xb8\x6a\x10\xd6\x4f\x7f\xfd\x70\xeb\x91\xb1\xb5\x22\x8d\x4c\x24\x23\x3e\x31\xea\xd2\x26\xdd\x10\x9f\xa4\xfb\x4a\x8b\xff\x24\xe1\x24\xc2\x37\xb3\xf0\x35\x16\xdc\xf5\x87\xa8\xa4\x98\xeb\x5b\x3b\x5d\x54\x50\x14\x0c\x1b\x51\x56\x68\x1b\xc5\x44\xa9\x7f\x60\x5b\xbb\x91\x54\x35\x1b\x5d\xfd\x4f\x64\xb6\x18\xfb\xea\x7f\xa3\x54\x27\xa2\xed\xf2\xb0\xa5\xa6\xa3\x2f\x6c\x66\x15\xb4\x5c\xea\x2b\xc4\x3c\x2d\x64\x77\x9f\xc9\xd0\xb5\xbd\x67\xf2\x5e\x98\xc9\x57\xe5\xe4\xeb\x32\xf5\xa2\x4c\x41\xfb\xad\x0f\x41\xd5\xd3\x16\x80\xd5\x0f\x69\x53\x6c\x0a\x36\x85\xa5\x71\x91\x57\x8e\x82\xf5\xc8\xc2\x7e\xf1\x9f\xc9\x84\x6d\x25\x54\xcd\x39\x60\x1b\x2c\xa4\xdd\x6a\x0a\xbb\x03\xcd\xbf\x63\x93\xd6\x54\xbf\x17\x4a\x90\xa3\xd5\x5c\xc9\xeb\xb3\x41\x8a\x3f\xc7\x2b\x9d\xc1\xef\x89\x56\x73\x93\x3a\x9e\xac\x16\x98\x78\xb9\x48\xe0\xe7\x48\x2e\x57\x0b\x18\x23\xd7\xde\x7f\x69\x08\x01\x15\x20\x01\xd5\xa1\x22\xd4\x81\x0a\x35\xdc\x57\x88\x7b\x36\x48\xcf\x8e\x57\x67\x27\xfa\xec\x78\x72\xf6\x72\x71\x76\x24\x5d\x24\x58\xc1\xaf\x89\x35\x38\x91\x73\x9b\x33\x27\x9c\xdd\x09\x14\x4c\x26\x3f\x67\xe9\x36\x2c\xec\x7e\x6f\x2f\xcf\x7b\x7b\xb7\x8c\x1f\x85\x94\x48\x73\x93\x10\x92\xcf\x50\x95\x87\x69\x47\xc2\x9c\x4c\xcc\x84\x4b\xc2\x8f\x43\x4c\x3d\x2b\x53\xaf\xcb\x09\x9f\x94\xa9\xd7\xaf\x5d\x5e\x30\x99\x94\x10\x6c\xe9\xd7\x84\x03\xc2\x88\x27\x56\x4f\x92\x84\x93\x67\xdb\xd5\xa4\x24\xfb\x30\x73\xe6\x1e\xdf\x45\xc3\x3b\xb2\x65\x88\x1a\x4e\x2e\x50\x99\x40\x33\x27\x5b\xc8\x84\xf8\xca\x1b\x4c\x2c\xc7\xc5\x51\x3c\x04\xb7\xd3\xb5\x13\xfd\x5a\x89\xce\x50\x5e\x8e\x4e\xdb\xc1\x2c\x38\x6d\x07\x9d\x84\xbf\x41\x9e\x01\x68\x59\xc9\x34\x66\x30\xb2\x60\xfb\x9b\x21\xb7\x07\x79\xc6\xad\x66\xd2\xe6\x85\x8e\x77\x88\x6a\x47\x62\x36\xab\xf5\x7d\x06\x38\x33\x32\xe2\xe7\xca\x7c\xfb\x37\xfc\x90\x7d\x34\xb2\x34\xa0\x32\xf8\x54\x96\x15\x9f\x2a\x2f\xd8\xfd\xa0\x45\x9a\x93\xcc\x7c\x2a\x2b\x3f\x95\x65\xb5\x4f\x65\x80\x93\x91\x11\xbf\xb0\x9f\xfa\x1d\x3f\x65\x9d\xf8\xe5\xa7\x8e\xc8\xf6\xd0\xc2\xff\xfc\x87\xae\x5f\x90\xa0\xac\xd3\xeb\x76\x2b\x6b\xfd\xe8\xe8\xae\x55\x76\x57\x65\xb7\xee\x11\xda\x4e\x5d\xbe\x76\x87\xb0\x2c\x3e\xb2\x56\xfd\xe6\x12\xee\x75\x77\x37\xa9\xbb\x94\xa1\xee\xa3\xbb\xea\xfe\x7d\xe5\x23\xc2\xf7\xef\xa8\xad\x1f\xfc\x7d\xed\x23\xc2\x1f\xdf\x55\xfd\xe1\x7f\x51\xfd\x88\xf0\x5f\xee\xaa\xff\xe8\xbf\xa9\x7f\x44\xf8\x93\xbb\x08\xec\x6f\x27\x80\x6b\xb8\x9a\x06\x73\x19\x04\x16\xd5\x11\x58\xab\xa8\x3d\x00\x60\xa0\xa3\x02\x32\xe0\x71\x64\xd6\xd7\x5b\x13\x0f\xfd\x16\x38\x18\x94\xf5\xdf\x16\xef\x49\x3e\x15\x4f\xfa\x6f\x95\x27\xc8\x11\x61\xef\xe8\x5b\xc5\xef\xd9\xff\xc8\x08\x71\xef\x40\xfc\x08\x88\x27\xa1\xa1\x3d\xb0\xdb\xa4\x3a\x0b\x2b\x17\xf0\x0f\x2b\xce\x7e\xa4\x73\xfd\x2c\x0c\x2d\x1b\xfc\xe1\x66\xbf\x93\x33\x4d\x0c\xa1\x77\x4a\xcc\x1d\x23\xe3\x9d\x6a\x4b\xa5\xc4\x33\xc5\xdf\xa9\xf2\xbe\xb2\x88\x42\x04\xa7\xe9\x5c\x0b\x85\x69\x95\xc4\xb1\x48\x30\x89\xd7\x4f\xc5\x0a\xd3\xe6\x24\x4f\xcc\x0c\xb0\x48\x67\x62\x5e\x26\xdf\xa5\x57\x22\x45\x68\x99\x8a\x4b\x9b\x80\xcc\xaf\x98\x1e\xeb\xa5\x78\x09\x09\x2b\xab\x9e\x2d\xc5\x73\x2c\xb0\x37\x73\x85\xb6\x90\xb9\x94\x2b\xe2\x12\x5c\x5e\x69\x3d\x17\x63\x0b\x1f\xc9\x99\x16\x13\x0b\x98\x77\xda\x9f\x21\x04\x06\x86\x78\x8e\x1d\xb3\xf7\xbd\x16\x61\x05\x80\xda\x20\x32\xcc\x98\xc9\xef\xe2\x0a\xf1\x66\xc9\x5c\x7c\xc3\x14\x68\x9c\xc9\x7c\xfc\x72\x2a\xc7\x99\xf8\x15\xd1\xb2\xa2\xc1\xf6\x72\x91\x58\x9a\x6c\x6b\x89\x89\x5f\x95\xe9\x22\x3e\x8c\x22\xae\x6d\x87\xed\xbb\x72\x3f\x2c\x08\x5a\x98\xf8\x6e\x81\xf2\x46\xa3\x98\xda\x9c\xdf\x8e\xde\xbf\x2b\x01\x5b\x76\x81\xe0\x6a\x9e\x7c\x17\x57\x98\x2c\xfe\x2f\xe4\x6f\x08\x5d\x6b\xb9\x10\x4b\x65\xfa\xff\x56\xcb\x4b\x74\x91\x24\x12\x32\x0a\x13\x42\xbc\xb4\xe3\x53\x9a\x0f\xe2\x15\xe6\x58\x4d\x59\x54\xc9\x4c\xfc\x66\x06\x05\xcf\x15\x3e\xe3\xdc\xcb\xeb\xec\xcd\xdc\x1c\x34\x7c\x29\xc8\x0a\xfb\x9b\x89\xb9\x74\x68\x8b\x2a\x99\x89\xb4\x6c\x44\xf6\x66\x8e\x5f\x7d\xe3\xb6\xa3\xc8\x7c\x6d\x56\x18\x8c\xcc\xa1\xb2\x1f\x14\xf6\xbb\xe2\x43\x58\xd0\x80\xdc\x8f\x6e\x7d\xc8\xf8\xc3\xd6\x2d\x5d\x43\xf8\x49\x10\xda\xc2\xfe\x66\xe2\x4d\x31\xb7\xab\xa5\x16\x65\x2a\x13\xbf\x29\x33\xad\xb0\x9d\x44\x99\xca\xc4\xef\x8a\xff\x0b\xd1\xca\xcd\x26\xea\x60\x26\x06\x58\xb5\xbc\x3c\x2d\xde\x49\x0b\x8b\x0f\xb2\x5c\x63\xe2\xa3\x2c\x96\x12\x06\x3b\x8b\x3f\x4c\xe3\x64\xf6\x6c\x9a\x8c\xe7\x5a\x81\x78\xb5\x04\x8e\xec\x20\x1e\x1e\x1d\x8b\xe3\x2a\x5d\xbc\xa4\xf3\xc9\x66\xbd\x45\xba\x7f\x5a\xe8\x53\xf9\xfd\x93\x2a\x47\xfc\x55\xa4\x8f\x9f\xdb\x74\xc1\x19\xc4\x5f\x61\x01\x02\x47\x10\x9f\xcb\x81\xcf\xd0\x2f\x80\xa9\x86\x8c\x22\x9d\x65\xe9\x62\xdd\x2d\x00\x06\x3d\x60\x94\xfe\x27\xc2\x0f\x41\xa3\x55\x45\x54\x95\x71\x2d\x40\xf2\xa7\x34\x10\xa5\x20\x42\xf8\x67\x56\xac\x62\x43\x01\x53\x3f\x25\x00\x18\x55\xfd\xa5\x69\x03\x74\xaa\xee\xdc\x80\x9c\xbb\x3d\x69\xd4\x79\x91\xe9\x7f\xf0\xa8\x3d\x7e\xfc\x84\xf0\xf7\xd2\xf0\xd4\xf7\xb0\x40\xf8\x07\x25\x6e\xec\x83\x12\x3e\x19\x1e\xa7\x4a\x5e\x37\xe4\x72\xd4\x78\x7b\x4c\xb8\x7d\x5a\x02\xf3\x67\xe9\x62\x91\x5e\xd5\x8a\x60\x35\xfb\xa8\xff\x37\x86\x45\xbe\x7d\xa9\xc2\x27\xc3\xcf\x3a\x5b\xea\x85\x4b\xae\x78\xd4\xc2\x27\xc3\xb7\x32\x5b\x8e\x1a\xf5\xaa\xc5\x7b\x15\x3e\x79\x4b\x6e\xf9\x47\x25\x6e\xde\x1e\x1f\xf9\x64\x62\x6f\x76\x3f\x23\xfc\xed\xb1\x01\x31\xed\x93\xc1\xa0\x73\x78\xd8\x31\x9e\xf8\xb7\x08\x0f\x06\x8d\x43\xde\x28\x72\xd6\xb2\x1a\x65\x55\x2c\x82\x8f\xf3\xc6\x36\x84\x5b\xfe\x87\x12\xc4\xfe\x57\xd9\x0d\x63\x38\x1f\x29\x81\x81\xe7\xc7\x4a\x94\xb1\xce\xfc\x93\x12\x37\x26\xaa\xdb\x27\xc9\xbc\x71\x3f\x23\xfc\x52\x66\x4b\x9f\xdc\xcf\x1a\x72\x9c\x12\x9e\xf9\x44\x36\x62\x7d\xd5\x28\xa5\xdf\x0c\x72\x0a\xbd\x73\x36\xf3\xc9\x7d\x65\xc1\x8c\xf0\x89\x4f\xe4\xbc\x61\x74\xf7\xc9\x04\xcb\x26\x46\x97\x55\x50\x0d\x8d\x38\xa5\x30\xdf\x44\xfe\x0e\x90\x9a\x39\x1c\x1e\x0c\x0c\x31\x1b\x83\x7c\x0d\x45\xe6\x5c\xe4\xfa\x1a\x4b\x70\x89\x92\x5b\xfe\xa7\x12\x99\x23\x4b\xff\x54\xd5\x75\x05\xf1\x41\xf1\x3f\x1d\x89\x7a\x16\x02\xb8\x16\xd8\x2f\x3e\x22\xd2\x5a\xa6\x8c\x10\xd5\x89\xea\x17\x7f\x20\x9e\x9b\x13\x1a\x24\xeb\x37\x10\x47\x88\x50\x40\x51\xad\xd0\xdc\xc8\x3a\x46\x8c\xe2\x0d\x5a\xa1\x10\xa5\x0a\xc6\xb1\x19\xb5\x60\x7b\xf1\x09\xeb\xd4\xb2\xb4\xa9\x57\xc6\xf6\x88\x18\x33\x80\x07\x8d\x31\x65\x79\xc1\x27\xa4\x66\x81\x99\xaa\x4a\xd0\xd2\x17\x7f\x3a\xc5\x26\x67\xee\xe0\x98\x16\x9f\x40\x06\x8a\x9a\x0b\x89\xe8\x98\x5e\x21\x5e\x9c\x2c\x70\x77\x58\xae\x3f\x93\xf5\x4c\x94\x44\x53\x59\x10\x40\x41\xf2\x36\x2c\x89\x20\xfc\x42\xb9\xc5\x83\x64\x2e\xde\xd5\x31\x20\xeb\x55\x0d\xc9\xb4\x74\x50\x47\x33\x99\x2f\x6b\x88\xa6\x03\xef\x11\x11\x4c\x36\xf1\xc9\xd4\xa9\x5d\x2b\x12\xaf\x4d\x97\x0b\x3b\xee\xcf\x90\x5f\xe1\xe3\x0c\xfc\xa6\xe6\x1e\x2a\x76\x09\x5d\x4e\xf2\x6c\x99\xcf\x55\xbe\x50\xac\xc3\x2d\x4e\xed\xff\x37\xb4\x2f\xbc\xdd\xef\x75\x79\x24\x7a\x42\x80\xd1\x77\xbf\xd7\xed\x82\xe5\x11\x90\xe5\x84\xf8\xf8\xb2\x6c\x40\xb2\x25\xf1\xcd\xff\x2f\x40\xe6\x8a\xf8\x0f\x4c\x72\xa1\x88\x0f\x58\xe5\x01\x80\x17\xdd\xe2\x39\x0b\xaa\x52\x15\x73\x45\x78\x3b\x6b\x37\xc5\xa8\x61\x39\x72\xe2\xaa\x20\x82\x5a\xd7\x1a\x21\xc8\xfb\x5b\x62\x06\xa9\x24\x78\x6d\x18\xef\x89\x2a\xff\xeb\x6e\xfe\x97\x12\xd7\x11\x35\x7a\xfb\x67\x93\x86\xe4\x17\x9b\x4d\x18\xbf\x67\x92\x60\xca\x9f\x99\x24\xd8\x5b\x52\x63\xf2\x8a\x30\x1e\x9a\x24\xbe\x68\x65\x92\xd7\x84\x71\xa5\xc5\xb3\xa8\x66\x1e\x00\x5d\x6d\x72\xab\x8c\xb8\x40\x33\x2c\x88\xf1\xb1\xc9\x30\x7c\x87\xf1\x89\x01\x91\xdd\x30\x9e\x58\xec\xe2\x4d\x8f\x73\x03\x1b\xce\xc2\xf8\x85\x76\xfe\x0f\x12\x3e\xd5\xe2\x26\xf3\x1f\x3e\xe2\x33\xf8\x33\xf1\xf7\xf6\xb8\xf2\xf7\xf6\xf9\xc0\xef\xf5\x6e\xf9\x4c\x57\x83\x30\xd7\xf5\x33\x84\xb9\x86\x6c\x91\x46\x1c\x52\x4a\x89\xaf\x98\x2a\x75\xd6\x85\x29\xc8\xc4\x95\x4d\xb8\x16\x86\xf8\x4b\x99\x4c\x6b\x32\x8b\xcf\xaa\x40\x32\x0a\xd4\x17\x0b\xa3\x9b\x40\xdc\xb3\xd0\x21\xec\xae\x33\x0b\x18\x45\x50\x6a\x5b\xd1\xbe\x5d\x66\xc1\xcf\x28\xf4\x23\x84\x0a\xa5\xf6\x3b\x36\xc4\xc6\xde\x8b\x25\x42\x60\x2a\xfc\xc0\x54\x4d\x09\x53\x58\xb1\x80\xb4\x36\x08\xa6\x69\x31\x42\x46\xff\x1b\x63\x1a\x37\xfd\x04\x93\x46\x6f\xfd\xd5\x50\x34\x4d\x4a\xb0\xc0\x68\x21\xe7\xa6\xae\x7d\xc8\x42\xbc\x44\x3c\x57\x5b\x7f\x65\x73\xd6\x40\x54\xde\x0d\x50\x19\x1c\x25\x50\x18\x1c\x86\x56\x56\x54\x86\xcd\xe0\xc0\x9b\xa7\x31\xce\xd3\x62\xb5\x37\x50\x8a\xdd\xd0\xa0\xf3\x74\x99\x44\x1a\x0f\x63\x22\x79\x99\x2c\xe5\x34\x63\x84\xbf\x8a\x18\x7e\xdc\x5a\x41\xaf\x29\xf9\xcb\x5a\x84\x60\x4a\x18\x23\xf1\xbb\xcd\xb1\x83\x6f\x2c\xde\xef\xe5\x21\xc2\x5f\x84\x87\xc6\xeb\xfc\x17\xd9\x7a\x22\x5b\x05\x37\xf4\xf4\x83\x5d\xf7\x25\x3c\xde\xeb\x32\x7b\x30\xff\xfd\xef\xea\x7e\xc5\xff\x3f\x15\x58\xc4\x37\xbd\xc8\x92\x74\x2e\xc8\x5e\xbb\xd7\x6d\xef\x13\x1e\xd2\x43\x7c\x34\x2e\x9e\x8b\xf7\xca\xdc\x32\x11\x2f\x25\x24\xe4\x77\xf1\x0a\x12\xa0\x73\x4f\xe0\x17\xec\xa3\x2f\x61\x75\xbb\xe4\x3c\xc2\xc7\xe6\x50\x5a\xaa\xf2\xff\xd9\x15\x57\x90\x6b\x04\xa9\x98\x72\xd9\x56\xf6\xc0\x4a\x7c\x96\x88\x6f\x5e\x03\x17\x29\x97\x95\xe8\x98\x46\x45\xb0\x00\xaa\xf1\xf7\xea\xff\x6d\xaf\xb8\x36\x1f\x2a\x08\xbd\x91\x65\x23\x8c\x6c\xb8\x88\x1c\x62\x20\x55\xe6\x90\x61\xde\xc6\x7a\x6b\x5a\xf5\xdd\xc1\x30\x95\x66\x80\x33\x07\xd9\x3c\x4d\x7e\xe8\x4f\xf3\x64\x99\x89\x67\x5c\xd6\xa4\xf1\xf1\x64\xa1\xb3\x49\x3a\x55\xe2\x45\x84\xfc\x30\xd5\xa2\xbc\xcf\x91\xea\x5b\xd6\xff\xff\x03\x00\x00\xff\xff\xfa\xac\x23\x37\x57\x8a\x00\x00") +var _uiLibMomentMinJs = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\xbc\xbd\x79\x73\xdb\x38\x12\x28\xfe\xff\x7e\x0a\x19\x95\xe8\x07\x98\xd0\xe5\x24\xce\x84\x0a\xcc\xca\xc4\xb9\x66\xa2\x1c\x63\x67\x3c\x89\xac\x75\x81\x04\x28\xd1\x96\x44\x47\x94\xe2\x38\xa6\xf7\xb3\xff\xaa\x1b\x20\x09\x4a\x72\x66\x67\xeb\xbd\x57\xa9\xb2\xd0\x40\xa3\x89\xb3\x2f\x34\x90\x4e\x67\xa7\x31\x4b\x67\x7a\xbe\x6c\x9f\x67\xff\x02\xe8\x9b\x5e\x64\x49\x3a\x6f\xf8\x8d\xbd\x76\xaf\xdb\xde\xc7\x4c\xb9\x5a\x4e\xd2\x45\xd6\xf0\x1b\xc7\xc9\xac\x71\x92\xa6\x8a\x37\xde\x64\x17\x0b\x3d\x6f\x3c\x9f\xe8\xc5\x5c\x7f\xe3\x8d\x41\x41\xa6\x11\xa5\xf3\xe5\x22\x09\x57\xcb\x74\x61\x68\x4e\x93\x48\xcf\x33\xdd\xf0\x1b\x83\x37\xc7\xff\xaa\xbe\x79\x9e\xb5\xa3\x74\xf6\xaf\x9d\x78\x35\x8f\x96\x49\x3a\xa7\x92\x87\xec\x86\xa4\xe1\xb9\x8e\x96\x44\x88\xe5\xf5\xa5\x4e\xe3\x86\xfe\x7e\x99\x2e\x96\x59\xb3\x49\x56\x73\xa5\xe3\x64\xae\x15\xd9\x29\x0a\x67\xa9\x5a\x4d\x75\x60\x7e\xda\x16\x55\x84\x94\xf9\xa4\x20\x5b\x51\x32\xb5\x9b\x4d\xf3\xdb\x96\x33\x15\x98\x24\x0d\x99\x2f\xdb\xa6\x55\x50\xf9\x96\x2e\x27\x49\xc6\xcb\x86\xb1\x1b\xb2\xca\x74\x23\x5b\x2e\x92\x68\x49\xfa\x45\x7e\x43\x52\x76\xb3\xd0\xcb\xd5\x62\xde\x78\x1d\xb5\xe5\xe5\xe5\xf4\x9a\xce\x57\xd3\x29\x97\x8b\xf1\x0a\x88\x65\xec\xb6\x44\x0e\xa9\x64\x37\xaf\x23\x21\xab\xac\x08\xb2\x0c\x01\x32\x34\xfd\x6e\x3c\x5b\x2c\xe4\xf5\x88\x08\x21\xde\x63\x46\xfb\x72\x91\x2e\x53\xe8\x41\x7b\x99\x1e\x2d\x17\xc9\x7c\xdc\x8e\xe4\x74\x4a\xa5\x43\x5b\x55\x84\x1a\xb2\x91\xcc\xb3\xa5\x9c\x47\xd0\xe5\x43\xb9\xd4\x79\x5e\x12\x07\xf0\x9f\xd2\xd6\x66\x5e\xbe\xc9\x45\x23\xe2\x4a\x0c\x47\xfd\x38\x5d\xd0\x48\x74\xfb\xd1\x53\xd9\x9e\xea\xf9\x78\x39\xe9\x7b\x5e\xc4\x54\xfb\x72\x95\x4d\x68\x48\xe5\x30\x1a\xf1\x88\xb1\xbe\x6d\x91\xaa\x88\xc5\x86\x98\x2d\xd8\x68\xc5\x44\x66\xef\xaf\xe6\x1f\x16\xe9\xa5\x5e\x2c\xaf\x6d\x5b\x78\xe8\xb4\x66\x6c\x08\x40\x13\xb0\x45\x8d\x64\xde\x08\x59\x4c\x43\x1e\xb1\x66\x13\x3f\x2d\xc2\x61\x34\x2a\x3f\x0e\x45\xa4\xe8\x1d\x41\x9c\xb2\xb3\x22\x2c\x93\x8c\x23\xe2\x37\x39\x5d\xe9\xf7\xb1\xc5\xb3\x90\x08\x8b\x14\xe3\xce\xec\x4d\xa0\x29\x3c\xe2\xaa\xec\xcf\x73\x59\x64\xf1\x9d\x2e\x6b\xaf\x96\x11\x75\x9a\x9e\x94\xab\xe5\x46\xcf\x2e\x97\xd7\xfe\x4e\x8f\xaf\xe6\xab\x4c\xab\xe3\xf4\x42\xcf\x33\x7f\x38\xb2\xf0\x9b\xf9\xe5\x6a\x09\x60\xfa\x4d\x2f\xe2\x69\x7a\xe5\xb7\xf6\x78\x34\x91\x8b\xec\xad\x8e\x97\xef\xbf\xe9\x85\xdf\xe5\xb0\xd0\x0c\xe2\x4e\x8f\x27\xf3\x6f\x72\x9a\xa8\x41\x3a\x5f\x4e\x7c\x5c\x82\x36\xe7\x65\xba\x98\x49\x44\x59\x65\x7a\xf1\xc6\x64\xca\xa5\x56\x58\x2b\x4b\xfd\x9d\xde\x6d\xd5\xc4\x73\x67\x1d\x01\x15\x21\x64\xfb\xec\x32\xc6\xc1\x38\xbb\x8c\x45\x42\x19\xe3\x98\xac\xea\x5c\x40\x9d\x24\xa6\x25\x7e\x92\xfd\x09\x1f\x31\x4b\x26\x14\x40\xb3\x5f\x65\x8b\x1d\x9a\x64\xef\xe4\x3b\xa0\xa8\xda\x63\xbd\x3c\x4e\x66\x9a\x32\x96\xe7\x3b\x34\x6c\x17\x1d\x7e\xda\x65\x79\x1e\xb6\x71\x9c\x20\xe1\xf6\xcf\x81\x4f\xb4\xbe\x50\x12\x31\xca\xe1\x70\x8a\x4d\xe7\x21\x63\xad\xf3\xd8\x09\xb3\x9d\x4d\xdf\x8a\xc6\x55\xc9\x66\xb3\x2b\x84\x08\xdb\xb5\x61\x2f\x32\xdd\x69\xb3\x5b\xa0\xd9\xfc\x96\x26\xaa\x61\xca\xc3\x64\xfc\x3a\x5d\x2d\xd8\x6d\xb1\x27\x4b\xb2\xd5\xb8\xc1\x2e\xb3\x43\x34\xa1\xef\xe4\xbb\x72\xc5\x42\x4f\x76\x84\x0c\xc6\xf4\x9c\x86\x8c\x4b\xe6\xc3\xef\x7a\x17\xc4\x4e\x97\x87\x15\xb5\x59\x6d\x97\x72\xdd\x4f\x62\xba\x8d\x61\x86\xd0\x92\x67\x86\x5b\x9b\xed\x57\x0c\x40\x2d\x53\x6c\xe2\x31\x7e\x17\x3d\x4b\x01\xeb\xdc\x89\x65\x17\x11\x6c\xa6\xb3\xf8\x4e\xac\xa9\xc1\x9a\x02\xd6\xf4\x4e\x2c\x77\xe6\x4c\x5a\x94\xb9\x77\x56\x5a\xfe\x98\x99\x1a\xcb\x1f\x33\x61\xe0\xbb\xbb\x94\x7d\x3a\x7e\x5e\x0c\xcc\xa7\xe3\xe7\xa2\xc8\xbb\xb3\x46\x1a\xc7\x99\xb6\x4d\x32\x69\x51\xe6\xde\x59\xc9\xd9\x59\x30\xc5\x77\x8f\x4a\x1a\xc9\xa9\xb6\x43\x83\x69\x51\xe6\x32\xfe\x5b\x64\x97\xe0\x41\x97\x21\x6b\x06\x9e\xf8\x5b\xc4\x94\xf8\x2d\x02\x4e\xac\x45\x38\x54\xa3\xad\xb4\x91\xe6\x50\x8d\x84\x2e\x57\x9f\xc3\xe0\xe6\x34\x64\x37\x33\x23\x0b\x43\xc6\xe1\xb7\x7d\xa6\xc4\x5c\x5f\xa1\x20\xa1\x66\xa1\x86\xed\x33\x15\x84\xb5\xcd\xec\xc3\x72\xe6\xbf\x47\x42\x88\x9d\x5e\xb3\x49\x7f\x8f\x60\xb5\xca\xf6\xea\x12\x96\xee\x7b\x1c\x14\x24\x8b\x48\x3b\x3d\x87\x49\xa6\x77\x49\xb2\x79\x9e\xdb\x8d\xd1\x6c\xda\xc4\xc6\x12\xad\xc8\x5c\x3a\x64\xba\x07\x32\x18\xc8\xe5\xa4\x1d\xe9\x04\x36\x9d\x8f\x40\x3c\x4d\xd3\x45\x4d\xd0\x7d\xad\x36\xa4\x27\x39\x08\xb8\x82\xc0\x8e\x10\x61\xb3\x99\x64\x2f\x93\x79\xb2\x04\x6d\xa1\xd9\xa4\x91\xb8\xc4\x29\x8b\x2a\x02\x0b\xc3\xfd\x0d\x11\xc5\xb5\xc0\x0f\xcd\x92\x39\x2d\xe4\x24\x0f\x6d\x82\xf1\xd8\x94\xca\x30\x2b\x4b\x5b\x55\xe9\x58\x74\x51\xcc\x2a\xd1\xed\xeb\x03\xd5\x57\x9e\xc7\x68\xd4\x6c\xc2\x64\x41\x6b\x86\x6a\x94\xe7\x3b\x51\xb3\xf9\x15\xe7\x8f\xed\x08\xf1\x95\x42\x2e\x63\xcd\xe6\xd8\xf3\x8a\xa6\x8f\x3d\x87\x53\x67\x94\xdd\x54\xd0\xd2\x1d\xe9\x00\x84\xe2\xdb\xf4\x4a\x2f\x9e\xcb\x4c\x53\xd6\x5e\xe8\xcb\xa9\x8c\x34\x25\x67\x84\x93\x16\x61\xbe\xb3\x2e\x56\x50\xb3\x90\xc0\x46\xdc\x69\x1e\x43\x8b\x2b\x85\xc0\x20\x68\xb1\xa4\x72\x18\x8f\x58\x3b\xbb\x9c\x26\x4b\x0a\x94\x78\x28\x74\x31\x1c\x91\x29\xf7\x7a\x23\xc6\x23\x11\x05\x91\x83\x87\x62\xac\x1f\x1e\x74\xfb\x28\x5e\x94\xf8\x46\x75\x3b\x03\x65\x92\x76\x79\xc8\xda\xe7\x69\x32\x47\x44\xc6\x0a\x3d\x03\x98\x5e\xd4\x6c\x96\xfb\x01\x66\x6d\x41\x35\x8f\x40\x1c\x1f\x88\xb0\xd5\x63\xe1\x42\xcb\x8b\x7e\xd8\x6a\xdd\xc6\x9e\x77\xeb\x70\xdc\xaa\x7b\xdf\xaa\x75\x80\x4d\x48\x62\xba\xf3\x36\x1a\xca\xd1\xcf\x54\xd0\x66\xb3\xfe\x5b\xe8\xa2\x6c\xb9\xb8\xbe\x09\xc5\x9b\xa8\x7d\x26\xc3\x70\xc1\x17\xfa\xeb\x2a\x59\x68\x4a\xda\x1d\xb3\x7f\x3b\xc4\x93\x8c\x5f\xd1\x90\xdd\x46\x72\x19\x4d\x68\xc4\x6e\x8a\x76\xe1\x57\xab\x86\x5d\x39\x3c\xbe\xdc\xae\xb8\x14\x9d\x76\x95\xda\x6e\x18\x5c\xc3\x62\xff\x8e\x95\x78\xd4\x6c\xd2\x37\x91\x88\x18\xe3\x45\x5b\x2a\xc2\xdf\x6b\x5a\x99\xd9\x5d\x22\x0c\x68\xd8\x06\x3c\x21\x39\x36\x44\xe0\xdf\x3c\x87\xfd\x9f\x99\xac\x36\x6c\xe4\x10\x9a\x2f\x99\xc9\x61\x3e\x55\x7a\xaa\x97\xda\x34\x1e\xb5\x14\x67\x8f\x5d\x97\x63\x0b\xc3\x2a\x9b\x4d\x59\x71\xb7\x32\x69\x9a\x07\xac\x49\xac\xe5\x31\xbe\x23\x8b\xd9\x7e\x13\xe1\xcc\x80\x0e\x8d\x0b\x24\x14\x30\x71\x45\x69\xd8\x97\x02\x06\xcf\x82\xab\xda\x4e\xff\xe1\x0c\xa4\x58\x5b\xf9\xfd\x01\x30\x4d\x01\x7f\x3d\x92\x11\x4c\x85\x23\x57\x6b\x7f\xe6\x68\xed\x99\x51\x2b\xcb\x41\x97\xc1\xc0\x0c\x12\xfc\xd4\x09\x8f\x7c\xa3\x20\x54\x84\x7e\x2d\x07\x03\xf6\x90\xb8\xb9\xed\x97\xec\x5b\x32\xd0\x94\x51\xa5\x0d\xc5\x33\x1a\x31\x1e\x36\x9b\x54\x61\x4b\x40\xbb\xdd\xa6\x5b\x3f\x47\x25\xb8\x98\xc5\xd2\x78\x51\x6b\x13\xab\x02\xfa\xc2\xf2\x74\x8e\x8a\xd0\x06\x57\xe6\x91\x61\xf6\xcc\x3f\x2c\x98\xbf\xa3\x23\x1e\xd6\x16\x0b\x68\x71\x43\x32\xd6\x4b\xe2\x95\xd2\x32\x20\x9f\x8e\x9f\x13\x9f\x10\xe6\x85\x23\x57\x03\x7e\x51\x30\xc8\x5a\xe5\xec\x27\x95\x23\xa7\xf6\x4b\x77\xf9\x83\x7a\xb3\x6e\x29\x4a\xe6\x8c\x1f\x4a\x2b\xe8\x51\xc4\x71\xc4\xfa\x7a\x9a\xe9\x06\x2c\x3a\x01\x13\xc8\xb7\xd8\x87\x50\x05\x96\xb0\x6d\x9d\x05\x69\x58\x0e\x36\xe4\x54\xed\x79\x55\x63\xf7\x82\x10\xaf\xe2\xe8\x0c\xa4\x6e\x4b\x15\x7c\x2e\x16\xf2\xa0\x94\x27\x34\x0e\xa2\x80\x78\xd0\x47\x1f\xf8\x97\xa9\x76\x99\x5e\xd1\x5e\x97\x1b\x91\x21\xbf\xd3\x2e\xd7\x8c\x95\xe6\x09\x65\xed\x6c\x15\x66\xcb\x05\xed\x31\xcf\x99\xf3\xd7\x95\x0d\x02\xad\xd0\x42\xf5\x37\xd6\xa4\x6a\x36\xa9\x16\x8e\x31\xeb\xf6\x4f\xc1\x04\x31\x0e\x6c\xe4\x23\x6e\x72\x6d\x96\xda\xc7\x68\x18\x0e\xbb\xa3\xd1\x96\x7a\xaf\xa8\xb6\xb6\x2e\x2e\x8e\xca\xd6\xe5\xe1\xb0\x37\xe2\xe1\x70\x6f\x04\x24\x23\x43\x25\xda\x46\x02\x27\xc7\x6c\xec\x43\xb9\x94\x94\xb5\xd3\x85\x4a\xe6\x72\x7a\x27\x69\xc9\x6e\x9d\xa5\xf0\xc6\x95\x5d\xed\x19\xf2\xcd\xce\xe9\x70\x78\x9a\x9d\x1e\x8d\x3a\x2c\x90\xa5\xfc\xea\xfc\xfb\x74\x98\x9f\x8e\xee\x75\xc6\x9c\x80\x14\xab\x0a\x4e\x4f\x4d\x5e\x45\xf5\xb7\xfa\x7e\x2c\x08\xbf\x8b\x18\x6e\xcc\x50\x74\x79\x24\x8a\x39\xed\x47\x07\x61\x3f\xf4\x3c\xf6\x31\x1a\xc2\xbe\x1c\x05\xb8\x3b\x0b\xc8\x47\xe8\x0d\x6e\xd9\xca\x16\x2d\x06\x42\x9b\xef\xc4\x82\x90\x82\x74\x49\x2f\xf6\x04\x54\x72\x54\x9f\x97\xb6\x1a\x7e\xc1\x18\xc5\x1a\xcc\x02\x00\x4b\xd2\xce\x0e\xfd\x7d\x6d\x87\x5a\xd3\x83\xb2\x80\x86\xe2\x2d\x0d\xb9\xac\x8d\x3d\xe3\x1f\x90\xc5\xe1\xdf\x3c\xff\x0d\x18\x3a\xa6\x81\x9d\xfa\x75\xdc\xc2\xb2\x42\xfd\xcf\x19\xba\xb7\xd6\x2c\xdf\xe2\xd9\x68\x84\xed\x69\x3a\x1f\x43\x0d\x63\x8f\x51\xc9\xf2\x5c\xde\x9a\x5d\xf3\x08\xfb\xff\x3e\x6a\x4f\x65\xb6\x7c\x33\x57\xfa\xbb\xe8\xf6\xd5\x81\xe8\x36\x9b\xef\xa3\xf6\x52\x67\x80\xde\x67\x20\x09\x8a\x99\x7b\x1f\x01\x83\xaa\x57\xe1\xaa\x25\x7a\x5b\x54\xd8\x81\xc3\xab\x37\x37\xbc\x6c\x36\x4b\xd7\x48\x31\xc8\xff\xd4\x3d\xf2\xae\xe0\x02\x4a\xc1\xf6\x19\xd0\x90\x05\xa1\x5f\xf9\xb4\xaa\x79\x68\x36\xa3\x20\xf2\x43\x67\xa2\xde\xd7\x26\x2a\xa6\x4a\x71\xc9\x02\x24\x44\x4b\x83\x86\x57\xaa\xbe\x0f\xa2\xf7\x0f\x3d\x7e\xf1\xfd\x92\x7e\x80\xd9\xa9\x48\x7d\xa8\xed\x88\x52\x7b\x3b\x3d\x25\xb0\xc6\xdd\x55\x4f\x4f\x87\x2c\x87\x9f\x11\xcb\x4f\x87\x74\xf8\xef\xd3\xd1\xe9\x70\xb4\xcb\x4e\x47\x90\xdb\x66\x9d\x31\x77\x3d\x72\x46\xbd\xab\x26\x33\xcf\xa3\x3c\x57\x79\xae\x6f\x1d\xaa\xc3\xd6\x69\xe7\xf4\xf4\xdf\xf7\x76\xbd\xa0\x4d\x59\x3e\x3c\x1d\xdd\xdc\x8e\x60\x7b\x9d\x9e\xde\x6b\xba\x5b\xec\x63\xdd\x99\x14\xe2\xec\x6f\x4a\x51\x94\xfd\xc0\x8a\x39\x99\xaf\x66\xa1\x5e\x38\x6a\x0d\xc8\x41\xe1\xb4\x30\x62\x37\xb8\x7c\x41\x7d\x07\xb6\x53\x77\x4c\x45\x9e\xc7\xb4\x1a\x82\x08\x18\x09\x87\x71\xfe\x61\x1a\x02\xed\x71\x69\x99\xbe\xaa\xf6\xd9\x95\x80\x3f\x79\x7e\x73\xcb\x43\x2a\x39\x00\x58\xe6\x72\xa1\xa3\x62\xea\xad\x21\xd4\x6c\xc6\x54\xc3\x14\x36\x9b\xda\xcc\x21\x07\x55\x8b\x47\xdc\x5d\x30\xc7\x75\x65\xab\x30\xa6\xe0\x4f\xfb\xd3\xf1\x73\x28\xf5\x7a\xbc\xcb\x18\xd8\x53\x9f\x8e\x9f\xaf\x6f\xb5\x4f\xce\x4c\x1b\x93\x6c\x96\xce\x97\x93\x6c\x28\xdb\x98\xa0\xcc\x51\x19\xff\xbc\x03\xf9\x68\x92\x2e\x96\x5b\x6b\x9c\xac\x19\x31\x3c\xc6\x39\x72\x2b\x7f\x90\x8b\x4c\xe7\xf9\x66\x9e\x18\x8e\xac\x95\x08\x3b\x7e\xb0\xad\x20\x83\x0f\xd7\x4b\x18\x07\x2b\xa7\xb7\x67\xcd\x1c\xd0\xe5\xb4\x98\xd0\xe1\x9e\x7e\xc0\xd5\x08\x05\xc9\xce\x56\xaa\x43\x35\x6a\x36\xe9\x5d\x45\xc2\xd9\x2c\xe4\xdf\xc4\x43\x3c\xd3\x58\xaa\x6b\x9b\x82\xb4\x71\x93\x78\xe4\x1e\xe1\x24\x21\xec\x8e\xa6\xfe\x9c\x26\x8e\xe8\xdf\x10\x66\x3c\xca\xf3\x8d\x51\x43\x5b\x8e\xc6\x62\x6b\x23\x3d\x92\xdf\xf9\x1d\xbe\x8d\x94\xdb\xc4\x78\xbd\x25\x45\x2b\x9a\x4d\x32\x18\x0c\x06\xc0\xea\xc2\x66\xf3\xae\x11\x2c\xd8\xef\xba\x7d\x45\xd6\xab\x6e\x19\xa9\xad\x75\xc1\x60\xdd\xd6\xe6\x0d\x64\x87\x47\xfe\xb5\x69\xf4\x6c\xf0\x8b\x10\xd5\xe4\x35\x49\xe5\x7c\x02\x24\x5a\xc1\x48\x2a\xbf\x0a\x0b\xa4\x4f\x23\xd7\x48\x57\xb8\xd5\xf8\x31\x95\xed\x6b\x2d\x17\x94\xf1\xd0\xf8\x3b\x7f\xa6\xa5\x12\xec\x38\xc1\xdd\xce\x6a\x3b\xfd\x33\x5d\x37\xaa\xc2\x80\xfe\x55\xfa\x53\xb6\x69\xde\x3b\xdd\x35\xd5\xdb\x52\x77\xa8\x7e\xa9\xd4\xa8\x63\xb3\xf8\x6d\x5b\xab\x45\x42\x5d\xc9\x70\xcf\xd1\x6a\xc0\x9e\x92\x85\x98\x8c\x9a\xcd\xd6\x9e\x10\xe8\xa0\x2d\x1d\xaf\x38\x92\xd1\x70\xac\x46\x4f\xbb\x79\x8e\x89\x83\x5e\x2f\x18\x2b\x3f\x1a\x4e\xd4\xe8\x69\x0f\x32\x27\x6a\x74\x70\x4c\xa3\x61\xac\x46\x1c\x51\x58\x30\x01\x84\xa4\xa8\x95\xa8\xd1\xc1\xde\xc3\x3c\xdf\x7b\x28\x84\x40\xb0\xd9\xa4\xdd\x1d\x48\x9f\xc3\x6a\x37\xc9\x8b\x2a\x39\x05\x1a\x09\xd0\x38\x2f\x68\x9c\xab\xd1\xc1\xa3\x27\xc1\x39\x64\x5e\x14\x99\x17\x26\xf3\x02\x32\xa7\x45\xe6\x54\x8d\x0e\x9e\x3c\x79\x12\x4c\x95\xdf\xea\x71\xec\xce\x59\xd1\x9f\x43\x79\xfd\x3e\xfe\xac\x25\x98\x93\xb1\x3a\x08\xf3\x3c\x3c\x98\x28\x63\x57\x4d\x14\xe3\xb5\xce\x8b\xb0\xe6\xe0\x3f\x83\xf9\x93\xed\x6c\x75\x79\xb9\xd0\x59\x76\xa8\x2f\x17\x3a\x92\x50\x74\x22\x17\xf3\x64\x3e\xce\xac\x83\x6b\x9b\x5b\x20\x4a\xe7\x59\x0a\x66\xad\x4d\xb4\xaf\xe4\x62\x5e\x87\x28\x71\x48\x36\xae\x0c\x4d\xbf\x41\x3c\xf7\xc0\x43\x4a\xd7\x58\xdd\x29\x9d\x52\x63\xba\xa9\x56\x83\xca\x7d\x46\xa5\x47\x4e\xe7\xc4\xa3\xc0\x08\x5e\x2c\x16\xe9\x82\xb5\xb3\xa5\x8c\x2e\x40\x36\xee\xf4\x18\x0f\xb7\xab\xd8\xb7\xb5\x73\x96\xd0\x7e\x36\x55\x68\xce\x52\x18\x0b\x8e\x80\xd8\xe9\x3a\x78\x91\x5c\x57\x9a\xcf\x12\xae\xc5\xa5\x6a\xeb\xef\x3a\xa2\x8a\xc1\xbe\xd7\xc6\x1b\x84\x63\x9d\x64\x29\xba\xae\x51\x99\xfe\xba\xa1\x4d\x27\x31\xfd\x0a\x7a\xed\xb0\x37\x2a\x28\xc0\x1c\x9c\xc5\xc2\x64\x77\x47\x7d\x74\xe1\xdc\x56\x1a\xf9\x62\x1b\x91\xc5\x56\x22\x9e\xa0\x7a\xb8\x3f\xca\x73\xd2\x20\xcc\x5b\xd4\x29\x2a\xab\xef\x4b\xc5\xac\xaf\xda\x13\xe4\x0b\x61\xfc\x1b\xf4\xf1\x16\xed\x47\xf7\x1c\xa3\xe7\x9c\xbf\x49\x5a\x4e\x51\x66\xbb\x8e\xde\xf0\xba\x4f\x5f\x44\xc1\xb7\x34\x51\x50\xe4\xb8\x51\xbd\x68\xd8\x1b\x31\xe6\xd3\x08\xa8\xf0\x02\xa3\xf8\x8e\xf5\xa1\x5a\xaf\x4a\x55\xc0\x65\x3b\x5a\x68\xd0\xaa\x17\xe9\x0c\x4f\x3e\x5e\xca\xe9\x34\x94\xd1\x05\x0d\x19\x73\x39\x80\xae\x8e\xa5\x34\x8f\xf9\xd8\xb4\x74\x52\xb5\xa0\x5e\x5a\xb4\xb9\xf7\xe4\x71\xf7\x40\x36\x9b\x13\x30\xa3\x5f\xae\xa6\x53\xd8\x46\x60\xda\x4e\x9c\xf3\x3c\xe9\x38\xcb\xd6\x55\x99\xed\x27\xa2\x1b\xf4\x43\xa0\xff\xe9\xf8\xb9\xfb\x09\xe7\x64\x63\x2c\x1d\x1d\x66\x02\x40\xf0\x60\x7f\xdf\x7f\xb0\xff\xc8\x39\x8a\x73\x71\xe4\x7d\xe0\x3a\xdd\x66\x53\xde\xef\x75\x81\xbd\x74\xf3\x5c\xde\x7f\xd8\xed\x42\xae\x73\x1c\xe7\x9c\xde\x4e\xa4\xcb\x49\x9d\xa1\x3b\x97\xeb\x3e\xdd\xa8\x15\xf2\x58\x44\x2d\x90\x16\xd7\xb4\x32\xed\x0e\x34\x70\x98\x96\x78\xcc\xb8\x6e\x3d\x3e\x88\x01\xf2\x00\x52\xe2\x10\x5a\xd7\x96\x4a\xd1\x98\x13\x45\x18\xbf\xb9\xd2\xfa\xc2\xaf\x7c\xd2\x0a\x68\x19\x36\x45\x59\xe7\x31\xe3\xd0\x0e\x5f\xd9\xe6\x38\xc2\xf0\xc2\xed\x27\xb6\xcd\x88\x53\xa0\xd7\x56\xe9\x55\x1d\xbc\x66\x6d\x48\x39\x47\x4e\x72\xcd\x04\x2f\x2b\x3a\x07\x49\x77\xe1\x5c\x3b\x07\x03\xce\xac\x6f\x9a\xf2\x80\x6f\xbc\xfb\xfd\xfa\x51\x62\x10\xfa\x88\x0d\x23\xf1\x78\x97\xca\x16\x88\x65\xe5\xca\xb6\xd4\x21\x7c\x6e\xe6\x84\xf7\xf8\x43\x43\xf3\x1f\x53\xbb\x94\xae\x01\x83\x06\x37\x1f\x8b\x7d\x4f\xb7\x14\x9f\x08\x58\xba\xbc\xcb\x7b\xde\x98\xf1\x44\x4c\x4a\x6d\xdb\x99\x54\x7d\x90\x34\x9b\x34\xc1\x69\x8c\x84\xd9\xc3\x51\xd0\xdb\x8d\x7c\xcd\x63\xd1\xf3\xc6\xde\xe3\x5d\x1a\xb6\x7a\xac\x95\x78\x11\xbf\xc1\x59\x8b\x0f\xba\x81\xf4\x65\xab\xc7\xcb\x39\xc5\xbc\xd8\x87\x85\xdc\xea\x31\xcf\x35\xd5\xbf\x3a\x1d\xc6\xf5\xb0\x48\x57\x73\x45\xcd\x6a\x8c\xa6\xe9\x5c\x53\xe4\xde\x8b\xe5\xfb\x98\x12\x25\xaf\x09\x6b\x6d\x2f\x83\x8f\x13\xc6\x3a\xbf\xec\x3f\xd4\x8f\x98\xd7\xfb\xc9\x68\xc9\x56\xb8\x36\x52\x0b\xb9\xe6\x99\x2b\xce\x20\xa5\x5f\x28\x2e\xa1\xef\x9c\x74\x64\x5b\xb6\x7d\xbf\x72\xea\xad\x32\x0d\x3a\xd2\x30\xb4\x83\x5a\xee\x6c\x10\x3e\x26\x6b\x60\xf4\x94\x12\x36\x56\xce\xc8\x37\x75\xd6\x2b\xd4\xb0\x2d\xaa\x73\x92\x51\x97\x41\x78\x18\x31\x1c\xa1\xc2\x09\xba\x9b\x11\x3e\x4a\x60\xa3\x41\x9b\xbb\x32\x27\x48\x78\x58\x2d\x41\x99\xa9\xc1\x63\x80\x57\x05\xae\x72\xf4\x07\x2d\x60\x9c\x00\x07\x14\x1f\x05\x7f\xeb\x38\x07\x63\x49\x35\x08\x8f\x3b\x74\x10\x10\x9d\x3c\x82\x95\xa7\x79\xb7\x56\x13\xe9\xe0\xb7\x45\xb4\x36\x42\x45\x23\xcb\x02\xd3\x7f\x06\x22\xb4\xff\xe0\x20\xac\x35\x3e\x1c\xf5\x3d\x2f\x64\x36\x2d\x62\xf8\x83\x6e\x22\x18\x82\xfe\x63\x2b\x1f\x6b\xc5\xb5\xda\x01\x28\x84\x61\xd0\xf3\xbb\x7e\x41\x0f\x75\x38\x04\x50\x8d\xeb\x16\xd0\x79\x0d\xba\xa8\x41\x53\x54\xf8\x64\xfb\x6c\xae\xbf\x2f\x0f\xe5\xb5\x39\xfe\x33\x24\x44\xd7\x0c\x9a\xa0\xd5\x4a\x89\xa5\xaf\x81\x45\x56\xf2\x22\x66\xbc\x3c\xe5\xc3\x93\x5b\x0c\x17\x30\x82\x62\x90\xcc\x57\x4b\x9d\x95\x11\x04\x4e\x16\x6b\x49\x7b\xb2\x5b\x7d\xdc\xb4\xc4\x7c\x7b\xef\xa1\xcb\x4e\x57\x9b\x0b\x87\x8f\xf9\xa4\x0f\xb6\xc4\xd9\x15\x2f\xce\x37\x5f\xbd\x2a\xce\x1e\xc3\xf6\x49\x95\x7c\x11\xd0\x58\xf4\xf8\x58\x3c\x04\x25\x44\x52\x40\xe4\xe5\xf2\x38\x97\xf4\x50\x52\x66\xd8\xd7\x35\x4e\xb1\x32\x58\x27\xbc\xc7\xb8\x36\xe9\x17\xbc\x07\x92\x3f\x76\x0f\x3a\x4a\x66\x3e\xde\x92\x7b\x5d\x7c\x6b\x3c\xde\xfc\x16\x48\xef\xfa\xb7\xae\xe0\x5b\x45\x83\x55\x40\x35\xfc\x70\x14\x56\x9e\xa7\x98\xaf\x45\x51\xa8\x83\xb0\xad\xbd\xd8\x8f\x19\x9f\x88\x4b\x49\xcd\x78\x8c\x61\x22\x8a\xef\x88\x09\x12\xaf\x2d\x5c\x31\xa9\x64\x97\x73\x84\x86\xfa\x50\x12\x83\x1e\x13\xe3\xa2\x78\x73\xf4\xfe\xec\x97\xfd\x6e\xaf\x30\xf1\xf0\x2c\x04\x15\x9e\x7e\xd8\x3e\x93\x62\x38\xe2\x18\xe5\x80\x11\x1f\xa0\xe6\x96\x91\x0c\x66\x4e\x04\x21\x1e\xe8\x3e\xc8\xaa\xad\x57\xfd\xc2\x1e\x92\x6a\xf1\x16\x3f\xe4\x78\xca\x2a\xd7\x6d\x9e\x0f\x47\xd6\x29\xa4\x5d\xa7\x50\x2c\xf4\x30\x1a\x71\x25\xe8\xc4\x22\xbf\xa7\x31\xd8\x7b\x50\x81\x0d\xbb\x23\xae\x9a\x4d\x3a\x16\x93\xc2\xf1\xde\xe5\x93\x76\x32\x57\xfa\xfb\xfb\x18\xf4\x49\x3e\x2e\x4f\xdd\x9b\x4d\x13\xa0\x51\xc5\xee\x98\x48\xa8\x31\x0c\xe5\xc4\x9e\x59\xba\x95\x3d\x55\x1e\xf4\x5e\x78\xa2\x02\x3e\x46\xc3\x78\x14\x50\x15\xb8\x43\xd1\xf3\x1d\xea\x36\xe4\x04\xc9\xc7\x8c\x1f\xd1\x98\x2b\x68\xb4\xef\x44\x45\xec\xa8\x5a\x83\xea\x55\xfa\x58\x52\x0b\x6a\x11\x49\xeb\x82\x4f\xfe\xb6\x37\x13\x66\x66\xc8\xc6\xb6\x80\x5e\xda\x05\xe5\xcd\xec\xac\xa7\xa2\xb7\x57\x41\x40\x85\xd6\xb0\xcd\xd9\x17\x70\x70\xbb\x13\xaf\x60\x79\xda\xe9\x2a\x73\x21\x31\xd3\x8b\x44\x25\x7a\xc6\xf8\x12\xf5\xe1\x7b\xd4\xb5\x4b\xae\xea\x0a\x59\x5d\xca\x45\x41\xe8\x17\x5c\xa3\x20\x03\x5f\x0f\xea\x20\x5a\xea\x25\x62\x92\x7d\x18\x04\x54\xd9\x14\x8d\x18\x4c\x7c\x6f\xef\x00\x9d\x0a\x9e\xe8\xed\x31\xae\xf2\xbc\xb7\xb7\x23\x44\x98\xe7\x60\x73\x30\x1e\x32\xdf\xd1\x50\xbf\x6f\xb2\x11\x10\x3e\x96\x1b\xc6\xc5\xf4\x16\x6a\x1b\x5a\x41\x6e\x80\x12\x70\x47\xd4\xfa\x65\xcd\x2e\x78\x27\xdf\x31\x66\x17\x78\xb7\xaf\x9f\x3a\xb4\xfa\x1a\x57\x30\x98\x51\x33\x7a\x73\xcb\xa5\xc3\x2d\x0d\x4b\x85\xc6\x17\xe9\x2a\x17\xc7\x1f\x99\x4d\x3c\xd4\x23\x8e\xdb\x94\x5f\x98\x80\x86\xd8\x13\x9b\x6b\x83\xc7\x9e\xe8\x75\x77\x37\x97\x93\xdd\x82\x58\x90\x45\xe9\x42\x8b\x98\xdb\x10\x30\x95\xe7\xea\x20\x66\xc6\x4f\xcb\x23\x11\x32\xd6\x1f\x53\xc9\xa3\x3c\x77\x67\xf2\x5a\xda\xc0\x31\x2b\xa4\x8d\x36\xf1\x2b\xba\x58\x30\x60\x4c\x8a\x61\x68\x18\x4e\x68\xdc\x1a\x3c\x6c\xdb\x60\x2f\x25\x97\xb0\x68\x26\xe9\x0a\x0b\x91\xf9\x73\xb0\x23\xa2\x74\xae\x30\x67\x3a\x4d\x0c\x34\xe2\xa8\x1e\x38\x5c\xff\xc7\x9a\xf2\x32\xa7\xf7\xe8\x33\xc8\xab\x4c\x93\xd0\x15\x1e\x21\x2a\x4d\x3d\xa3\xba\x57\x25\xd5\x92\x76\x8e\x86\x1d\xd2\xd6\x12\x86\xb1\x76\x54\x23\x1b\xbe\x53\xa6\xf2\xfc\x1a\xa3\x7a\xcc\x04\x0a\x5c\x63\x65\x20\x99\x6e\x36\x09\x3a\xda\x82\x29\xbd\x71\xe2\xfd\xba\xb7\xcc\xdf\xf4\x9a\x87\x65\x1c\x96\x23\x37\x2e\x17\xfa\xd2\xba\xc0\x18\x4f\x69\xc8\x82\xa2\xcb\x21\x9a\x9c\x54\xb3\x00\xd7\xaf\xaf\x03\xb4\x73\x7d\x05\x48\xb8\x12\x43\xff\x57\xa3\x06\xb9\x16\xd1\xaf\xa5\xa9\x8b\xa1\x5c\x49\xbf\x6c\x6d\x1c\xd4\xec\x5a\x5f\xd1\x98\x05\x6b\xa6\x6e\xcc\xfc\x8d\x76\xc7\x01\x9a\xcf\x7e\x04\xf8\x14\xa5\x81\xa6\x71\x11\xea\xc1\xf8\x96\xb3\x14\xec\xd2\x9b\xf9\x92\x4a\xde\xeb\xb2\x5b\xcb\x2a\x98\xbf\x71\x24\x1c\x07\xd7\x48\x7b\xe3\x18\x61\xad\xb1\x34\x66\xfe\xcf\xec\x69\xe7\x94\x7d\xd3\xa8\x10\x37\xb7\x85\x67\x32\x4c\xd3\xa9\x96\xce\x11\x53\x84\xdb\x20\xe2\x51\xb9\x5c\xe2\xcd\x60\xbb\x9d\x2e\xe4\xda\xcd\x1a\x17\x31\x67\x1a\x32\xa7\x22\xc2\x1a\x42\xc2\x4f\x2c\x42\xf8\xb1\x31\x6f\x8a\xff\x90\x34\x76\xda\x76\x28\x7f\x1a\x92\xea\xc6\x59\xbd\x70\xdc\x4a\x36\x5c\xb0\x87\xa1\x8b\x45\x34\x63\x44\xc3\x61\x77\x64\x1c\x65\x98\xe2\x3b\xe1\x1a\x27\x03\x9d\xc3\x46\x29\x01\x06\xd7\xa2\xd7\xd7\x4f\xc3\x2a\x26\x58\x33\xba\x13\x0e\xf5\xa8\x3a\x81\xcc\x73\x80\x87\x72\x04\x22\x14\x87\x06\xe0\x6d\xd1\x0c\x2f\xc1\x0e\x85\xd6\x81\x6e\x60\x16\x83\x3d\x7c\x2b\x3c\x09\xbc\x5b\xd6\x7b\x21\x29\x49\xb2\x5f\x75\x9c\x2e\x34\xa9\xf9\x60\x5f\xfd\x73\x32\xcf\xe2\xa5\x5e\xd4\xa9\xbc\x76\xf6\xf5\xaf\xb0\x25\x22\x61\x58\x53\x9e\x77\xb9\x12\x61\xfb\xeb\x4a\x2e\x96\x1a\x41\x50\xb1\x66\x26\x4e\xb5\xcb\x61\x8f\x80\xe6\x06\xe9\xb1\xb0\xfc\xab\xcb\x27\xc2\x30\x2f\x48\x27\xa2\xe0\x60\x00\x9d\x8b\x82\x8d\x01\x74\x21\x6a\xbc\x2c\xcf\xbb\x7d\xeb\x3f\xaf\x32\x33\xe1\x5d\x78\x3d\xfd\x60\xf7\xdc\xdb\xd7\x0f\x77\x13\xef\xc1\xbe\x7e\xb4\x3b\x29\xc2\xf5\xe4\x75\x26\xd0\x50\x8d\x6b\xc7\x05\xc2\xd3\xde\x83\x5d\xe5\xf5\xf6\x76\xa3\x12\x75\x29\xc5\xcd\x6d\x79\x82\x83\x8c\xea\xba\x70\x2c\x9f\x85\xab\x30\x9c\xd6\x4e\xa2\xde\xc8\xbb\x82\xf5\x5e\x3b\x5e\xd4\xdf\xec\x4a\x7b\x8d\xe6\x76\xd7\x8d\xaa\x37\xf3\x82\xe4\x57\xcb\xc8\xfa\xc1\x61\x70\x89\x47\xfa\x55\xf4\x1e\x9e\x06\xb6\x24\xe4\xb7\x08\xe3\x91\xf7\x8a\xfe\xe7\x3f\x54\x76\xf6\xbb\x8c\xef\x31\x2f\x44\x58\xde\xdf\xef\xf2\xbd\xda\xf9\xdc\xef\xce\xac\x51\x99\xe7\x84\xb0\xca\xc5\x67\xf5\xc2\x70\x58\xac\xd7\x56\x6f\x84\x79\x4a\xd0\xc8\xab\x50\xbf\x23\x2a\x69\x11\x68\x3c\xac\x71\x8f\xee\x77\x77\xd5\xb0\x37\x62\xde\x57\xaa\x86\x7b\xe5\xea\x25\x1e\xf0\x6a\x35\xec\x8e\x02\xed\xb7\xb4\x73\x38\x2e\x69\xa9\xb1\x80\x6e\x50\x78\x6b\x8b\xb3\x04\xaa\x45\x54\x18\xf4\x3c\x16\x14\xd8\x74\x9e\x23\x1f\xf6\x42\xdf\x3b\x44\xde\xd6\xf2\x34\xd7\xd6\x06\xc2\x28\x4b\x0f\x20\x2f\xde\x38\x47\xd0\xb0\xd1\xb9\x66\x3e\xd6\x33\xae\x19\x77\xd6\x06\xee\xac\xf5\x1e\xed\xb6\x1c\xbf\x83\x1b\x93\xfd\x23\x9d\x17\x24\x59\xa7\xf7\xc8\x3d\xf2\x76\xfa\xa3\xb8\x36\x13\x68\x63\x5d\x61\x89\xae\x1f\x79\xdc\x71\x5e\xf3\x3b\xf6\x8b\x97\x41\x33\x21\x7b\xda\xdb\xc7\x92\xfd\xee\x6e\xc8\xb8\x3d\xf4\xb3\xb1\xb8\x86\x91\x0e\x8c\x53\x88\x15\x8b\xb2\x08\xb5\xe5\x0e\x2e\xb0\x53\x1b\xea\x64\x8f\x9b\x40\x7e\x2b\x4e\x66\x84\x71\x6d\x62\x39\xe9\x4e\x79\x12\x17\x4d\xe4\x7c\xac\xdf\xcc\x3f\x2c\xd2\xf1\x42\x67\x59\x10\x86\xc6\xf1\xf4\x59\xd2\xb0\xa5\x4d\xb5\x1e\x0c\xaa\xbf\xbd\x42\x79\x12\xba\x5e\x70\x47\xd0\x6b\x79\xc8\xb3\xa5\x06\x86\xcb\x15\x47\x40\x4e\x9f\x02\xed\x17\x5d\x77\xc2\x07\xe4\x96\xb8\x3d\x59\x8d\xf7\x4e\xfd\x3c\xbd\x25\xed\x67\xab\xbd\x26\x8b\xb8\x5e\xe6\xb7\xd6\xb7\xa1\x13\x5b\x20\xd7\x4f\x91\x2b\xb4\x6e\x8d\x4f\x7e\xdc\xc0\x2c\x43\xa9\xb7\xd4\xab\x4f\x5a\x8f\x4b\x3b\x5d\xd9\x2a\x5c\x2e\x64\xb4\xa4\x45\x97\x71\x0e\x0c\xba\x73\x82\xbf\xe1\xa8\x5c\xfe\x98\x05\x6b\x9f\x29\x0b\xb6\xe8\x1d\xf6\xeb\xf6\xa3\x55\x9d\xdf\xad\x33\xf8\x2c\xd9\xf8\xe6\x51\x8d\xe3\x09\x19\x18\xd7\xae\x33\x6a\x7e\x97\xaf\x77\x95\xb5\x24\xbb\xbf\xbf\xe6\x7d\x3e\x5e\x6f\xbd\x83\x7f\x50\xf3\xf0\x99\x13\xbd\x6e\xed\x2b\x76\xed\xfe\x4d\x9d\x47\x6c\xfb\x7c\x7e\x82\x6f\xdf\x71\x3f\xa0\x98\x92\xc3\xa3\xe3\xa3\x49\x12\x2f\xb5\x62\x6b\xd3\x59\x95\xf4\x0d\xff\xbe\xb9\x05\xed\x61\x66\x9d\xd1\x8c\x4b\xf1\xac\xf0\x9e\xd5\x94\x61\x5c\xc7\x13\xf4\xc5\x20\x73\xc2\x44\x7f\x93\xac\xe1\x27\xa5\xca\xd0\x6c\x2e\x10\x95\x87\xed\x65\x8a\xb7\xa3\x28\x63\x07\x5d\x73\x1e\xb3\xa5\xf6\x4e\xaf\x7f\x67\x8b\x9d\xc0\x88\x6a\xfc\x5d\x3e\xe3\xc4\x41\x6c\x2c\xaf\x35\x84\xbf\xb6\x23\x18\x2f\x98\xcb\x9d\x9c\x03\x61\xb9\x76\x4b\x83\x8f\x85\xe4\x13\x13\x66\x5c\x84\xb5\xe2\x09\xc7\x58\xdc\xcc\x32\x5f\xd6\x05\x3d\x57\xbe\x71\xbd\x64\x7c\x80\x65\x28\xc9\x6f\x37\x95\x5b\x19\xd0\x31\x48\xf2\x30\x18\x63\xc4\xa8\x3f\x6e\xd7\x14\x06\xc9\x7c\x3a\x11\xd7\xf6\xa0\x4a\x32\x16\x50\x94\xad\x42\x88\xc9\xb0\x37\x0a\x5a\x3d\xbf\xc7\xc7\xe2\xe6\xda\xef\x72\xe5\x7f\xa5\x93\xe1\x44\x8d\xd8\x6e\xc4\x27\x08\x24\x06\x98\x21\x70\x6e\x80\x0c\x81\x0b\x5b\x62\xa0\x29\x42\xb7\xf8\xb1\x1f\xff\xc5\xc7\xbe\x48\x3a\x19\xee\x8d\x78\xc4\xf8\xc0\x00\x0f\x10\x50\x06\x78\x88\xc0\xc4\x00\x8f\x10\x98\x19\x60\x1f\x81\xcc\x00\x8f\x11\xb8\x32\xc0\x2f\x00\xdc\x1a\x63\x5f\x88\x31\x8c\xeb\xed\xa6\x95\x30\x6e\x36\x29\x89\x17\xe9\x8c\x24\xf3\xc6\x38\xcf\xc9\x32\xc5\x14\x43\xa7\xef\x19\x7a\xd7\xc6\x6d\x40\x60\x1c\x93\xcb\x94\x31\x8e\x43\x3c\x6e\xcf\x32\xa1\x6b\xc3\xcb\xc7\xed\x01\x64\xe1\xec\x30\x6e\x8c\x8c\xd7\x92\x8e\x19\xc7\xc9\x6d\x36\x63\x2a\x39\xb1\x1a\x16\x5e\x35\x53\x9b\x86\x21\xe3\xce\x6a\xfd\x52\x3b\x04\x96\xcd\x26\x1a\x40\x2f\xa7\xa9\x5c\x52\x27\xda\x8b\x13\x4e\xda\xa4\x34\x63\xed\x45\xab\x88\x05\x5d\x3f\x62\xbb\x8e\x9d\x7a\xaf\x46\xef\xc6\x6d\xbd\xdf\xe5\xa6\xe5\x7e\xf7\xb6\xd2\x54\xac\xd2\x18\x16\xf1\x05\xad\x32\x74\x08\x34\x48\x1a\xda\xa3\xaa\x56\x11\x38\x01\xbb\xbf\x60\x46\x20\x7d\x0b\x0a\x9c\x0c\x08\x6b\x5b\x1d\x1b\xfd\x0e\xad\x56\x59\x16\xd5\x57\xa9\x17\xb6\xbc\x9f\x50\x71\x6f\x5e\x9c\xc9\x2d\xa1\xf1\xa1\x40\xc5\x0b\x39\x51\x61\x1c\x80\x4e\x15\x09\xdb\x7d\x9f\x62\x12\x51\xd6\xbe\xdd\xaa\xc3\xbc\x1c\x81\xb2\xb5\xb5\xef\xcb\xb0\x1e\xc9\x57\xa8\xb8\x55\x60\x6e\xa5\xf6\x59\x3b\x5f\xe5\xb9\x99\x1e\x0f\x14\x4c\x1a\x42\x3b\x88\xb9\x82\x4a\x59\x9b\x78\xa1\x47\xe8\xa5\x5e\x24\xa9\xe2\x0d\xb3\xbf\x59\x23\xc9\x1a\xca\x46\x0c\x68\xd5\x6e\x7c\x98\x6a\x99\xe9\xc6\x2a\xd3\x8d\xb5\x8a\xa6\x02\x6f\x18\x02\xac\x4d\x40\xaf\x04\x23\x54\x71\x25\x62\xd4\xb0\xd7\xa5\x61\x14\x78\x91\x1f\x71\x2d\x3e\xa3\xef\x97\xf1\x42\x0d\xd2\x85\xa4\x76\x5c\x28\x61\x48\xd7\x4c\xe0\x68\x8d\x55\x8d\x21\x07\x59\xd5\x04\xcb\x70\xcc\xfa\xda\x9e\x36\xe8\x60\xa7\xeb\x6b\x1e\xa3\xc7\xd0\x51\x69\x43\x54\x69\x77\x15\xe3\xe3\x66\xf3\x05\x8c\x08\x18\xe7\x84\x1f\x96\x49\xe6\x8d\xa1\x78\xd2\x6c\xfe\x45\x43\x93\x6f\x23\x64\xbc\x09\x14\xe0\x3d\x82\x9a\xca\x15\xf2\x71\x9e\x4f\xdc\x90\x85\xb0\xb6\x99\xf2\x1c\x7d\xe7\x0a\x56\x8b\x31\x85\xd6\x4f\xdc\x0a\x15\x57\x25\x71\x0c\x7a\x24\x74\x8b\xa0\x16\x17\x8b\xd6\xfe\x81\x0e\x48\x26\x67\xfa\xc5\x34\xd3\xc4\x6f\xf5\x00\x9e\xca\x6c\x79\xa2\xf5\x05\xf1\xbb\x05\x78\x28\xaf\x89\xdf\x2b\x90\x11\xda\x03\xc8\x7a\x93\x88\xff\xb8\x80\x4c\xc5\x8a\x66\x4d\x9c\xc5\x26\x84\x36\x6c\x36\xc3\x61\x3c\xb2\x7a\x40\xed\xf8\x15\x92\x73\x25\x17\xd4\x18\x7c\xc0\xb0\xa2\x5a\x38\x80\x0a\x69\x2d\xfc\x70\xbe\xae\x57\xea\x70\xeb\x6e\x7a\xb6\xfd\x42\x61\x10\xfa\xc4\x99\x7a\x02\xda\x9a\x03\xa2\xfb\x8a\x4a\x91\x82\x58\x93\x28\xf7\x19\xc7\x80\xb6\x03\x4f\xe2\x16\xc4\x12\x4f\xa2\xa1\x03\x3b\xf1\xa9\xb7\xf5\x84\x33\x74\xfb\x10\xff\xdf\x6f\xa2\x3c\xf0\x8c\x66\xbc\xd9\xc4\x7a\x03\xf5\x5c\x61\xf3\x9e\xba\x97\x15\xc6\xe1\xda\x89\xaa\x55\x6a\x0c\xe3\x33\x57\x3b\x6c\x56\xc1\x99\xb8\x5b\x7f\x72\x57\x07\xc3\x3c\xff\xdf\x86\x5b\x08\x61\x07\x7c\x6b\x2f\xaa\x61\x7e\x2a\xa2\x66\x33\x7a\x2a\xb6\xf7\xd2\xbd\xd0\x1c\x6e\xc4\x8a\xc2\x26\x2a\xf4\xc0\xb1\xd8\xd7\x0f\x77\x69\x5c\x53\x85\xd7\xf5\x56\x56\xeb\x1b\xe3\xe6\x1c\xdb\xf8\x41\x09\x72\x8d\x02\xb0\x2e\x16\xdb\x43\x2d\xce\x2d\x7f\x8a\x19\xaf\x97\xe9\x8e\x78\xe0\x57\x74\x40\x86\x77\x44\x6f\x8f\x31\x9f\x1a\xdd\xb2\x15\x73\x2d\x88\x3b\x60\xaa\xd3\xd3\x0f\x60\x8d\xcc\x57\x4b\x5d\x64\xed\xeb\x87\x3e\x99\xa4\xab\x45\x91\xf1\x60\x5f\x3f\xf2\x91\x25\x98\x36\xa8\xd6\xd8\x9e\xb7\xfb\xe4\x0a\x36\xad\x93\xbd\xdf\x7d\xf8\x8b\x7e\xe4\x2b\xc6\xa3\x40\xfb\x97\x54\xbb\x41\x25\xe1\x9a\x1a\x28\xb6\xcb\x50\x8f\x6e\x91\xb7\xc0\x74\xea\x52\x11\x4c\x54\x64\xaf\x84\x55\x4e\x93\xb0\x15\x83\x9e\xb5\x86\xd9\xea\x55\xb8\x5c\x09\x1a\xb6\x62\xd6\xa1\x71\x2b\x42\x5f\xf0\x3a\xb6\xb7\x15\x3b\x6a\xc5\x8c\xf1\x16\xd5\x9e\x72\xfa\x74\x11\xae\x69\xc3\x05\x25\xc3\x9b\x28\xd1\x73\xc2\x0a\xee\x45\x94\x52\x8d\xc1\x60\xd0\x38\x3c\x6c\x7c\xfe\xfc\xf9\x73\xe3\xf5\x6b\x7f\x36\xf3\xb3\xac\x31\x7c\x35\x38\x1e\x7d\xf9\xe2\xc6\x26\x4c\xc3\xba\xa7\xa8\x20\x8c\xb7\xeb\xcb\x0e\x3f\x2d\x46\x0d\xf8\xbf\x49\x3d\x15\x4f\x9e\x3c\x79\x12\x6c\x89\xfb\xc7\x00\x25\x37\xb8\xff\xcd\xd1\x7b\x13\xdf\x6f\xec\xc7\x65\x6a\xce\xd8\xdd\x12\xca\xfc\xdf\x41\x6d\x83\xf6\xb6\x06\x83\xd6\xe1\xe1\xf0\x78\x54\xb4\xbb\x7d\x74\x74\x34\xfc\x32\x22\x0e\xce\xcf\xb0\x9c\x68\x9b\xb0\x0a\x1c\xfb\xdd\x46\x86\xe6\xb9\x6c\x2b\x1d\xcb\xd5\x74\x69\xce\x87\x6a\xf7\x8f\xea\xcc\xfe\x32\xcd\x96\x76\x50\x5d\xee\x31\xaf\xeb\x23\x75\x83\x2a\xf8\x2c\xe9\xcd\x32\xf5\xcd\xee\x59\xa4\x33\x5f\xde\x96\xf3\xe4\x7c\x82\x32\xd6\x9e\xac\x66\x72\x9e\xfc\xd0\x74\x27\xb4\xfe\x88\xff\xe6\x36\x48\x1a\xae\xbb\x01\xe0\x33\xe6\x8c\xda\x75\x17\x5c\xfe\x6d\x33\xb1\x79\xd8\xd0\x65\xfa\x7f\xbc\x99\x5f\x37\x9a\xb9\x4c\x37\x1b\xb9\x08\xab\x3b\x8b\xee\xe1\x35\x1e\xef\x05\xae\xb3\xd4\xdc\x51\xf4\x69\x28\xae\x69\x79\x22\x17\x3a\x21\xea\xe6\xe6\xb6\xf5\xb8\x38\xd1\x34\xeb\x7b\xc7\xa2\x3a\x11\x2e\xd8\x86\xec\x2a\x41\xe7\x25\x5e\x60\x63\x37\x91\xcc\xb4\x61\x73\xbe\x13\xfa\xdb\x65\x7d\x2c\x28\x58\xa2\x8f\x90\xe1\xa4\x06\x0f\xa3\x9c\x7b\x16\x0d\xf9\x96\xc1\x49\xb2\xf4\xa4\x82\x80\xcd\x19\x7c\x60\x81\x59\x49\x17\x19\xa2\xfd\xa0\x0d\xba\x28\x8a\x2c\xfb\x34\x85\x56\x11\x2c\x0b\x2d\xbb\x2d\x6a\x56\xaa\x22\xed\x16\xcf\x24\x94\x4c\xb4\x70\x04\x5d\x99\xe7\x1d\x68\x97\xf1\xb2\x75\x4e\xb1\xcd\x02\x8c\x5e\x5d\x08\x14\x18\x66\x48\x1e\xec\x3a\x37\xbe\xdd\x28\xe9\xce\x83\x0d\x0f\xcf\x2a\xac\x79\x78\xf0\xaa\x60\x35\xdd\x6b\xb2\xb7\x5c\x01\xb6\xcb\x56\x84\xda\x60\xbf\x5e\xbd\xd1\x81\x1d\x6b\xc9\x2a\x07\x17\x30\xd8\xcc\xe5\x07\xdf\xaa\xa5\xe0\x59\xaf\x7c\x0b\xa5\xe8\x9a\x8f\xd5\x3d\x11\x77\x56\x8f\xd3\x4f\xac\x0e\x62\xcd\x41\xfd\xbe\xb1\xd0\x0c\xc1\xa0\x3a\xa0\x73\x3d\x8f\x8e\x01\x7a\x5d\x67\xc2\x76\x23\x0c\xcb\x38\xf9\x52\x3c\xf1\x32\x8a\x5e\xe2\xc2\x31\x65\xb8\x30\x30\x69\x46\xce\xe6\x96\x23\x59\x0b\xe7\xfa\xb1\xf5\x5b\x18\x5d\x97\xf9\xe5\x17\xad\x91\x5a\x7d\x18\x3e\xeb\x97\x5f\xc7\x45\xeb\x4b\xbb\x78\x19\xb7\x6b\xd5\x97\xe5\xaa\x65\xbc\xb0\x78\x65\xb9\x58\x01\xcf\x31\x85\x65\x7d\xa1\xba\x87\xc8\xcf\x9c\xa1\xbc\x58\x57\xa0\x7f\x75\x0a\xc7\xf4\xe6\x96\x9f\x5b\xaf\xb5\x73\x8c\xe8\xa0\xd8\xd2\x32\x0c\xdd\x39\xd0\x0b\x8b\xb3\x93\x2e\x1f\x4a\x5e\xdc\x6a\x1a\xf1\x6e\x2d\x58\xfb\xc5\xba\xb2\x69\x02\x82\x86\x92\xf7\x7a\xfc\x41\xcf\x0b\x5b\xd1\x88\x21\xc2\x5a\x40\xe8\xcb\x70\x33\xde\x72\x93\x7d\xae\x85\x97\x6e\x2d\xbb\x36\x81\x47\x7f\x17\x75\x78\xed\x2e\xf6\x57\x5b\xbe\x5e\x86\x4b\xfd\x23\x4a\xaf\x9d\xd1\x7c\x11\xd6\x6e\x45\x00\x41\xe7\xc8\x6a\x4d\x99\xd8\xec\x4b\x7f\x3b\x19\x89\xfd\x97\xd8\x53\xe7\x6c\x2b\xdc\x7c\x30\xc7\x79\x6b\xa2\xc6\x6c\xbc\x1e\xf0\x1b\xbf\xc6\x97\x4c\x40\xa8\x8b\x75\xdf\xdd\xaf\xbf\xd7\xe4\xe3\xa6\x5b\x3f\x90\xbe\x7d\x4b\x87\x81\xce\x1f\x16\x0c\xd3\xde\x7a\x91\x5b\xae\xcf\x15\x21\x9d\xcc\x5f\x3b\x43\xaf\x4e\xab\x36\xa4\xe2\x59\x41\x76\x68\x83\x9e\x9d\xcd\x3a\xb8\x1b\xbb\xb8\x63\xb6\x5e\xe5\xdd\xdd\x55\x06\xc9\x7c\x4b\x85\xf7\x61\x2d\xbe\xc6\xb9\x8f\x56\xeb\xaf\xd8\x92\x87\x27\x7a\xa1\xe8\x96\xa1\x8f\x49\xbc\xad\x2a\x5e\x7c\xa5\x91\x80\x4d\xb3\xa7\x1f\xf0\xde\x88\x61\x2b\x42\xd0\x7b\xcb\x7b\x59\x45\x15\x1a\xad\xdd\xcc\xaa\xf5\xf8\xce\xd2\x41\x32\x37\x65\x7c\x7b\x0b\xdc\x9b\x5b\xea\x8e\x9b\x5b\xdb\x6b\xae\xdf\x9f\x72\x3c\x7d\x1f\xc2\xb5\x50\x6d\xeb\x87\xb7\x1c\xde\x8d\x7a\xf6\x9d\xbc\x5a\x18\x74\x79\xb0\x24\x05\xae\xc8\x8d\x9d\x63\xdb\xe5\xc6\x16\xd7\x02\xa4\x3e\x3a\x8d\xa0\x56\x07\xb9\xa6\xcc\x7b\xdc\xfa\x09\xb3\x61\xf7\x1f\xff\xa3\x18\xe6\x3f\xb6\xed\xc5\xea\x63\x79\xfe\xd8\x2f\xa1\x2a\xfb\xfe\x63\x8c\xd6\x7e\xec\x5e\xeb\x0c\xef\x3c\xb0\xbe\x53\x0f\x2f\xc2\xcb\xa8\xa3\x31\x15\x37\xb2\x4a\x79\x13\xd6\x4e\xa7\x8f\xeb\xca\xaf\x13\xf9\x86\xd3\xea\x1c\xd7\x38\x1d\x23\x97\xa0\x4b\x50\x89\x07\xd4\xf5\x17\x5b\xa2\x89\x5c\x3c\x5b\x52\x77\x2b\xff\xb9\x2e\x17\xe4\x41\xaf\x17\x44\x01\xb9\x9c\x11\x9f\x7c\x18\x10\x3f\x0a\x88\x84\xf4\xb3\x01\x71\x8e\x3e\x6c\xcb\xc2\xe1\x54\x8d\xc4\x57\xda\xd3\x0f\x76\x29\xe9\xb6\x89\x57\x8b\x04\xfa\x6b\x43\x9b\xa8\x5f\x8d\x73\xce\x3d\xee\xc2\x7c\x9e\x9a\x7b\xff\x4b\xad\x1a\x9f\xe6\xc9\x37\xbd\xc8\xe4\xb4\x71\x9c\xcc\x74\x9d\xc0\x17\x77\x6e\x0f\x25\xb6\xc8\xd5\xd1\xef\x39\x1f\x38\x94\xdb\xef\x9d\xb4\x91\xe1\x7d\x41\xe3\xd1\xf1\x1c\xd7\x7d\x18\x76\x8f\x14\x3e\xb4\xa1\x2c\x2e\xd8\x6f\x7b\x4e\x30\x50\x26\x94\x04\xc3\x09\x1d\x65\x49\x46\xeb\x7b\xae\x7e\x01\x7e\x28\x47\x3c\xba\xa3\xa4\xbd\x4c\x3f\x5d\x5e\x96\x6f\x86\xf4\xab\x6b\xd7\x3b\x51\x10\xfa\xf4\x0e\x7a\x22\xaa\x2e\x63\x0f\x06\x83\x41\x3e\x18\xe4\x87\x87\xb9\x52\x4a\xd5\xee\x73\x3b\x77\xc4\x4d\x7c\x55\x0f\xa3\xa7\xb6\x13\x75\xaf\x83\x45\x1b\x33\x58\xd9\x54\x8e\x6b\x35\xda\x60\xed\xf6\x61\x87\x8a\x9f\xdd\x57\xf5\xd8\x1a\xe5\xd6\x71\xe2\x46\x74\xb4\xfe\xb6\x85\x21\xb8\xd0\x53\xb9\x4c\xbe\x69\x58\x25\xc3\xe8\x27\xf3\xa3\x83\xf2\x66\x13\xf3\x75\x35\x3e\xf7\x55\x27\xa9\xb5\x20\x8e\x5c\x87\xf0\x96\xaf\xc8\x83\x6e\x40\xe2\xd5\x72\xb5\x80\x75\x79\x29\xb3\x25\xf9\xc9\x77\xa3\x20\xc2\x70\x36\xe7\x8b\x59\x27\xa9\xbf\x62\x18\x39\x12\xcd\x7d\xf5\x25\xc4\xe7\x5d\xb6\x3d\x4e\x12\x22\x2f\xc3\xe7\x0d\x91\x8f\x0d\xc9\x19\xf1\x00\xea\xd7\xc6\x19\x79\xc7\x5b\x3d\x4f\xf4\x7c\xe9\x0a\x94\x4d\xa4\x76\x96\xae\x16\x91\xf6\x48\x4e\xbc\xce\xa9\xba\xe9\xf1\xbd\xdb\x8e\xcd\x74\x1d\x91\x1b\xd3\x70\x8d\x51\x2a\x13\xca\xf0\x79\x15\xc5\xab\xf7\x51\x60\x3e\x68\x5c\x1b\xdb\x24\x72\xc3\xe5\x92\x98\x6e\x6a\x24\xe6\xf2\x2e\x97\x65\x84\x9c\x44\x43\x8b\x14\x06\x74\x21\xd5\xca\x96\x68\xd6\x2f\x2e\xf3\xd8\xd7\x28\x63\x7c\x34\x22\xee\xc7\x9e\xc7\xc6\xc3\x78\x24\x10\x37\x36\xb8\x85\x22\xee\x38\xe0\xa2\x1a\xeb\xb5\x6d\x2c\x7c\x5d\xbc\xb7\x67\xd3\xae\x78\xb9\xf8\x59\x1d\x14\xfc\x77\x54\x9c\x6e\xaf\x58\xc8\x70\xc2\x1f\x73\x73\xcc\xe0\x78\x85\x7e\x5e\xc5\x7e\x6d\xb3\xde\xfc\xe7\xf5\x06\xc9\x7c\x5b\xad\x34\xaa\xeb\xc4\x18\x08\x56\x3f\x43\xaf\x9d\x8d\x9d\x28\xba\x99\xcb\xdc\x78\xb3\x12\x03\xa0\xfa\x35\x75\xa7\xb6\x3d\x46\xab\x1b\x59\x50\x5e\xcf\xa9\xac\x46\x5b\xe8\xe4\x5b\xd9\x5a\x54\x42\xa0\xb0\x3c\x6d\x2e\x26\x4b\x03\xb5\x40\x2d\xbf\x8d\x56\xa5\xc9\xc4\xe4\xba\x3f\xe0\x72\x63\xf9\x7f\x36\xd1\x4f\x4e\x4c\xaf\xdb\x5a\x4f\xa8\x5d\xbd\x76\x16\x66\x0f\xed\x6d\x11\x1e\x8a\x95\xa7\xf7\x05\xbe\x39\xd7\x94\xdb\xc2\xec\xbe\xd6\x67\xf5\x32\xb2\x37\x77\x79\xc8\xdd\x88\xce\xc5\xdd\x68\x2d\x17\x2f\x8b\xb6\xbd\x8d\x57\x3c\x87\xe7\xbb\x2f\xe5\x39\x0e\xa8\x72\x8d\x54\x57\x45\xc5\xe6\x2a\xe0\x63\x51\x4d\x3c\x9f\x08\x77\xa6\x79\xb2\x65\x79\xc5\xf8\xd2\xcb\x18\xff\x4e\x0e\x44\x37\xcf\xbb\x07\x22\x6e\x36\xbb\x07\x62\x8c\x7f\x27\x79\x4e\x63\x4f\xa0\x97\x7d\x37\x8b\xe8\xb7\x88\x4e\x98\x37\xc6\x17\xf2\xf8\x44\x74\x19\x4f\xea\xeb\x27\xbe\xdf\xd3\x0f\xb8\x14\x97\x34\x46\xef\x07\x4f\xca\xd5\x83\x21\x82\xa1\xb8\xb4\xa1\x83\x49\xb9\x7c\x42\x28\xc0\x07\xfd\x6c\x81\x59\x3f\xd1\xfd\xbd\x87\x7c\xec\x89\x4b\x1a\x75\xf6\x1e\x32\xae\xc5\x25\x5d\x45\x74\xcc\x18\x9f\x78\x42\xf3\x71\x4b\x98\x16\x69\x06\x76\xc2\x25\x9d\x74\x7a\x7b\x8c\x4f\xee\x8b\xde\x1e\x4f\xda\xb8\x15\xc6\xf0\x19\xb3\xf2\x26\x3c\xb1\xcb\x4d\xad\x3b\x9d\xdc\x29\x79\xf8\x4b\xb7\xbb\x2b\x3b\xbd\x87\xfb\xdd\x27\x8f\x1d\xcf\x90\x8b\x63\x0a\x77\x65\x07\x90\x1d\x57\x50\x54\xbf\x8c\xbd\x39\x41\x7d\xe7\x01\xac\xf2\x74\x05\xb8\x6d\x71\x5c\x52\x3e\xaf\x16\x3a\x33\xe9\x29\x73\xcc\x51\x6a\x2d\x76\xed\xae\x22\x3c\xb2\xa9\x08\x05\x91\x1f\x75\x7a\x7b\x7d\xeb\xa9\xac\xd1\x70\xc2\x0c\xbf\x45\x75\x1e\xc0\xb8\xb4\xee\x4c\xe3\x22\x2b\x9a\xd0\x79\xec\x29\x7b\x92\xd2\xaf\x9c\x92\x45\x69\xd1\x2a\xd7\x2f\x69\xcb\xf6\x1e\xee\x42\xf1\x83\xfd\xa2\xb4\x70\x4d\x96\xe3\xf7\xb0\x8b\x18\xfb\xfa\x61\xdd\x3d\x69\x11\x7e\xd9\x7f\xd8\x35\x18\x3d\xfd\xa0\x20\x51\x39\xfe\xfc\x4d\x7f\x9b\x59\xa1\x21\xf3\x54\xdf\x3a\xef\xfd\xe5\x64\x91\x5e\x35\xca\x6b\xf8\x94\x7c\x9a\x5f\xcc\xd3\xab\x79\x63\x35\x4f\x96\x0d\xd0\xa6\x1d\x87\xd2\xf7\x0d\x0d\xab\xc6\x56\x0c\x79\x67\x38\xdd\x01\xbc\xdf\xdb\xdb\xdd\x7b\xf4\x64\x4f\xef\x7b\x0f\x7a\x8f\x1e\xec\xeb\xfd\xdd\xaf\xb5\x11\x86\x75\xe9\x38\xf3\xdc\xa5\x74\x87\x75\x23\xb3\xb5\x4b\x13\xd1\xa6\x5f\x14\xd5\x10\x89\xaf\xe4\xb9\xfc\xea\xd9\x7f\x41\x1e\x99\xc0\x50\x8e\x9c\x2f\xfc\xea\x0c\xc0\x65\x69\xa1\x65\x78\x21\xda\xf1\x9b\x45\x5b\x1e\x25\x02\xe5\xae\x52\xd7\x68\x98\xe7\x3d\xbe\xb3\x13\x71\xc9\xdd\x23\xaa\xc3\xa8\xae\xea\x7f\x36\xd7\xb2\x43\x30\xcd\xb4\xb8\xd0\x54\x41\xaf\x49\x46\xf0\x8c\xad\x84\x31\xf4\x70\x5c\xc1\x13\x80\x27\x15\x0c\xc6\x2e\x4f\x2a\x78\x00\xf0\x79\x05\x5f\x03\x7c\x21\xf4\xd3\xa9\x6e\x67\xcd\xe6\x90\x64\x84\xeb\x51\x9e\xf7\x84\x00\x4e\x37\x24\x33\x32\xca\xf3\x18\x8a\x67\x08\xce\x08\x8f\x6d\xf9\x18\x32\x26\x50\x3e\x86\xf2\x09\x82\x13\xc2\xc7\xb6\x1c\x33\x14\x94\x4f\xa0\x5c\x21\xa8\x08\x9f\xd8\xf2\x04\x32\x06\x50\x9e\x40\xf9\x00\xc1\x01\xe1\x89\x2d\x3f\x87\x8c\x6b\x28\x1f\x92\xeb\x6b\xc2\xcf\x4b\x83\xe3\x62\xb8\x37\x12\x21\xbf\x18\x3e\x18\x09\x4f\x1e\x74\xf9\xc5\xf0\xe1\x48\x44\xfc\x79\xed\x9d\xf3\x0b\xd7\x09\x59\x97\x3f\xa5\xd3\x7c\xaa\x87\x72\x14\xec\xf4\xfc\xea\x7d\xe4\x00\xf3\x7c\x8a\x3f\x22\xe4\xb5\x17\x25\x5e\xae\x5b\x4f\xae\xa1\xcd\x23\x71\x68\x05\xdb\x8e\x74\x34\x4f\xf3\x0c\x66\xd8\x06\xdd\xfc\x25\x2a\xea\xc6\x95\xcd\x23\xc6\x78\x78\xd7\x31\xd9\xab\x35\xa9\x26\x66\x7a\x9b\x6a\x03\x3c\x80\xeb\xaa\xd0\x68\x35\xb1\x83\x6d\xd8\x58\x1f\xa4\x8e\x42\x11\x52\x49\x19\x75\x5f\xec\x77\xb9\xc4\xbf\x91\x91\x4a\x7b\x8c\xc7\x20\x23\x50\x8b\x1d\x8b\x88\x4f\x44\xcc\x13\xa1\xf9\x39\x8c\xb8\x90\x7c\x2a\x14\x9f\x09\xbb\x0f\x8f\x0a\xef\x73\xd1\xd7\x59\x40\xbb\x07\xb3\x80\xb4\xec\xfb\x33\x1f\x88\x47\xc7\xc1\xd8\x23\x9f\x4d\x06\x9d\x04\x13\x8f\x0c\x2c\x90\x04\x89\x47\x0e\x2d\x70\x9e\xe7\x17\x79\x3e\x0d\xc8\x71\x91\x11\x9c\x7b\xe4\xb5\x05\x2e\x82\x8b\xaa\xde\x34\x98\x7a\xe4\x08\x01\x9f\x7c\xe8\x1e\x12\x7c\xb0\xed\x75\xc4\xdf\x44\xfc\xb7\x48\x14\xcf\xe5\xdb\xb7\xda\x13\x9d\x89\xe1\xc8\xbc\xe6\xcb\xdf\x46\xe2\xe6\x96\x0f\xf0\xef\xbb\x48\x74\xe8\xe9\x70\xf8\xef\xd3\xe1\x68\xf7\x74\xc4\x72\x7a\x7a\xca\x02\x3a\x48\xf3\xc1\x20\x80\x7f\xf9\x61\x9a\x1f\x1e\xe2\x9f\x00\xfe\x81\xcd\x1a\xa8\x20\x57\x69\x90\x5f\x0d\xd3\xfc\x6a\x14\xe4\x27\xc3\x34\x3f\x19\x05\xf9\xc7\xdc\x9c\xac\xe6\xd5\xdf\xfc\xf3\xe7\x7c\x3c\xa6\xe3\xf1\x38\x60\x41\xfe\xea\x15\x7d\xf5\xea\x15\xa4\x74\xfe\x22\x97\xf9\xb3\x7c\x32\x09\xf2\xd7\xaf\x83\x7c\x36\x0b\xf2\x2c\x0b\xf2\xa3\x9b\x1e\x7f\x72\x9b\x7f\xcf\xff\xca\x7f\xfc\x08\xf2\x2f\x5f\x82\x1c\x9f\x3c\x7b\xbf\xbd\x9d\x6f\x8f\x8f\xf2\xb7\xc7\xf9\xdb\xb7\x01\xfc\xcb\xa7\x37\x3d\xfe\xf0\x16\xf0\x3f\x60\xef\x3e\xe2\xdf\x3f\x22\xd1\x39\x55\x1d\x7e\x84\xbf\x90\x3a\xc6\xd4\xcd\x83\xdb\x0e\xff\x64\x92\x0f\x6f\x3b\xfc\xcf\x48\x74\x86\x5e\x6b\x14\x9c\xaa\x9b\xfd\xdb\x0e\x3f\xb1\xf8\x41\x87\xff\x65\xb0\x7a\x1c\xaa\x7c\x2e\x00\xa8\xf4\xc5\xa9\xd4\xe3\x50\xed\x1e\x16\x7b\x1d\x7e\x56\x15\x79\x1d\x2e\x95\xe8\x7c\xc9\x01\x06\x9a\x7e\x80\x2d\x19\x27\x3c\x54\x15\x16\x3d\x6d\xdb\xaf\xb0\xa0\xc3\x23\x28\xe9\xb6\x9e\x8c\x76\x87\xff\x9f\x6c\xfd\x38\x5d\x75\xbb\xcf\xba\xad\xd3\x55\xf7\xd1\xcb\x97\xa7\xab\xee\xe3\x2e\x00\x87\x8f\x01\x78\xf9\x04\x81\x97\x87\xcf\x01\x38\x7c\x89\xc0\xcb\x17\x2f\x47\x5e\x3e\x3c\x5d\x75\xf7\xb1\xb4\xbb\xff\xf2\xe5\x69\x67\xe4\xd1\xd3\x6c\x37\xa8\x67\x8f\x3c\x66\x0c\xcc\x84\x2b\x05\x63\xa6\xf1\x6f\xac\x44\x97\x8f\x95\xe8\xf1\x89\x12\x7b\x3c\x51\xe2\x01\x3f\x57\xe2\x21\xbf\x50\xe2\x11\x9f\x2a\xb1\xdf\x7f\x0d\x1c\x95\x1b\xb6\xb5\x37\xe2\x64\x90\x92\xbb\x3c\x72\xa5\xa3\xfd\x96\x71\xa8\x06\x55\x6a\x0e\x3c\xf9\x33\x0f\x9e\xf3\xba\x96\x51\x9c\x59\x49\xe6\x9f\xd3\x71\x48\xfc\xa0\x56\x41\x32\x51\x8b\xef\xb0\x3f\x27\x91\x49\x61\x92\x1f\x15\xd0\x80\xf0\x48\x15\x69\x0b\x7c\xa4\xc0\xc2\x39\xe0\x8e\x6a\x2f\xf3\xb1\x9b\x10\x1f\x0c\xf8\x4a\x25\x6b\x41\x9f\x11\x73\x60\x70\x37\xb0\x5d\x13\x26\x2a\x4f\xac\xdd\x47\xb2\x24\x57\x3c\x2a\x9f\x51\xef\x1b\xeb\x5b\x07\xe6\x23\xda\x3f\xa7\x11\xab\xbd\xc3\x2f\xe4\xad\x31\xc4\x67\x4a\x90\xdf\xe4\x7c\x25\x17\xd7\x67\x2f\x75\xb8\xc0\xc4\x40\x2e\xa2\xc9\xd9\xb3\xcb\x45\x32\x3d\x1b\xc8\xeb\xb3\xdf\x56\x73\x7d\xf6\xdb\x6a\x7a\x7d\xf6\x6c\x35\x5e\x65\xcb\xb3\x23\x7d\xb9\xd4\xb3\x50\x2f\xce\xde\x47\xcb\x14\x7e\xdf\xa5\xdf\x4c\xc6\xa1\x8e\x30\x41\x8a\xe7\xa0\xcf\x08\xe3\x73\xf3\x15\xf8\x02\x10\x07\xd2\x05\x61\xa0\x0b\x64\x81\x26\x50\x03\x4a\x40\xa4\x56\x3f\xc5\x17\x76\x7f\xfe\x9c\xd3\x4e\x0f\x3b\x74\xa9\x44\xe7\xdf\xa7\xd9\x2e\x0d\x7c\xb3\x9f\x6e\xf6\x6f\x73\xdc\xc4\xac\x45\x03\x9f\xc2\xd6\x6a\xc1\x1f\x96\xd3\x13\xf8\xbd\x57\x24\x5a\x98\x07\xa9\x53\xc5\x18\xa5\xc7\x79\x83\x21\x48\x7d\xe7\x2f\xec\x42\x8f\x05\xe6\x1f\x1d\x9e\x7a\xa7\x66\xd3\xd2\xc0\x37\xfb\x96\x05\xf9\x69\xb6\xfb\x05\x8a\xef\x75\xf8\x57\x25\x86\xc3\x5a\x50\x09\xe1\x9d\xb2\x61\xad\x53\x75\xb3\x67\xff\x76\x46\x7c\x48\x6a\x68\xd8\xea\x0d\x94\x57\xaf\x5e\xbd\x6a\x0d\x4f\x46\x27\x27\xad\x17\x25\xd2\x49\x81\xb5\x86\xb2\x86\x50\x7d\xe3\xb0\xfe\x85\x07\xb7\x9d\xd1\x88\x2f\xb0\xb1\x6e\xc8\xcb\x11\xe1\x1d\x1c\x08\xe4\x4b\xe5\x1f\x1c\x04\x24\x56\x20\x6f\xc7\xab\x50\x36\xca\x6d\x91\x9b\x0f\x4d\xc8\x70\xfa\x3a\xc1\xa1\x5c\xea\x53\x4a\x4f\x5b\xc0\xfa\x58\x27\xe9\xdf\x79\xc3\x53\x48\x49\x6d\xf0\x2d\x3e\xdc\xb5\x5c\xac\xac\x6b\x50\x4e\xa7\x59\x03\x50\x1a\xcb\xb4\x71\x9e\x99\xd0\xa1\xc6\xf1\x24\xc9\x30\x1a\x37\xc9\xa2\x74\xb5\x90\x63\xad\x1a\x72\xae\x1a\x57\xc9\x74\xda\x08\x75\x63\xa1\x67\xe9\x37\xad\x1a\xc9\xbc\xb1\xba\x8c\xd2\x59\x32\x1f\x37\x66\xf2\x3c\x5d\x34\x16\x1a\x83\x76\xcb\xe0\xdd\x85\x8e\xf5\x02\x68\x4f\x96\xcb\xcb\xcc\xef\x74\xc6\xc9\x72\xb2\x0a\xdb\x51\x3a\xeb\x98\x06\x15\x3f\x49\x96\xad\x74\xd6\xe9\x3d\xec\x3e\x6e\xc4\xe9\xa2\x31\x4b\x17\xba\x91\xcc\xe3\xb4\x4d\x6a\x9c\xa9\x7e\x89\x5c\xb6\xcf\x12\xcf\x79\x69\x83\x34\x8a\x87\xeb\x0c\x7b\xeb\xe2\x64\x22\x6b\xbd\xf3\xa4\xc3\x1c\x81\xde\xef\x75\xbb\x4e\x15\xa8\xf4\x10\x2a\xd9\x97\x67\x9c\x82\xcf\x84\x3f\xba\xa3\xe4\x33\xe1\xfb\x7c\xa7\xeb\x96\xfe\xb0\x6f\xd7\xe0\x91\x2e\xb0\xbe\xcf\x84\x9f\x19\x86\x08\xe8\x15\x7b\x34\xd5\x3f\x47\xfc\x53\x05\x7f\x26\xfc\x4b\xc4\xff\x74\x32\xaa\x1c\x60\x87\x36\xa7\x28\x1a\xf1\x18\x39\xaa\xa5\x55\xf6\x37\x34\xaf\x88\xc6\x6a\x24\xf6\x9c\x5b\xb0\x81\x34\x87\x06\xc7\x57\xe9\x61\x32\x4e\x96\xf8\x24\x4d\xc8\xfc\xaf\x34\x64\xb7\x96\xce\x76\x2a\xdb\x2b\xde\x32\xbe\xa5\x40\x6c\x91\x2b\xc0\xd3\x3d\x0a\x7f\x0f\xf6\x7f\x09\x7a\x4f\xba\x5d\x7f\x4f\x3f\x60\xb7\xc8\x9e\x96\x4a\x3c\xa7\xa4\x78\x23\x87\xf0\x9d\x1e\x03\x31\x79\x05\x62\xf2\xea\xca\x88\xc9\xab\x94\x18\xc7\x1f\x8e\x3f\x39\x81\x32\xd8\xca\x50\x76\x02\x65\x45\x68\x0a\x4e\x00\x22\x72\x72\x65\xa0\xa2\x88\x93\x13\x33\x23\x57\xa5\xc0\xba\xba\x72\x67\xe4\xa4\xcc\x3f\x39\x29\xf3\xff\xa0\x43\xa8\x80\xa8\x80\x01\x65\xdb\x44\x51\x38\x54\xd5\xd3\x1a\x3d\x56\x3c\xe0\x8a\x3d\x5c\x29\x71\xa3\xd2\x2b\xbf\xcb\x55\x7a\xed\xef\xdf\x42\xf7\x90\xdb\x0c\xe1\xe7\x90\xf0\x07\x23\x0e\x29\xe8\x48\xf9\xfc\x88\x69\x7c\x05\x22\x86\xe9\x00\xd6\xf9\x2b\x2a\xd2\x87\x84\x1f\xdb\x05\x82\x80\xc9\x5b\x6f\x24\xbb\x89\xdc\x87\x4e\xec\xfb\xb2\xd5\x53\x26\xee\xbb\xd6\x66\x62\xbe\x29\x87\x91\x80\x2e\x90\xcc\xeb\x31\xfb\xdc\x09\xd6\x37\xa5\xf3\x6c\xa9\xa5\x6a\xff\xf7\xdb\xff\xd1\xc3\x5f\xc8\xe6\x1d\xda\xbb\x0e\xbd\x5c\x37\xee\x81\x8d\x55\x92\xb7\x8c\x5f\xad\xb7\x54\x7e\xff\x59\x4b\xa1\xf4\xff\x51\x4b\x25\xde\x64\x2b\x5b\xda\xff\x4d\x52\xf2\x85\x70\xe2\x13\xc6\x31\xfd\xc5\x9c\x87\xbf\xc3\x6c\x69\xb4\xa5\x2f\x36\x09\x33\x0a\xe5\x5f\xbe\x6c\x9f\x4d\x7b\xc5\x7e\xa7\x0b\x8a\xce\xf2\xc7\x4c\xe0\x15\x61\xbb\xe8\xbe\x2b\xd1\xb1\xc2\x38\x47\x21\xdc\x19\x83\xc8\x70\x2f\x13\x6c\x4e\xf9\x35\x54\x3a\x6d\xb1\xc0\xe8\x05\xbb\xec\xb4\xcd\x02\x0a\xf2\xe6\xd4\xc7\x1f\x1a\xf8\x36\x75\xda\x86\x82\x1b\xd0\xbd\x41\xfb\xfe\x01\x52\x8a\xb6\x58\xf0\x01\xaa\x06\x3e\x05\x55\x9c\xb7\x47\xbb\xec\xb3\xa1\x56\xc2\x83\x35\xf8\x10\xe1\xe3\x5a\xde\xeb\xbf\xa9\x73\x04\x1f\xcd\x2b\xf8\x84\xdd\xeb\xf4\x3f\xcb\x76\x3c\x17\xaf\x65\x15\x0b\x8b\x7d\x7a\xa6\x84\x0c\x69\x8f\x13\xa9\x14\x61\xfc\x57\x04\x5b\x3d\x4e\x8a\xb8\x35\xc2\xfa\x6b\x21\xaa\xc2\xd1\x3a\x8e\x0b\x79\xfe\x85\x20\xb9\xe7\x6b\x6b\x6d\x2a\xe7\x63\xba\x71\x99\xe5\x8d\x59\x5f\xbc\x7e\x9d\xc5\x55\xad\x41\x4a\x8e\xf5\xb2\xb1\x9c\xe8\x06\xd0\x58\xc9\xb1\x06\x69\x1d\x27\xe3\xd5\x02\xf5\xb8\x76\xe3\xd3\x66\x65\x53\xd1\xdc\xb4\x2d\xeb\x65\x6b\x42\xf3\x8e\xc0\x4e\xf7\xf3\x6e\x5c\xa9\x59\x34\x46\xae\x8d\xc7\x3f\x97\x9e\xc0\x5b\x3f\x6f\x4a\xd0\x57\xaf\x7e\x5e\xcd\x32\xe1\x5a\xcd\xc3\x90\x92\xf1\x18\x3e\x48\x0a\xaa\xa4\xca\xdd\x92\x0d\x4a\x5c\xc5\xeb\xd7\x0a\x36\x4b\xac\x24\xb0\xdc\x73\x3c\xae\x89\x03\x9b\xfb\xea\x95\xd9\x7c\xaf\x4a\x29\x3d\x2e\x53\x40\xb2\x92\x0e\xd0\xa0\x0a\x32\x1f\xac\xa4\xb7\x69\x70\x05\xdb\x16\x55\xd2\xdc\x76\xc9\x66\x80\x54\xb1\x7d\x2c\xfa\x6a\xbb\x60\x2a\xfe\xad\x84\xd9\x2b\x25\x8c\xa5\x65\xfa\x32\xaa\x89\x6f\xe3\x55\x8c\x86\xfa\x27\x12\xfc\x35\x25\x1f\x8d\x3d\x58\x46\x9c\xe2\x30\x15\x00\x27\x1f\xcd\x08\x7d\x24\xfc\x0f\x94\x32\x90\xda\x66\xb8\x3d\xd8\xa5\xc6\x76\xb3\x64\xad\x7c\x33\x42\xda\xca\xb6\xa5\x2e\xc4\xda\x52\x83\xa0\xb2\xf2\xac\x14\xbc\x87\x87\xee\x20\x1f\xa6\xeb\x5f\x2a\xb8\x6a\x10\xd6\x4f\x7f\xfd\x70\xeb\x91\xb1\xb5\x22\x8d\x4c\x24\x23\x3e\x31\xea\xd2\x26\xdd\x10\x9f\xa4\xfb\x4a\x8b\xff\x24\xe1\x24\xc2\x37\xb3\xf0\x35\x16\xdc\xf5\x87\xa8\xa4\x98\xeb\x5b\x3b\x5d\x54\x50\x14\x0c\x1b\x51\x56\x68\x1b\xc5\x44\xa9\x7f\x60\x5b\xbb\x91\x54\x35\x1b\x5d\xfd\x4f\x64\xb6\x18\xfb\xea\x7f\xa3\x54\x27\xa2\xed\xf2\xb0\xa5\xa6\xa3\x2f\x6c\x66\x15\xb4\x5c\xea\x2b\xc4\x3c\x2d\x64\x77\x9f\xc9\xd0\xb5\xbd\x67\xf2\x5e\x98\xc9\x57\xe5\xe4\xeb\x32\xf5\xa2\x4c\x41\xfb\xad\x0f\x41\xd5\xd3\x16\x80\xd5\x0f\x69\x53\x6c\x0a\x36\x85\xa5\x71\x91\x57\x8e\x82\xf5\xc8\xc2\x7e\xf1\x9f\xc9\x84\x6d\x25\x54\xcd\x39\x60\x1b\x2c\xa4\xdd\x6a\x0a\xbb\x03\xcd\xbf\x63\x93\xd6\x54\xbf\x17\x4a\x90\xa3\xd5\x5c\xc9\xeb\xb3\x41\x8a\x3f\xc7\x2b\x9d\xc1\xef\x89\x56\x73\x93\x3a\x9e\xac\x16\x98\x78\xb9\x48\xe0\xe7\x48\x2e\x57\x0b\x18\x23\xd7\xde\x7f\x69\x08\x01\x15\x20\x01\xd5\xa1\x22\xd4\x81\x0a\x35\xdc\x57\x88\x7b\x36\x48\xcf\x8e\x57\x67\x27\xfa\xec\x78\x72\xf6\x72\x71\x76\x24\x5d\x24\x58\xc1\xaf\x89\x35\x38\x91\x73\x9b\x33\x27\x9c\xdd\x09\x14\x4c\x26\x3f\x67\xe9\x36\x2c\xec\x7e\x6f\x2f\xcf\x7b\x7b\xb7\x8c\x1f\x85\x94\x48\x73\x93\x10\x92\xcf\x50\x95\x87\x69\x47\xc2\x9c\x4c\xcc\x84\x4b\xc2\x8f\x43\x4c\x3d\x2b\x53\xaf\xcb\x09\x9f\x94\xa9\xd7\xaf\x5d\x5e\x30\x99\x94\x10\x6c\xe9\xd7\x84\x03\xc2\x88\x27\x56\x4f\x92\x84\x93\x67\xdb\xd5\xa4\x24\xfb\x30\x73\xe6\x1e\xdf\x45\xc3\x3b\xb2\x65\x88\x1a\x4e\x2e\x50\x99\x40\x33\x27\x5b\xc8\x84\xf8\xca\x1b\x4c\x2c\xc7\xc5\x51\x3c\x04\xb7\xd3\xb5\x13\xfd\x5a\x89\xce\x50\x5e\x8e\x4e\xdb\xc1\x2c\x38\x6d\x07\x9d\x84\xbf\x41\x9e\x01\x68\x59\xc9\x34\x66\x30\xb2\x60\xfb\x9b\x21\xb7\x07\x79\xc6\xad\x66\xd2\xe6\x85\x8e\x77\x88\x6a\x47\x62\x36\xab\xf5\x7d\x06\x38\x33\x32\xe2\xe7\xca\x7c\xfb\x37\xfc\x90\x7d\x34\xb2\x34\xa0\x32\xf8\x54\x96\x15\x9f\x2a\x2f\xd8\xfd\xa0\x45\x9a\x93\xcc\x7c\x2a\x2b\x3f\x95\x65\xb5\x4f\x65\x80\x93\x91\x11\xbf\xb0\x9f\xfa\x1d\x3f\x65\x9d\xf8\xe5\xa7\x8e\xc8\xf6\xd0\xc2\xff\xfc\x87\xae\x5f\x90\xa0\xac\xd3\xeb\x76\x2b\x6b\xfd\xe8\xe8\xae\x55\x76\x57\x65\xb7\xee\x11\xda\x4e\x5d\xbe\x76\x87\xb0\x2c\x3e\xb2\x56\xfd\xe6\x12\xee\x75\x77\x37\xa9\xbb\x94\xa1\xee\xa3\xbb\xea\xfe\x7d\xe5\x23\xc2\xf7\xef\xa8\xad\x1f\xfc\x7d\xed\x23\xc2\x1f\xdf\x55\xfd\xe1\x7f\x51\xfd\x88\xf0\x5f\xee\xaa\xff\xe8\xbf\xa9\x7f\x44\xf8\x93\xbb\x08\xec\x6f\x27\x80\x6b\xb8\x9a\x06\x73\x19\x04\x16\xd5\x11\x58\xab\xa8\x3d\x00\x60\xa0\xa3\x02\x32\xe0\x71\x64\xd6\xd7\x5b\x13\x0f\xfd\x16\x38\x18\x94\xf5\xdf\x16\xef\x49\x3e\x15\x4f\xfa\x6f\x95\x27\xc8\x11\x61\xef\xe8\x5b\xc5\xef\xd9\xff\xc8\x08\x71\xef\x40\xfc\x08\x88\x27\xa1\xa1\x3d\xb0\xdb\xa4\x3a\x0b\x2b\x17\xf0\x0f\x2b\xce\x7e\xa4\x73\xfd\x2c\x0c\x2d\x1b\xfc\xe1\x66\xbf\x93\x33\x4d\x0c\xa1\x77\x4a\xcc\x1d\x23\xe3\x9d\x6a\x4b\xa5\xc4\x33\xc5\xdf\xa9\xf2\xbe\xb2\x88\x42\x04\xa7\xe9\x5c\x0b\x85\x69\x95\xc4\xb1\x48\x30\x89\xd7\x4f\xc5\x0a\xd3\xe6\x24\x4f\xcc\x0c\xb0\x48\x67\x62\x5e\x26\xdf\xa5\x57\x22\x45\x68\x99\x8a\x4b\x9b\x80\xcc\xaf\x98\x1e\xeb\xa5\x78\x09\x09\x2b\xab\x9e\x2d\xc5\x73\x2c\xb0\x37\x73\x85\xb6\x90\xb9\x94\x2b\xe2\x12\x5c\x5e\x69\x3d\x17\x63\x0b\x1f\xc9\x99\x16\x13\x0b\x98\x77\xda\x9f\x21\x04\x06\x86\x78\x8e\x1d\xb3\xf7\xbd\x16\x61\x05\x80\xda\x20\x32\xcc\x98\xc9\xef\xe2\x0a\xf1\x66\xc9\x5c\x7c\xc3\x14\x68\x9c\xc9\x7c\xfc\x72\x2a\xc7\x99\xf8\x15\xd1\xb2\xa2\xc1\xf6\x72\x91\x58\x9a\x6c\x6b\x89\x89\x5f\x95\xe9\x22\x3e\x8c\x22\xae\x6d\x87\xed\xbb\x72\x3f\x2c\x08\x5a\x98\xf8\x6e\x81\xf2\x46\xa3\x98\xda\x9c\xdf\x8e\xde\xbf\x2b\x01\x5b\x76\x81\xe0\x6a\x9e\x7c\x17\x57\x98\x2c\xfe\x2f\xe4\x6f\x08\x5d\x6b\xb9\x10\x4b\x65\xfa\xff\x56\xcb\x4b\x74\x91\x24\x12\x32\x0a\x13\x42\xbc\xb4\xe3\x53\x9a\x0f\xe2\x15\xe6\x58\x4d\x59\x54\xc9\x4c\xfc\x66\x06\x05\xcf\x15\x3e\xe3\xdc\xcb\xeb\xec\xcd\xdc\x1c\x34\x7c\x29\xc8\x0a\xfb\x9b\x89\xb9\x74\x68\x8b\x2a\x99\x89\xb4\x6c\x44\xf6\x66\x8e\x5f\x7d\xe3\xb6\xa3\xc8\x7c\x6d\x56\x18\x8c\xcc\xa1\xb2\x1f\x14\xf6\xbb\xe2\x43\x58\xd0\x80\xdc\x8f\x6e\x7d\xc8\xf8\xc3\xd6\x2d\x5d\x43\xf8\x49\x10\xda\xc2\xfe\x66\xe2\x4d\x31\xb7\xab\xa5\x16\x65\x2a\x13\xbf\x29\x33\xad\xb0\x9d\x44\x99\xca\xc4\xef\x8a\xff\x0b\xd1\xca\xcd\x26\xea\x60\x26\x06\x58\xb5\xbc\x3c\x2d\xde\x49\x0b\x8b\x0f\xb2\x5c\x63\xe2\xa3\x2c\x96\x12\x06\x3b\x8b\x3f\x4c\xe3\x64\xf6\x6c\x9a\x8c\xe7\x5a\x81\x78\xb5\x04\x8e\xec\x20\x1e\x1e\x1d\x8b\xe3\x2a\x5d\xbc\xa4\xf3\xc9\x66\xbd\x45\xba\x7f\x5a\xe8\x53\xf9\xfd\x93\x2a\x47\xfc\x55\xa4\x8f\x9f\xdb\x74\xc1\x19\xc4\x5f\x61\x01\x02\x47\x10\x9f\xcb\x81\xcf\xd0\x2f\x80\xa9\x86\x8c\x22\x9d\x65\xe9\x62\xdd\x2d\x00\x06\x3d\x60\x94\xfe\x27\xc2\x0f\x41\xa3\x55\x45\x54\x95\x71\x2d\x40\xf2\xa7\x34\x10\xa5\x20\x42\xf8\x67\x56\xac\x62\x43\x01\x53\x3f\x25\x00\x18\x55\xfd\xa5\x69\x03\x74\xaa\xee\xdc\x80\x9c\xbb\x3d\x69\xd4\x79\x91\xe9\x7f\xf0\xa8\x3d\x7e\xfc\x84\xf0\xf7\xd2\xf0\xd4\xf7\xb0\x40\xf8\x07\x25\x6e\xec\x83\x12\x3e\x19\x1e\xa7\x4a\x5e\x37\xe4\x72\xd4\x78\x7b\x4c\xb8\x7d\x5a\x02\xf3\x67\xe9\x62\x91\x5e\xd5\x8a\x60\x35\xfb\xa8\xff\x37\x86\x45\xbe\x7d\xa9\xc2\x27\xc3\xcf\x3a\x5b\xea\x85\x4b\xae\x78\xd4\xc2\x27\xc3\xb7\x32\x5b\x8e\x1a\xf5\xaa\xc5\x7b\x15\x3e\x79\x4b\x6e\xf9\x47\x25\x6e\xde\x1e\x1f\xf9\x64\x62\x6f\x76\x3f\x23\xfc\xed\xb1\x01\x31\xed\x93\xc1\xa0\x73\x78\xd8\x31\x9e\xf8\xb7\x08\x0f\x06\x8d\x43\xde\x28\x72\xd6\xb2\x1a\x65\x55\x2c\x82\x8f\xf3\xc6\x36\x84\x5b\xfe\x87\x12\xc4\xfe\x57\xd9\x0d\x63\x38\x1f\x29\x81\x81\xe7\xc7\x4a\x94\xb1\xce\xfc\x93\x12\x37\x26\xaa\xdb\x27\xc9\xbc\x71\x3f\x23\xfc\x52\x66\x4b\x9f\xdc\xcf\x1a\x72\x9c\x12\x9e\xf9\x44\x36\x62\x7d\xd5\x28\xa5\xdf\x0c\x72\x0a\xbd\x73\x36\xf3\xc9\x7d\x65\xc1\x8c\xf0\x89\x4f\xe4\xbc\x61\x74\xf7\xc9\x04\xcb\x26\x46\x97\x55\x50\x0d\x8d\x38\xa5\x30\xdf\x44\xfe\x0e\x90\x9a\x39\x1c\x1e\x0c\x0c\x31\x1b\x83\x7c\x0d\x45\xe6\x5c\xe4\xfa\x1a\x4b\x70\x89\x92\x5b\xfe\xa7\x12\x99\x23\x4b\xff\x54\xd5\x75\x05\xf1\x41\xf1\x3f\x1d\x89\x7a\x16\x02\xb8\x16\xd8\x2f\x3e\x22\xd2\x5a\xa6\x8c\x10\xd5\x89\xea\x17\x7f\x20\x9e\x9b\x13\x1a\x24\xeb\x37\x10\x47\x88\x50\x40\x51\xad\xd0\xdc\xc8\x3a\x46\x8c\xe2\x0d\x5a\xa1\x10\xa5\x0a\xc6\xb1\x19\xb5\x60\x7b\xf1\x09\xeb\xd4\xb2\xb4\xa9\x57\xc6\xf6\x88\x18\x33\x80\x07\x8d\x31\x65\x79\xc1\x27\xa4\x66\x81\x99\xaa\x4a\xd0\xd2\x17\x7f\x3a\xc5\x26\x67\xee\xe0\x98\x16\x9f\x40\x06\x8a\x9a\x0b\x89\xe8\x98\x5e\x21\x5e\x9c\x2c\x70\x77\x58\xae\x3f\x93\xf5\x4c\x94\x44\x53\x59\x10\x40\x41\xf2\x36\x2c\x89\x20\xfc\x42\xb9\xc5\x83\x64\x2e\xde\xd5\x31\x20\xeb\x55\x0d\xc9\xb4\x74\x50\x47\x33\x99\x2f\x6b\x88\xa6\x03\xef\x11\x11\x4c\x36\xf1\xc9\xd4\xa9\x5d\x2b\x12\xaf\x4d\x97\x0b\x3b\xee\xcf\x90\x5f\xe1\xe3\x0c\xfc\xa6\xe6\x1e\x2a\x76\x09\x5d\x4e\xf2\x6c\x99\xcf\x55\xbe\x50\xac\xc3\x2d\x4e\xed\xff\x37\xb4\x2f\xbc\xdd\xef\x75\x79\x24\x7a\x42\x80\xd1\x77\xbf\xd7\xed\x82\xe5\x11\x90\xe5\x84\xf8\xf8\xb2\x6c\x40\xb2\x25\xf1\xcd\xff\x2f\x40\xe6\x8a\xf8\x0f\x4c\x72\xa1\x88\x0f\x58\xe5\x01\x80\x17\xdd\xe2\x39\x0b\xaa\x52\x15\x73\x45\x78\x3b\x6b\x37\xc5\xa8\x61\x39\x72\xe2\xaa\x20\x82\x5a\xd7\x1a\x21\xc8\xfb\x5b\x62\x06\xa9\x24\x78\x6d\x18\xef\x89\x2a\xff\xeb\x6e\xfe\x97\x12\xd7\x11\x35\x7a\xfb\x67\x93\x86\xe4\x17\x9b\x4d\x18\xbf\x67\x92\x60\xca\x9f\x99\x24\xd8\x5b\x52\x63\xf2\x8a\x30\x1e\x9a\x24\xbe\x68\x65\x92\xd7\x84\x71\xa5\xc5\xb3\xa8\x66\x1e\x00\x5d\x6d\x72\xab\x8c\xb8\x40\x33\x2c\x88\xf1\xb1\xc9\x30\x7c\x87\xf1\x89\x01\x91\xdd\x30\x9e\x58\xec\xe2\x4d\x8f\x73\x03\x1b\xce\xc2\xf8\x85\x76\xfe\x0f\x12\x3e\xd5\xe2\x26\xf3\x1f\x3e\xe2\x33\xf8\x33\xf1\xf7\xf6\xb8\xf2\xf7\xf6\xf9\xc0\xef\xf5\x6e\xf9\x4c\x57\x83\x30\xd7\xf5\x33\x84\xb9\x86\x6c\x91\x46\x1c\x52\x4a\x89\xaf\x98\x2a\x75\xd6\x85\x29\xc8\xc4\x95\x4d\xb8\x16\x86\xf8\x4b\x99\x4c\x6b\x32\x8b\xcf\xaa\x40\x32\x0a\xd4\x17\x0b\xa3\x9b\x40\xdc\xb3\xd0\x21\xec\xae\x33\x0b\x18\x45\x50\x6a\x5b\xd1\xbe\x5d\x66\xc1\xcf\x28\xf4\x23\x84\x0a\xa5\xf6\x3b\x36\xc4\xc6\xde\x8b\x25\x42\x60\x2a\xfc\xc0\x54\x4d\x09\x53\x58\xb1\x80\xb4\x36\x08\xa6\x69\x31\x42\x46\xff\x1b\x63\x1a\x37\xfd\x04\x93\x46\x6f\xfd\xd5\x50\x34\x4d\x4a\xb0\xc0\x68\x21\xe7\xa6\xae\x7d\xc8\x42\xbc\x44\x3c\x57\x5b\x7f\x65\x73\xd6\x40\x54\xde\x0d\x50\x19\x1c\x25\x50\x18\x1c\x86\x56\x56\x54\x86\xcd\xe0\xc0\x9b\xa7\x31\xce\xd3\x62\xb5\x37\x50\x8a\xdd\xd0\xa0\xf3\x74\x99\x44\x1a\x0f\x63\x22\x79\x99\x2c\xe5\x34\x63\x84\xbf\x8a\x18\x7e\xdc\x5a\x41\xaf\x29\xf9\xcb\x5a\x84\x60\x4a\x18\x23\xf1\xbb\xcd\xb1\x83\x6f\x2c\xde\xef\xe5\x21\xc2\x5f\x84\x87\xc6\xeb\xfc\x17\xd9\x7a\x22\x5b\x05\x37\xf4\xf4\x83\x5d\xf7\x25\x3c\xde\xeb\x32\x7b\x30\xff\xfd\xef\xea\x7e\xc5\xff\x3f\x15\x58\xc4\x37\xbd\xc8\x92\x74\x2e\xc8\x5e\xbb\xd7\x6d\xef\x13\x1e\xd2\x43\x7c\x34\x2e\x9e\x8b\xf7\xca\xdc\x32\x11\x2f\x25\x24\xe4\x77\xf1\x0a\x12\xa0\x73\x4f\xe0\x17\xec\xa3\x2f\x61\x75\xbb\xe4\x3c\xc2\xc7\xe6\x50\x5a\xaa\xf2\xff\xd9\x15\x57\x90\x6b\x04\xa9\x98\x72\xd9\x56\xf6\xc0\x4a\x7c\x96\x88\x6f\x5e\x03\x17\x29\x97\x95\xe8\x98\x46\x45\xb0\x00\xaa\xf1\xf7\xea\xff\x6d\xaf\xb8\x36\x1f\x2a\x08\xbd\x91\x65\x23\x8c\x6c\xb8\x88\x1c\x62\x20\x55\xe6\x90\x61\xde\xc6\x7a\x6b\x5a\xf5\xdd\xc1\x30\x95\x66\x80\x33\x07\xd9\x3c\x4d\x7e\xe8\x4f\xf3\x64\x99\x89\x67\x5c\xd6\xa4\xf1\xf1\x64\xa1\xb3\x49\x3a\x55\xe2\x45\x84\xfc\x30\xd5\xa2\xbc\xcf\x91\xea\x5b\xd6\xff\xff\x03\x00\x00\xff\xff\xfa\xac\x23\x37\x57\x8a\x00\x00") func uiLibMomentMinJsBytes() ([]byte, error) { return bindataRead( @@ -505,12 +505,12 @@ func uiLibMomentMinJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "ui/lib/moment.min.js", size: 35415, mode: os.FileMode(420), modTime: time.Unix(1483467521, 0)} + info := bindataFileInfo{name: "ui/lib/moment.min.js", size: 35415, mode: os.FileMode(420), modTime: time.Unix(1491905519, 0)} a := &asset{bytes: bytes, info: info} return a, nil } -var _uiLibRoutingTreeJs = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xa4\x18\x6b\x6f\x23\xb7\xf1\xbb\x7e\xc5\x64\x03\x04\xab\x5a\x5a\xc9\xe7\xa4\xb8\xc4\x51\x83\x20\x38\xa4\x57\xe4\x92\x22\x4e\x83\x16\x8e\x51\xd0\xcb\xd1\x8a\x36\x45\x6e\x49\x4a\x96\x73\xa7\xff\x5e\xcc\x2c\xb9\x2f\xc9\xb8\xa0\xbd\x0f\x67\x2d\x67\x38\xef\x27\x17\x0b\xb8\xc1\xb0\xab\x27\x93\xc5\x02\xde\x59\xa9\xd6\xcf\x10\x36\x08\x52\x89\x2d\x06\x74\x10\x2c\xe0\xa1\x16\x46\x2e\x4a\x6b\x82\x13\x65\x00\x5f\x8b\x12\xe1\x1e\xc3\x13\xa2\x01\x63\x25\xfa\x62\xb2\x17\xae\xbb\xb4\x82\xcb\x57\x9f\x2f\xaf\x27\x7c\x1a\x1c\x22\xac\x40\x5e\x15\x5a\x3c\xdb\x5d\x28\xe8\x20\x9f\x4e\x00\x00\x0a\xaf\x7e\xc7\xfc\xf6\xea\xcf\xcb\x59\x77\x7b\x01\xaf\x60\x0e\x97\xaf\x96\x77\x09\x09\x6b\xe1\x44\x50\xd6\xe4\xeb\x9d\x29\xf9\x87\x98\xc1\xfd\x14\xde\x83\xc3\xb0\x73\x06\x72\x51\xd4\xc2\xa1\x09\xb0\x5a\xc1\x7d\xfa\xfd\x0d\x5c\xc2\x57\xf0\x6a\x0a\x0b\x10\x85\xc4\x3a\x6c\xae\xe1\x38\x8d\x72\x49\x25\x2a\x6b\x84\x6e\x64\xf3\xfb\xaa\x48\x27\x85\x13\x52\x09\x9d\x64\xac\x9d\x7d\xc0\x72\xc8\x5e\xf6\x78\xdf\xca\xe2\x79\x06\xb2\x38\xc0\x02\x2e\x5f\x2f\xe1\x4f\xf0\x4e\x84\x4d\xf1\xf7\xb7\x77\x3d\x6e\x7e\x5f\x25\x7b\x58\xab\x83\xaa\x23\x5b\xd4\x58\x86\x3c\xbb\xb7\xf2\x39\x8b\xfc\x44\x5d\xa3\x91\x79\x26\xd5\x3e\x1d\xf9\xf0\xac\x31\xcf\x6a\xeb\x15\xb1\xcf\x66\x90\x89\x7b\x6f\xf5\x2e\xe0\x08\xe5\x5e\x94\x8f\x95\xb3\x3b\x23\xe7\xa5\xd5\xd6\x11\xea\xd3\x46\x9d\xe2\x59\x27\x91\xa1\x97\xf5\x01\xbc\xd5\x4a\xc2\xa7\x52\xca\x11\xda\xda\x9a\x40\x48\x5f\xd6\x07\xd8\x5a\x63\xd9\xf7\x63\xa9\x84\x94\xca\x54\x84\xf6\x79\x7d\x80\x57\xf5\x61\x84\xf0\xfb\x5c\x19\x89\x07\x66\xb6\x1c\xc1\xf6\xca\xab\x7b\xa5\x55\x78\x26\xf0\x46\x49\x89\x26\x23\xa3\x25\x53\x43\x2d\x9c\xc7\x1b\x14\xae\xdc\xe4\x9e\xff\xdc\x04\xa7\x4c\x35\x85\xf7\x13\x00\xb2\xa8\x16\xf7\xa8\x3d\xac\xa0\x0f\x2e\x1c\xd6\x5a\x94\x98\x2f\xde\x7f\x38\x7e\xf8\x2d\xfb\xf0\x9b\x5f\x54\x33\xc8\xb2\x69\xe1\x6b\xad\x42\x9e\xcd\x88\x4f\x43\xc1\xc2\x0a\xde\x1f\xe9\xab\xa1\x55\xac\xad\x7b\x23\xca\x4d\xe7\x70\x3e\x6f\x58\x46\xa6\xb0\x6a\x90\x13\xb9\x55\x43\x0e\xc0\xde\xea\xdb\xe5\xdd\x1d\xc1\x6f\x2f\xef\xe8\xec\xc8\x90\x18\x2e\xf6\x7a\x72\xec\xa9\xe7\xd0\x63\xb8\xf9\xf5\xfb\xbc\x21\xde\x8b\x89\xe2\xc1\xcf\xfd\xbe\xa2\xd0\xc9\xa6\x85\xc3\xad\xdd\x37\x79\x43\x87\xab\x33\x98\xd9\xb4\x8d\x1d\xfe\x8a\xe1\x14\x82\xcb\xb3\x27\x25\xc3\x26\xeb\xb2\x6c\x00\xdc\xa0\xaa\x36\xa1\x07\xa5\xfc\xfb\x62\x39\x8a\xc7\x11\xc5\xe0\x84\xf1\x6b\xeb\xb6\xe4\x38\xfe\xd0\x22\x60\x9e\xc1\xc5\x30\x95\x2f\x20\x9b\xd1\x61\x3e\x4a\xf0\x57\xcb\xe5\x94\x80\x53\xb2\xdb\x91\x0b\xd0\x5f\x85\x91\x1a\x1d\xac\xad\x03\x87\x82\xa2\x0a\x4a\x6b\xd6\xaa\x2a\x9e\xb7\x7a\x22\xaf\x8a\x07\x6f\x4d\x9e\x89\x5a\x2d\xf6\x97\x0b\x1f\x44\xd8\xf9\x6c\x06\xad\x97\xd0\x39\xeb\x66\x20\x45\x10\x5d\x78\x70\x00\xc9\xef\x98\x0e\xd9\x4d\x04\x51\xf0\x7f\x0d\xe9\xbf\xdd\xfc\xf4\xe3\xf5\x64\x02\xb0\x58\xc0\x77\x0e\x45\x40\x10\x60\xf0\x09\x6e\x7e\xfd\x9e\x25\x41\x51\x6e\x20\xa8\x2d\x9d\x37\x57\x40\x79\xd0\x56\x48\x94\x05\xfb\x35\x79\x90\x03\xc8\x8a\xc8\x2b\xef\x33\x26\x1d\x29\xac\x89\x89\x56\xe5\x23\x6c\x7a\xba\x2a\x53\xef\x42\x13\x4d\x37\x18\x26\x23\xcf\xae\x95\x91\xf3\xad\x08\xe5\x26\x9b\x16\xa4\x7e\x49\x04\xfa\x6a\x77\xba\x36\x19\xf0\xab\xd0\x3b\xae\xb9\xb6\xdc\x6d\xd1\x84\xe2\x3f\x3b\x74\xcf\x37\x4c\xd3\xba\x3c\x63\x7e\xd9\xb4\xd8\x13\x5e\x3f\x89\x6e\x30\xc0\xea\x4c\xc6\x31\xc1\x36\x5b\x58\x16\xa4\x84\xe3\x5f\xb9\xb3\x36\xcc\x5a\x02\xd3\x88\xc5\x8d\x01\x56\x5c\xff\x0b\xfe\x60\xc4\x11\x15\xf9\x56\xb6\x84\xd0\x17\x5b\x51\x77\x39\x67\x7a\x45\xd6\x14\x4a\x5e\xc7\x44\x6a\x5a\xce\x49\x8a\x9a\x94\x9e\x6a\x0d\x79\x47\xbd\xe0\xe2\xf3\xd3\x3a\x27\x12\x53\xf8\x0b\xcc\x2f\x13\x22\x80\x29\x22\x22\x0b\xba\xc3\x26\x83\x8f\x80\xda\xe3\x59\xa4\xb5\xd0\x3e\x61\xb5\x99\xbd\xab\x25\x85\x7e\x54\x2f\xf9\xf9\x1d\x5d\x02\x69\xd1\x83\x00\xee\x3e\xf3\xb5\x72\x3e\x80\xc6\x75\x98\x07\x3b\x77\x94\x75\xd1\x65\x10\x36\xce\xee\xaa\x0d\x77\x5f\x67\x77\x01\xd9\x70\x44\x47\x18\x19\xad\xe0\x19\xca\xc2\x50\x6a\x10\x1a\xfd\x8d\x2d\xb8\x2d\x29\x67\xbd\xc2\xda\x70\xbb\x47\x32\x10\x11\xa2\x7b\x14\xca\xa2\xb9\x51\xc0\xdb\x35\xa8\x00\xca\xcf\xc0\x61\xb9\x73\x1e\x07\x52\x95\x1b\xa5\xa5\x43\x43\x31\x4f\x26\xfe\x84\x6f\xfd\xc0\x05\x93\xb9\x45\x33\x39\xdf\x63\x9b\x4c\x9d\x7a\x65\x53\x0f\x27\x31\x06\x84\xa6\x32\x7a\x7b\x37\x89\x24\x99\x4a\xe2\x93\xae\x52\x86\xe4\x84\xfd\x00\x2b\x58\x5e\xc3\x03\x7c\x0d\x03\xc4\x42\xa3\xa9\xa8\xb7\x3f\x5c\x5c\x74\xae\xa5\x1b\x8c\x01\xab\x21\xfa\xed\xc3\xdd\x75\x0f\x67\x1c\xcd\x8c\xd6\xd3\x80\x6b\x03\xfd\x6b\x84\x15\x5a\x53\xe1\x28\x45\x88\x31\xe6\x3b\x8c\x2e\xf0\x7c\x94\x09\x3e\xfb\x0c\x3e\x61\x8a\x74\x29\x28\xb3\xc3\x4e\x42\x80\x7b\x87\xe2\x31\x09\x73\xec\xa2\x2a\x96\xa3\xb7\x6b\x30\x36\x2a\xd1\xa4\xd3\x13\x3a\x4c\x12\xcf\x1a\xaf\xec\x1c\xcf\x3a\x8d\x33\x83\x47\xbd\xee\xfb\x34\x1a\x96\xa4\x8e\x12\xad\x56\x2b\x58\x26\x21\xe8\xbc\xde\xf9\x4d\x97\x9a\xcc\x3b\x7a\x4b\x68\x1d\x2b\xf3\x77\x76\x4b\x33\x15\x78\x0c\x60\xd7\x90\x1c\x4d\xe3\x61\x5b\xb6\x86\xf1\x17\xe3\xe2\x4c\x48\x30\xeb\x73\x4e\x4d\xb8\xe7\xfc\x39\x0a\xb8\x96\xee\xed\xc3\xdd\x99\x68\x6b\x35\x18\xa7\x6b\xa7\x5b\x93\xed\x23\xed\x94\xa9\x74\xb2\xaf\xfb\x98\x72\x49\x86\xb1\x6a\xa4\xd5\x3e\x4d\x07\x37\x18\x6e\x23\x5e\x61\xc4\x16\xef\xae\x53\xac\xa7\x53\xe5\x7f\xc6\x0a\x0f\xa3\x44\x49\x50\x2e\xd1\x45\x40\x1f\xf2\xfd\x74\xe4\x9e\x01\x0e\xfb\x75\x9f\x34\xfa\xc1\x0a\xc9\xe1\xd1\xf4\xa0\xd4\xb7\xa8\x94\x94\x4d\x8f\x23\x20\x57\x98\x56\xb3\x5e\xe7\x6a\xd0\x1b\x91\x28\x32\x60\x95\xfa\x30\x97\x26\xd6\x81\x73\x2a\x0d\xdd\x60\x76\x5a\x93\x9d\xb7\xc2\x7b\x51\xc5\x5a\x38\x39\xad\x8d\x2c\xdd\x2f\x69\x5a\x80\x6f\x35\xba\xf0\x4e\x18\x51\xa1\x03\xb2\x8f\x8f\x1b\x07\x96\x01\x25\xc8\xab\x66\x7d\x60\xc8\x8c\x64\xd8\xa3\x0b\x83\x5b\x5d\xa5\x25\xe5\xf8\xd7\xcf\x6f\xc0\xde\xd3\xc8\xce\xc4\x1e\x7c\xfa\x1a\x94\xc8\x9e\x98\xac\x26\x07\x58\xf3\xd9\x98\xb7\x53\x32\x15\x8e\x54\x48\xd8\x06\x7e\x32\xe8\x63\xce\x37\x85\xac\x57\xc7\x18\x70\x52\xc4\x1e\xf1\x19\x94\x81\x53\x8c\xf1\x24\xca\xa3\x64\x8a\x8e\x61\xe7\x21\x40\x74\x7a\x8f\xd0\xed\x23\x3e\xdf\x75\x08\x64\x33\x58\x11\xbf\x74\xd6\xe6\x17\x67\xbc\x9d\x5e\x0f\x0b\xce\x50\xf0\x7f\x3b\xfc\xb8\xec\x3d\xa4\x8f\x89\xdf\x75\xd7\xbe\xf4\x34\x67\xfd\x8c\xd5\x9b\x43\x3d\x64\xcd\xba\x4c\xff\x0f\x65\x06\xfd\xa8\x1d\x30\x9c\x6f\xd3\xef\x93\x51\xaf\x79\xc9\xe9\xa7\x73\x06\x43\x92\xda\x4d\x6d\x6f\xd3\x80\xae\x36\x92\xa4\x08\x6b\xb0\xe3\xa8\xd0\x84\xff\x3f\x38\x25\xda\x0c\x84\x7b\x41\x29\x6a\xa3\x61\xbb\x20\xed\xa7\x4e\x5b\x59\x14\xd7\xcb\x3f\x38\x63\x69\x65\x1e\x5b\x38\x7f\xe4\x8c\xd5\xb4\xac\xde\x14\xf6\x63\x24\x14\x47\x2b\xa5\x03\xba\x97\x06\xb1\x34\x0c\x1d\xd3\xa4\xb7\x51\xd5\x46\xf3\x2c\xb3\x8a\x0d\xbe\x37\x81\x31\xe5\x58\xd1\x93\xd1\xfa\x17\xfa\x68\x93\xce\xb1\xf1\xde\xcb\x43\x5e\x14\x9f\x92\xd2\xc4\x83\xa7\x8d\xd2\x08\xf9\xd6\x44\x7f\xf4\x3b\x6d\xcb\xb2\x89\x97\x0e\xe7\xba\x45\x61\x5a\x2d\x60\xd4\x95\xa7\x83\xb9\x85\x4c\x49\xfb\xe6\xbe\x8a\x93\xfa\xb7\x5a\xe7\x19\x5b\x38\x9b\xf2\x72\x91\xb3\xb5\x1b\x3b\xd3\xcf\x02\x0d\x99\xb4\xdb\xd0\x6a\x11\x36\xc3\x85\xaa\xd4\xc2\xd3\x36\x93\x35\x64\xfa\x20\xd9\xec\x66\xfc\x3a\x31\x6d\x43\xb8\xd3\x69\x68\x5e\xe6\x17\xf7\x6b\x1f\x9c\x7d\xc4\xfe\xb2\x20\x3b\xb3\x0c\x89\xa4\x39\x59\x16\xde\xee\x5c\x89\xcd\xac\x4c\x13\xcc\x39\x9c\x20\x5c\x45\x1d\x6f\x38\x4f\xb7\xbd\x29\xf3\x01\x51\xdf\xeb\x1d\x66\x03\x43\x76\x08\x9f\x96\x65\x99\x9d\x33\x2e\x4f\x32\xa7\xc6\xa5\xe3\x64\x15\xb6\x30\xc7\xea\x48\xb1\x44\x5d\x16\x4a\xc2\x87\x0f\x90\xf3\x8f\x15\x5c\x5c\xa8\x69\x7c\x8d\xe9\x98\xbc\x31\xcd\x63\x15\xfd\x3e\xf1\x4f\xf5\x82\x73\xfa\x62\x9c\x2e\xc2\xe7\xac\x9c\x14\x76\x36\xa4\x05\x39\x97\xc5\x01\xe6\xf0\x65\xdc\x80\x47\xdb\x73\xf1\xdc\xec\xc5\xb1\xa4\x71\x1b\x6d\xe5\x6d\x05\x2c\x95\x2b\x75\x12\xa5\x15\xc6\x65\x33\xf8\xbc\xf8\xa2\x51\xf4\xf4\x52\xc0\x43\x18\x5f\x91\xfc\xf4\x52\x5c\x5d\xe2\x76\x0c\x22\xf4\xb9\x30\xe5\x86\x1f\x92\x5e\xb0\xf4\x01\xbe\xe6\x77\xaf\x6f\xc8\xe9\xc2\x85\x0c\xbe\x82\x0c\x8d\xcc\xae\x9b\x12\xf1\x47\x4c\x75\x96\x5a\x67\x96\xd7\x53\x26\x1a\x2d\x78\xf9\x7a\xd9\x33\xd9\xfc\xf5\x74\xc0\x89\x64\x3e\xff\x50\x27\x0b\x87\x25\xaa\x3d\xba\x36\x14\xd8\xf5\xed\xb2\xcd\x91\x97\xec\xda\x3e\x81\x29\xad\xcf\x7a\xb6\xa5\x9a\x0a\xe2\x37\xfd\xa8\x27\x79\x3f\x5d\xaf\xd7\x59\xf3\x00\x34\x01\xe0\xdd\x7d\x6b\x77\x1e\xed\x1e\x4f\xec\xc9\x24\xbb\xcd\x3f\x6c\x94\x1f\x8b\xd0\xa3\x9e\x76\x0e\x5a\xe8\x36\xf6\x89\x77\x93\xb6\xdb\x51\xbf\x66\x55\x68\x22\x12\xa6\x44\x1f\xac\xeb\x17\x57\xee\x88\xa2\xaa\x1c\x56\x22\xe0\xbb\x78\x96\xcb\x58\x0c\xc9\x82\x34\x70\x58\xb7\x15\x21\x42\x7f\x21\xab\xa6\xdb\x3d\xbc\xd3\x0a\xdd\x2b\xbb\xf1\xa9\x73\xf8\xa2\xd9\x38\x28\x15\xde\x63\xfc\x4b\xa5\x88\xe9\x0d\x4b\x59\x37\xae\x47\x52\x67\x9f\x0d\xf9\x4b\x63\xd6\x1f\x02\x86\x16\xdf\xda\x3d\x9e\xbe\x98\xbc\x44\x3d\xd8\x3a\x9b\x41\x2e\xaf\x0a\xdc\xa3\xa1\x29\xb7\xc2\x7f\xcd\x2f\x97\xd3\x8b\xac\x3e\x74\x91\x41\x7b\x7c\x36\x1b\xa2\xfd\xf3\xa2\x45\x3b\xe7\xf8\x5d\xf8\x1f\xfc\xfe\xb1\x08\x4b\xee\x88\x4a\xb0\x7d\xb3\x74\xfa\x47\xec\xd7\x3d\xbb\xb6\x63\x4a\x3b\x84\xbc\x1c\x05\xdf\x3a\x27\x9e\xe3\x8e\x30\x58\x48\x1a\xc8\xf0\x2d\x67\x3b\xde\x6f\x9a\x91\xee\x02\xb2\xaf\x80\x8a\xde\xb6\x19\x09\xcf\x49\x70\x1a\xa8\x14\xdc\xdd\x44\x64\x62\x09\x9f\xc0\x70\x16\x27\x5a\x71\x24\x18\x4f\x04\x67\x06\xc3\xb4\xd4\x9b\x62\x14\xe5\x4c\xbe\x37\x14\x1c\x4f\xf5\x9d\x1c\x27\xff\x0d\x00\x00\xff\xff\x47\x87\x9f\x3a\x49\x19\x00\x00") +var _uiLibRoutingTreeJs = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\xa4\x18\x6b\x6f\x23\xb7\xf1\xbb\x7e\xc5\x64\x03\x04\xab\x5a\x5a\xc9\xe7\xa4\xb8\xc4\x51\x83\x20\x38\xa4\x57\xe4\x92\x22\x4e\x83\x16\x8e\x51\xd0\xcb\xd1\x8a\x36\x45\x6e\x49\x4a\x96\x73\xa7\xff\x5e\xcc\x2c\xb9\x2f\xc9\xb8\xa0\xbd\x0f\x67\x2d\x67\x38\xef\x27\x17\x0b\xb8\xc1\xb0\xab\x27\x93\xc5\x02\xde\x59\xa9\xd6\xcf\x10\x36\x08\x52\x89\x2d\x06\x74\x10\x2c\xe0\xa1\x16\x46\x2e\x4a\x6b\x82\x13\x65\x00\x5f\x8b\x12\xe1\x1e\xc3\x13\xa2\x01\x63\x25\xfa\x62\xb2\x17\xae\xbb\xb4\x82\xcb\x57\x9f\x2f\xaf\x27\x7c\x1a\x1c\x22\xac\x40\x5e\x15\x5a\x3c\xdb\x5d\x28\xe8\x20\x9f\x4e\x00\x00\x0a\xaf\x7e\xc7\xfc\xf6\xea\xcf\xcb\x59\x77\x7b\x01\xaf\x60\x0e\x97\xaf\x96\x77\x09\x09\x6b\xe1\x44\x50\xd6\xe4\xeb\x9d\x29\xf9\x87\x98\xc1\xfd\x14\xde\x83\xc3\xb0\x73\x06\x72\x51\xd4\xc2\xa1\x09\xb0\x5a\xc1\x7d\xfa\xfd\x0d\x5c\xc2\x57\xf0\x6a\x0a\x0b\x10\x85\xc4\x3a\x6c\xae\xe1\x38\x8d\x72\x49\x25\x2a\x6b\x84\x6e\x64\xf3\xfb\xaa\x48\x27\x85\x13\x52\x09\x9d\x64\xac\x9d\x7d\xc0\x72\xc8\x5e\xf6\x78\xdf\xca\xe2\x79\x06\xb2\x38\xc0\x02\x2e\x5f\x2f\xe1\x4f\xf0\x4e\x84\x4d\xf1\xf7\xb7\x77\x3d\x6e\x7e\x5f\x25\x7b\x58\xab\x83\xaa\x23\x5b\xd4\x58\x86\x3c\xbb\xb7\xf2\x39\x8b\xfc\x44\x5d\xa3\x91\x79\x26\xd5\x3e\x1d\xf9\xf0\xac\x31\xcf\x6a\xeb\x15\xb1\xcf\x66\x90\x89\x7b\x6f\xf5\x2e\xe0\x08\xe5\x5e\x94\x8f\x95\xb3\x3b\x23\xe7\xa5\xd5\xd6\x11\xea\xd3\x46\x9d\xe2\x59\x27\x91\xa1\x97\xf5\x01\xbc\xd5\x4a\xc2\xa7\x52\xca\x11\xda\xda\x9a\x40\x48\x5f\xd6\x07\xd8\x5a\x63\xd9\xf7\x63\xa9\x84\x94\xca\x54\x84\xf6\x79\x7d\x80\x57\xf5\x61\x84\xf0\xfb\x5c\x19\x89\x07\x66\xb6\x1c\xc1\xf6\xca\xab\x7b\xa5\x55\x78\x26\xf0\x46\x49\x89\x26\x23\xa3\x25\x53\x43\x2d\x9c\xc7\x1b\x14\xae\xdc\xe4\x9e\xff\xdc\x04\xa7\x4c\x35\x85\xf7\x13\x00\xb2\xa8\x16\xf7\xa8\x3d\xac\xa0\x0f\x2e\x1c\xd6\x5a\x94\x98\x2f\xde\x7f\x38\x7e\xf8\x2d\xfb\xf0\x9b\x5f\x54\x33\xc8\xb2\x69\xe1\x6b\xad\x42\x9e\xcd\x88\x4f\x43\xc1\xc2\x0a\xde\x1f\xe9\xab\xa1\x55\xac\xad\x7b\x23\xca\x4d\xe7\x70\x3e\x6f\x58\x46\xa6\xb0\x6a\x90\x13\xb9\x55\x43\x0e\xc0\xde\xea\xdb\xe5\xdd\x1d\xc1\x6f\x2f\xef\xe8\xec\xc8\x90\x18\x2e\xf6\x7a\x72\xec\xa9\xe7\xd0\x63\xb8\xf9\xf5\xfb\xbc\x21\xde\x8b\x89\xe2\xc1\xcf\xfd\xbe\xa2\xd0\xc9\xa6\x85\xc3\xad\xdd\x37\x79\x43\x87\xab\x33\x98\xd9\xb4\x8d\x1d\xfe\x8a\xe1\x14\x82\xcb\xb3\x27\x25\xc3\x26\xeb\xb2\x6c\x00\xdc\xa0\xaa\x36\xa1\x07\xa5\xfc\xfb\x62\x39\x8a\xc7\x11\xc5\xe0\x84\xf1\x6b\xeb\xb6\xe4\x38\xfe\xd0\x22\x60\x9e\xc1\xc5\x30\x95\x2f\x20\x9b\xd1\x61\x3e\x4a\xf0\x57\xcb\xe5\x94\x80\x53\xb2\xdb\x91\x0b\xd0\x5f\x85\x91\x1a\x1d\xac\xad\x03\x87\x82\xa2\x0a\x4a\x6b\xd6\xaa\x2a\x9e\xb7\x7a\x22\xaf\x8a\x07\x6f\x4d\x9e\x89\x5a\x2d\xf6\x97\x0b\x1f\x44\xd8\xf9\x6c\x06\xad\x97\xd0\x39\xeb\x66\x20\x45\x10\x5d\x78\x70\x00\xc9\xef\x98\x0e\xd9\x4d\x04\x51\xf0\x7f\x0d\xe9\xbf\xdd\xfc\xf4\xe3\xf5\x64\x02\xb0\x58\xc0\x77\x0e\x45\x40\x10\x60\xf0\x09\x6e\x7e\xfd\x9e\x25\x41\x51\x6e\x20\xa8\x2d\x9d\x37\x57\x40\x79\xd0\x56\x48\x94\x05\xfb\x35\x79\x90\x03\xc8\x8a\xc8\x2b\xef\x33\x26\x1d\x29\xac\x89\x89\x56\xe5\x23\x6c\x7a\xba\x2a\x53\xef\x42\x13\x4d\x37\x18\x26\x23\xcf\xae\x95\x91\xf3\xad\x08\xe5\x26\x9b\x16\xa4\x7e\x49\x04\xfa\x6a\x77\xba\x36\x19\xf0\xab\xd0\x3b\xae\xb9\xb6\xdc\x6d\xd1\x84\xe2\x3f\x3b\x74\xcf\x37\x4c\xd3\xba\x3c\x63\x7e\xd9\xb4\xd8\x13\x5e\x3f\x89\x6e\x30\xc0\xea\x4c\xc6\x31\xc1\x36\x5b\x58\x16\xa4\x84\xe3\x5f\xb9\xb3\x36\xcc\x5a\x02\xd3\x88\xc5\x8d\x01\x56\x5c\xff\x0b\xfe\x60\xc4\x11\x15\xf9\x56\xb6\x84\xd0\x17\x5b\x51\x77\x39\x67\x7a\x45\xd6\x14\x4a\x5e\xc7\x44\x6a\x5a\xce\x49\x8a\x9a\x94\x9e\x6a\x0d\x79\x47\xbd\xe0\xe2\xf3\xd3\x3a\x27\x12\x53\xf8\x0b\xcc\x2f\x13\x22\x80\x29\x22\x22\x0b\xba\xc3\x26\x83\x8f\x80\xda\xe3\x59\xa4\xb5\xd0\x3e\x61\xb5\x99\xbd\xab\x25\x85\x7e\x54\x2f\xf9\xf9\x1d\x5d\x02\x69\xd1\x83\x00\xee\x3e\xf3\xb5\x72\x3e\x80\xc6\x75\x98\x07\x3b\x77\x94\x75\xd1\x65\x10\x36\xce\xee\xaa\x0d\x77\x5f\x67\x77\x01\xd9\x70\x44\x47\x18\x19\xad\xe0\x19\xca\xc2\x50\x6a\x10\x1a\xfd\x8d\x2d\xb8\x2d\x29\x67\xbd\xc2\xda\x70\xbb\x47\x32\x10\x11\xa2\x7b\x14\xca\xa2\xb9\x51\xc0\xdb\x35\xa8\x00\xca\xcf\xc0\x61\xb9\x73\x1e\x07\x52\x95\x1b\xa5\xa5\x43\x43\x31\x4f\x26\xfe\x84\x6f\xfd\xc0\x05\x93\xb9\x45\x33\x39\xdf\x63\x9b\x4c\x9d\x7a\x65\x53\x0f\x27\x31\x06\x84\xa6\x32\x7a\x7b\x37\x89\x24\x99\x4a\xe2\x93\xae\x52\x86\xe4\x84\xfd\x00\x2b\x58\x5e\xc3\x03\x7c\x0d\x03\xc4\x42\xa3\xa9\xa8\xb7\x3f\x5c\x5c\x74\xae\xa5\x1b\x8c\x01\xab\x21\xfa\xed\xc3\xdd\x75\x0f\x67\x1c\xcd\x8c\xd6\xd3\x80\x6b\x03\xfd\x6b\x84\x15\x5a\x53\xe1\x28\x45\x88\x31\xe6\x3b\x8c\x2e\xf0\x7c\x94\x09\x3e\xfb\x0c\x3e\x61\x8a\x74\x29\x28\xb3\xc3\x4e\x42\x80\x7b\x87\xe2\x31\x09\x73\xec\xa2\x2a\x96\xa3\xb7\x6b\x30\x36\x2a\xd1\xa4\xd3\x13\x3a\x4c\x12\xcf\x1a\xaf\xec\x1c\xcf\x3a\x8d\x33\x83\x47\xbd\xee\xfb\x34\x1a\x96\xa4\x8e\x12\xad\x56\x2b\x58\x26\x21\xe8\xbc\xde\xf9\x4d\x97\x9a\xcc\x3b\x7a\x4b\x68\x1d\x2b\xf3\x77\x76\x4b\x33\x15\x78\x0c\x60\xd7\x90\x1c\x4d\xe3\x61\x5b\xb6\x86\xf1\x17\xe3\xe2\x4c\x48\x30\xeb\x73\x4e\x4d\xb8\xe7\xfc\x39\x0a\xb8\x96\xee\xed\xc3\xdd\x99\x68\x6b\x35\x18\xa7\x6b\xa7\x5b\x93\xed\x23\xed\x94\xa9\x74\xb2\xaf\xfb\x98\x72\x49\x86\xb1\x6a\xa4\xd5\x3e\x4d\x07\x37\x18\x6e\x23\x5e\x61\xc4\x16\xef\xae\x53\xac\xa7\x53\xe5\x7f\xc6\x0a\x0f\xa3\x44\x49\x50\x2e\xd1\x45\x40\x1f\xf2\xfd\x74\xe4\x9e\x01\x0e\xfb\x75\x9f\x34\xfa\xc1\x0a\xc9\xe1\xd1\xf4\xa0\xd4\xb7\xa8\x94\x94\x4d\x8f\x23\x20\x57\x98\x56\xb3\x5e\xe7\x6a\xd0\x1b\x91\x28\x32\x60\x95\xfa\x30\x97\x26\xd6\x81\x73\x2a\x0d\xdd\x60\x76\x5a\x93\x9d\xb7\xc2\x7b\x51\xc5\x5a\x38\x39\xad\x8d\x2c\xdd\x2f\x69\x5a\x80\x6f\x35\xba\xf0\x4e\x18\x51\xa1\x03\xb2\x8f\x8f\x1b\x07\x96\x01\x25\xc8\xab\x66\x7d\x60\xc8\x8c\x64\xd8\xa3\x0b\x83\x5b\x5d\xa5\x25\xe5\xf8\xd7\xcf\x6f\xc0\xde\xd3\xc8\xce\xc4\x1e\x7c\xfa\x1a\x94\xc8\x9e\x98\xac\x26\x07\x58\xf3\xd9\x98\xb7\x53\x32\x15\x8e\x54\x48\xd8\x06\x7e\x32\xe8\x63\xce\x37\x85\xac\x57\xc7\x18\x70\x52\xc4\x1e\xf1\x19\x94\x81\x53\x8c\xf1\x24\xca\xa3\x64\x8a\x8e\x61\xe7\x21\x40\x74\x7a\x8f\xd0\xed\x23\x3e\xdf\x75\x08\x64\x33\x58\x11\xbf\x74\xd6\xe6\x17\x67\xbc\x9d\x5e\x0f\x0b\xce\x50\xf0\x7f\x3b\xfc\xb8\xec\x3d\xa4\x8f\x89\xdf\x75\xd7\xbe\xf4\x34\x67\xfd\x8c\xd5\x9b\x43\x3d\x64\xcd\xba\x4c\xff\x0f\x65\x06\xfd\xa8\x1d\x30\x9c\x6f\xd3\xef\x93\x51\xaf\x79\xc9\xe9\xa7\x73\x06\x43\x92\xda\x4d\x6d\x6f\xd3\x80\xae\x36\x92\xa4\x08\x6b\xb0\xe3\xa8\xd0\x84\xff\x3f\x38\x25\xda\x0c\x84\x7b\x41\x29\x6a\xa3\x61\xbb\x20\xed\xa7\x4e\x5b\x59\x14\xd7\xcb\x3f\x38\x63\x69\x65\x1e\x5b\x38\x7f\xe4\x8c\xd5\xb4\xac\xde\x14\xf6\x63\x24\x14\x47\x2b\xa5\x03\xba\x97\x06\xb1\x34\x0c\x1d\xd3\xa4\xb7\x51\xd5\x46\xf3\x2c\xb3\x8a\x0d\xbe\x37\x81\x31\xe5\x58\xd1\x93\xd1\xfa\x17\xfa\x68\x93\xce\xb1\xf1\xde\xcb\x43\x5e\x14\x9f\x92\xd2\xc4\x83\xa7\x8d\xd2\x08\xf9\xd6\x44\x7f\xf4\x3b\x6d\xcb\xb2\x89\x97\x0e\xe7\xba\x45\x61\x5a\x2d\x60\xd4\x95\xa7\x83\xb9\x85\x4c\x49\xfb\xe6\xbe\x8a\x93\xfa\xb7\x5a\xe7\x19\x5b\x38\x9b\xf2\x72\x91\xb3\xb5\x1b\x3b\xd3\xcf\x02\x0d\x99\xb4\xdb\xd0\x6a\x11\x36\xc3\x85\xaa\xd4\xc2\xd3\x36\x93\x35\x64\xfa\x20\xd9\xec\x66\xfc\x3a\x31\x6d\x43\xb8\xd3\x69\x68\x5e\xe6\x17\xf7\x6b\x1f\x9c\x7d\xc4\xfe\xb2\x20\x3b\xb3\x0c\x89\xa4\x39\x59\x16\xde\xee\x5c\x89\xcd\xac\x4c\x13\xcc\x39\x9c\x20\x5c\x45\x1d\x6f\x38\x4f\xb7\xbd\x29\xf3\x01\x51\xdf\xeb\x1d\x66\x03\x43\x76\x08\x9f\x96\x65\x99\x9d\x33\x2e\x4f\x32\xa7\xc6\xa5\xe3\x64\x15\xb6\x30\xc7\xea\x48\xb1\x44\x5d\x16\x4a\xc2\x87\x0f\x90\xf3\x8f\x15\x5c\x5c\xa8\x69\x7c\x8d\xe9\x98\xbc\x31\xcd\x63\x15\xfd\x3e\xf1\x4f\xf5\x82\x73\xfa\x62\x9c\x2e\xc2\xe7\xac\x9c\x14\x76\x36\xa4\x05\x39\x97\xc5\x01\xe6\xf0\x65\xdc\x80\x47\xdb\x73\xf1\xdc\xec\xc5\xb1\xa4\x71\x1b\x6d\xe5\x6d\x05\x2c\x95\x2b\x75\x12\xa5\x15\xc6\x65\x33\xf8\xbc\xf8\xa2\x51\xf4\xf4\x52\xc0\x43\x18\x5f\x91\xfc\xf4\x52\x5c\x5d\xe2\x76\x0c\x22\xf4\xb9\x30\xe5\x86\x1f\x92\x5e\xb0\xf4\x01\xbe\xe6\x77\xaf\x6f\xc8\xe9\xc2\x85\x0c\xbe\x82\x0c\x8d\xcc\xae\x9b\x12\xf1\x47\x4c\x75\x96\x5a\x67\x96\xd7\x53\x26\x1a\x2d\x78\xf9\x7a\xd9\x33\xd9\xfc\xf5\x74\xc0\x89\x64\x3e\xff\x50\x27\x0b\x87\x25\xaa\x3d\xba\x36\x14\xd8\xf5\xed\xb2\xcd\x91\x97\xec\xda\x3e\x81\x29\xad\xcf\x7a\xb6\xa5\x9a\x0a\xe2\x37\xfd\xa8\x27\x79\x3f\x5d\xaf\xd7\x59\xf3\x00\x34\x01\xe0\xdd\x7d\x6b\x77\x1e\xed\x1e\x4f\xec\xc9\x24\xbb\xcd\x3f\x6c\x94\x1f\x8b\xd0\xa3\x9e\x76\x0e\x5a\xe8\x36\xf6\x89\x77\x93\xb6\xdb\x51\xbf\x66\x55\x68\x22\x12\xa6\x44\x1f\xac\xeb\x17\x57\xee\x88\xa2\xaa\x1c\x56\x22\xe0\xbb\x78\x96\xcb\x58\x0c\xc9\x82\x34\x70\x58\xb7\x15\x21\x42\x7f\x21\xab\xa6\xdb\x3d\xbc\xd3\x0a\xdd\x2b\xbb\xf1\xa9\x73\xf8\xa2\xd9\x38\x28\x15\xde\x63\xfc\x4b\xa5\x88\xe9\x0d\x4b\x59\x37\xae\x47\x52\x67\x9f\x0d\xf9\x4b\x63\xd6\x1f\x02\x86\x16\xdf\xda\x3d\x9e\xbe\x98\xbc\x44\x3d\xd8\x3a\x9b\x41\x2e\xaf\x0a\xdc\xa3\xa1\x29\xb7\xc2\x7f\xcd\x2f\x97\xd3\x8b\xac\x3e\x74\x91\x41\x7b\x7c\x36\x1b\xa2\xfd\xf3\xa2\x45\x3b\xe7\xf8\x5d\xf8\x1f\xfc\xfe\xb1\x08\x4b\xee\x88\x4a\xb0\x7d\xb3\x74\xfa\x47\xec\xd7\x3d\xbb\xb6\x63\x4a\x3b\x84\xbc\x1c\x05\xdf\x3a\x27\x9e\xe3\x8e\x30\x58\x48\x1a\xc8\xf0\x2d\x67\x3b\xde\x6f\x9a\x91\xee\x02\xb2\xaf\x80\x8a\xde\xb6\x19\x09\xcf\x49\x70\x1a\xa8\x14\xdc\xdd\x44\x64\x62\x09\x9f\xc0\x70\x16\x27\x5a\x71\x24\x18\x4f\x04\x67\x06\xc3\xb4\xd4\x9b\x62\x14\xe5\x4c\xbe\x37\x14\x1c\x4f\xf5\x9d\x1c\x27\xff\x0d\x00\x00\xff\xff\x47\x87\x9f\x3a\x49\x19\x00\x00") func uiLibRoutingTreeJsBytes() ([]byte, error) { return bindataRead( @@ -525,12 +525,12 @@ func uiLibRoutingTreeJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "ui/lib/routing-tree.js", size: 6473, mode: os.FileMode(420), modTime: time.Unix(1483467521, 0)} + info := bindataFileInfo{name: "ui/lib/routing-tree.js", size: 6473, mode: os.FileMode(420), modTime: time.Unix(1491905519, 0)} a := &asset{bytes: bytes, info: info} return a, nil } -var _uiWebGo = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xcc\x55\xc1\x6e\xdc\x36\x10\x3d\x8b\x5f\x31\xe5\x49\x32\x14\x29\x0d\xd0\x4b\xda\x1c\xb6\x8e\x5d\x6f\x9b\xac\x8d\xdd\x4d\x8d\xa0\x28\x02\xae\x34\x92\x06\x95\x48\x86\x1c\x65\x6d\x04\xfb\xef\x05\x29\xd9\x5e\x23\x0d\x1a\xf7\xd4\x8b\x40\x89\xc3\xc7\xf7\xde\xbc\x81\xca\x12\x4e\x8d\xbd\x75\xd4\x76\x0c\x2f\x9e\x7f\xff\x03\x5c\x39\x33\x20\x77\x38\x7a\xd8\xa2\x1a\x44\x59\xc2\x1b\xaa\x50\x7b\xac\x61\xd4\x35\x3a\xe0\x0e\x61\x61\x55\xd5\xe1\xdd\x4e\x0e\xbf\xa3\xf3\x64\x34\xbc\x28\x9e\x43\x1a\x0a\xe4\xbc\x25\xb3\x1f\x03\xc4\xad\x19\x61\x50\xb7\xa0\x0d\xc3\xe8\x11\xb8\x23\x0f\x0d\xf5\x08\x78\x53\xa1\x65\x20\x0d\x95\x19\x6c\x4f\x4a\x57\x08\x7b\xe2\x2e\xde\x33\xa3\x14\x01\xe3\xfd\x8c\x61\x76\xac\x48\x83\x82\xca\xd8\x5b\x30\xcd\x71\x21\x28\x16\x65\x19\xaa\x3b\x66\xfb\xb2\x2c\xf7\xfb\x7d\xa1\x22\xd9\xc2\xb8\xb6\xec\xa7\x32\x5f\xbe\x59\x9e\x9e\xad\x36\x67\xcf\x5e\x14\xcf\xe7\x03\xef\x74\x8f\xde\x83\xc3\x8f\x23\x39\xac\x61\x77\x0b\xca\xda\x9e\x2a\xb5\xeb\x11\x7a\xb5\x07\xe3\x40\xb5\x0e\xb1\x06\x36\x81\xf0\xde\x11\x93\x6e\x73\xf0\xa6\xe1\xbd\x72\x18\x60\x6a\xf2\xec\x68\x37\xf2\x23\xbf\xee\xe8\x91\x7f\x54\x60\x34\x28\x0d\x72\xb1\x81\xe5\x46\xc2\xcf\x8b\xcd\x72\x93\x07\x90\xeb\xe5\xf6\xe2\xf2\xdd\x16\xae\x17\xeb\xf5\x62\xb5\x5d\x9e\x6d\xe0\x72\x0d\xa7\x97\xab\xd7\xcb\xed\xf2\x72\xb5\x81\xcb\x73\x58\xac\xde\xc3\x6f\xcb\xd5\xeb\x1c\x90\xb8\x43\x07\x78\x63\x5d\x50\x60\x1c\x50\x70\x12\xeb\x68\xdb\x06\xf1\x11\x85\xc6\x4c\x94\xbc\xc5\x8a\x1a\xaa\xa0\x57\xba\x1d\x55\x8b\xd0\x9a\x4f\xe8\x34\xe9\x16\x2c\xba\x81\x7c\xe8\xa8\x07\xa5\xeb\x00\xd3\xd3\x40\xac\x38\x7e\xfa\x42\x57\x21\x84\x55\xd5\x5f\x01\x64\x24\x21\x68\xb0\xc6\x31\xa4\x22\x91\xbb\x5b\x46\x2f\x45\x22\xc9\x84\xa7\x46\x2e\x43\x67\xa4\x48\x3e\xc0\xfd\x5b\x69\xad\x33\x8d\x84\x98\xc6\x61\x40\xcd\x53\x40\x7a\xd2\x18\xbc\xae\xc9\xc7\x26\xc4\x32\x40\x5d\x5b\x43\x9a\x0b\x91\x48\xab\xb8\x2b\x43\x8e\xc2\x42\x0a\x91\xc8\x96\xb8\x1b\x77\x45\x65\x86\xd2\xde\x47\xb9\xac\x7a\x42\xcd\x1f\x5a\x13\xc4\x1e\x6d\xc8\xaf\x9f\x30\xc3\x60\x74\xd9\x9b\xf6\x5f\x6b\x9c\x19\x19\xa5\xc8\x84\x68\x46\x5d\x81\x47\xf7\x09\x17\xde\x23\xa7\xfb\x18\xc3\x62\x8d\xde\x1a\xed\xf1\xda\x11\xa3\xcb\x43\xc6\xe0\x64\xde\xf9\x38\xa2\xe7\x1c\x1a\x0b\x21\x16\xba\xcd\xe0\xb3\x48\x48\x37\x26\x07\x74\x0e\x5e\xbe\x82\x08\xb5\xd4\x8d\x49\x1b\x9b\x89\x84\x9a\xb8\xf1\xdd\x2b\xd0\xd4\x87\xe2\xa4\x37\x6d\x71\xad\x9c\x4e\xe5\xa9\x19\xfb\x3a\x0e\x59\x8b\x1c\xe7\xeb\x25\xc8\x08\x94\x89\x24\xd9\x17\x91\xc0\x05\xaa\x1a\x5d\x1a\xef\xdf\xb0\xe2\xd1\xaf\x0c\x9f\x9b\x51\xd7\xa1\xc8\x21\x8f\x4e\x8b\xe4\x20\x92\x70\xfe\x31\x8b\xaf\x31\x78\xf8\x42\xa6\x38\xbb\x3c\x8f\x1f\x27\x5e\xc4\x5d\x2a\x03\x92\x0c\x22\xb3\x6f\x22\x7a\x78\x3a\x59\x91\x4c\x25\xc1\xfb\x53\xa3\x19\x35\xa7\xfb\xe8\x74\x0e\xc1\xcd\x62\xa5\x06\x4c\xb3\xf9\xe5\xad\xa9\xb7\x34\xbd\xc7\x80\x16\x2b\xdc\xaf\xa7\x9b\x02\x97\x2c\x13\x07\x11\x42\xbf\xc6\x96\x3c\xa3\x03\x37\x2f\x3c\x74\x4a\xd7\x7d\x58\xb0\x99\x3a\x1d\xd9\xfb\xfb\xb1\xda\xe3\x0e\x48\x33\xba\x46\x55\x58\x4c\x89\xb8\x83\x49\x1d\x9c\xc4\xb0\x14\xeb\xf0\x8c\x49\xe8\x8d\xaa\x4f\x3b\xa8\x3a\xa5\x7f\x7a\x16\x32\x30\x56\xfc\xf9\x30\xa5\xa0\x6b\x82\xf3\x0f\x81\x2b\x96\x3a\x14\x84\x01\xb9\x98\x68\x9c\x8f\xba\x12\x22\x71\xc5\x2f\xc8\xa9\x2c\x95\xb5\xe5\xc9\xfd\x38\xe4\x40\x5d\x93\x4a\x65\xed\x87\xc8\x51\xe6\x22\x49\x02\xa1\x6f\xce\x65\x36\x35\xb2\xb1\x81\xc7\xc4\xfc\x4a\x39\x35\xa4\xd3\x3a\x1a\x7d\xc3\xa9\xc3\x8f\x59\x0e\xf2\xfe\xe2\xd0\x9a\xe4\x78\x0c\xe6\x46\xdc\x15\x14\xbf\x1a\xd2\xa9\x1c\x29\x10\x9e\x72\x11\xdb\x9e\x8b\x24\x2c\xee\xd4\xf4\xb4\xfb\x52\x4d\x4f\xbb\xff\xad\x9a\x9e\x76\x5f\xa8\x79\x90\x33\x20\x3b\xaa\xbc\xcc\x8f\x3b\x3a\xf7\x31\xcd\xa6\xe8\x5e\x6c\xb7\x57\xc7\x67\xee\x54\x93\xae\xf1\x26\x60\x3f\x5d\xef\x3f\x30\x9f\x9d\x2f\x23\x6a\xd1\xf1\xd0\x07\x91\x87\x99\xed\x95\xf1\xe1\xea\x67\xe5\x14\xce\xff\x76\xeb\x3c\xbe\xe9\x1f\x7f\x86\x01\x4b\xe5\x3a\x62\x85\x7f\x4b\x65\x74\x43\xed\xe8\xe2\xbf\x24\x9a\x58\x14\x85\xcc\xa6\x71\x9e\xa7\xe1\x68\x12\x3e\x1f\x02\xb3\x23\x4b\x6a\xdc\x8d\x6d\x79\xe2\xc7\xdd\x1c\x8b\x78\xf9\x6b\x6c\xd4\xd8\x73\x34\xf1\xed\x78\x73\xec\xe6\x83\xa4\x27\x1f\x3d\x88\xbf\x03\x00\x00\xff\xff\xf4\x18\x8e\xcd\x21\x09\x00\x00") +var _uiWebGo = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\xcc\x55\xc1\x6e\xdc\x36\x10\x3d\x8b\x5f\x31\xe5\x49\x32\x14\x29\x0d\xd0\x4b\xda\x1c\xb6\x8e\x5d\x6f\x9b\xac\x8d\xdd\x4d\x8d\xa0\x28\x02\xae\x34\x92\x06\x95\x48\x86\x1c\x65\x6d\x04\xfb\xef\x05\x29\xd9\x5e\x23\x0d\x1a\xf7\xd4\x8b\x40\x89\xc3\xc7\xf7\xde\xbc\x81\xca\x12\x4e\x8d\xbd\x75\xd4\x76\x0c\x2f\x9e\x7f\xff\x03\x5c\x39\x33\x20\x77\x38\x7a\xd8\xa2\x1a\x44\x59\xc2\x1b\xaa\x50\x7b\xac\x61\xd4\x35\x3a\xe0\x0e\x61\x61\x55\xd5\xe1\xdd\x4e\x0e\xbf\xa3\xf3\x64\x34\xbc\x28\x9e\x43\x1a\x0a\xe4\xbc\x25\xb3\x1f\x03\xc4\xad\x19\x61\x50\xb7\xa0\x0d\xc3\xe8\x11\xb8\x23\x0f\x0d\xf5\x08\x78\x53\xa1\x65\x20\x0d\x95\x19\x6c\x4f\x4a\x57\x08\x7b\xe2\x2e\xde\x33\xa3\x14\x01\xe3\xfd\x8c\x61\x76\xac\x48\x83\x82\xca\xd8\x5b\x30\xcd\x71\x21\x28\x16\x65\x19\xaa\x3b\x66\xfb\xb2\x2c\xf7\xfb\x7d\xa1\x22\xd9\xc2\xb8\xb6\xec\xa7\x32\x5f\xbe\x59\x9e\x9e\xad\x36\x67\xcf\x5e\x14\xcf\xe7\x03\xef\x74\x8f\xde\x83\xc3\x8f\x23\x39\xac\x61\x77\x0b\xca\xda\x9e\x2a\xb5\xeb\x11\x7a\xb5\x07\xe3\x40\xb5\x0e\xb1\x06\x36\x81\xf0\xde\x11\x93\x6e\x73\xf0\xa6\xe1\xbd\x72\x18\x60\x6a\xf2\xec\x68\x37\xf2\x23\xbf\xee\xe8\x91\x7f\x54\x60\x34\x28\x0d\x72\xb1\x81\xe5\x46\xc2\xcf\x8b\xcd\x72\x93\x07\x90\xeb\xe5\xf6\xe2\xf2\xdd\x16\xae\x17\xeb\xf5\x62\xb5\x5d\x9e\x6d\xe0\x72\x0d\xa7\x97\xab\xd7\xcb\xed\xf2\x72\xb5\x81\xcb\x73\x58\xac\xde\xc3\x6f\xcb\xd5\xeb\x1c\x90\xb8\x43\x07\x78\x63\x5d\x50\x60\x1c\x50\x70\x12\xeb\x68\xdb\x06\xf1\x11\x85\xc6\x4c\x94\xbc\xc5\x8a\x1a\xaa\xa0\x57\xba\x1d\x55\x8b\xd0\x9a\x4f\xe8\x34\xe9\x16\x2c\xba\x81\x7c\xe8\xa8\x07\xa5\xeb\x00\xd3\xd3\x40\xac\x38\x7e\xfa\x42\x57\x21\x84\x55\xd5\x5f\x01\x64\x24\x21\x68\xb0\xc6\x31\xa4\x22\x91\xbb\x5b\x46\x2f\x45\x22\xc9\x84\xa7\x46\x2e\x43\x67\xa4\x48\x3e\xc0\xfd\x5b\x69\xad\x33\x8d\x84\x98\xc6\x61\x40\xcd\x53\x40\x7a\xd2\x18\xbc\xae\xc9\xc7\x26\xc4\x32\x40\x5d\x5b\x43\x9a\x0b\x91\x48\xab\xb8\x2b\x43\x8e\xc2\x42\x0a\x91\xc8\x96\xb8\x1b\x77\x45\x65\x86\xd2\xde\x47\xb9\xac\x7a\x42\xcd\x1f\x5a\x13\xc4\x1e\x6d\xc8\xaf\x9f\x30\xc3\x60\x74\xd9\x9b\xf6\x5f\x6b\x9c\x19\x19\xa5\xc8\x84\x68\x46\x5d\x81\x47\xf7\x09\x17\xde\x23\xa7\xfb\x18\xc3\x62\x8d\xde\x1a\xed\xf1\xda\x11\xa3\xcb\x43\xc6\xe0\x64\xde\xf9\x38\xa2\xe7\x1c\x1a\x0b\x21\x16\xba\xcd\xe0\xb3\x48\x48\x37\x26\x07\x74\x0e\x5e\xbe\x82\x08\xb5\xd4\x8d\x49\x1b\x9b\x89\x84\x9a\xb8\xf1\xdd\x2b\xd0\xd4\x87\xe2\xa4\x37\x6d\x71\xad\x9c\x4e\xe5\xa9\x19\xfb\x3a\x0e\x59\x8b\x1c\xe7\xeb\x25\xc8\x08\x94\x89\x24\xd9\x17\x91\xc0\x05\xaa\x1a\x5d\x1a\xef\xdf\xb0\xe2\xd1\xaf\x0c\x9f\x9b\x51\xd7\xa1\xc8\x21\x8f\x4e\x8b\xe4\x20\x92\x70\xfe\x31\x8b\xaf\x31\x78\xf8\x42\xa6\x38\xbb\x3c\x8f\x1f\x27\x5e\xc4\x5d\x2a\x03\x92\x0c\x22\xb3\x6f\x22\x7a\x78\x3a\x59\x91\x4c\x25\xc1\xfb\x53\xa3\x19\x35\xa7\xfb\xe8\x74\x0e\xc1\xcd\x62\xa5\x06\x4c\xb3\xf9\xe5\xad\xa9\xb7\x34\xbd\xc7\x80\x16\x2b\xdc\xaf\xa7\x9b\x02\x97\x2c\x13\x07\x11\x42\xbf\xc6\x96\x3c\xa3\x03\x37\x2f\x3c\x74\x4a\xd7\x7d\x58\xb0\x99\x3a\x1d\xd9\xfb\xfb\xb1\xda\xe3\x0e\x48\x33\xba\x46\x55\x58\x4c\x89\xb8\x83\x49\x1d\x9c\xc4\xb0\x14\xeb\xf0\x8c\x49\xe8\x8d\xaa\x4f\x3b\xa8\x3a\xa5\x7f\x7a\x16\x32\x30\x56\xfc\xf9\x30\xa5\xa0\x6b\x82\xf3\x0f\x81\x2b\x96\x3a\x14\x84\x01\xb9\x98\x68\x9c\x8f\xba\x12\x22\x71\xc5\x2f\xc8\xa9\x2c\x95\xb5\xe5\xc9\xfd\x38\xe4\x40\x5d\x93\x4a\x65\xed\x87\xc8\x51\xe6\x22\x49\x02\xa1\x6f\xce\x65\x36\x35\xb2\xb1\x81\xc7\xc4\xfc\x4a\x39\x35\xa4\xd3\x3a\x1a\x7d\xc3\xa9\xc3\x8f\x59\x0e\xf2\xfe\xe2\xd0\x9a\xe4\x78\x0c\xe6\x46\xdc\x15\x14\xbf\x1a\xd2\xa9\x1c\x29\x10\x9e\x72\x11\xdb\x9e\x8b\x24\x2c\xee\xd4\xf4\xb4\xfb\x52\x4d\x4f\xbb\xff\xad\x9a\x9e\x76\x5f\xa8\x79\x90\x33\x20\x3b\xaa\xbc\xcc\x8f\x3b\x3a\xf7\x31\xcd\xa6\xe8\x5e\x6c\xb7\x57\xc7\x67\xee\x54\x93\xae\xf1\x26\x60\x3f\x5d\xef\x3f\x30\x9f\x9d\x2f\x23\x6a\xd1\xf1\xd0\x07\x91\x87\x99\xed\x95\xf1\xe1\xea\x67\xe5\x14\xce\xff\x76\xeb\x3c\xbe\xe9\x1f\x7f\x86\x01\x4b\xe5\x3a\x62\x85\x7f\x4b\x65\x74\x43\xed\xe8\xe2\xbf\x24\x9a\x58\x14\x85\xcc\xa6\x71\x9e\xa7\xe1\x68\x12\x3e\x1f\x02\xb3\x23\x4b\x6a\xdc\x8d\x6d\x79\xe2\xc7\xdd\x1c\x8b\x78\xf9\x6b\x6c\xd4\xd8\x73\x34\xf1\xed\x78\x73\xec\xe6\x83\xa4\x27\x1f\x3d\x88\xbf\x03\x00\x00\xff\xff\xf4\x18\x8e\xcd\x21\x09\x00\x00") func uiWebGoBytes() ([]byte, error) { return bindataRead( @@ -545,7 +545,7 @@ func uiWebGo() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "ui/web.go", size: 2337, mode: os.FileMode(420), modTime: time.Unix(1483468721, 0)} + info := bindataFileInfo{name: "ui/web.go", size: 2337, mode: os.FileMode(420), modTime: time.Unix(1491905519, 0)} a := &asset{bytes: bytes, info: info} return a, nil } diff --git a/vendor/github.com/aws/aws-sdk-go/LICENSE.txt b/vendor/github.com/aws/aws-sdk-go/LICENSE.txt new file mode 100644 index 0000000000..d645695673 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/LICENSE.txt @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + 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. diff --git a/vendor/github.com/aws/aws-sdk-go/NOTICE.txt b/vendor/github.com/aws/aws-sdk-go/NOTICE.txt new file mode 100644 index 0000000000..5f14d1162e --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/NOTICE.txt @@ -0,0 +1,3 @@ +AWS SDK for Go +Copyright 2015 Amazon.com, Inc. or its affiliates. All Rights Reserved. +Copyright 2014-2015 Stripe, Inc. diff --git a/vendor/github.com/aws/aws-sdk-go/aws/awserr/error.go b/vendor/github.com/aws/aws-sdk-go/aws/awserr/error.go new file mode 100644 index 0000000000..56fdfc2bfc --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/aws/awserr/error.go @@ -0,0 +1,145 @@ +// Package awserr represents API error interface accessors for the SDK. +package awserr + +// An Error wraps lower level errors with code, message and an original error. +// The underlying concrete error type may also satisfy other interfaces which +// can be to used to obtain more specific information about the error. +// +// Calling Error() or String() will always include the full information about +// an error based on its underlying type. +// +// Example: +// +// output, err := s3manage.Upload(svc, input, opts) +// if err != nil { +// if awsErr, ok := err.(awserr.Error); ok { +// // Get error details +// log.Println("Error:", awsErr.Code(), awsErr.Message()) +// +// // Prints out full error message, including original error if there was one. +// log.Println("Error:", awsErr.Error()) +// +// // Get original error +// if origErr := awsErr.OrigErr(); origErr != nil { +// // operate on original error. +// } +// } else { +// fmt.Println(err.Error()) +// } +// } +// +type Error interface { + // Satisfy the generic error interface. + error + + // Returns the short phrase depicting the classification of the error. + Code() string + + // Returns the error details message. + Message() string + + // Returns the original error if one was set. Nil is returned if not set. + OrigErr() error +} + +// BatchError is a batch of errors which also wraps lower level errors with +// code, message, and original errors. Calling Error() will include all errors +// that occurred in the batch. +// +// Deprecated: Replaced with BatchedErrors. Only defined for backwards +// compatibility. +type BatchError interface { + // Satisfy the generic error interface. + error + + // Returns the short phrase depicting the classification of the error. + Code() string + + // Returns the error details message. + Message() string + + // Returns the original error if one was set. Nil is returned if not set. + OrigErrs() []error +} + +// BatchedErrors is a batch of errors which also wraps lower level errors with +// code, message, and original errors. Calling Error() will include all errors +// that occurred in the batch. +// +// Replaces BatchError +type BatchedErrors interface { + // Satisfy the base Error interface. + Error + + // Returns the original error if one was set. Nil is returned if not set. + OrigErrs() []error +} + +// New returns an Error object described by the code, message, and origErr. +// +// If origErr satisfies the Error interface it will not be wrapped within a new +// Error object and will instead be returned. +func New(code, message string, origErr error) Error { + var errs []error + if origErr != nil { + errs = append(errs, origErr) + } + return newBaseError(code, message, errs) +} + +// NewBatchError returns an BatchedErrors with a collection of errors as an +// array of errors. +func NewBatchError(code, message string, errs []error) BatchedErrors { + return newBaseError(code, message, errs) +} + +// A RequestFailure is an interface to extract request failure information from +// an Error such as the request ID of the failed request returned by a service. +// RequestFailures may not always have a requestID value if the request failed +// prior to reaching the service such as a connection error. +// +// Example: +// +// output, err := s3manage.Upload(svc, input, opts) +// if err != nil { +// if reqerr, ok := err.(RequestFailure); ok { +// log.Println("Request failed", reqerr.Code(), reqerr.Message(), reqerr.RequestID()) +// } else { +// log.Println("Error:", err.Error()) +// } +// } +// +// Combined with awserr.Error: +// +// output, err := s3manage.Upload(svc, input, opts) +// if err != nil { +// if awsErr, ok := err.(awserr.Error); ok { +// // Generic AWS Error with Code, Message, and original error (if any) +// fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr()) +// +// if reqErr, ok := err.(awserr.RequestFailure); ok { +// // A service error occurred +// fmt.Println(reqErr.StatusCode(), reqErr.RequestID()) +// } +// } else { +// fmt.Println(err.Error()) +// } +// } +// +type RequestFailure interface { + Error + + // The status code of the HTTP response. + StatusCode() int + + // The request ID returned by the service for a request failure. This will + // be empty if no request ID is available such as the request failed due + // to a connection error. + RequestID() string +} + +// NewRequestFailure returns a new request error wrapper for the given Error +// provided. +func NewRequestFailure(err Error, statusCode int, reqID string) RequestFailure { + return newRequestError(err, statusCode, reqID) +} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/awserr/types.go b/vendor/github.com/aws/aws-sdk-go/aws/awserr/types.go new file mode 100644 index 0000000000..0202a008f5 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/aws/awserr/types.go @@ -0,0 +1,194 @@ +package awserr + +import "fmt" + +// SprintError returns a string of the formatted error code. +// +// Both extra and origErr are optional. If they are included their lines +// will be added, but if they are not included their lines will be ignored. +func SprintError(code, message, extra string, origErr error) string { + msg := fmt.Sprintf("%s: %s", code, message) + if extra != "" { + msg = fmt.Sprintf("%s\n\t%s", msg, extra) + } + if origErr != nil { + msg = fmt.Sprintf("%s\ncaused by: %s", msg, origErr.Error()) + } + return msg +} + +// A baseError wraps the code and message which defines an error. It also +// can be used to wrap an original error object. +// +// Should be used as the root for errors satisfying the awserr.Error. Also +// for any error which does not fit into a specific error wrapper type. +type baseError struct { + // Classification of error + code string + + // Detailed information about error + message string + + // Optional original error this error is based off of. Allows building + // chained errors. + errs []error +} + +// newBaseError returns an error object for the code, message, and errors. +// +// code is a short no whitespace phrase depicting the classification of +// the error that is being created. +// +// message is the free flow string containing detailed information about the +// error. +// +// origErrs is the error objects which will be nested under the new errors to +// be returned. +func newBaseError(code, message string, origErrs []error) *baseError { + b := &baseError{ + code: code, + message: message, + errs: origErrs, + } + + return b +} + +// Error returns the string representation of the error. +// +// See ErrorWithExtra for formatting. +// +// Satisfies the error interface. +func (b baseError) Error() string { + size := len(b.errs) + if size > 0 { + return SprintError(b.code, b.message, "", errorList(b.errs)) + } + + return SprintError(b.code, b.message, "", nil) +} + +// String returns the string representation of the error. +// Alias for Error to satisfy the stringer interface. +func (b baseError) String() string { + return b.Error() +} + +// Code returns the short phrase depicting the classification of the error. +func (b baseError) Code() string { + return b.code +} + +// Message returns the error details message. +func (b baseError) Message() string { + return b.message +} + +// OrigErr returns the original error if one was set. Nil is returned if no +// error was set. This only returns the first element in the list. If the full +// list is needed, use BatchedErrors. +func (b baseError) OrigErr() error { + switch len(b.errs) { + case 0: + return nil + case 1: + return b.errs[0] + default: + if err, ok := b.errs[0].(Error); ok { + return NewBatchError(err.Code(), err.Message(), b.errs[1:]) + } + return NewBatchError("BatchedErrors", + "multiple errors occurred", b.errs) + } +} + +// OrigErrs returns the original errors if one was set. An empty slice is +// returned if no error was set. +func (b baseError) OrigErrs() []error { + return b.errs +} + +// So that the Error interface type can be included as an anonymous field +// in the requestError struct and not conflict with the error.Error() method. +type awsError Error + +// A requestError wraps a request or service error. +// +// Composed of baseError for code, message, and original error. +type requestError struct { + awsError + statusCode int + requestID string +} + +// newRequestError returns a wrapped error with additional information for +// request status code, and service requestID. +// +// Should be used to wrap all request which involve service requests. Even if +// the request failed without a service response, but had an HTTP status code +// that may be meaningful. +// +// Also wraps original errors via the baseError. +func newRequestError(err Error, statusCode int, requestID string) *requestError { + return &requestError{ + awsError: err, + statusCode: statusCode, + requestID: requestID, + } +} + +// Error returns the string representation of the error. +// Satisfies the error interface. +func (r requestError) Error() string { + extra := fmt.Sprintf("status code: %d, request id: %s", + r.statusCode, r.requestID) + return SprintError(r.Code(), r.Message(), extra, r.OrigErr()) +} + +// String returns the string representation of the error. +// Alias for Error to satisfy the stringer interface. +func (r requestError) String() string { + return r.Error() +} + +// StatusCode returns the wrapped status code for the error +func (r requestError) StatusCode() int { + return r.statusCode +} + +// RequestID returns the wrapped requestID +func (r requestError) RequestID() string { + return r.requestID +} + +// OrigErrs returns the original errors if one was set. An empty slice is +// returned if no error was set. +func (r requestError) OrigErrs() []error { + if b, ok := r.awsError.(BatchedErrors); ok { + return b.OrigErrs() + } + return []error{r.OrigErr()} +} + +// An error list that satisfies the golang interface +type errorList []error + +// Error returns the string representation of the error. +// +// Satisfies the error interface. +func (e errorList) Error() string { + msg := "" + // How do we want to handle the array size being zero + if size := len(e); size > 0 { + for i := 0; i < size; i++ { + msg += fmt.Sprintf("%s", e[i].Error()) + // We check the next index to see if it is within the slice. + // If it is, then we append a newline. We do this, because unit tests + // could be broken with the additional '\n' + if i+1 < size { + msg += "\n" + } + } + } + return msg +} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/awsutil/copy.go b/vendor/github.com/aws/aws-sdk-go/aws/awsutil/copy.go new file mode 100644 index 0000000000..1a3d106d5c --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/aws/awsutil/copy.go @@ -0,0 +1,108 @@ +package awsutil + +import ( + "io" + "reflect" + "time" +) + +// Copy deeply copies a src structure to dst. Useful for copying request and +// response structures. +// +// Can copy between structs of different type, but will only copy fields which +// are assignable, and exist in both structs. Fields which are not assignable, +// or do not exist in both structs are ignored. +func Copy(dst, src interface{}) { + dstval := reflect.ValueOf(dst) + if !dstval.IsValid() { + panic("Copy dst cannot be nil") + } + + rcopy(dstval, reflect.ValueOf(src), true) +} + +// CopyOf returns a copy of src while also allocating the memory for dst. +// src must be a pointer type or this operation will fail. +func CopyOf(src interface{}) (dst interface{}) { + dsti := reflect.New(reflect.TypeOf(src).Elem()) + dst = dsti.Interface() + rcopy(dsti, reflect.ValueOf(src), true) + return +} + +// rcopy performs a recursive copy of values from the source to destination. +// +// root is used to skip certain aspects of the copy which are not valid +// for the root node of a object. +func rcopy(dst, src reflect.Value, root bool) { + if !src.IsValid() { + return + } + + switch src.Kind() { + case reflect.Ptr: + if _, ok := src.Interface().(io.Reader); ok { + if dst.Kind() == reflect.Ptr && dst.Elem().CanSet() { + dst.Elem().Set(src) + } else if dst.CanSet() { + dst.Set(src) + } + } else { + e := src.Type().Elem() + if dst.CanSet() && !src.IsNil() { + if _, ok := src.Interface().(*time.Time); !ok { + dst.Set(reflect.New(e)) + } else { + tempValue := reflect.New(e) + tempValue.Elem().Set(src.Elem()) + // Sets time.Time's unexported values + dst.Set(tempValue) + } + } + if src.Elem().IsValid() { + // Keep the current root state since the depth hasn't changed + rcopy(dst.Elem(), src.Elem(), root) + } + } + case reflect.Struct: + t := dst.Type() + for i := 0; i < t.NumField(); i++ { + name := t.Field(i).Name + srcVal := src.FieldByName(name) + dstVal := dst.FieldByName(name) + if srcVal.IsValid() && dstVal.CanSet() { + rcopy(dstVal, srcVal, false) + } + } + case reflect.Slice: + if src.IsNil() { + break + } + + s := reflect.MakeSlice(src.Type(), src.Len(), src.Cap()) + dst.Set(s) + for i := 0; i < src.Len(); i++ { + rcopy(dst.Index(i), src.Index(i), false) + } + case reflect.Map: + if src.IsNil() { + break + } + + s := reflect.MakeMap(src.Type()) + dst.Set(s) + for _, k := range src.MapKeys() { + v := src.MapIndex(k) + v2 := reflect.New(v.Type()).Elem() + rcopy(v2, v, false) + dst.SetMapIndex(k, v2) + } + default: + // Assign the value if possible. If its not assignable, the value would + // need to be converted and the impact of that may be unexpected, or is + // not compatible with the dst type. + if src.Type().AssignableTo(dst.Type()) { + dst.Set(src) + } + } +} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/awsutil/equal.go b/vendor/github.com/aws/aws-sdk-go/aws/awsutil/equal.go new file mode 100644 index 0000000000..59fa4a558a --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/aws/awsutil/equal.go @@ -0,0 +1,27 @@ +package awsutil + +import ( + "reflect" +) + +// DeepEqual returns if the two values are deeply equal like reflect.DeepEqual. +// In addition to this, this method will also dereference the input values if +// possible so the DeepEqual performed will not fail if one parameter is a +// pointer and the other is not. +// +// DeepEqual will not perform indirection of nested values of the input parameters. +func DeepEqual(a, b interface{}) bool { + ra := reflect.Indirect(reflect.ValueOf(a)) + rb := reflect.Indirect(reflect.ValueOf(b)) + + if raValid, rbValid := ra.IsValid(), rb.IsValid(); !raValid && !rbValid { + // If the elements are both nil, and of the same type the are equal + // If they are of different types they are not equal + return reflect.TypeOf(a) == reflect.TypeOf(b) + } else if raValid != rbValid { + // Both values must be valid to be equal + return false + } + + return reflect.DeepEqual(ra.Interface(), rb.Interface()) +} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/awsutil/path_value.go b/vendor/github.com/aws/aws-sdk-go/aws/awsutil/path_value.go new file mode 100644 index 0000000000..11c52c3896 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/aws/awsutil/path_value.go @@ -0,0 +1,222 @@ +package awsutil + +import ( + "reflect" + "regexp" + "strconv" + "strings" + + "github.com/jmespath/go-jmespath" +) + +var indexRe = regexp.MustCompile(`(.+)\[(-?\d+)?\]$`) + +// rValuesAtPath returns a slice of values found in value v. The values +// in v are explored recursively so all nested values are collected. +func rValuesAtPath(v interface{}, path string, createPath, caseSensitive, nilTerm bool) []reflect.Value { + pathparts := strings.Split(path, "||") + if len(pathparts) > 1 { + for _, pathpart := range pathparts { + vals := rValuesAtPath(v, pathpart, createPath, caseSensitive, nilTerm) + if len(vals) > 0 { + return vals + } + } + return nil + } + + values := []reflect.Value{reflect.Indirect(reflect.ValueOf(v))} + components := strings.Split(path, ".") + for len(values) > 0 && len(components) > 0 { + var index *int64 + var indexStar bool + c := strings.TrimSpace(components[0]) + if c == "" { // no actual component, illegal syntax + return nil + } else if caseSensitive && c != "*" && strings.ToLower(c[0:1]) == c[0:1] { + // TODO normalize case for user + return nil // don't support unexported fields + } + + // parse this component + if m := indexRe.FindStringSubmatch(c); m != nil { + c = m[1] + if m[2] == "" { + index = nil + indexStar = true + } else { + i, _ := strconv.ParseInt(m[2], 10, 32) + index = &i + indexStar = false + } + } + + nextvals := []reflect.Value{} + for _, value := range values { + // pull component name out of struct member + if value.Kind() != reflect.Struct { + continue + } + + if c == "*" { // pull all members + for i := 0; i < value.NumField(); i++ { + if f := reflect.Indirect(value.Field(i)); f.IsValid() { + nextvals = append(nextvals, f) + } + } + continue + } + + value = value.FieldByNameFunc(func(name string) bool { + if c == name { + return true + } else if !caseSensitive && strings.ToLower(name) == strings.ToLower(c) { + return true + } + return false + }) + + if nilTerm && value.Kind() == reflect.Ptr && len(components[1:]) == 0 { + if !value.IsNil() { + value.Set(reflect.Zero(value.Type())) + } + return []reflect.Value{value} + } + + if createPath && value.Kind() == reflect.Ptr && value.IsNil() { + // TODO if the value is the terminus it should not be created + // if the value to be set to its position is nil. + value.Set(reflect.New(value.Type().Elem())) + value = value.Elem() + } else { + value = reflect.Indirect(value) + } + + if value.Kind() == reflect.Slice || value.Kind() == reflect.Map { + if !createPath && value.IsNil() { + value = reflect.ValueOf(nil) + } + } + + if value.IsValid() { + nextvals = append(nextvals, value) + } + } + values = nextvals + + if indexStar || index != nil { + nextvals = []reflect.Value{} + for _, valItem := range values { + value := reflect.Indirect(valItem) + if value.Kind() != reflect.Slice { + continue + } + + if indexStar { // grab all indices + for i := 0; i < value.Len(); i++ { + idx := reflect.Indirect(value.Index(i)) + if idx.IsValid() { + nextvals = append(nextvals, idx) + } + } + continue + } + + // pull out index + i := int(*index) + if i >= value.Len() { // check out of bounds + if createPath { + // TODO resize slice + } else { + continue + } + } else if i < 0 { // support negative indexing + i = value.Len() + i + } + value = reflect.Indirect(value.Index(i)) + + if value.Kind() == reflect.Slice || value.Kind() == reflect.Map { + if !createPath && value.IsNil() { + value = reflect.ValueOf(nil) + } + } + + if value.IsValid() { + nextvals = append(nextvals, value) + } + } + values = nextvals + } + + components = components[1:] + } + return values +} + +// ValuesAtPath returns a list of values at the case insensitive lexical +// path inside of a structure. +func ValuesAtPath(i interface{}, path string) ([]interface{}, error) { + result, err := jmespath.Search(path, i) + if err != nil { + return nil, err + } + + v := reflect.ValueOf(result) + if !v.IsValid() || (v.Kind() == reflect.Ptr && v.IsNil()) { + return nil, nil + } + if s, ok := result.([]interface{}); ok { + return s, err + } + if v.Kind() == reflect.Map && v.Len() == 0 { + return nil, nil + } + if v.Kind() == reflect.Slice { + out := make([]interface{}, v.Len()) + for i := 0; i < v.Len(); i++ { + out[i] = v.Index(i).Interface() + } + return out, nil + } + + return []interface{}{result}, nil +} + +// SetValueAtPath sets a value at the case insensitive lexical path inside +// of a structure. +func SetValueAtPath(i interface{}, path string, v interface{}) { + if rvals := rValuesAtPath(i, path, true, false, v == nil); rvals != nil { + for _, rval := range rvals { + if rval.Kind() == reflect.Ptr && rval.IsNil() { + continue + } + setValue(rval, v) + } + } +} + +func setValue(dstVal reflect.Value, src interface{}) { + if dstVal.Kind() == reflect.Ptr { + dstVal = reflect.Indirect(dstVal) + } + srcVal := reflect.ValueOf(src) + + if !srcVal.IsValid() { // src is literal nil + if dstVal.CanAddr() { + // Convert to pointer so that pointer's value can be nil'ed + // dstVal = dstVal.Addr() + } + dstVal.Set(reflect.Zero(dstVal.Type())) + + } else if srcVal.Kind() == reflect.Ptr { + if srcVal.IsNil() { + srcVal = reflect.Zero(dstVal.Type()) + } else { + srcVal = reflect.ValueOf(src).Elem() + } + dstVal.Set(srcVal) + } else { + dstVal.Set(srcVal) + } + +} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/awsutil/prettify.go b/vendor/github.com/aws/aws-sdk-go/aws/awsutil/prettify.go new file mode 100644 index 0000000000..710eb432f8 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/aws/awsutil/prettify.go @@ -0,0 +1,113 @@ +package awsutil + +import ( + "bytes" + "fmt" + "io" + "reflect" + "strings" +) + +// Prettify returns the string representation of a value. +func Prettify(i interface{}) string { + var buf bytes.Buffer + prettify(reflect.ValueOf(i), 0, &buf) + return buf.String() +} + +// prettify will recursively walk value v to build a textual +// representation of the value. +func prettify(v reflect.Value, indent int, buf *bytes.Buffer) { + for v.Kind() == reflect.Ptr { + v = v.Elem() + } + + switch v.Kind() { + case reflect.Struct: + strtype := v.Type().String() + if strtype == "time.Time" { + fmt.Fprintf(buf, "%s", v.Interface()) + break + } else if strings.HasPrefix(strtype, "io.") { + buf.WriteString("") + break + } + + buf.WriteString("{\n") + + names := []string{} + for i := 0; i < v.Type().NumField(); i++ { + name := v.Type().Field(i).Name + f := v.Field(i) + if name[0:1] == strings.ToLower(name[0:1]) { + continue // ignore unexported fields + } + if (f.Kind() == reflect.Ptr || f.Kind() == reflect.Slice || f.Kind() == reflect.Map) && f.IsNil() { + continue // ignore unset fields + } + names = append(names, name) + } + + for i, n := range names { + val := v.FieldByName(n) + buf.WriteString(strings.Repeat(" ", indent+2)) + buf.WriteString(n + ": ") + prettify(val, indent+2, buf) + + if i < len(names)-1 { + buf.WriteString(",\n") + } + } + + buf.WriteString("\n" + strings.Repeat(" ", indent) + "}") + case reflect.Slice: + strtype := v.Type().String() + if strtype == "[]uint8" { + fmt.Fprintf(buf, " len %d", v.Len()) + break + } + + nl, id, id2 := "", "", "" + if v.Len() > 3 { + nl, id, id2 = "\n", strings.Repeat(" ", indent), strings.Repeat(" ", indent+2) + } + buf.WriteString("[" + nl) + for i := 0; i < v.Len(); i++ { + buf.WriteString(id2) + prettify(v.Index(i), indent+2, buf) + + if i < v.Len()-1 { + buf.WriteString("," + nl) + } + } + + buf.WriteString(nl + id + "]") + case reflect.Map: + buf.WriteString("{\n") + + for i, k := range v.MapKeys() { + buf.WriteString(strings.Repeat(" ", indent+2)) + buf.WriteString(k.String() + ": ") + prettify(v.MapIndex(k), indent+2, buf) + + if i < v.Len()-1 { + buf.WriteString(",\n") + } + } + + buf.WriteString("\n" + strings.Repeat(" ", indent) + "}") + default: + if !v.IsValid() { + fmt.Fprint(buf, "") + return + } + format := "%v" + switch v.Interface().(type) { + case string: + format = "%q" + case io.ReadSeeker, io.Reader: + format = "buffer(%p)" + } + fmt.Fprintf(buf, format, v.Interface()) + } +} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/awsutil/string_value.go b/vendor/github.com/aws/aws-sdk-go/aws/awsutil/string_value.go new file mode 100644 index 0000000000..b6432f1a11 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/aws/awsutil/string_value.go @@ -0,0 +1,89 @@ +package awsutil + +import ( + "bytes" + "fmt" + "reflect" + "strings" +) + +// StringValue returns the string representation of a value. +func StringValue(i interface{}) string { + var buf bytes.Buffer + stringValue(reflect.ValueOf(i), 0, &buf) + return buf.String() +} + +func stringValue(v reflect.Value, indent int, buf *bytes.Buffer) { + for v.Kind() == reflect.Ptr { + v = v.Elem() + } + + switch v.Kind() { + case reflect.Struct: + buf.WriteString("{\n") + + names := []string{} + for i := 0; i < v.Type().NumField(); i++ { + name := v.Type().Field(i).Name + f := v.Field(i) + if name[0:1] == strings.ToLower(name[0:1]) { + continue // ignore unexported fields + } + if (f.Kind() == reflect.Ptr || f.Kind() == reflect.Slice) && f.IsNil() { + continue // ignore unset fields + } + names = append(names, name) + } + + for i, n := range names { + val := v.FieldByName(n) + buf.WriteString(strings.Repeat(" ", indent+2)) + buf.WriteString(n + ": ") + stringValue(val, indent+2, buf) + + if i < len(names)-1 { + buf.WriteString(",\n") + } + } + + buf.WriteString("\n" + strings.Repeat(" ", indent) + "}") + case reflect.Slice: + nl, id, id2 := "", "", "" + if v.Len() > 3 { + nl, id, id2 = "\n", strings.Repeat(" ", indent), strings.Repeat(" ", indent+2) + } + buf.WriteString("[" + nl) + for i := 0; i < v.Len(); i++ { + buf.WriteString(id2) + stringValue(v.Index(i), indent+2, buf) + + if i < v.Len()-1 { + buf.WriteString("," + nl) + } + } + + buf.WriteString(nl + id + "]") + case reflect.Map: + buf.WriteString("{\n") + + for i, k := range v.MapKeys() { + buf.WriteString(strings.Repeat(" ", indent+2)) + buf.WriteString(k.String() + ": ") + stringValue(v.MapIndex(k), indent+2, buf) + + if i < v.Len()-1 { + buf.WriteString(",\n") + } + } + + buf.WriteString("\n" + strings.Repeat(" ", indent) + "}") + default: + format := "%v" + switch v.Interface().(type) { + case string: + format = "%q" + } + fmt.Fprintf(buf, format, v.Interface()) + } +} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/client/client.go b/vendor/github.com/aws/aws-sdk-go/aws/client/client.go new file mode 100644 index 0000000000..17fc76a0f6 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/aws/client/client.go @@ -0,0 +1,146 @@ +package client + +import ( + "fmt" + "net/http/httputil" + + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/client/metadata" + "github.com/aws/aws-sdk-go/aws/request" +) + +// A Config provides configuration to a service client instance. +type Config struct { + Config *aws.Config + Handlers request.Handlers + Endpoint string + SigningRegion string + SigningName string +} + +// ConfigProvider provides a generic way for a service client to receive +// the ClientConfig without circular dependencies. +type ConfigProvider interface { + ClientConfig(serviceName string, cfgs ...*aws.Config) Config +} + +// ConfigNoResolveEndpointProvider same as ConfigProvider except it will not +// resolve the endpoint automatically. The service client's endpoint must be +// provided via the aws.Config.Endpoint field. +type ConfigNoResolveEndpointProvider interface { + ClientConfigNoResolveEndpoint(cfgs ...*aws.Config) Config +} + +// A Client implements the base client request and response handling +// used by all service clients. +type Client struct { + request.Retryer + metadata.ClientInfo + + Config aws.Config + Handlers request.Handlers +} + +// New will return a pointer to a new initialized service client. +func New(cfg aws.Config, info metadata.ClientInfo, handlers request.Handlers, options ...func(*Client)) *Client { + svc := &Client{ + Config: cfg, + ClientInfo: info, + Handlers: handlers, + } + + switch retryer, ok := cfg.Retryer.(request.Retryer); { + case ok: + svc.Retryer = retryer + case cfg.Retryer != nil && cfg.Logger != nil: + s := fmt.Sprintf("WARNING: %T does not implement request.Retryer; using DefaultRetryer instead", cfg.Retryer) + cfg.Logger.Log(s) + fallthrough + default: + maxRetries := aws.IntValue(cfg.MaxRetries) + if cfg.MaxRetries == nil || maxRetries == aws.UseServiceDefaultRetries { + maxRetries = 3 + } + svc.Retryer = DefaultRetryer{NumMaxRetries: maxRetries} + } + + svc.AddDebugHandlers() + + for _, option := range options { + option(svc) + } + + return svc +} + +// NewRequest returns a new Request pointer for the service API +// operation and parameters. +func (c *Client) NewRequest(operation *request.Operation, params interface{}, data interface{}) *request.Request { + return request.New(c.Config, c.ClientInfo, c.Handlers, c.Retryer, operation, params, data) +} + +// AddDebugHandlers injects debug logging handlers into the service to log request +// debug information. +func (c *Client) AddDebugHandlers() { + if !c.Config.LogLevel.AtLeast(aws.LogDebug) { + return + } + + c.Handlers.Send.PushFront(logRequest) + c.Handlers.Send.PushBack(logResponse) +} + +const logReqMsg = `DEBUG: Request %s/%s Details: +---[ REQUEST POST-SIGN ]----------------------------- +%s +-----------------------------------------------------` + +const logReqErrMsg = `DEBUG ERROR: Request %s/%s: +---[ REQUEST DUMP ERROR ]----------------------------- +%s +-----------------------------------------------------` + +func logRequest(r *request.Request) { + logBody := r.Config.LogLevel.Matches(aws.LogDebugWithHTTPBody) + dumpedBody, err := httputil.DumpRequestOut(r.HTTPRequest, logBody) + if err != nil { + r.Config.Logger.Log(fmt.Sprintf(logReqErrMsg, r.ClientInfo.ServiceName, r.Operation.Name, err)) + return + } + + if logBody { + // Reset the request body because dumpRequest will re-wrap the r.HTTPRequest's + // Body as a NoOpCloser and will not be reset after read by the HTTP + // client reader. + r.ResetBody() + } + + r.Config.Logger.Log(fmt.Sprintf(logReqMsg, r.ClientInfo.ServiceName, r.Operation.Name, string(dumpedBody))) +} + +const logRespMsg = `DEBUG: Response %s/%s Details: +---[ RESPONSE ]-------------------------------------- +%s +-----------------------------------------------------` + +const logRespErrMsg = `DEBUG ERROR: Response %s/%s: +---[ RESPONSE DUMP ERROR ]----------------------------- +%s +-----------------------------------------------------` + +func logResponse(r *request.Request) { + var msg = "no response data" + if r.HTTPResponse != nil { + logBody := r.Config.LogLevel.Matches(aws.LogDebugWithHTTPBody) + dumpedBody, err := httputil.DumpResponse(r.HTTPResponse, logBody) + if err != nil { + r.Config.Logger.Log(fmt.Sprintf(logRespErrMsg, r.ClientInfo.ServiceName, r.Operation.Name, err)) + return + } + + msg = string(dumpedBody) + } else if r.Error != nil { + msg = r.Error.Error() + } + r.Config.Logger.Log(fmt.Sprintf(logRespMsg, r.ClientInfo.ServiceName, r.Operation.Name, msg)) +} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/client/default_retryer.go b/vendor/github.com/aws/aws-sdk-go/aws/client/default_retryer.go new file mode 100644 index 0000000000..43a3676b79 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/aws/client/default_retryer.go @@ -0,0 +1,90 @@ +package client + +import ( + "math/rand" + "sync" + "time" + + "github.com/aws/aws-sdk-go/aws/request" +) + +// DefaultRetryer implements basic retry logic using exponential backoff for +// most services. If you want to implement custom retry logic, implement the +// request.Retryer interface or create a structure type that composes this +// struct and override the specific methods. For example, to override only +// the MaxRetries method: +// +// type retryer struct { +// service.DefaultRetryer +// } +// +// // This implementation always has 100 max retries +// func (d retryer) MaxRetries() uint { return 100 } +type DefaultRetryer struct { + NumMaxRetries int +} + +// MaxRetries returns the number of maximum returns the service will use to make +// an individual API request. +func (d DefaultRetryer) MaxRetries() int { + return d.NumMaxRetries +} + +var seededRand = rand.New(&lockedSource{src: rand.NewSource(time.Now().UnixNano())}) + +// RetryRules returns the delay duration before retrying this request again +func (d DefaultRetryer) RetryRules(r *request.Request) time.Duration { + // Set the upper limit of delay in retrying at ~five minutes + minTime := 30 + throttle := d.shouldThrottle(r) + if throttle { + minTime = 500 + } + + retryCount := r.RetryCount + if retryCount > 13 { + retryCount = 13 + } else if throttle && retryCount > 8 { + retryCount = 8 + } + + delay := (1 << uint(retryCount)) * (seededRand.Intn(minTime) + minTime) + return time.Duration(delay) * time.Millisecond +} + +// ShouldRetry returns true if the request should be retried. +func (d DefaultRetryer) ShouldRetry(r *request.Request) bool { + if r.HTTPResponse.StatusCode >= 500 { + return true + } + return r.IsErrorRetryable() || d.shouldThrottle(r) +} + +// ShouldThrottle returns true if the request should be throttled. +func (d DefaultRetryer) shouldThrottle(r *request.Request) bool { + if r.HTTPResponse.StatusCode == 502 || + r.HTTPResponse.StatusCode == 503 || + r.HTTPResponse.StatusCode == 504 { + return true + } + return r.IsErrorThrottle() +} + +// lockedSource is a thread-safe implementation of rand.Source +type lockedSource struct { + lk sync.Mutex + src rand.Source +} + +func (r *lockedSource) Int63() (n int64) { + r.lk.Lock() + n = r.src.Int63() + r.lk.Unlock() + return +} + +func (r *lockedSource) Seed(seed int64) { + r.lk.Lock() + r.src.Seed(seed) + r.lk.Unlock() +} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/client/metadata/client_info.go b/vendor/github.com/aws/aws-sdk-go/aws/client/metadata/client_info.go new file mode 100644 index 0000000000..4778056ddf --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/aws/client/metadata/client_info.go @@ -0,0 +1,12 @@ +package metadata + +// ClientInfo wraps immutable data from the client.Client structure. +type ClientInfo struct { + ServiceName string + APIVersion string + Endpoint string + SigningName string + SigningRegion string + JSONVersion string + TargetPrefix string +} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/config.go b/vendor/github.com/aws/aws-sdk-go/aws/config.go new file mode 100644 index 0000000000..948e0a6792 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/aws/config.go @@ -0,0 +1,459 @@ +package aws + +import ( + "net/http" + "time" + + "github.com/aws/aws-sdk-go/aws/credentials" + "github.com/aws/aws-sdk-go/aws/endpoints" +) + +// UseServiceDefaultRetries instructs the config to use the service's own +// default number of retries. This will be the default action if +// Config.MaxRetries is nil also. +const UseServiceDefaultRetries = -1 + +// RequestRetryer is an alias for a type that implements the request.Retryer +// interface. +type RequestRetryer interface{} + +// A Config provides service configuration for service clients. By default, +// all clients will use the defaults.DefaultConfig tructure. +// +// // Create Session with MaxRetry configuration to be shared by multiple +// // service clients. +// sess := session.Must(session.NewSession(&aws.Config{ +// MaxRetries: aws.Int(3), +// })) +// +// // Create S3 service client with a specific Region. +// svc := s3.New(sess, &aws.Config{ +// Region: aws.String("us-west-2"), +// }) +type Config struct { + // Enables verbose error printing of all credential chain errors. + // Should be used when wanting to see all errors while attempting to + // retrieve credentials. + CredentialsChainVerboseErrors *bool + + // The credentials object to use when signing requests. Defaults to a + // chain of credential providers to search for credentials in environment + // variables, shared credential file, and EC2 Instance Roles. + Credentials *credentials.Credentials + + // An optional endpoint URL (hostname only or fully qualified URI) + // that overrides the default generated endpoint for a client. Set this + // to `""` to use the default generated endpoint. + // + // @note You must still provide a `Region` value when specifying an + // endpoint for a client. + Endpoint *string + + // The resolver to use for looking up endpoints for AWS service clients + // to use based on region. + EndpointResolver endpoints.Resolver + + // The region to send requests to. This parameter is required and must + // be configured globally or on a per-client basis unless otherwise + // noted. A full list of regions is found in the "Regions and Endpoints" + // document. + // + // @see http://docs.aws.amazon.com/general/latest/gr/rande.html + // AWS Regions and Endpoints + Region *string + + // Set this to `true` to disable SSL when sending requests. Defaults + // to `false`. + DisableSSL *bool + + // The HTTP client to use when sending requests. Defaults to + // `http.DefaultClient`. + HTTPClient *http.Client + + // An integer value representing the logging level. The default log level + // is zero (LogOff), which represents no logging. To enable logging set + // to a LogLevel Value. + LogLevel *LogLevelType + + // The logger writer interface to write logging messages to. Defaults to + // standard out. + Logger Logger + + // The maximum number of times that a request will be retried for failures. + // Defaults to -1, which defers the max retry setting to the service + // specific configuration. + MaxRetries *int + + // Retryer guides how HTTP requests should be retried in case of + // recoverable failures. + // + // When nil or the value does not implement the request.Retryer interface, + // the request.DefaultRetryer will be used. + // + // When both Retryer and MaxRetries are non-nil, the former is used and + // the latter ignored. + // + // To set the Retryer field in a type-safe manner and with chaining, use + // the request.WithRetryer helper function: + // + // cfg := request.WithRetryer(aws.NewConfig(), myRetryer) + // + Retryer RequestRetryer + + // Disables semantic parameter validation, which validates input for + // missing required fields and/or other semantic request input errors. + DisableParamValidation *bool + + // Disables the computation of request and response checksums, e.g., + // CRC32 checksums in Amazon DynamoDB. + DisableComputeChecksums *bool + + // Set this to `true` to force the request to use path-style addressing, + // i.e., `http://s3.amazonaws.com/BUCKET/KEY`. By default, the S3 client + // will use virtual hosted bucket addressing when possible + // (`http://BUCKET.s3.amazonaws.com/KEY`). + // + // @note This configuration option is specific to the Amazon S3 service. + // @see http://docs.aws.amazon.com/AmazonS3/latest/dev/VirtualHosting.html + // Amazon S3: Virtual Hosting of Buckets + S3ForcePathStyle *bool + + // Set this to `true` to disable the SDK adding the `Expect: 100-Continue` + // header to PUT requests over 2MB of content. 100-Continue instructs the + // HTTP client not to send the body until the service responds with a + // `continue` status. This is useful to prevent sending the request body + // until after the request is authenticated, and validated. + // + // http://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPUT.html + // + // 100-Continue is only enabled for Go 1.6 and above. See `http.Transport`'s + // `ExpectContinueTimeout` for information on adjusting the continue wait + // timeout. https://golang.org/pkg/net/http/#Transport + // + // You should use this flag to disble 100-Continue if you experience issues + // with proxies or third party S3 compatible services. + S3Disable100Continue *bool + + // Set this to `true` to enable S3 Accelerate feature. For all operations + // compatible with S3 Accelerate will use the accelerate endpoint for + // requests. Requests not compatible will fall back to normal S3 requests. + // + // The bucket must be enable for accelerate to be used with S3 client with + // accelerate enabled. If the bucket is not enabled for accelerate an error + // will be returned. The bucket name must be DNS compatible to also work + // with accelerate. + S3UseAccelerate *bool + + // Set this to `true` to disable the EC2Metadata client from overriding the + // default http.Client's Timeout. This is helpful if you do not want the + // EC2Metadata client to create a new http.Client. This options is only + // meaningful if you're not already using a custom HTTP client with the + // SDK. Enabled by default. + // + // Must be set and provided to the session.NewSession() in order to disable + // the EC2Metadata overriding the timeout for default credentials chain. + // + // Example: + // sess := session.Must(session.NewSession(aws.NewConfig() + // .WithEC2MetadataDiableTimeoutOverride(true))) + // + // svc := s3.New(sess) + // + EC2MetadataDisableTimeoutOverride *bool + + // Instructs the endpiont to be generated for a service client to + // be the dual stack endpoint. The dual stack endpoint will support + // both IPv4 and IPv6 addressing. + // + // Setting this for a service which does not support dual stack will fail + // to make requets. It is not recommended to set this value on the session + // as it will apply to all service clients created with the session. Even + // services which don't support dual stack endpoints. + // + // If the Endpoint config value is also provided the UseDualStack flag + // will be ignored. + // + // Only supported with. + // + // sess := session.Must(session.NewSession()) + // + // svc := s3.New(sess, &aws.Config{ + // UseDualStack: aws.Bool(true), + // }) + UseDualStack *bool + + // SleepDelay is an override for the func the SDK will call when sleeping + // during the lifecycle of a request. Specifically this will be used for + // request delays. This value should only be used for testing. To adjust + // the delay of a request see the aws/client.DefaultRetryer and + // aws/request.Retryer. + // + // SleepDelay will prevent any Context from being used for canceling retry + // delay of an API operation. It is recommended to not use SleepDelay at all + // and specify a Retryer instead. + SleepDelay func(time.Duration) + + // DisableRestProtocolURICleaning will not clean the URL path when making rest protocol requests. + // Will default to false. This would only be used for empty directory names in s3 requests. + // + // Example: + // sess := session.Must(session.NewSession(&aws.Config{ + // DisableRestProtocolURICleaning: aws.Bool(true), + // })) + // + // svc := s3.New(sess) + // out, err := svc.GetObject(&s3.GetObjectInput { + // Bucket: aws.String("bucketname"), + // Key: aws.String("//foo//bar//moo"), + // }) + DisableRestProtocolURICleaning *bool +} + +// NewConfig returns a new Config pointer that can be chained with builder +// methods to set multiple configuration values inline without using pointers. +// +// // Create Session with MaxRetry configuration to be shared by multiple +// // service clients. +// sess := session.Must(session.NewSession(aws.NewConfig(). +// WithMaxRetries(3), +// )) +// +// // Create S3 service client with a specific Region. +// svc := s3.New(sess, aws.NewConfig(). +// WithRegion("us-west-2"), +// ) +func NewConfig() *Config { + return &Config{} +} + +// WithCredentialsChainVerboseErrors sets a config verbose errors boolean and returning +// a Config pointer. +func (c *Config) WithCredentialsChainVerboseErrors(verboseErrs bool) *Config { + c.CredentialsChainVerboseErrors = &verboseErrs + return c +} + +// WithCredentials sets a config Credentials value returning a Config pointer +// for chaining. +func (c *Config) WithCredentials(creds *credentials.Credentials) *Config { + c.Credentials = creds + return c +} + +// WithEndpoint sets a config Endpoint value returning a Config pointer for +// chaining. +func (c *Config) WithEndpoint(endpoint string) *Config { + c.Endpoint = &endpoint + return c +} + +// WithEndpointResolver sets a config EndpointResolver value returning a +// Config pointer for chaining. +func (c *Config) WithEndpointResolver(resolver endpoints.Resolver) *Config { + c.EndpointResolver = resolver + return c +} + +// WithRegion sets a config Region value returning a Config pointer for +// chaining. +func (c *Config) WithRegion(region string) *Config { + c.Region = ®ion + return c +} + +// WithDisableSSL sets a config DisableSSL value returning a Config pointer +// for chaining. +func (c *Config) WithDisableSSL(disable bool) *Config { + c.DisableSSL = &disable + return c +} + +// WithHTTPClient sets a config HTTPClient value returning a Config pointer +// for chaining. +func (c *Config) WithHTTPClient(client *http.Client) *Config { + c.HTTPClient = client + return c +} + +// WithMaxRetries sets a config MaxRetries value returning a Config pointer +// for chaining. +func (c *Config) WithMaxRetries(max int) *Config { + c.MaxRetries = &max + return c +} + +// WithDisableParamValidation sets a config DisableParamValidation value +// returning a Config pointer for chaining. +func (c *Config) WithDisableParamValidation(disable bool) *Config { + c.DisableParamValidation = &disable + return c +} + +// WithDisableComputeChecksums sets a config DisableComputeChecksums value +// returning a Config pointer for chaining. +func (c *Config) WithDisableComputeChecksums(disable bool) *Config { + c.DisableComputeChecksums = &disable + return c +} + +// WithLogLevel sets a config LogLevel value returning a Config pointer for +// chaining. +func (c *Config) WithLogLevel(level LogLevelType) *Config { + c.LogLevel = &level + return c +} + +// WithLogger sets a config Logger value returning a Config pointer for +// chaining. +func (c *Config) WithLogger(logger Logger) *Config { + c.Logger = logger + return c +} + +// WithS3ForcePathStyle sets a config S3ForcePathStyle value returning a Config +// pointer for chaining. +func (c *Config) WithS3ForcePathStyle(force bool) *Config { + c.S3ForcePathStyle = &force + return c +} + +// WithS3Disable100Continue sets a config S3Disable100Continue value returning +// a Config pointer for chaining. +func (c *Config) WithS3Disable100Continue(disable bool) *Config { + c.S3Disable100Continue = &disable + return c +} + +// WithS3UseAccelerate sets a config S3UseAccelerate value returning a Config +// pointer for chaining. +func (c *Config) WithS3UseAccelerate(enable bool) *Config { + c.S3UseAccelerate = &enable + return c +} + +// WithUseDualStack sets a config UseDualStack value returning a Config +// pointer for chaining. +func (c *Config) WithUseDualStack(enable bool) *Config { + c.UseDualStack = &enable + return c +} + +// WithEC2MetadataDisableTimeoutOverride sets a config EC2MetadataDisableTimeoutOverride value +// returning a Config pointer for chaining. +func (c *Config) WithEC2MetadataDisableTimeoutOverride(enable bool) *Config { + c.EC2MetadataDisableTimeoutOverride = &enable + return c +} + +// WithSleepDelay overrides the function used to sleep while waiting for the +// next retry. Defaults to time.Sleep. +func (c *Config) WithSleepDelay(fn func(time.Duration)) *Config { + c.SleepDelay = fn + return c +} + +// MergeIn merges the passed in configs into the existing config object. +func (c *Config) MergeIn(cfgs ...*Config) { + for _, other := range cfgs { + mergeInConfig(c, other) + } +} + +func mergeInConfig(dst *Config, other *Config) { + if other == nil { + return + } + + if other.CredentialsChainVerboseErrors != nil { + dst.CredentialsChainVerboseErrors = other.CredentialsChainVerboseErrors + } + + if other.Credentials != nil { + dst.Credentials = other.Credentials + } + + if other.Endpoint != nil { + dst.Endpoint = other.Endpoint + } + + if other.EndpointResolver != nil { + dst.EndpointResolver = other.EndpointResolver + } + + if other.Region != nil { + dst.Region = other.Region + } + + if other.DisableSSL != nil { + dst.DisableSSL = other.DisableSSL + } + + if other.HTTPClient != nil { + dst.HTTPClient = other.HTTPClient + } + + if other.LogLevel != nil { + dst.LogLevel = other.LogLevel + } + + if other.Logger != nil { + dst.Logger = other.Logger + } + + if other.MaxRetries != nil { + dst.MaxRetries = other.MaxRetries + } + + if other.Retryer != nil { + dst.Retryer = other.Retryer + } + + if other.DisableParamValidation != nil { + dst.DisableParamValidation = other.DisableParamValidation + } + + if other.DisableComputeChecksums != nil { + dst.DisableComputeChecksums = other.DisableComputeChecksums + } + + if other.S3ForcePathStyle != nil { + dst.S3ForcePathStyle = other.S3ForcePathStyle + } + + if other.S3Disable100Continue != nil { + dst.S3Disable100Continue = other.S3Disable100Continue + } + + if other.S3UseAccelerate != nil { + dst.S3UseAccelerate = other.S3UseAccelerate + } + + if other.UseDualStack != nil { + dst.UseDualStack = other.UseDualStack + } + + if other.EC2MetadataDisableTimeoutOverride != nil { + dst.EC2MetadataDisableTimeoutOverride = other.EC2MetadataDisableTimeoutOverride + } + + if other.SleepDelay != nil { + dst.SleepDelay = other.SleepDelay + } + + if other.DisableRestProtocolURICleaning != nil { + dst.DisableRestProtocolURICleaning = other.DisableRestProtocolURICleaning + } +} + +// Copy will return a shallow copy of the Config object. If any additional +// configurations are provided they will be merged into the new config returned. +func (c *Config) Copy(cfgs ...*Config) *Config { + dst := &Config{} + dst.MergeIn(c) + + for _, cfg := range cfgs { + dst.MergeIn(cfg) + } + + return dst +} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/context.go b/vendor/github.com/aws/aws-sdk-go/aws/context.go new file mode 100644 index 0000000000..79f426853b --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/aws/context.go @@ -0,0 +1,71 @@ +package aws + +import ( + "time" +) + +// Context is an copy of the Go v1.7 stdlib's context.Context interface. +// It is represented as a SDK interface to enable you to use the "WithContext" +// API methods with Go v1.6 and a Context type such as golang.org/x/net/context. +// +// See https://golang.org/pkg/context on how to use contexts. +type Context interface { + // Deadline returns the time when work done on behalf of this context + // should be canceled. Deadline returns ok==false when no deadline is + // set. Successive calls to Deadline return the same results. + Deadline() (deadline time.Time, ok bool) + + // Done returns a channel that's closed when work done on behalf of this + // context should be canceled. Done may return nil if this context can + // never be canceled. Successive calls to Done return the same value. + Done() <-chan struct{} + + // Err returns a non-nil error value after Done is closed. Err returns + // Canceled if the context was canceled or DeadlineExceeded if the + // context's deadline passed. No other values for Err are defined. + // After Done is closed, successive calls to Err return the same value. + Err() error + + // Value returns the value associated with this context for key, or nil + // if no value is associated with key. Successive calls to Value with + // the same key returns the same result. + // + // Use context values only for request-scoped data that transits + // processes and API boundaries, not for passing optional parameters to + // functions. + Value(key interface{}) interface{} +} + +// BackgroundContext returns a context that will never be canceled, has no +// values, and no deadline. This context is used by the SDK to provide +// backwards compatibility with non-context API operations and functionality. +// +// Go 1.6 and before: +// This context function is equivalent to context.Background in the Go stdlib. +// +// Go 1.7 and later: +// The context returned will be the value returned by context.Background() +// +// See https://golang.org/pkg/context for more information on Contexts. +func BackgroundContext() Context { + return backgroundCtx +} + +// SleepWithContext will wait for the timer duration to expire, or the context +// is canceled. Which ever happens first. If the context is canceled the Context's +// error will be returned. +// +// Expects Context to always return a non-nil error if the Done channel is closed. +func SleepWithContext(ctx Context, dur time.Duration) error { + t := time.NewTimer(dur) + defer t.Stop() + + select { + case <-t.C: + break + case <-ctx.Done(): + return ctx.Err() + } + + return nil +} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/context_1_6.go b/vendor/github.com/aws/aws-sdk-go/aws/context_1_6.go new file mode 100644 index 0000000000..e8cf93d269 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/aws/context_1_6.go @@ -0,0 +1,41 @@ +// +build !go1.7 + +package aws + +import "time" + +// An emptyCtx is a copy of the the Go 1.7 context.emptyCtx type. This +// is copied to provide a 1.6 and 1.5 safe version of context that is compatible +// with Go 1.7's Context. +// +// An emptyCtx is never canceled, has no values, and has no deadline. It is not +// struct{}, since vars of this type must have distinct addresses. +type emptyCtx int + +func (*emptyCtx) Deadline() (deadline time.Time, ok bool) { + return +} + +func (*emptyCtx) Done() <-chan struct{} { + return nil +} + +func (*emptyCtx) Err() error { + return nil +} + +func (*emptyCtx) Value(key interface{}) interface{} { + return nil +} + +func (e *emptyCtx) String() string { + switch e { + case backgroundCtx: + return "aws.BackgroundContext" + } + return "unknown empty Context" +} + +var ( + backgroundCtx = new(emptyCtx) +) diff --git a/vendor/github.com/aws/aws-sdk-go/aws/context_1_7.go b/vendor/github.com/aws/aws-sdk-go/aws/context_1_7.go new file mode 100644 index 0000000000..064f75c925 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/aws/context_1_7.go @@ -0,0 +1,9 @@ +// +build go1.7 + +package aws + +import "context" + +var ( + backgroundCtx = context.Background() +) diff --git a/vendor/github.com/aws/aws-sdk-go/aws/convert_types.go b/vendor/github.com/aws/aws-sdk-go/aws/convert_types.go new file mode 100644 index 0000000000..3b73a7da7f --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/aws/convert_types.go @@ -0,0 +1,369 @@ +package aws + +import "time" + +// String returns a pointer to the string value passed in. +func String(v string) *string { + return &v +} + +// StringValue returns the value of the string pointer passed in or +// "" if the pointer is nil. +func StringValue(v *string) string { + if v != nil { + return *v + } + return "" +} + +// StringSlice converts a slice of string values into a slice of +// string pointers +func StringSlice(src []string) []*string { + dst := make([]*string, len(src)) + for i := 0; i < len(src); i++ { + dst[i] = &(src[i]) + } + return dst +} + +// StringValueSlice converts a slice of string pointers into a slice of +// string values +func StringValueSlice(src []*string) []string { + dst := make([]string, len(src)) + for i := 0; i < len(src); i++ { + if src[i] != nil { + dst[i] = *(src[i]) + } + } + return dst +} + +// StringMap converts a string map of string values into a string +// map of string pointers +func StringMap(src map[string]string) map[string]*string { + dst := make(map[string]*string) + for k, val := range src { + v := val + dst[k] = &v + } + return dst +} + +// StringValueMap converts a string map of string pointers into a string +// map of string values +func StringValueMap(src map[string]*string) map[string]string { + dst := make(map[string]string) + for k, val := range src { + if val != nil { + dst[k] = *val + } + } + return dst +} + +// Bool returns a pointer to the bool value passed in. +func Bool(v bool) *bool { + return &v +} + +// BoolValue returns the value of the bool pointer passed in or +// false if the pointer is nil. +func BoolValue(v *bool) bool { + if v != nil { + return *v + } + return false +} + +// BoolSlice converts a slice of bool values into a slice of +// bool pointers +func BoolSlice(src []bool) []*bool { + dst := make([]*bool, len(src)) + for i := 0; i < len(src); i++ { + dst[i] = &(src[i]) + } + return dst +} + +// BoolValueSlice converts a slice of bool pointers into a slice of +// bool values +func BoolValueSlice(src []*bool) []bool { + dst := make([]bool, len(src)) + for i := 0; i < len(src); i++ { + if src[i] != nil { + dst[i] = *(src[i]) + } + } + return dst +} + +// BoolMap converts a string map of bool values into a string +// map of bool pointers +func BoolMap(src map[string]bool) map[string]*bool { + dst := make(map[string]*bool) + for k, val := range src { + v := val + dst[k] = &v + } + return dst +} + +// BoolValueMap converts a string map of bool pointers into a string +// map of bool values +func BoolValueMap(src map[string]*bool) map[string]bool { + dst := make(map[string]bool) + for k, val := range src { + if val != nil { + dst[k] = *val + } + } + return dst +} + +// Int returns a pointer to the int value passed in. +func Int(v int) *int { + return &v +} + +// IntValue returns the value of the int pointer passed in or +// 0 if the pointer is nil. +func IntValue(v *int) int { + if v != nil { + return *v + } + return 0 +} + +// IntSlice converts a slice of int values into a slice of +// int pointers +func IntSlice(src []int) []*int { + dst := make([]*int, len(src)) + for i := 0; i < len(src); i++ { + dst[i] = &(src[i]) + } + return dst +} + +// IntValueSlice converts a slice of int pointers into a slice of +// int values +func IntValueSlice(src []*int) []int { + dst := make([]int, len(src)) + for i := 0; i < len(src); i++ { + if src[i] != nil { + dst[i] = *(src[i]) + } + } + return dst +} + +// IntMap converts a string map of int values into a string +// map of int pointers +func IntMap(src map[string]int) map[string]*int { + dst := make(map[string]*int) + for k, val := range src { + v := val + dst[k] = &v + } + return dst +} + +// IntValueMap converts a string map of int pointers into a string +// map of int values +func IntValueMap(src map[string]*int) map[string]int { + dst := make(map[string]int) + for k, val := range src { + if val != nil { + dst[k] = *val + } + } + return dst +} + +// Int64 returns a pointer to the int64 value passed in. +func Int64(v int64) *int64 { + return &v +} + +// Int64Value returns the value of the int64 pointer passed in or +// 0 if the pointer is nil. +func Int64Value(v *int64) int64 { + if v != nil { + return *v + } + return 0 +} + +// Int64Slice converts a slice of int64 values into a slice of +// int64 pointers +func Int64Slice(src []int64) []*int64 { + dst := make([]*int64, len(src)) + for i := 0; i < len(src); i++ { + dst[i] = &(src[i]) + } + return dst +} + +// Int64ValueSlice converts a slice of int64 pointers into a slice of +// int64 values +func Int64ValueSlice(src []*int64) []int64 { + dst := make([]int64, len(src)) + for i := 0; i < len(src); i++ { + if src[i] != nil { + dst[i] = *(src[i]) + } + } + return dst +} + +// Int64Map converts a string map of int64 values into a string +// map of int64 pointers +func Int64Map(src map[string]int64) map[string]*int64 { + dst := make(map[string]*int64) + for k, val := range src { + v := val + dst[k] = &v + } + return dst +} + +// Int64ValueMap converts a string map of int64 pointers into a string +// map of int64 values +func Int64ValueMap(src map[string]*int64) map[string]int64 { + dst := make(map[string]int64) + for k, val := range src { + if val != nil { + dst[k] = *val + } + } + return dst +} + +// Float64 returns a pointer to the float64 value passed in. +func Float64(v float64) *float64 { + return &v +} + +// Float64Value returns the value of the float64 pointer passed in or +// 0 if the pointer is nil. +func Float64Value(v *float64) float64 { + if v != nil { + return *v + } + return 0 +} + +// Float64Slice converts a slice of float64 values into a slice of +// float64 pointers +func Float64Slice(src []float64) []*float64 { + dst := make([]*float64, len(src)) + for i := 0; i < len(src); i++ { + dst[i] = &(src[i]) + } + return dst +} + +// Float64ValueSlice converts a slice of float64 pointers into a slice of +// float64 values +func Float64ValueSlice(src []*float64) []float64 { + dst := make([]float64, len(src)) + for i := 0; i < len(src); i++ { + if src[i] != nil { + dst[i] = *(src[i]) + } + } + return dst +} + +// Float64Map converts a string map of float64 values into a string +// map of float64 pointers +func Float64Map(src map[string]float64) map[string]*float64 { + dst := make(map[string]*float64) + for k, val := range src { + v := val + dst[k] = &v + } + return dst +} + +// Float64ValueMap converts a string map of float64 pointers into a string +// map of float64 values +func Float64ValueMap(src map[string]*float64) map[string]float64 { + dst := make(map[string]float64) + for k, val := range src { + if val != nil { + dst[k] = *val + } + } + return dst +} + +// Time returns a pointer to the time.Time value passed in. +func Time(v time.Time) *time.Time { + return &v +} + +// TimeValue returns the value of the time.Time pointer passed in or +// time.Time{} if the pointer is nil. +func TimeValue(v *time.Time) time.Time { + if v != nil { + return *v + } + return time.Time{} +} + +// TimeUnixMilli returns a Unix timestamp in milliseconds from "January 1, 1970 UTC". +// The result is undefined if the Unix time cannot be represented by an int64. +// Which includes calling TimeUnixMilli on a zero Time is undefined. +// +// This utility is useful for service API's such as CloudWatch Logs which require +// their unix time values to be in milliseconds. +// +// See Go stdlib https://golang.org/pkg/time/#Time.UnixNano for more information. +func TimeUnixMilli(t time.Time) int64 { + return t.UnixNano() / int64(time.Millisecond/time.Nanosecond) +} + +// TimeSlice converts a slice of time.Time values into a slice of +// time.Time pointers +func TimeSlice(src []time.Time) []*time.Time { + dst := make([]*time.Time, len(src)) + for i := 0; i < len(src); i++ { + dst[i] = &(src[i]) + } + return dst +} + +// TimeValueSlice converts a slice of time.Time pointers into a slice of +// time.Time values +func TimeValueSlice(src []*time.Time) []time.Time { + dst := make([]time.Time, len(src)) + for i := 0; i < len(src); i++ { + if src[i] != nil { + dst[i] = *(src[i]) + } + } + return dst +} + +// TimeMap converts a string map of time.Time values into a string +// map of time.Time pointers +func TimeMap(src map[string]time.Time) map[string]*time.Time { + dst := make(map[string]*time.Time) + for k, val := range src { + v := val + dst[k] = &v + } + return dst +} + +// TimeValueMap converts a string map of time.Time pointers into a string +// map of time.Time values +func TimeValueMap(src map[string]*time.Time) map[string]time.Time { + dst := make(map[string]time.Time) + for k, val := range src { + if val != nil { + dst[k] = *val + } + } + return dst +} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/corehandlers/handlers.go b/vendor/github.com/aws/aws-sdk-go/aws/corehandlers/handlers.go new file mode 100644 index 0000000000..08a6665901 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/aws/corehandlers/handlers.go @@ -0,0 +1,201 @@ +package corehandlers + +import ( + "bytes" + "fmt" + "io" + "io/ioutil" + "net/http" + "net/url" + "regexp" + "runtime" + "strconv" + "time" + + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/awserr" + "github.com/aws/aws-sdk-go/aws/credentials" + "github.com/aws/aws-sdk-go/aws/request" +) + +// Interface for matching types which also have a Len method. +type lener interface { + Len() int +} + +// BuildContentLengthHandler builds the content length of a request based on the body, +// or will use the HTTPRequest.Header's "Content-Length" if defined. If unable +// to determine request body length and no "Content-Length" was specified it will panic. +// +// The Content-Length will only be aded to the request if the length of the body +// is greater than 0. If the body is empty or the current `Content-Length` +// header is <= 0, the header will also be stripped. +var BuildContentLengthHandler = request.NamedHandler{Name: "core.BuildContentLengthHandler", Fn: func(r *request.Request) { + var length int64 + + if slength := r.HTTPRequest.Header.Get("Content-Length"); slength != "" { + length, _ = strconv.ParseInt(slength, 10, 64) + } else { + switch body := r.Body.(type) { + case nil: + length = 0 + case lener: + length = int64(body.Len()) + case io.Seeker: + r.BodyStart, _ = body.Seek(0, 1) + end, _ := body.Seek(0, 2) + body.Seek(r.BodyStart, 0) // make sure to seek back to original location + length = end - r.BodyStart + default: + panic("Cannot get length of body, must provide `ContentLength`") + } + } + + if length > 0 { + r.HTTPRequest.ContentLength = length + r.HTTPRequest.Header.Set("Content-Length", fmt.Sprintf("%d", length)) + } else { + r.HTTPRequest.ContentLength = 0 + r.HTTPRequest.Header.Del("Content-Length") + } +}} + +// SDKVersionUserAgentHandler is a request handler for adding the SDK Version to the user agent. +var SDKVersionUserAgentHandler = request.NamedHandler{ + Name: "core.SDKVersionUserAgentHandler", + Fn: request.MakeAddToUserAgentHandler(aws.SDKName, aws.SDKVersion, + runtime.Version(), runtime.GOOS, runtime.GOARCH), +} + +var reStatusCode = regexp.MustCompile(`^(\d{3})`) + +// ValidateReqSigHandler is a request handler to ensure that the request's +// signature doesn't expire before it is sent. This can happen when a request +// is built and signed signficantly before it is sent. Or significant delays +// occur whne retrying requests that would cause the signature to expire. +var ValidateReqSigHandler = request.NamedHandler{ + Name: "core.ValidateReqSigHandler", + Fn: func(r *request.Request) { + // Unsigned requests are not signed + if r.Config.Credentials == credentials.AnonymousCredentials { + return + } + + signedTime := r.Time + if !r.LastSignedAt.IsZero() { + signedTime = r.LastSignedAt + } + + // 10 minutes to allow for some clock skew/delays in transmission. + // Would be improved with aws/aws-sdk-go#423 + if signedTime.Add(10 * time.Minute).After(time.Now()) { + return + } + + fmt.Println("request expired, resigning") + r.Sign() + }, +} + +// SendHandler is a request handler to send service request using HTTP client. +var SendHandler = request.NamedHandler{Name: "core.SendHandler", Fn: func(r *request.Request) { + var err error + r.HTTPResponse, err = r.Config.HTTPClient.Do(r.HTTPRequest) + if err != nil { + // Prevent leaking if an HTTPResponse was returned. Clean up + // the body. + if r.HTTPResponse != nil { + r.HTTPResponse.Body.Close() + } + // Capture the case where url.Error is returned for error processing + // response. e.g. 301 without location header comes back as string + // error and r.HTTPResponse is nil. Other url redirect errors will + // comeback in a similar method. + if e, ok := err.(*url.Error); ok && e.Err != nil { + if s := reStatusCode.FindStringSubmatch(e.Err.Error()); s != nil { + code, _ := strconv.ParseInt(s[1], 10, 64) + r.HTTPResponse = &http.Response{ + StatusCode: int(code), + Status: http.StatusText(int(code)), + Body: ioutil.NopCloser(bytes.NewReader([]byte{})), + } + return + } + } + if r.HTTPResponse == nil { + // Add a dummy request response object to ensure the HTTPResponse + // value is consistent. + r.HTTPResponse = &http.Response{ + StatusCode: int(0), + Status: http.StatusText(int(0)), + Body: ioutil.NopCloser(bytes.NewReader([]byte{})), + } + } + // Catch all other request errors. + r.Error = awserr.New("RequestError", "send request failed", err) + r.Retryable = aws.Bool(true) // network errors are retryable + + // Override the error with a context canceled error, if that was canceled. + ctx := r.Context() + select { + case <-ctx.Done(): + r.Error = awserr.New(request.CanceledErrorCode, + "request context canceled", ctx.Err()) + r.Retryable = aws.Bool(false) + default: + } + } +}} + +// ValidateResponseHandler is a request handler to validate service response. +var ValidateResponseHandler = request.NamedHandler{Name: "core.ValidateResponseHandler", Fn: func(r *request.Request) { + if r.HTTPResponse.StatusCode == 0 || r.HTTPResponse.StatusCode >= 300 { + // this may be replaced by an UnmarshalError handler + r.Error = awserr.New("UnknownError", "unknown error", nil) + } +}} + +// AfterRetryHandler performs final checks to determine if the request should +// be retried and how long to delay. +var AfterRetryHandler = request.NamedHandler{Name: "core.AfterRetryHandler", Fn: func(r *request.Request) { + // If one of the other handlers already set the retry state + // we don't want to override it based on the service's state + if r.Retryable == nil { + r.Retryable = aws.Bool(r.ShouldRetry(r)) + } + + if r.WillRetry() { + r.RetryDelay = r.RetryRules(r) + + if sleepFn := r.Config.SleepDelay; sleepFn != nil { + // Support SleepDelay for backwards compatibility and testing + sleepFn(r.RetryDelay) + } else if err := aws.SleepWithContext(r.Context(), r.RetryDelay); err != nil { + r.Error = awserr.New(request.CanceledErrorCode, + "request context canceled", err) + r.Retryable = aws.Bool(false) + return + } + + // when the expired token exception occurs the credentials + // need to be expired locally so that the next request to + // get credentials will trigger a credentials refresh. + if r.IsErrorExpired() { + r.Config.Credentials.Expire() + } + + r.RetryCount++ + r.Error = nil + } +}} + +// ValidateEndpointHandler is a request handler to validate a request had the +// appropriate Region and Endpoint set. Will set r.Error if the endpoint or +// region is not valid. +var ValidateEndpointHandler = request.NamedHandler{Name: "core.ValidateEndpointHandler", Fn: func(r *request.Request) { + if r.ClientInfo.SigningRegion == "" && aws.StringValue(r.Config.Region) == "" { + r.Error = aws.ErrMissingRegion + } else if r.ClientInfo.Endpoint == "" { + r.Error = aws.ErrMissingEndpoint + } +}} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/corehandlers/param_validator.go b/vendor/github.com/aws/aws-sdk-go/aws/corehandlers/param_validator.go new file mode 100644 index 0000000000..7d50b1557c --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/aws/corehandlers/param_validator.go @@ -0,0 +1,17 @@ +package corehandlers + +import "github.com/aws/aws-sdk-go/aws/request" + +// ValidateParametersHandler is a request handler to validate the input parameters. +// Validating parameters only has meaning if done prior to the request being sent. +var ValidateParametersHandler = request.NamedHandler{Name: "core.ValidateParametersHandler", Fn: func(r *request.Request) { + if !r.ParamsFilled() { + return + } + + if v, ok := r.Params.(request.Validator); ok { + if err := v.Validate(); err != nil { + r.Error = err + } + } +}} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/credentials/chain_provider.go b/vendor/github.com/aws/aws-sdk-go/aws/credentials/chain_provider.go new file mode 100644 index 0000000000..6efc77bf09 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/aws/credentials/chain_provider.go @@ -0,0 +1,100 @@ +package credentials + +import ( + "github.com/aws/aws-sdk-go/aws/awserr" +) + +var ( + // ErrNoValidProvidersFoundInChain Is returned when there are no valid + // providers in the ChainProvider. + // + // This has been deprecated. For verbose error messaging set + // aws.Config.CredentialsChainVerboseErrors to true + // + // @readonly + ErrNoValidProvidersFoundInChain = awserr.New("NoCredentialProviders", + `no valid providers in chain. Deprecated. + For verbose messaging see aws.Config.CredentialsChainVerboseErrors`, + nil) +) + +// A ChainProvider will search for a provider which returns credentials +// and cache that provider until Retrieve is called again. +// +// The ChainProvider provides a way of chaining multiple providers together +// which will pick the first available using priority order of the Providers +// in the list. +// +// If none of the Providers retrieve valid credentials Value, ChainProvider's +// Retrieve() will return the error ErrNoValidProvidersFoundInChain. +// +// If a Provider is found which returns valid credentials Value ChainProvider +// will cache that Provider for all calls to IsExpired(), until Retrieve is +// called again. +// +// Example of ChainProvider to be used with an EnvProvider and EC2RoleProvider. +// In this example EnvProvider will first check if any credentials are available +// via the environment variables. If there are none ChainProvider will check +// the next Provider in the list, EC2RoleProvider in this case. If EC2RoleProvider +// does not return any credentials ChainProvider will return the error +// ErrNoValidProvidersFoundInChain +// +// creds := NewChainCredentials( +// []Provider{ +// &EnvProvider{}, +// &EC2RoleProvider{ +// Client: ec2metadata.New(sess), +// }, +// }) +// +// // Usage of ChainCredentials with aws.Config +// svc := ec2.New(&aws.Config{Credentials: creds}) +// +type ChainProvider struct { + Providers []Provider + curr Provider + VerboseErrors bool +} + +// NewChainCredentials returns a pointer to a new Credentials object +// wrapping a chain of providers. +func NewChainCredentials(providers []Provider) *Credentials { + return NewCredentials(&ChainProvider{ + Providers: append([]Provider{}, providers...), + }) +} + +// Retrieve returns the credentials value or error if no provider returned +// without error. +// +// If a provider is found it will be cached and any calls to IsExpired() +// will return the expired state of the cached provider. +func (c *ChainProvider) Retrieve() (Value, error) { + var errs []error + for _, p := range c.Providers { + creds, err := p.Retrieve() + if err == nil { + c.curr = p + return creds, nil + } + errs = append(errs, err) + } + c.curr = nil + + var err error + err = ErrNoValidProvidersFoundInChain + if c.VerboseErrors { + err = awserr.NewBatchError("NoCredentialProviders", "no valid providers in chain", errs) + } + return Value{}, err +} + +// IsExpired will returned the expired state of the currently cached provider +// if there is one. If there is no current provider, true will be returned. +func (c *ChainProvider) IsExpired() bool { + if c.curr != nil { + return c.curr.IsExpired() + } + + return true +} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/credentials/credentials.go b/vendor/github.com/aws/aws-sdk-go/aws/credentials/credentials.go new file mode 100644 index 0000000000..c29baf001d --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/aws/credentials/credentials.go @@ -0,0 +1,223 @@ +// Package credentials provides credential retrieval and management +// +// The Credentials is the primary method of getting access to and managing +// credentials Values. Using dependency injection retrieval of the credential +// values is handled by a object which satisfies the Provider interface. +// +// By default the Credentials.Get() will cache the successful result of a +// Provider's Retrieve() until Provider.IsExpired() returns true. At which +// point Credentials will call Provider's Retrieve() to get new credential Value. +// +// The Provider is responsible for determining when credentials Value have expired. +// It is also important to note that Credentials will always call Retrieve the +// first time Credentials.Get() is called. +// +// Example of using the environment variable credentials. +// +// creds := NewEnvCredentials() +// +// // Retrieve the credentials value +// credValue, err := creds.Get() +// if err != nil { +// // handle error +// } +// +// Example of forcing credentials to expire and be refreshed on the next Get(). +// This may be helpful to proactively expire credentials and refresh them sooner +// than they would naturally expire on their own. +// +// creds := NewCredentials(&EC2RoleProvider{}) +// creds.Expire() +// credsValue, err := creds.Get() +// // New credentials will be retrieved instead of from cache. +// +// +// Custom Provider +// +// Each Provider built into this package also provides a helper method to generate +// a Credentials pointer setup with the provider. To use a custom Provider just +// create a type which satisfies the Provider interface and pass it to the +// NewCredentials method. +// +// type MyProvider struct{} +// func (m *MyProvider) Retrieve() (Value, error) {...} +// func (m *MyProvider) IsExpired() bool {...} +// +// creds := NewCredentials(&MyProvider{}) +// credValue, err := creds.Get() +// +package credentials + +import ( + "sync" + "time" +) + +// AnonymousCredentials is an empty Credential object that can be used as +// dummy placeholder credentials for requests that do not need signed. +// +// This Credentials can be used to configure a service to not sign requests +// when making service API calls. For example, when accessing public +// s3 buckets. +// +// svc := s3.New(&aws.Config{Credentials: AnonymousCredentials}) +// // Access public S3 buckets. +// +// @readonly +var AnonymousCredentials = NewStaticCredentials("", "", "") + +// A Value is the AWS credentials value for individual credential fields. +type Value struct { + // AWS Access key ID + AccessKeyID string + + // AWS Secret Access Key + SecretAccessKey string + + // AWS Session Token + SessionToken string + + // Provider used to get credentials + ProviderName string +} + +// A Provider is the interface for any component which will provide credentials +// Value. A provider is required to manage its own Expired state, and what to +// be expired means. +// +// The Provider should not need to implement its own mutexes, because +// that will be managed by Credentials. +type Provider interface { + // Retrieve returns nil if it successfully retrieved the value. + // Error is returned if the value were not obtainable, or empty. + Retrieve() (Value, error) + + // IsExpired returns if the credentials are no longer valid, and need + // to be retrieved. + IsExpired() bool +} + +// A Expiry provides shared expiration logic to be used by credentials +// providers to implement expiry functionality. +// +// The best method to use this struct is as an anonymous field within the +// provider's struct. +// +// Example: +// type EC2RoleProvider struct { +// Expiry +// ... +// } +type Expiry struct { + // The date/time when to expire on + expiration time.Time + + // If set will be used by IsExpired to determine the current time. + // Defaults to time.Now if CurrentTime is not set. Available for testing + // to be able to mock out the current time. + CurrentTime func() time.Time +} + +// SetExpiration sets the expiration IsExpired will check when called. +// +// If window is greater than 0 the expiration time will be reduced by the +// window value. +// +// Using a window is helpful to trigger credentials to expire sooner than +// the expiration time given to ensure no requests are made with expired +// tokens. +func (e *Expiry) SetExpiration(expiration time.Time, window time.Duration) { + e.expiration = expiration + if window > 0 { + e.expiration = e.expiration.Add(-window) + } +} + +// IsExpired returns if the credentials are expired. +func (e *Expiry) IsExpired() bool { + if e.CurrentTime == nil { + e.CurrentTime = time.Now + } + return e.expiration.Before(e.CurrentTime()) +} + +// A Credentials provides synchronous safe retrieval of AWS credentials Value. +// Credentials will cache the credentials value until they expire. Once the value +// expires the next Get will attempt to retrieve valid credentials. +// +// Credentials is safe to use across multiple goroutines and will manage the +// synchronous state so the Providers do not need to implement their own +// synchronization. +// +// The first Credentials.Get() will always call Provider.Retrieve() to get the +// first instance of the credentials Value. All calls to Get() after that +// will return the cached credentials Value until IsExpired() returns true. +type Credentials struct { + creds Value + forceRefresh bool + m sync.Mutex + + provider Provider +} + +// NewCredentials returns a pointer to a new Credentials with the provider set. +func NewCredentials(provider Provider) *Credentials { + return &Credentials{ + provider: provider, + forceRefresh: true, + } +} + +// Get returns the credentials value, or error if the credentials Value failed +// to be retrieved. +// +// Will return the cached credentials Value if it has not expired. If the +// credentials Value has expired the Provider's Retrieve() will be called +// to refresh the credentials. +// +// If Credentials.Expire() was called the credentials Value will be force +// expired, and the next call to Get() will cause them to be refreshed. +func (c *Credentials) Get() (Value, error) { + c.m.Lock() + defer c.m.Unlock() + + if c.isExpired() { + creds, err := c.provider.Retrieve() + if err != nil { + return Value{}, err + } + c.creds = creds + c.forceRefresh = false + } + + return c.creds, nil +} + +// Expire expires the credentials and forces them to be retrieved on the +// next call to Get(). +// +// This will override the Provider's expired state, and force Credentials +// to call the Provider's Retrieve(). +func (c *Credentials) Expire() { + c.m.Lock() + defer c.m.Unlock() + + c.forceRefresh = true +} + +// IsExpired returns if the credentials are no longer valid, and need +// to be retrieved. +// +// If the Credentials were forced to be expired with Expire() this will +// reflect that override. +func (c *Credentials) IsExpired() bool { + c.m.Lock() + defer c.m.Unlock() + + return c.isExpired() +} + +// isExpired helper method wrapping the definition of expired credentials. +func (c *Credentials) isExpired() bool { + return c.forceRefresh || c.provider.IsExpired() +} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/credentials/ec2rolecreds/ec2_role_provider.go b/vendor/github.com/aws/aws-sdk-go/aws/credentials/ec2rolecreds/ec2_role_provider.go new file mode 100644 index 0000000000..c39749524e --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/aws/credentials/ec2rolecreds/ec2_role_provider.go @@ -0,0 +1,178 @@ +package ec2rolecreds + +import ( + "bufio" + "encoding/json" + "fmt" + "path" + "strings" + "time" + + "github.com/aws/aws-sdk-go/aws/awserr" + "github.com/aws/aws-sdk-go/aws/client" + "github.com/aws/aws-sdk-go/aws/credentials" + "github.com/aws/aws-sdk-go/aws/ec2metadata" +) + +// ProviderName provides a name of EC2Role provider +const ProviderName = "EC2RoleProvider" + +// A EC2RoleProvider retrieves credentials from the EC2 service, and keeps track if +// those credentials are expired. +// +// Example how to configure the EC2RoleProvider with custom http Client, Endpoint +// or ExpiryWindow +// +// p := &ec2rolecreds.EC2RoleProvider{ +// // Pass in a custom timeout to be used when requesting +// // IAM EC2 Role credentials. +// Client: ec2metadata.New(sess, aws.Config{ +// HTTPClient: &http.Client{Timeout: 10 * time.Second}, +// }), +// +// // Do not use early expiry of credentials. If a non zero value is +// // specified the credentials will be expired early +// ExpiryWindow: 0, +// } +type EC2RoleProvider struct { + credentials.Expiry + + // Required EC2Metadata client to use when connecting to EC2 metadata service. + Client *ec2metadata.EC2Metadata + + // ExpiryWindow will allow the credentials to trigger refreshing prior to + // the credentials actually expiring. This is beneficial so race conditions + // with expiring credentials do not cause request to fail unexpectedly + // due to ExpiredTokenException exceptions. + // + // So a ExpiryWindow of 10s would cause calls to IsExpired() to return true + // 10 seconds before the credentials are actually expired. + // + // If ExpiryWindow is 0 or less it will be ignored. + ExpiryWindow time.Duration +} + +// NewCredentials returns a pointer to a new Credentials object wrapping +// the EC2RoleProvider. Takes a ConfigProvider to create a EC2Metadata client. +// The ConfigProvider is satisfied by the session.Session type. +func NewCredentials(c client.ConfigProvider, options ...func(*EC2RoleProvider)) *credentials.Credentials { + p := &EC2RoleProvider{ + Client: ec2metadata.New(c), + } + + for _, option := range options { + option(p) + } + + return credentials.NewCredentials(p) +} + +// NewCredentialsWithClient returns a pointer to a new Credentials object wrapping +// the EC2RoleProvider. Takes a EC2Metadata client to use when connecting to EC2 +// metadata service. +func NewCredentialsWithClient(client *ec2metadata.EC2Metadata, options ...func(*EC2RoleProvider)) *credentials.Credentials { + p := &EC2RoleProvider{ + Client: client, + } + + for _, option := range options { + option(p) + } + + return credentials.NewCredentials(p) +} + +// Retrieve retrieves credentials from the EC2 service. +// Error will be returned if the request fails, or unable to extract +// the desired credentials. +func (m *EC2RoleProvider) Retrieve() (credentials.Value, error) { + credsList, err := requestCredList(m.Client) + if err != nil { + return credentials.Value{ProviderName: ProviderName}, err + } + + if len(credsList) == 0 { + return credentials.Value{ProviderName: ProviderName}, awserr.New("EmptyEC2RoleList", "empty EC2 Role list", nil) + } + credsName := credsList[0] + + roleCreds, err := requestCred(m.Client, credsName) + if err != nil { + return credentials.Value{ProviderName: ProviderName}, err + } + + m.SetExpiration(roleCreds.Expiration, m.ExpiryWindow) + + return credentials.Value{ + AccessKeyID: roleCreds.AccessKeyID, + SecretAccessKey: roleCreds.SecretAccessKey, + SessionToken: roleCreds.Token, + ProviderName: ProviderName, + }, nil +} + +// A ec2RoleCredRespBody provides the shape for unmarshaling credential +// request responses. +type ec2RoleCredRespBody struct { + // Success State + Expiration time.Time + AccessKeyID string + SecretAccessKey string + Token string + + // Error state + Code string + Message string +} + +const iamSecurityCredsPath = "/iam/security-credentials" + +// requestCredList requests a list of credentials from the EC2 service. +// If there are no credentials, or there is an error making or receiving the request +func requestCredList(client *ec2metadata.EC2Metadata) ([]string, error) { + resp, err := client.GetMetadata(iamSecurityCredsPath) + if err != nil { + return nil, awserr.New("EC2RoleRequestError", "no EC2 instance role found", err) + } + + credsList := []string{} + s := bufio.NewScanner(strings.NewReader(resp)) + for s.Scan() { + credsList = append(credsList, s.Text()) + } + + if err := s.Err(); err != nil { + return nil, awserr.New("SerializationError", "failed to read EC2 instance role from metadata service", err) + } + + return credsList, nil +} + +// requestCred requests the credentials for a specific credentials from the EC2 service. +// +// If the credentials cannot be found, or there is an error reading the response +// and error will be returned. +func requestCred(client *ec2metadata.EC2Metadata, credsName string) (ec2RoleCredRespBody, error) { + resp, err := client.GetMetadata(path.Join(iamSecurityCredsPath, credsName)) + if err != nil { + return ec2RoleCredRespBody{}, + awserr.New("EC2RoleRequestError", + fmt.Sprintf("failed to get %s EC2 instance role credentials", credsName), + err) + } + + respCreds := ec2RoleCredRespBody{} + if err := json.NewDecoder(strings.NewReader(resp)).Decode(&respCreds); err != nil { + return ec2RoleCredRespBody{}, + awserr.New("SerializationError", + fmt.Sprintf("failed to decode %s EC2 instance role credentials", credsName), + err) + } + + if respCreds.Code != "Success" { + // If an error code was returned something failed requesting the role. + return ec2RoleCredRespBody{}, awserr.New(respCreds.Code, respCreds.Message, nil) + } + + return respCreds, nil +} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/credentials/endpointcreds/provider.go b/vendor/github.com/aws/aws-sdk-go/aws/credentials/endpointcreds/provider.go new file mode 100644 index 0000000000..a4cec5c553 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/aws/credentials/endpointcreds/provider.go @@ -0,0 +1,191 @@ +// Package endpointcreds provides support for retrieving credentials from an +// arbitrary HTTP endpoint. +// +// The credentials endpoint Provider can receive both static and refreshable +// credentials that will expire. Credentials are static when an "Expiration" +// value is not provided in the endpoint's response. +// +// Static credentials will never expire once they have been retrieved. The format +// of the static credentials response: +// { +// "AccessKeyId" : "MUA...", +// "SecretAccessKey" : "/7PC5om....", +// } +// +// Refreshable credentials will expire within the "ExpiryWindow" of the Expiration +// value in the response. The format of the refreshable credentials response: +// { +// "AccessKeyId" : "MUA...", +// "SecretAccessKey" : "/7PC5om....", +// "Token" : "AQoDY....=", +// "Expiration" : "2016-02-25T06:03:31Z" +// } +// +// Errors should be returned in the following format and only returned with 400 +// or 500 HTTP status codes. +// { +// "code": "ErrorCode", +// "message": "Helpful error message." +// } +package endpointcreds + +import ( + "encoding/json" + "time" + + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/awserr" + "github.com/aws/aws-sdk-go/aws/client" + "github.com/aws/aws-sdk-go/aws/client/metadata" + "github.com/aws/aws-sdk-go/aws/credentials" + "github.com/aws/aws-sdk-go/aws/request" +) + +// ProviderName is the name of the credentials provider. +const ProviderName = `CredentialsEndpointProvider` + +// Provider satisfies the credentials.Provider interface, and is a client to +// retrieve credentials from an arbitrary endpoint. +type Provider struct { + staticCreds bool + credentials.Expiry + + // Requires a AWS Client to make HTTP requests to the endpoint with. + // the Endpoint the request will be made to is provided by the aws.Config's + // Endpoint value. + Client *client.Client + + // ExpiryWindow will allow the credentials to trigger refreshing prior to + // the credentials actually expiring. This is beneficial so race conditions + // with expiring credentials do not cause request to fail unexpectedly + // due to ExpiredTokenException exceptions. + // + // So a ExpiryWindow of 10s would cause calls to IsExpired() to return true + // 10 seconds before the credentials are actually expired. + // + // If ExpiryWindow is 0 or less it will be ignored. + ExpiryWindow time.Duration +} + +// NewProviderClient returns a credentials Provider for retrieving AWS credentials +// from arbitrary endpoint. +func NewProviderClient(cfg aws.Config, handlers request.Handlers, endpoint string, options ...func(*Provider)) credentials.Provider { + p := &Provider{ + Client: client.New( + cfg, + metadata.ClientInfo{ + ServiceName: "CredentialsEndpoint", + Endpoint: endpoint, + }, + handlers, + ), + } + + p.Client.Handlers.Unmarshal.PushBack(unmarshalHandler) + p.Client.Handlers.UnmarshalError.PushBack(unmarshalError) + p.Client.Handlers.Validate.Clear() + p.Client.Handlers.Validate.PushBack(validateEndpointHandler) + + for _, option := range options { + option(p) + } + + return p +} + +// NewCredentialsClient returns a Credentials wrapper for retrieving credentials +// from an arbitrary endpoint concurrently. The client will request the +func NewCredentialsClient(cfg aws.Config, handlers request.Handlers, endpoint string, options ...func(*Provider)) *credentials.Credentials { + return credentials.NewCredentials(NewProviderClient(cfg, handlers, endpoint, options...)) +} + +// IsExpired returns true if the credentials retrieved are expired, or not yet +// retrieved. +func (p *Provider) IsExpired() bool { + if p.staticCreds { + return false + } + return p.Expiry.IsExpired() +} + +// Retrieve will attempt to request the credentials from the endpoint the Provider +// was configured for. And error will be returned if the retrieval fails. +func (p *Provider) Retrieve() (credentials.Value, error) { + resp, err := p.getCredentials() + if err != nil { + return credentials.Value{ProviderName: ProviderName}, + awserr.New("CredentialsEndpointError", "failed to load credentials", err) + } + + if resp.Expiration != nil { + p.SetExpiration(*resp.Expiration, p.ExpiryWindow) + } else { + p.staticCreds = true + } + + return credentials.Value{ + AccessKeyID: resp.AccessKeyID, + SecretAccessKey: resp.SecretAccessKey, + SessionToken: resp.Token, + ProviderName: ProviderName, + }, nil +} + +type getCredentialsOutput struct { + Expiration *time.Time + AccessKeyID string + SecretAccessKey string + Token string +} + +type errorOutput struct { + Code string `json:"code"` + Message string `json:"message"` +} + +func (p *Provider) getCredentials() (*getCredentialsOutput, error) { + op := &request.Operation{ + Name: "GetCredentials", + HTTPMethod: "GET", + } + + out := &getCredentialsOutput{} + req := p.Client.NewRequest(op, nil, out) + req.HTTPRequest.Header.Set("Accept", "application/json") + + return out, req.Send() +} + +func validateEndpointHandler(r *request.Request) { + if len(r.ClientInfo.Endpoint) == 0 { + r.Error = aws.ErrMissingEndpoint + } +} + +func unmarshalHandler(r *request.Request) { + defer r.HTTPResponse.Body.Close() + + out := r.Data.(*getCredentialsOutput) + if err := json.NewDecoder(r.HTTPResponse.Body).Decode(&out); err != nil { + r.Error = awserr.New("SerializationError", + "failed to decode endpoint credentials", + err, + ) + } +} + +func unmarshalError(r *request.Request) { + defer r.HTTPResponse.Body.Close() + + var errOut errorOutput + if err := json.NewDecoder(r.HTTPResponse.Body).Decode(&errOut); err != nil { + r.Error = awserr.New("SerializationError", + "failed to decode endpoint credentials", + err, + ) + } + + // Response body format is not consistent between metadata endpoints. + // Grab the error message as a string and include that as the source error + r.Error = awserr.New(errOut.Code, errOut.Message, nil) +} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/credentials/env_provider.go b/vendor/github.com/aws/aws-sdk-go/aws/credentials/env_provider.go new file mode 100644 index 0000000000..96655bc46a --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/aws/credentials/env_provider.go @@ -0,0 +1,77 @@ +package credentials + +import ( + "os" + + "github.com/aws/aws-sdk-go/aws/awserr" +) + +// EnvProviderName provides a name of Env provider +const EnvProviderName = "EnvProvider" + +var ( + // ErrAccessKeyIDNotFound is returned when the AWS Access Key ID can't be + // found in the process's environment. + // + // @readonly + ErrAccessKeyIDNotFound = awserr.New("EnvAccessKeyNotFound", "AWS_ACCESS_KEY_ID or AWS_ACCESS_KEY not found in environment", nil) + + // ErrSecretAccessKeyNotFound is returned when the AWS Secret Access Key + // can't be found in the process's environment. + // + // @readonly + ErrSecretAccessKeyNotFound = awserr.New("EnvSecretNotFound", "AWS_SECRET_ACCESS_KEY or AWS_SECRET_KEY not found in environment", nil) +) + +// A EnvProvider retrieves credentials from the environment variables of the +// running process. Environment credentials never expire. +// +// Environment variables used: +// +// * Access Key ID: AWS_ACCESS_KEY_ID or AWS_ACCESS_KEY +// * Secret Access Key: AWS_SECRET_ACCESS_KEY or AWS_SECRET_KEY +type EnvProvider struct { + retrieved bool +} + +// NewEnvCredentials returns a pointer to a new Credentials object +// wrapping the environment variable provider. +func NewEnvCredentials() *Credentials { + return NewCredentials(&EnvProvider{}) +} + +// Retrieve retrieves the keys from the environment. +func (e *EnvProvider) Retrieve() (Value, error) { + e.retrieved = false + + id := os.Getenv("AWS_ACCESS_KEY_ID") + if id == "" { + id = os.Getenv("AWS_ACCESS_KEY") + } + + secret := os.Getenv("AWS_SECRET_ACCESS_KEY") + if secret == "" { + secret = os.Getenv("AWS_SECRET_KEY") + } + + if id == "" { + return Value{ProviderName: EnvProviderName}, ErrAccessKeyIDNotFound + } + + if secret == "" { + return Value{ProviderName: EnvProviderName}, ErrSecretAccessKeyNotFound + } + + e.retrieved = true + return Value{ + AccessKeyID: id, + SecretAccessKey: secret, + SessionToken: os.Getenv("AWS_SESSION_TOKEN"), + ProviderName: EnvProviderName, + }, nil +} + +// IsExpired returns if the credentials have been retrieved. +func (e *EnvProvider) IsExpired() bool { + return !e.retrieved +} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/credentials/example.ini b/vendor/github.com/aws/aws-sdk-go/aws/credentials/example.ini new file mode 100644 index 0000000000..7fc91d9d20 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/aws/credentials/example.ini @@ -0,0 +1,12 @@ +[default] +aws_access_key_id = accessKey +aws_secret_access_key = secret +aws_session_token = token + +[no_token] +aws_access_key_id = accessKey +aws_secret_access_key = secret + +[with_colon] +aws_access_key_id: accessKey +aws_secret_access_key: secret diff --git a/vendor/github.com/aws/aws-sdk-go/aws/credentials/shared_credentials_provider.go b/vendor/github.com/aws/aws-sdk-go/aws/credentials/shared_credentials_provider.go new file mode 100644 index 0000000000..7fb7cbf0db --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/aws/credentials/shared_credentials_provider.go @@ -0,0 +1,151 @@ +package credentials + +import ( + "fmt" + "os" + "path/filepath" + + "github.com/go-ini/ini" + + "github.com/aws/aws-sdk-go/aws/awserr" +) + +// SharedCredsProviderName provides a name of SharedCreds provider +const SharedCredsProviderName = "SharedCredentialsProvider" + +var ( + // ErrSharedCredentialsHomeNotFound is emitted when the user directory cannot be found. + // + // @readonly + ErrSharedCredentialsHomeNotFound = awserr.New("UserHomeNotFound", "user home directory not found.", nil) +) + +// A SharedCredentialsProvider retrieves credentials from the current user's home +// directory, and keeps track if those credentials are expired. +// +// Profile ini file example: $HOME/.aws/credentials +type SharedCredentialsProvider struct { + // Path to the shared credentials file. + // + // If empty will look for "AWS_SHARED_CREDENTIALS_FILE" env variable. If the + // env value is empty will default to current user's home directory. + // Linux/OSX: "$HOME/.aws/credentials" + // Windows: "%USERPROFILE%\.aws\credentials" + Filename string + + // AWS Profile to extract credentials from the shared credentials file. If empty + // will default to environment variable "AWS_PROFILE" or "default" if + // environment variable is also not set. + Profile string + + // retrieved states if the credentials have been successfully retrieved. + retrieved bool +} + +// NewSharedCredentials returns a pointer to a new Credentials object +// wrapping the Profile file provider. +func NewSharedCredentials(filename, profile string) *Credentials { + return NewCredentials(&SharedCredentialsProvider{ + Filename: filename, + Profile: profile, + }) +} + +// Retrieve reads and extracts the shared credentials from the current +// users home directory. +func (p *SharedCredentialsProvider) Retrieve() (Value, error) { + p.retrieved = false + + filename, err := p.filename() + if err != nil { + return Value{ProviderName: SharedCredsProviderName}, err + } + + creds, err := loadProfile(filename, p.profile()) + if err != nil { + return Value{ProviderName: SharedCredsProviderName}, err + } + + p.retrieved = true + return creds, nil +} + +// IsExpired returns if the shared credentials have expired. +func (p *SharedCredentialsProvider) IsExpired() bool { + return !p.retrieved +} + +// loadProfiles loads from the file pointed to by shared credentials filename for profile. +// The credentials retrieved from the profile will be returned or error. Error will be +// returned if it fails to read from the file, or the data is invalid. +func loadProfile(filename, profile string) (Value, error) { + config, err := ini.Load(filename) + if err != nil { + return Value{ProviderName: SharedCredsProviderName}, awserr.New("SharedCredsLoad", "failed to load shared credentials file", err) + } + iniProfile, err := config.GetSection(profile) + if err != nil { + return Value{ProviderName: SharedCredsProviderName}, awserr.New("SharedCredsLoad", "failed to get profile", err) + } + + id, err := iniProfile.GetKey("aws_access_key_id") + if err != nil { + return Value{ProviderName: SharedCredsProviderName}, awserr.New("SharedCredsAccessKey", + fmt.Sprintf("shared credentials %s in %s did not contain aws_access_key_id", profile, filename), + err) + } + + secret, err := iniProfile.GetKey("aws_secret_access_key") + if err != nil { + return Value{ProviderName: SharedCredsProviderName}, awserr.New("SharedCredsSecret", + fmt.Sprintf("shared credentials %s in %s did not contain aws_secret_access_key", profile, filename), + nil) + } + + // Default to empty string if not found + token := iniProfile.Key("aws_session_token") + + return Value{ + AccessKeyID: id.String(), + SecretAccessKey: secret.String(), + SessionToken: token.String(), + ProviderName: SharedCredsProviderName, + }, nil +} + +// filename returns the filename to use to read AWS shared credentials. +// +// Will return an error if the user's home directory path cannot be found. +func (p *SharedCredentialsProvider) filename() (string, error) { + if p.Filename == "" { + if p.Filename = os.Getenv("AWS_SHARED_CREDENTIALS_FILE"); p.Filename != "" { + return p.Filename, nil + } + + homeDir := os.Getenv("HOME") // *nix + if homeDir == "" { // Windows + homeDir = os.Getenv("USERPROFILE") + } + if homeDir == "" { + return "", ErrSharedCredentialsHomeNotFound + } + + p.Filename = filepath.Join(homeDir, ".aws", "credentials") + } + + return p.Filename, nil +} + +// profile returns the AWS shared credentials profile. If empty will read +// environment variable "AWS_PROFILE". If that is not set profile will +// return "default". +func (p *SharedCredentialsProvider) profile() string { + if p.Profile == "" { + p.Profile = os.Getenv("AWS_PROFILE") + } + if p.Profile == "" { + p.Profile = "default" + } + + return p.Profile +} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/credentials/static_provider.go b/vendor/github.com/aws/aws-sdk-go/aws/credentials/static_provider.go new file mode 100644 index 0000000000..4f5dab3fcc --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/aws/credentials/static_provider.go @@ -0,0 +1,57 @@ +package credentials + +import ( + "github.com/aws/aws-sdk-go/aws/awserr" +) + +// StaticProviderName provides a name of Static provider +const StaticProviderName = "StaticProvider" + +var ( + // ErrStaticCredentialsEmpty is emitted when static credentials are empty. + // + // @readonly + ErrStaticCredentialsEmpty = awserr.New("EmptyStaticCreds", "static credentials are empty", nil) +) + +// A StaticProvider is a set of credentials which are set programmatically, +// and will never expire. +type StaticProvider struct { + Value +} + +// NewStaticCredentials returns a pointer to a new Credentials object +// wrapping a static credentials value provider. +func NewStaticCredentials(id, secret, token string) *Credentials { + return NewCredentials(&StaticProvider{Value: Value{ + AccessKeyID: id, + SecretAccessKey: secret, + SessionToken: token, + }}) +} + +// NewStaticCredentialsFromCreds returns a pointer to a new Credentials object +// wrapping the static credentials value provide. Same as NewStaticCredentials +// but takes the creds Value instead of individual fields +func NewStaticCredentialsFromCreds(creds Value) *Credentials { + return NewCredentials(&StaticProvider{Value: creds}) +} + +// Retrieve returns the credentials or error if the credentials are invalid. +func (s *StaticProvider) Retrieve() (Value, error) { + if s.AccessKeyID == "" || s.SecretAccessKey == "" { + return Value{ProviderName: StaticProviderName}, ErrStaticCredentialsEmpty + } + + if len(s.Value.ProviderName) == 0 { + s.Value.ProviderName = StaticProviderName + } + return s.Value, nil +} + +// IsExpired returns if the credentials are expired. +// +// For StaticProvider, the credentials never expired. +func (s *StaticProvider) IsExpired() bool { + return false +} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/credentials/stscreds/assume_role_provider.go b/vendor/github.com/aws/aws-sdk-go/aws/credentials/stscreds/assume_role_provider.go new file mode 100644 index 0000000000..b84062332e --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/aws/credentials/stscreds/assume_role_provider.go @@ -0,0 +1,298 @@ +/* +Package stscreds are credential Providers to retrieve STS AWS credentials. + +STS provides multiple ways to retrieve credentials which can be used when making +future AWS service API operation calls. + +The SDK will ensure that per instance of credentials.Credentials all requests +to refresh the credentials will be synchronized. But, the SDK is unable to +ensure synchronous usage of the AssumeRoleProvider if the value is shared +between multiple Credentials, Sessions or service clients. + +Assume Role + +To assume an IAM role using STS with the SDK you can create a new Credentials +with the SDKs's stscreds package. + + // Initial credentials loaded from SDK's default credential chain. Such as + // the environment, shared credentials (~/.aws/credentials), or EC2 Instance + // Role. These credentials will be used to to make the STS Assume Role API. + sess := session.Must(session.NewSession()) + + // Create the credentials from AssumeRoleProvider to assume the role + // referenced by the "myRoleARN" ARN. + creds := stscreds.NewCredentials(sess, "myRoleArn") + + // Create service client value configured for credentials + // from assumed role. + svc := s3.New(sess, &aws.Config{Credentials: creds}) + +Assume Role with static MFA Token + +To assume an IAM role with a MFA token you can either specify a MFA token code +directly or provide a function to prompt the user each time the credentials +need to refresh the role's credentials. Specifying the TokenCode should be used +for short lived operations that will not need to be refreshed, and when you do +not want to have direct control over the user provides their MFA token. + +With TokenCode the AssumeRoleProvider will be not be able to refresh the role's +credentials. + + // Create the credentials from AssumeRoleProvider to assume the role + // referenced by the "myRoleARN" ARN using the MFA token code provided. + creds := stscreds.NewCredentials(sess, "myRoleArn", func(p *stscreds.AssumeRoleProvider) { + p.SerialNumber = aws.String("myTokenSerialNumber") + p.TokenCode = aws.String("00000000") + }) + + // Create service client value configured for credentials + // from assumed role. + svc := s3.New(sess, &aws.Config{Credentials: creds}) + +Assume Role with MFA Token Provider + +To assume an IAM role with MFA for longer running tasks where the credentials +may need to be refreshed setting the TokenProvider field of AssumeRoleProvider +will allow the credential provider to prompt for new MFA token code when the +role's credentials need to be refreshed. + +The StdinTokenProvider function is available to prompt on stdin to retrieve +the MFA token code from the user. You can also implement custom prompts by +satisfing the TokenProvider function signature. + +Using StdinTokenProvider with multiple AssumeRoleProviders, or Credentials will +have undesirable results as the StdinTokenProvider will not be synchronized. A +single Credentials with an AssumeRoleProvider can be shared safely. + + // Create the credentials from AssumeRoleProvider to assume the role + // referenced by the "myRoleARN" ARN. Prompting for MFA token from stdin. + creds := stscreds.NewCredentials(sess, "myRoleArn", func(p *stscreds.AssumeRoleProvider) { + p.SerialNumber = aws.String("myTokenSerialNumber") + p.TokenProvider = stscreds.StdinTokenProvider + }) + + // Create service client value configured for credentials + // from assumed role. + svc := s3.New(sess, &aws.Config{Credentials: creds}) + +*/ +package stscreds + +import ( + "fmt" + "time" + + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/awserr" + "github.com/aws/aws-sdk-go/aws/client" + "github.com/aws/aws-sdk-go/aws/credentials" + "github.com/aws/aws-sdk-go/service/sts" +) + +// StdinTokenProvider will prompt on stdout and read from stdin for a string value. +// An error is returned if reading from stdin fails. +// +// Use this function go read MFA tokens from stdin. The function makes no attempt +// to make atomic prompts from stdin across multiple gorouties. +// +// Using StdinTokenProvider with multiple AssumeRoleProviders, or Credentials will +// have undesirable results as the StdinTokenProvider will not be synchronized. A +// single Credentials with an AssumeRoleProvider can be shared safely +// +// Will wait forever until something is provided on the stdin. +func StdinTokenProvider() (string, error) { + var v string + fmt.Printf("Assume Role MFA token code: ") + _, err := fmt.Scanln(&v) + + return v, err +} + +// ProviderName provides a name of AssumeRole provider +const ProviderName = "AssumeRoleProvider" + +// AssumeRoler represents the minimal subset of the STS client API used by this provider. +type AssumeRoler interface { + AssumeRole(input *sts.AssumeRoleInput) (*sts.AssumeRoleOutput, error) +} + +// DefaultDuration is the default amount of time in minutes that the credentials +// will be valid for. +var DefaultDuration = time.Duration(15) * time.Minute + +// AssumeRoleProvider retrieves temporary credentials from the STS service, and +// keeps track of their expiration time. +// +// This credential provider will be used by the SDKs default credential change +// when shared configuration is enabled, and the shared config or shared credentials +// file configure assume role. See Session docs for how to do this. +// +// AssumeRoleProvider does not provide any synchronization and it is not safe +// to share this value across multiple Credentials, Sessions, or service clients +// without also sharing the same Credentials instance. +type AssumeRoleProvider struct { + credentials.Expiry + + // STS client to make assume role request with. + Client AssumeRoler + + // Role to be assumed. + RoleARN string + + // Session name, if you wish to reuse the credentials elsewhere. + RoleSessionName string + + // Expiry duration of the STS credentials. Defaults to 15 minutes if not set. + Duration time.Duration + + // Optional ExternalID to pass along, defaults to nil if not set. + ExternalID *string + + // The policy plain text must be 2048 bytes or shorter. However, an internal + // conversion compresses it into a packed binary format with a separate limit. + // The PackedPolicySize response element indicates by percentage how close to + // the upper size limit the policy is, with 100% equaling the maximum allowed + // size. + Policy *string + + // The identification number of the MFA device that is associated with the user + // who is making the AssumeRole call. Specify this value if the trust policy + // of the role being assumed includes a condition that requires MFA authentication. + // The value is either the serial number for a hardware device (such as GAHT12345678) + // or an Amazon Resource Name (ARN) for a virtual device (such as arn:aws:iam::123456789012:mfa/user). + SerialNumber *string + + // The value provided by the MFA device, if the trust policy of the role being + // assumed requires MFA (that is, if the policy includes a condition that tests + // for MFA). If the role being assumed requires MFA and if the TokenCode value + // is missing or expired, the AssumeRole call returns an "access denied" error. + // + // If SerialNumber is set and neither TokenCode nor TokenProvider are also + // set an error will be returned. + TokenCode *string + + // Async method of providing MFA token code for assuming an IAM role with MFA. + // The value returned by the function will be used as the TokenCode in the Retrieve + // call. See StdinTokenProvider for a provider that prompts and reads from stdin. + // + // This token provider will be called when ever the assumed role's + // credentials need to be refreshed when SerialNumber is also set and + // TokenCode is not set. + // + // If both TokenCode and TokenProvider is set, TokenProvider will be used and + // TokenCode is ignored. + TokenProvider func() (string, error) + + // ExpiryWindow will allow the credentials to trigger refreshing prior to + // the credentials actually expiring. This is beneficial so race conditions + // with expiring credentials do not cause request to fail unexpectedly + // due to ExpiredTokenException exceptions. + // + // So a ExpiryWindow of 10s would cause calls to IsExpired() to return true + // 10 seconds before the credentials are actually expired. + // + // If ExpiryWindow is 0 or less it will be ignored. + ExpiryWindow time.Duration +} + +// NewCredentials returns a pointer to a new Credentials object wrapping the +// AssumeRoleProvider. The credentials will expire every 15 minutes and the +// role will be named after a nanosecond timestamp of this operation. +// +// Takes a Config provider to create the STS client. The ConfigProvider is +// satisfied by the session.Session type. +// +// It is safe to share the returned Credentials with multiple Sessions and +// service clients. All access to the credentials and refreshing them +// will be synchronized. +func NewCredentials(c client.ConfigProvider, roleARN string, options ...func(*AssumeRoleProvider)) *credentials.Credentials { + p := &AssumeRoleProvider{ + Client: sts.New(c), + RoleARN: roleARN, + Duration: DefaultDuration, + } + + for _, option := range options { + option(p) + } + + return credentials.NewCredentials(p) +} + +// NewCredentialsWithClient returns a pointer to a new Credentials object wrapping the +// AssumeRoleProvider. The credentials will expire every 15 minutes and the +// role will be named after a nanosecond timestamp of this operation. +// +// Takes an AssumeRoler which can be satisfied by the STS client. +// +// It is safe to share the returned Credentials with multiple Sessions and +// service clients. All access to the credentials and refreshing them +// will be synchronized. +func NewCredentialsWithClient(svc AssumeRoler, roleARN string, options ...func(*AssumeRoleProvider)) *credentials.Credentials { + p := &AssumeRoleProvider{ + Client: svc, + RoleARN: roleARN, + Duration: DefaultDuration, + } + + for _, option := range options { + option(p) + } + + return credentials.NewCredentials(p) +} + +// Retrieve generates a new set of temporary credentials using STS. +func (p *AssumeRoleProvider) Retrieve() (credentials.Value, error) { + + // Apply defaults where parameters are not set. + if p.RoleSessionName == "" { + // Try to work out a role name that will hopefully end up unique. + p.RoleSessionName = fmt.Sprintf("%d", time.Now().UTC().UnixNano()) + } + if p.Duration == 0 { + // Expire as often as AWS permits. + p.Duration = DefaultDuration + } + input := &sts.AssumeRoleInput{ + DurationSeconds: aws.Int64(int64(p.Duration / time.Second)), + RoleArn: aws.String(p.RoleARN), + RoleSessionName: aws.String(p.RoleSessionName), + ExternalId: p.ExternalID, + } + if p.Policy != nil { + input.Policy = p.Policy + } + if p.SerialNumber != nil { + if p.TokenCode != nil { + input.SerialNumber = p.SerialNumber + input.TokenCode = p.TokenCode + } else if p.TokenProvider != nil { + input.SerialNumber = p.SerialNumber + code, err := p.TokenProvider() + if err != nil { + return credentials.Value{ProviderName: ProviderName}, err + } + input.TokenCode = aws.String(code) + } else { + return credentials.Value{ProviderName: ProviderName}, + awserr.New("AssumeRoleTokenNotAvailable", + "assume role with MFA enabled, but neither TokenCode nor TokenProvider are set", nil) + } + } + + roleOutput, err := p.Client.AssumeRole(input) + if err != nil { + return credentials.Value{ProviderName: ProviderName}, err + } + + // We will proactively generate new credentials before they expire. + p.SetExpiration(*roleOutput.Credentials.Expiration, p.ExpiryWindow) + + return credentials.Value{ + AccessKeyID: *roleOutput.Credentials.AccessKeyId, + SecretAccessKey: *roleOutput.Credentials.SecretAccessKey, + SessionToken: *roleOutput.Credentials.SessionToken, + ProviderName: ProviderName, + }, nil +} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/defaults/defaults.go b/vendor/github.com/aws/aws-sdk-go/aws/defaults/defaults.go new file mode 100644 index 0000000000..110ca8367d --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/aws/defaults/defaults.go @@ -0,0 +1,133 @@ +// Package defaults is a collection of helpers to retrieve the SDK's default +// configuration and handlers. +// +// Generally this package shouldn't be used directly, but session.Session +// instead. This package is useful when you need to reset the defaults +// of a session or service client to the SDK defaults before setting +// additional parameters. +package defaults + +import ( + "fmt" + "net/http" + "os" + "time" + + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/corehandlers" + "github.com/aws/aws-sdk-go/aws/credentials" + "github.com/aws/aws-sdk-go/aws/credentials/ec2rolecreds" + "github.com/aws/aws-sdk-go/aws/credentials/endpointcreds" + "github.com/aws/aws-sdk-go/aws/ec2metadata" + "github.com/aws/aws-sdk-go/aws/endpoints" + "github.com/aws/aws-sdk-go/aws/request" +) + +// A Defaults provides a collection of default values for SDK clients. +type Defaults struct { + Config *aws.Config + Handlers request.Handlers +} + +// Get returns the SDK's default values with Config and handlers pre-configured. +func Get() Defaults { + cfg := Config() + handlers := Handlers() + cfg.Credentials = CredChain(cfg, handlers) + + return Defaults{ + Config: cfg, + Handlers: handlers, + } +} + +// Config returns the default configuration without credentials. +// To retrieve a config with credentials also included use +// `defaults.Get().Config` instead. +// +// Generally you shouldn't need to use this method directly, but +// is available if you need to reset the configuration of an +// existing service client or session. +func Config() *aws.Config { + return aws.NewConfig(). + WithCredentials(credentials.AnonymousCredentials). + WithRegion(os.Getenv("AWS_REGION")). + WithHTTPClient(http.DefaultClient). + WithMaxRetries(aws.UseServiceDefaultRetries). + WithLogger(aws.NewDefaultLogger()). + WithLogLevel(aws.LogOff). + WithEndpointResolver(endpoints.DefaultResolver()) +} + +// Handlers returns the default request handlers. +// +// Generally you shouldn't need to use this method directly, but +// is available if you need to reset the request handlers of an +// existing service client or session. +func Handlers() request.Handlers { + var handlers request.Handlers + + handlers.Validate.PushBackNamed(corehandlers.ValidateEndpointHandler) + handlers.Validate.AfterEachFn = request.HandlerListStopOnError + handlers.Build.PushBackNamed(corehandlers.SDKVersionUserAgentHandler) + handlers.Build.AfterEachFn = request.HandlerListStopOnError + handlers.Sign.PushBackNamed(corehandlers.BuildContentLengthHandler) + handlers.Send.PushBackNamed(corehandlers.ValidateReqSigHandler) + handlers.Send.PushBackNamed(corehandlers.SendHandler) + handlers.AfterRetry.PushBackNamed(corehandlers.AfterRetryHandler) + handlers.ValidateResponse.PushBackNamed(corehandlers.ValidateResponseHandler) + + return handlers +} + +// CredChain returns the default credential chain. +// +// Generally you shouldn't need to use this method directly, but +// is available if you need to reset the credentials of an +// existing service client or session's Config. +func CredChain(cfg *aws.Config, handlers request.Handlers) *credentials.Credentials { + return credentials.NewCredentials(&credentials.ChainProvider{ + VerboseErrors: aws.BoolValue(cfg.CredentialsChainVerboseErrors), + Providers: []credentials.Provider{ + &credentials.EnvProvider{}, + &credentials.SharedCredentialsProvider{Filename: "", Profile: ""}, + RemoteCredProvider(*cfg, handlers), + }, + }) +} + +// RemoteCredProvider returns a credenitials provider for the default remote +// endpoints such as EC2 or ECS Roles. +func RemoteCredProvider(cfg aws.Config, handlers request.Handlers) credentials.Provider { + ecsCredURI := os.Getenv("AWS_CONTAINER_CREDENTIALS_RELATIVE_URI") + + if len(ecsCredURI) > 0 { + return ecsCredProvider(cfg, handlers, ecsCredURI) + } + + return ec2RoleProvider(cfg, handlers) +} + +func ecsCredProvider(cfg aws.Config, handlers request.Handlers, uri string) credentials.Provider { + const host = `169.254.170.2` + + return endpointcreds.NewProviderClient(cfg, handlers, + fmt.Sprintf("http://%s%s", host, uri), + func(p *endpointcreds.Provider) { + p.ExpiryWindow = 5 * time.Minute + }, + ) +} + +func ec2RoleProvider(cfg aws.Config, handlers request.Handlers) credentials.Provider { + resolver := cfg.EndpointResolver + if resolver == nil { + resolver = endpoints.DefaultResolver() + } + + e, _ := resolver.EndpointFor(endpoints.Ec2metadataServiceID, "") + return &ec2rolecreds.EC2RoleProvider{ + Client: ec2metadata.NewClient(cfg, handlers, e.URL, e.SigningRegion), + ExpiryWindow: 5 * time.Minute, + } +} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/ec2metadata/api.go b/vendor/github.com/aws/aws-sdk-go/aws/ec2metadata/api.go new file mode 100644 index 0000000000..984407a580 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/aws/ec2metadata/api.go @@ -0,0 +1,162 @@ +package ec2metadata + +import ( + "encoding/json" + "fmt" + "net/http" + "path" + "strings" + "time" + + "github.com/aws/aws-sdk-go/aws/awserr" + "github.com/aws/aws-sdk-go/aws/request" +) + +// GetMetadata uses the path provided to request information from the EC2 +// instance metdata service. The content will be returned as a string, or +// error if the request failed. +func (c *EC2Metadata) GetMetadata(p string) (string, error) { + op := &request.Operation{ + Name: "GetMetadata", + HTTPMethod: "GET", + HTTPPath: path.Join("/", "meta-data", p), + } + + output := &metadataOutput{} + req := c.NewRequest(op, nil, output) + + return output.Content, req.Send() +} + +// GetUserData returns the userdata that was configured for the service. If +// there is no user-data setup for the EC2 instance a "NotFoundError" error +// code will be returned. +func (c *EC2Metadata) GetUserData() (string, error) { + op := &request.Operation{ + Name: "GetUserData", + HTTPMethod: "GET", + HTTPPath: path.Join("/", "user-data"), + } + + output := &metadataOutput{} + req := c.NewRequest(op, nil, output) + req.Handlers.UnmarshalError.PushBack(func(r *request.Request) { + if r.HTTPResponse.StatusCode == http.StatusNotFound { + r.Error = awserr.New("NotFoundError", "user-data not found", r.Error) + } + }) + + return output.Content, req.Send() +} + +// GetDynamicData uses the path provided to request information from the EC2 +// instance metadata service for dynamic data. The content will be returned +// as a string, or error if the request failed. +func (c *EC2Metadata) GetDynamicData(p string) (string, error) { + op := &request.Operation{ + Name: "GetDynamicData", + HTTPMethod: "GET", + HTTPPath: path.Join("/", "dynamic", p), + } + + output := &metadataOutput{} + req := c.NewRequest(op, nil, output) + + return output.Content, req.Send() +} + +// GetInstanceIdentityDocument retrieves an identity document describing an +// instance. Error is returned if the request fails or is unable to parse +// the response. +func (c *EC2Metadata) GetInstanceIdentityDocument() (EC2InstanceIdentityDocument, error) { + resp, err := c.GetDynamicData("instance-identity/document") + if err != nil { + return EC2InstanceIdentityDocument{}, + awserr.New("EC2MetadataRequestError", + "failed to get EC2 instance identity document", err) + } + + doc := EC2InstanceIdentityDocument{} + if err := json.NewDecoder(strings.NewReader(resp)).Decode(&doc); err != nil { + return EC2InstanceIdentityDocument{}, + awserr.New("SerializationError", + "failed to decode EC2 instance identity document", err) + } + + return doc, nil +} + +// IAMInfo retrieves IAM info from the metadata API +func (c *EC2Metadata) IAMInfo() (EC2IAMInfo, error) { + resp, err := c.GetMetadata("iam/info") + if err != nil { + return EC2IAMInfo{}, + awserr.New("EC2MetadataRequestError", + "failed to get EC2 IAM info", err) + } + + info := EC2IAMInfo{} + if err := json.NewDecoder(strings.NewReader(resp)).Decode(&info); err != nil { + return EC2IAMInfo{}, + awserr.New("SerializationError", + "failed to decode EC2 IAM info", err) + } + + if info.Code != "Success" { + errMsg := fmt.Sprintf("failed to get EC2 IAM Info (%s)", info.Code) + return EC2IAMInfo{}, + awserr.New("EC2MetadataError", errMsg, nil) + } + + return info, nil +} + +// Region returns the region the instance is running in. +func (c *EC2Metadata) Region() (string, error) { + resp, err := c.GetMetadata("placement/availability-zone") + if err != nil { + return "", err + } + + // returns region without the suffix. Eg: us-west-2a becomes us-west-2 + return resp[:len(resp)-1], nil +} + +// Available returns if the application has access to the EC2 Metadata service. +// Can be used to determine if application is running within an EC2 Instance and +// the metadata service is available. +func (c *EC2Metadata) Available() bool { + if _, err := c.GetMetadata("instance-id"); err != nil { + return false + } + + return true +} + +// An EC2IAMInfo provides the shape for unmarshaling +// an IAM info from the metadata API +type EC2IAMInfo struct { + Code string + LastUpdated time.Time + InstanceProfileArn string + InstanceProfileID string +} + +// An EC2InstanceIdentityDocument provides the shape for unmarshaling +// an instance identity document +type EC2InstanceIdentityDocument struct { + DevpayProductCodes []string `json:"devpayProductCodes"` + AvailabilityZone string `json:"availabilityZone"` + PrivateIP string `json:"privateIp"` + Version string `json:"version"` + Region string `json:"region"` + InstanceID string `json:"instanceId"` + BillingProducts []string `json:"billingProducts"` + InstanceType string `json:"instanceType"` + AccountID string `json:"accountId"` + PendingTime time.Time `json:"pendingTime"` + ImageID string `json:"imageId"` + KernelID string `json:"kernelId"` + RamdiskID string `json:"ramdiskId"` + Architecture string `json:"architecture"` +} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/ec2metadata/service.go b/vendor/github.com/aws/aws-sdk-go/aws/ec2metadata/service.go new file mode 100644 index 0000000000..5b4379dbd8 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/aws/ec2metadata/service.go @@ -0,0 +1,124 @@ +// Package ec2metadata provides the client for making API calls to the +// EC2 Metadata service. +package ec2metadata + +import ( + "bytes" + "errors" + "io" + "net/http" + "time" + + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/awserr" + "github.com/aws/aws-sdk-go/aws/client" + "github.com/aws/aws-sdk-go/aws/client/metadata" + "github.com/aws/aws-sdk-go/aws/request" +) + +// ServiceName is the name of the service. +const ServiceName = "ec2metadata" + +// A EC2Metadata is an EC2 Metadata service Client. +type EC2Metadata struct { + *client.Client +} + +// New creates a new instance of the EC2Metadata client with a session. +// This client is safe to use across multiple goroutines. +// +// +// Example: +// // Create a EC2Metadata client from just a session. +// svc := ec2metadata.New(mySession) +// +// // Create a EC2Metadata client with additional configuration +// svc := ec2metadata.New(mySession, aws.NewConfig().WithLogLevel(aws.LogDebugHTTPBody)) +func New(p client.ConfigProvider, cfgs ...*aws.Config) *EC2Metadata { + c := p.ClientConfig(ServiceName, cfgs...) + return NewClient(*c.Config, c.Handlers, c.Endpoint, c.SigningRegion) +} + +// NewClient returns a new EC2Metadata client. Should be used to create +// a client when not using a session. Generally using just New with a session +// is preferred. +// +// If an unmodified HTTP client is provided from the stdlib default, or no client +// the EC2RoleProvider's EC2Metadata HTTP client's timeout will be shortened. +// To disable this set Config.EC2MetadataDisableTimeoutOverride to false. Enabled by default. +func NewClient(cfg aws.Config, handlers request.Handlers, endpoint, signingRegion string, opts ...func(*client.Client)) *EC2Metadata { + if !aws.BoolValue(cfg.EC2MetadataDisableTimeoutOverride) && httpClientZero(cfg.HTTPClient) { + // If the http client is unmodified and this feature is not disabled + // set custom timeouts for EC2Metadata requests. + cfg.HTTPClient = &http.Client{ + // use a shorter timeout than default because the metadata + // service is local if it is running, and to fail faster + // if not running on an ec2 instance. + Timeout: 5 * time.Second, + } + } + + svc := &EC2Metadata{ + Client: client.New( + cfg, + metadata.ClientInfo{ + ServiceName: ServiceName, + Endpoint: endpoint, + APIVersion: "latest", + }, + handlers, + ), + } + + svc.Handlers.Unmarshal.PushBack(unmarshalHandler) + svc.Handlers.UnmarshalError.PushBack(unmarshalError) + svc.Handlers.Validate.Clear() + svc.Handlers.Validate.PushBack(validateEndpointHandler) + + // Add additional options to the service config + for _, option := range opts { + option(svc.Client) + } + + return svc +} + +func httpClientZero(c *http.Client) bool { + return c == nil || (c.Transport == nil && c.CheckRedirect == nil && c.Jar == nil && c.Timeout == 0) +} + +type metadataOutput struct { + Content string +} + +func unmarshalHandler(r *request.Request) { + defer r.HTTPResponse.Body.Close() + b := &bytes.Buffer{} + if _, err := io.Copy(b, r.HTTPResponse.Body); err != nil { + r.Error = awserr.New("SerializationError", "unable to unmarshal EC2 metadata respose", err) + return + } + + if data, ok := r.Data.(*metadataOutput); ok { + data.Content = b.String() + } +} + +func unmarshalError(r *request.Request) { + defer r.HTTPResponse.Body.Close() + b := &bytes.Buffer{} + if _, err := io.Copy(b, r.HTTPResponse.Body); err != nil { + r.Error = awserr.New("SerializationError", "unable to unmarshal EC2 metadata error respose", err) + return + } + + // Response body format is not consistent between metadata endpoints. + // Grab the error message as a string and include that as the source error + r.Error = awserr.New("EC2MetadataError", "failed to make EC2Metadata request", errors.New(b.String())) +} + +func validateEndpointHandler(r *request.Request) { + if r.ClientInfo.Endpoint == "" { + r.Error = aws.ErrMissingEndpoint + } +} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/endpoints/decode.go b/vendor/github.com/aws/aws-sdk-go/aws/endpoints/decode.go new file mode 100644 index 0000000000..74f72de073 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/aws/endpoints/decode.go @@ -0,0 +1,133 @@ +package endpoints + +import ( + "encoding/json" + "fmt" + "io" + + "github.com/aws/aws-sdk-go/aws/awserr" +) + +type modelDefinition map[string]json.RawMessage + +// A DecodeModelOptions are the options for how the endpoints model definition +// are decoded. +type DecodeModelOptions struct { + SkipCustomizations bool +} + +// Set combines all of the option functions together. +func (d *DecodeModelOptions) Set(optFns ...func(*DecodeModelOptions)) { + for _, fn := range optFns { + fn(d) + } +} + +// DecodeModel unmarshals a Regions and Endpoint model definition file into +// a endpoint Resolver. If the file format is not supported, or an error occurs +// when unmarshaling the model an error will be returned. +// +// Casting the return value of this func to a EnumPartitions will +// allow you to get a list of the partitions in the order the endpoints +// will be resolved in. +// +// resolver, err := endpoints.DecodeModel(reader) +// +// partitions := resolver.(endpoints.EnumPartitions).Partitions() +// for _, p := range partitions { +// // ... inspect partitions +// } +func DecodeModel(r io.Reader, optFns ...func(*DecodeModelOptions)) (Resolver, error) { + var opts DecodeModelOptions + opts.Set(optFns...) + + // Get the version of the partition file to determine what + // unmarshaling model to use. + modelDef := modelDefinition{} + if err := json.NewDecoder(r).Decode(&modelDef); err != nil { + return nil, newDecodeModelError("failed to decode endpoints model", err) + } + + var version string + if b, ok := modelDef["version"]; ok { + version = string(b) + } else { + return nil, newDecodeModelError("endpoints version not found in model", nil) + } + + if version == "3" { + return decodeV3Endpoints(modelDef, opts) + } + + return nil, newDecodeModelError( + fmt.Sprintf("endpoints version %s, not supported", version), nil) +} + +func decodeV3Endpoints(modelDef modelDefinition, opts DecodeModelOptions) (Resolver, error) { + b, ok := modelDef["partitions"] + if !ok { + return nil, newDecodeModelError("endpoints model missing partitions", nil) + } + + ps := partitions{} + if err := json.Unmarshal(b, &ps); err != nil { + return nil, newDecodeModelError("failed to decode endpoints model", err) + } + + if opts.SkipCustomizations { + return ps, nil + } + + // Customization + for i := 0; i < len(ps); i++ { + p := &ps[i] + custAddEC2Metadata(p) + custAddS3DualStack(p) + custRmIotDataService(p) + } + + return ps, nil +} + +func custAddS3DualStack(p *partition) { + if p.ID != "aws" { + return + } + + s, ok := p.Services["s3"] + if !ok { + return + } + + s.Defaults.HasDualStack = boxedTrue + s.Defaults.DualStackHostname = "{service}.dualstack.{region}.{dnsSuffix}" + + p.Services["s3"] = s +} + +func custAddEC2Metadata(p *partition) { + p.Services["ec2metadata"] = service{ + IsRegionalized: boxedFalse, + PartitionEndpoint: "aws-global", + Endpoints: endpoints{ + "aws-global": endpoint{ + Hostname: "169.254.169.254/latest", + Protocols: []string{"http"}, + }, + }, + } +} + +func custRmIotDataService(p *partition) { + delete(p.Services, "data.iot") +} + +type decodeModelError struct { + awsError +} + +func newDecodeModelError(msg string, err error) decodeModelError { + return decodeModelError{ + awsError: awserr.New("DecodeEndpointsModelError", msg, err), + } +} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/endpoints/defaults.go b/vendor/github.com/aws/aws-sdk-go/aws/endpoints/defaults.go new file mode 100644 index 0000000000..4adca3a7f3 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/aws/endpoints/defaults.go @@ -0,0 +1,2132 @@ +// Code generated by aws/endpoints/v3model_codegen.go. DO NOT EDIT. + +package endpoints + +import ( + "regexp" +) + +// Partition identifiers +const ( + AwsPartitionID = "aws" // AWS Standard partition. + AwsCnPartitionID = "aws-cn" // AWS China partition. + AwsUsGovPartitionID = "aws-us-gov" // AWS GovCloud (US) partition. +) + +// AWS Standard partition's regions. +const ( + ApNortheast1RegionID = "ap-northeast-1" // Asia Pacific (Tokyo). + ApNortheast2RegionID = "ap-northeast-2" // Asia Pacific (Seoul). + ApSouth1RegionID = "ap-south-1" // Asia Pacific (Mumbai). + ApSoutheast1RegionID = "ap-southeast-1" // Asia Pacific (Singapore). + ApSoutheast2RegionID = "ap-southeast-2" // Asia Pacific (Sydney). + CaCentral1RegionID = "ca-central-1" // Canada (Central). + EuCentral1RegionID = "eu-central-1" // EU (Frankfurt). + EuWest1RegionID = "eu-west-1" // EU (Ireland). + EuWest2RegionID = "eu-west-2" // EU (London). + SaEast1RegionID = "sa-east-1" // South America (Sao Paulo). + UsEast1RegionID = "us-east-1" // US East (N. Virginia). + UsEast2RegionID = "us-east-2" // US East (Ohio). + UsWest1RegionID = "us-west-1" // US West (N. California). + UsWest2RegionID = "us-west-2" // US West (Oregon). +) + +// AWS China partition's regions. +const ( + CnNorth1RegionID = "cn-north-1" // China (Beijing). +) + +// AWS GovCloud (US) partition's regions. +const ( + UsGovWest1RegionID = "us-gov-west-1" // AWS GovCloud (US). +) + +// Service identifiers +const ( + AcmServiceID = "acm" // Acm. + ApigatewayServiceID = "apigateway" // Apigateway. + ApplicationAutoscalingServiceID = "application-autoscaling" // ApplicationAutoscaling. + Appstream2ServiceID = "appstream2" // Appstream2. + AutoscalingServiceID = "autoscaling" // Autoscaling. + BatchServiceID = "batch" // Batch. + BudgetsServiceID = "budgets" // Budgets. + ClouddirectoryServiceID = "clouddirectory" // Clouddirectory. + CloudformationServiceID = "cloudformation" // Cloudformation. + CloudfrontServiceID = "cloudfront" // Cloudfront. + CloudhsmServiceID = "cloudhsm" // Cloudhsm. + CloudsearchServiceID = "cloudsearch" // Cloudsearch. + CloudtrailServiceID = "cloudtrail" // Cloudtrail. + CodebuildServiceID = "codebuild" // Codebuild. + CodecommitServiceID = "codecommit" // Codecommit. + CodedeployServiceID = "codedeploy" // Codedeploy. + CodepipelineServiceID = "codepipeline" // Codepipeline. + CognitoIdentityServiceID = "cognito-identity" // CognitoIdentity. + CognitoIdpServiceID = "cognito-idp" // CognitoIdp. + CognitoSyncServiceID = "cognito-sync" // CognitoSync. + ConfigServiceID = "config" // Config. + CurServiceID = "cur" // Cur. + DatapipelineServiceID = "datapipeline" // Datapipeline. + DevicefarmServiceID = "devicefarm" // Devicefarm. + DirectconnectServiceID = "directconnect" // Directconnect. + DiscoveryServiceID = "discovery" // Discovery. + DmsServiceID = "dms" // Dms. + DsServiceID = "ds" // Ds. + DynamodbServiceID = "dynamodb" // Dynamodb. + Ec2ServiceID = "ec2" // Ec2. + Ec2metadataServiceID = "ec2metadata" // Ec2metadata. + EcrServiceID = "ecr" // Ecr. + EcsServiceID = "ecs" // Ecs. + ElasticacheServiceID = "elasticache" // Elasticache. + ElasticbeanstalkServiceID = "elasticbeanstalk" // Elasticbeanstalk. + ElasticfilesystemServiceID = "elasticfilesystem" // Elasticfilesystem. + ElasticloadbalancingServiceID = "elasticloadbalancing" // Elasticloadbalancing. + ElasticmapreduceServiceID = "elasticmapreduce" // Elasticmapreduce. + ElastictranscoderServiceID = "elastictranscoder" // Elastictranscoder. + EmailServiceID = "email" // Email. + EsServiceID = "es" // Es. + EventsServiceID = "events" // Events. + FirehoseServiceID = "firehose" // Firehose. + GameliftServiceID = "gamelift" // Gamelift. + GlacierServiceID = "glacier" // Glacier. + HealthServiceID = "health" // Health. + IamServiceID = "iam" // Iam. + ImportexportServiceID = "importexport" // Importexport. + InspectorServiceID = "inspector" // Inspector. + IotServiceID = "iot" // Iot. + KinesisServiceID = "kinesis" // Kinesis. + KinesisanalyticsServiceID = "kinesisanalytics" // Kinesisanalytics. + KmsServiceID = "kms" // Kms. + LambdaServiceID = "lambda" // Lambda. + LightsailServiceID = "lightsail" // Lightsail. + LogsServiceID = "logs" // Logs. + MachinelearningServiceID = "machinelearning" // Machinelearning. + MarketplacecommerceanalyticsServiceID = "marketplacecommerceanalytics" // Marketplacecommerceanalytics. + MeteringMarketplaceServiceID = "metering.marketplace" // MeteringMarketplace. + MobileanalyticsServiceID = "mobileanalytics" // Mobileanalytics. + MonitoringServiceID = "monitoring" // Monitoring. + MturkRequesterServiceID = "mturk-requester" // MturkRequester. + OpsworksServiceID = "opsworks" // Opsworks. + OpsworksCmServiceID = "opsworks-cm" // OpsworksCm. + OrganizationsServiceID = "organizations" // Organizations. + PinpointServiceID = "pinpoint" // Pinpoint. + PollyServiceID = "polly" // Polly. + RdsServiceID = "rds" // Rds. + RedshiftServiceID = "redshift" // Redshift. + RekognitionServiceID = "rekognition" // Rekognition. + Route53ServiceID = "route53" // Route53. + Route53domainsServiceID = "route53domains" // Route53domains. + RuntimeLexServiceID = "runtime.lex" // RuntimeLex. + S3ServiceID = "s3" // S3. + SdbServiceID = "sdb" // Sdb. + ServicecatalogServiceID = "servicecatalog" // Servicecatalog. + ShieldServiceID = "shield" // Shield. + SmsServiceID = "sms" // Sms. + SnowballServiceID = "snowball" // Snowball. + SnsServiceID = "sns" // Sns. + SqsServiceID = "sqs" // Sqs. + SsmServiceID = "ssm" // Ssm. + StatesServiceID = "states" // States. + StoragegatewayServiceID = "storagegateway" // Storagegateway. + StreamsDynamodbServiceID = "streams.dynamodb" // StreamsDynamodb. + StsServiceID = "sts" // Sts. + SupportServiceID = "support" // Support. + SwfServiceID = "swf" // Swf. + TaggingServiceID = "tagging" // Tagging. + WafServiceID = "waf" // Waf. + WafRegionalServiceID = "waf-regional" // WafRegional. + WorkdocsServiceID = "workdocs" // Workdocs. + WorkspacesServiceID = "workspaces" // Workspaces. + XrayServiceID = "xray" // Xray. +) + +// DefaultResolver returns an Endpoint resolver that will be able +// to resolve endpoints for: AWS Standard, AWS China, and AWS GovCloud (US). +// +// Casting the return value of this func to a EnumPartitions will +// allow you to get a list of the partitions in the order the endpoints +// will be resolved in. +// +// resolver := endpoints.DefaultResolver() +// partitions := resolver.(endpoints.EnumPartitions).Partitions() +// for _, p := range partitions { +// // ... inspect partitions +// } +func DefaultResolver() Resolver { + return defaultPartitions +} + +var defaultPartitions = partitions{ + awsPartition, + awscnPartition, + awsusgovPartition, +} + +// AwsPartition returns the Resolver for AWS Standard. +func AwsPartition() Partition { + return awsPartition.Partition() +} + +var awsPartition = partition{ + ID: "aws", + Name: "AWS Standard", + DNSSuffix: "amazonaws.com", + RegionRegex: regionRegex{ + Regexp: func() *regexp.Regexp { + reg, _ := regexp.Compile("^(us|eu|ap|sa|ca)\\-\\w+\\-\\d+$") + return reg + }(), + }, + Defaults: endpoint{ + Hostname: "{service}.{region}.{dnsSuffix}", + Protocols: []string{"https"}, + SignatureVersions: []string{"v4"}, + }, + Regions: regions{ + "ap-northeast-1": region{ + Description: "Asia Pacific (Tokyo)", + }, + "ap-northeast-2": region{ + Description: "Asia Pacific (Seoul)", + }, + "ap-south-1": region{ + Description: "Asia Pacific (Mumbai)", + }, + "ap-southeast-1": region{ + Description: "Asia Pacific (Singapore)", + }, + "ap-southeast-2": region{ + Description: "Asia Pacific (Sydney)", + }, + "ca-central-1": region{ + Description: "Canada (Central)", + }, + "eu-central-1": region{ + Description: "EU (Frankfurt)", + }, + "eu-west-1": region{ + Description: "EU (Ireland)", + }, + "eu-west-2": region{ + Description: "EU (London)", + }, + "sa-east-1": region{ + Description: "South America (Sao Paulo)", + }, + "us-east-1": region{ + Description: "US East (N. Virginia)", + }, + "us-east-2": region{ + Description: "US East (Ohio)", + }, + "us-west-1": region{ + Description: "US West (N. California)", + }, + "us-west-2": region{ + Description: "US West (Oregon)", + }, + }, + Services: services{ + "acm": service{ + + Endpoints: endpoints{ + "ap-northeast-1": endpoint{}, + "ap-northeast-2": endpoint{}, + "ap-south-1": endpoint{}, + "ap-southeast-1": endpoint{}, + "ap-southeast-2": endpoint{}, + "ca-central-1": endpoint{}, + "eu-central-1": endpoint{}, + "eu-west-1": endpoint{}, + "eu-west-2": endpoint{}, + "sa-east-1": endpoint{}, + "us-east-1": endpoint{}, + "us-east-2": endpoint{}, + "us-west-1": endpoint{}, + "us-west-2": endpoint{}, + }, + }, + "apigateway": service{ + + Endpoints: endpoints{ + "ap-northeast-1": endpoint{}, + "ap-northeast-2": endpoint{}, + "ap-south-1": endpoint{}, + "ap-southeast-1": endpoint{}, + "ap-southeast-2": endpoint{}, + "eu-central-1": endpoint{}, + "eu-west-1": endpoint{}, + "eu-west-2": endpoint{}, + "us-east-1": endpoint{}, + "us-east-2": endpoint{}, + "us-west-1": endpoint{}, + "us-west-2": endpoint{}, + }, + }, + "application-autoscaling": service{ + Defaults: endpoint{ + Hostname: "autoscaling.{region}.amazonaws.com", + Protocols: []string{"http", "https"}, + CredentialScope: credentialScope{ + Service: "application-autoscaling", + }, + }, + Endpoints: endpoints{ + "ap-northeast-1": endpoint{}, + "ap-northeast-2": endpoint{}, + "ap-south-1": endpoint{}, + "ap-southeast-1": endpoint{}, + "ap-southeast-2": endpoint{}, + "ca-central-1": endpoint{}, + "eu-central-1": endpoint{}, + "eu-west-1": endpoint{}, + "eu-west-2": endpoint{}, + "sa-east-1": endpoint{}, + "us-east-1": endpoint{}, + "us-east-2": endpoint{}, + "us-west-1": endpoint{}, + "us-west-2": endpoint{}, + }, + }, + "appstream2": service{ + Defaults: endpoint{ + Protocols: []string{"https"}, + CredentialScope: credentialScope{ + Service: "appstream", + }, + }, + Endpoints: endpoints{ + "ap-northeast-1": endpoint{}, + "eu-west-1": endpoint{}, + "us-east-1": endpoint{}, + "us-west-2": endpoint{}, + }, + }, + "autoscaling": service{ + Defaults: endpoint{ + Protocols: []string{"http", "https"}, + }, + Endpoints: endpoints{ + "ap-northeast-1": endpoint{}, + "ap-northeast-2": endpoint{}, + "ap-south-1": endpoint{}, + "ap-southeast-1": endpoint{}, + "ap-southeast-2": endpoint{}, + "ca-central-1": endpoint{}, + "eu-central-1": endpoint{}, + "eu-west-1": endpoint{}, + "eu-west-2": endpoint{}, + "sa-east-1": endpoint{}, + "us-east-1": endpoint{}, + "us-east-2": endpoint{}, + "us-west-1": endpoint{}, + "us-west-2": endpoint{}, + }, + }, + "batch": service{ + + Endpoints: endpoints{ + "us-east-1": endpoint{}, + }, + }, + "budgets": service{ + PartitionEndpoint: "aws-global", + IsRegionalized: boxedFalse, + + Endpoints: endpoints{ + "aws-global": endpoint{ + Hostname: "budgets.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-east-1", + }, + }, + }, + }, + "clouddirectory": service{ + + Endpoints: endpoints{ + "ap-southeast-1": endpoint{}, + "ap-southeast-2": endpoint{}, + "eu-west-1": endpoint{}, + "us-east-1": endpoint{}, + "us-east-2": endpoint{}, + "us-west-2": endpoint{}, + }, + }, + "cloudformation": service{ + + Endpoints: endpoints{ + "ap-northeast-1": endpoint{}, + "ap-northeast-2": endpoint{}, + "ap-south-1": endpoint{}, + "ap-southeast-1": endpoint{}, + "ap-southeast-2": endpoint{}, + "ca-central-1": endpoint{}, + "eu-central-1": endpoint{}, + "eu-west-1": endpoint{}, + "eu-west-2": endpoint{}, + "sa-east-1": endpoint{}, + "us-east-1": endpoint{}, + "us-east-2": endpoint{}, + "us-west-1": endpoint{}, + "us-west-2": endpoint{}, + }, + }, + "cloudfront": service{ + PartitionEndpoint: "aws-global", + IsRegionalized: boxedFalse, + + Endpoints: endpoints{ + "aws-global": endpoint{ + Hostname: "cloudfront.amazonaws.com", + Protocols: []string{"http", "https"}, + CredentialScope: credentialScope{ + Region: "us-east-1", + }, + }, + }, + }, + "cloudhsm": service{ + + Endpoints: endpoints{ + "ap-northeast-1": endpoint{}, + "ap-southeast-1": endpoint{}, + "ap-southeast-2": endpoint{}, + "ca-central-1": endpoint{}, + "eu-central-1": endpoint{}, + "eu-west-1": endpoint{}, + "us-east-1": endpoint{}, + "us-east-2": endpoint{}, + "us-west-1": endpoint{}, + "us-west-2": endpoint{}, + }, + }, + "cloudsearch": service{ + + Endpoints: endpoints{ + "ap-northeast-1": endpoint{}, + "ap-northeast-2": endpoint{}, + "ap-southeast-1": endpoint{}, + "ap-southeast-2": endpoint{}, + "eu-central-1": endpoint{}, + "eu-west-1": endpoint{}, + "sa-east-1": endpoint{}, + "us-east-1": endpoint{}, + "us-west-1": endpoint{}, + "us-west-2": endpoint{}, + }, + }, + "cloudtrail": service{ + + Endpoints: endpoints{ + "ap-northeast-1": endpoint{}, + "ap-northeast-2": endpoint{}, + "ap-south-1": endpoint{}, + "ap-southeast-1": endpoint{}, + "ap-southeast-2": endpoint{}, + "ca-central-1": endpoint{}, + "eu-central-1": endpoint{}, + "eu-west-1": endpoint{}, + "eu-west-2": endpoint{}, + "sa-east-1": endpoint{}, + "us-east-1": endpoint{}, + "us-east-2": endpoint{}, + "us-west-1": endpoint{}, + "us-west-2": endpoint{}, + }, + }, + "codebuild": service{ + + Endpoints: endpoints{ + "ap-northeast-1": endpoint{}, + "ap-southeast-1": endpoint{}, + "ap-southeast-2": endpoint{}, + "eu-central-1": endpoint{}, + "eu-west-1": endpoint{}, + "us-east-1": endpoint{}, + "us-east-2": endpoint{}, + "us-west-2": endpoint{}, + }, + }, + "codecommit": service{ + + Endpoints: endpoints{ + "eu-west-1": endpoint{}, + "us-east-1": endpoint{}, + "us-east-2": endpoint{}, + "us-west-2": endpoint{}, + }, + }, + "codedeploy": service{ + + Endpoints: endpoints{ + "ap-northeast-1": endpoint{}, + "ap-northeast-2": endpoint{}, + "ap-south-1": endpoint{}, + "ap-southeast-1": endpoint{}, + "ap-southeast-2": endpoint{}, + "ca-central-1": endpoint{}, + "eu-central-1": endpoint{}, + "eu-west-1": endpoint{}, + "eu-west-2": endpoint{}, + "sa-east-1": endpoint{}, + "us-east-1": endpoint{}, + "us-east-2": endpoint{}, + "us-west-1": endpoint{}, + "us-west-2": endpoint{}, + }, + }, + "codepipeline": service{ + + Endpoints: endpoints{ + "ap-northeast-1": endpoint{}, + "ap-southeast-1": endpoint{}, + "ap-southeast-2": endpoint{}, + "eu-central-1": endpoint{}, + "eu-west-1": endpoint{}, + "sa-east-1": endpoint{}, + "us-east-1": endpoint{}, + "us-east-2": endpoint{}, + "us-west-2": endpoint{}, + }, + }, + "cognito-identity": service{ + + Endpoints: endpoints{ + "ap-northeast-1": endpoint{}, + "ap-northeast-2": endpoint{}, + "ap-southeast-2": endpoint{}, + "eu-central-1": endpoint{}, + "eu-west-1": endpoint{}, + "eu-west-2": endpoint{}, + "us-east-1": endpoint{}, + "us-east-2": endpoint{}, + "us-west-2": endpoint{}, + }, + }, + "cognito-idp": service{ + + Endpoints: endpoints{ + "ap-northeast-1": endpoint{}, + "ap-northeast-2": endpoint{}, + "ap-southeast-2": endpoint{}, + "eu-central-1": endpoint{}, + "eu-west-1": endpoint{}, + "eu-west-2": endpoint{}, + "us-east-1": endpoint{}, + "us-east-2": endpoint{}, + "us-west-2": endpoint{}, + }, + }, + "cognito-sync": service{ + + Endpoints: endpoints{ + "ap-northeast-1": endpoint{}, + "ap-northeast-2": endpoint{}, + "ap-southeast-2": endpoint{}, + "eu-central-1": endpoint{}, + "eu-west-1": endpoint{}, + "eu-west-2": endpoint{}, + "us-east-1": endpoint{}, + "us-east-2": endpoint{}, + "us-west-2": endpoint{}, + }, + }, + "config": service{ + + Endpoints: endpoints{ + "ap-northeast-1": endpoint{}, + "ap-northeast-2": endpoint{}, + "ap-south-1": endpoint{}, + "ap-southeast-1": endpoint{}, + "ap-southeast-2": endpoint{}, + "ca-central-1": endpoint{}, + "eu-central-1": endpoint{}, + "eu-west-1": endpoint{}, + "eu-west-2": endpoint{}, + "sa-east-1": endpoint{}, + "us-east-1": endpoint{}, + "us-east-2": endpoint{}, + "us-west-1": endpoint{}, + "us-west-2": endpoint{}, + }, + }, + "cur": service{ + + Endpoints: endpoints{ + "us-east-1": endpoint{}, + }, + }, + "datapipeline": service{ + + Endpoints: endpoints{ + "ap-northeast-1": endpoint{}, + "ap-southeast-2": endpoint{}, + "eu-west-1": endpoint{}, + "us-east-1": endpoint{}, + "us-west-2": endpoint{}, + }, + }, + "devicefarm": service{ + + Endpoints: endpoints{ + "us-west-2": endpoint{}, + }, + }, + "directconnect": service{ + + Endpoints: endpoints{ + "ap-northeast-1": endpoint{}, + "ap-northeast-2": endpoint{}, + "ap-south-1": endpoint{}, + "ap-southeast-1": endpoint{}, + "ap-southeast-2": endpoint{}, + "ca-central-1": endpoint{}, + "eu-central-1": endpoint{}, + "eu-west-1": endpoint{}, + "eu-west-2": endpoint{}, + "sa-east-1": endpoint{}, + "us-east-1": endpoint{}, + "us-east-2": endpoint{}, + "us-west-1": endpoint{}, + "us-west-2": endpoint{}, + }, + }, + "discovery": service{ + + Endpoints: endpoints{ + "us-west-2": endpoint{}, + }, + }, + "dms": service{ + + Endpoints: endpoints{ + "ap-northeast-1": endpoint{}, + "ap-northeast-2": endpoint{}, + "ap-south-1": endpoint{}, + "ap-southeast-1": endpoint{}, + "ap-southeast-2": endpoint{}, + "ca-central-1": endpoint{}, + "eu-central-1": endpoint{}, + "eu-west-1": endpoint{}, + "eu-west-2": endpoint{}, + "sa-east-1": endpoint{}, + "us-east-1": endpoint{}, + "us-east-2": endpoint{}, + "us-west-1": endpoint{}, + "us-west-2": endpoint{}, + }, + }, + "ds": service{ + + Endpoints: endpoints{ + "ap-northeast-1": endpoint{}, + "ap-southeast-1": endpoint{}, + "ap-southeast-2": endpoint{}, + "eu-central-1": endpoint{}, + "eu-west-1": endpoint{}, + "us-east-1": endpoint{}, + "us-west-2": endpoint{}, + }, + }, + "dynamodb": service{ + Defaults: endpoint{ + Protocols: []string{"http", "https"}, + }, + Endpoints: endpoints{ + "ap-northeast-1": endpoint{}, + "ap-northeast-2": endpoint{}, + "ap-south-1": endpoint{}, + "ap-southeast-1": endpoint{}, + "ap-southeast-2": endpoint{}, + "ca-central-1": endpoint{}, + "eu-central-1": endpoint{}, + "eu-west-1": endpoint{}, + "eu-west-2": endpoint{}, + "local": endpoint{ + Hostname: "localhost:8000", + Protocols: []string{"http"}, + CredentialScope: credentialScope{ + Region: "us-east-1", + }, + }, + "sa-east-1": endpoint{}, + "us-east-1": endpoint{}, + "us-east-2": endpoint{}, + "us-west-1": endpoint{}, + "us-west-2": endpoint{}, + }, + }, + "ec2": service{ + Defaults: endpoint{ + Protocols: []string{"http", "https"}, + }, + Endpoints: endpoints{ + "ap-northeast-1": endpoint{}, + "ap-northeast-2": endpoint{}, + "ap-south-1": endpoint{}, + "ap-southeast-1": endpoint{}, + "ap-southeast-2": endpoint{}, + "ca-central-1": endpoint{}, + "eu-central-1": endpoint{}, + "eu-west-1": endpoint{}, + "eu-west-2": endpoint{}, + "sa-east-1": endpoint{}, + "us-east-1": endpoint{}, + "us-east-2": endpoint{}, + "us-west-1": endpoint{}, + "us-west-2": endpoint{}, + }, + }, + "ec2metadata": service{ + PartitionEndpoint: "aws-global", + IsRegionalized: boxedFalse, + + Endpoints: endpoints{ + "aws-global": endpoint{ + Hostname: "169.254.169.254/latest", + Protocols: []string{"http"}, + }, + }, + }, + "ecr": service{ + + Endpoints: endpoints{ + "ap-northeast-1": endpoint{}, + "ap-southeast-1": endpoint{}, + "ap-southeast-2": endpoint{}, + "ca-central-1": endpoint{}, + "eu-central-1": endpoint{}, + "eu-west-1": endpoint{}, + "eu-west-2": endpoint{}, + "us-east-1": endpoint{}, + "us-east-2": endpoint{}, + "us-west-1": endpoint{}, + "us-west-2": endpoint{}, + }, + }, + "ecs": service{ + + Endpoints: endpoints{ + "ap-northeast-1": endpoint{}, + "ap-southeast-1": endpoint{}, + "ap-southeast-2": endpoint{}, + "ca-central-1": endpoint{}, + "eu-central-1": endpoint{}, + "eu-west-1": endpoint{}, + "eu-west-2": endpoint{}, + "us-east-1": endpoint{}, + "us-east-2": endpoint{}, + "us-west-1": endpoint{}, + "us-west-2": endpoint{}, + }, + }, + "elasticache": service{ + + Endpoints: endpoints{ + "ap-northeast-1": endpoint{}, + "ap-northeast-2": endpoint{}, + "ap-south-1": endpoint{}, + "ap-southeast-1": endpoint{}, + "ap-southeast-2": endpoint{}, + "ca-central-1": endpoint{}, + "eu-central-1": endpoint{}, + "eu-west-1": endpoint{}, + "eu-west-2": endpoint{}, + "sa-east-1": endpoint{}, + "us-east-1": endpoint{}, + "us-east-2": endpoint{}, + "us-west-1": endpoint{}, + "us-west-2": endpoint{}, + }, + }, + "elasticbeanstalk": service{ + + Endpoints: endpoints{ + "ap-northeast-1": endpoint{}, + "ap-northeast-2": endpoint{}, + "ap-south-1": endpoint{}, + "ap-southeast-1": endpoint{}, + "ap-southeast-2": endpoint{}, + "ca-central-1": endpoint{}, + "eu-central-1": endpoint{}, + "eu-west-1": endpoint{}, + "eu-west-2": endpoint{}, + "sa-east-1": endpoint{}, + "us-east-1": endpoint{}, + "us-east-2": endpoint{}, + "us-west-1": endpoint{}, + "us-west-2": endpoint{}, + }, + }, + "elasticfilesystem": service{ + + Endpoints: endpoints{ + "ap-southeast-2": endpoint{}, + "eu-west-1": endpoint{}, + "us-east-1": endpoint{}, + "us-east-2": endpoint{}, + "us-west-2": endpoint{}, + }, + }, + "elasticloadbalancing": service{ + Defaults: endpoint{ + Protocols: []string{"http", "https"}, + }, + Endpoints: endpoints{ + "ap-northeast-1": endpoint{}, + "ap-northeast-2": endpoint{}, + "ap-south-1": endpoint{}, + "ap-southeast-1": endpoint{}, + "ap-southeast-2": endpoint{}, + "ca-central-1": endpoint{}, + "eu-central-1": endpoint{}, + "eu-west-1": endpoint{}, + "eu-west-2": endpoint{}, + "sa-east-1": endpoint{}, + "us-east-1": endpoint{}, + "us-east-2": endpoint{}, + "us-west-1": endpoint{}, + "us-west-2": endpoint{}, + }, + }, + "elasticmapreduce": service{ + Defaults: endpoint{ + SSLCommonName: "{region}.{service}.{dnsSuffix}", + Protocols: []string{"http", "https"}, + }, + Endpoints: endpoints{ + "ap-northeast-1": endpoint{}, + "ap-northeast-2": endpoint{}, + "ap-south-1": endpoint{}, + "ap-southeast-1": endpoint{}, + "ap-southeast-2": endpoint{}, + "ca-central-1": endpoint{}, + "eu-central-1": endpoint{ + SSLCommonName: "{service}.{region}.{dnsSuffix}", + }, + "eu-west-1": endpoint{}, + "eu-west-2": endpoint{}, + "sa-east-1": endpoint{}, + "us-east-1": endpoint{ + SSLCommonName: "{service}.{region}.{dnsSuffix}", + }, + "us-east-2": endpoint{}, + "us-west-1": endpoint{}, + "us-west-2": endpoint{}, + }, + }, + "elastictranscoder": service{ + + Endpoints: endpoints{ + "ap-northeast-1": endpoint{}, + "ap-south-1": endpoint{}, + "ap-southeast-1": endpoint{}, + "ap-southeast-2": endpoint{}, + "eu-west-1": endpoint{}, + "us-east-1": endpoint{}, + "us-west-1": endpoint{}, + "us-west-2": endpoint{}, + }, + }, + "email": service{ + + Endpoints: endpoints{ + "eu-west-1": endpoint{}, + "us-east-1": endpoint{}, + "us-west-2": endpoint{}, + }, + }, + "es": service{ + + Endpoints: endpoints{ + "ap-northeast-1": endpoint{}, + "ap-northeast-2": endpoint{}, + "ap-south-1": endpoint{}, + "ap-southeast-1": endpoint{}, + "ap-southeast-2": endpoint{}, + "eu-central-1": endpoint{}, + "eu-west-1": endpoint{}, + "sa-east-1": endpoint{}, + "us-east-1": endpoint{}, + "us-east-2": endpoint{}, + "us-west-1": endpoint{}, + "us-west-2": endpoint{}, + }, + }, + "events": service{ + + Endpoints: endpoints{ + "ap-northeast-1": endpoint{}, + "ap-northeast-2": endpoint{}, + "ap-south-1": endpoint{}, + "ap-southeast-1": endpoint{}, + "ap-southeast-2": endpoint{}, + "ca-central-1": endpoint{}, + "eu-central-1": endpoint{}, + "eu-west-1": endpoint{}, + "eu-west-2": endpoint{}, + "sa-east-1": endpoint{}, + "us-east-1": endpoint{}, + "us-east-2": endpoint{}, + "us-west-1": endpoint{}, + "us-west-2": endpoint{}, + }, + }, + "firehose": service{ + + Endpoints: endpoints{ + "eu-west-1": endpoint{}, + "us-east-1": endpoint{}, + "us-west-2": endpoint{}, + }, + }, + "gamelift": service{ + + Endpoints: endpoints{ + "ap-northeast-1": endpoint{}, + "ap-northeast-2": endpoint{}, + "ap-south-1": endpoint{}, + "ap-southeast-1": endpoint{}, + "eu-central-1": endpoint{}, + "eu-west-1": endpoint{}, + "sa-east-1": endpoint{}, + "us-east-1": endpoint{}, + "us-west-2": endpoint{}, + }, + }, + "glacier": service{ + Defaults: endpoint{ + Protocols: []string{"http", "https"}, + }, + Endpoints: endpoints{ + "ap-northeast-1": endpoint{}, + "ap-northeast-2": endpoint{}, + "ap-south-1": endpoint{}, + "ap-southeast-2": endpoint{}, + "ca-central-1": endpoint{}, + "eu-central-1": endpoint{}, + "eu-west-1": endpoint{}, + "eu-west-2": endpoint{}, + "us-east-1": endpoint{}, + "us-east-2": endpoint{}, + "us-west-1": endpoint{}, + "us-west-2": endpoint{}, + }, + }, + "health": service{ + + Endpoints: endpoints{ + "us-east-1": endpoint{}, + }, + }, + "iam": service{ + PartitionEndpoint: "aws-global", + IsRegionalized: boxedFalse, + + Endpoints: endpoints{ + "aws-global": endpoint{ + Hostname: "iam.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-east-1", + }, + }, + }, + }, + "importexport": service{ + PartitionEndpoint: "aws-global", + IsRegionalized: boxedFalse, + + Endpoints: endpoints{ + "aws-global": endpoint{ + Hostname: "importexport.amazonaws.com", + SignatureVersions: []string{"v2", "v4"}, + CredentialScope: credentialScope{ + Region: "us-east-1", + Service: "IngestionService", + }, + }, + }, + }, + "inspector": service{ + + Endpoints: endpoints{ + "ap-northeast-1": endpoint{}, + "ap-northeast-2": endpoint{}, + "ap-south-1": endpoint{}, + "ap-southeast-2": endpoint{}, + "eu-west-1": endpoint{}, + "us-east-1": endpoint{}, + "us-west-2": endpoint{}, + }, + }, + "iot": service{ + Defaults: endpoint{ + CredentialScope: credentialScope{ + Service: "execute-api", + }, + }, + Endpoints: endpoints{ + "ap-northeast-1": endpoint{}, + "ap-northeast-2": endpoint{}, + "ap-southeast-1": endpoint{}, + "ap-southeast-2": endpoint{}, + "eu-central-1": endpoint{}, + "eu-west-1": endpoint{}, + "eu-west-2": endpoint{}, + "us-east-1": endpoint{}, + "us-east-2": endpoint{}, + "us-west-2": endpoint{}, + }, + }, + "kinesis": service{ + + Endpoints: endpoints{ + "ap-northeast-1": endpoint{}, + "ap-northeast-2": endpoint{}, + "ap-south-1": endpoint{}, + "ap-southeast-1": endpoint{}, + "ap-southeast-2": endpoint{}, + "ca-central-1": endpoint{}, + "eu-central-1": endpoint{}, + "eu-west-1": endpoint{}, + "eu-west-2": endpoint{}, + "sa-east-1": endpoint{}, + "us-east-1": endpoint{}, + "us-east-2": endpoint{}, + "us-west-1": endpoint{}, + "us-west-2": endpoint{}, + }, + }, + "kinesisanalytics": service{ + + Endpoints: endpoints{ + "eu-west-1": endpoint{}, + "us-east-1": endpoint{}, + "us-west-2": endpoint{}, + }, + }, + "kms": service{ + + Endpoints: endpoints{ + "ap-northeast-1": endpoint{}, + "ap-northeast-2": endpoint{}, + "ap-south-1": endpoint{}, + "ap-southeast-1": endpoint{}, + "ap-southeast-2": endpoint{}, + "ca-central-1": endpoint{}, + "eu-central-1": endpoint{}, + "eu-west-1": endpoint{}, + "eu-west-2": endpoint{}, + "sa-east-1": endpoint{}, + "us-east-1": endpoint{}, + "us-east-2": endpoint{}, + "us-west-1": endpoint{}, + "us-west-2": endpoint{}, + }, + }, + "lambda": service{ + + Endpoints: endpoints{ + "ap-northeast-1": endpoint{}, + "ap-northeast-2": endpoint{}, + "ap-south-1": endpoint{}, + "ap-southeast-1": endpoint{}, + "ap-southeast-2": endpoint{}, + "eu-central-1": endpoint{}, + "eu-west-1": endpoint{}, + "eu-west-2": endpoint{}, + "us-east-1": endpoint{}, + "us-east-2": endpoint{}, + "us-west-1": endpoint{}, + "us-west-2": endpoint{}, + }, + }, + "lightsail": service{ + + Endpoints: endpoints{ + "us-east-1": endpoint{}, + }, + }, + "logs": service{ + + Endpoints: endpoints{ + "ap-northeast-1": endpoint{}, + "ap-northeast-2": endpoint{}, + "ap-south-1": endpoint{}, + "ap-southeast-1": endpoint{}, + "ap-southeast-2": endpoint{}, + "ca-central-1": endpoint{}, + "eu-central-1": endpoint{}, + "eu-west-1": endpoint{}, + "eu-west-2": endpoint{}, + "sa-east-1": endpoint{}, + "us-east-1": endpoint{}, + "us-east-2": endpoint{}, + "us-west-1": endpoint{}, + "us-west-2": endpoint{}, + }, + }, + "machinelearning": service{ + + Endpoints: endpoints{ + "eu-west-1": endpoint{}, + "us-east-1": endpoint{}, + }, + }, + "marketplacecommerceanalytics": service{ + + Endpoints: endpoints{ + "us-east-1": endpoint{}, + }, + }, + "metering.marketplace": service{ + Defaults: endpoint{ + CredentialScope: credentialScope{ + Service: "aws-marketplace", + }, + }, + Endpoints: endpoints{ + "ap-northeast-1": endpoint{}, + "ap-northeast-2": endpoint{}, + "ap-south-1": endpoint{}, + "ap-southeast-1": endpoint{}, + "ap-southeast-2": endpoint{}, + "ca-central-1": endpoint{}, + "eu-central-1": endpoint{}, + "eu-west-1": endpoint{}, + "eu-west-2": endpoint{}, + "sa-east-1": endpoint{}, + "us-east-1": endpoint{}, + "us-east-2": endpoint{}, + "us-west-1": endpoint{}, + "us-west-2": endpoint{}, + }, + }, + "mobileanalytics": service{ + + Endpoints: endpoints{ + "us-east-1": endpoint{}, + }, + }, + "monitoring": service{ + Defaults: endpoint{ + Protocols: []string{"http", "https"}, + }, + Endpoints: endpoints{ + "ap-northeast-1": endpoint{}, + "ap-northeast-2": endpoint{}, + "ap-south-1": endpoint{}, + "ap-southeast-1": endpoint{}, + "ap-southeast-2": endpoint{}, + "ca-central-1": endpoint{}, + "eu-central-1": endpoint{}, + "eu-west-1": endpoint{}, + "eu-west-2": endpoint{}, + "sa-east-1": endpoint{}, + "us-east-1": endpoint{}, + "us-east-2": endpoint{}, + "us-west-1": endpoint{}, + "us-west-2": endpoint{}, + }, + }, + "mturk-requester": service{ + IsRegionalized: boxedFalse, + + Endpoints: endpoints{ + "sandbox": endpoint{ + Hostname: "mturk-requester-sandbox.us-east-1.amazonaws.com", + }, + "us-east-1": endpoint{}, + }, + }, + "opsworks": service{ + + Endpoints: endpoints{ + "ap-northeast-1": endpoint{}, + "ap-northeast-2": endpoint{}, + "ap-south-1": endpoint{}, + "ap-southeast-1": endpoint{}, + "ap-southeast-2": endpoint{}, + "eu-central-1": endpoint{}, + "eu-west-1": endpoint{}, + "eu-west-2": endpoint{}, + "sa-east-1": endpoint{}, + "us-east-1": endpoint{}, + "us-east-2": endpoint{}, + "us-west-1": endpoint{}, + "us-west-2": endpoint{}, + }, + }, + "opsworks-cm": service{ + + Endpoints: endpoints{ + "eu-west-1": endpoint{}, + "us-east-1": endpoint{}, + "us-west-2": endpoint{}, + }, + }, + "organizations": service{ + PartitionEndpoint: "aws-global", + IsRegionalized: boxedFalse, + + Endpoints: endpoints{ + "aws-global": endpoint{ + Hostname: "organizations.us-east-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-east-1", + }, + }, + }, + }, + "pinpoint": service{ + Defaults: endpoint{ + CredentialScope: credentialScope{ + Service: "mobiletargeting", + }, + }, + Endpoints: endpoints{ + "us-east-1": endpoint{}, + }, + }, + "polly": service{ + + Endpoints: endpoints{ + "eu-west-1": endpoint{}, + "us-east-1": endpoint{}, + "us-east-2": endpoint{}, + "us-west-2": endpoint{}, + }, + }, + "rds": service{ + + Endpoints: endpoints{ + "ap-northeast-1": endpoint{}, + "ap-northeast-2": endpoint{}, + "ap-south-1": endpoint{}, + "ap-southeast-1": endpoint{}, + "ap-southeast-2": endpoint{}, + "ca-central-1": endpoint{}, + "eu-central-1": endpoint{}, + "eu-west-1": endpoint{}, + "eu-west-2": endpoint{}, + "sa-east-1": endpoint{}, + "us-east-1": endpoint{ + SSLCommonName: "{service}.{dnsSuffix}", + }, + "us-east-2": endpoint{}, + "us-west-1": endpoint{}, + "us-west-2": endpoint{}, + }, + }, + "redshift": service{ + + Endpoints: endpoints{ + "ap-northeast-1": endpoint{}, + "ap-northeast-2": endpoint{}, + "ap-south-1": endpoint{}, + "ap-southeast-1": endpoint{}, + "ap-southeast-2": endpoint{}, + "ca-central-1": endpoint{}, + "eu-central-1": endpoint{}, + "eu-west-1": endpoint{}, + "eu-west-2": endpoint{}, + "sa-east-1": endpoint{}, + "us-east-1": endpoint{}, + "us-east-2": endpoint{}, + "us-west-1": endpoint{}, + "us-west-2": endpoint{}, + }, + }, + "rekognition": service{ + + Endpoints: endpoints{ + "eu-west-1": endpoint{}, + "us-east-1": endpoint{}, + "us-west-2": endpoint{}, + }, + }, + "route53": service{ + PartitionEndpoint: "aws-global", + IsRegionalized: boxedFalse, + + Endpoints: endpoints{ + "aws-global": endpoint{ + Hostname: "route53.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-east-1", + }, + }, + }, + }, + "route53domains": service{ + + Endpoints: endpoints{ + "us-east-1": endpoint{}, + }, + }, + "runtime.lex": service{ + Defaults: endpoint{ + CredentialScope: credentialScope{ + Service: "lex", + }, + }, + Endpoints: endpoints{ + "us-east-1": endpoint{}, + }, + }, + "s3": service{ + PartitionEndpoint: "us-east-1", + IsRegionalized: boxedTrue, + Defaults: endpoint{ + Protocols: []string{"http", "https"}, + SignatureVersions: []string{"s3v4"}, + + HasDualStack: boxedTrue, + DualStackHostname: "{service}.dualstack.{region}.{dnsSuffix}", + }, + Endpoints: endpoints{ + "ap-northeast-1": endpoint{ + Hostname: "s3-ap-northeast-1.amazonaws.com", + SignatureVersions: []string{"s3", "s3v4"}, + }, + "ap-northeast-2": endpoint{}, + "ap-south-1": endpoint{}, + "ap-southeast-1": endpoint{ + Hostname: "s3-ap-southeast-1.amazonaws.com", + SignatureVersions: []string{"s3", "s3v4"}, + }, + "ap-southeast-2": endpoint{ + Hostname: "s3-ap-southeast-2.amazonaws.com", + SignatureVersions: []string{"s3", "s3v4"}, + }, + "ca-central-1": endpoint{}, + "eu-central-1": endpoint{}, + "eu-west-1": endpoint{ + Hostname: "s3-eu-west-1.amazonaws.com", + SignatureVersions: []string{"s3", "s3v4"}, + }, + "eu-west-2": endpoint{}, + "s3-external-1": endpoint{ + Hostname: "s3-external-1.amazonaws.com", + SignatureVersions: []string{"s3", "s3v4"}, + CredentialScope: credentialScope{ + Region: "us-east-1", + }, + }, + "sa-east-1": endpoint{ + Hostname: "s3-sa-east-1.amazonaws.com", + SignatureVersions: []string{"s3", "s3v4"}, + }, + "us-east-1": endpoint{ + Hostname: "s3.amazonaws.com", + SignatureVersions: []string{"s3", "s3v4"}, + }, + "us-east-2": endpoint{}, + "us-west-1": endpoint{ + Hostname: "s3-us-west-1.amazonaws.com", + SignatureVersions: []string{"s3", "s3v4"}, + }, + "us-west-2": endpoint{ + Hostname: "s3-us-west-2.amazonaws.com", + SignatureVersions: []string{"s3", "s3v4"}, + }, + }, + }, + "sdb": service{ + Defaults: endpoint{ + Protocols: []string{"http", "https"}, + SignatureVersions: []string{"v2"}, + }, + Endpoints: endpoints{ + "ap-northeast-1": endpoint{}, + "ap-southeast-1": endpoint{}, + "ap-southeast-2": endpoint{}, + "eu-west-1": endpoint{}, + "sa-east-1": endpoint{}, + "us-east-1": endpoint{ + Hostname: "sdb.amazonaws.com", + }, + "us-west-1": endpoint{}, + "us-west-2": endpoint{}, + }, + }, + "servicecatalog": service{ + + Endpoints: endpoints{ + "ap-northeast-1": endpoint{}, + "ap-southeast-1": endpoint{}, + "ap-southeast-2": endpoint{}, + "ca-central-1": endpoint{}, + "eu-central-1": endpoint{}, + "eu-west-1": endpoint{}, + "eu-west-2": endpoint{}, + "us-east-1": endpoint{}, + "us-east-2": endpoint{}, + "us-west-2": endpoint{}, + }, + }, + "shield": service{ + IsRegionalized: boxedFalse, + Defaults: endpoint{ + SSLCommonName: "Shield.us-east-1.amazonaws.com", + Protocols: []string{"https"}, + }, + Endpoints: endpoints{ + "us-east-1": endpoint{}, + }, + }, + "sms": service{ + + Endpoints: endpoints{ + "ap-southeast-2": endpoint{}, + "eu-west-1": endpoint{}, + "us-east-1": endpoint{}, + }, + }, + "snowball": service{ + + Endpoints: endpoints{ + "ap-south-1": endpoint{}, + "ap-southeast-2": endpoint{}, + "eu-central-1": endpoint{}, + "eu-west-1": endpoint{}, + "eu-west-2": endpoint{}, + "us-east-1": endpoint{}, + "us-east-2": endpoint{}, + "us-west-1": endpoint{}, + "us-west-2": endpoint{}, + }, + }, + "sns": service{ + Defaults: endpoint{ + Protocols: []string{"http", "https"}, + }, + Endpoints: endpoints{ + "ap-northeast-1": endpoint{}, + "ap-northeast-2": endpoint{}, + "ap-south-1": endpoint{}, + "ap-southeast-1": endpoint{}, + "ap-southeast-2": endpoint{}, + "ca-central-1": endpoint{}, + "eu-central-1": endpoint{}, + "eu-west-1": endpoint{}, + "eu-west-2": endpoint{}, + "sa-east-1": endpoint{}, + "us-east-1": endpoint{}, + "us-east-2": endpoint{}, + "us-west-1": endpoint{}, + "us-west-2": endpoint{}, + }, + }, + "sqs": service{ + Defaults: endpoint{ + SSLCommonName: "{region}.queue.{dnsSuffix}", + Protocols: []string{"http", "https"}, + }, + Endpoints: endpoints{ + "ap-northeast-1": endpoint{}, + "ap-northeast-2": endpoint{}, + "ap-south-1": endpoint{}, + "ap-southeast-1": endpoint{}, + "ap-southeast-2": endpoint{}, + "ca-central-1": endpoint{}, + "eu-central-1": endpoint{}, + "eu-west-1": endpoint{}, + "eu-west-2": endpoint{}, + "sa-east-1": endpoint{}, + "us-east-1": endpoint{ + SSLCommonName: "queue.{dnsSuffix}", + }, + "us-east-2": endpoint{}, + "us-west-1": endpoint{}, + "us-west-2": endpoint{}, + }, + }, + "ssm": service{ + + Endpoints: endpoints{ + "ap-northeast-1": endpoint{}, + "ap-northeast-2": endpoint{}, + "ap-southeast-1": endpoint{}, + "ap-southeast-2": endpoint{}, + "eu-central-1": endpoint{}, + "eu-west-1": endpoint{}, + "sa-east-1": endpoint{}, + "us-east-1": endpoint{}, + "us-east-2": endpoint{}, + "us-west-1": endpoint{}, + "us-west-2": endpoint{}, + }, + }, + "states": service{ + + Endpoints: endpoints{ + "ap-northeast-1": endpoint{}, + "eu-central-1": endpoint{}, + "eu-west-1": endpoint{}, + "us-east-1": endpoint{}, + "us-east-2": endpoint{}, + "us-west-2": endpoint{}, + }, + }, + "storagegateway": service{ + + Endpoints: endpoints{ + "ap-northeast-1": endpoint{}, + "ap-northeast-2": endpoint{}, + "ap-southeast-1": endpoint{}, + "ap-southeast-2": endpoint{}, + "ca-central-1": endpoint{}, + "eu-central-1": endpoint{}, + "eu-west-1": endpoint{}, + "eu-west-2": endpoint{}, + "sa-east-1": endpoint{}, + "us-east-1": endpoint{}, + "us-east-2": endpoint{}, + "us-west-1": endpoint{}, + "us-west-2": endpoint{}, + }, + }, + "streams.dynamodb": service{ + Defaults: endpoint{ + Protocols: []string{"http", "http", "https", "https"}, + CredentialScope: credentialScope{ + Service: "dynamodb", + }, + }, + Endpoints: endpoints{ + "ap-northeast-1": endpoint{}, + "ap-northeast-2": endpoint{}, + "ap-south-1": endpoint{}, + "ap-southeast-1": endpoint{}, + "ap-southeast-2": endpoint{}, + "ca-central-1": endpoint{}, + "eu-central-1": endpoint{}, + "eu-west-1": endpoint{}, + "eu-west-2": endpoint{}, + "local": endpoint{ + Hostname: "localhost:8000", + Protocols: []string{"http"}, + CredentialScope: credentialScope{ + Region: "us-east-1", + }, + }, + "sa-east-1": endpoint{}, + "us-east-1": endpoint{}, + "us-east-2": endpoint{}, + "us-west-1": endpoint{}, + "us-west-2": endpoint{}, + }, + }, + "sts": service{ + PartitionEndpoint: "aws-global", + Defaults: endpoint{ + Hostname: "sts.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-east-1", + }, + }, + Endpoints: endpoints{ + "ap-northeast-1": endpoint{}, + "ap-northeast-2": endpoint{ + Hostname: "sts.ap-northeast-2.amazonaws.com", + CredentialScope: credentialScope{ + Region: "ap-northeast-2", + }, + }, + "ap-south-1": endpoint{}, + "ap-southeast-1": endpoint{}, + "ap-southeast-2": endpoint{}, + "aws-global": endpoint{}, + "ca-central-1": endpoint{}, + "eu-central-1": endpoint{}, + "eu-west-1": endpoint{}, + "eu-west-2": endpoint{}, + "sa-east-1": endpoint{}, + "us-east-1": endpoint{}, + "us-east-2": endpoint{}, + "us-west-1": endpoint{}, + "us-west-2": endpoint{}, + }, + }, + "support": service{ + + Endpoints: endpoints{ + "us-east-1": endpoint{}, + }, + }, + "swf": service{ + + Endpoints: endpoints{ + "ap-northeast-1": endpoint{}, + "ap-northeast-2": endpoint{}, + "ap-south-1": endpoint{}, + "ap-southeast-1": endpoint{}, + "ap-southeast-2": endpoint{}, + "ca-central-1": endpoint{}, + "eu-central-1": endpoint{}, + "eu-west-1": endpoint{}, + "eu-west-2": endpoint{}, + "sa-east-1": endpoint{}, + "us-east-1": endpoint{}, + "us-east-2": endpoint{}, + "us-west-1": endpoint{}, + "us-west-2": endpoint{}, + }, + }, + "tagging": service{ + + Endpoints: endpoints{ + "ap-northeast-1": endpoint{}, + "ap-northeast-2": endpoint{}, + "ap-south-1": endpoint{}, + "ap-southeast-1": endpoint{}, + "ap-southeast-2": endpoint{}, + "ca-central-1": endpoint{}, + "eu-central-1": endpoint{}, + "eu-west-1": endpoint{}, + "eu-west-2": endpoint{}, + "sa-east-1": endpoint{}, + "us-east-1": endpoint{}, + "us-east-2": endpoint{}, + "us-west-1": endpoint{}, + "us-west-2": endpoint{}, + }, + }, + "waf": service{ + PartitionEndpoint: "aws-global", + IsRegionalized: boxedFalse, + + Endpoints: endpoints{ + "aws-global": endpoint{ + Hostname: "waf.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-east-1", + }, + }, + }, + }, + "waf-regional": service{ + + Endpoints: endpoints{ + "ap-northeast-1": endpoint{}, + "eu-west-1": endpoint{}, + "us-east-1": endpoint{}, + "us-west-2": endpoint{}, + }, + }, + "workdocs": service{ + + Endpoints: endpoints{ + "ap-northeast-1": endpoint{}, + "ap-southeast-1": endpoint{}, + "ap-southeast-2": endpoint{}, + "eu-west-1": endpoint{}, + "us-east-1": endpoint{}, + "us-west-2": endpoint{}, + }, + }, + "workspaces": service{ + + Endpoints: endpoints{ + "ap-northeast-1": endpoint{}, + "ap-southeast-1": endpoint{}, + "ap-southeast-2": endpoint{}, + "eu-central-1": endpoint{}, + "eu-west-1": endpoint{}, + "us-east-1": endpoint{}, + "us-west-2": endpoint{}, + }, + }, + "xray": service{ + + Endpoints: endpoints{ + "ap-northeast-1": endpoint{}, + "ap-northeast-2": endpoint{}, + "ap-south-1": endpoint{}, + "ap-southeast-1": endpoint{}, + "ap-southeast-2": endpoint{}, + "eu-central-1": endpoint{}, + "eu-west-1": endpoint{}, + "sa-east-1": endpoint{}, + "us-east-1": endpoint{}, + "us-east-2": endpoint{}, + "us-west-1": endpoint{}, + "us-west-2": endpoint{}, + }, + }, + }, +} + +// AwsCnPartition returns the Resolver for AWS China. +func AwsCnPartition() Partition { + return awscnPartition.Partition() +} + +var awscnPartition = partition{ + ID: "aws-cn", + Name: "AWS China", + DNSSuffix: "amazonaws.com.cn", + RegionRegex: regionRegex{ + Regexp: func() *regexp.Regexp { + reg, _ := regexp.Compile("^cn\\-\\w+\\-\\d+$") + return reg + }(), + }, + Defaults: endpoint{ + Hostname: "{service}.{region}.{dnsSuffix}", + Protocols: []string{"https"}, + SignatureVersions: []string{"v4"}, + }, + Regions: regions{ + "cn-north-1": region{ + Description: "China (Beijing)", + }, + }, + Services: services{ + "autoscaling": service{ + Defaults: endpoint{ + Protocols: []string{"http", "https"}, + }, + Endpoints: endpoints{ + "cn-north-1": endpoint{}, + }, + }, + "cloudformation": service{ + + Endpoints: endpoints{ + "cn-north-1": endpoint{}, + }, + }, + "cloudtrail": service{ + + Endpoints: endpoints{ + "cn-north-1": endpoint{}, + }, + }, + "codedeploy": service{ + + Endpoints: endpoints{ + "cn-north-1": endpoint{}, + }, + }, + "config": service{ + + Endpoints: endpoints{ + "cn-north-1": endpoint{}, + }, + }, + "directconnect": service{ + + Endpoints: endpoints{ + "cn-north-1": endpoint{}, + }, + }, + "dynamodb": service{ + Defaults: endpoint{ + Protocols: []string{"http", "https"}, + }, + Endpoints: endpoints{ + "cn-north-1": endpoint{}, + }, + }, + "ec2": service{ + Defaults: endpoint{ + Protocols: []string{"http", "https"}, + }, + Endpoints: endpoints{ + "cn-north-1": endpoint{}, + }, + }, + "ec2metadata": service{ + PartitionEndpoint: "aws-global", + IsRegionalized: boxedFalse, + + Endpoints: endpoints{ + "aws-global": endpoint{ + Hostname: "169.254.169.254/latest", + Protocols: []string{"http"}, + }, + }, + }, + "elasticache": service{ + + Endpoints: endpoints{ + "cn-north-1": endpoint{}, + }, + }, + "elasticbeanstalk": service{ + + Endpoints: endpoints{ + "cn-north-1": endpoint{}, + }, + }, + "elasticloadbalancing": service{ + Defaults: endpoint{ + Protocols: []string{"http", "https"}, + }, + Endpoints: endpoints{ + "cn-north-1": endpoint{}, + }, + }, + "elasticmapreduce": service{ + Defaults: endpoint{ + Protocols: []string{"http", "https"}, + }, + Endpoints: endpoints{ + "cn-north-1": endpoint{}, + }, + }, + "events": service{ + + Endpoints: endpoints{ + "cn-north-1": endpoint{}, + }, + }, + "glacier": service{ + Defaults: endpoint{ + Protocols: []string{"http", "https"}, + }, + Endpoints: endpoints{ + "cn-north-1": endpoint{}, + }, + }, + "iam": service{ + PartitionEndpoint: "aws-cn-global", + IsRegionalized: boxedFalse, + + Endpoints: endpoints{ + "aws-cn-global": endpoint{ + Hostname: "iam.cn-north-1.amazonaws.com.cn", + CredentialScope: credentialScope{ + Region: "cn-north-1", + }, + }, + }, + }, + "kinesis": service{ + + Endpoints: endpoints{ + "cn-north-1": endpoint{}, + }, + }, + "logs": service{ + + Endpoints: endpoints{ + "cn-north-1": endpoint{}, + }, + }, + "monitoring": service{ + Defaults: endpoint{ + Protocols: []string{"http", "https"}, + }, + Endpoints: endpoints{ + "cn-north-1": endpoint{}, + }, + }, + "rds": service{ + + Endpoints: endpoints{ + "cn-north-1": endpoint{}, + }, + }, + "redshift": service{ + + Endpoints: endpoints{ + "cn-north-1": endpoint{}, + }, + }, + "s3": service{ + Defaults: endpoint{ + Protocols: []string{"http", "https"}, + SignatureVersions: []string{"s3v4"}, + }, + Endpoints: endpoints{ + "cn-north-1": endpoint{}, + }, + }, + "sns": service{ + Defaults: endpoint{ + Protocols: []string{"http", "https"}, + }, + Endpoints: endpoints{ + "cn-north-1": endpoint{}, + }, + }, + "sqs": service{ + Defaults: endpoint{ + SSLCommonName: "{region}.queue.{dnsSuffix}", + Protocols: []string{"http", "https"}, + }, + Endpoints: endpoints{ + "cn-north-1": endpoint{}, + }, + }, + "storagegateway": service{ + + Endpoints: endpoints{ + "cn-north-1": endpoint{}, + }, + }, + "streams.dynamodb": service{ + Defaults: endpoint{ + Protocols: []string{"http", "http", "https", "https"}, + CredentialScope: credentialScope{ + Service: "dynamodb", + }, + }, + Endpoints: endpoints{ + "cn-north-1": endpoint{}, + }, + }, + "sts": service{ + + Endpoints: endpoints{ + "cn-north-1": endpoint{}, + }, + }, + "swf": service{ + + Endpoints: endpoints{ + "cn-north-1": endpoint{}, + }, + }, + "tagging": service{ + + Endpoints: endpoints{ + "cn-north-1": endpoint{}, + }, + }, + }, +} + +// AwsUsGovPartition returns the Resolver for AWS GovCloud (US). +func AwsUsGovPartition() Partition { + return awsusgovPartition.Partition() +} + +var awsusgovPartition = partition{ + ID: "aws-us-gov", + Name: "AWS GovCloud (US)", + DNSSuffix: "amazonaws.com", + RegionRegex: regionRegex{ + Regexp: func() *regexp.Regexp { + reg, _ := regexp.Compile("^us\\-gov\\-\\w+\\-\\d+$") + return reg + }(), + }, + Defaults: endpoint{ + Hostname: "{service}.{region}.{dnsSuffix}", + Protocols: []string{"https"}, + SignatureVersions: []string{"v4"}, + }, + Regions: regions{ + "us-gov-west-1": region{ + Description: "AWS GovCloud (US)", + }, + }, + Services: services{ + "autoscaling": service{ + + Endpoints: endpoints{ + "us-gov-west-1": endpoint{ + Protocols: []string{"http", "https"}, + }, + }, + }, + "cloudformation": service{ + + Endpoints: endpoints{ + "us-gov-west-1": endpoint{}, + }, + }, + "cloudhsm": service{ + + Endpoints: endpoints{ + "us-gov-west-1": endpoint{}, + }, + }, + "cloudtrail": service{ + + Endpoints: endpoints{ + "us-gov-west-1": endpoint{}, + }, + }, + "config": service{ + + Endpoints: endpoints{ + "us-gov-west-1": endpoint{}, + }, + }, + "directconnect": service{ + + Endpoints: endpoints{ + "us-gov-west-1": endpoint{}, + }, + }, + "dynamodb": service{ + + Endpoints: endpoints{ + "us-gov-west-1": endpoint{}, + }, + }, + "ec2": service{ + + Endpoints: endpoints{ + "us-gov-west-1": endpoint{}, + }, + }, + "ec2metadata": service{ + PartitionEndpoint: "aws-global", + IsRegionalized: boxedFalse, + + Endpoints: endpoints{ + "aws-global": endpoint{ + Hostname: "169.254.169.254/latest", + Protocols: []string{"http"}, + }, + }, + }, + "elasticache": service{ + + Endpoints: endpoints{ + "us-gov-west-1": endpoint{}, + }, + }, + "elasticloadbalancing": service{ + + Endpoints: endpoints{ + "us-gov-west-1": endpoint{ + Protocols: []string{"http", "https"}, + }, + }, + }, + "elasticmapreduce": service{ + + Endpoints: endpoints{ + "us-gov-west-1": endpoint{ + Protocols: []string{"http", "https"}, + }, + }, + }, + "glacier": service{ + + Endpoints: endpoints{ + "us-gov-west-1": endpoint{ + Protocols: []string{"http", "https"}, + }, + }, + }, + "iam": service{ + PartitionEndpoint: "aws-us-gov-global", + IsRegionalized: boxedFalse, + + Endpoints: endpoints{ + "aws-us-gov-global": endpoint{ + Hostname: "iam.us-gov.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-gov-west-1", + }, + }, + }, + }, + "kinesis": service{ + + Endpoints: endpoints{ + "us-gov-west-1": endpoint{}, + }, + }, + "kms": service{ + + Endpoints: endpoints{ + "us-gov-west-1": endpoint{}, + }, + }, + "logs": service{ + + Endpoints: endpoints{ + "us-gov-west-1": endpoint{}, + }, + }, + "monitoring": service{ + + Endpoints: endpoints{ + "us-gov-west-1": endpoint{}, + }, + }, + "rds": service{ + + Endpoints: endpoints{ + "us-gov-west-1": endpoint{}, + }, + }, + "redshift": service{ + + Endpoints: endpoints{ + "us-gov-west-1": endpoint{}, + }, + }, + "s3": service{ + Defaults: endpoint{ + SignatureVersions: []string{"s3", "s3v4"}, + }, + Endpoints: endpoints{ + "fips-us-gov-west-1": endpoint{ + Hostname: "s3-fips-us-gov-west-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-gov-west-1", + }, + }, + "us-gov-west-1": endpoint{ + Hostname: "s3-us-gov-west-1.amazonaws.com", + Protocols: []string{"http", "https"}, + }, + }, + }, + "snowball": service{ + + Endpoints: endpoints{ + "us-gov-west-1": endpoint{}, + }, + }, + "sns": service{ + + Endpoints: endpoints{ + "us-gov-west-1": endpoint{ + Protocols: []string{"http", "https"}, + }, + }, + }, + "sqs": service{ + + Endpoints: endpoints{ + "us-gov-west-1": endpoint{ + SSLCommonName: "{region}.queue.{dnsSuffix}", + Protocols: []string{"http", "https"}, + }, + }, + }, + "streams.dynamodb": service{ + Defaults: endpoint{ + CredentialScope: credentialScope{ + Service: "dynamodb", + }, + }, + Endpoints: endpoints{ + "us-gov-west-1": endpoint{}, + }, + }, + "sts": service{ + + Endpoints: endpoints{ + "us-gov-west-1": endpoint{}, + }, + }, + "swf": service{ + + Endpoints: endpoints{ + "us-gov-west-1": endpoint{}, + }, + }, + }, +} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/endpoints/doc.go b/vendor/github.com/aws/aws-sdk-go/aws/endpoints/doc.go new file mode 100644 index 0000000000..a0e9bc4547 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/aws/endpoints/doc.go @@ -0,0 +1,66 @@ +// Package endpoints provides the types and functionality for defining regions +// and endpoints, as well as querying those definitions. +// +// The SDK's Regions and Endpoints metadata is code generated into the endpoints +// package, and is accessible via the DefaultResolver function. This function +// returns a endpoint Resolver will search the metadata and build an associated +// endpoint if one is found. The default resolver will search all partitions +// known by the SDK. e.g AWS Standard (aws), AWS China (aws-cn), and +// AWS GovCloud (US) (aws-us-gov). +// . +// +// Enumerating Regions and Endpoint Metadata +// +// Casting the Resolver returned by DefaultResolver to a EnumPartitions interface +// will allow you to get access to the list of underlying Partitions with the +// Partitions method. This is helpful if you want to limit the SDK's endpoint +// resolving to a single partition, or enumerate regions, services, and endpoints +// in the partition. +// +// resolver := endpoints.DefaultResolver() +// partitions := resolver.(endpoints.EnumPartitions).Partitions() +// +// for _, p := range partitions { +// fmt.Println("Regions for", p.Name) +// for id, _ := range p.Regions() { +// fmt.Println("*", id) +// } +// +// fmt.Println("Services for", p.Name) +// for id, _ := range p.Services() { +// fmt.Println("*", id) +// } +// } +// +// Using Custom Endpoints +// +// The endpoints package also gives you the ability to use your own logic how +// endpoints are resolved. This is a great way to define a custom endpoint +// for select services, without passing that logic down through your code. +// +// If a type implements the Resolver interface it can be used to resolve +// endpoints. To use this with the SDK's Session and Config set the value +// of the type to the EndpointsResolver field of aws.Config when initializing +// the session, or service client. +// +// In addition the ResolverFunc is a wrapper for a func matching the signature +// of Resolver.EndpointFor, converting it to a type that satisfies the +// Resolver interface. +// +// +// myCustomResolver := func(service, region string, optFns ...func(*endpoints.Options)) (endpoints.ResolvedEndpoint, error) { +// if service == endpoints.S3ServiceID { +// return endpoints.ResolvedEndpoint{ +// URL: "s3.custom.endpoint.com", +// SigningRegion: "custom-signing-region", +// }, nil +// } +// +// return endpoints.DefaultResolver().EndpointFor(service, region, optFns...) +// } +// +// sess := session.Must(session.NewSession(&aws.Config{ +// Region: aws.String("us-west-2"), +// EndpointResolver: endpoints.ResolverFunc(myCustomResolver), +// })) +package endpoints diff --git a/vendor/github.com/aws/aws-sdk-go/aws/endpoints/endpoints.go b/vendor/github.com/aws/aws-sdk-go/aws/endpoints/endpoints.go new file mode 100644 index 0000000000..37e19ab00d --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/aws/endpoints/endpoints.go @@ -0,0 +1,397 @@ +package endpoints + +import ( + "fmt" + "regexp" + + "github.com/aws/aws-sdk-go/aws/awserr" +) + +// Options provide the configuration needed to direct how the +// endpoints will be resolved. +type Options struct { + // DisableSSL forces the endpoint to be resolved as HTTP. + // instead of HTTPS if the service supports it. + DisableSSL bool + + // Sets the resolver to resolve the endpoint as a dualstack endpoint + // for the service. If dualstack support for a service is not known and + // StrictMatching is not enabled a dualstack endpoint for the service will + // be returned. This endpoint may not be valid. If StrictMatching is + // enabled only services that are known to support dualstack will return + // dualstack endpoints. + UseDualStack bool + + // Enables strict matching of services and regions resolved endpoints. + // If the partition doesn't enumerate the exact service and region an + // error will be returned. This option will prevent returning endpoints + // that look valid, but may not resolve to any real endpoint. + StrictMatching bool + + // Enables resolving a service endpoint based on the region provided if the + // service does not exist. The service endpoint ID will be used as the service + // domain name prefix. By default the endpoint resolver requires the service + // to be known when resolving endpoints. + // + // If resolving an endpoint on the partition list the provided region will + // be used to determine which partition's domain name pattern to the service + // endpoint ID with. If both the service and region are unkonwn and resolving + // the endpoint on partition list an UnknownEndpointError error will be returned. + // + // If resolving and endpoint on a partition specific resolver that partition's + // domain name pattern will be used with the service endpoint ID. If both + // region and service do not exist when resolving an endpoint on a specific + // partition the partition's domain pattern will be used to combine the + // endpoint and region together. + // + // This option is ignored if StrictMatching is enabled. + ResolveUnknownService bool +} + +// Set combines all of the option functions together. +func (o *Options) Set(optFns ...func(*Options)) { + for _, fn := range optFns { + fn(o) + } +} + +// DisableSSLOption sets the DisableSSL options. Can be used as a functional +// option when resolving endpoints. +func DisableSSLOption(o *Options) { + o.DisableSSL = true +} + +// UseDualStackOption sets the UseDualStack option. Can be used as a functional +// option when resolving endpoints. +func UseDualStackOption(o *Options) { + o.UseDualStack = true +} + +// StrictMatchingOption sets the StrictMatching option. Can be used as a functional +// option when resolving endpoints. +func StrictMatchingOption(o *Options) { + o.StrictMatching = true +} + +// ResolveUnknownServiceOption sets the ResolveUnknownService option. Can be used +// as a functional option when resolving endpoints. +func ResolveUnknownServiceOption(o *Options) { + o.ResolveUnknownService = true +} + +// A Resolver provides the interface for functionality to resolve endpoints. +// The build in Partition and DefaultResolver return value satisfy this interface. +type Resolver interface { + EndpointFor(service, region string, opts ...func(*Options)) (ResolvedEndpoint, error) +} + +// ResolverFunc is a helper utility that wraps a function so it satisfies the +// Resolver interface. This is useful when you want to add additional endpoint +// resolving logic, or stub out specific endpoints with custom values. +type ResolverFunc func(service, region string, opts ...func(*Options)) (ResolvedEndpoint, error) + +// EndpointFor wraps the ResolverFunc function to satisfy the Resolver interface. +func (fn ResolverFunc) EndpointFor(service, region string, opts ...func(*Options)) (ResolvedEndpoint, error) { + return fn(service, region, opts...) +} + +var schemeRE = regexp.MustCompile("^([^:]+)://") + +// AddScheme adds the HTTP or HTTPS schemes to a endpoint URL if there is no +// scheme. If disableSSL is true HTTP will set HTTP instead of the default HTTPS. +// +// If disableSSL is set, it will only set the URL's scheme if the URL does not +// contain a scheme. +func AddScheme(endpoint string, disableSSL bool) string { + if !schemeRE.MatchString(endpoint) { + scheme := "https" + if disableSSL { + scheme = "http" + } + endpoint = fmt.Sprintf("%s://%s", scheme, endpoint) + } + + return endpoint +} + +// EnumPartitions a provides a way to retrieve the underlying partitions that +// make up the SDK's default Resolver, or any resolver decoded from a model +// file. +// +// Use this interface with DefaultResolver and DecodeModels to get the list of +// Partitions. +type EnumPartitions interface { + Partitions() []Partition +} + +// A Partition provides the ability to enumerate the partition's regions +// and services. +type Partition struct { + id string + p *partition +} + +// ID returns the identifier of the partition. +func (p *Partition) ID() string { return p.id } + +// EndpointFor attempts to resolve the endpoint based on service and region. +// See Options for information on configuring how the endpoint is resolved. +// +// If the service cannot be found in the metadata the UnknownServiceError +// error will be returned. This validation will occur regardless if +// StrictMatching is enabled. To enable resolving unknown services set the +// "ResolveUnknownService" option to true. When StrictMatching is disabled +// this option allows the partition resolver to resolve a endpoint based on +// the service endpoint ID provided. +// +// When resolving endpoints you can choose to enable StrictMatching. This will +// require the provided service and region to be known by the partition. +// If the endpoint cannot be strictly resolved an error will be returned. This +// mode is useful to ensure the endpoint resolved is valid. Without +// StrictMatching enabled the endpoint returned my look valid but may not work. +// StrictMatching requires the SDK to be updated if you want to take advantage +// of new regions and services expansions. +// +// Errors that can be returned. +// * UnknownServiceError +// * UnknownEndpointError +func (p *Partition) EndpointFor(service, region string, opts ...func(*Options)) (ResolvedEndpoint, error) { + return p.p.EndpointFor(service, region, opts...) +} + +// Regions returns a map of Regions indexed by their ID. This is useful for +// enumerating over the regions in a partition. +func (p *Partition) Regions() map[string]Region { + rs := map[string]Region{} + for id := range p.p.Regions { + rs[id] = Region{ + id: id, + p: p.p, + } + } + + return rs +} + +// Services returns a map of Service indexed by their ID. This is useful for +// enumerating over the services in a partition. +func (p *Partition) Services() map[string]Service { + ss := map[string]Service{} + for id := range p.p.Services { + ss[id] = Service{ + id: id, + p: p.p, + } + } + + return ss +} + +// A Region provides information about a region, and ability to resolve an +// endpoint from the context of a region, given a service. +type Region struct { + id, desc string + p *partition +} + +// ID returns the region's identifier. +func (r *Region) ID() string { return r.id } + +// ResolveEndpoint resolves an endpoint from the context of the region given +// a service. See Partition.EndpointFor for usage and errors that can be returned. +func (r *Region) ResolveEndpoint(service string, opts ...func(*Options)) (ResolvedEndpoint, error) { + return r.p.EndpointFor(service, r.id, opts...) +} + +// Services returns a list of all services that are known to be in this region. +func (r *Region) Services() map[string]Service { + ss := map[string]Service{} + for id, s := range r.p.Services { + if _, ok := s.Endpoints[r.id]; ok { + ss[id] = Service{ + id: id, + p: r.p, + } + } + } + + return ss +} + +// A Service provides information about a service, and ability to resolve an +// endpoint from the context of a service, given a region. +type Service struct { + id string + p *partition +} + +// ID returns the identifier for the service. +func (s *Service) ID() string { return s.id } + +// ResolveEndpoint resolves an endpoint from the context of a service given +// a region. See Partition.EndpointFor for usage and errors that can be returned. +func (s *Service) ResolveEndpoint(region string, opts ...func(*Options)) (ResolvedEndpoint, error) { + return s.p.EndpointFor(s.id, region, opts...) +} + +// Endpoints returns a map of Endpoints indexed by their ID for all known +// endpoints for a service. +func (s *Service) Endpoints() map[string]Endpoint { + es := map[string]Endpoint{} + for id := range s.p.Services[s.id].Endpoints { + es[id] = Endpoint{ + id: id, + serviceID: s.id, + p: s.p, + } + } + + return es +} + +// A Endpoint provides information about endpoints, and provides the ability +// to resolve that endpoint for the service, and the region the endpoint +// represents. +type Endpoint struct { + id string + serviceID string + p *partition +} + +// ID returns the identifier for an endpoint. +func (e *Endpoint) ID() string { return e.id } + +// ServiceID returns the identifier the endpoint belongs to. +func (e *Endpoint) ServiceID() string { return e.serviceID } + +// ResolveEndpoint resolves an endpoint from the context of a service and +// region the endpoint represents. See Partition.EndpointFor for usage and +// errors that can be returned. +func (e *Endpoint) ResolveEndpoint(opts ...func(*Options)) (ResolvedEndpoint, error) { + return e.p.EndpointFor(e.serviceID, e.id, opts...) +} + +// A ResolvedEndpoint is an endpoint that has been resolved based on a partition +// service, and region. +type ResolvedEndpoint struct { + // The endpoint URL + URL string + + // The region that should be used for signing requests. + SigningRegion string + + // The service name that should be used for signing requests. + SigningName string + + // The signing method that should be used for signing requests. + SigningMethod string +} + +// So that the Error interface type can be included as an anonymous field +// in the requestError struct and not conflict with the error.Error() method. +type awsError awserr.Error + +// A EndpointNotFoundError is returned when in StrictMatching mode, and the +// endpoint for the service and region cannot be found in any of the partitions. +type EndpointNotFoundError struct { + awsError + Partition string + Service string + Region string +} + +//// NewEndpointNotFoundError builds and returns NewEndpointNotFoundError. +//func NewEndpointNotFoundError(p, s, r string) EndpointNotFoundError { +// return EndpointNotFoundError{ +// awsError: awserr.New("EndpointNotFoundError", "unable to find endpoint", nil), +// Partition: p, +// Service: s, +// Region: r, +// } +//} +// +//// Error returns string representation of the error. +//func (e EndpointNotFoundError) Error() string { +// extra := fmt.Sprintf("partition: %q, service: %q, region: %q", +// e.Partition, e.Service, e.Region) +// return awserr.SprintError(e.Code(), e.Message(), extra, e.OrigErr()) +//} +// +//// String returns the string representation of the error. +//func (e EndpointNotFoundError) String() string { +// return e.Error() +//} + +// A UnknownServiceError is returned when the service does not resolve to an +// endpoint. Includes a list of all known services for the partition. Returned +// when a partition does not support the service. +type UnknownServiceError struct { + awsError + Partition string + Service string + Known []string +} + +// NewUnknownServiceError builds and returns UnknownServiceError. +func NewUnknownServiceError(p, s string, known []string) UnknownServiceError { + return UnknownServiceError{ + awsError: awserr.New("UnknownServiceError", + "could not resolve endpoint for unknown service", nil), + Partition: p, + Service: s, + Known: known, + } +} + +// String returns the string representation of the error. +func (e UnknownServiceError) Error() string { + extra := fmt.Sprintf("partition: %q, service: %q", + e.Partition, e.Service) + if len(e.Known) > 0 { + extra += fmt.Sprintf(", known: %v", e.Known) + } + return awserr.SprintError(e.Code(), e.Message(), extra, e.OrigErr()) +} + +// String returns the string representation of the error. +func (e UnknownServiceError) String() string { + return e.Error() +} + +// A UnknownEndpointError is returned when in StrictMatching mode and the +// service is valid, but the region does not resolve to an endpoint. Includes +// a list of all known endpoints for the service. +type UnknownEndpointError struct { + awsError + Partition string + Service string + Region string + Known []string +} + +// NewUnknownEndpointError builds and returns UnknownEndpointError. +func NewUnknownEndpointError(p, s, r string, known []string) UnknownEndpointError { + return UnknownEndpointError{ + awsError: awserr.New("UnknownEndpointError", + "could not resolve endpoint", nil), + Partition: p, + Service: s, + Region: r, + Known: known, + } +} + +// String returns the string representation of the error. +func (e UnknownEndpointError) Error() string { + extra := fmt.Sprintf("partition: %q, service: %q, region: %q", + e.Partition, e.Service, e.Region) + if len(e.Known) > 0 { + extra += fmt.Sprintf(", known: %v", e.Known) + } + return awserr.SprintError(e.Code(), e.Message(), extra, e.OrigErr()) +} + +// String returns the string representation of the error. +func (e UnknownEndpointError) String() string { + return e.Error() +} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/endpoints/v3model.go b/vendor/github.com/aws/aws-sdk-go/aws/endpoints/v3model.go new file mode 100644 index 0000000000..13d968a249 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/aws/endpoints/v3model.go @@ -0,0 +1,303 @@ +package endpoints + +import ( + "fmt" + "regexp" + "strconv" + "strings" +) + +type partitions []partition + +func (ps partitions) EndpointFor(service, region string, opts ...func(*Options)) (ResolvedEndpoint, error) { + var opt Options + opt.Set(opts...) + + for i := 0; i < len(ps); i++ { + if !ps[i].canResolveEndpoint(service, region, opt.StrictMatching) { + continue + } + + return ps[i].EndpointFor(service, region, opts...) + } + + // If loose matching fallback to first partition format to use + // when resolving the endpoint. + if !opt.StrictMatching && len(ps) > 0 { + return ps[0].EndpointFor(service, region, opts...) + } + + return ResolvedEndpoint{}, NewUnknownEndpointError("all partitions", service, region, []string{}) +} + +// Partitions satisfies the EnumPartitions interface and returns a list +// of Partitions representing each partition represented in the SDK's +// endpoints model. +func (ps partitions) Partitions() []Partition { + parts := make([]Partition, 0, len(ps)) + for i := 0; i < len(ps); i++ { + parts = append(parts, ps[i].Partition()) + } + + return parts +} + +type partition struct { + ID string `json:"partition"` + Name string `json:"partitionName"` + DNSSuffix string `json:"dnsSuffix"` + RegionRegex regionRegex `json:"regionRegex"` + Defaults endpoint `json:"defaults"` + Regions regions `json:"regions"` + Services services `json:"services"` +} + +func (p partition) Partition() Partition { + return Partition{ + id: p.ID, + p: &p, + } +} + +func (p partition) canResolveEndpoint(service, region string, strictMatch bool) bool { + s, hasService := p.Services[service] + _, hasEndpoint := s.Endpoints[region] + + if hasEndpoint && hasService { + return true + } + + if strictMatch { + return false + } + + return p.RegionRegex.MatchString(region) +} + +func (p partition) EndpointFor(service, region string, opts ...func(*Options)) (resolved ResolvedEndpoint, err error) { + var opt Options + opt.Set(opts...) + + s, hasService := p.Services[service] + if !(hasService || opt.ResolveUnknownService) { + // Only return error if the resolver will not fallback to creating + // endpoint based on service endpoint ID passed in. + return resolved, NewUnknownServiceError(p.ID, service, serviceList(p.Services)) + } + + e, hasEndpoint := s.endpointForRegion(region) + if !hasEndpoint && opt.StrictMatching { + return resolved, NewUnknownEndpointError(p.ID, service, region, endpointList(s.Endpoints)) + } + + defs := []endpoint{p.Defaults, s.Defaults} + return e.resolve(service, region, p.DNSSuffix, defs, opt), nil +} + +func serviceList(ss services) []string { + list := make([]string, 0, len(ss)) + for k := range ss { + list = append(list, k) + } + return list +} +func endpointList(es endpoints) []string { + list := make([]string, 0, len(es)) + for k := range es { + list = append(list, k) + } + return list +} + +type regionRegex struct { + *regexp.Regexp +} + +func (rr *regionRegex) UnmarshalJSON(b []byte) (err error) { + // Strip leading and trailing quotes + regex, err := strconv.Unquote(string(b)) + if err != nil { + return fmt.Errorf("unable to strip quotes from regex, %v", err) + } + + rr.Regexp, err = regexp.Compile(regex) + if err != nil { + return fmt.Errorf("unable to unmarshal region regex, %v", err) + } + return nil +} + +type regions map[string]region + +type region struct { + Description string `json:"description"` +} + +type services map[string]service + +type service struct { + PartitionEndpoint string `json:"partitionEndpoint"` + IsRegionalized boxedBool `json:"isRegionalized,omitempty"` + Defaults endpoint `json:"defaults"` + Endpoints endpoints `json:"endpoints"` +} + +func (s *service) endpointForRegion(region string) (endpoint, bool) { + if s.IsRegionalized == boxedFalse { + return s.Endpoints[s.PartitionEndpoint], region == s.PartitionEndpoint + } + + if e, ok := s.Endpoints[region]; ok { + return e, true + } + + // Unable to find any matching endpoint, return + // blank that will be used for generic endpoint creation. + return endpoint{}, false +} + +type endpoints map[string]endpoint + +type endpoint struct { + Hostname string `json:"hostname"` + Protocols []string `json:"protocols"` + CredentialScope credentialScope `json:"credentialScope"` + + // Custom fields not modeled + HasDualStack boxedBool `json:"-"` + DualStackHostname string `json:"-"` + + // Signature Version not used + SignatureVersions []string `json:"signatureVersions"` + + // SSLCommonName not used. + SSLCommonName string `json:"sslCommonName"` +} + +const ( + defaultProtocol = "https" + defaultSigner = "v4" +) + +var ( + protocolPriority = []string{"https", "http"} + signerPriority = []string{"v4", "v2"} +) + +func getByPriority(s []string, p []string, def string) string { + if len(s) == 0 { + return def + } + + for i := 0; i < len(p); i++ { + for j := 0; j < len(s); j++ { + if s[j] == p[i] { + return s[j] + } + } + } + + return s[0] +} + +func (e endpoint) resolve(service, region, dnsSuffix string, defs []endpoint, opts Options) ResolvedEndpoint { + var merged endpoint + for _, def := range defs { + merged.mergeIn(def) + } + merged.mergeIn(e) + e = merged + + hostname := e.Hostname + + // Offset the hostname for dualstack if enabled + if opts.UseDualStack && e.HasDualStack == boxedTrue { + hostname = e.DualStackHostname + } + + u := strings.Replace(hostname, "{service}", service, 1) + u = strings.Replace(u, "{region}", region, 1) + u = strings.Replace(u, "{dnsSuffix}", dnsSuffix, 1) + + scheme := getEndpointScheme(e.Protocols, opts.DisableSSL) + u = fmt.Sprintf("%s://%s", scheme, u) + + signingRegion := e.CredentialScope.Region + if len(signingRegion) == 0 { + signingRegion = region + } + signingName := e.CredentialScope.Service + if len(signingName) == 0 { + signingName = service + } + + return ResolvedEndpoint{ + URL: u, + SigningRegion: signingRegion, + SigningName: signingName, + SigningMethod: getByPriority(e.SignatureVersions, signerPriority, defaultSigner), + } +} + +func getEndpointScheme(protocols []string, disableSSL bool) string { + if disableSSL { + return "http" + } + + return getByPriority(protocols, protocolPriority, defaultProtocol) +} + +func (e *endpoint) mergeIn(other endpoint) { + if len(other.Hostname) > 0 { + e.Hostname = other.Hostname + } + if len(other.Protocols) > 0 { + e.Protocols = other.Protocols + } + if len(other.SignatureVersions) > 0 { + e.SignatureVersions = other.SignatureVersions + } + if len(other.CredentialScope.Region) > 0 { + e.CredentialScope.Region = other.CredentialScope.Region + } + if len(other.CredentialScope.Service) > 0 { + e.CredentialScope.Service = other.CredentialScope.Service + } + if len(other.SSLCommonName) > 0 { + e.SSLCommonName = other.SSLCommonName + } + if other.HasDualStack != boxedBoolUnset { + e.HasDualStack = other.HasDualStack + } + if len(other.DualStackHostname) > 0 { + e.DualStackHostname = other.DualStackHostname + } +} + +type credentialScope struct { + Region string `json:"region"` + Service string `json:"service"` +} + +type boxedBool int + +func (b *boxedBool) UnmarshalJSON(buf []byte) error { + v, err := strconv.ParseBool(string(buf)) + if err != nil { + return err + } + + if v { + *b = boxedTrue + } else { + *b = boxedFalse + } + + return nil +} + +const ( + boxedBoolUnset boxedBool = iota + boxedFalse + boxedTrue +) diff --git a/vendor/github.com/aws/aws-sdk-go/aws/endpoints/v3model_codegen.go b/vendor/github.com/aws/aws-sdk-go/aws/endpoints/v3model_codegen.go new file mode 100644 index 0000000000..fc7eada77f --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/aws/endpoints/v3model_codegen.go @@ -0,0 +1,334 @@ +// +build codegen + +package endpoints + +import ( + "fmt" + "io" + "reflect" + "strings" + "text/template" + "unicode" +) + +// A CodeGenOptions are the options for code generating the endpoints into +// Go code from the endpoints model definition. +type CodeGenOptions struct { + // Options for how the model will be decoded. + DecodeModelOptions DecodeModelOptions +} + +// Set combines all of the option functions together +func (d *CodeGenOptions) Set(optFns ...func(*CodeGenOptions)) { + for _, fn := range optFns { + fn(d) + } +} + +// CodeGenModel given a endpoints model file will decode it and attempt to +// generate Go code from the model definition. Error will be returned if +// the code is unable to be generated, or decoded. +func CodeGenModel(modelFile io.Reader, outFile io.Writer, optFns ...func(*CodeGenOptions)) error { + var opts CodeGenOptions + opts.Set(optFns...) + + resolver, err := DecodeModel(modelFile, func(d *DecodeModelOptions) { + *d = opts.DecodeModelOptions + }) + if err != nil { + return err + } + + tmpl := template.Must(template.New("tmpl").Funcs(funcMap).Parse(v3Tmpl)) + if err := tmpl.ExecuteTemplate(outFile, "defaults", resolver); err != nil { + return fmt.Errorf("failed to execute template, %v", err) + } + + return nil +} + +func toSymbol(v string) string { + out := []rune{} + for _, c := range strings.Title(v) { + if !(unicode.IsNumber(c) || unicode.IsLetter(c)) { + continue + } + + out = append(out, c) + } + + return string(out) +} + +func quoteString(v string) string { + return fmt.Sprintf("%q", v) +} + +func regionConstName(p, r string) string { + return toSymbol(p) + toSymbol(r) +} + +func partitionGetter(id string) string { + return fmt.Sprintf("%sPartition", toSymbol(id)) +} + +func partitionVarName(id string) string { + return fmt.Sprintf("%sPartition", strings.ToLower(toSymbol(id))) +} + +func listPartitionNames(ps partitions) string { + names := []string{} + switch len(ps) { + case 1: + return ps[0].Name + case 2: + return fmt.Sprintf("%s and %s", ps[0].Name, ps[1].Name) + default: + for i, p := range ps { + if i == len(ps)-1 { + names = append(names, "and "+p.Name) + } else { + names = append(names, p.Name) + } + } + return strings.Join(names, ", ") + } +} + +func boxedBoolIfSet(msg string, v boxedBool) string { + switch v { + case boxedTrue: + return fmt.Sprintf(msg, "boxedTrue") + case boxedFalse: + return fmt.Sprintf(msg, "boxedFalse") + default: + return "" + } +} + +func stringIfSet(msg, v string) string { + if len(v) == 0 { + return "" + } + + return fmt.Sprintf(msg, v) +} + +func stringSliceIfSet(msg string, vs []string) string { + if len(vs) == 0 { + return "" + } + + names := []string{} + for _, v := range vs { + names = append(names, `"`+v+`"`) + } + + return fmt.Sprintf(msg, strings.Join(names, ",")) +} + +func endpointIsSet(v endpoint) bool { + return !reflect.DeepEqual(v, endpoint{}) +} + +func serviceSet(ps partitions) map[string]struct{} { + set := map[string]struct{}{} + for _, p := range ps { + for id := range p.Services { + set[id] = struct{}{} + } + } + + return set +} + +var funcMap = template.FuncMap{ + "ToSymbol": toSymbol, + "QuoteString": quoteString, + "RegionConst": regionConstName, + "PartitionGetter": partitionGetter, + "PartitionVarName": partitionVarName, + "ListPartitionNames": listPartitionNames, + "BoxedBoolIfSet": boxedBoolIfSet, + "StringIfSet": stringIfSet, + "StringSliceIfSet": stringSliceIfSet, + "EndpointIsSet": endpointIsSet, + "ServicesSet": serviceSet, +} + +const v3Tmpl = ` +{{ define "defaults" -}} +// Code generated by aws/endpoints/v3model_codegen.go. DO NOT EDIT. + +package endpoints + +import ( + "regexp" +) + + {{ template "partition consts" . }} + + {{ range $_, $partition := . }} + {{ template "partition region consts" $partition }} + {{ end }} + + {{ template "service consts" . }} + + {{ template "endpoint resolvers" . }} +{{- end }} + +{{ define "partition consts" }} + // Partition identifiers + const ( + {{ range $_, $p := . -}} + {{ ToSymbol $p.ID }}PartitionID = {{ QuoteString $p.ID }} // {{ $p.Name }} partition. + {{ end -}} + ) +{{- end }} + +{{ define "partition region consts" }} + // {{ .Name }} partition's regions. + const ( + {{ range $id, $region := .Regions -}} + {{ ToSymbol $id }}RegionID = {{ QuoteString $id }} // {{ $region.Description }}. + {{ end -}} + ) +{{- end }} + +{{ define "service consts" }} + // Service identifiers + const ( + {{ $serviceSet := ServicesSet . -}} + {{ range $id, $_ := $serviceSet -}} + {{ ToSymbol $id }}ServiceID = {{ QuoteString $id }} // {{ ToSymbol $id }}. + {{ end -}} + ) +{{- end }} + +{{ define "endpoint resolvers" }} + // DefaultResolver returns an Endpoint resolver that will be able + // to resolve endpoints for: {{ ListPartitionNames . }}. + // + // Casting the return value of this func to a EnumPartitions will + // allow you to get a list of the partitions in the order the endpoints + // will be resolved in. + // + // resolver := endpoints.DefaultResolver() + // partitions := resolver.(endpoints.EnumPartitions).Partitions() + // for _, p := range partitions { + // // ... inspect partitions + // } + func DefaultResolver() Resolver { + return defaultPartitions + } + + var defaultPartitions = partitions{ + {{ range $_, $partition := . -}} + {{ PartitionVarName $partition.ID }}, + {{ end }} + } + + {{ range $_, $partition := . -}} + {{ $name := PartitionGetter $partition.ID -}} + // {{ $name }} returns the Resolver for {{ $partition.Name }}. + func {{ $name }}() Partition { + return {{ PartitionVarName $partition.ID }}.Partition() + } + var {{ PartitionVarName $partition.ID }} = {{ template "gocode Partition" $partition }} + {{ end }} +{{ end }} + +{{ define "default partitions" }} + func DefaultPartitions() []Partition { + return []partition{ + {{ range $_, $partition := . -}} + // {{ ToSymbol $partition.ID}}Partition(), + {{ end }} + } + } +{{ end }} + +{{ define "gocode Partition" -}} +partition{ + {{ StringIfSet "ID: %q,\n" .ID -}} + {{ StringIfSet "Name: %q,\n" .Name -}} + {{ StringIfSet "DNSSuffix: %q,\n" .DNSSuffix -}} + RegionRegex: {{ template "gocode RegionRegex" .RegionRegex }}, + {{ if EndpointIsSet .Defaults -}} + Defaults: {{ template "gocode Endpoint" .Defaults }}, + {{- end }} + Regions: {{ template "gocode Regions" .Regions }}, + Services: {{ template "gocode Services" .Services }}, +} +{{- end }} + +{{ define "gocode RegionRegex" -}} +regionRegex{ + Regexp: func() *regexp.Regexp{ + reg, _ := regexp.Compile({{ QuoteString .Regexp.String }}) + return reg + }(), +} +{{- end }} + +{{ define "gocode Regions" -}} +regions{ + {{ range $id, $region := . -}} + "{{ $id }}": {{ template "gocode Region" $region }}, + {{ end -}} +} +{{- end }} + +{{ define "gocode Region" -}} +region{ + {{ StringIfSet "Description: %q,\n" .Description -}} +} +{{- end }} + +{{ define "gocode Services" -}} +services{ + {{ range $id, $service := . -}} + "{{ $id }}": {{ template "gocode Service" $service }}, + {{ end }} +} +{{- end }} + +{{ define "gocode Service" -}} +service{ + {{ StringIfSet "PartitionEndpoint: %q,\n" .PartitionEndpoint -}} + {{ BoxedBoolIfSet "IsRegionalized: %s,\n" .IsRegionalized -}} + {{ if EndpointIsSet .Defaults -}} + Defaults: {{ template "gocode Endpoint" .Defaults -}}, + {{- end }} + {{ if .Endpoints -}} + Endpoints: {{ template "gocode Endpoints" .Endpoints }}, + {{- end }} +} +{{- end }} + +{{ define "gocode Endpoints" -}} +endpoints{ + {{ range $id, $endpoint := . -}} + "{{ $id }}": {{ template "gocode Endpoint" $endpoint }}, + {{ end }} +} +{{- end }} + +{{ define "gocode Endpoint" -}} +endpoint{ + {{ StringIfSet "Hostname: %q,\n" .Hostname -}} + {{ StringIfSet "SSLCommonName: %q,\n" .SSLCommonName -}} + {{ StringSliceIfSet "Protocols: []string{%s},\n" .Protocols -}} + {{ StringSliceIfSet "SignatureVersions: []string{%s},\n" .SignatureVersions -}} + {{ if or .CredentialScope.Region .CredentialScope.Service -}} + CredentialScope: credentialScope{ + {{ StringIfSet "Region: %q,\n" .CredentialScope.Region -}} + {{ StringIfSet "Service: %q,\n" .CredentialScope.Service -}} + }, + {{- end }} + {{ BoxedBoolIfSet "HasDualStack: %s,\n" .HasDualStack -}} + {{ StringIfSet "DualStackHostname: %q,\n" .DualStackHostname -}} + +} +{{- end }} +` diff --git a/vendor/github.com/aws/aws-sdk-go/aws/errors.go b/vendor/github.com/aws/aws-sdk-go/aws/errors.go new file mode 100644 index 0000000000..5766361686 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/aws/errors.go @@ -0,0 +1,17 @@ +package aws + +import "github.com/aws/aws-sdk-go/aws/awserr" + +var ( + // ErrMissingRegion is an error that is returned if region configuration is + // not found. + // + // @readonly + ErrMissingRegion = awserr.New("MissingRegion", "could not find region configuration", nil) + + // ErrMissingEndpoint is an error that is returned if an endpoint cannot be + // resolved for a service. + // + // @readonly + ErrMissingEndpoint = awserr.New("MissingEndpoint", "'Endpoint' configuration is required for this service", nil) +) diff --git a/vendor/github.com/aws/aws-sdk-go/aws/jsonvalue.go b/vendor/github.com/aws/aws-sdk-go/aws/jsonvalue.go new file mode 100644 index 0000000000..a94f041070 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/aws/jsonvalue.go @@ -0,0 +1,11 @@ +package aws + +// JSONValue is a representation of a grab bag type that will be marshaled +// into a json string. This type can be used just like any other map. +// +// Example: +// values := JSONValue{ +// "Foo": "Bar", +// } +// values["Baz"] = "Qux" +type JSONValue map[string]interface{} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/logger.go b/vendor/github.com/aws/aws-sdk-go/aws/logger.go new file mode 100644 index 0000000000..db87188e20 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/aws/logger.go @@ -0,0 +1,112 @@ +package aws + +import ( + "log" + "os" +) + +// A LogLevelType defines the level logging should be performed at. Used to instruct +// the SDK which statements should be logged. +type LogLevelType uint + +// LogLevel returns the pointer to a LogLevel. Should be used to workaround +// not being able to take the address of a non-composite literal. +func LogLevel(l LogLevelType) *LogLevelType { + return &l +} + +// Value returns the LogLevel value or the default value LogOff if the LogLevel +// is nil. Safe to use on nil value LogLevelTypes. +func (l *LogLevelType) Value() LogLevelType { + if l != nil { + return *l + } + return LogOff +} + +// Matches returns true if the v LogLevel is enabled by this LogLevel. Should be +// used with logging sub levels. Is safe to use on nil value LogLevelTypes. If +// LogLevel is nill, will default to LogOff comparison. +func (l *LogLevelType) Matches(v LogLevelType) bool { + c := l.Value() + return c&v == v +} + +// AtLeast returns true if this LogLevel is at least high enough to satisfies v. +// Is safe to use on nil value LogLevelTypes. If LogLevel is nill, will default +// to LogOff comparison. +func (l *LogLevelType) AtLeast(v LogLevelType) bool { + c := l.Value() + return c >= v +} + +const ( + // LogOff states that no logging should be performed by the SDK. This is the + // default state of the SDK, and should be use to disable all logging. + LogOff LogLevelType = iota * 0x1000 + + // LogDebug state that debug output should be logged by the SDK. This should + // be used to inspect request made and responses received. + LogDebug +) + +// Debug Logging Sub Levels +const ( + // LogDebugWithSigning states that the SDK should log request signing and + // presigning events. This should be used to log the signing details of + // requests for debugging. Will also enable LogDebug. + LogDebugWithSigning LogLevelType = LogDebug | (1 << iota) + + // LogDebugWithHTTPBody states the SDK should log HTTP request and response + // HTTP bodys in addition to the headers and path. This should be used to + // see the body content of requests and responses made while using the SDK + // Will also enable LogDebug. + LogDebugWithHTTPBody + + // LogDebugWithRequestRetries states the SDK should log when service requests will + // be retried. This should be used to log when you want to log when service + // requests are being retried. Will also enable LogDebug. + LogDebugWithRequestRetries + + // LogDebugWithRequestErrors states the SDK should log when service requests fail + // to build, send, validate, or unmarshal. + LogDebugWithRequestErrors +) + +// A Logger is a minimalistic interface for the SDK to log messages to. Should +// be used to provide custom logging writers for the SDK to use. +type Logger interface { + Log(...interface{}) +} + +// A LoggerFunc is a convenience type to convert a function taking a variadic +// list of arguments and wrap it so the Logger interface can be used. +// +// Example: +// s3.New(sess, &aws.Config{Logger: aws.LoggerFunc(func(args ...interface{}) { +// fmt.Fprintln(os.Stdout, args...) +// })}) +type LoggerFunc func(...interface{}) + +// Log calls the wrapped function with the arguments provided +func (f LoggerFunc) Log(args ...interface{}) { + f(args...) +} + +// NewDefaultLogger returns a Logger which will write log messages to stdout, and +// use same formatting runes as the stdlib log.Logger +func NewDefaultLogger() Logger { + return &defaultLogger{ + logger: log.New(os.Stdout, "", log.LstdFlags), + } +} + +// A defaultLogger provides a minimalistic logger satisfying the Logger interface. +type defaultLogger struct { + logger *log.Logger +} + +// Log logs the parameters to the stdlib logger. See log.Println. +func (l defaultLogger) Log(args ...interface{}) { + l.logger.Println(args...) +} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/request/handlers.go b/vendor/github.com/aws/aws-sdk-go/aws/request/handlers.go new file mode 100644 index 0000000000..6c14336f66 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/aws/request/handlers.go @@ -0,0 +1,225 @@ +package request + +import ( + "fmt" + "strings" +) + +// A Handlers provides a collection of request handlers for various +// stages of handling requests. +type Handlers struct { + Validate HandlerList + Build HandlerList + Sign HandlerList + Send HandlerList + ValidateResponse HandlerList + Unmarshal HandlerList + UnmarshalMeta HandlerList + UnmarshalError HandlerList + Retry HandlerList + AfterRetry HandlerList + Complete HandlerList +} + +// Copy returns of this handler's lists. +func (h *Handlers) Copy() Handlers { + return Handlers{ + Validate: h.Validate.copy(), + Build: h.Build.copy(), + Sign: h.Sign.copy(), + Send: h.Send.copy(), + ValidateResponse: h.ValidateResponse.copy(), + Unmarshal: h.Unmarshal.copy(), + UnmarshalError: h.UnmarshalError.copy(), + UnmarshalMeta: h.UnmarshalMeta.copy(), + Retry: h.Retry.copy(), + AfterRetry: h.AfterRetry.copy(), + Complete: h.Complete.copy(), + } +} + +// Clear removes callback functions for all handlers +func (h *Handlers) Clear() { + h.Validate.Clear() + h.Build.Clear() + h.Send.Clear() + h.Sign.Clear() + h.Unmarshal.Clear() + h.UnmarshalMeta.Clear() + h.UnmarshalError.Clear() + h.ValidateResponse.Clear() + h.Retry.Clear() + h.AfterRetry.Clear() + h.Complete.Clear() +} + +// A HandlerListRunItem represents an entry in the HandlerList which +// is being run. +type HandlerListRunItem struct { + Index int + Handler NamedHandler + Request *Request +} + +// A HandlerList manages zero or more handlers in a list. +type HandlerList struct { + list []NamedHandler + + // Called after each request handler in the list is called. If set + // and the func returns true the HandlerList will continue to iterate + // over the request handlers. If false is returned the HandlerList + // will stop iterating. + // + // Should be used if extra logic to be performed between each handler + // in the list. This can be used to terminate a list's iteration + // based on a condition such as error like, HandlerListStopOnError. + // Or for logging like HandlerListLogItem. + AfterEachFn func(item HandlerListRunItem) bool +} + +// A NamedHandler is a struct that contains a name and function callback. +type NamedHandler struct { + Name string + Fn func(*Request) +} + +// copy creates a copy of the handler list. +func (l *HandlerList) copy() HandlerList { + n := HandlerList{ + AfterEachFn: l.AfterEachFn, + } + if len(l.list) == 0 { + return n + } + + n.list = append(make([]NamedHandler, 0, len(l.list)), l.list...) + return n +} + +// Clear clears the handler list. +func (l *HandlerList) Clear() { + l.list = l.list[0:0] +} + +// Len returns the number of handlers in the list. +func (l *HandlerList) Len() int { + return len(l.list) +} + +// PushBack pushes handler f to the back of the handler list. +func (l *HandlerList) PushBack(f func(*Request)) { + l.PushBackNamed(NamedHandler{"__anonymous", f}) +} + +// PushBackNamed pushes named handler f to the back of the handler list. +func (l *HandlerList) PushBackNamed(n NamedHandler) { + if cap(l.list) == 0 { + l.list = make([]NamedHandler, 0, 5) + } + l.list = append(l.list, n) +} + +// PushFront pushes handler f to the front of the handler list. +func (l *HandlerList) PushFront(f func(*Request)) { + l.PushFrontNamed(NamedHandler{"__anonymous", f}) +} + +// PushFrontNamed pushes named handler f to the front of the handler list. +func (l *HandlerList) PushFrontNamed(n NamedHandler) { + if cap(l.list) == len(l.list) { + // Allocating new list required + l.list = append([]NamedHandler{n}, l.list...) + } else { + // Enough room to prepend into list. + l.list = append(l.list, NamedHandler{}) + copy(l.list[1:], l.list) + l.list[0] = n + } +} + +// Remove removes a NamedHandler n +func (l *HandlerList) Remove(n NamedHandler) { + l.RemoveByName(n.Name) +} + +// RemoveByName removes a NamedHandler by name. +func (l *HandlerList) RemoveByName(name string) { + for i := 0; i < len(l.list); i++ { + m := l.list[i] + if m.Name == name { + // Shift array preventing creating new arrays + copy(l.list[i:], l.list[i+1:]) + l.list[len(l.list)-1] = NamedHandler{} + l.list = l.list[:len(l.list)-1] + + // decrement list so next check to length is correct + i-- + } + } +} + +// Run executes all handlers in the list with a given request object. +func (l *HandlerList) Run(r *Request) { + for i, h := range l.list { + h.Fn(r) + item := HandlerListRunItem{ + Index: i, Handler: h, Request: r, + } + if l.AfterEachFn != nil && !l.AfterEachFn(item) { + return + } + } +} + +// HandlerListLogItem logs the request handler and the state of the +// request's Error value. Always returns true to continue iterating +// request handlers in a HandlerList. +func HandlerListLogItem(item HandlerListRunItem) bool { + if item.Request.Config.Logger == nil { + return true + } + item.Request.Config.Logger.Log("DEBUG: RequestHandler", + item.Index, item.Handler.Name, item.Request.Error) + + return true +} + +// HandlerListStopOnError returns false to stop the HandlerList iterating +// over request handlers if Request.Error is not nil. True otherwise +// to continue iterating. +func HandlerListStopOnError(item HandlerListRunItem) bool { + return item.Request.Error == nil +} + +// WithAppendUserAgent will add a string to the user agent prefixed with a +// single white space. +func WithAppendUserAgent(s string) Option { + return func(r *Request) { + r.Handlers.Build.PushBack(func(r2 *Request) { + AddToUserAgent(r, s) + }) + } +} + +// MakeAddToUserAgentHandler will add the name/version pair to the User-Agent request +// header. If the extra parameters are provided they will be added as metadata to the +// name/version pair resulting in the following format. +// "name/version (extra0; extra1; ...)" +// The user agent part will be concatenated with this current request's user agent string. +func MakeAddToUserAgentHandler(name, version string, extra ...string) func(*Request) { + ua := fmt.Sprintf("%s/%s", name, version) + if len(extra) > 0 { + ua += fmt.Sprintf(" (%s)", strings.Join(extra, "; ")) + } + return func(r *Request) { + AddToUserAgent(r, ua) + } +} + +// MakeAddToUserAgentFreeFormHandler adds the input to the User-Agent request header. +// The input string will be concatenated with the current request's user agent string. +func MakeAddToUserAgentFreeFormHandler(s string) func(*Request) { + return func(r *Request) { + AddToUserAgent(r, s) + } +} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/request/http_request.go b/vendor/github.com/aws/aws-sdk-go/aws/request/http_request.go new file mode 100644 index 0000000000..79f79602b0 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/aws/request/http_request.go @@ -0,0 +1,24 @@ +package request + +import ( + "io" + "net/http" + "net/url" +) + +func copyHTTPRequest(r *http.Request, body io.ReadCloser) *http.Request { + req := new(http.Request) + *req = *r + req.URL = &url.URL{} + *req.URL = *r.URL + req.Body = body + + req.Header = http.Header{} + for k, v := range r.Header { + for _, vv := range v { + req.Header.Add(k, vv) + } + } + + return req +} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/request/offset_reader.go b/vendor/github.com/aws/aws-sdk-go/aws/request/offset_reader.go new file mode 100644 index 0000000000..02f07f4a46 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/aws/request/offset_reader.go @@ -0,0 +1,58 @@ +package request + +import ( + "io" + "sync" +) + +// offsetReader is a thread-safe io.ReadCloser to prevent racing +// with retrying requests +type offsetReader struct { + buf io.ReadSeeker + lock sync.Mutex + closed bool +} + +func newOffsetReader(buf io.ReadSeeker, offset int64) *offsetReader { + reader := &offsetReader{} + buf.Seek(offset, 0) + + reader.buf = buf + return reader +} + +// Close will close the instance of the offset reader's access to +// the underlying io.ReadSeeker. +func (o *offsetReader) Close() error { + o.lock.Lock() + defer o.lock.Unlock() + o.closed = true + return nil +} + +// Read is a thread-safe read of the underlying io.ReadSeeker +func (o *offsetReader) Read(p []byte) (int, error) { + o.lock.Lock() + defer o.lock.Unlock() + + if o.closed { + return 0, io.EOF + } + + return o.buf.Read(p) +} + +// Seek is a thread-safe seeking operation. +func (o *offsetReader) Seek(offset int64, whence int) (int64, error) { + o.lock.Lock() + defer o.lock.Unlock() + + return o.buf.Seek(offset, whence) +} + +// CloseAndCopy will return a new offsetReader with a copy of the old buffer +// and close the old buffer. +func (o *offsetReader) CloseAndCopy(offset int64) *offsetReader { + o.Close() + return newOffsetReader(o.buf, offset) +} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/request/request.go b/vendor/github.com/aws/aws-sdk-go/aws/request/request.go new file mode 100644 index 0000000000..1f131dfd3a --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/aws/request/request.go @@ -0,0 +1,571 @@ +package request + +import ( + "bytes" + "fmt" + "io" + "net" + "net/http" + "net/url" + "reflect" + "strings" + "time" + + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/awserr" + "github.com/aws/aws-sdk-go/aws/client/metadata" +) + +const ( + // ErrCodeSerialization is the serialization error code that is received + // during protocol unmarshaling. + ErrCodeSerialization = "SerializationError" + + // ErrCodeResponseTimeout is the connection timeout error that is recieved + // during body reads. + ErrCodeResponseTimeout = "ResponseTimeout" + + // CanceledErrorCode is the error code that will be returned by an + // API request that was canceled. Requests given a aws.Context may + // return this error when canceled. + CanceledErrorCode = "RequestCanceled" +) + +// A Request is the service request to be made. +type Request struct { + Config aws.Config + ClientInfo metadata.ClientInfo + Handlers Handlers + + Retryer + Time time.Time + ExpireTime time.Duration + Operation *Operation + HTTPRequest *http.Request + HTTPResponse *http.Response + Body io.ReadSeeker + BodyStart int64 // offset from beginning of Body that the request body starts + Params interface{} + Error error + Data interface{} + RequestID string + RetryCount int + Retryable *bool + RetryDelay time.Duration + NotHoist bool + SignedHeaderVals http.Header + LastSignedAt time.Time + + context aws.Context + + built bool + + // Need to persist an intermediate body between the input Body and HTTP + // request body because the HTTP Client's transport can maintain a reference + // to the HTTP request's body after the client has returned. This value is + // safe to use concurrently and wrap the input Body for each HTTP request. + safeBody *offsetReader +} + +// An Operation is the service API operation to be made. +type Operation struct { + Name string + HTTPMethod string + HTTPPath string + *Paginator + + BeforePresignFn func(r *Request) error +} + +// New returns a new Request pointer for the service API +// operation and parameters. +// +// Params is any value of input parameters to be the request payload. +// Data is pointer value to an object which the request's response +// payload will be deserialized to. +func New(cfg aws.Config, clientInfo metadata.ClientInfo, handlers Handlers, + retryer Retryer, operation *Operation, params interface{}, data interface{}) *Request { + + method := operation.HTTPMethod + if method == "" { + method = "POST" + } + + httpReq, _ := http.NewRequest(method, "", nil) + + var err error + httpReq.URL, err = url.Parse(clientInfo.Endpoint + operation.HTTPPath) + if err != nil { + httpReq.URL = &url.URL{} + err = awserr.New("InvalidEndpointURL", "invalid endpoint uri", err) + } + + r := &Request{ + Config: cfg, + ClientInfo: clientInfo, + Handlers: handlers.Copy(), + + Retryer: retryer, + Time: time.Now(), + ExpireTime: 0, + Operation: operation, + HTTPRequest: httpReq, + Body: nil, + Params: params, + Error: err, + Data: data, + } + r.SetBufferBody([]byte{}) + + return r +} + +// A Option is a functional option that can augment or modify a request when +// using a WithContext API operation method. +type Option func(*Request) + +// WithGetResponseHeader builds a request Option which will retrieve a single +// header value from the HTTP Response. If there are multiple values for the +// header key use WithGetResponseHeaders instead to access the http.Header +// map directly. The passed in val pointer must be non-nil. +// +// This Option can be used multiple times with a single API operation. +// +// var id2, versionID string +// svc.PutObjectWithContext(ctx, params, +// request.WithGetResponseHeader("x-amz-id-2", &id2), +// request.WithGetResponseHeader("x-amz-version-id", &versionID), +// ) +func WithGetResponseHeader(key string, val *string) Option { + return func(r *Request) { + r.Handlers.Complete.PushBack(func(req *Request) { + *val = req.HTTPResponse.Header.Get(key) + }) + } +} + +// WithGetResponseHeaders builds a request Option which will retrieve the +// headers from the HTTP response and assign them to the passed in headers +// variable. The passed in headers pointer must be non-nil. +// +// var headers http.Header +// svc.PutObjectWithContext(ctx, params, request.WithGetResponseHeaders(&headers)) +func WithGetResponseHeaders(headers *http.Header) Option { + return func(r *Request) { + r.Handlers.Complete.PushBack(func(req *Request) { + *headers = req.HTTPResponse.Header + }) + } +} + +// WithLogLevel is a request option that will set the request to use a specific +// log level when the request is made. +// +// svc.PutObjectWithContext(ctx, params, request.WithLogLevel(aws.LogDebugWithHTTPBody) +func WithLogLevel(l aws.LogLevelType) Option { + return func(r *Request) { + r.Config.LogLevel = aws.LogLevel(l) + } +} + +// ApplyOptions will apply each option to the request calling them in the order +// the were provided. +func (r *Request) ApplyOptions(opts ...Option) { + for _, opt := range opts { + opt(r) + } +} + +// Context will always returns a non-nil context. If Request does not have a +// context aws.BackgroundContext will be returned. +func (r *Request) Context() aws.Context { + if r.context != nil { + return r.context + } + return aws.BackgroundContext() +} + +// SetContext adds a Context to the current request that can be used to cancel +// a in-flight request. The Context value must not be nil, or this method will +// panic. +// +// Unlike http.Request.WithContext, SetContext does not return a copy of the +// Request. It is not safe to use use a single Request value for multiple +// requests. A new Request should be created for each API operation request. +// +// Go 1.6 and below: +// The http.Request's Cancel field will be set to the Done() value of +// the context. This will overwrite the Cancel field's value. +// +// Go 1.7 and above: +// The http.Request.WithContext will be used to set the context on the underlying +// http.Request. This will create a shallow copy of the http.Request. The SDK +// may create sub contexts in the future for nested requests such as retries. +func (r *Request) SetContext(ctx aws.Context) { + if ctx == nil { + panic("context cannot be nil") + } + setRequestContext(r, ctx) +} + +// WillRetry returns if the request's can be retried. +func (r *Request) WillRetry() bool { + return r.Error != nil && aws.BoolValue(r.Retryable) && r.RetryCount < r.MaxRetries() +} + +// ParamsFilled returns if the request's parameters have been populated +// and the parameters are valid. False is returned if no parameters are +// provided or invalid. +func (r *Request) ParamsFilled() bool { + return r.Params != nil && reflect.ValueOf(r.Params).Elem().IsValid() +} + +// DataFilled returns true if the request's data for response deserialization +// target has been set and is a valid. False is returned if data is not +// set, or is invalid. +func (r *Request) DataFilled() bool { + return r.Data != nil && reflect.ValueOf(r.Data).Elem().IsValid() +} + +// SetBufferBody will set the request's body bytes that will be sent to +// the service API. +func (r *Request) SetBufferBody(buf []byte) { + r.SetReaderBody(bytes.NewReader(buf)) +} + +// SetStringBody sets the body of the request to be backed by a string. +func (r *Request) SetStringBody(s string) { + r.SetReaderBody(strings.NewReader(s)) +} + +// SetReaderBody will set the request's body reader. +func (r *Request) SetReaderBody(reader io.ReadSeeker) { + r.Body = reader + r.ResetBody() +} + +// Presign returns the request's signed URL. Error will be returned +// if the signing fails. +func (r *Request) Presign(expireTime time.Duration) (string, error) { + r.ExpireTime = expireTime + r.NotHoist = false + + if r.Operation.BeforePresignFn != nil { + r = r.copy() + err := r.Operation.BeforePresignFn(r) + if err != nil { + return "", err + } + } + + r.Sign() + if r.Error != nil { + return "", r.Error + } + return r.HTTPRequest.URL.String(), nil +} + +// PresignRequest behaves just like presign, but hoists all headers and signs them. +// Also returns the signed hash back to the user +func (r *Request) PresignRequest(expireTime time.Duration) (string, http.Header, error) { + r.ExpireTime = expireTime + r.NotHoist = true + r.Sign() + if r.Error != nil { + return "", nil, r.Error + } + return r.HTTPRequest.URL.String(), r.SignedHeaderVals, nil +} + +func debugLogReqError(r *Request, stage string, retrying bool, err error) { + if !r.Config.LogLevel.Matches(aws.LogDebugWithRequestErrors) { + return + } + + retryStr := "not retrying" + if retrying { + retryStr = "will retry" + } + + r.Config.Logger.Log(fmt.Sprintf("DEBUG: %s %s/%s failed, %s, error %v", + stage, r.ClientInfo.ServiceName, r.Operation.Name, retryStr, err)) +} + +// Build will build the request's object so it can be signed and sent +// to the service. Build will also validate all the request's parameters. +// Anny additional build Handlers set on this request will be run +// in the order they were set. +// +// The request will only be built once. Multiple calls to build will have +// no effect. +// +// If any Validate or Build errors occur the build will stop and the error +// which occurred will be returned. +func (r *Request) Build() error { + if !r.built { + r.Handlers.Validate.Run(r) + if r.Error != nil { + debugLogReqError(r, "Validate Request", false, r.Error) + return r.Error + } + r.Handlers.Build.Run(r) + if r.Error != nil { + debugLogReqError(r, "Build Request", false, r.Error) + return r.Error + } + r.built = true + } + + return r.Error +} + +// Sign will sign the request returning error if errors are encountered. +// +// Send will build the request prior to signing. All Sign Handlers will +// be executed in the order they were set. +func (r *Request) Sign() error { + r.Build() + if r.Error != nil { + debugLogReqError(r, "Build Request", false, r.Error) + return r.Error + } + + r.Handlers.Sign.Run(r) + return r.Error +} + +// ResetBody rewinds the request body backto its starting position, and +// set's the HTTP Request body reference. When the body is read prior +// to being sent in the HTTP request it will need to be rewound. +func (r *Request) ResetBody() { + if r.safeBody != nil { + r.safeBody.Close() + } + + r.safeBody = newOffsetReader(r.Body, r.BodyStart) + + // Go 1.8 tightened and clarified the rules code needs to use when building + // requests with the http package. Go 1.8 removed the automatic detection + // of if the Request.Body was empty, or actually had bytes in it. The SDK + // always sets the Request.Body even if it is empty and should not actually + // be sent. This is incorrect. + // + // Go 1.8 did add a http.NoBody value that the SDK can use to tell the http + // client that the request really should be sent without a body. The + // Request.Body cannot be set to nil, which is preferable, because the + // field is exported and could introduce nil pointer dereferences for users + // of the SDK if they used that field. + // + // Related golang/go#18257 + l, err := computeBodyLength(r.Body) + if err != nil { + r.Error = awserr.New(ErrCodeSerialization, "failed to compute request body size", err) + return + } + + if l == 0 { + r.HTTPRequest.Body = noBodyReader + } else if l > 0 { + r.HTTPRequest.Body = r.safeBody + } else { + // Hack to prevent sending bodies for methods where the body + // should be ignored by the server. Sending bodies on these + // methods without an associated ContentLength will cause the + // request to socket timeout because the server does not handle + // Transfer-Encoding: chunked bodies for these methods. + // + // This would only happen if a aws.ReaderSeekerCloser was used with + // a io.Reader that was not also an io.Seeker. + switch r.Operation.HTTPMethod { + case "GET", "HEAD", "DELETE": + r.HTTPRequest.Body = noBodyReader + default: + r.HTTPRequest.Body = r.safeBody + } + } +} + +// Attempts to compute the length of the body of the reader using the +// io.Seeker interface. If the value is not seekable because of being +// a ReaderSeekerCloser without an unerlying Seeker -1 will be returned. +// If no error occurs the length of the body will be returned. +func computeBodyLength(r io.ReadSeeker) (int64, error) { + seekable := true + // Determine if the seeker is actually seekable. ReaderSeekerCloser + // hides the fact that a io.Readers might not actually be seekable. + switch v := r.(type) { + case aws.ReaderSeekerCloser: + seekable = v.IsSeeker() + case *aws.ReaderSeekerCloser: + seekable = v.IsSeeker() + } + if !seekable { + return -1, nil + } + + curOffset, err := r.Seek(0, 1) + if err != nil { + return 0, err + } + + endOffset, err := r.Seek(0, 2) + if err != nil { + return 0, err + } + + _, err = r.Seek(curOffset, 0) + if err != nil { + return 0, err + } + + return endOffset - curOffset, nil +} + +// GetBody will return an io.ReadSeeker of the Request's underlying +// input body with a concurrency safe wrapper. +func (r *Request) GetBody() io.ReadSeeker { + return r.safeBody +} + +// Send will send the request returning error if errors are encountered. +// +// Send will sign the request prior to sending. All Send Handlers will +// be executed in the order they were set. +// +// Canceling a request is non-deterministic. If a request has been canceled, +// then the transport will choose, randomly, one of the state channels during +// reads or getting the connection. +// +// readLoop() and getConn(req *Request, cm connectMethod) +// https://github.com/golang/go/blob/master/src/net/http/transport.go +// +// Send will not close the request.Request's body. +func (r *Request) Send() error { + defer func() { + // Regardless of success or failure of the request trigger the Complete + // request handlers. + r.Handlers.Complete.Run(r) + }() + + for { + if aws.BoolValue(r.Retryable) { + if r.Config.LogLevel.Matches(aws.LogDebugWithRequestRetries) { + r.Config.Logger.Log(fmt.Sprintf("DEBUG: Retrying Request %s/%s, attempt %d", + r.ClientInfo.ServiceName, r.Operation.Name, r.RetryCount)) + } + + // The previous http.Request will have a reference to the r.Body + // and the HTTP Client's Transport may still be reading from + // the request's body even though the Client's Do returned. + r.HTTPRequest = copyHTTPRequest(r.HTTPRequest, nil) + r.ResetBody() + + // Closing response body to ensure that no response body is leaked + // between retry attempts. + if r.HTTPResponse != nil && r.HTTPResponse.Body != nil { + r.HTTPResponse.Body.Close() + } + } + + r.Sign() + if r.Error != nil { + return r.Error + } + + r.Retryable = nil + + r.Handlers.Send.Run(r) + if r.Error != nil { + if !shouldRetryCancel(r) { + return r.Error + } + + err := r.Error + r.Handlers.Retry.Run(r) + r.Handlers.AfterRetry.Run(r) + if r.Error != nil { + debugLogReqError(r, "Send Request", false, r.Error) + return r.Error + } + debugLogReqError(r, "Send Request", true, err) + continue + } + r.Handlers.UnmarshalMeta.Run(r) + r.Handlers.ValidateResponse.Run(r) + if r.Error != nil { + err := r.Error + r.Handlers.UnmarshalError.Run(r) + r.Handlers.Retry.Run(r) + r.Handlers.AfterRetry.Run(r) + if r.Error != nil { + debugLogReqError(r, "Validate Response", false, r.Error) + return r.Error + } + debugLogReqError(r, "Validate Response", true, err) + continue + } + + r.Handlers.Unmarshal.Run(r) + if r.Error != nil { + err := r.Error + r.Handlers.Retry.Run(r) + r.Handlers.AfterRetry.Run(r) + if r.Error != nil { + debugLogReqError(r, "Unmarshal Response", false, r.Error) + return r.Error + } + debugLogReqError(r, "Unmarshal Response", true, err) + continue + } + + break + } + + return nil +} + +// copy will copy a request which will allow for local manipulation of the +// request. +func (r *Request) copy() *Request { + req := &Request{} + *req = *r + req.Handlers = r.Handlers.Copy() + op := *r.Operation + req.Operation = &op + return req +} + +// AddToUserAgent adds the string to the end of the request's current user agent. +func AddToUserAgent(r *Request, s string) { + curUA := r.HTTPRequest.Header.Get("User-Agent") + if len(curUA) > 0 { + s = curUA + " " + s + } + r.HTTPRequest.Header.Set("User-Agent", s) +} + +func shouldRetryCancel(r *Request) bool { + awsErr, ok := r.Error.(awserr.Error) + timeoutErr := false + errStr := r.Error.Error() + if ok { + if awsErr.Code() == CanceledErrorCode { + return false + } + err := awsErr.OrigErr() + netErr, netOK := err.(net.Error) + timeoutErr = netOK && netErr.Temporary() + if urlErr, ok := err.(*url.Error); !timeoutErr && ok { + errStr = urlErr.Err.Error() + } + } + + // There can be two types of canceled errors here. + // The first being a net.Error and the other being an error. + // If the request was timed out, we want to continue the retry + // process. Otherwise, return the canceled error. + return timeoutErr || + (errStr != "net/http: request canceled" && + errStr != "net/http: request canceled while waiting for connection") + +} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/request/request_1_7.go b/vendor/github.com/aws/aws-sdk-go/aws/request/request_1_7.go new file mode 100644 index 0000000000..1323af9007 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/aws/request/request_1_7.go @@ -0,0 +1,21 @@ +// +build !go1.8 + +package request + +import "io" + +// NoBody is an io.ReadCloser with no bytes. Read always returns EOF +// and Close always returns nil. It can be used in an outgoing client +// request to explicitly signal that a request has zero bytes. +// An alternative, however, is to simply set Request.Body to nil. +// +// Copy of Go 1.8 NoBody type from net/http/http.go +type noBody struct{} + +func (noBody) Read([]byte) (int, error) { return 0, io.EOF } +func (noBody) Close() error { return nil } +func (noBody) WriteTo(io.Writer) (int64, error) { return 0, nil } + +// Is an empty reader that will trigger the Go HTTP client to not include +// and body in the HTTP request. +var noBodyReader = noBody{} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/request/request_1_8.go b/vendor/github.com/aws/aws-sdk-go/aws/request/request_1_8.go new file mode 100644 index 0000000000..8b963f4de2 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/aws/request/request_1_8.go @@ -0,0 +1,9 @@ +// +build go1.8 + +package request + +import "net/http" + +// Is a http.NoBody reader instructing Go HTTP client to not include +// and body in the HTTP request. +var noBodyReader = http.NoBody diff --git a/vendor/github.com/aws/aws-sdk-go/aws/request/request_context.go b/vendor/github.com/aws/aws-sdk-go/aws/request/request_context.go new file mode 100644 index 0000000000..a7365cd1e4 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/aws/request/request_context.go @@ -0,0 +1,14 @@ +// +build go1.7 + +package request + +import "github.com/aws/aws-sdk-go/aws" + +// setContext updates the Request to use the passed in context for cancellation. +// Context will also be used for request retry delay. +// +// Creates shallow copy of the http.Request with the WithContext method. +func setRequestContext(r *Request, ctx aws.Context) { + r.context = ctx + r.HTTPRequest = r.HTTPRequest.WithContext(ctx) +} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/request/request_context_1_6.go b/vendor/github.com/aws/aws-sdk-go/aws/request/request_context_1_6.go new file mode 100644 index 0000000000..307fa0705b --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/aws/request/request_context_1_6.go @@ -0,0 +1,14 @@ +// +build !go1.7 + +package request + +import "github.com/aws/aws-sdk-go/aws" + +// setContext updates the Request to use the passed in context for cancellation. +// Context will also be used for request retry delay. +// +// Creates shallow copy of the http.Request with the WithContext method. +func setRequestContext(r *Request, ctx aws.Context) { + r.context = ctx + r.HTTPRequest.Cancel = ctx.Done() +} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/request/request_pagination.go b/vendor/github.com/aws/aws-sdk-go/aws/request/request_pagination.go new file mode 100644 index 0000000000..59de6736b6 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/aws/request/request_pagination.go @@ -0,0 +1,236 @@ +package request + +import ( + "reflect" + "sync/atomic" + + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/awsutil" +) + +// A Pagination provides paginating of SDK API operations which are paginatable. +// Generally you should not use this type directly, but use the "Pages" API +// operations method to automatically perform pagination for you. Such as, +// "S3.ListObjectsPages", and "S3.ListObjectsPagesWithContext" methods. +// +// Pagination differs from a Paginator type in that pagination is the type that +// does the pagination between API operations, and Paginator defines the +// configuration that will be used per page request. +// +// cont := true +// for p.Next() && cont { +// data := p.Page().(*s3.ListObjectsOutput) +// // process the page's data +// } +// return p.Err() +// +// See service client API operation Pages methods for examples how the SDK will +// use the Pagination type. +type Pagination struct { + // Function to return a Request value for each pagination request. + // Any configuration or handlers that need to be applied to the request + // prior to getting the next page should be done here before the request + // returned. + // + // NewRequest should always be built from the same API operations. It is + // undefined if different API operations are returned on subsequent calls. + NewRequest func() (*Request, error) + + started bool + nextTokens []interface{} + + err error + curPage interface{} +} + +// HasNextPage will return true if Pagination is able to determine that the API +// operation has additional pages. False will be returned if there are no more +// pages remaining. +// +// Will always return true if Next has not been called yet. +func (p *Pagination) HasNextPage() bool { + return !(p.started && len(p.nextTokens) == 0) +} + +// Err returns the error Pagination encountered when retrieving the next page. +func (p *Pagination) Err() error { + return p.err +} + +// Page returns the current page. Page should only be called after a successful +// call to Next. It is undefined what Page will return if Page is called after +// Next returns false. +func (p *Pagination) Page() interface{} { + return p.curPage +} + +// Next will attempt to retrieve the next page for the API operation. When a page +// is retrieved true will be returned. If the page cannot be retrieved, or there +// are no more pages false will be returned. +// +// Use the Page method to retrieve the current page data. The data will need +// to be cast to the API operation's output type. +// +// Use the Err method to determine if an error occurred if Page returns false. +func (p *Pagination) Next() bool { + if !p.HasNextPage() { + return false + } + + req, err := p.NewRequest() + if err != nil { + p.err = err + return false + } + + if p.started { + for i, intok := range req.Operation.InputTokens { + awsutil.SetValueAtPath(req.Params, intok, p.nextTokens[i]) + } + } + p.started = true + + err = req.Send() + if err != nil { + p.err = err + return false + } + + p.nextTokens = req.nextPageTokens() + p.curPage = req.Data + + return true +} + +// A Paginator is the configuration data that defines how an API operation +// should be paginated. This type is used by the API service models to define +// the generated pagination config for service APIs. +// +// The Pagination type is what provides iterating between pages of an API. It +// is only used to store the token metadata the SDK should use for performing +// pagination. +type Paginator struct { + InputTokens []string + OutputTokens []string + LimitToken string + TruncationToken string +} + +// nextPageTokens returns the tokens to use when asking for the next page of data. +func (r *Request) nextPageTokens() []interface{} { + if r.Operation.Paginator == nil { + return nil + } + if r.Operation.TruncationToken != "" { + tr, _ := awsutil.ValuesAtPath(r.Data, r.Operation.TruncationToken) + if len(tr) == 0 { + return nil + } + + switch v := tr[0].(type) { + case *bool: + if !aws.BoolValue(v) { + return nil + } + case bool: + if v == false { + return nil + } + } + } + + tokens := []interface{}{} + tokenAdded := false + for _, outToken := range r.Operation.OutputTokens { + v, _ := awsutil.ValuesAtPath(r.Data, outToken) + if len(v) > 0 { + tokens = append(tokens, v[0]) + tokenAdded = true + } else { + tokens = append(tokens, nil) + } + } + if !tokenAdded { + return nil + } + + return tokens +} + +// Ensure a deprecated item is only logged once instead of each time its used. +func logDeprecatedf(logger aws.Logger, flag *int32, msg string) { + if logger == nil { + return + } + if atomic.CompareAndSwapInt32(flag, 0, 1) { + logger.Log(msg) + } +} + +var ( + logDeprecatedHasNextPage int32 + logDeprecatedNextPage int32 + logDeprecatedEachPage int32 +) + +// HasNextPage returns true if this request has more pages of data available. +// +// Deprecated Use Pagination type for configurable pagination of API operations +func (r *Request) HasNextPage() bool { + logDeprecatedf(r.Config.Logger, &logDeprecatedHasNextPage, + "Request.HasNextPage deprecated. Use Pagination type for configurable pagination of API operations") + + return len(r.nextPageTokens()) > 0 +} + +// NextPage returns a new Request that can be executed to return the next +// page of result data. Call .Send() on this request to execute it. +// +// Deprecated Use Pagination type for configurable pagination of API operations +func (r *Request) NextPage() *Request { + logDeprecatedf(r.Config.Logger, &logDeprecatedNextPage, + "Request.NextPage deprecated. Use Pagination type for configurable pagination of API operations") + + tokens := r.nextPageTokens() + if len(tokens) == 0 { + return nil + } + + data := reflect.New(reflect.TypeOf(r.Data).Elem()).Interface() + nr := New(r.Config, r.ClientInfo, r.Handlers, r.Retryer, r.Operation, awsutil.CopyOf(r.Params), data) + for i, intok := range nr.Operation.InputTokens { + awsutil.SetValueAtPath(nr.Params, intok, tokens[i]) + } + return nr +} + +// EachPage iterates over each page of a paginated request object. The fn +// parameter should be a function with the following sample signature: +// +// func(page *T, lastPage bool) bool { +// return true // return false to stop iterating +// } +// +// Where "T" is the structure type matching the output structure of the given +// operation. For example, a request object generated by +// DynamoDB.ListTablesRequest() would expect to see dynamodb.ListTablesOutput +// as the structure "T". The lastPage value represents whether the page is +// the last page of data or not. The return value of this function should +// return true to keep iterating or false to stop. +// +// Deprecated Use Pagination type for configurable pagination of API operations +func (r *Request) EachPage(fn func(data interface{}, isLastPage bool) (shouldContinue bool)) error { + logDeprecatedf(r.Config.Logger, &logDeprecatedEachPage, + "Request.EachPage deprecated. Use Pagination type for configurable pagination of API operations") + + for page := r; page != nil; page = page.NextPage() { + if err := page.Send(); err != nil { + return err + } + if getNextPage := fn(page.Data, !page.HasNextPage()); !getNextPage { + return page.Error + } + } + + return nil +} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/request/retryer.go b/vendor/github.com/aws/aws-sdk-go/aws/request/retryer.go new file mode 100644 index 0000000000..632cd70996 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/aws/request/retryer.go @@ -0,0 +1,127 @@ +package request + +import ( + "net" + "os" + "syscall" + "time" + + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/awserr" +) + +// Retryer is an interface to control retry logic for a given service. +// The default implementation used by most services is the service.DefaultRetryer +// structure, which contains basic retry logic using exponential backoff. +type Retryer interface { + RetryRules(*Request) time.Duration + ShouldRetry(*Request) bool + MaxRetries() int +} + +// WithRetryer sets a config Retryer value to the given Config returning it +// for chaining. +func WithRetryer(cfg *aws.Config, retryer Retryer) *aws.Config { + cfg.Retryer = retryer + return cfg +} + +// retryableCodes is a collection of service response codes which are retry-able +// without any further action. +var retryableCodes = map[string]struct{}{ + "RequestError": {}, + "RequestTimeout": {}, + ErrCodeResponseTimeout: {}, + "RequestTimeoutException": {}, // Glacier's flavor of RequestTimeout +} + +var throttleCodes = map[string]struct{}{ + "ProvisionedThroughputExceededException": {}, + "Throttling": {}, + "ThrottlingException": {}, + "RequestLimitExceeded": {}, + "RequestThrottled": {}, + "LimitExceededException": {}, // Deleting 10+ DynamoDb tables at once + "TooManyRequestsException": {}, // Lambda functions + "PriorRequestNotComplete": {}, // Route53 +} + +// credsExpiredCodes is a collection of error codes which signify the credentials +// need to be refreshed. Expired tokens require refreshing of credentials, and +// resigning before the request can be retried. +var credsExpiredCodes = map[string]struct{}{ + "ExpiredToken": {}, + "ExpiredTokenException": {}, + "RequestExpired": {}, // EC2 Only +} + +func isCodeThrottle(code string) bool { + _, ok := throttleCodes[code] + return ok +} + +func isCodeRetryable(code string) bool { + if _, ok := retryableCodes[code]; ok { + return true + } + + return isCodeExpiredCreds(code) +} + +func isCodeExpiredCreds(code string) bool { + _, ok := credsExpiredCodes[code] + return ok +} + +func isSerializationErrorRetryable(err error) bool { + if err == nil { + return false + } + + if aerr, ok := err.(awserr.Error); ok { + return isCodeRetryable(aerr.Code()) + } + + if opErr, ok := err.(*net.OpError); ok { + if sysErr, ok := opErr.Err.(*os.SyscallError); ok { + return sysErr.Err == syscall.ECONNRESET + } + } + + return false +} + +// IsErrorRetryable returns whether the error is retryable, based on its Code. +// Returns false if the request has no Error set. +func (r *Request) IsErrorRetryable() bool { + if r.Error != nil { + if err, ok := r.Error.(awserr.Error); ok && err.Code() != ErrCodeSerialization { + return isCodeRetryable(err.Code()) + } else if ok { + return isSerializationErrorRetryable(err.OrigErr()) + } + } + return false +} + +// IsErrorThrottle returns whether the error is to be throttled based on its code. +// Returns false if the request has no Error set +func (r *Request) IsErrorThrottle() bool { + if r.Error != nil { + if err, ok := r.Error.(awserr.Error); ok { + return isCodeThrottle(err.Code()) + } + } + return false +} + +// IsErrorExpired returns whether the error code is a credential expiry error. +// Returns false if the request has no Error set. +func (r *Request) IsErrorExpired() bool { + if r.Error != nil { + if err, ok := r.Error.(awserr.Error); ok { + return isCodeExpiredCreds(err.Code()) + } + } + return false +} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/request/timeout_read_closer.go b/vendor/github.com/aws/aws-sdk-go/aws/request/timeout_read_closer.go new file mode 100644 index 0000000000..09a44eb987 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/aws/request/timeout_read_closer.go @@ -0,0 +1,94 @@ +package request + +import ( + "io" + "time" + + "github.com/aws/aws-sdk-go/aws/awserr" +) + +var timeoutErr = awserr.New( + ErrCodeResponseTimeout, + "read on body has reached the timeout limit", + nil, +) + +type readResult struct { + n int + err error +} + +// timeoutReadCloser will handle body reads that take too long. +// We will return a ErrReadTimeout error if a timeout occurs. +type timeoutReadCloser struct { + reader io.ReadCloser + duration time.Duration +} + +// Read will spin off a goroutine to call the reader's Read method. We will +// select on the timer's channel or the read's channel. Whoever completes first +// will be returned. +func (r *timeoutReadCloser) Read(b []byte) (int, error) { + timer := time.NewTimer(r.duration) + c := make(chan readResult, 1) + + go func() { + n, err := r.reader.Read(b) + timer.Stop() + c <- readResult{n: n, err: err} + }() + + select { + case data := <-c: + return data.n, data.err + case <-timer.C: + return 0, timeoutErr + } +} + +func (r *timeoutReadCloser) Close() error { + return r.reader.Close() +} + +const ( + // HandlerResponseTimeout is what we use to signify the name of the + // response timeout handler. + HandlerResponseTimeout = "ResponseTimeoutHandler" +) + +// adaptToResponseTimeoutError is a handler that will replace any top level error +// to a ErrCodeResponseTimeout, if its child is that. +func adaptToResponseTimeoutError(req *Request) { + if err, ok := req.Error.(awserr.Error); ok { + aerr, ok := err.OrigErr().(awserr.Error) + if ok && aerr.Code() == ErrCodeResponseTimeout { + req.Error = aerr + } + } +} + +// WithResponseReadTimeout is a request option that will wrap the body in a timeout read closer. +// This will allow for per read timeouts. If a timeout occurred, we will return the +// ErrCodeResponseTimeout. +// +// svc.PutObjectWithContext(ctx, params, request.WithTimeoutReadCloser(30 * time.Second) +func WithResponseReadTimeout(duration time.Duration) Option { + return func(r *Request) { + + var timeoutHandler = NamedHandler{ + HandlerResponseTimeout, + func(req *Request) { + req.HTTPResponse.Body = &timeoutReadCloser{ + reader: req.HTTPResponse.Body, + duration: duration, + } + }} + + // remove the handler so we are not stomping over any new durations. + r.Handlers.Send.RemoveByName(HandlerResponseTimeout) + r.Handlers.Send.PushBackNamed(timeoutHandler) + + r.Handlers.Unmarshal.PushBack(adaptToResponseTimeoutError) + r.Handlers.UnmarshalError.PushBack(adaptToResponseTimeoutError) + } +} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/request/validation.go b/vendor/github.com/aws/aws-sdk-go/aws/request/validation.go new file mode 100644 index 0000000000..2520286b75 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/aws/request/validation.go @@ -0,0 +1,234 @@ +package request + +import ( + "bytes" + "fmt" + + "github.com/aws/aws-sdk-go/aws/awserr" +) + +const ( + // InvalidParameterErrCode is the error code for invalid parameters errors + InvalidParameterErrCode = "InvalidParameter" + // ParamRequiredErrCode is the error code for required parameter errors + ParamRequiredErrCode = "ParamRequiredError" + // ParamMinValueErrCode is the error code for fields with too low of a + // number value. + ParamMinValueErrCode = "ParamMinValueError" + // ParamMinLenErrCode is the error code for fields without enough elements. + ParamMinLenErrCode = "ParamMinLenError" +) + +// Validator provides a way for types to perform validation logic on their +// input values that external code can use to determine if a type's values +// are valid. +type Validator interface { + Validate() error +} + +// An ErrInvalidParams provides wrapping of invalid parameter errors found when +// validating API operation input parameters. +type ErrInvalidParams struct { + // Context is the base context of the invalid parameter group. + Context string + errs []ErrInvalidParam +} + +// Add adds a new invalid parameter error to the collection of invalid +// parameters. The context of the invalid parameter will be updated to reflect +// this collection. +func (e *ErrInvalidParams) Add(err ErrInvalidParam) { + err.SetContext(e.Context) + e.errs = append(e.errs, err) +} + +// AddNested adds the invalid parameter errors from another ErrInvalidParams +// value into this collection. The nested errors will have their nested context +// updated and base context to reflect the merging. +// +// Use for nested validations errors. +func (e *ErrInvalidParams) AddNested(nestedCtx string, nested ErrInvalidParams) { + for _, err := range nested.errs { + err.SetContext(e.Context) + err.AddNestedContext(nestedCtx) + e.errs = append(e.errs, err) + } +} + +// Len returns the number of invalid parameter errors +func (e ErrInvalidParams) Len() int { + return len(e.errs) +} + +// Code returns the code of the error +func (e ErrInvalidParams) Code() string { + return InvalidParameterErrCode +} + +// Message returns the message of the error +func (e ErrInvalidParams) Message() string { + return fmt.Sprintf("%d validation error(s) found.", len(e.errs)) +} + +// Error returns the string formatted form of the invalid parameters. +func (e ErrInvalidParams) Error() string { + w := &bytes.Buffer{} + fmt.Fprintf(w, "%s: %s\n", e.Code(), e.Message()) + + for _, err := range e.errs { + fmt.Fprintf(w, "- %s\n", err.Message()) + } + + return w.String() +} + +// OrigErr returns the invalid parameters as a awserr.BatchedErrors value +func (e ErrInvalidParams) OrigErr() error { + return awserr.NewBatchError( + InvalidParameterErrCode, e.Message(), e.OrigErrs()) +} + +// OrigErrs returns a slice of the invalid parameters +func (e ErrInvalidParams) OrigErrs() []error { + errs := make([]error, len(e.errs)) + for i := 0; i < len(errs); i++ { + errs[i] = e.errs[i] + } + + return errs +} + +// An ErrInvalidParam represents an invalid parameter error type. +type ErrInvalidParam interface { + awserr.Error + + // Field name the error occurred on. + Field() string + + // SetContext updates the context of the error. + SetContext(string) + + // AddNestedContext updates the error's context to include a nested level. + AddNestedContext(string) +} + +type errInvalidParam struct { + context string + nestedContext string + field string + code string + msg string +} + +// Code returns the error code for the type of invalid parameter. +func (e *errInvalidParam) Code() string { + return e.code +} + +// Message returns the reason the parameter was invalid, and its context. +func (e *errInvalidParam) Message() string { + return fmt.Sprintf("%s, %s.", e.msg, e.Field()) +} + +// Error returns the string version of the invalid parameter error. +func (e *errInvalidParam) Error() string { + return fmt.Sprintf("%s: %s", e.code, e.Message()) +} + +// OrigErr returns nil, Implemented for awserr.Error interface. +func (e *errInvalidParam) OrigErr() error { + return nil +} + +// Field Returns the field and context the error occurred. +func (e *errInvalidParam) Field() string { + field := e.context + if len(field) > 0 { + field += "." + } + if len(e.nestedContext) > 0 { + field += fmt.Sprintf("%s.", e.nestedContext) + } + field += e.field + + return field +} + +// SetContext updates the base context of the error. +func (e *errInvalidParam) SetContext(ctx string) { + e.context = ctx +} + +// AddNestedContext prepends a context to the field's path. +func (e *errInvalidParam) AddNestedContext(ctx string) { + if len(e.nestedContext) == 0 { + e.nestedContext = ctx + } else { + e.nestedContext = fmt.Sprintf("%s.%s", ctx, e.nestedContext) + } + +} + +// An ErrParamRequired represents an required parameter error. +type ErrParamRequired struct { + errInvalidParam +} + +// NewErrParamRequired creates a new required parameter error. +func NewErrParamRequired(field string) *ErrParamRequired { + return &ErrParamRequired{ + errInvalidParam{ + code: ParamRequiredErrCode, + field: field, + msg: fmt.Sprintf("missing required field"), + }, + } +} + +// An ErrParamMinValue represents a minimum value parameter error. +type ErrParamMinValue struct { + errInvalidParam + min float64 +} + +// NewErrParamMinValue creates a new minimum value parameter error. +func NewErrParamMinValue(field string, min float64) *ErrParamMinValue { + return &ErrParamMinValue{ + errInvalidParam: errInvalidParam{ + code: ParamMinValueErrCode, + field: field, + msg: fmt.Sprintf("minimum field value of %v", min), + }, + min: min, + } +} + +// MinValue returns the field's require minimum value. +// +// float64 is returned for both int and float min values. +func (e *ErrParamMinValue) MinValue() float64 { + return e.min +} + +// An ErrParamMinLen represents a minimum length parameter error. +type ErrParamMinLen struct { + errInvalidParam + min int +} + +// NewErrParamMinLen creates a new minimum length parameter error. +func NewErrParamMinLen(field string, min int) *ErrParamMinLen { + return &ErrParamMinLen{ + errInvalidParam: errInvalidParam{ + code: ParamMinValueErrCode, + field: field, + msg: fmt.Sprintf("minimum field size of %v", min), + }, + min: min, + } +} + +// MinLen returns the field's required minimum length. +func (e *ErrParamMinLen) MinLen() int { + return e.min +} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/request/waiter.go b/vendor/github.com/aws/aws-sdk-go/aws/request/waiter.go new file mode 100644 index 0000000000..354c3812e6 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/aws/request/waiter.go @@ -0,0 +1,293 @@ +package request + +import ( + "fmt" + "time" + + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/awserr" + "github.com/aws/aws-sdk-go/aws/awsutil" +) + +// WaiterResourceNotReadyErrorCode is the error code returned by a waiter when +// the waiter's max attempts have been exhausted. +const WaiterResourceNotReadyErrorCode = "ResourceNotReady" + +// A WaiterOption is a function that will update the Waiter value's fields to +// configure the waiter. +type WaiterOption func(*Waiter) + +// WithWaiterMaxAttempts returns the maximum number of times the waiter should +// attempt to check the resource for the target state. +func WithWaiterMaxAttempts(max int) WaiterOption { + return func(w *Waiter) { + w.MaxAttempts = max + } +} + +// WaiterDelay will return a delay the waiter should pause between attempts to +// check the resource state. The passed in attempt is the number of times the +// Waiter has checked the resource state. +// +// Attempt is the number of attempts the Waiter has made checking the resource +// state. +type WaiterDelay func(attempt int) time.Duration + +// ConstantWaiterDelay returns a WaiterDelay that will always return a constant +// delay the waiter should use between attempts. It ignores the number of +// attempts made. +func ConstantWaiterDelay(delay time.Duration) WaiterDelay { + return func(attempt int) time.Duration { + return delay + } +} + +// WithWaiterDelay will set the Waiter to use the WaiterDelay passed in. +func WithWaiterDelay(delayer WaiterDelay) WaiterOption { + return func(w *Waiter) { + w.Delay = delayer + } +} + +// WithWaiterLogger returns a waiter option to set the logger a waiter +// should use to log warnings and errors to. +func WithWaiterLogger(logger aws.Logger) WaiterOption { + return func(w *Waiter) { + w.Logger = logger + } +} + +// WithWaiterRequestOptions returns a waiter option setting the request +// options for each request the waiter makes. Appends to waiter's request +// options already set. +func WithWaiterRequestOptions(opts ...Option) WaiterOption { + return func(w *Waiter) { + w.RequestOptions = append(w.RequestOptions, opts...) + } +} + +// A Waiter provides the functionality to performing blocking call which will +// wait for an resource state to be satisfied a service. +// +// This type should not be used directly. The API operations provided in the +// service packages prefixed with "WaitUntil" should be used instead. +type Waiter struct { + Name string + Acceptors []WaiterAcceptor + Logger aws.Logger + + MaxAttempts int + Delay WaiterDelay + + RequestOptions []Option + NewRequest func([]Option) (*Request, error) +} + +// ApplyOptions updates the waiter with the list of waiter options provided. +func (w *Waiter) ApplyOptions(opts ...WaiterOption) { + for _, fn := range opts { + fn(w) + } +} + +// WaiterState are states the waiter uses based on WaiterAcceptor definitions +// to identify if the resource state the waiter is waiting on has occurred. +type WaiterState int + +// String returns the string representation of the waiter state. +func (s WaiterState) String() string { + switch s { + case SuccessWaiterState: + return "success" + case FailureWaiterState: + return "failure" + case RetryWaiterState: + return "retry" + default: + return "unknown waiter state" + } +} + +// States the waiter acceptors will use to identify target resource states. +const ( + SuccessWaiterState WaiterState = iota // waiter successful + FailureWaiterState // waiter failed + RetryWaiterState // waiter needs to be retried +) + +// WaiterMatchMode is the mode that the waiter will use to match the WaiterAcceptor +// definition's Expected attribute. +type WaiterMatchMode int + +// Modes the waiter will use when inspecting API response to identify target +// resource states. +const ( + PathAllWaiterMatch WaiterMatchMode = iota // match on all paths + PathWaiterMatch // match on specific path + PathAnyWaiterMatch // match on any path + PathListWaiterMatch // match on list of paths + StatusWaiterMatch // match on status code + ErrorWaiterMatch // match on error +) + +// String returns the string representation of the waiter match mode. +func (m WaiterMatchMode) String() string { + switch m { + case PathAllWaiterMatch: + return "pathAll" + case PathWaiterMatch: + return "path" + case PathAnyWaiterMatch: + return "pathAny" + case PathListWaiterMatch: + return "pathList" + case StatusWaiterMatch: + return "status" + case ErrorWaiterMatch: + return "error" + default: + return "unknown waiter match mode" + } +} + +// WaitWithContext will make requests for the API operation using NewRequest to +// build API requests. The request's response will be compared against the +// Waiter's Acceptors to determine the successful state of the resource the +// waiter is inspecting. +// +// The passed in context must not be nil. If it is nil a panic will occur. The +// Context will be used to cancel the waiter's pending requests and retry delays. +// Use aws.BackgroundContext if no context is available. +// +// The waiter will continue until the target state defined by the Acceptors, +// or the max attempts expires. +// +// Will return the WaiterResourceNotReadyErrorCode error code if the waiter's +// retryer ShouldRetry returns false. This normally will happen when the max +// wait attempts expires. +func (w Waiter) WaitWithContext(ctx aws.Context) error { + + for attempt := 1; ; attempt++ { + req, err := w.NewRequest(w.RequestOptions) + if err != nil { + waiterLogf(w.Logger, "unable to create request %v", err) + return err + } + req.Handlers.Build.PushBack(MakeAddToUserAgentFreeFormHandler("Waiter")) + err = req.Send() + + // See if any of the acceptors match the request's response, or error + for _, a := range w.Acceptors { + var matched bool + matched, err = a.match(w.Name, w.Logger, req, err) + if err != nil { + // Error occurred during current waiter call + return err + } else if matched { + // Match was found can stop here and return + return nil + } + } + + // The Waiter should only check the resource state MaxAttempts times + // This is here instead of in the for loop above to prevent delaying + // unnecessary when the waiter will not retry. + if attempt == w.MaxAttempts { + break + } + + // Delay to wait before inspecting the resource again + delay := w.Delay(attempt) + if sleepFn := req.Config.SleepDelay; sleepFn != nil { + // Support SleepDelay for backwards compatibility and testing + sleepFn(delay) + } else if err := aws.SleepWithContext(ctx, delay); err != nil { + return awserr.New(CanceledErrorCode, "waiter context canceled", err) + } + } + + return awserr.New(WaiterResourceNotReadyErrorCode, "exceeded wait attempts", nil) +} + +// A WaiterAcceptor provides the information needed to wait for an API operation +// to complete. +type WaiterAcceptor struct { + State WaiterState + Matcher WaiterMatchMode + Argument string + Expected interface{} +} + +// match returns if the acceptor found a match with the passed in request +// or error. True is returned if the acceptor made a match, error is returned +// if there was an error attempting to perform the match. +func (a *WaiterAcceptor) match(name string, l aws.Logger, req *Request, err error) (bool, error) { + result := false + var vals []interface{} + + switch a.Matcher { + case PathAllWaiterMatch, PathWaiterMatch: + // Require all matches to be equal for result to match + vals, _ = awsutil.ValuesAtPath(req.Data, a.Argument) + if len(vals) == 0 { + break + } + result = true + for _, val := range vals { + if !awsutil.DeepEqual(val, a.Expected) { + result = false + break + } + } + case PathAnyWaiterMatch: + // Only a single match needs to equal for the result to match + vals, _ = awsutil.ValuesAtPath(req.Data, a.Argument) + for _, val := range vals { + if awsutil.DeepEqual(val, a.Expected) { + result = true + break + } + } + case PathListWaiterMatch: + // ignored matcher + case StatusWaiterMatch: + s := a.Expected.(int) + result = s == req.HTTPResponse.StatusCode + case ErrorWaiterMatch: + if aerr, ok := err.(awserr.Error); ok { + result = aerr.Code() == a.Expected.(string) + } + default: + waiterLogf(l, "WARNING: Waiter %s encountered unexpected matcher: %s", + name, a.Matcher) + } + + if !result { + // If there was no matching result found there is nothing more to do + // for this response, retry the request. + return false, nil + } + + switch a.State { + case SuccessWaiterState: + // waiter completed + return true, nil + case FailureWaiterState: + // Waiter failure state triggered + return false, awserr.New("ResourceNotReady", + "failed waiting for successful resource state", err) + case RetryWaiterState: + // clear the error and retry the operation + return false, nil + default: + waiterLogf(l, "WARNING: Waiter %s encountered unexpected state: %s", + name, a.State) + return false, nil + } +} + +func waiterLogf(logger aws.Logger, msg string, args ...interface{}) { + if logger != nil { + logger.Log(fmt.Sprintf(msg, args...)) + } +} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/session/doc.go b/vendor/github.com/aws/aws-sdk-go/aws/session/doc.go new file mode 100644 index 0000000000..2fe35e74d7 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/aws/session/doc.go @@ -0,0 +1,274 @@ +/* +Package session provides configuration for the SDK's service clients. + +Sessions can be shared across all service clients that share the same base +configuration. The Session is built from the SDK's default configuration and +request handlers. + +Sessions should be cached when possible, because creating a new Session will +load all configuration values from the environment, and config files each time +the Session is created. Sharing the Session value across all of your service +clients will ensure the configuration is loaded the fewest number of times possible. + +Concurrency + +Sessions are safe to use concurrently as long as the Session is not being +modified. The SDK will not modify the Session once the Session has been created. +Creating service clients concurrently from a shared Session is safe. + +Sessions from Shared Config + +Sessions can be created using the method above that will only load the +additional config if the AWS_SDK_LOAD_CONFIG environment variable is set. +Alternatively you can explicitly create a Session with shared config enabled. +To do this you can use NewSessionWithOptions to configure how the Session will +be created. Using the NewSessionWithOptions with SharedConfigState set to +SharedConfigEnable will create the session as if the AWS_SDK_LOAD_CONFIG +environment variable was set. + +Creating Sessions + +When creating Sessions optional aws.Config values can be passed in that will +override the default, or loaded config values the Session is being created +with. This allows you to provide additional, or case based, configuration +as needed. + +By default NewSession will only load credentials from the shared credentials +file (~/.aws/credentials). If the AWS_SDK_LOAD_CONFIG environment variable is +set to a truthy value the Session will be created from the configuration +values from the shared config (~/.aws/config) and shared credentials +(~/.aws/credentials) files. See the section Sessions from Shared Config for +more information. + +Create a Session with the default config and request handlers. With credentials +region, and profile loaded from the environment and shared config automatically. +Requires the AWS_PROFILE to be set, or "default" is used. + + // Create Session + sess := session.Must(session.NewSession()) + + // Create a Session with a custom region + sess := session.Must(session.NewSession(&aws.Config{ + Region: aws.String("us-east-1"), + })) + + // Create a S3 client instance from a session + sess := session.Must(session.NewSession()) + + svc := s3.New(sess) + +Create Session With Option Overrides + +In addition to NewSession, Sessions can be created using NewSessionWithOptions. +This func allows you to control and override how the Session will be created +through code instead of being driven by environment variables only. + +Use NewSessionWithOptions when you want to provide the config profile, or +override the shared config state (AWS_SDK_LOAD_CONFIG). + + // Equivalent to session.NewSession() + sess := session.Must(session.NewSessionWithOptions(session.Options{ + // Options + })) + + // Specify profile to load for the session's config + sess := session.Must(session.NewSessionWithOptions(session.Options{ + Profile: "profile_name", + })) + + // Specify profile for config and region for requests + sess := session.Must(session.NewSessionWithOptions(session.Options{ + Config: aws.Config{Region: aws.String("us-east-1")}, + Profile: "profile_name", + })) + + // Force enable Shared Config support + sess := session.Must(session.NewSessionWithOptions(session.Options{ + SharedConfigState: session.SharedConfigEnable, + })) + +Adding Handlers + +You can add handlers to a session for processing HTTP requests. All service +clients that use the session inherit the handlers. For example, the following +handler logs every request and its payload made by a service client: + + // Create a session, and add additional handlers for all service + // clients created with the Session to inherit. Adds logging handler. + sess := session.Must(session.NewSession()) + + sess.Handlers.Send.PushFront(func(r *request.Request) { + // Log every request made and its payload + logger.Println("Request: %s/%s, Payload: %s", + r.ClientInfo.ServiceName, r.Operation, r.Params) + }) + +Deprecated "New" function + +The New session function has been deprecated because it does not provide good +way to return errors that occur when loading the configuration files and values. +Because of this, NewSession was created so errors can be retrieved when +creating a session fails. + +Shared Config Fields + +By default the SDK will only load the shared credentials file's (~/.aws/credentials) +credentials values, and all other config is provided by the environment variables, +SDK defaults, and user provided aws.Config values. + +If the AWS_SDK_LOAD_CONFIG environment variable is set, or SharedConfigEnable +option is used to create the Session the full shared config values will be +loaded. This includes credentials, region, and support for assume role. In +addition the Session will load its configuration from both the shared config +file (~/.aws/config) and shared credentials file (~/.aws/credentials). Both +files have the same format. + +If both config files are present the configuration from both files will be +read. The Session will be created from configuration values from the shared +credentials file (~/.aws/credentials) over those in the shared credentials +file (~/.aws/config). + +Credentials are the values the SDK should use for authenticating requests with +AWS Services. They arfrom a configuration file will need to include both +aws_access_key_id and aws_secret_access_key must be provided together in the +same file to be considered valid. The values will be ignored if not a complete +group. aws_session_token is an optional field that can be provided if both of +the other two fields are also provided. + + aws_access_key_id = AKID + aws_secret_access_key = SECRET + aws_session_token = TOKEN + +Assume Role values allow you to configure the SDK to assume an IAM role using +a set of credentials provided in a config file via the source_profile field. +Both "role_arn" and "source_profile" are required. The SDK supports assuming +a role with MFA token if the session option AssumeRoleTokenProvider +is set. + + role_arn = arn:aws:iam:::role/ + source_profile = profile_with_creds + external_id = 1234 + mfa_serial = + role_session_name = session_name + +Region is the region the SDK should use for looking up AWS service endpoints +and signing requests. + + region = us-east-1 + +Assume Role with MFA token + +To create a session with support for assuming an IAM role with MFA set the +session option AssumeRoleTokenProvider to a function that will prompt for the +MFA token code when the SDK assumes the role and refreshes the role's credentials. +This allows you to configure the SDK via the shared config to assumea role +with MFA tokens. + +In order for the SDK to assume a role with MFA the SharedConfigState +session option must be set to SharedConfigEnable, or AWS_SDK_LOAD_CONFIG +environment variable set. + +The shared configuration instructs the SDK to assume an IAM role with MFA +when the mfa_serial configuration field is set in the shared config +(~/.aws/config) or shared credentials (~/.aws/credentials) file. + +If mfa_serial is set in the configuration, the SDK will assume the role, and +the AssumeRoleTokenProvider session option is not set an an error will +be returned when creating the session. + + sess := session.Must(session.NewSessionWithOptions(session.Options{ + AssumeRoleTokenProvider: stscreds.StdinTokenProvider, + })) + + // Create service client value configured for credentials + // from assumed role. + svc := s3.New(sess) + +To setup assume role outside of a session see the stscrds.AssumeRoleProvider +documentation. + +Environment Variables + +When a Session is created several environment variables can be set to adjust +how the SDK functions, and what configuration data it loads when creating +Sessions. All environment values are optional, but some values like credentials +require multiple of the values to set or the partial values will be ignored. +All environment variable values are strings unless otherwise noted. + +Environment configuration values. If set both Access Key ID and Secret Access +Key must be provided. Session Token and optionally also be provided, but is +not required. + + # Access Key ID + AWS_ACCESS_KEY_ID=AKID + AWS_ACCESS_KEY=AKID # only read if AWS_ACCESS_KEY_ID is not set. + + # Secret Access Key + AWS_SECRET_ACCESS_KEY=SECRET + AWS_SECRET_KEY=SECRET=SECRET # only read if AWS_SECRET_ACCESS_KEY is not set. + + # Session Token + AWS_SESSION_TOKEN=TOKEN + +Region value will instruct the SDK where to make service API requests to. If is +not provided in the environment the region must be provided before a service +client request is made. + + AWS_REGION=us-east-1 + + # AWS_DEFAULT_REGION is only read if AWS_SDK_LOAD_CONFIG is also set, + # and AWS_REGION is not also set. + AWS_DEFAULT_REGION=us-east-1 + +Profile name the SDK should load use when loading shared config from the +configuration files. If not provided "default" will be used as the profile name. + + AWS_PROFILE=my_profile + + # AWS_DEFAULT_PROFILE is only read if AWS_SDK_LOAD_CONFIG is also set, + # and AWS_PROFILE is not also set. + AWS_DEFAULT_PROFILE=my_profile + +SDK load config instructs the SDK to load the shared config in addition to +shared credentials. This also expands the configuration loaded so the shared +credentials will have parity with the shared config file. This also enables +Region and Profile support for the AWS_DEFAULT_REGION and AWS_DEFAULT_PROFILE +env values as well. + + AWS_SDK_LOAD_CONFIG=1 + +Shared credentials file path can be set to instruct the SDK to use an alternative +file for the shared credentials. If not set the file will be loaded from +$HOME/.aws/credentials on Linux/Unix based systems, and +%USERPROFILE%\.aws\credentials on Windows. + + AWS_SHARED_CREDENTIALS_FILE=$HOME/my_shared_credentials + +Shared config file path can be set to instruct the SDK to use an alternative +file for the shared config. If not set the file will be loaded from +$HOME/.aws/config on Linux/Unix based systems, and +%USERPROFILE%\.aws\config on Windows. + + AWS_CONFIG_FILE=$HOME/my_shared_config + +Path to a custom Credentials Authority (CA) bundle PEM file that the SDK +will use instead of the default system's root CA bundle. Use this only +if you want to replace the CA bundle the SDK uses for TLS requests. + + AWS_CA_BUNDLE=$HOME/my_custom_ca_bundle + +Enabling this option will attempt to merge the Transport into the SDK's HTTP +client. If the client's Transport is not a http.Transport an error will be +returned. If the Transport's TLS config is set this option will cause the SDK +to overwrite the Transport's TLS config's RootCAs value. If the CA bundle file +contains multiple certificates all of them will be loaded. + +The Session option CustomCABundle is also available when creating sessions +to also enable this feature. CustomCABundle session option field has priority +over the AWS_CA_BUNDLE environment variable, and will be used if both are set. + +Setting a custom HTTPClient in the aws.Config options will override this setting. +To use this option and custom HTTP client, the HTTP client needs to be provided +when creating the session. Not the service client. +*/ +package session diff --git a/vendor/github.com/aws/aws-sdk-go/aws/session/env_config.go b/vendor/github.com/aws/aws-sdk-go/aws/session/env_config.go new file mode 100644 index 0000000000..e6278a782c --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/aws/session/env_config.go @@ -0,0 +1,208 @@ +package session + +import ( + "os" + "path/filepath" + "strconv" + + "github.com/aws/aws-sdk-go/aws/credentials" +) + +// envConfig is a collection of environment values the SDK will read +// setup config from. All environment values are optional. But some values +// such as credentials require multiple values to be complete or the values +// will be ignored. +type envConfig struct { + // Environment configuration values. If set both Access Key ID and Secret Access + // Key must be provided. Session Token and optionally also be provided, but is + // not required. + // + // # Access Key ID + // AWS_ACCESS_KEY_ID=AKID + // AWS_ACCESS_KEY=AKID # only read if AWS_ACCESS_KEY_ID is not set. + // + // # Secret Access Key + // AWS_SECRET_ACCESS_KEY=SECRET + // AWS_SECRET_KEY=SECRET=SECRET # only read if AWS_SECRET_ACCESS_KEY is not set. + // + // # Session Token + // AWS_SESSION_TOKEN=TOKEN + Creds credentials.Value + + // Region value will instruct the SDK where to make service API requests to. If is + // not provided in the environment the region must be provided before a service + // client request is made. + // + // AWS_REGION=us-east-1 + // + // # AWS_DEFAULT_REGION is only read if AWS_SDK_LOAD_CONFIG is also set, + // # and AWS_REGION is not also set. + // AWS_DEFAULT_REGION=us-east-1 + Region string + + // Profile name the SDK should load use when loading shared configuration from the + // shared configuration files. If not provided "default" will be used as the + // profile name. + // + // AWS_PROFILE=my_profile + // + // # AWS_DEFAULT_PROFILE is only read if AWS_SDK_LOAD_CONFIG is also set, + // # and AWS_PROFILE is not also set. + // AWS_DEFAULT_PROFILE=my_profile + Profile string + + // SDK load config instructs the SDK to load the shared config in addition to + // shared credentials. This also expands the configuration loaded from the shared + // credentials to have parity with the shared config file. This also enables + // Region and Profile support for the AWS_DEFAULT_REGION and AWS_DEFAULT_PROFILE + // env values as well. + // + // AWS_SDK_LOAD_CONFIG=1 + EnableSharedConfig bool + + // Shared credentials file path can be set to instruct the SDK to use an alternate + // file for the shared credentials. If not set the file will be loaded from + // $HOME/.aws/credentials on Linux/Unix based systems, and + // %USERPROFILE%\.aws\credentials on Windows. + // + // AWS_SHARED_CREDENTIALS_FILE=$HOME/my_shared_credentials + SharedCredentialsFile string + + // Shared config file path can be set to instruct the SDK to use an alternate + // file for the shared config. If not set the file will be loaded from + // $HOME/.aws/config on Linux/Unix based systems, and + // %USERPROFILE%\.aws\config on Windows. + // + // AWS_CONFIG_FILE=$HOME/my_shared_config + SharedConfigFile string + + // Sets the path to a custom Credentials Authroity (CA) Bundle PEM file + // that the SDK will use instead of the the system's root CA bundle. + // Only use this if you want to configure the SDK to use a custom set + // of CAs. + // + // Enabling this option will attempt to merge the Transport + // into the SDK's HTTP client. If the client's Transport is + // not a http.Transport an error will be returned. If the + // Transport's TLS config is set this option will cause the + // SDK to overwrite the Transport's TLS config's RootCAs value. + // + // Setting a custom HTTPClient in the aws.Config options will override this setting. + // To use this option and custom HTTP client, the HTTP client needs to be provided + // when creating the session. Not the service client. + // + // AWS_CA_BUNDLE=$HOME/my_custom_ca_bundle + CustomCABundle string +} + +var ( + credAccessEnvKey = []string{ + "AWS_ACCESS_KEY_ID", + "AWS_ACCESS_KEY", + } + credSecretEnvKey = []string{ + "AWS_SECRET_ACCESS_KEY", + "AWS_SECRET_KEY", + } + credSessionEnvKey = []string{ + "AWS_SESSION_TOKEN", + } + + regionEnvKeys = []string{ + "AWS_REGION", + "AWS_DEFAULT_REGION", // Only read if AWS_SDK_LOAD_CONFIG is also set + } + profileEnvKeys = []string{ + "AWS_PROFILE", + "AWS_DEFAULT_PROFILE", // Only read if AWS_SDK_LOAD_CONFIG is also set + } +) + +// loadEnvConfig retrieves the SDK's environment configuration. +// See `envConfig` for the values that will be retrieved. +// +// If the environment variable `AWS_SDK_LOAD_CONFIG` is set to a truthy value +// the shared SDK config will be loaded in addition to the SDK's specific +// configuration values. +func loadEnvConfig() envConfig { + enableSharedConfig, _ := strconv.ParseBool(os.Getenv("AWS_SDK_LOAD_CONFIG")) + return envConfigLoad(enableSharedConfig) +} + +// loadEnvSharedConfig retrieves the SDK's environment configuration, and the +// SDK shared config. See `envConfig` for the values that will be retrieved. +// +// Loads the shared configuration in addition to the SDK's specific configuration. +// This will load the same values as `loadEnvConfig` if the `AWS_SDK_LOAD_CONFIG` +// environment variable is set. +func loadSharedEnvConfig() envConfig { + return envConfigLoad(true) +} + +func envConfigLoad(enableSharedConfig bool) envConfig { + cfg := envConfig{} + + cfg.EnableSharedConfig = enableSharedConfig + + setFromEnvVal(&cfg.Creds.AccessKeyID, credAccessEnvKey) + setFromEnvVal(&cfg.Creds.SecretAccessKey, credSecretEnvKey) + setFromEnvVal(&cfg.Creds.SessionToken, credSessionEnvKey) + + // Require logical grouping of credentials + if len(cfg.Creds.AccessKeyID) == 0 || len(cfg.Creds.SecretAccessKey) == 0 { + cfg.Creds = credentials.Value{} + } else { + cfg.Creds.ProviderName = "EnvConfigCredentials" + } + + regionKeys := regionEnvKeys + profileKeys := profileEnvKeys + if !cfg.EnableSharedConfig { + regionKeys = regionKeys[:1] + profileKeys = profileKeys[:1] + } + + setFromEnvVal(&cfg.Region, regionKeys) + setFromEnvVal(&cfg.Profile, profileKeys) + + cfg.SharedCredentialsFile = sharedCredentialsFilename() + cfg.SharedConfigFile = sharedConfigFilename() + + cfg.CustomCABundle = os.Getenv("AWS_CA_BUNDLE") + + return cfg +} + +func setFromEnvVal(dst *string, keys []string) { + for _, k := range keys { + if v := os.Getenv(k); len(v) > 0 { + *dst = v + break + } + } +} + +func sharedCredentialsFilename() string { + if name := os.Getenv("AWS_SHARED_CREDENTIALS_FILE"); len(name) > 0 { + return name + } + + return filepath.Join(userHomeDir(), ".aws", "credentials") +} + +func sharedConfigFilename() string { + if name := os.Getenv("AWS_CONFIG_FILE"); len(name) > 0 { + return name + } + + return filepath.Join(userHomeDir(), ".aws", "config") +} + +func userHomeDir() string { + homeDir := os.Getenv("HOME") // *nix + if len(homeDir) == 0 { // windows + homeDir = os.Getenv("USERPROFILE") + } + + return homeDir +} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/session/session.go b/vendor/github.com/aws/aws-sdk-go/aws/session/session.go new file mode 100644 index 0000000000..96c740d00f --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/aws/session/session.go @@ -0,0 +1,590 @@ +package session + +import ( + "crypto/tls" + "crypto/x509" + "fmt" + "io" + "io/ioutil" + "net/http" + "os" + + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/awserr" + "github.com/aws/aws-sdk-go/aws/client" + "github.com/aws/aws-sdk-go/aws/corehandlers" + "github.com/aws/aws-sdk-go/aws/credentials" + "github.com/aws/aws-sdk-go/aws/credentials/stscreds" + "github.com/aws/aws-sdk-go/aws/defaults" + "github.com/aws/aws-sdk-go/aws/endpoints" + "github.com/aws/aws-sdk-go/aws/request" +) + +// A Session provides a central location to create service clients from and +// store configurations and request handlers for those services. +// +// Sessions are safe to create service clients concurrently, but it is not safe +// to mutate the Session concurrently. +// +// The Session satisfies the service client's client.ClientConfigProvider. +type Session struct { + Config *aws.Config + Handlers request.Handlers +} + +// New creates a new instance of the handlers merging in the provided configs +// on top of the SDK's default configurations. Once the Session is created it +// can be mutated to modify the Config or Handlers. The Session is safe to be +// read concurrently, but it should not be written to concurrently. +// +// If the AWS_SDK_LOAD_CONFIG environment is set to a truthy value, the New +// method could now encounter an error when loading the configuration. When +// The environment variable is set, and an error occurs, New will return a +// session that will fail all requests reporting the error that occurred while +// loading the session. Use NewSession to get the error when creating the +// session. +// +// If the AWS_SDK_LOAD_CONFIG environment variable is set to a truthy value +// the shared config file (~/.aws/config) will also be loaded, in addition to +// the shared credentials file (~/.aws/credentials). Values set in both the +// shared config, and shared credentials will be taken from the shared +// credentials file. +// +// Deprecated: Use NewSession functions to create sessions instead. NewSession +// has the same functionality as New except an error can be returned when the +// func is called instead of waiting to receive an error until a request is made. +func New(cfgs ...*aws.Config) *Session { + // load initial config from environment + envCfg := loadEnvConfig() + + if envCfg.EnableSharedConfig { + s, err := newSession(Options{}, envCfg, cfgs...) + if err != nil { + // Old session.New expected all errors to be discovered when + // a request is made, and would report the errors then. This + // needs to be replicated if an error occurs while creating + // the session. + msg := "failed to create session with AWS_SDK_LOAD_CONFIG enabled. " + + "Use session.NewSession to handle errors occurring during session creation." + + // Session creation failed, need to report the error and prevent + // any requests from succeeding. + s = &Session{Config: defaults.Config()} + s.Config.MergeIn(cfgs...) + s.Config.Logger.Log("ERROR:", msg, "Error:", err) + s.Handlers.Validate.PushBack(func(r *request.Request) { + r.Error = err + }) + } + return s + } + + return deprecatedNewSession(cfgs...) +} + +// NewSession returns a new Session created from SDK defaults, config files, +// environment, and user provided config files. Once the Session is created +// it can be mutated to modify the Config or Handlers. The Session is safe to +// be read concurrently, but it should not be written to concurrently. +// +// If the AWS_SDK_LOAD_CONFIG environment variable is set to a truthy value +// the shared config file (~/.aws/config) will also be loaded in addition to +// the shared credentials file (~/.aws/credentials). Values set in both the +// shared config, and shared credentials will be taken from the shared +// credentials file. Enabling the Shared Config will also allow the Session +// to be built with retrieving credentials with AssumeRole set in the config. +// +// See the NewSessionWithOptions func for information on how to override or +// control through code how the Session will be created. Such as specifying the +// config profile, and controlling if shared config is enabled or not. +func NewSession(cfgs ...*aws.Config) (*Session, error) { + opts := Options{} + opts.Config.MergeIn(cfgs...) + + return NewSessionWithOptions(opts) +} + +// SharedConfigState provides the ability to optionally override the state +// of the session's creation based on the shared config being enabled or +// disabled. +type SharedConfigState int + +const ( + // SharedConfigStateFromEnv does not override any state of the + // AWS_SDK_LOAD_CONFIG env var. It is the default value of the + // SharedConfigState type. + SharedConfigStateFromEnv SharedConfigState = iota + + // SharedConfigDisable overrides the AWS_SDK_LOAD_CONFIG env var value + // and disables the shared config functionality. + SharedConfigDisable + + // SharedConfigEnable overrides the AWS_SDK_LOAD_CONFIG env var value + // and enables the shared config functionality. + SharedConfigEnable +) + +// Options provides the means to control how a Session is created and what +// configuration values will be loaded. +// +type Options struct { + // Provides config values for the SDK to use when creating service clients + // and making API requests to services. Any value set in with this field + // will override the associated value provided by the SDK defaults, + // environment or config files where relevant. + // + // If not set, configuration values from from SDK defaults, environment, + // config will be used. + Config aws.Config + + // Overrides the config profile the Session should be created from. If not + // set the value of the environment variable will be loaded (AWS_PROFILE, + // or AWS_DEFAULT_PROFILE if the Shared Config is enabled). + // + // If not set and environment variables are not set the "default" + // (DefaultSharedConfigProfile) will be used as the profile to load the + // session config from. + Profile string + + // Instructs how the Session will be created based on the AWS_SDK_LOAD_CONFIG + // environment variable. By default a Session will be created using the + // value provided by the AWS_SDK_LOAD_CONFIG environment variable. + // + // Setting this value to SharedConfigEnable or SharedConfigDisable + // will allow you to override the AWS_SDK_LOAD_CONFIG environment variable + // and enable or disable the shared config functionality. + SharedConfigState SharedConfigState + + // When the SDK's shared config is configured to assume a role with MFA + // this option is required in order to provide the mechanism that will + // retrieve the MFA token. There is no default value for this field. If + // it is not set an error will be returned when creating the session. + // + // This token provider will be called when ever the assumed role's + // credentials need to be refreshed. Within the context of service clients + // all sharing the same session the SDK will ensure calls to the token + // provider are atomic. When sharing a token provider across multiple + // sessions additional synchronization logic is needed to ensure the + // token providers do not introduce race conditions. It is recommend to + // share the session where possible. + // + // stscreds.StdinTokenProvider is a basic implementation that will prompt + // from stdin for the MFA token code. + // + // This field is only used if the shared configuration is enabled, and + // the config enables assume role wit MFA via the mfa_serial field. + AssumeRoleTokenProvider func() (string, error) + + // Reader for a custom Credentials Authority (CA) bundle in PEM format that + // the SDK will use instead of the default system's root CA bundle. Use this + // only if you want to replace the CA bundle the SDK uses for TLS requests. + // + // Enabling this option will attempt to merge the Transport into the SDK's HTTP + // client. If the client's Transport is not a http.Transport an error will be + // returned. If the Transport's TLS config is set this option will cause the SDK + // to overwrite the Transport's TLS config's RootCAs value. If the CA + // bundle reader contains multiple certificates all of them will be loaded. + // + // The Session option CustomCABundle is also available when creating sessions + // to also enable this feature. CustomCABundle session option field has priority + // over the AWS_CA_BUNDLE environment variable, and will be used if both are set. + CustomCABundle io.Reader +} + +// NewSessionWithOptions returns a new Session created from SDK defaults, config files, +// environment, and user provided config files. This func uses the Options +// values to configure how the Session is created. +// +// If the AWS_SDK_LOAD_CONFIG environment variable is set to a truthy value +// the shared config file (~/.aws/config) will also be loaded in addition to +// the shared credentials file (~/.aws/credentials). Values set in both the +// shared config, and shared credentials will be taken from the shared +// credentials file. Enabling the Shared Config will also allow the Session +// to be built with retrieving credentials with AssumeRole set in the config. +// +// // Equivalent to session.New +// sess := session.Must(session.NewSessionWithOptions(session.Options{})) +// +// // Specify profile to load for the session's config +// sess := session.Must(session.NewSessionWithOptions(session.Options{ +// Profile: "profile_name", +// })) +// +// // Specify profile for config and region for requests +// sess := session.Must(session.NewSessionWithOptions(session.Options{ +// Config: aws.Config{Region: aws.String("us-east-1")}, +// Profile: "profile_name", +// })) +// +// // Force enable Shared Config support +// sess := session.Must(session.NewSessionWithOptions(session.Options{ +// SharedConfigState: SharedConfigEnable, +// })) +func NewSessionWithOptions(opts Options) (*Session, error) { + var envCfg envConfig + if opts.SharedConfigState == SharedConfigEnable { + envCfg = loadSharedEnvConfig() + } else { + envCfg = loadEnvConfig() + } + + if len(opts.Profile) > 0 { + envCfg.Profile = opts.Profile + } + + switch opts.SharedConfigState { + case SharedConfigDisable: + envCfg.EnableSharedConfig = false + case SharedConfigEnable: + envCfg.EnableSharedConfig = true + } + + // Only use AWS_CA_BUNDLE if session option is not provided. + if len(envCfg.CustomCABundle) != 0 && opts.CustomCABundle == nil { + f, err := os.Open(envCfg.CustomCABundle) + if err != nil { + return nil, awserr.New("LoadCustomCABundleError", + "failed to open custom CA bundle PEM file", err) + } + defer f.Close() + opts.CustomCABundle = f + } + + return newSession(opts, envCfg, &opts.Config) +} + +// Must is a helper function to ensure the Session is valid and there was no +// error when calling a NewSession function. +// +// This helper is intended to be used in variable initialization to load the +// Session and configuration at startup. Such as: +// +// var sess = session.Must(session.NewSession()) +func Must(sess *Session, err error) *Session { + if err != nil { + panic(err) + } + + return sess +} + +func deprecatedNewSession(cfgs ...*aws.Config) *Session { + cfg := defaults.Config() + handlers := defaults.Handlers() + + // Apply the passed in configs so the configuration can be applied to the + // default credential chain + cfg.MergeIn(cfgs...) + if cfg.EndpointResolver == nil { + // An endpoint resolver is required for a session to be able to provide + // endpoints for service client configurations. + cfg.EndpointResolver = endpoints.DefaultResolver() + } + cfg.Credentials = defaults.CredChain(cfg, handlers) + + // Reapply any passed in configs to override credentials if set + cfg.MergeIn(cfgs...) + + s := &Session{ + Config: cfg, + Handlers: handlers, + } + + initHandlers(s) + + return s +} + +func newSession(opts Options, envCfg envConfig, cfgs ...*aws.Config) (*Session, error) { + cfg := defaults.Config() + handlers := defaults.Handlers() + + // Get a merged version of the user provided config to determine if + // credentials were. + userCfg := &aws.Config{} + userCfg.MergeIn(cfgs...) + + // Order config files will be loaded in with later files overwriting + // previous config file values. + cfgFiles := []string{envCfg.SharedConfigFile, envCfg.SharedCredentialsFile} + if !envCfg.EnableSharedConfig { + // The shared config file (~/.aws/config) is only loaded if instructed + // to load via the envConfig.EnableSharedConfig (AWS_SDK_LOAD_CONFIG). + cfgFiles = cfgFiles[1:] + } + + // Load additional config from file(s) + sharedCfg, err := loadSharedConfig(envCfg.Profile, cfgFiles) + if err != nil { + return nil, err + } + + if err := mergeConfigSrcs(cfg, userCfg, envCfg, sharedCfg, handlers, opts); err != nil { + return nil, err + } + + s := &Session{ + Config: cfg, + Handlers: handlers, + } + + initHandlers(s) + + // Setup HTTP client with custom cert bundle if enabled + if opts.CustomCABundle != nil { + if err := loadCustomCABundle(s, opts.CustomCABundle); err != nil { + return nil, err + } + } + + return s, nil +} + +func loadCustomCABundle(s *Session, bundle io.Reader) error { + var t *http.Transport + switch v := s.Config.HTTPClient.Transport.(type) { + case *http.Transport: + t = v + default: + if s.Config.HTTPClient.Transport != nil { + return awserr.New("LoadCustomCABundleError", + "unable to load custom CA bundle, HTTPClient's transport unsupported type", nil) + } + } + if t == nil { + t = &http.Transport{} + } + + p, err := loadCertPool(bundle) + if err != nil { + return err + } + if t.TLSClientConfig == nil { + t.TLSClientConfig = &tls.Config{} + } + t.TLSClientConfig.RootCAs = p + + s.Config.HTTPClient.Transport = t + + return nil +} + +func loadCertPool(r io.Reader) (*x509.CertPool, error) { + b, err := ioutil.ReadAll(r) + if err != nil { + return nil, awserr.New("LoadCustomCABundleError", + "failed to read custom CA bundle PEM file", err) + } + + p := x509.NewCertPool() + if !p.AppendCertsFromPEM(b) { + return nil, awserr.New("LoadCustomCABundleError", + "failed to load custom CA bundle PEM file", err) + } + + return p, nil +} + +func mergeConfigSrcs(cfg, userCfg *aws.Config, envCfg envConfig, sharedCfg sharedConfig, handlers request.Handlers, sessOpts Options) error { + // Merge in user provided configuration + cfg.MergeIn(userCfg) + + // Region if not already set by user + if len(aws.StringValue(cfg.Region)) == 0 { + if len(envCfg.Region) > 0 { + cfg.WithRegion(envCfg.Region) + } else if envCfg.EnableSharedConfig && len(sharedCfg.Region) > 0 { + cfg.WithRegion(sharedCfg.Region) + } + } + + // Configure credentials if not already set + if cfg.Credentials == credentials.AnonymousCredentials && userCfg.Credentials == nil { + if len(envCfg.Creds.AccessKeyID) > 0 { + cfg.Credentials = credentials.NewStaticCredentialsFromCreds( + envCfg.Creds, + ) + } else if envCfg.EnableSharedConfig && len(sharedCfg.AssumeRole.RoleARN) > 0 && sharedCfg.AssumeRoleSource != nil { + cfgCp := *cfg + cfgCp.Credentials = credentials.NewStaticCredentialsFromCreds( + sharedCfg.AssumeRoleSource.Creds, + ) + if len(sharedCfg.AssumeRole.MFASerial) > 0 && sessOpts.AssumeRoleTokenProvider == nil { + // AssumeRole Token provider is required if doing Assume Role + // with MFA. + return AssumeRoleTokenProviderNotSetError{} + } + cfg.Credentials = stscreds.NewCredentials( + &Session{ + Config: &cfgCp, + Handlers: handlers.Copy(), + }, + sharedCfg.AssumeRole.RoleARN, + func(opt *stscreds.AssumeRoleProvider) { + opt.RoleSessionName = sharedCfg.AssumeRole.RoleSessionName + + // Assume role with external ID + if len(sharedCfg.AssumeRole.ExternalID) > 0 { + opt.ExternalID = aws.String(sharedCfg.AssumeRole.ExternalID) + } + + // Assume role with MFA + if len(sharedCfg.AssumeRole.MFASerial) > 0 { + opt.SerialNumber = aws.String(sharedCfg.AssumeRole.MFASerial) + opt.TokenProvider = sessOpts.AssumeRoleTokenProvider + } + }, + ) + } else if len(sharedCfg.Creds.AccessKeyID) > 0 { + cfg.Credentials = credentials.NewStaticCredentialsFromCreds( + sharedCfg.Creds, + ) + } else { + // Fallback to default credentials provider, include mock errors + // for the credential chain so user can identify why credentials + // failed to be retrieved. + cfg.Credentials = credentials.NewCredentials(&credentials.ChainProvider{ + VerboseErrors: aws.BoolValue(cfg.CredentialsChainVerboseErrors), + Providers: []credentials.Provider{ + &credProviderError{Err: awserr.New("EnvAccessKeyNotFound", "failed to find credentials in the environment.", nil)}, + &credProviderError{Err: awserr.New("SharedCredsLoad", fmt.Sprintf("failed to load profile, %s.", envCfg.Profile), nil)}, + defaults.RemoteCredProvider(*cfg, handlers), + }, + }) + } + } + + return nil +} + +// AssumeRoleTokenProviderNotSetError is an error returned when creating a session when the +// MFAToken option is not set when shared config is configured load assume a +// role with an MFA token. +type AssumeRoleTokenProviderNotSetError struct{} + +// Code is the short id of the error. +func (e AssumeRoleTokenProviderNotSetError) Code() string { + return "AssumeRoleTokenProviderNotSetError" +} + +// Message is the description of the error +func (e AssumeRoleTokenProviderNotSetError) Message() string { + return fmt.Sprintf("assume role with MFA enabled, but AssumeRoleTokenProvider session option not set.") +} + +// OrigErr is the underlying error that caused the failure. +func (e AssumeRoleTokenProviderNotSetError) OrigErr() error { + return nil +} + +// Error satisfies the error interface. +func (e AssumeRoleTokenProviderNotSetError) Error() string { + return awserr.SprintError(e.Code(), e.Message(), "", nil) +} + +type credProviderError struct { + Err error +} + +var emptyCreds = credentials.Value{} + +func (c credProviderError) Retrieve() (credentials.Value, error) { + return credentials.Value{}, c.Err +} +func (c credProviderError) IsExpired() bool { + return true +} + +func initHandlers(s *Session) { + // Add the Validate parameter handler if it is not disabled. + s.Handlers.Validate.Remove(corehandlers.ValidateParametersHandler) + if !aws.BoolValue(s.Config.DisableParamValidation) { + s.Handlers.Validate.PushBackNamed(corehandlers.ValidateParametersHandler) + } +} + +// Copy creates and returns a copy of the current Session, coping the config +// and handlers. If any additional configs are provided they will be merged +// on top of the Session's copied config. +// +// // Create a copy of the current Session, configured for the us-west-2 region. +// sess.Copy(&aws.Config{Region: aws.String("us-west-2")}) +func (s *Session) Copy(cfgs ...*aws.Config) *Session { + newSession := &Session{ + Config: s.Config.Copy(cfgs...), + Handlers: s.Handlers.Copy(), + } + + initHandlers(newSession) + + return newSession +} + +// ClientConfig satisfies the client.ConfigProvider interface and is used to +// configure the service client instances. Passing the Session to the service +// client's constructor (New) will use this method to configure the client. +func (s *Session) ClientConfig(serviceName string, cfgs ...*aws.Config) client.Config { + // Backwards compatibility, the error will be eaten if user calls ClientConfig + // directly. All SDK services will use ClientconfigWithError. + cfg, _ := s.clientConfigWithErr(serviceName, cfgs...) + + return cfg +} + +func (s *Session) clientConfigWithErr(serviceName string, cfgs ...*aws.Config) (client.Config, error) { + s = s.Copy(cfgs...) + + var resolved endpoints.ResolvedEndpoint + var err error + + region := aws.StringValue(s.Config.Region) + + if endpoint := aws.StringValue(s.Config.Endpoint); len(endpoint) != 0 { + resolved.URL = endpoints.AddScheme(endpoint, aws.BoolValue(s.Config.DisableSSL)) + resolved.SigningRegion = region + } else { + resolved, err = s.Config.EndpointResolver.EndpointFor( + serviceName, region, + func(opt *endpoints.Options) { + opt.DisableSSL = aws.BoolValue(s.Config.DisableSSL) + opt.UseDualStack = aws.BoolValue(s.Config.UseDualStack) + + // Support the condition where the service is modeled but its + // endpoint metadata is not available. + opt.ResolveUnknownService = true + }, + ) + } + + return client.Config{ + Config: s.Config, + Handlers: s.Handlers, + Endpoint: resolved.URL, + SigningRegion: resolved.SigningRegion, + SigningName: resolved.SigningName, + }, err +} + +// ClientConfigNoResolveEndpoint is the same as ClientConfig with the exception +// that the EndpointResolver will not be used to resolve the endpoint. The only +// endpoint set must come from the aws.Config.Endpoint field. +func (s *Session) ClientConfigNoResolveEndpoint(cfgs ...*aws.Config) client.Config { + s = s.Copy(cfgs...) + + var resolved endpoints.ResolvedEndpoint + + region := aws.StringValue(s.Config.Region) + + if ep := aws.StringValue(s.Config.Endpoint); len(ep) > 0 { + resolved.URL = endpoints.AddScheme(ep, aws.BoolValue(s.Config.DisableSSL)) + resolved.SigningRegion = region + } + + return client.Config{ + Config: s.Config, + Handlers: s.Handlers, + Endpoint: resolved.URL, + SigningRegion: resolved.SigningRegion, + SigningName: resolved.SigningName, + } +} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/session/shared_config.go b/vendor/github.com/aws/aws-sdk-go/aws/session/shared_config.go new file mode 100644 index 0000000000..b58076f5e3 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/aws/session/shared_config.go @@ -0,0 +1,295 @@ +package session + +import ( + "fmt" + "io/ioutil" + + "github.com/aws/aws-sdk-go/aws/awserr" + "github.com/aws/aws-sdk-go/aws/credentials" + "github.com/go-ini/ini" +) + +const ( + // Static Credentials group + accessKeyIDKey = `aws_access_key_id` // group required + secretAccessKey = `aws_secret_access_key` // group required + sessionTokenKey = `aws_session_token` // optional + + // Assume Role Credentials group + roleArnKey = `role_arn` // group required + sourceProfileKey = `source_profile` // group required + externalIDKey = `external_id` // optional + mfaSerialKey = `mfa_serial` // optional + roleSessionNameKey = `role_session_name` // optional + + // Additional Config fields + regionKey = `region` + + // DefaultSharedConfigProfile is the default profile to be used when + // loading configuration from the config files if another profile name + // is not provided. + DefaultSharedConfigProfile = `default` +) + +type assumeRoleConfig struct { + RoleARN string + SourceProfile string + ExternalID string + MFASerial string + RoleSessionName string +} + +// sharedConfig represents the configuration fields of the SDK config files. +type sharedConfig struct { + // Credentials values from the config file. Both aws_access_key_id + // and aws_secret_access_key must be provided together in the same file + // to be considered valid. The values will be ignored if not a complete group. + // aws_session_token is an optional field that can be provided if both of the + // other two fields are also provided. + // + // aws_access_key_id + // aws_secret_access_key + // aws_session_token + Creds credentials.Value + + AssumeRole assumeRoleConfig + AssumeRoleSource *sharedConfig + + // Region is the region the SDK should use for looking up AWS service endpoints + // and signing requests. + // + // region + Region string +} + +type sharedConfigFile struct { + Filename string + IniData *ini.File +} + +// loadSharedConfig retrieves the configuration from the list of files +// using the profile provided. The order the files are listed will determine +// precedence. Values in subsequent files will overwrite values defined in +// earlier files. +// +// For example, given two files A and B. Both define credentials. If the order +// of the files are A then B, B's credential values will be used instead of A's. +// +// See sharedConfig.setFromFile for information how the config files +// will be loaded. +func loadSharedConfig(profile string, filenames []string) (sharedConfig, error) { + if len(profile) == 0 { + profile = DefaultSharedConfigProfile + } + + files, err := loadSharedConfigIniFiles(filenames) + if err != nil { + return sharedConfig{}, err + } + + cfg := sharedConfig{} + if err = cfg.setFromIniFiles(profile, files); err != nil { + return sharedConfig{}, err + } + + if len(cfg.AssumeRole.SourceProfile) > 0 { + if err := cfg.setAssumeRoleSource(profile, files); err != nil { + return sharedConfig{}, err + } + } + + return cfg, nil +} + +func loadSharedConfigIniFiles(filenames []string) ([]sharedConfigFile, error) { + files := make([]sharedConfigFile, 0, len(filenames)) + + for _, filename := range filenames { + b, err := ioutil.ReadFile(filename) + if err != nil { + // Skip files which can't be opened and read for whatever reason + continue + } + + f, err := ini.Load(b) + if err != nil { + return nil, SharedConfigLoadError{Filename: filename} + } + + files = append(files, sharedConfigFile{ + Filename: filename, IniData: f, + }) + } + + return files, nil +} + +func (cfg *sharedConfig) setAssumeRoleSource(origProfile string, files []sharedConfigFile) error { + var assumeRoleSrc sharedConfig + + // Multiple level assume role chains are not support + if cfg.AssumeRole.SourceProfile == origProfile { + assumeRoleSrc = *cfg + assumeRoleSrc.AssumeRole = assumeRoleConfig{} + } else { + err := assumeRoleSrc.setFromIniFiles(cfg.AssumeRole.SourceProfile, files) + if err != nil { + return err + } + } + + if len(assumeRoleSrc.Creds.AccessKeyID) == 0 { + return SharedConfigAssumeRoleError{RoleARN: cfg.AssumeRole.RoleARN} + } + + cfg.AssumeRoleSource = &assumeRoleSrc + + return nil +} + +func (cfg *sharedConfig) setFromIniFiles(profile string, files []sharedConfigFile) error { + // Trim files from the list that don't exist. + for _, f := range files { + if err := cfg.setFromIniFile(profile, f); err != nil { + if _, ok := err.(SharedConfigProfileNotExistsError); ok { + // Ignore proviles missings + continue + } + return err + } + } + + return nil +} + +// setFromFile loads the configuration from the file using +// the profile provided. A sharedConfig pointer type value is used so that +// multiple config file loadings can be chained. +// +// Only loads complete logically grouped values, and will not set fields in cfg +// for incomplete grouped values in the config. Such as credentials. For example +// if a config file only includes aws_access_key_id but no aws_secret_access_key +// the aws_access_key_id will be ignored. +func (cfg *sharedConfig) setFromIniFile(profile string, file sharedConfigFile) error { + section, err := file.IniData.GetSection(profile) + if err != nil { + // Fallback to to alternate profile name: profile + section, err = file.IniData.GetSection(fmt.Sprintf("profile %s", profile)) + if err != nil { + return SharedConfigProfileNotExistsError{Profile: profile, Err: err} + } + } + + // Shared Credentials + akid := section.Key(accessKeyIDKey).String() + secret := section.Key(secretAccessKey).String() + if len(akid) > 0 && len(secret) > 0 { + cfg.Creds = credentials.Value{ + AccessKeyID: akid, + SecretAccessKey: secret, + SessionToken: section.Key(sessionTokenKey).String(), + ProviderName: fmt.Sprintf("SharedConfigCredentials: %s", file.Filename), + } + } + + // Assume Role + roleArn := section.Key(roleArnKey).String() + srcProfile := section.Key(sourceProfileKey).String() + if len(roleArn) > 0 && len(srcProfile) > 0 { + cfg.AssumeRole = assumeRoleConfig{ + RoleARN: roleArn, + SourceProfile: srcProfile, + ExternalID: section.Key(externalIDKey).String(), + MFASerial: section.Key(mfaSerialKey).String(), + RoleSessionName: section.Key(roleSessionNameKey).String(), + } + } + + // Region + if v := section.Key(regionKey).String(); len(v) > 0 { + cfg.Region = v + } + + return nil +} + +// SharedConfigLoadError is an error for the shared config file failed to load. +type SharedConfigLoadError struct { + Filename string + Err error +} + +// Code is the short id of the error. +func (e SharedConfigLoadError) Code() string { + return "SharedConfigLoadError" +} + +// Message is the description of the error +func (e SharedConfigLoadError) Message() string { + return fmt.Sprintf("failed to load config file, %s", e.Filename) +} + +// OrigErr is the underlying error that caused the failure. +func (e SharedConfigLoadError) OrigErr() error { + return e.Err +} + +// Error satisfies the error interface. +func (e SharedConfigLoadError) Error() string { + return awserr.SprintError(e.Code(), e.Message(), "", e.Err) +} + +// SharedConfigProfileNotExistsError is an error for the shared config when +// the profile was not find in the config file. +type SharedConfigProfileNotExistsError struct { + Profile string + Err error +} + +// Code is the short id of the error. +func (e SharedConfigProfileNotExistsError) Code() string { + return "SharedConfigProfileNotExistsError" +} + +// Message is the description of the error +func (e SharedConfigProfileNotExistsError) Message() string { + return fmt.Sprintf("failed to get profile, %s", e.Profile) +} + +// OrigErr is the underlying error that caused the failure. +func (e SharedConfigProfileNotExistsError) OrigErr() error { + return e.Err +} + +// Error satisfies the error interface. +func (e SharedConfigProfileNotExistsError) Error() string { + return awserr.SprintError(e.Code(), e.Message(), "", e.Err) +} + +// SharedConfigAssumeRoleError is an error for the shared config when the +// profile contains assume role information, but that information is invalid +// or not complete. +type SharedConfigAssumeRoleError struct { + RoleARN string +} + +// Code is the short id of the error. +func (e SharedConfigAssumeRoleError) Code() string { + return "SharedConfigAssumeRoleError" +} + +// Message is the description of the error +func (e SharedConfigAssumeRoleError) Message() string { + return fmt.Sprintf("failed to load assume role for %s, source profile has no shared credentials", + e.RoleARN) +} + +// OrigErr is the underlying error that caused the failure. +func (e SharedConfigAssumeRoleError) OrigErr() error { + return nil +} + +// Error satisfies the error interface. +func (e SharedConfigAssumeRoleError) Error() string { + return awserr.SprintError(e.Code(), e.Message(), "", nil) +} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/signer/v4/header_rules.go b/vendor/github.com/aws/aws-sdk-go/aws/signer/v4/header_rules.go new file mode 100644 index 0000000000..244c86da05 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/aws/signer/v4/header_rules.go @@ -0,0 +1,82 @@ +package v4 + +import ( + "net/http" + "strings" +) + +// validator houses a set of rule needed for validation of a +// string value +type rules []rule + +// rule interface allows for more flexible rules and just simply +// checks whether or not a value adheres to that rule +type rule interface { + IsValid(value string) bool +} + +// IsValid will iterate through all rules and see if any rules +// apply to the value and supports nested rules +func (r rules) IsValid(value string) bool { + for _, rule := range r { + if rule.IsValid(value) { + return true + } + } + return false +} + +// mapRule generic rule for maps +type mapRule map[string]struct{} + +// IsValid for the map rule satisfies whether it exists in the map +func (m mapRule) IsValid(value string) bool { + _, ok := m[value] + return ok +} + +// whitelist is a generic rule for whitelisting +type whitelist struct { + rule +} + +// IsValid for whitelist checks if the value is within the whitelist +func (w whitelist) IsValid(value string) bool { + return w.rule.IsValid(value) +} + +// blacklist is a generic rule for blacklisting +type blacklist struct { + rule +} + +// IsValid for whitelist checks if the value is within the whitelist +func (b blacklist) IsValid(value string) bool { + return !b.rule.IsValid(value) +} + +type patterns []string + +// IsValid for patterns checks each pattern and returns if a match has +// been found +func (p patterns) IsValid(value string) bool { + for _, pattern := range p { + if strings.HasPrefix(http.CanonicalHeaderKey(value), pattern) { + return true + } + } + return false +} + +// inclusiveRules rules allow for rules to depend on one another +type inclusiveRules []rule + +// IsValid will return true if all rules are true +func (r inclusiveRules) IsValid(value string) bool { + for _, rule := range r { + if !rule.IsValid(value) { + return false + } + } + return true +} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/signer/v4/options.go b/vendor/github.com/aws/aws-sdk-go/aws/signer/v4/options.go new file mode 100644 index 0000000000..6aa2ed241b --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/aws/signer/v4/options.go @@ -0,0 +1,7 @@ +package v4 + +// WithUnsignedPayload will enable and set the UnsignedPayload field to +// true of the signer. +func WithUnsignedPayload(v4 *Signer) { + v4.UnsignedPayload = true +} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/signer/v4/uri_path.go b/vendor/github.com/aws/aws-sdk-go/aws/signer/v4/uri_path.go new file mode 100644 index 0000000000..bd082e9d1f --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/aws/signer/v4/uri_path.go @@ -0,0 +1,24 @@ +// +build go1.5 + +package v4 + +import ( + "net/url" + "strings" +) + +func getURIPath(u *url.URL) string { + var uri string + + if len(u.Opaque) > 0 { + uri = "/" + strings.Join(strings.Split(u.Opaque, "/")[3:], "/") + } else { + uri = u.EscapedPath() + } + + if len(uri) == 0 { + uri = "/" + } + + return uri +} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/signer/v4/v4.go b/vendor/github.com/aws/aws-sdk-go/aws/signer/v4/v4.go new file mode 100644 index 0000000000..434ac872de --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/aws/signer/v4/v4.go @@ -0,0 +1,761 @@ +// Package v4 implements signing for AWS V4 signer +// +// Provides request signing for request that need to be signed with +// AWS V4 Signatures. +// +// Standalone Signer +// +// Generally using the signer outside of the SDK should not require any additional +// logic when using Go v1.5 or higher. The signer does this by taking advantage +// of the URL.EscapedPath method. If your request URI requires additional escaping +// you many need to use the URL.Opaque to define what the raw URI should be sent +// to the service as. +// +// The signer will first check the URL.Opaque field, and use its value if set. +// The signer does require the URL.Opaque field to be set in the form of: +// +// "///" +// +// // e.g. +// "//example.com/some/path" +// +// The leading "//" and hostname are required or the URL.Opaque escaping will +// not work correctly. +// +// If URL.Opaque is not set the signer will fallback to the URL.EscapedPath() +// method and using the returned value. If you're using Go v1.4 you must set +// URL.Opaque if the URI path needs escaping. If URL.Opaque is not set with +// Go v1.5 the signer will fallback to URL.Path. +// +// AWS v4 signature validation requires that the canonical string's URI path +// element must be the URI escaped form of the HTTP request's path. +// http://docs.aws.amazon.com/general/latest/gr/sigv4-create-canonical-request.html +// +// The Go HTTP client will perform escaping automatically on the request. Some +// of these escaping may cause signature validation errors because the HTTP +// request differs from the URI path or query that the signature was generated. +// https://golang.org/pkg/net/url/#URL.EscapedPath +// +// Because of this, it is recommended that when using the signer outside of the +// SDK that explicitly escaping the request prior to being signed is preferable, +// and will help prevent signature validation errors. This can be done by setting +// the URL.Opaque or URL.RawPath. The SDK will use URL.Opaque first and then +// call URL.EscapedPath() if Opaque is not set. +// +// If signing a request intended for HTTP2 server, and you're using Go 1.6.2 +// through 1.7.4 you should use the URL.RawPath as the pre-escaped form of the +// request URL. https://github.com/golang/go/issues/16847 points to a bug in +// Go pre 1.8 that failes to make HTTP2 requests using absolute URL in the HTTP +// message. URL.Opaque generally will force Go to make requests with absolute URL. +// URL.RawPath does not do this, but RawPath must be a valid escaping of Path +// or url.EscapedPath will ignore the RawPath escaping. +// +// Test `TestStandaloneSign` provides a complete example of using the signer +// outside of the SDK and pre-escaping the URI path. +package v4 + +import ( + "bytes" + "crypto/hmac" + "crypto/sha256" + "encoding/hex" + "fmt" + "io" + "io/ioutil" + "net/http" + "net/url" + "sort" + "strconv" + "strings" + "time" + + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/credentials" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/private/protocol/rest" +) + +const ( + authHeaderPrefix = "AWS4-HMAC-SHA256" + timeFormat = "20060102T150405Z" + shortTimeFormat = "20060102" + + // emptyStringSHA256 is a SHA256 of an empty string + emptyStringSHA256 = `e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855` +) + +var ignoredHeaders = rules{ + blacklist{ + mapRule{ + "Authorization": struct{}{}, + "User-Agent": struct{}{}, + "X-Amzn-Trace-Id": struct{}{}, + }, + }, +} + +// requiredSignedHeaders is a whitelist for build canonical headers. +var requiredSignedHeaders = rules{ + whitelist{ + mapRule{ + "Cache-Control": struct{}{}, + "Content-Disposition": struct{}{}, + "Content-Encoding": struct{}{}, + "Content-Language": struct{}{}, + "Content-Md5": struct{}{}, + "Content-Type": struct{}{}, + "Expires": struct{}{}, + "If-Match": struct{}{}, + "If-Modified-Since": struct{}{}, + "If-None-Match": struct{}{}, + "If-Unmodified-Since": struct{}{}, + "Range": struct{}{}, + "X-Amz-Acl": struct{}{}, + "X-Amz-Copy-Source": struct{}{}, + "X-Amz-Copy-Source-If-Match": struct{}{}, + "X-Amz-Copy-Source-If-Modified-Since": struct{}{}, + "X-Amz-Copy-Source-If-None-Match": struct{}{}, + "X-Amz-Copy-Source-If-Unmodified-Since": struct{}{}, + "X-Amz-Copy-Source-Range": struct{}{}, + "X-Amz-Copy-Source-Server-Side-Encryption-Customer-Algorithm": struct{}{}, + "X-Amz-Copy-Source-Server-Side-Encryption-Customer-Key": struct{}{}, + "X-Amz-Copy-Source-Server-Side-Encryption-Customer-Key-Md5": struct{}{}, + "X-Amz-Grant-Full-control": struct{}{}, + "X-Amz-Grant-Read": struct{}{}, + "X-Amz-Grant-Read-Acp": struct{}{}, + "X-Amz-Grant-Write": struct{}{}, + "X-Amz-Grant-Write-Acp": struct{}{}, + "X-Amz-Metadata-Directive": struct{}{}, + "X-Amz-Mfa": struct{}{}, + "X-Amz-Request-Payer": struct{}{}, + "X-Amz-Server-Side-Encryption": struct{}{}, + "X-Amz-Server-Side-Encryption-Aws-Kms-Key-Id": struct{}{}, + "X-Amz-Server-Side-Encryption-Customer-Algorithm": struct{}{}, + "X-Amz-Server-Side-Encryption-Customer-Key": struct{}{}, + "X-Amz-Server-Side-Encryption-Customer-Key-Md5": struct{}{}, + "X-Amz-Storage-Class": struct{}{}, + "X-Amz-Website-Redirect-Location": struct{}{}, + }, + }, + patterns{"X-Amz-Meta-"}, +} + +// allowedHoisting is a whitelist for build query headers. The boolean value +// represents whether or not it is a pattern. +var allowedQueryHoisting = inclusiveRules{ + blacklist{requiredSignedHeaders}, + patterns{"X-Amz-"}, +} + +// Signer applies AWS v4 signing to given request. Use this to sign requests +// that need to be signed with AWS V4 Signatures. +type Signer struct { + // The authentication credentials the request will be signed against. + // This value must be set to sign requests. + Credentials *credentials.Credentials + + // Sets the log level the signer should use when reporting information to + // the logger. If the logger is nil nothing will be logged. See + // aws.LogLevelType for more information on available logging levels + // + // By default nothing will be logged. + Debug aws.LogLevelType + + // The logger loging information will be written to. If there the logger + // is nil, nothing will be logged. + Logger aws.Logger + + // Disables the Signer's moving HTTP header key/value pairs from the HTTP + // request header to the request's query string. This is most commonly used + // with pre-signed requests preventing headers from being added to the + // request's query string. + DisableHeaderHoisting bool + + // Disables the automatic escaping of the URI path of the request for the + // siganture's canonical string's path. For services that do not need additional + // escaping then use this to disable the signer escaping the path. + // + // S3 is an example of a service that does not need additional escaping. + // + // http://docs.aws.amazon.com/general/latest/gr/sigv4-create-canonical-request.html + DisableURIPathEscaping bool + + // Disales the automatical setting of the HTTP request's Body field with the + // io.ReadSeeker passed in to the signer. This is useful if you're using a + // custom wrapper around the body for the io.ReadSeeker and want to preserve + // the Body value on the Request.Body. + // + // This does run the risk of signing a request with a body that will not be + // sent in the request. Need to ensure that the underlying data of the Body + // values are the same. + DisableRequestBodyOverwrite bool + + // currentTimeFn returns the time value which represents the current time. + // This value should only be used for testing. If it is nil the default + // time.Now will be used. + currentTimeFn func() time.Time + + // UnsignedPayload will prevent signing of the payload. This will only + // work for services that have support for this. + UnsignedPayload bool +} + +// NewSigner returns a Signer pointer configured with the credentials and optional +// option values provided. If not options are provided the Signer will use its +// default configuration. +func NewSigner(credentials *credentials.Credentials, options ...func(*Signer)) *Signer { + v4 := &Signer{ + Credentials: credentials, + } + + for _, option := range options { + option(v4) + } + + return v4 +} + +type signingCtx struct { + ServiceName string + Region string + Request *http.Request + Body io.ReadSeeker + Query url.Values + Time time.Time + ExpireTime time.Duration + SignedHeaderVals http.Header + + DisableURIPathEscaping bool + + credValues credentials.Value + isPresign bool + formattedTime string + formattedShortTime string + unsignedPayload bool + + bodyDigest string + signedHeaders string + canonicalHeaders string + canonicalString string + credentialString string + stringToSign string + signature string + authorization string +} + +// Sign signs AWS v4 requests with the provided body, service name, region the +// request is made to, and time the request is signed at. The signTime allows +// you to specify that a request is signed for the future, and cannot be +// used until then. +// +// Returns a list of HTTP headers that were included in the signature or an +// error if signing the request failed. Generally for signed requests this value +// is not needed as the full request context will be captured by the http.Request +// value. It is included for reference though. +// +// Sign will set the request's Body to be the `body` parameter passed in. If +// the body is not already an io.ReadCloser, it will be wrapped within one. If +// a `nil` body parameter passed to Sign, the request's Body field will be +// also set to nil. Its important to note that this functionality will not +// change the request's ContentLength of the request. +// +// Sign differs from Presign in that it will sign the request using HTTP +// header values. This type of signing is intended for http.Request values that +// will not be shared, or are shared in a way the header values on the request +// will not be lost. +// +// The requests body is an io.ReadSeeker so the SHA256 of the body can be +// generated. To bypass the signer computing the hash you can set the +// "X-Amz-Content-Sha256" header with a precomputed value. The signer will +// only compute the hash if the request header value is empty. +func (v4 Signer) Sign(r *http.Request, body io.ReadSeeker, service, region string, signTime time.Time) (http.Header, error) { + return v4.signWithBody(r, body, service, region, 0, signTime) +} + +// Presign signs AWS v4 requests with the provided body, service name, region +// the request is made to, and time the request is signed at. The signTime +// allows you to specify that a request is signed for the future, and cannot +// be used until then. +// +// Returns a list of HTTP headers that were included in the signature or an +// error if signing the request failed. For presigned requests these headers +// and their values must be included on the HTTP request when it is made. This +// is helpful to know what header values need to be shared with the party the +// presigned request will be distributed to. +// +// Presign differs from Sign in that it will sign the request using query string +// instead of header values. This allows you to share the Presigned Request's +// URL with third parties, or distribute it throughout your system with minimal +// dependencies. +// +// Presign also takes an exp value which is the duration the +// signed request will be valid after the signing time. This is allows you to +// set when the request will expire. +// +// The requests body is an io.ReadSeeker so the SHA256 of the body can be +// generated. To bypass the signer computing the hash you can set the +// "X-Amz-Content-Sha256" header with a precomputed value. The signer will +// only compute the hash if the request header value is empty. +// +// Presigning a S3 request will not compute the body's SHA256 hash by default. +// This is done due to the general use case for S3 presigned URLs is to share +// PUT/GET capabilities. If you would like to include the body's SHA256 in the +// presigned request's signature you can set the "X-Amz-Content-Sha256" +// HTTP header and that will be included in the request's signature. +func (v4 Signer) Presign(r *http.Request, body io.ReadSeeker, service, region string, exp time.Duration, signTime time.Time) (http.Header, error) { + return v4.signWithBody(r, body, service, region, exp, signTime) +} + +func (v4 Signer) signWithBody(r *http.Request, body io.ReadSeeker, service, region string, exp time.Duration, signTime time.Time) (http.Header, error) { + currentTimeFn := v4.currentTimeFn + if currentTimeFn == nil { + currentTimeFn = time.Now + } + + ctx := &signingCtx{ + Request: r, + Body: body, + Query: r.URL.Query(), + Time: signTime, + ExpireTime: exp, + isPresign: exp != 0, + ServiceName: service, + Region: region, + DisableURIPathEscaping: v4.DisableURIPathEscaping, + unsignedPayload: v4.UnsignedPayload, + } + + for key := range ctx.Query { + sort.Strings(ctx.Query[key]) + } + + if ctx.isRequestSigned() { + ctx.Time = currentTimeFn() + ctx.handlePresignRemoval() + } + + var err error + ctx.credValues, err = v4.Credentials.Get() + if err != nil { + return http.Header{}, err + } + + ctx.assignAmzQueryValues() + ctx.build(v4.DisableHeaderHoisting) + + // If the request is not presigned the body should be attached to it. This + // prevents the confusion of wanting to send a signed request without + // the body the request was signed for attached. + if !(v4.DisableRequestBodyOverwrite || ctx.isPresign) { + var reader io.ReadCloser + if body != nil { + var ok bool + if reader, ok = body.(io.ReadCloser); !ok { + reader = ioutil.NopCloser(body) + } + } + r.Body = reader + } + + if v4.Debug.Matches(aws.LogDebugWithSigning) { + v4.logSigningInfo(ctx) + } + + return ctx.SignedHeaderVals, nil +} + +func (ctx *signingCtx) handlePresignRemoval() { + if !ctx.isPresign { + return + } + + // The credentials have expired for this request. The current signing + // is invalid, and needs to be request because the request will fail. + ctx.removePresign() + + // Update the request's query string to ensure the values stays in + // sync in the case retrieving the new credentials fails. + ctx.Request.URL.RawQuery = ctx.Query.Encode() +} + +func (ctx *signingCtx) assignAmzQueryValues() { + if ctx.isPresign { + ctx.Query.Set("X-Amz-Algorithm", authHeaderPrefix) + if ctx.credValues.SessionToken != "" { + ctx.Query.Set("X-Amz-Security-Token", ctx.credValues.SessionToken) + } else { + ctx.Query.Del("X-Amz-Security-Token") + } + + return + } + + if ctx.credValues.SessionToken != "" { + ctx.Request.Header.Set("X-Amz-Security-Token", ctx.credValues.SessionToken) + } +} + +// SignRequestHandler is a named request handler the SDK will use to sign +// service client request with using the V4 signature. +var SignRequestHandler = request.NamedHandler{ + Name: "v4.SignRequestHandler", Fn: SignSDKRequest, +} + +// SignSDKRequest signs an AWS request with the V4 signature. This +// request handler is bested used only with the SDK's built in service client's +// API operation requests. +// +// This function should not be used on its on its own, but in conjunction with +// an AWS service client's API operation call. To sign a standalone request +// not created by a service client's API operation method use the "Sign" or +// "Presign" functions of the "Signer" type. +// +// If the credentials of the request's config are set to +// credentials.AnonymousCredentials the request will not be signed. +func SignSDKRequest(req *request.Request) { + signSDKRequestWithCurrTime(req, time.Now) +} + +// BuildNamedHandler will build a generic handler for signing. +func BuildNamedHandler(name string, opts ...func(*Signer)) request.NamedHandler { + return request.NamedHandler{ + Name: name, + Fn: func(req *request.Request) { + signSDKRequestWithCurrTime(req, time.Now, opts...) + }, + } +} + +func signSDKRequestWithCurrTime(req *request.Request, curTimeFn func() time.Time, opts ...func(*Signer)) { + // If the request does not need to be signed ignore the signing of the + // request if the AnonymousCredentials object is used. + if req.Config.Credentials == credentials.AnonymousCredentials { + return + } + + region := req.ClientInfo.SigningRegion + if region == "" { + region = aws.StringValue(req.Config.Region) + } + + name := req.ClientInfo.SigningName + if name == "" { + name = req.ClientInfo.ServiceName + } + + v4 := NewSigner(req.Config.Credentials, func(v4 *Signer) { + v4.Debug = req.Config.LogLevel.Value() + v4.Logger = req.Config.Logger + v4.DisableHeaderHoisting = req.NotHoist + v4.currentTimeFn = curTimeFn + if name == "s3" { + // S3 service should not have any escaping applied + v4.DisableURIPathEscaping = true + } + // Prevents setting the HTTPRequest's Body. Since the Body could be + // wrapped in a custom io.Closer that we do not want to be stompped + // on top of by the signer. + v4.DisableRequestBodyOverwrite = true + }) + + for _, opt := range opts { + opt(v4) + } + + signingTime := req.Time + if !req.LastSignedAt.IsZero() { + signingTime = req.LastSignedAt + } + + signedHeaders, err := v4.signWithBody(req.HTTPRequest, req.GetBody(), + name, region, req.ExpireTime, signingTime, + ) + if err != nil { + req.Error = err + req.SignedHeaderVals = nil + return + } + + req.SignedHeaderVals = signedHeaders + req.LastSignedAt = curTimeFn() +} + +const logSignInfoMsg = `DEBUG: Request Signature: +---[ CANONICAL STRING ]----------------------------- +%s +---[ STRING TO SIGN ]-------------------------------- +%s%s +-----------------------------------------------------` +const logSignedURLMsg = ` +---[ SIGNED URL ]------------------------------------ +%s` + +func (v4 *Signer) logSigningInfo(ctx *signingCtx) { + signedURLMsg := "" + if ctx.isPresign { + signedURLMsg = fmt.Sprintf(logSignedURLMsg, ctx.Request.URL.String()) + } + msg := fmt.Sprintf(logSignInfoMsg, ctx.canonicalString, ctx.stringToSign, signedURLMsg) + v4.Logger.Log(msg) +} + +func (ctx *signingCtx) build(disableHeaderHoisting bool) { + ctx.buildTime() // no depends + ctx.buildCredentialString() // no depends + + unsignedHeaders := ctx.Request.Header + if ctx.isPresign { + if !disableHeaderHoisting { + urlValues := url.Values{} + urlValues, unsignedHeaders = buildQuery(allowedQueryHoisting, unsignedHeaders) // no depends + for k := range urlValues { + ctx.Query[k] = urlValues[k] + } + } + } + + ctx.buildBodyDigest() + ctx.buildCanonicalHeaders(ignoredHeaders, unsignedHeaders) + ctx.buildCanonicalString() // depends on canon headers / signed headers + ctx.buildStringToSign() // depends on canon string + ctx.buildSignature() // depends on string to sign + + if ctx.isPresign { + ctx.Request.URL.RawQuery += "&X-Amz-Signature=" + ctx.signature + } else { + parts := []string{ + authHeaderPrefix + " Credential=" + ctx.credValues.AccessKeyID + "/" + ctx.credentialString, + "SignedHeaders=" + ctx.signedHeaders, + "Signature=" + ctx.signature, + } + ctx.Request.Header.Set("Authorization", strings.Join(parts, ", ")) + } +} + +func (ctx *signingCtx) buildTime() { + ctx.formattedTime = ctx.Time.UTC().Format(timeFormat) + ctx.formattedShortTime = ctx.Time.UTC().Format(shortTimeFormat) + + if ctx.isPresign { + duration := int64(ctx.ExpireTime / time.Second) + ctx.Query.Set("X-Amz-Date", ctx.formattedTime) + ctx.Query.Set("X-Amz-Expires", strconv.FormatInt(duration, 10)) + } else { + ctx.Request.Header.Set("X-Amz-Date", ctx.formattedTime) + } +} + +func (ctx *signingCtx) buildCredentialString() { + ctx.credentialString = strings.Join([]string{ + ctx.formattedShortTime, + ctx.Region, + ctx.ServiceName, + "aws4_request", + }, "/") + + if ctx.isPresign { + ctx.Query.Set("X-Amz-Credential", ctx.credValues.AccessKeyID+"/"+ctx.credentialString) + } +} + +func buildQuery(r rule, header http.Header) (url.Values, http.Header) { + query := url.Values{} + unsignedHeaders := http.Header{} + for k, h := range header { + if r.IsValid(k) { + query[k] = h + } else { + unsignedHeaders[k] = h + } + } + + return query, unsignedHeaders +} +func (ctx *signingCtx) buildCanonicalHeaders(r rule, header http.Header) { + var headers []string + headers = append(headers, "host") + for k, v := range header { + canonicalKey := http.CanonicalHeaderKey(k) + if !r.IsValid(canonicalKey) { + continue // ignored header + } + if ctx.SignedHeaderVals == nil { + ctx.SignedHeaderVals = make(http.Header) + } + + lowerCaseKey := strings.ToLower(k) + if _, ok := ctx.SignedHeaderVals[lowerCaseKey]; ok { + // include additional values + ctx.SignedHeaderVals[lowerCaseKey] = append(ctx.SignedHeaderVals[lowerCaseKey], v...) + continue + } + + headers = append(headers, lowerCaseKey) + ctx.SignedHeaderVals[lowerCaseKey] = v + } + sort.Strings(headers) + + ctx.signedHeaders = strings.Join(headers, ";") + + if ctx.isPresign { + ctx.Query.Set("X-Amz-SignedHeaders", ctx.signedHeaders) + } + + headerValues := make([]string, len(headers)) + for i, k := range headers { + if k == "host" { + headerValues[i] = "host:" + ctx.Request.URL.Host + } else { + headerValues[i] = k + ":" + + strings.Join(ctx.SignedHeaderVals[k], ",") + } + } + + ctx.canonicalHeaders = strings.Join(stripExcessSpaces(headerValues), "\n") +} + +func (ctx *signingCtx) buildCanonicalString() { + ctx.Request.URL.RawQuery = strings.Replace(ctx.Query.Encode(), "+", "%20", -1) + + uri := getURIPath(ctx.Request.URL) + + if !ctx.DisableURIPathEscaping { + uri = rest.EscapePath(uri, false) + } + + ctx.canonicalString = strings.Join([]string{ + ctx.Request.Method, + uri, + ctx.Request.URL.RawQuery, + ctx.canonicalHeaders + "\n", + ctx.signedHeaders, + ctx.bodyDigest, + }, "\n") +} + +func (ctx *signingCtx) buildStringToSign() { + ctx.stringToSign = strings.Join([]string{ + authHeaderPrefix, + ctx.formattedTime, + ctx.credentialString, + hex.EncodeToString(makeSha256([]byte(ctx.canonicalString))), + }, "\n") +} + +func (ctx *signingCtx) buildSignature() { + secret := ctx.credValues.SecretAccessKey + date := makeHmac([]byte("AWS4"+secret), []byte(ctx.formattedShortTime)) + region := makeHmac(date, []byte(ctx.Region)) + service := makeHmac(region, []byte(ctx.ServiceName)) + credentials := makeHmac(service, []byte("aws4_request")) + signature := makeHmac(credentials, []byte(ctx.stringToSign)) + ctx.signature = hex.EncodeToString(signature) +} + +func (ctx *signingCtx) buildBodyDigest() { + hash := ctx.Request.Header.Get("X-Amz-Content-Sha256") + if hash == "" { + if ctx.unsignedPayload || (ctx.isPresign && ctx.ServiceName == "s3") { + hash = "UNSIGNED-PAYLOAD" + } else if ctx.Body == nil { + hash = emptyStringSHA256 + } else { + hash = hex.EncodeToString(makeSha256Reader(ctx.Body)) + } + if ctx.unsignedPayload || ctx.ServiceName == "s3" || ctx.ServiceName == "glacier" { + ctx.Request.Header.Set("X-Amz-Content-Sha256", hash) + } + } + ctx.bodyDigest = hash +} + +// isRequestSigned returns if the request is currently signed or presigned +func (ctx *signingCtx) isRequestSigned() bool { + if ctx.isPresign && ctx.Query.Get("X-Amz-Signature") != "" { + return true + } + if ctx.Request.Header.Get("Authorization") != "" { + return true + } + + return false +} + +// unsign removes signing flags for both signed and presigned requests. +func (ctx *signingCtx) removePresign() { + ctx.Query.Del("X-Amz-Algorithm") + ctx.Query.Del("X-Amz-Signature") + ctx.Query.Del("X-Amz-Security-Token") + ctx.Query.Del("X-Amz-Date") + ctx.Query.Del("X-Amz-Expires") + ctx.Query.Del("X-Amz-Credential") + ctx.Query.Del("X-Amz-SignedHeaders") +} + +func makeHmac(key []byte, data []byte) []byte { + hash := hmac.New(sha256.New, key) + hash.Write(data) + return hash.Sum(nil) +} + +func makeSha256(data []byte) []byte { + hash := sha256.New() + hash.Write(data) + return hash.Sum(nil) +} + +func makeSha256Reader(reader io.ReadSeeker) []byte { + hash := sha256.New() + start, _ := reader.Seek(0, 1) + defer reader.Seek(start, 0) + + io.Copy(hash, reader) + return hash.Sum(nil) +} + +const doubleSpaces = " " + +var doubleSpaceBytes = []byte(doubleSpaces) + +func stripExcessSpaces(headerVals []string) []string { + vals := make([]string, len(headerVals)) + for i, str := range headerVals { + // Trim leading and trailing spaces + trimmed := strings.TrimSpace(str) + + idx := strings.Index(trimmed, doubleSpaces) + var buf []byte + for idx > -1 { + // Multiple adjacent spaces found + if buf == nil { + // first time create the buffer + buf = []byte(trimmed) + } + + stripToIdx := -1 + for j := idx + 1; j < len(buf); j++ { + if buf[j] != ' ' { + buf = append(buf[:idx+1], buf[j:]...) + stripToIdx = j + break + } + } + + if stripToIdx >= 0 { + idx = bytes.Index(buf[stripToIdx:], doubleSpaceBytes) + if idx >= 0 { + idx += stripToIdx + } + } else { + idx = -1 + } + } + + if buf != nil { + vals[i] = string(buf) + } else { + vals[i] = trimmed + } + } + return vals +} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/types.go b/vendor/github.com/aws/aws-sdk-go/aws/types.go new file mode 100644 index 0000000000..0e2d864e10 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/aws/types.go @@ -0,0 +1,118 @@ +package aws + +import ( + "io" + "sync" +) + +// ReadSeekCloser wraps a io.Reader returning a ReaderSeekerCloser. Should +// only be used with an io.Reader that is also an io.Seeker. Doing so may +// cause request signature errors, or request body's not sent for GET, HEAD +// and DELETE HTTP methods. +// +// Deprecated: Should only be used with io.ReadSeeker. If using for +// S3 PutObject to stream content use s3manager.Uploader instead. +func ReadSeekCloser(r io.Reader) ReaderSeekerCloser { + return ReaderSeekerCloser{r} +} + +// ReaderSeekerCloser represents a reader that can also delegate io.Seeker and +// io.Closer interfaces to the underlying object if they are available. +type ReaderSeekerCloser struct { + r io.Reader +} + +// Read reads from the reader up to size of p. The number of bytes read, and +// error if it occurred will be returned. +// +// If the reader is not an io.Reader zero bytes read, and nil error will be returned. +// +// Performs the same functionality as io.Reader Read +func (r ReaderSeekerCloser) Read(p []byte) (int, error) { + switch t := r.r.(type) { + case io.Reader: + return t.Read(p) + } + return 0, nil +} + +// Seek sets the offset for the next Read to offset, interpreted according to +// whence: 0 means relative to the origin of the file, 1 means relative to the +// current offset, and 2 means relative to the end. Seek returns the new offset +// and an error, if any. +// +// If the ReaderSeekerCloser is not an io.Seeker nothing will be done. +func (r ReaderSeekerCloser) Seek(offset int64, whence int) (int64, error) { + switch t := r.r.(type) { + case io.Seeker: + return t.Seek(offset, whence) + } + return int64(0), nil +} + +// IsSeeker returns if the underlying reader is also a seeker. +func (r ReaderSeekerCloser) IsSeeker() bool { + _, ok := r.r.(io.Seeker) + return ok +} + +// Close closes the ReaderSeekerCloser. +// +// If the ReaderSeekerCloser is not an io.Closer nothing will be done. +func (r ReaderSeekerCloser) Close() error { + switch t := r.r.(type) { + case io.Closer: + return t.Close() + } + return nil +} + +// A WriteAtBuffer provides a in memory buffer supporting the io.WriterAt interface +// Can be used with the s3manager.Downloader to download content to a buffer +// in memory. Safe to use concurrently. +type WriteAtBuffer struct { + buf []byte + m sync.Mutex + + // GrowthCoeff defines the growth rate of the internal buffer. By + // default, the growth rate is 1, where expanding the internal + // buffer will allocate only enough capacity to fit the new expected + // length. + GrowthCoeff float64 +} + +// NewWriteAtBuffer creates a WriteAtBuffer with an internal buffer +// provided by buf. +func NewWriteAtBuffer(buf []byte) *WriteAtBuffer { + return &WriteAtBuffer{buf: buf} +} + +// WriteAt writes a slice of bytes to a buffer starting at the position provided +// The number of bytes written will be returned, or error. Can overwrite previous +// written slices if the write ats overlap. +func (b *WriteAtBuffer) WriteAt(p []byte, pos int64) (n int, err error) { + pLen := len(p) + expLen := pos + int64(pLen) + b.m.Lock() + defer b.m.Unlock() + if int64(len(b.buf)) < expLen { + if int64(cap(b.buf)) < expLen { + if b.GrowthCoeff < 1 { + b.GrowthCoeff = 1 + } + newBuf := make([]byte, expLen, int64(b.GrowthCoeff*float64(expLen))) + copy(newBuf, b.buf) + b.buf = newBuf + } + b.buf = b.buf[:expLen] + } + copy(b.buf[pos:], p) + return pLen, nil +} + +// Bytes returns a slice of bytes written to the buffer. +func (b *WriteAtBuffer) Bytes() []byte { + b.m.Lock() + defer b.m.Unlock() + return b.buf +} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/version.go b/vendor/github.com/aws/aws-sdk-go/aws/version.go new file mode 100644 index 0000000000..d1b587d707 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/aws/version.go @@ -0,0 +1,8 @@ +// Package aws provides core functionality for making requests to AWS services. +package aws + +// SDKName is the name of this AWS SDK +const SDKName = "aws-sdk-go" + +// SDKVersion is the version of this SDK +const SDKVersion = "1.8.11" diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/idempotency.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/idempotency.go new file mode 100644 index 0000000000..53831dff98 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/private/protocol/idempotency.go @@ -0,0 +1,75 @@ +package protocol + +import ( + "crypto/rand" + "fmt" + "reflect" +) + +// RandReader is the random reader the protocol package will use to read +// random bytes from. This is exported for testing, and should not be used. +var RandReader = rand.Reader + +const idempotencyTokenFillTag = `idempotencyToken` + +// CanSetIdempotencyToken returns true if the struct field should be +// automatically populated with a Idempotency token. +// +// Only *string and string type fields that are tagged with idempotencyToken +// which are not already set can be auto filled. +func CanSetIdempotencyToken(v reflect.Value, f reflect.StructField) bool { + switch u := v.Interface().(type) { + // To auto fill an Idempotency token the field must be a string, + // tagged for auto fill, and have a zero value. + case *string: + return u == nil && len(f.Tag.Get(idempotencyTokenFillTag)) != 0 + case string: + return len(u) == 0 && len(f.Tag.Get(idempotencyTokenFillTag)) != 0 + } + + return false +} + +// GetIdempotencyToken returns a randomly generated idempotency token. +func GetIdempotencyToken() string { + b := make([]byte, 16) + RandReader.Read(b) + + return UUIDVersion4(b) +} + +// SetIdempotencyToken will set the value provided with a Idempotency Token. +// Given that the value can be set. Will panic if value is not setable. +func SetIdempotencyToken(v reflect.Value) { + if v.Kind() == reflect.Ptr { + if v.IsNil() && v.CanSet() { + v.Set(reflect.New(v.Type().Elem())) + } + v = v.Elem() + } + v = reflect.Indirect(v) + + if !v.CanSet() { + panic(fmt.Sprintf("unable to set idempotnecy token %v", v)) + } + + b := make([]byte, 16) + _, err := rand.Read(b) + if err != nil { + // TODO handle error + return + } + + v.Set(reflect.ValueOf(UUIDVersion4(b))) +} + +// UUIDVersion4 returns a Version 4 random UUID from the byte slice provided +func UUIDVersion4(u []byte) string { + // https://en.wikipedia.org/wiki/Universally_unique_identifier#Version_4_.28random.29 + // 13th character is "4" + u[6] = (u[6] | 0x40) & 0x4F + // 17th character is "8", "9", "a", or "b" + u[8] = (u[8] | 0x80) & 0xBF + + return fmt.Sprintf(`%X-%X-%X-%X-%X`, u[0:4], u[4:6], u[6:8], u[8:10], u[10:]) +} diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/query/build.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/query/build.go new file mode 100644 index 0000000000..18169f0f8c --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/private/protocol/query/build.go @@ -0,0 +1,36 @@ +// Package query provides serialization of AWS query requests, and responses. +package query + +//go:generate go run -tags codegen ../../../models/protocol_tests/generate.go ../../../models/protocol_tests/input/query.json build_test.go + +import ( + "net/url" + + "github.com/aws/aws-sdk-go/aws/awserr" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/private/protocol/query/queryutil" +) + +// BuildHandler is a named request handler for building query protocol requests +var BuildHandler = request.NamedHandler{Name: "awssdk.query.Build", Fn: Build} + +// Build builds a request for an AWS Query service. +func Build(r *request.Request) { + body := url.Values{ + "Action": {r.Operation.Name}, + "Version": {r.ClientInfo.APIVersion}, + } + if err := queryutil.Parse(body, r.Params, false); err != nil { + r.Error = awserr.New("SerializationError", "failed encoding Query request", err) + return + } + + if r.ExpireTime == 0 { + r.HTTPRequest.Method = "POST" + r.HTTPRequest.Header.Set("Content-Type", "application/x-www-form-urlencoded; charset=utf-8") + r.SetBufferBody([]byte(body.Encode())) + } else { // This is a pre-signed request + r.HTTPRequest.Method = "GET" + r.HTTPRequest.URL.RawQuery = body.Encode() + } +} diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/query/queryutil/queryutil.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/query/queryutil/queryutil.go new file mode 100644 index 0000000000..524ca952ad --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/private/protocol/query/queryutil/queryutil.go @@ -0,0 +1,237 @@ +package queryutil + +import ( + "encoding/base64" + "fmt" + "net/url" + "reflect" + "sort" + "strconv" + "strings" + "time" + + "github.com/aws/aws-sdk-go/private/protocol" +) + +// Parse parses an object i and fills a url.Values object. The isEC2 flag +// indicates if this is the EC2 Query sub-protocol. +func Parse(body url.Values, i interface{}, isEC2 bool) error { + q := queryParser{isEC2: isEC2} + return q.parseValue(body, reflect.ValueOf(i), "", "") +} + +func elemOf(value reflect.Value) reflect.Value { + for value.Kind() == reflect.Ptr { + value = value.Elem() + } + return value +} + +type queryParser struct { + isEC2 bool +} + +func (q *queryParser) parseValue(v url.Values, value reflect.Value, prefix string, tag reflect.StructTag) error { + value = elemOf(value) + + // no need to handle zero values + if !value.IsValid() { + return nil + } + + t := tag.Get("type") + if t == "" { + switch value.Kind() { + case reflect.Struct: + t = "structure" + case reflect.Slice: + t = "list" + case reflect.Map: + t = "map" + } + } + + switch t { + case "structure": + return q.parseStruct(v, value, prefix) + case "list": + return q.parseList(v, value, prefix, tag) + case "map": + return q.parseMap(v, value, prefix, tag) + default: + return q.parseScalar(v, value, prefix, tag) + } +} + +func (q *queryParser) parseStruct(v url.Values, value reflect.Value, prefix string) error { + if !value.IsValid() { + return nil + } + + t := value.Type() + for i := 0; i < value.NumField(); i++ { + elemValue := elemOf(value.Field(i)) + field := t.Field(i) + + if field.PkgPath != "" { + continue // ignore unexported fields + } + if field.Tag.Get("ignore") != "" { + continue + } + + if protocol.CanSetIdempotencyToken(value.Field(i), field) { + token := protocol.GetIdempotencyToken() + elemValue = reflect.ValueOf(token) + } + + var name string + if q.isEC2 { + name = field.Tag.Get("queryName") + } + if name == "" { + if field.Tag.Get("flattened") != "" && field.Tag.Get("locationNameList") != "" { + name = field.Tag.Get("locationNameList") + } else if locName := field.Tag.Get("locationName"); locName != "" { + name = locName + } + if name != "" && q.isEC2 { + name = strings.ToUpper(name[0:1]) + name[1:] + } + } + if name == "" { + name = field.Name + } + + if prefix != "" { + name = prefix + "." + name + } + + if err := q.parseValue(v, elemValue, name, field.Tag); err != nil { + return err + } + } + return nil +} + +func (q *queryParser) parseList(v url.Values, value reflect.Value, prefix string, tag reflect.StructTag) error { + // If it's empty, generate an empty value + if !value.IsNil() && value.Len() == 0 { + v.Set(prefix, "") + return nil + } + + // check for unflattened list member + if !q.isEC2 && tag.Get("flattened") == "" { + if listName := tag.Get("locationNameList"); listName == "" { + prefix += ".member" + } else { + prefix += "." + listName + } + } + + for i := 0; i < value.Len(); i++ { + slicePrefix := prefix + if slicePrefix == "" { + slicePrefix = strconv.Itoa(i + 1) + } else { + slicePrefix = slicePrefix + "." + strconv.Itoa(i+1) + } + if err := q.parseValue(v, value.Index(i), slicePrefix, ""); err != nil { + return err + } + } + return nil +} + +func (q *queryParser) parseMap(v url.Values, value reflect.Value, prefix string, tag reflect.StructTag) error { + // If it's empty, generate an empty value + if !value.IsNil() && value.Len() == 0 { + v.Set(prefix, "") + return nil + } + + // check for unflattened list member + if !q.isEC2 && tag.Get("flattened") == "" { + prefix += ".entry" + } + + // sort keys for improved serialization consistency. + // this is not strictly necessary for protocol support. + mapKeyValues := value.MapKeys() + mapKeys := map[string]reflect.Value{} + mapKeyNames := make([]string, len(mapKeyValues)) + for i, mapKey := range mapKeyValues { + name := mapKey.String() + mapKeys[name] = mapKey + mapKeyNames[i] = name + } + sort.Strings(mapKeyNames) + + for i, mapKeyName := range mapKeyNames { + mapKey := mapKeys[mapKeyName] + mapValue := value.MapIndex(mapKey) + + kname := tag.Get("locationNameKey") + if kname == "" { + kname = "key" + } + vname := tag.Get("locationNameValue") + if vname == "" { + vname = "value" + } + + // serialize key + var keyName string + if prefix == "" { + keyName = strconv.Itoa(i+1) + "." + kname + } else { + keyName = prefix + "." + strconv.Itoa(i+1) + "." + kname + } + + if err := q.parseValue(v, mapKey, keyName, ""); err != nil { + return err + } + + // serialize value + var valueName string + if prefix == "" { + valueName = strconv.Itoa(i+1) + "." + vname + } else { + valueName = prefix + "." + strconv.Itoa(i+1) + "." + vname + } + + if err := q.parseValue(v, mapValue, valueName, ""); err != nil { + return err + } + } + + return nil +} + +func (q *queryParser) parseScalar(v url.Values, r reflect.Value, name string, tag reflect.StructTag) error { + switch value := r.Interface().(type) { + case string: + v.Set(name, value) + case []byte: + if !r.IsNil() { + v.Set(name, base64.StdEncoding.EncodeToString(value)) + } + case bool: + v.Set(name, strconv.FormatBool(value)) + case int64: + v.Set(name, strconv.FormatInt(value, 10)) + case int: + v.Set(name, strconv.Itoa(value)) + case float64: + v.Set(name, strconv.FormatFloat(value, 'f', -1, 64)) + case float32: + v.Set(name, strconv.FormatFloat(float64(value), 'f', -1, 32)) + case time.Time: + const ISO8601UTC = "2006-01-02T15:04:05Z" + v.Set(name, value.UTC().Format(ISO8601UTC)) + default: + return fmt.Errorf("unsupported value for param %s: %v (%s)", name, r.Interface(), r.Type().Name()) + } + return nil +} diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/query/unmarshal.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/query/unmarshal.go new file mode 100644 index 0000000000..e0f4d5a541 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/private/protocol/query/unmarshal.go @@ -0,0 +1,35 @@ +package query + +//go:generate go run -tags codegen ../../../models/protocol_tests/generate.go ../../../models/protocol_tests/output/query.json unmarshal_test.go + +import ( + "encoding/xml" + + "github.com/aws/aws-sdk-go/aws/awserr" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil" +) + +// UnmarshalHandler is a named request handler for unmarshaling query protocol requests +var UnmarshalHandler = request.NamedHandler{Name: "awssdk.query.Unmarshal", Fn: Unmarshal} + +// UnmarshalMetaHandler is a named request handler for unmarshaling query protocol request metadata +var UnmarshalMetaHandler = request.NamedHandler{Name: "awssdk.query.UnmarshalMeta", Fn: UnmarshalMeta} + +// Unmarshal unmarshals a response for an AWS Query service. +func Unmarshal(r *request.Request) { + defer r.HTTPResponse.Body.Close() + if r.DataFilled() { + decoder := xml.NewDecoder(r.HTTPResponse.Body) + err := xmlutil.UnmarshalXML(r.Data, decoder, r.Operation.Name+"Result") + if err != nil { + r.Error = awserr.New("SerializationError", "failed decoding Query response", err) + return + } + } +} + +// UnmarshalMeta unmarshals header response values for an AWS Query service. +func UnmarshalMeta(r *request.Request) { + r.RequestID = r.HTTPResponse.Header.Get("X-Amzn-Requestid") +} diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/query/unmarshal_error.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/query/unmarshal_error.go new file mode 100644 index 0000000000..f214296171 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/private/protocol/query/unmarshal_error.go @@ -0,0 +1,66 @@ +package query + +import ( + "encoding/xml" + "io/ioutil" + + "github.com/aws/aws-sdk-go/aws/awserr" + "github.com/aws/aws-sdk-go/aws/request" +) + +type xmlErrorResponse struct { + XMLName xml.Name `xml:"ErrorResponse"` + Code string `xml:"Error>Code"` + Message string `xml:"Error>Message"` + RequestID string `xml:"RequestId"` +} + +type xmlServiceUnavailableResponse struct { + XMLName xml.Name `xml:"ServiceUnavailableException"` +} + +// UnmarshalErrorHandler is a name request handler to unmarshal request errors +var UnmarshalErrorHandler = request.NamedHandler{Name: "awssdk.query.UnmarshalError", Fn: UnmarshalError} + +// UnmarshalError unmarshals an error response for an AWS Query service. +func UnmarshalError(r *request.Request) { + defer r.HTTPResponse.Body.Close() + + bodyBytes, err := ioutil.ReadAll(r.HTTPResponse.Body) + if err != nil { + r.Error = awserr.New("SerializationError", "failed to read from query HTTP response body", err) + return + } + + // First check for specific error + resp := xmlErrorResponse{} + decodeErr := xml.Unmarshal(bodyBytes, &resp) + if decodeErr == nil { + reqID := resp.RequestID + if reqID == "" { + reqID = r.RequestID + } + r.Error = awserr.NewRequestFailure( + awserr.New(resp.Code, resp.Message, nil), + r.HTTPResponse.StatusCode, + reqID, + ) + return + } + + // Check for unhandled error + servUnavailResp := xmlServiceUnavailableResponse{} + unavailErr := xml.Unmarshal(bodyBytes, &servUnavailResp) + if unavailErr == nil { + r.Error = awserr.NewRequestFailure( + awserr.New("ServiceUnavailableException", "service is unavailable", nil), + r.HTTPResponse.StatusCode, + r.RequestID, + ) + return + } + + // Failed to retrieve any error message from the response body + r.Error = awserr.New("SerializationError", + "failed to decode query XML error response", decodeErr) +} diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/rest/build.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/rest/build.go new file mode 100644 index 0000000000..7161835649 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/private/protocol/rest/build.go @@ -0,0 +1,290 @@ +// Package rest provides RESTful serialization of AWS requests and responses. +package rest + +import ( + "bytes" + "encoding/base64" + "encoding/json" + "fmt" + "io" + "net/http" + "net/url" + "path" + "reflect" + "strconv" + "strings" + "time" + + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/awserr" + "github.com/aws/aws-sdk-go/aws/request" +) + +// RFC822 returns an RFC822 formatted timestamp for AWS protocols +const RFC822 = "Mon, 2 Jan 2006 15:04:05 GMT" + +// Whether the byte value can be sent without escaping in AWS URLs +var noEscape [256]bool + +var errValueNotSet = fmt.Errorf("value not set") + +func init() { + for i := 0; i < len(noEscape); i++ { + // AWS expects every character except these to be escaped + noEscape[i] = (i >= 'A' && i <= 'Z') || + (i >= 'a' && i <= 'z') || + (i >= '0' && i <= '9') || + i == '-' || + i == '.' || + i == '_' || + i == '~' + } +} + +// BuildHandler is a named request handler for building rest protocol requests +var BuildHandler = request.NamedHandler{Name: "awssdk.rest.Build", Fn: Build} + +// Build builds the REST component of a service request. +func Build(r *request.Request) { + if r.ParamsFilled() { + v := reflect.ValueOf(r.Params).Elem() + buildLocationElements(r, v, false) + buildBody(r, v) + } +} + +// BuildAsGET builds the REST component of a service request with the ability to hoist +// data from the body. +func BuildAsGET(r *request.Request) { + if r.ParamsFilled() { + v := reflect.ValueOf(r.Params).Elem() + buildLocationElements(r, v, true) + buildBody(r, v) + } +} + +func buildLocationElements(r *request.Request, v reflect.Value, buildGETQuery bool) { + query := r.HTTPRequest.URL.Query() + + // Setup the raw path to match the base path pattern. This is needed + // so that when the path is mutated a custom escaped version can be + // stored in RawPath that will be used by the Go client. + r.HTTPRequest.URL.RawPath = r.HTTPRequest.URL.Path + + for i := 0; i < v.NumField(); i++ { + m := v.Field(i) + if n := v.Type().Field(i).Name; n[0:1] == strings.ToLower(n[0:1]) { + continue + } + + if m.IsValid() { + field := v.Type().Field(i) + name := field.Tag.Get("locationName") + if name == "" { + name = field.Name + } + if kind := m.Kind(); kind == reflect.Ptr { + m = m.Elem() + } else if kind == reflect.Interface { + if !m.Elem().IsValid() { + continue + } + } + if !m.IsValid() { + continue + } + if field.Tag.Get("ignore") != "" { + continue + } + + var err error + switch field.Tag.Get("location") { + case "headers": // header maps + err = buildHeaderMap(&r.HTTPRequest.Header, m, field.Tag) + case "header": + err = buildHeader(&r.HTTPRequest.Header, m, name, field.Tag) + case "uri": + err = buildURI(r.HTTPRequest.URL, m, name, field.Tag) + case "querystring": + err = buildQueryString(query, m, name, field.Tag) + default: + if buildGETQuery { + err = buildQueryString(query, m, name, field.Tag) + } + } + r.Error = err + } + if r.Error != nil { + return + } + } + + r.HTTPRequest.URL.RawQuery = query.Encode() + if !aws.BoolValue(r.Config.DisableRestProtocolURICleaning) { + cleanPath(r.HTTPRequest.URL) + } +} + +func buildBody(r *request.Request, v reflect.Value) { + if field, ok := v.Type().FieldByName("_"); ok { + if payloadName := field.Tag.Get("payload"); payloadName != "" { + pfield, _ := v.Type().FieldByName(payloadName) + if ptag := pfield.Tag.Get("type"); ptag != "" && ptag != "structure" { + payload := reflect.Indirect(v.FieldByName(payloadName)) + if payload.IsValid() && payload.Interface() != nil { + switch reader := payload.Interface().(type) { + case io.ReadSeeker: + r.SetReaderBody(reader) + case []byte: + r.SetBufferBody(reader) + case string: + r.SetStringBody(reader) + default: + r.Error = awserr.New("SerializationError", + "failed to encode REST request", + fmt.Errorf("unknown payload type %s", payload.Type())) + } + } + } + } + } +} + +func buildHeader(header *http.Header, v reflect.Value, name string, tag reflect.StructTag) error { + str, err := convertType(v, tag) + if err == errValueNotSet { + return nil + } else if err != nil { + return awserr.New("SerializationError", "failed to encode REST request", err) + } + + header.Add(name, str) + + return nil +} + +func buildHeaderMap(header *http.Header, v reflect.Value, tag reflect.StructTag) error { + prefix := tag.Get("locationName") + for _, key := range v.MapKeys() { + str, err := convertType(v.MapIndex(key), tag) + if err == errValueNotSet { + continue + } else if err != nil { + return awserr.New("SerializationError", "failed to encode REST request", err) + + } + + header.Add(prefix+key.String(), str) + } + return nil +} + +func buildURI(u *url.URL, v reflect.Value, name string, tag reflect.StructTag) error { + value, err := convertType(v, tag) + if err == errValueNotSet { + return nil + } else if err != nil { + return awserr.New("SerializationError", "failed to encode REST request", err) + } + + u.Path = strings.Replace(u.Path, "{"+name+"}", value, -1) + u.Path = strings.Replace(u.Path, "{"+name+"+}", value, -1) + + u.RawPath = strings.Replace(u.RawPath, "{"+name+"}", EscapePath(value, true), -1) + u.RawPath = strings.Replace(u.RawPath, "{"+name+"+}", EscapePath(value, false), -1) + + return nil +} + +func buildQueryString(query url.Values, v reflect.Value, name string, tag reflect.StructTag) error { + switch value := v.Interface().(type) { + case []*string: + for _, item := range value { + query.Add(name, *item) + } + case map[string]*string: + for key, item := range value { + query.Add(key, *item) + } + case map[string][]*string: + for key, items := range value { + for _, item := range items { + query.Add(key, *item) + } + } + default: + str, err := convertType(v, tag) + if err == errValueNotSet { + return nil + } else if err != nil { + return awserr.New("SerializationError", "failed to encode REST request", err) + } + query.Set(name, str) + } + + return nil +} + +func cleanPath(u *url.URL) { + hasSlash := strings.HasSuffix(u.Path, "/") + + // clean up path, removing duplicate `/` + u.Path = path.Clean(u.Path) + u.RawPath = path.Clean(u.RawPath) + + if hasSlash && !strings.HasSuffix(u.Path, "/") { + u.Path += "/" + u.RawPath += "/" + } +} + +// EscapePath escapes part of a URL path in Amazon style +func EscapePath(path string, encodeSep bool) string { + var buf bytes.Buffer + for i := 0; i < len(path); i++ { + c := path[i] + if noEscape[c] || (c == '/' && !encodeSep) { + buf.WriteByte(c) + } else { + fmt.Fprintf(&buf, "%%%02X", c) + } + } + return buf.String() +} + +func convertType(v reflect.Value, tag reflect.StructTag) (string, error) { + v = reflect.Indirect(v) + if !v.IsValid() { + return "", errValueNotSet + } + + var str string + switch value := v.Interface().(type) { + case string: + str = value + case []byte: + str = base64.StdEncoding.EncodeToString(value) + case bool: + str = strconv.FormatBool(value) + case int64: + str = strconv.FormatInt(value, 10) + case float64: + str = strconv.FormatFloat(value, 'f', -1, 64) + case time.Time: + str = value.UTC().Format(RFC822) + case aws.JSONValue: + b, err := json.Marshal(value) + if err != nil { + return "", err + } + if tag.Get("location") == "header" { + str = base64.StdEncoding.EncodeToString(b) + } else { + str = string(b) + } + default: + err := fmt.Errorf("Unsupported value for param %v (%s)", v.Interface(), v.Type()) + return "", err + } + return str, nil +} diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/rest/payload.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/rest/payload.go new file mode 100644 index 0000000000..4366de2e1e --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/private/protocol/rest/payload.go @@ -0,0 +1,45 @@ +package rest + +import "reflect" + +// PayloadMember returns the payload field member of i if there is one, or nil. +func PayloadMember(i interface{}) interface{} { + if i == nil { + return nil + } + + v := reflect.ValueOf(i).Elem() + if !v.IsValid() { + return nil + } + if field, ok := v.Type().FieldByName("_"); ok { + if payloadName := field.Tag.Get("payload"); payloadName != "" { + field, _ := v.Type().FieldByName(payloadName) + if field.Tag.Get("type") != "structure" { + return nil + } + + payload := v.FieldByName(payloadName) + if payload.IsValid() || (payload.Kind() == reflect.Ptr && !payload.IsNil()) { + return payload.Interface() + } + } + } + return nil +} + +// PayloadType returns the type of a payload field member of i if there is one, or "". +func PayloadType(i interface{}) string { + v := reflect.Indirect(reflect.ValueOf(i)) + if !v.IsValid() { + return "" + } + if field, ok := v.Type().FieldByName("_"); ok { + if payloadName := field.Tag.Get("payload"); payloadName != "" { + if member, ok := v.Type().FieldByName(payloadName); ok { + return member.Tag.Get("type") + } + } + } + return "" +} diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/rest/unmarshal.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/rest/unmarshal.go new file mode 100644 index 0000000000..7a779ee226 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/private/protocol/rest/unmarshal.go @@ -0,0 +1,227 @@ +package rest + +import ( + "bytes" + "encoding/base64" + "encoding/json" + "fmt" + "io" + "io/ioutil" + "net/http" + "reflect" + "strconv" + "strings" + "time" + + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/awserr" + "github.com/aws/aws-sdk-go/aws/request" +) + +// UnmarshalHandler is a named request handler for unmarshaling rest protocol requests +var UnmarshalHandler = request.NamedHandler{Name: "awssdk.rest.Unmarshal", Fn: Unmarshal} + +// UnmarshalMetaHandler is a named request handler for unmarshaling rest protocol request metadata +var UnmarshalMetaHandler = request.NamedHandler{Name: "awssdk.rest.UnmarshalMeta", Fn: UnmarshalMeta} + +// Unmarshal unmarshals the REST component of a response in a REST service. +func Unmarshal(r *request.Request) { + if r.DataFilled() { + v := reflect.Indirect(reflect.ValueOf(r.Data)) + unmarshalBody(r, v) + } +} + +// UnmarshalMeta unmarshals the REST metadata of a response in a REST service +func UnmarshalMeta(r *request.Request) { + r.RequestID = r.HTTPResponse.Header.Get("X-Amzn-Requestid") + if r.RequestID == "" { + // Alternative version of request id in the header + r.RequestID = r.HTTPResponse.Header.Get("X-Amz-Request-Id") + } + if r.DataFilled() { + v := reflect.Indirect(reflect.ValueOf(r.Data)) + unmarshalLocationElements(r, v) + } +} + +func unmarshalBody(r *request.Request, v reflect.Value) { + if field, ok := v.Type().FieldByName("_"); ok { + if payloadName := field.Tag.Get("payload"); payloadName != "" { + pfield, _ := v.Type().FieldByName(payloadName) + if ptag := pfield.Tag.Get("type"); ptag != "" && ptag != "structure" { + payload := v.FieldByName(payloadName) + if payload.IsValid() { + switch payload.Interface().(type) { + case []byte: + defer r.HTTPResponse.Body.Close() + b, err := ioutil.ReadAll(r.HTTPResponse.Body) + if err != nil { + r.Error = awserr.New("SerializationError", "failed to decode REST response", err) + } else { + payload.Set(reflect.ValueOf(b)) + } + case *string: + defer r.HTTPResponse.Body.Close() + b, err := ioutil.ReadAll(r.HTTPResponse.Body) + if err != nil { + r.Error = awserr.New("SerializationError", "failed to decode REST response", err) + } else { + str := string(b) + payload.Set(reflect.ValueOf(&str)) + } + default: + switch payload.Type().String() { + case "io.ReadCloser": + payload.Set(reflect.ValueOf(r.HTTPResponse.Body)) + case "io.ReadSeeker": + b, err := ioutil.ReadAll(r.HTTPResponse.Body) + if err != nil { + r.Error = awserr.New("SerializationError", + "failed to read response body", err) + return + } + payload.Set(reflect.ValueOf(ioutil.NopCloser(bytes.NewReader(b)))) + default: + io.Copy(ioutil.Discard, r.HTTPResponse.Body) + defer r.HTTPResponse.Body.Close() + r.Error = awserr.New("SerializationError", + "failed to decode REST response", + fmt.Errorf("unknown payload type %s", payload.Type())) + } + } + } + } + } + } +} + +func unmarshalLocationElements(r *request.Request, v reflect.Value) { + for i := 0; i < v.NumField(); i++ { + m, field := v.Field(i), v.Type().Field(i) + if n := field.Name; n[0:1] == strings.ToLower(n[0:1]) { + continue + } + + if m.IsValid() { + name := field.Tag.Get("locationName") + if name == "" { + name = field.Name + } + + switch field.Tag.Get("location") { + case "statusCode": + unmarshalStatusCode(m, r.HTTPResponse.StatusCode) + case "header": + err := unmarshalHeader(m, r.HTTPResponse.Header.Get(name), field.Tag) + if err != nil { + r.Error = awserr.New("SerializationError", "failed to decode REST response", err) + break + } + case "headers": + prefix := field.Tag.Get("locationName") + err := unmarshalHeaderMap(m, r.HTTPResponse.Header, prefix) + if err != nil { + r.Error = awserr.New("SerializationError", "failed to decode REST response", err) + break + } + } + } + if r.Error != nil { + return + } + } +} + +func unmarshalStatusCode(v reflect.Value, statusCode int) { + if !v.IsValid() { + return + } + + switch v.Interface().(type) { + case *int64: + s := int64(statusCode) + v.Set(reflect.ValueOf(&s)) + } +} + +func unmarshalHeaderMap(r reflect.Value, headers http.Header, prefix string) error { + switch r.Interface().(type) { + case map[string]*string: // we only support string map value types + out := map[string]*string{} + for k, v := range headers { + k = http.CanonicalHeaderKey(k) + if strings.HasPrefix(strings.ToLower(k), strings.ToLower(prefix)) { + out[k[len(prefix):]] = &v[0] + } + } + r.Set(reflect.ValueOf(out)) + } + return nil +} + +func unmarshalHeader(v reflect.Value, header string, tag reflect.StructTag) error { + isJSONValue := tag.Get("type") == "jsonvalue" + if isJSONValue { + if len(header) == 0 { + return nil + } + } else if !v.IsValid() || (header == "" && v.Elem().Kind() != reflect.String) { + return nil + } + + switch v.Interface().(type) { + case *string: + v.Set(reflect.ValueOf(&header)) + case []byte: + b, err := base64.StdEncoding.DecodeString(header) + if err != nil { + return err + } + v.Set(reflect.ValueOf(&b)) + case *bool: + b, err := strconv.ParseBool(header) + if err != nil { + return err + } + v.Set(reflect.ValueOf(&b)) + case *int64: + i, err := strconv.ParseInt(header, 10, 64) + if err != nil { + return err + } + v.Set(reflect.ValueOf(&i)) + case *float64: + f, err := strconv.ParseFloat(header, 64) + if err != nil { + return err + } + v.Set(reflect.ValueOf(&f)) + case *time.Time: + t, err := time.Parse(RFC822, header) + if err != nil { + return err + } + v.Set(reflect.ValueOf(&t)) + case aws.JSONValue: + b := []byte(header) + var err error + if tag.Get("location") == "header" { + b, err = base64.StdEncoding.DecodeString(header) + if err != nil { + return err + } + } + + m := aws.JSONValue{} + err = json.Unmarshal(b, &m) + if err != nil { + return err + } + v.Set(reflect.ValueOf(m)) + default: + err := fmt.Errorf("Unsupported value for param %v (%s)", v.Interface(), v.Type()) + return err + } + return nil +} diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/unmarshal.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/unmarshal.go new file mode 100644 index 0000000000..da1a68111d --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/private/protocol/unmarshal.go @@ -0,0 +1,21 @@ +package protocol + +import ( + "io" + "io/ioutil" + + "github.com/aws/aws-sdk-go/aws/request" +) + +// UnmarshalDiscardBodyHandler is a named request handler to empty and close a response's body +var UnmarshalDiscardBodyHandler = request.NamedHandler{Name: "awssdk.shared.UnmarshalDiscardBody", Fn: UnmarshalDiscardBody} + +// UnmarshalDiscardBody is a request handler to empty a response's body and closing it. +func UnmarshalDiscardBody(r *request.Request) { + if r.HTTPResponse == nil || r.HTTPResponse.Body == nil { + return + } + + io.Copy(ioutil.Discard, r.HTTPResponse.Body) + r.HTTPResponse.Body.Close() +} diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil/build.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil/build.go new file mode 100644 index 0000000000..c74c191967 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil/build.go @@ -0,0 +1,297 @@ +// Package xmlutil provides XML serialization of AWS requests and responses. +package xmlutil + +import ( + "encoding/base64" + "encoding/xml" + "fmt" + "reflect" + "sort" + "strconv" + "time" + + "github.com/aws/aws-sdk-go/private/protocol" +) + +// BuildXML will serialize params into an xml.Encoder. +// Error will be returned if the serialization of any of the params or nested values fails. +func BuildXML(params interface{}, e *xml.Encoder) error { + b := xmlBuilder{encoder: e, namespaces: map[string]string{}} + root := NewXMLElement(xml.Name{}) + if err := b.buildValue(reflect.ValueOf(params), root, ""); err != nil { + return err + } + for _, c := range root.Children { + for _, v := range c { + return StructToXML(e, v, false) + } + } + return nil +} + +// Returns the reflection element of a value, if it is a pointer. +func elemOf(value reflect.Value) reflect.Value { + for value.Kind() == reflect.Ptr { + value = value.Elem() + } + return value +} + +// A xmlBuilder serializes values from Go code to XML +type xmlBuilder struct { + encoder *xml.Encoder + namespaces map[string]string +} + +// buildValue generic XMLNode builder for any type. Will build value for their specific type +// struct, list, map, scalar. +// +// Also takes a "type" tag value to set what type a value should be converted to XMLNode as. If +// type is not provided reflect will be used to determine the value's type. +func (b *xmlBuilder) buildValue(value reflect.Value, current *XMLNode, tag reflect.StructTag) error { + value = elemOf(value) + if !value.IsValid() { // no need to handle zero values + return nil + } else if tag.Get("location") != "" { // don't handle non-body location values + return nil + } + + t := tag.Get("type") + if t == "" { + switch value.Kind() { + case reflect.Struct: + t = "structure" + case reflect.Slice: + t = "list" + case reflect.Map: + t = "map" + } + } + + switch t { + case "structure": + if field, ok := value.Type().FieldByName("_"); ok { + tag = tag + reflect.StructTag(" ") + field.Tag + } + return b.buildStruct(value, current, tag) + case "list": + return b.buildList(value, current, tag) + case "map": + return b.buildMap(value, current, tag) + default: + return b.buildScalar(value, current, tag) + } +} + +// buildStruct adds a struct and its fields to the current XMLNode. All fields any any nested +// types are converted to XMLNodes also. +func (b *xmlBuilder) buildStruct(value reflect.Value, current *XMLNode, tag reflect.StructTag) error { + if !value.IsValid() { + return nil + } + + fieldAdded := false + + // unwrap payloads + if payload := tag.Get("payload"); payload != "" { + field, _ := value.Type().FieldByName(payload) + tag = field.Tag + value = elemOf(value.FieldByName(payload)) + + if !value.IsValid() { + return nil + } + } + + child := NewXMLElement(xml.Name{Local: tag.Get("locationName")}) + + // there is an xmlNamespace associated with this struct + if prefix, uri := tag.Get("xmlPrefix"), tag.Get("xmlURI"); uri != "" { + ns := xml.Attr{ + Name: xml.Name{Local: "xmlns"}, + Value: uri, + } + if prefix != "" { + b.namespaces[prefix] = uri // register the namespace + ns.Name.Local = "xmlns:" + prefix + } + + child.Attr = append(child.Attr, ns) + } + + t := value.Type() + for i := 0; i < value.NumField(); i++ { + member := elemOf(value.Field(i)) + field := t.Field(i) + + if field.PkgPath != "" { + continue // ignore unexported fields + } + if field.Tag.Get("ignore") != "" { + continue + } + + + mTag := field.Tag + if mTag.Get("location") != "" { // skip non-body members + continue + } + + if protocol.CanSetIdempotencyToken(value.Field(i), field) { + token := protocol.GetIdempotencyToken() + member = reflect.ValueOf(token) + } + + memberName := mTag.Get("locationName") + if memberName == "" { + memberName = field.Name + mTag = reflect.StructTag(string(mTag) + ` locationName:"` + memberName + `"`) + } + if err := b.buildValue(member, child, mTag); err != nil { + return err + } + + fieldAdded = true + } + + if fieldAdded { // only append this child if we have one ore more valid members + current.AddChild(child) + } + + return nil +} + +// buildList adds the value's list items to the current XMLNode as children nodes. All +// nested values in the list are converted to XMLNodes also. +func (b *xmlBuilder) buildList(value reflect.Value, current *XMLNode, tag reflect.StructTag) error { + if value.IsNil() { // don't build omitted lists + return nil + } + + // check for unflattened list member + flattened := tag.Get("flattened") != "" + + xname := xml.Name{Local: tag.Get("locationName")} + if flattened { + for i := 0; i < value.Len(); i++ { + child := NewXMLElement(xname) + current.AddChild(child) + if err := b.buildValue(value.Index(i), child, ""); err != nil { + return err + } + } + } else { + list := NewXMLElement(xname) + current.AddChild(list) + + for i := 0; i < value.Len(); i++ { + iname := tag.Get("locationNameList") + if iname == "" { + iname = "member" + } + + child := NewXMLElement(xml.Name{Local: iname}) + list.AddChild(child) + if err := b.buildValue(value.Index(i), child, ""); err != nil { + return err + } + } + } + + return nil +} + +// buildMap adds the value's key/value pairs to the current XMLNode as children nodes. All +// nested values in the map are converted to XMLNodes also. +// +// Error will be returned if it is unable to build the map's values into XMLNodes +func (b *xmlBuilder) buildMap(value reflect.Value, current *XMLNode, tag reflect.StructTag) error { + if value.IsNil() { // don't build omitted maps + return nil + } + + maproot := NewXMLElement(xml.Name{Local: tag.Get("locationName")}) + current.AddChild(maproot) + current = maproot + + kname, vname := "key", "value" + if n := tag.Get("locationNameKey"); n != "" { + kname = n + } + if n := tag.Get("locationNameValue"); n != "" { + vname = n + } + + // sorting is not required for compliance, but it makes testing easier + keys := make([]string, value.Len()) + for i, k := range value.MapKeys() { + keys[i] = k.String() + } + sort.Strings(keys) + + for _, k := range keys { + v := value.MapIndex(reflect.ValueOf(k)) + + mapcur := current + if tag.Get("flattened") == "" { // add "entry" tag to non-flat maps + child := NewXMLElement(xml.Name{Local: "entry"}) + mapcur.AddChild(child) + mapcur = child + } + + kchild := NewXMLElement(xml.Name{Local: kname}) + kchild.Text = k + vchild := NewXMLElement(xml.Name{Local: vname}) + mapcur.AddChild(kchild) + mapcur.AddChild(vchild) + + if err := b.buildValue(v, vchild, ""); err != nil { + return err + } + } + + return nil +} + +// buildScalar will convert the value into a string and append it as a attribute or child +// of the current XMLNode. +// +// The value will be added as an attribute if tag contains a "xmlAttribute" attribute value. +// +// Error will be returned if the value type is unsupported. +func (b *xmlBuilder) buildScalar(value reflect.Value, current *XMLNode, tag reflect.StructTag) error { + var str string + switch converted := value.Interface().(type) { + case string: + str = converted + case []byte: + if !value.IsNil() { + str = base64.StdEncoding.EncodeToString(converted) + } + case bool: + str = strconv.FormatBool(converted) + case int64: + str = strconv.FormatInt(converted, 10) + case int: + str = strconv.Itoa(converted) + case float64: + str = strconv.FormatFloat(converted, 'f', -1, 64) + case float32: + str = strconv.FormatFloat(float64(converted), 'f', -1, 32) + case time.Time: + const ISO8601UTC = "2006-01-02T15:04:05Z" + str = converted.UTC().Format(ISO8601UTC) + default: + return fmt.Errorf("unsupported value for param %s: %v (%s)", + tag.Get("locationName"), value.Interface(), value.Type().Name()) + } + + xname := xml.Name{Local: tag.Get("locationName")} + if tag.Get("xmlAttribute") != "" { // put into current node's attribute list + attr := xml.Attr{Name: xname, Value: str} + current.Attr = append(current.Attr, attr) + } else { // regular text node + current.AddChild(&XMLNode{Name: xname, Text: str}) + } + return nil +} diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil/unmarshal.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil/unmarshal.go new file mode 100644 index 0000000000..64b6ddd3e1 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil/unmarshal.go @@ -0,0 +1,257 @@ +package xmlutil + +import ( + "encoding/base64" + "encoding/xml" + "fmt" + "io" + "reflect" + "strconv" + "strings" + "time" +) + +// UnmarshalXML deserializes an xml.Decoder into the container v. V +// needs to match the shape of the XML expected to be decoded. +// If the shape doesn't match unmarshaling will fail. +func UnmarshalXML(v interface{}, d *xml.Decoder, wrapper string) error { + n, _ := XMLToStruct(d, nil) + if n.Children != nil { + for _, root := range n.Children { + for _, c := range root { + if wrappedChild, ok := c.Children[wrapper]; ok { + c = wrappedChild[0] // pull out wrapped element + } + + err := parse(reflect.ValueOf(v), c, "") + if err != nil { + if err == io.EOF { + return nil + } + return err + } + } + } + return nil + } + return nil +} + +// parse deserializes any value from the XMLNode. The type tag is used to infer the type, or reflect +// will be used to determine the type from r. +func parse(r reflect.Value, node *XMLNode, tag reflect.StructTag) error { + rtype := r.Type() + if rtype.Kind() == reflect.Ptr { + rtype = rtype.Elem() // check kind of actual element type + } + + t := tag.Get("type") + if t == "" { + switch rtype.Kind() { + case reflect.Struct: + t = "structure" + case reflect.Slice: + t = "list" + case reflect.Map: + t = "map" + } + } + + switch t { + case "structure": + if field, ok := rtype.FieldByName("_"); ok { + tag = field.Tag + } + return parseStruct(r, node, tag) + case "list": + return parseList(r, node, tag) + case "map": + return parseMap(r, node, tag) + default: + return parseScalar(r, node, tag) + } +} + +// parseStruct deserializes a structure and its fields from an XMLNode. Any nested +// types in the structure will also be deserialized. +func parseStruct(r reflect.Value, node *XMLNode, tag reflect.StructTag) error { + t := r.Type() + if r.Kind() == reflect.Ptr { + if r.IsNil() { // create the structure if it's nil + s := reflect.New(r.Type().Elem()) + r.Set(s) + r = s + } + + r = r.Elem() + t = t.Elem() + } + + // unwrap any payloads + if payload := tag.Get("payload"); payload != "" { + field, _ := t.FieldByName(payload) + return parseStruct(r.FieldByName(payload), node, field.Tag) + } + + for i := 0; i < t.NumField(); i++ { + field := t.Field(i) + if c := field.Name[0:1]; strings.ToLower(c) == c { + continue // ignore unexported fields + } + + // figure out what this field is called + name := field.Name + if field.Tag.Get("flattened") != "" && field.Tag.Get("locationNameList") != "" { + name = field.Tag.Get("locationNameList") + } else if locName := field.Tag.Get("locationName"); locName != "" { + name = locName + } + + // try to find the field by name in elements + elems := node.Children[name] + + if elems == nil { // try to find the field in attributes + if val, ok := node.findElem(name); ok { + elems = []*XMLNode{{Text: val}} + } + } + + member := r.FieldByName(field.Name) + for _, elem := range elems { + err := parse(member, elem, field.Tag) + if err != nil { + return err + } + } + } + return nil +} + +// parseList deserializes a list of values from an XML node. Each list entry +// will also be deserialized. +func parseList(r reflect.Value, node *XMLNode, tag reflect.StructTag) error { + t := r.Type() + + if tag.Get("flattened") == "" { // look at all item entries + mname := "member" + if name := tag.Get("locationNameList"); name != "" { + mname = name + } + + if Children, ok := node.Children[mname]; ok { + if r.IsNil() { + r.Set(reflect.MakeSlice(t, len(Children), len(Children))) + } + + for i, c := range Children { + err := parse(r.Index(i), c, "") + if err != nil { + return err + } + } + } + } else { // flattened list means this is a single element + if r.IsNil() { + r.Set(reflect.MakeSlice(t, 0, 0)) + } + + childR := reflect.Zero(t.Elem()) + r.Set(reflect.Append(r, childR)) + err := parse(r.Index(r.Len()-1), node, "") + if err != nil { + return err + } + } + + return nil +} + +// parseMap deserializes a map from an XMLNode. The direct children of the XMLNode +// will also be deserialized as map entries. +func parseMap(r reflect.Value, node *XMLNode, tag reflect.StructTag) error { + if r.IsNil() { + r.Set(reflect.MakeMap(r.Type())) + } + + if tag.Get("flattened") == "" { // look at all child entries + for _, entry := range node.Children["entry"] { + parseMapEntry(r, entry, tag) + } + } else { // this element is itself an entry + parseMapEntry(r, node, tag) + } + + return nil +} + +// parseMapEntry deserializes a map entry from a XML node. +func parseMapEntry(r reflect.Value, node *XMLNode, tag reflect.StructTag) error { + kname, vname := "key", "value" + if n := tag.Get("locationNameKey"); n != "" { + kname = n + } + if n := tag.Get("locationNameValue"); n != "" { + vname = n + } + + keys, ok := node.Children[kname] + values := node.Children[vname] + if ok { + for i, key := range keys { + keyR := reflect.ValueOf(key.Text) + value := values[i] + valueR := reflect.New(r.Type().Elem()).Elem() + + parse(valueR, value, "") + r.SetMapIndex(keyR, valueR) + } + } + return nil +} + +// parseScaller deserializes an XMLNode value into a concrete type based on the +// interface type of r. +// +// Error is returned if the deserialization fails due to invalid type conversion, +// or unsupported interface type. +func parseScalar(r reflect.Value, node *XMLNode, tag reflect.StructTag) error { + switch r.Interface().(type) { + case *string: + r.Set(reflect.ValueOf(&node.Text)) + return nil + case []byte: + b, err := base64.StdEncoding.DecodeString(node.Text) + if err != nil { + return err + } + r.Set(reflect.ValueOf(b)) + case *bool: + v, err := strconv.ParseBool(node.Text) + if err != nil { + return err + } + r.Set(reflect.ValueOf(&v)) + case *int64: + v, err := strconv.ParseInt(node.Text, 10, 64) + if err != nil { + return err + } + r.Set(reflect.ValueOf(&v)) + case *float64: + v, err := strconv.ParseFloat(node.Text, 64) + if err != nil { + return err + } + r.Set(reflect.ValueOf(&v)) + case *time.Time: + const ISO8601UTC = "2006-01-02T15:04:05Z" + t, err := time.Parse(ISO8601UTC, node.Text) + if err != nil { + return err + } + r.Set(reflect.ValueOf(&t)) + default: + return fmt.Errorf("unsupported value: %v (%s)", r.Interface(), r.Type()) + } + return nil +} diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil/xml_to_struct.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil/xml_to_struct.go new file mode 100644 index 0000000000..3112512a21 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil/xml_to_struct.go @@ -0,0 +1,142 @@ +package xmlutil + +import ( + "encoding/xml" + "fmt" + "io" + "sort" +) + +// A XMLNode contains the values to be encoded or decoded. +type XMLNode struct { + Name xml.Name `json:",omitempty"` + Children map[string][]*XMLNode `json:",omitempty"` + Text string `json:",omitempty"` + Attr []xml.Attr `json:",omitempty"` + + namespaces map[string]string + parent *XMLNode +} + +// NewXMLElement returns a pointer to a new XMLNode initialized to default values. +func NewXMLElement(name xml.Name) *XMLNode { + return &XMLNode{ + Name: name, + Children: map[string][]*XMLNode{}, + Attr: []xml.Attr{}, + } +} + +// AddChild adds child to the XMLNode. +func (n *XMLNode) AddChild(child *XMLNode) { + if _, ok := n.Children[child.Name.Local]; !ok { + n.Children[child.Name.Local] = []*XMLNode{} + } + n.Children[child.Name.Local] = append(n.Children[child.Name.Local], child) +} + +// XMLToStruct converts a xml.Decoder stream to XMLNode with nested values. +func XMLToStruct(d *xml.Decoder, s *xml.StartElement) (*XMLNode, error) { + out := &XMLNode{} + for { + tok, err := d.Token() + if tok == nil || err == io.EOF { + break + } + if err != nil { + return out, err + } + + switch typed := tok.(type) { + case xml.CharData: + out.Text = string(typed.Copy()) + case xml.StartElement: + el := typed.Copy() + out.Attr = el.Attr + if out.Children == nil { + out.Children = map[string][]*XMLNode{} + } + + name := typed.Name.Local + slice := out.Children[name] + if slice == nil { + slice = []*XMLNode{} + } + node, e := XMLToStruct(d, &el) + out.findNamespaces() + if e != nil { + return out, e + } + node.Name = typed.Name + node.findNamespaces() + tempOut := *out + // Save into a temp variable, simply because out gets squashed during + // loop iterations + node.parent = &tempOut + slice = append(slice, node) + out.Children[name] = slice + case xml.EndElement: + if s != nil && s.Name.Local == typed.Name.Local { // matching end token + return out, nil + } + out = &XMLNode{} + } + } + return out, nil +} + +func (n *XMLNode) findNamespaces() { + ns := map[string]string{} + for _, a := range n.Attr { + if a.Name.Space == "xmlns" { + ns[a.Value] = a.Name.Local + } + } + + n.namespaces = ns +} + +func (n *XMLNode) findElem(name string) (string, bool) { + for node := n; node != nil; node = node.parent { + for _, a := range node.Attr { + namespace := a.Name.Space + if v, ok := node.namespaces[namespace]; ok { + namespace = v + } + if name == fmt.Sprintf("%s:%s", namespace, a.Name.Local) { + return a.Value, true + } + } + } + return "", false +} + +// StructToXML writes an XMLNode to a xml.Encoder as tokens. +func StructToXML(e *xml.Encoder, node *XMLNode, sorted bool) error { + e.EncodeToken(xml.StartElement{Name: node.Name, Attr: node.Attr}) + + if node.Text != "" { + e.EncodeToken(xml.CharData([]byte(node.Text))) + } else if sorted { + sortedNames := []string{} + for k := range node.Children { + sortedNames = append(sortedNames, k) + } + sort.Strings(sortedNames) + + for _, k := range sortedNames { + for _, v := range node.Children[k] { + StructToXML(e, v, sorted) + } + } + } else { + for _, c := range node.Children { + for _, v := range c { + StructToXML(e, v, sorted) + } + } + } + + e.EncodeToken(xml.EndElement{Name: node.Name}) + return e.Flush() +} diff --git a/vendor/github.com/aws/aws-sdk-go/service/sns/api.go b/vendor/github.com/aws/aws-sdk-go/service/sns/api.go new file mode 100644 index 0000000000..bec8fe5dd8 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/service/sns/api.go @@ -0,0 +1,5809 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +// Package sns provides a client for Amazon Simple Notification Service. +package sns + +import ( + "fmt" + + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/awsutil" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/private/protocol" + "github.com/aws/aws-sdk-go/private/protocol/query" +) + +const opAddPermission = "AddPermission" + +// AddPermissionRequest generates a "aws/request.Request" representing the +// client's request for the AddPermission operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See AddPermission for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the AddPermission method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the AddPermissionRequest method. +// req, resp := client.AddPermissionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/AddPermission +func (c *SNS) AddPermissionRequest(input *AddPermissionInput) (req *request.Request, output *AddPermissionOutput) { + op := &request.Operation{ + Name: opAddPermission, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &AddPermissionInput{} + } + + output = &AddPermissionOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Remove(query.UnmarshalHandler) + req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + return +} + +// AddPermission API operation for Amazon Simple Notification Service. +// +// Adds a statement to a topic's access control policy, granting access for +// the specified AWS accounts to the specified actions. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Simple Notification Service's +// API operation AddPermission for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidParameterException "InvalidParameter" +// Indicates that a request parameter does not comply with the associated constraints. +// +// * ErrCodeInternalErrorException "InternalError" +// Indicates an internal service error. +// +// * ErrCodeAuthorizationErrorException "AuthorizationError" +// Indicates that the user has been denied access to the requested resource. +// +// * ErrCodeNotFoundException "NotFound" +// Indicates that the requested resource does not exist. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/AddPermission +func (c *SNS) AddPermission(input *AddPermissionInput) (*AddPermissionOutput, error) { + req, out := c.AddPermissionRequest(input) + return out, req.Send() +} + +// AddPermissionWithContext is the same as AddPermission with the addition of +// the ability to pass a context and additional request options. +// +// See AddPermission for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SNS) AddPermissionWithContext(ctx aws.Context, input *AddPermissionInput, opts ...request.Option) (*AddPermissionOutput, error) { + req, out := c.AddPermissionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCheckIfPhoneNumberIsOptedOut = "CheckIfPhoneNumberIsOptedOut" + +// CheckIfPhoneNumberIsOptedOutRequest generates a "aws/request.Request" representing the +// client's request for the CheckIfPhoneNumberIsOptedOut operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CheckIfPhoneNumberIsOptedOut for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CheckIfPhoneNumberIsOptedOut method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CheckIfPhoneNumberIsOptedOutRequest method. +// req, resp := client.CheckIfPhoneNumberIsOptedOutRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/CheckIfPhoneNumberIsOptedOut +func (c *SNS) CheckIfPhoneNumberIsOptedOutRequest(input *CheckIfPhoneNumberIsOptedOutInput) (req *request.Request, output *CheckIfPhoneNumberIsOptedOutOutput) { + op := &request.Operation{ + Name: opCheckIfPhoneNumberIsOptedOut, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CheckIfPhoneNumberIsOptedOutInput{} + } + + output = &CheckIfPhoneNumberIsOptedOutOutput{} + req = c.newRequest(op, input, output) + return +} + +// CheckIfPhoneNumberIsOptedOut API operation for Amazon Simple Notification Service. +// +// Accepts a phone number and indicates whether the phone holder has opted out +// of receiving SMS messages from your account. You cannot send SMS messages +// to a number that is opted out. +// +// To resume sending messages, you can opt in the number by using the OptInPhoneNumber +// action. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Simple Notification Service's +// API operation CheckIfPhoneNumberIsOptedOut for usage and error information. +// +// Returned Error Codes: +// * ErrCodeThrottledException "Throttled" +// Indicates that the rate at which requests have been submitted for this action +// exceeds the limit for your account. +// +// * ErrCodeInternalErrorException "InternalError" +// Indicates an internal service error. +// +// * ErrCodeAuthorizationErrorException "AuthorizationError" +// Indicates that the user has been denied access to the requested resource. +// +// * ErrCodeInvalidParameterException "InvalidParameter" +// Indicates that a request parameter does not comply with the associated constraints. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/CheckIfPhoneNumberIsOptedOut +func (c *SNS) CheckIfPhoneNumberIsOptedOut(input *CheckIfPhoneNumberIsOptedOutInput) (*CheckIfPhoneNumberIsOptedOutOutput, error) { + req, out := c.CheckIfPhoneNumberIsOptedOutRequest(input) + return out, req.Send() +} + +// CheckIfPhoneNumberIsOptedOutWithContext is the same as CheckIfPhoneNumberIsOptedOut with the addition of +// the ability to pass a context and additional request options. +// +// See CheckIfPhoneNumberIsOptedOut for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SNS) CheckIfPhoneNumberIsOptedOutWithContext(ctx aws.Context, input *CheckIfPhoneNumberIsOptedOutInput, opts ...request.Option) (*CheckIfPhoneNumberIsOptedOutOutput, error) { + req, out := c.CheckIfPhoneNumberIsOptedOutRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opConfirmSubscription = "ConfirmSubscription" + +// ConfirmSubscriptionRequest generates a "aws/request.Request" representing the +// client's request for the ConfirmSubscription operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ConfirmSubscription for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ConfirmSubscription method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ConfirmSubscriptionRequest method. +// req, resp := client.ConfirmSubscriptionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/ConfirmSubscription +func (c *SNS) ConfirmSubscriptionRequest(input *ConfirmSubscriptionInput) (req *request.Request, output *ConfirmSubscriptionOutput) { + op := &request.Operation{ + Name: opConfirmSubscription, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ConfirmSubscriptionInput{} + } + + output = &ConfirmSubscriptionOutput{} + req = c.newRequest(op, input, output) + return +} + +// ConfirmSubscription API operation for Amazon Simple Notification Service. +// +// Verifies an endpoint owner's intent to receive messages by validating the +// token sent to the endpoint by an earlier Subscribe action. If the token is +// valid, the action creates a new subscription and returns its Amazon Resource +// Name (ARN). This call requires an AWS signature only when the AuthenticateOnUnsubscribe +// flag is set to "true". +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Simple Notification Service's +// API operation ConfirmSubscription for usage and error information. +// +// Returned Error Codes: +// * ErrCodeSubscriptionLimitExceededException "SubscriptionLimitExceeded" +// Indicates that the customer already owns the maximum allowed number of subscriptions. +// +// * ErrCodeInvalidParameterException "InvalidParameter" +// Indicates that a request parameter does not comply with the associated constraints. +// +// * ErrCodeNotFoundException "NotFound" +// Indicates that the requested resource does not exist. +// +// * ErrCodeInternalErrorException "InternalError" +// Indicates an internal service error. +// +// * ErrCodeAuthorizationErrorException "AuthorizationError" +// Indicates that the user has been denied access to the requested resource. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/ConfirmSubscription +func (c *SNS) ConfirmSubscription(input *ConfirmSubscriptionInput) (*ConfirmSubscriptionOutput, error) { + req, out := c.ConfirmSubscriptionRequest(input) + return out, req.Send() +} + +// ConfirmSubscriptionWithContext is the same as ConfirmSubscription with the addition of +// the ability to pass a context and additional request options. +// +// See ConfirmSubscription for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SNS) ConfirmSubscriptionWithContext(ctx aws.Context, input *ConfirmSubscriptionInput, opts ...request.Option) (*ConfirmSubscriptionOutput, error) { + req, out := c.ConfirmSubscriptionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreatePlatformApplication = "CreatePlatformApplication" + +// CreatePlatformApplicationRequest generates a "aws/request.Request" representing the +// client's request for the CreatePlatformApplication operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreatePlatformApplication for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreatePlatformApplication method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreatePlatformApplicationRequest method. +// req, resp := client.CreatePlatformApplicationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/CreatePlatformApplication +func (c *SNS) CreatePlatformApplicationRequest(input *CreatePlatformApplicationInput) (req *request.Request, output *CreatePlatformApplicationOutput) { + op := &request.Operation{ + Name: opCreatePlatformApplication, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreatePlatformApplicationInput{} + } + + output = &CreatePlatformApplicationOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreatePlatformApplication API operation for Amazon Simple Notification Service. +// +// Creates a platform application object for one of the supported push notification +// services, such as APNS and GCM, to which devices and mobile apps may register. +// You must specify PlatformPrincipal and PlatformCredential attributes when +// using the CreatePlatformApplication action. The PlatformPrincipal is received +// from the notification service. For APNS/APNS_SANDBOX, PlatformPrincipal is +// "SSL certificate". For GCM, PlatformPrincipal is not applicable. For ADM, +// PlatformPrincipal is "client id". The PlatformCredential is also received +// from the notification service. For WNS, PlatformPrincipal is "Package Security +// Identifier". For MPNS, PlatformPrincipal is "TLS certificate". For Baidu, +// PlatformPrincipal is "API key". +// +// For APNS/APNS_SANDBOX, PlatformCredential is "private key". For GCM, PlatformCredential +// is "API key". For ADM, PlatformCredential is "client secret". For WNS, PlatformCredential +// is "secret key". For MPNS, PlatformCredential is "private key". For Baidu, +// PlatformCredential is "secret key". The PlatformApplicationArn that is returned +// when using CreatePlatformApplication is then used as an attribute for the +// CreatePlatformEndpoint action. For more information, see Using Amazon SNS +// Mobile Push Notifications (http://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html). +// For more information about obtaining the PlatformPrincipal and PlatformCredential +// for each of the supported push notification services, see Getting Started +// with Apple Push Notification Service (http://docs.aws.amazon.com/sns/latest/dg/mobile-push-apns.html), +// Getting Started with Amazon Device Messaging (http://docs.aws.amazon.com/sns/latest/dg/mobile-push-adm.html), +// Getting Started with Baidu Cloud Push (http://docs.aws.amazon.com/sns/latest/dg/mobile-push-baidu.html), +// Getting Started with Google Cloud Messaging for Android (http://docs.aws.amazon.com/sns/latest/dg/mobile-push-gcm.html), +// Getting Started with MPNS (http://docs.aws.amazon.com/sns/latest/dg/mobile-push-mpns.html), +// or Getting Started with WNS (http://docs.aws.amazon.com/sns/latest/dg/mobile-push-wns.html). +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Simple Notification Service's +// API operation CreatePlatformApplication for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidParameterException "InvalidParameter" +// Indicates that a request parameter does not comply with the associated constraints. +// +// * ErrCodeInternalErrorException "InternalError" +// Indicates an internal service error. +// +// * ErrCodeAuthorizationErrorException "AuthorizationError" +// Indicates that the user has been denied access to the requested resource. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/CreatePlatformApplication +func (c *SNS) CreatePlatformApplication(input *CreatePlatformApplicationInput) (*CreatePlatformApplicationOutput, error) { + req, out := c.CreatePlatformApplicationRequest(input) + return out, req.Send() +} + +// CreatePlatformApplicationWithContext is the same as CreatePlatformApplication with the addition of +// the ability to pass a context and additional request options. +// +// See CreatePlatformApplication for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SNS) CreatePlatformApplicationWithContext(ctx aws.Context, input *CreatePlatformApplicationInput, opts ...request.Option) (*CreatePlatformApplicationOutput, error) { + req, out := c.CreatePlatformApplicationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreatePlatformEndpoint = "CreatePlatformEndpoint" + +// CreatePlatformEndpointRequest generates a "aws/request.Request" representing the +// client's request for the CreatePlatformEndpoint operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreatePlatformEndpoint for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreatePlatformEndpoint method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreatePlatformEndpointRequest method. +// req, resp := client.CreatePlatformEndpointRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/CreatePlatformEndpoint +func (c *SNS) CreatePlatformEndpointRequest(input *CreatePlatformEndpointInput) (req *request.Request, output *CreatePlatformEndpointOutput) { + op := &request.Operation{ + Name: opCreatePlatformEndpoint, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreatePlatformEndpointInput{} + } + + output = &CreatePlatformEndpointOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreatePlatformEndpoint API operation for Amazon Simple Notification Service. +// +// Creates an endpoint for a device and mobile app on one of the supported push +// notification services, such as GCM and APNS. CreatePlatformEndpoint requires +// the PlatformApplicationArn that is returned from CreatePlatformApplication. +// The EndpointArn that is returned when using CreatePlatformEndpoint can then +// be used by the Publish action to send a message to a mobile app or by the +// Subscribe action for subscription to a topic. The CreatePlatformEndpoint +// action is idempotent, so if the requester already owns an endpoint with the +// same device token and attributes, that endpoint's ARN is returned without +// creating a new endpoint. For more information, see Using Amazon SNS Mobile +// Push Notifications (http://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html). +// +// When using CreatePlatformEndpoint with Baidu, two attributes must be provided: +// ChannelId and UserId. The token field must also contain the ChannelId. For +// more information, see Creating an Amazon SNS Endpoint for Baidu (http://docs.aws.amazon.com/sns/latest/dg/SNSMobilePushBaiduEndpoint.html). +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Simple Notification Service's +// API operation CreatePlatformEndpoint for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidParameterException "InvalidParameter" +// Indicates that a request parameter does not comply with the associated constraints. +// +// * ErrCodeInternalErrorException "InternalError" +// Indicates an internal service error. +// +// * ErrCodeAuthorizationErrorException "AuthorizationError" +// Indicates that the user has been denied access to the requested resource. +// +// * ErrCodeNotFoundException "NotFound" +// Indicates that the requested resource does not exist. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/CreatePlatformEndpoint +func (c *SNS) CreatePlatformEndpoint(input *CreatePlatformEndpointInput) (*CreatePlatformEndpointOutput, error) { + req, out := c.CreatePlatformEndpointRequest(input) + return out, req.Send() +} + +// CreatePlatformEndpointWithContext is the same as CreatePlatformEndpoint with the addition of +// the ability to pass a context and additional request options. +// +// See CreatePlatformEndpoint for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SNS) CreatePlatformEndpointWithContext(ctx aws.Context, input *CreatePlatformEndpointInput, opts ...request.Option) (*CreatePlatformEndpointOutput, error) { + req, out := c.CreatePlatformEndpointRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateTopic = "CreateTopic" + +// CreateTopicRequest generates a "aws/request.Request" representing the +// client's request for the CreateTopic operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See CreateTopic for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the CreateTopic method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the CreateTopicRequest method. +// req, resp := client.CreateTopicRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/CreateTopic +func (c *SNS) CreateTopicRequest(input *CreateTopicInput) (req *request.Request, output *CreateTopicOutput) { + op := &request.Operation{ + Name: opCreateTopic, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateTopicInput{} + } + + output = &CreateTopicOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateTopic API operation for Amazon Simple Notification Service. +// +// Creates a topic to which notifications can be published. Users can create +// at most 100,000 topics. For more information, see http://aws.amazon.com/sns +// (http://aws.amazon.com/sns/). This action is idempotent, so if the requester +// already owns a topic with the specified name, that topic's ARN is returned +// without creating a new topic. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Simple Notification Service's +// API operation CreateTopic for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidParameterException "InvalidParameter" +// Indicates that a request parameter does not comply with the associated constraints. +// +// * ErrCodeTopicLimitExceededException "TopicLimitExceeded" +// Indicates that the customer already owns the maximum allowed number of topics. +// +// * ErrCodeInternalErrorException "InternalError" +// Indicates an internal service error. +// +// * ErrCodeAuthorizationErrorException "AuthorizationError" +// Indicates that the user has been denied access to the requested resource. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/CreateTopic +func (c *SNS) CreateTopic(input *CreateTopicInput) (*CreateTopicOutput, error) { + req, out := c.CreateTopicRequest(input) + return out, req.Send() +} + +// CreateTopicWithContext is the same as CreateTopic with the addition of +// the ability to pass a context and additional request options. +// +// See CreateTopic for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SNS) CreateTopicWithContext(ctx aws.Context, input *CreateTopicInput, opts ...request.Option) (*CreateTopicOutput, error) { + req, out := c.CreateTopicRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteEndpoint = "DeleteEndpoint" + +// DeleteEndpointRequest generates a "aws/request.Request" representing the +// client's request for the DeleteEndpoint operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteEndpoint for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteEndpoint method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteEndpointRequest method. +// req, resp := client.DeleteEndpointRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/DeleteEndpoint +func (c *SNS) DeleteEndpointRequest(input *DeleteEndpointInput) (req *request.Request, output *DeleteEndpointOutput) { + op := &request.Operation{ + Name: opDeleteEndpoint, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteEndpointInput{} + } + + output = &DeleteEndpointOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Remove(query.UnmarshalHandler) + req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteEndpoint API operation for Amazon Simple Notification Service. +// +// Deletes the endpoint for a device and mobile app from Amazon SNS. This action +// is idempotent. For more information, see Using Amazon SNS Mobile Push Notifications +// (http://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html). +// +// When you delete an endpoint that is also subscribed to a topic, then you +// must also unsubscribe the endpoint from the topic. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Simple Notification Service's +// API operation DeleteEndpoint for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidParameterException "InvalidParameter" +// Indicates that a request parameter does not comply with the associated constraints. +// +// * ErrCodeInternalErrorException "InternalError" +// Indicates an internal service error. +// +// * ErrCodeAuthorizationErrorException "AuthorizationError" +// Indicates that the user has been denied access to the requested resource. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/DeleteEndpoint +func (c *SNS) DeleteEndpoint(input *DeleteEndpointInput) (*DeleteEndpointOutput, error) { + req, out := c.DeleteEndpointRequest(input) + return out, req.Send() +} + +// DeleteEndpointWithContext is the same as DeleteEndpoint with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteEndpoint for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SNS) DeleteEndpointWithContext(ctx aws.Context, input *DeleteEndpointInput, opts ...request.Option) (*DeleteEndpointOutput, error) { + req, out := c.DeleteEndpointRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeletePlatformApplication = "DeletePlatformApplication" + +// DeletePlatformApplicationRequest generates a "aws/request.Request" representing the +// client's request for the DeletePlatformApplication operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeletePlatformApplication for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeletePlatformApplication method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeletePlatformApplicationRequest method. +// req, resp := client.DeletePlatformApplicationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/DeletePlatformApplication +func (c *SNS) DeletePlatformApplicationRequest(input *DeletePlatformApplicationInput) (req *request.Request, output *DeletePlatformApplicationOutput) { + op := &request.Operation{ + Name: opDeletePlatformApplication, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeletePlatformApplicationInput{} + } + + output = &DeletePlatformApplicationOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Remove(query.UnmarshalHandler) + req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeletePlatformApplication API operation for Amazon Simple Notification Service. +// +// Deletes a platform application object for one of the supported push notification +// services, such as APNS and GCM. For more information, see Using Amazon SNS +// Mobile Push Notifications (http://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html). +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Simple Notification Service's +// API operation DeletePlatformApplication for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidParameterException "InvalidParameter" +// Indicates that a request parameter does not comply with the associated constraints. +// +// * ErrCodeInternalErrorException "InternalError" +// Indicates an internal service error. +// +// * ErrCodeAuthorizationErrorException "AuthorizationError" +// Indicates that the user has been denied access to the requested resource. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/DeletePlatformApplication +func (c *SNS) DeletePlatformApplication(input *DeletePlatformApplicationInput) (*DeletePlatformApplicationOutput, error) { + req, out := c.DeletePlatformApplicationRequest(input) + return out, req.Send() +} + +// DeletePlatformApplicationWithContext is the same as DeletePlatformApplication with the addition of +// the ability to pass a context and additional request options. +// +// See DeletePlatformApplication for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SNS) DeletePlatformApplicationWithContext(ctx aws.Context, input *DeletePlatformApplicationInput, opts ...request.Option) (*DeletePlatformApplicationOutput, error) { + req, out := c.DeletePlatformApplicationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteTopic = "DeleteTopic" + +// DeleteTopicRequest generates a "aws/request.Request" representing the +// client's request for the DeleteTopic operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DeleteTopic for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DeleteTopic method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DeleteTopicRequest method. +// req, resp := client.DeleteTopicRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/DeleteTopic +func (c *SNS) DeleteTopicRequest(input *DeleteTopicInput) (req *request.Request, output *DeleteTopicOutput) { + op := &request.Operation{ + Name: opDeleteTopic, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteTopicInput{} + } + + output = &DeleteTopicOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Remove(query.UnmarshalHandler) + req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteTopic API operation for Amazon Simple Notification Service. +// +// Deletes a topic and all its subscriptions. Deleting a topic might prevent +// some messages previously sent to the topic from being delivered to subscribers. +// This action is idempotent, so deleting a topic that does not exist does not +// result in an error. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Simple Notification Service's +// API operation DeleteTopic for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidParameterException "InvalidParameter" +// Indicates that a request parameter does not comply with the associated constraints. +// +// * ErrCodeInternalErrorException "InternalError" +// Indicates an internal service error. +// +// * ErrCodeAuthorizationErrorException "AuthorizationError" +// Indicates that the user has been denied access to the requested resource. +// +// * ErrCodeNotFoundException "NotFound" +// Indicates that the requested resource does not exist. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/DeleteTopic +func (c *SNS) DeleteTopic(input *DeleteTopicInput) (*DeleteTopicOutput, error) { + req, out := c.DeleteTopicRequest(input) + return out, req.Send() +} + +// DeleteTopicWithContext is the same as DeleteTopic with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteTopic for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SNS) DeleteTopicWithContext(ctx aws.Context, input *DeleteTopicInput, opts ...request.Option) (*DeleteTopicOutput, error) { + req, out := c.DeleteTopicRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetEndpointAttributes = "GetEndpointAttributes" + +// GetEndpointAttributesRequest generates a "aws/request.Request" representing the +// client's request for the GetEndpointAttributes operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetEndpointAttributes for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetEndpointAttributes method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetEndpointAttributesRequest method. +// req, resp := client.GetEndpointAttributesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/GetEndpointAttributes +func (c *SNS) GetEndpointAttributesRequest(input *GetEndpointAttributesInput) (req *request.Request, output *GetEndpointAttributesOutput) { + op := &request.Operation{ + Name: opGetEndpointAttributes, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetEndpointAttributesInput{} + } + + output = &GetEndpointAttributesOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetEndpointAttributes API operation for Amazon Simple Notification Service. +// +// Retrieves the endpoint attributes for a device on one of the supported push +// notification services, such as GCM and APNS. For more information, see Using +// Amazon SNS Mobile Push Notifications (http://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html). +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Simple Notification Service's +// API operation GetEndpointAttributes for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidParameterException "InvalidParameter" +// Indicates that a request parameter does not comply with the associated constraints. +// +// * ErrCodeInternalErrorException "InternalError" +// Indicates an internal service error. +// +// * ErrCodeAuthorizationErrorException "AuthorizationError" +// Indicates that the user has been denied access to the requested resource. +// +// * ErrCodeNotFoundException "NotFound" +// Indicates that the requested resource does not exist. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/GetEndpointAttributes +func (c *SNS) GetEndpointAttributes(input *GetEndpointAttributesInput) (*GetEndpointAttributesOutput, error) { + req, out := c.GetEndpointAttributesRequest(input) + return out, req.Send() +} + +// GetEndpointAttributesWithContext is the same as GetEndpointAttributes with the addition of +// the ability to pass a context and additional request options. +// +// See GetEndpointAttributes for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SNS) GetEndpointAttributesWithContext(ctx aws.Context, input *GetEndpointAttributesInput, opts ...request.Option) (*GetEndpointAttributesOutput, error) { + req, out := c.GetEndpointAttributesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetPlatformApplicationAttributes = "GetPlatformApplicationAttributes" + +// GetPlatformApplicationAttributesRequest generates a "aws/request.Request" representing the +// client's request for the GetPlatformApplicationAttributes operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetPlatformApplicationAttributes for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetPlatformApplicationAttributes method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetPlatformApplicationAttributesRequest method. +// req, resp := client.GetPlatformApplicationAttributesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/GetPlatformApplicationAttributes +func (c *SNS) GetPlatformApplicationAttributesRequest(input *GetPlatformApplicationAttributesInput) (req *request.Request, output *GetPlatformApplicationAttributesOutput) { + op := &request.Operation{ + Name: opGetPlatformApplicationAttributes, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetPlatformApplicationAttributesInput{} + } + + output = &GetPlatformApplicationAttributesOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetPlatformApplicationAttributes API operation for Amazon Simple Notification Service. +// +// Retrieves the attributes of the platform application object for the supported +// push notification services, such as APNS and GCM. For more information, see +// Using Amazon SNS Mobile Push Notifications (http://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html). +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Simple Notification Service's +// API operation GetPlatformApplicationAttributes for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidParameterException "InvalidParameter" +// Indicates that a request parameter does not comply with the associated constraints. +// +// * ErrCodeInternalErrorException "InternalError" +// Indicates an internal service error. +// +// * ErrCodeAuthorizationErrorException "AuthorizationError" +// Indicates that the user has been denied access to the requested resource. +// +// * ErrCodeNotFoundException "NotFound" +// Indicates that the requested resource does not exist. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/GetPlatformApplicationAttributes +func (c *SNS) GetPlatformApplicationAttributes(input *GetPlatformApplicationAttributesInput) (*GetPlatformApplicationAttributesOutput, error) { + req, out := c.GetPlatformApplicationAttributesRequest(input) + return out, req.Send() +} + +// GetPlatformApplicationAttributesWithContext is the same as GetPlatformApplicationAttributes with the addition of +// the ability to pass a context and additional request options. +// +// See GetPlatformApplicationAttributes for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SNS) GetPlatformApplicationAttributesWithContext(ctx aws.Context, input *GetPlatformApplicationAttributesInput, opts ...request.Option) (*GetPlatformApplicationAttributesOutput, error) { + req, out := c.GetPlatformApplicationAttributesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetSMSAttributes = "GetSMSAttributes" + +// GetSMSAttributesRequest generates a "aws/request.Request" representing the +// client's request for the GetSMSAttributes operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetSMSAttributes for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetSMSAttributes method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetSMSAttributesRequest method. +// req, resp := client.GetSMSAttributesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/GetSMSAttributes +func (c *SNS) GetSMSAttributesRequest(input *GetSMSAttributesInput) (req *request.Request, output *GetSMSAttributesOutput) { + op := &request.Operation{ + Name: opGetSMSAttributes, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetSMSAttributesInput{} + } + + output = &GetSMSAttributesOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetSMSAttributes API operation for Amazon Simple Notification Service. +// +// Returns the settings for sending SMS messages from your account. +// +// These settings are set with the SetSMSAttributes action. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Simple Notification Service's +// API operation GetSMSAttributes for usage and error information. +// +// Returned Error Codes: +// * ErrCodeThrottledException "Throttled" +// Indicates that the rate at which requests have been submitted for this action +// exceeds the limit for your account. +// +// * ErrCodeInternalErrorException "InternalError" +// Indicates an internal service error. +// +// * ErrCodeAuthorizationErrorException "AuthorizationError" +// Indicates that the user has been denied access to the requested resource. +// +// * ErrCodeInvalidParameterException "InvalidParameter" +// Indicates that a request parameter does not comply with the associated constraints. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/GetSMSAttributes +func (c *SNS) GetSMSAttributes(input *GetSMSAttributesInput) (*GetSMSAttributesOutput, error) { + req, out := c.GetSMSAttributesRequest(input) + return out, req.Send() +} + +// GetSMSAttributesWithContext is the same as GetSMSAttributes with the addition of +// the ability to pass a context and additional request options. +// +// See GetSMSAttributes for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SNS) GetSMSAttributesWithContext(ctx aws.Context, input *GetSMSAttributesInput, opts ...request.Option) (*GetSMSAttributesOutput, error) { + req, out := c.GetSMSAttributesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetSubscriptionAttributes = "GetSubscriptionAttributes" + +// GetSubscriptionAttributesRequest generates a "aws/request.Request" representing the +// client's request for the GetSubscriptionAttributes operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetSubscriptionAttributes for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetSubscriptionAttributes method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetSubscriptionAttributesRequest method. +// req, resp := client.GetSubscriptionAttributesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/GetSubscriptionAttributes +func (c *SNS) GetSubscriptionAttributesRequest(input *GetSubscriptionAttributesInput) (req *request.Request, output *GetSubscriptionAttributesOutput) { + op := &request.Operation{ + Name: opGetSubscriptionAttributes, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetSubscriptionAttributesInput{} + } + + output = &GetSubscriptionAttributesOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetSubscriptionAttributes API operation for Amazon Simple Notification Service. +// +// Returns all of the properties of a subscription. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Simple Notification Service's +// API operation GetSubscriptionAttributes for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidParameterException "InvalidParameter" +// Indicates that a request parameter does not comply with the associated constraints. +// +// * ErrCodeInternalErrorException "InternalError" +// Indicates an internal service error. +// +// * ErrCodeNotFoundException "NotFound" +// Indicates that the requested resource does not exist. +// +// * ErrCodeAuthorizationErrorException "AuthorizationError" +// Indicates that the user has been denied access to the requested resource. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/GetSubscriptionAttributes +func (c *SNS) GetSubscriptionAttributes(input *GetSubscriptionAttributesInput) (*GetSubscriptionAttributesOutput, error) { + req, out := c.GetSubscriptionAttributesRequest(input) + return out, req.Send() +} + +// GetSubscriptionAttributesWithContext is the same as GetSubscriptionAttributes with the addition of +// the ability to pass a context and additional request options. +// +// See GetSubscriptionAttributes for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SNS) GetSubscriptionAttributesWithContext(ctx aws.Context, input *GetSubscriptionAttributesInput, opts ...request.Option) (*GetSubscriptionAttributesOutput, error) { + req, out := c.GetSubscriptionAttributesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetTopicAttributes = "GetTopicAttributes" + +// GetTopicAttributesRequest generates a "aws/request.Request" representing the +// client's request for the GetTopicAttributes operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetTopicAttributes for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetTopicAttributes method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetTopicAttributesRequest method. +// req, resp := client.GetTopicAttributesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/GetTopicAttributes +func (c *SNS) GetTopicAttributesRequest(input *GetTopicAttributesInput) (req *request.Request, output *GetTopicAttributesOutput) { + op := &request.Operation{ + Name: opGetTopicAttributes, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetTopicAttributesInput{} + } + + output = &GetTopicAttributesOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetTopicAttributes API operation for Amazon Simple Notification Service. +// +// Returns all of the properties of a topic. Topic properties returned might +// differ based on the authorization of the user. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Simple Notification Service's +// API operation GetTopicAttributes for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidParameterException "InvalidParameter" +// Indicates that a request parameter does not comply with the associated constraints. +// +// * ErrCodeInternalErrorException "InternalError" +// Indicates an internal service error. +// +// * ErrCodeNotFoundException "NotFound" +// Indicates that the requested resource does not exist. +// +// * ErrCodeAuthorizationErrorException "AuthorizationError" +// Indicates that the user has been denied access to the requested resource. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/GetTopicAttributes +func (c *SNS) GetTopicAttributes(input *GetTopicAttributesInput) (*GetTopicAttributesOutput, error) { + req, out := c.GetTopicAttributesRequest(input) + return out, req.Send() +} + +// GetTopicAttributesWithContext is the same as GetTopicAttributes with the addition of +// the ability to pass a context and additional request options. +// +// See GetTopicAttributes for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SNS) GetTopicAttributesWithContext(ctx aws.Context, input *GetTopicAttributesInput, opts ...request.Option) (*GetTopicAttributesOutput, error) { + req, out := c.GetTopicAttributesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListEndpointsByPlatformApplication = "ListEndpointsByPlatformApplication" + +// ListEndpointsByPlatformApplicationRequest generates a "aws/request.Request" representing the +// client's request for the ListEndpointsByPlatformApplication operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListEndpointsByPlatformApplication for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListEndpointsByPlatformApplication method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListEndpointsByPlatformApplicationRequest method. +// req, resp := client.ListEndpointsByPlatformApplicationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/ListEndpointsByPlatformApplication +func (c *SNS) ListEndpointsByPlatformApplicationRequest(input *ListEndpointsByPlatformApplicationInput) (req *request.Request, output *ListEndpointsByPlatformApplicationOutput) { + op := &request.Operation{ + Name: opListEndpointsByPlatformApplication, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListEndpointsByPlatformApplicationInput{} + } + + output = &ListEndpointsByPlatformApplicationOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListEndpointsByPlatformApplication API operation for Amazon Simple Notification Service. +// +// Lists the endpoints and endpoint attributes for devices in a supported push +// notification service, such as GCM and APNS. The results for ListEndpointsByPlatformApplication +// are paginated and return a limited list of endpoints, up to 100. If additional +// records are available after the first page results, then a NextToken string +// will be returned. To receive the next page, you call ListEndpointsByPlatformApplication +// again using the NextToken string received from the previous call. When there +// are no more records to return, NextToken will be null. For more information, +// see Using Amazon SNS Mobile Push Notifications (http://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html). +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Simple Notification Service's +// API operation ListEndpointsByPlatformApplication for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidParameterException "InvalidParameter" +// Indicates that a request parameter does not comply with the associated constraints. +// +// * ErrCodeInternalErrorException "InternalError" +// Indicates an internal service error. +// +// * ErrCodeAuthorizationErrorException "AuthorizationError" +// Indicates that the user has been denied access to the requested resource. +// +// * ErrCodeNotFoundException "NotFound" +// Indicates that the requested resource does not exist. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/ListEndpointsByPlatformApplication +func (c *SNS) ListEndpointsByPlatformApplication(input *ListEndpointsByPlatformApplicationInput) (*ListEndpointsByPlatformApplicationOutput, error) { + req, out := c.ListEndpointsByPlatformApplicationRequest(input) + return out, req.Send() +} + +// ListEndpointsByPlatformApplicationWithContext is the same as ListEndpointsByPlatformApplication with the addition of +// the ability to pass a context and additional request options. +// +// See ListEndpointsByPlatformApplication for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SNS) ListEndpointsByPlatformApplicationWithContext(ctx aws.Context, input *ListEndpointsByPlatformApplicationInput, opts ...request.Option) (*ListEndpointsByPlatformApplicationOutput, error) { + req, out := c.ListEndpointsByPlatformApplicationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListEndpointsByPlatformApplicationPages iterates over the pages of a ListEndpointsByPlatformApplication operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListEndpointsByPlatformApplication method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListEndpointsByPlatformApplication operation. +// pageNum := 0 +// err := client.ListEndpointsByPlatformApplicationPages(params, +// func(page *ListEndpointsByPlatformApplicationOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SNS) ListEndpointsByPlatformApplicationPages(input *ListEndpointsByPlatformApplicationInput, fn func(*ListEndpointsByPlatformApplicationOutput, bool) bool) error { + return c.ListEndpointsByPlatformApplicationPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListEndpointsByPlatformApplicationPagesWithContext same as ListEndpointsByPlatformApplicationPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SNS) ListEndpointsByPlatformApplicationPagesWithContext(ctx aws.Context, input *ListEndpointsByPlatformApplicationInput, fn func(*ListEndpointsByPlatformApplicationOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListEndpointsByPlatformApplicationInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListEndpointsByPlatformApplicationRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*ListEndpointsByPlatformApplicationOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opListPhoneNumbersOptedOut = "ListPhoneNumbersOptedOut" + +// ListPhoneNumbersOptedOutRequest generates a "aws/request.Request" representing the +// client's request for the ListPhoneNumbersOptedOut operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListPhoneNumbersOptedOut for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListPhoneNumbersOptedOut method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListPhoneNumbersOptedOutRequest method. +// req, resp := client.ListPhoneNumbersOptedOutRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/ListPhoneNumbersOptedOut +func (c *SNS) ListPhoneNumbersOptedOutRequest(input *ListPhoneNumbersOptedOutInput) (req *request.Request, output *ListPhoneNumbersOptedOutOutput) { + op := &request.Operation{ + Name: opListPhoneNumbersOptedOut, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ListPhoneNumbersOptedOutInput{} + } + + output = &ListPhoneNumbersOptedOutOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListPhoneNumbersOptedOut API operation for Amazon Simple Notification Service. +// +// Returns a list of phone numbers that are opted out, meaning you cannot send +// SMS messages to them. +// +// The results for ListPhoneNumbersOptedOut are paginated, and each page returns +// up to 100 phone numbers. If additional phone numbers are available after +// the first page of results, then a NextToken string will be returned. To receive +// the next page, you call ListPhoneNumbersOptedOut again using the NextToken +// string received from the previous call. When there are no more records to +// return, NextToken will be null. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Simple Notification Service's +// API operation ListPhoneNumbersOptedOut for usage and error information. +// +// Returned Error Codes: +// * ErrCodeThrottledException "Throttled" +// Indicates that the rate at which requests have been submitted for this action +// exceeds the limit for your account. +// +// * ErrCodeInternalErrorException "InternalError" +// Indicates an internal service error. +// +// * ErrCodeAuthorizationErrorException "AuthorizationError" +// Indicates that the user has been denied access to the requested resource. +// +// * ErrCodeInvalidParameterException "InvalidParameter" +// Indicates that a request parameter does not comply with the associated constraints. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/ListPhoneNumbersOptedOut +func (c *SNS) ListPhoneNumbersOptedOut(input *ListPhoneNumbersOptedOutInput) (*ListPhoneNumbersOptedOutOutput, error) { + req, out := c.ListPhoneNumbersOptedOutRequest(input) + return out, req.Send() +} + +// ListPhoneNumbersOptedOutWithContext is the same as ListPhoneNumbersOptedOut with the addition of +// the ability to pass a context and additional request options. +// +// See ListPhoneNumbersOptedOut for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SNS) ListPhoneNumbersOptedOutWithContext(ctx aws.Context, input *ListPhoneNumbersOptedOutInput, opts ...request.Option) (*ListPhoneNumbersOptedOutOutput, error) { + req, out := c.ListPhoneNumbersOptedOutRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListPlatformApplications = "ListPlatformApplications" + +// ListPlatformApplicationsRequest generates a "aws/request.Request" representing the +// client's request for the ListPlatformApplications operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListPlatformApplications for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListPlatformApplications method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListPlatformApplicationsRequest method. +// req, resp := client.ListPlatformApplicationsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/ListPlatformApplications +func (c *SNS) ListPlatformApplicationsRequest(input *ListPlatformApplicationsInput) (req *request.Request, output *ListPlatformApplicationsOutput) { + op := &request.Operation{ + Name: opListPlatformApplications, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListPlatformApplicationsInput{} + } + + output = &ListPlatformApplicationsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListPlatformApplications API operation for Amazon Simple Notification Service. +// +// Lists the platform application objects for the supported push notification +// services, such as APNS and GCM. The results for ListPlatformApplications +// are paginated and return a limited list of applications, up to 100. If additional +// records are available after the first page results, then a NextToken string +// will be returned. To receive the next page, you call ListPlatformApplications +// using the NextToken string received from the previous call. When there are +// no more records to return, NextToken will be null. For more information, +// see Using Amazon SNS Mobile Push Notifications (http://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html). +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Simple Notification Service's +// API operation ListPlatformApplications for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidParameterException "InvalidParameter" +// Indicates that a request parameter does not comply with the associated constraints. +// +// * ErrCodeInternalErrorException "InternalError" +// Indicates an internal service error. +// +// * ErrCodeAuthorizationErrorException "AuthorizationError" +// Indicates that the user has been denied access to the requested resource. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/ListPlatformApplications +func (c *SNS) ListPlatformApplications(input *ListPlatformApplicationsInput) (*ListPlatformApplicationsOutput, error) { + req, out := c.ListPlatformApplicationsRequest(input) + return out, req.Send() +} + +// ListPlatformApplicationsWithContext is the same as ListPlatformApplications with the addition of +// the ability to pass a context and additional request options. +// +// See ListPlatformApplications for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SNS) ListPlatformApplicationsWithContext(ctx aws.Context, input *ListPlatformApplicationsInput, opts ...request.Option) (*ListPlatformApplicationsOutput, error) { + req, out := c.ListPlatformApplicationsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListPlatformApplicationsPages iterates over the pages of a ListPlatformApplications operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListPlatformApplications method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListPlatformApplications operation. +// pageNum := 0 +// err := client.ListPlatformApplicationsPages(params, +// func(page *ListPlatformApplicationsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SNS) ListPlatformApplicationsPages(input *ListPlatformApplicationsInput, fn func(*ListPlatformApplicationsOutput, bool) bool) error { + return c.ListPlatformApplicationsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListPlatformApplicationsPagesWithContext same as ListPlatformApplicationsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SNS) ListPlatformApplicationsPagesWithContext(ctx aws.Context, input *ListPlatformApplicationsInput, fn func(*ListPlatformApplicationsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListPlatformApplicationsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListPlatformApplicationsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*ListPlatformApplicationsOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opListSubscriptions = "ListSubscriptions" + +// ListSubscriptionsRequest generates a "aws/request.Request" representing the +// client's request for the ListSubscriptions operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListSubscriptions for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListSubscriptions method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListSubscriptionsRequest method. +// req, resp := client.ListSubscriptionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/ListSubscriptions +func (c *SNS) ListSubscriptionsRequest(input *ListSubscriptionsInput) (req *request.Request, output *ListSubscriptionsOutput) { + op := &request.Operation{ + Name: opListSubscriptions, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListSubscriptionsInput{} + } + + output = &ListSubscriptionsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListSubscriptions API operation for Amazon Simple Notification Service. +// +// Returns a list of the requester's subscriptions. Each call returns a limited +// list of subscriptions, up to 100. If there are more subscriptions, a NextToken +// is also returned. Use the NextToken parameter in a new ListSubscriptions +// call to get further results. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Simple Notification Service's +// API operation ListSubscriptions for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidParameterException "InvalidParameter" +// Indicates that a request parameter does not comply with the associated constraints. +// +// * ErrCodeInternalErrorException "InternalError" +// Indicates an internal service error. +// +// * ErrCodeAuthorizationErrorException "AuthorizationError" +// Indicates that the user has been denied access to the requested resource. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/ListSubscriptions +func (c *SNS) ListSubscriptions(input *ListSubscriptionsInput) (*ListSubscriptionsOutput, error) { + req, out := c.ListSubscriptionsRequest(input) + return out, req.Send() +} + +// ListSubscriptionsWithContext is the same as ListSubscriptions with the addition of +// the ability to pass a context and additional request options. +// +// See ListSubscriptions for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SNS) ListSubscriptionsWithContext(ctx aws.Context, input *ListSubscriptionsInput, opts ...request.Option) (*ListSubscriptionsOutput, error) { + req, out := c.ListSubscriptionsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListSubscriptionsPages iterates over the pages of a ListSubscriptions operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListSubscriptions method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListSubscriptions operation. +// pageNum := 0 +// err := client.ListSubscriptionsPages(params, +// func(page *ListSubscriptionsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SNS) ListSubscriptionsPages(input *ListSubscriptionsInput, fn func(*ListSubscriptionsOutput, bool) bool) error { + return c.ListSubscriptionsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListSubscriptionsPagesWithContext same as ListSubscriptionsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SNS) ListSubscriptionsPagesWithContext(ctx aws.Context, input *ListSubscriptionsInput, fn func(*ListSubscriptionsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListSubscriptionsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListSubscriptionsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*ListSubscriptionsOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opListSubscriptionsByTopic = "ListSubscriptionsByTopic" + +// ListSubscriptionsByTopicRequest generates a "aws/request.Request" representing the +// client's request for the ListSubscriptionsByTopic operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListSubscriptionsByTopic for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListSubscriptionsByTopic method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListSubscriptionsByTopicRequest method. +// req, resp := client.ListSubscriptionsByTopicRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/ListSubscriptionsByTopic +func (c *SNS) ListSubscriptionsByTopicRequest(input *ListSubscriptionsByTopicInput) (req *request.Request, output *ListSubscriptionsByTopicOutput) { + op := &request.Operation{ + Name: opListSubscriptionsByTopic, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListSubscriptionsByTopicInput{} + } + + output = &ListSubscriptionsByTopicOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListSubscriptionsByTopic API operation for Amazon Simple Notification Service. +// +// Returns a list of the subscriptions to a specific topic. Each call returns +// a limited list of subscriptions, up to 100. If there are more subscriptions, +// a NextToken is also returned. Use the NextToken parameter in a new ListSubscriptionsByTopic +// call to get further results. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Simple Notification Service's +// API operation ListSubscriptionsByTopic for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidParameterException "InvalidParameter" +// Indicates that a request parameter does not comply with the associated constraints. +// +// * ErrCodeInternalErrorException "InternalError" +// Indicates an internal service error. +// +// * ErrCodeNotFoundException "NotFound" +// Indicates that the requested resource does not exist. +// +// * ErrCodeAuthorizationErrorException "AuthorizationError" +// Indicates that the user has been denied access to the requested resource. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/ListSubscriptionsByTopic +func (c *SNS) ListSubscriptionsByTopic(input *ListSubscriptionsByTopicInput) (*ListSubscriptionsByTopicOutput, error) { + req, out := c.ListSubscriptionsByTopicRequest(input) + return out, req.Send() +} + +// ListSubscriptionsByTopicWithContext is the same as ListSubscriptionsByTopic with the addition of +// the ability to pass a context and additional request options. +// +// See ListSubscriptionsByTopic for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SNS) ListSubscriptionsByTopicWithContext(ctx aws.Context, input *ListSubscriptionsByTopicInput, opts ...request.Option) (*ListSubscriptionsByTopicOutput, error) { + req, out := c.ListSubscriptionsByTopicRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListSubscriptionsByTopicPages iterates over the pages of a ListSubscriptionsByTopic operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListSubscriptionsByTopic method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListSubscriptionsByTopic operation. +// pageNum := 0 +// err := client.ListSubscriptionsByTopicPages(params, +// func(page *ListSubscriptionsByTopicOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SNS) ListSubscriptionsByTopicPages(input *ListSubscriptionsByTopicInput, fn func(*ListSubscriptionsByTopicOutput, bool) bool) error { + return c.ListSubscriptionsByTopicPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListSubscriptionsByTopicPagesWithContext same as ListSubscriptionsByTopicPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SNS) ListSubscriptionsByTopicPagesWithContext(ctx aws.Context, input *ListSubscriptionsByTopicInput, fn func(*ListSubscriptionsByTopicOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListSubscriptionsByTopicInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListSubscriptionsByTopicRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*ListSubscriptionsByTopicOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opListTopics = "ListTopics" + +// ListTopicsRequest generates a "aws/request.Request" representing the +// client's request for the ListTopics operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See ListTopics for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the ListTopics method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the ListTopicsRequest method. +// req, resp := client.ListTopicsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/ListTopics +func (c *SNS) ListTopicsRequest(input *ListTopicsInput) (req *request.Request, output *ListTopicsOutput) { + op := &request.Operation{ + Name: opListTopics, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListTopicsInput{} + } + + output = &ListTopicsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListTopics API operation for Amazon Simple Notification Service. +// +// Returns a list of the requester's topics. Each call returns a limited list +// of topics, up to 100. If there are more topics, a NextToken is also returned. +// Use the NextToken parameter in a new ListTopics call to get further results. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Simple Notification Service's +// API operation ListTopics for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidParameterException "InvalidParameter" +// Indicates that a request parameter does not comply with the associated constraints. +// +// * ErrCodeInternalErrorException "InternalError" +// Indicates an internal service error. +// +// * ErrCodeAuthorizationErrorException "AuthorizationError" +// Indicates that the user has been denied access to the requested resource. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/ListTopics +func (c *SNS) ListTopics(input *ListTopicsInput) (*ListTopicsOutput, error) { + req, out := c.ListTopicsRequest(input) + return out, req.Send() +} + +// ListTopicsWithContext is the same as ListTopics with the addition of +// the ability to pass a context and additional request options. +// +// See ListTopics for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SNS) ListTopicsWithContext(ctx aws.Context, input *ListTopicsInput, opts ...request.Option) (*ListTopicsOutput, error) { + req, out := c.ListTopicsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListTopicsPages iterates over the pages of a ListTopics operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListTopics method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListTopics operation. +// pageNum := 0 +// err := client.ListTopicsPages(params, +// func(page *ListTopicsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SNS) ListTopicsPages(input *ListTopicsInput, fn func(*ListTopicsOutput, bool) bool) error { + return c.ListTopicsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListTopicsPagesWithContext same as ListTopicsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SNS) ListTopicsPagesWithContext(ctx aws.Context, input *ListTopicsInput, fn func(*ListTopicsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListTopicsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListTopicsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + cont := true + for p.Next() && cont { + cont = fn(p.Page().(*ListTopicsOutput), !p.HasNextPage()) + } + return p.Err() +} + +const opOptInPhoneNumber = "OptInPhoneNumber" + +// OptInPhoneNumberRequest generates a "aws/request.Request" representing the +// client's request for the OptInPhoneNumber operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See OptInPhoneNumber for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the OptInPhoneNumber method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the OptInPhoneNumberRequest method. +// req, resp := client.OptInPhoneNumberRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/OptInPhoneNumber +func (c *SNS) OptInPhoneNumberRequest(input *OptInPhoneNumberInput) (req *request.Request, output *OptInPhoneNumberOutput) { + op := &request.Operation{ + Name: opOptInPhoneNumber, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &OptInPhoneNumberInput{} + } + + output = &OptInPhoneNumberOutput{} + req = c.newRequest(op, input, output) + return +} + +// OptInPhoneNumber API operation for Amazon Simple Notification Service. +// +// Use this request to opt in a phone number that is opted out, which enables +// you to resume sending SMS messages to the number. +// +// You can opt in a phone number only once every 30 days. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Simple Notification Service's +// API operation OptInPhoneNumber for usage and error information. +// +// Returned Error Codes: +// * ErrCodeThrottledException "Throttled" +// Indicates that the rate at which requests have been submitted for this action +// exceeds the limit for your account. +// +// * ErrCodeInternalErrorException "InternalError" +// Indicates an internal service error. +// +// * ErrCodeAuthorizationErrorException "AuthorizationError" +// Indicates that the user has been denied access to the requested resource. +// +// * ErrCodeInvalidParameterException "InvalidParameter" +// Indicates that a request parameter does not comply with the associated constraints. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/OptInPhoneNumber +func (c *SNS) OptInPhoneNumber(input *OptInPhoneNumberInput) (*OptInPhoneNumberOutput, error) { + req, out := c.OptInPhoneNumberRequest(input) + return out, req.Send() +} + +// OptInPhoneNumberWithContext is the same as OptInPhoneNumber with the addition of +// the ability to pass a context and additional request options. +// +// See OptInPhoneNumber for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SNS) OptInPhoneNumberWithContext(ctx aws.Context, input *OptInPhoneNumberInput, opts ...request.Option) (*OptInPhoneNumberOutput, error) { + req, out := c.OptInPhoneNumberRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opPublish = "Publish" + +// PublishRequest generates a "aws/request.Request" representing the +// client's request for the Publish operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See Publish for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the Publish method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the PublishRequest method. +// req, resp := client.PublishRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/Publish +func (c *SNS) PublishRequest(input *PublishInput) (req *request.Request, output *PublishOutput) { + op := &request.Operation{ + Name: opPublish, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &PublishInput{} + } + + output = &PublishOutput{} + req = c.newRequest(op, input, output) + return +} + +// Publish API operation for Amazon Simple Notification Service. +// +// Sends a message to all of a topic's subscribed endpoints. When a messageId +// is returned, the message has been saved and Amazon SNS will attempt to deliver +// it to the topic's subscribers shortly. The format of the outgoing message +// to each subscribed endpoint depends on the notification protocol. +// +// To use the Publish action for sending a message to a mobile endpoint, such +// as an app on a Kindle device or mobile phone, you must specify the EndpointArn +// for the TargetArn parameter. The EndpointArn is returned when making a call +// with the CreatePlatformEndpoint action. +// +// For more information about formatting messages, see Send Custom Platform-Specific +// Payloads in Messages to Mobile Devices (http://docs.aws.amazon.com/sns/latest/dg/mobile-push-send-custommessage.html). +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Simple Notification Service's +// API operation Publish for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidParameterException "InvalidParameter" +// Indicates that a request parameter does not comply with the associated constraints. +// +// * ErrCodeInvalidParameterValueException "ParameterValueInvalid" +// Indicates that a request parameter does not comply with the associated constraints. +// +// * ErrCodeInternalErrorException "InternalError" +// Indicates an internal service error. +// +// * ErrCodeNotFoundException "NotFound" +// Indicates that the requested resource does not exist. +// +// * ErrCodeEndpointDisabledException "EndpointDisabled" +// Exception error indicating endpoint disabled. +// +// * ErrCodePlatformApplicationDisabledException "PlatformApplicationDisabled" +// Exception error indicating platform application disabled. +// +// * ErrCodeAuthorizationErrorException "AuthorizationError" +// Indicates that the user has been denied access to the requested resource. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/Publish +func (c *SNS) Publish(input *PublishInput) (*PublishOutput, error) { + req, out := c.PublishRequest(input) + return out, req.Send() +} + +// PublishWithContext is the same as Publish with the addition of +// the ability to pass a context and additional request options. +// +// See Publish for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SNS) PublishWithContext(ctx aws.Context, input *PublishInput, opts ...request.Option) (*PublishOutput, error) { + req, out := c.PublishRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opRemovePermission = "RemovePermission" + +// RemovePermissionRequest generates a "aws/request.Request" representing the +// client's request for the RemovePermission operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See RemovePermission for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the RemovePermission method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the RemovePermissionRequest method. +// req, resp := client.RemovePermissionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/RemovePermission +func (c *SNS) RemovePermissionRequest(input *RemovePermissionInput) (req *request.Request, output *RemovePermissionOutput) { + op := &request.Operation{ + Name: opRemovePermission, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &RemovePermissionInput{} + } + + output = &RemovePermissionOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Remove(query.UnmarshalHandler) + req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + return +} + +// RemovePermission API operation for Amazon Simple Notification Service. +// +// Removes a statement from a topic's access control policy. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Simple Notification Service's +// API operation RemovePermission for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidParameterException "InvalidParameter" +// Indicates that a request parameter does not comply with the associated constraints. +// +// * ErrCodeInternalErrorException "InternalError" +// Indicates an internal service error. +// +// * ErrCodeAuthorizationErrorException "AuthorizationError" +// Indicates that the user has been denied access to the requested resource. +// +// * ErrCodeNotFoundException "NotFound" +// Indicates that the requested resource does not exist. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/RemovePermission +func (c *SNS) RemovePermission(input *RemovePermissionInput) (*RemovePermissionOutput, error) { + req, out := c.RemovePermissionRequest(input) + return out, req.Send() +} + +// RemovePermissionWithContext is the same as RemovePermission with the addition of +// the ability to pass a context and additional request options. +// +// See RemovePermission for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SNS) RemovePermissionWithContext(ctx aws.Context, input *RemovePermissionInput, opts ...request.Option) (*RemovePermissionOutput, error) { + req, out := c.RemovePermissionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opSetEndpointAttributes = "SetEndpointAttributes" + +// SetEndpointAttributesRequest generates a "aws/request.Request" representing the +// client's request for the SetEndpointAttributes operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See SetEndpointAttributes for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the SetEndpointAttributes method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the SetEndpointAttributesRequest method. +// req, resp := client.SetEndpointAttributesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/SetEndpointAttributes +func (c *SNS) SetEndpointAttributesRequest(input *SetEndpointAttributesInput) (req *request.Request, output *SetEndpointAttributesOutput) { + op := &request.Operation{ + Name: opSetEndpointAttributes, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &SetEndpointAttributesInput{} + } + + output = &SetEndpointAttributesOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Remove(query.UnmarshalHandler) + req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + return +} + +// SetEndpointAttributes API operation for Amazon Simple Notification Service. +// +// Sets the attributes for an endpoint for a device on one of the supported +// push notification services, such as GCM and APNS. For more information, see +// Using Amazon SNS Mobile Push Notifications (http://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html). +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Simple Notification Service's +// API operation SetEndpointAttributes for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidParameterException "InvalidParameter" +// Indicates that a request parameter does not comply with the associated constraints. +// +// * ErrCodeInternalErrorException "InternalError" +// Indicates an internal service error. +// +// * ErrCodeAuthorizationErrorException "AuthorizationError" +// Indicates that the user has been denied access to the requested resource. +// +// * ErrCodeNotFoundException "NotFound" +// Indicates that the requested resource does not exist. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/SetEndpointAttributes +func (c *SNS) SetEndpointAttributes(input *SetEndpointAttributesInput) (*SetEndpointAttributesOutput, error) { + req, out := c.SetEndpointAttributesRequest(input) + return out, req.Send() +} + +// SetEndpointAttributesWithContext is the same as SetEndpointAttributes with the addition of +// the ability to pass a context and additional request options. +// +// See SetEndpointAttributes for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SNS) SetEndpointAttributesWithContext(ctx aws.Context, input *SetEndpointAttributesInput, opts ...request.Option) (*SetEndpointAttributesOutput, error) { + req, out := c.SetEndpointAttributesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opSetPlatformApplicationAttributes = "SetPlatformApplicationAttributes" + +// SetPlatformApplicationAttributesRequest generates a "aws/request.Request" representing the +// client's request for the SetPlatformApplicationAttributes operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See SetPlatformApplicationAttributes for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the SetPlatformApplicationAttributes method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the SetPlatformApplicationAttributesRequest method. +// req, resp := client.SetPlatformApplicationAttributesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/SetPlatformApplicationAttributes +func (c *SNS) SetPlatformApplicationAttributesRequest(input *SetPlatformApplicationAttributesInput) (req *request.Request, output *SetPlatformApplicationAttributesOutput) { + op := &request.Operation{ + Name: opSetPlatformApplicationAttributes, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &SetPlatformApplicationAttributesInput{} + } + + output = &SetPlatformApplicationAttributesOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Remove(query.UnmarshalHandler) + req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + return +} + +// SetPlatformApplicationAttributes API operation for Amazon Simple Notification Service. +// +// Sets the attributes of the platform application object for the supported +// push notification services, such as APNS and GCM. For more information, see +// Using Amazon SNS Mobile Push Notifications (http://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html). +// For information on configuring attributes for message delivery status, see +// Using Amazon SNS Application Attributes for Message Delivery Status (http://docs.aws.amazon.com/sns/latest/dg/sns-msg-status.html). +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Simple Notification Service's +// API operation SetPlatformApplicationAttributes for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidParameterException "InvalidParameter" +// Indicates that a request parameter does not comply with the associated constraints. +// +// * ErrCodeInternalErrorException "InternalError" +// Indicates an internal service error. +// +// * ErrCodeAuthorizationErrorException "AuthorizationError" +// Indicates that the user has been denied access to the requested resource. +// +// * ErrCodeNotFoundException "NotFound" +// Indicates that the requested resource does not exist. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/SetPlatformApplicationAttributes +func (c *SNS) SetPlatformApplicationAttributes(input *SetPlatformApplicationAttributesInput) (*SetPlatformApplicationAttributesOutput, error) { + req, out := c.SetPlatformApplicationAttributesRequest(input) + return out, req.Send() +} + +// SetPlatformApplicationAttributesWithContext is the same as SetPlatformApplicationAttributes with the addition of +// the ability to pass a context and additional request options. +// +// See SetPlatformApplicationAttributes for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SNS) SetPlatformApplicationAttributesWithContext(ctx aws.Context, input *SetPlatformApplicationAttributesInput, opts ...request.Option) (*SetPlatformApplicationAttributesOutput, error) { + req, out := c.SetPlatformApplicationAttributesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opSetSMSAttributes = "SetSMSAttributes" + +// SetSMSAttributesRequest generates a "aws/request.Request" representing the +// client's request for the SetSMSAttributes operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See SetSMSAttributes for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the SetSMSAttributes method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the SetSMSAttributesRequest method. +// req, resp := client.SetSMSAttributesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/SetSMSAttributes +func (c *SNS) SetSMSAttributesRequest(input *SetSMSAttributesInput) (req *request.Request, output *SetSMSAttributesOutput) { + op := &request.Operation{ + Name: opSetSMSAttributes, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &SetSMSAttributesInput{} + } + + output = &SetSMSAttributesOutput{} + req = c.newRequest(op, input, output) + return +} + +// SetSMSAttributes API operation for Amazon Simple Notification Service. +// +// Use this request to set the default settings for sending SMS messages and +// receiving daily SMS usage reports. +// +// You can override some of these settings for a single message when you use +// the Publish action with the MessageAttributes.entry.N parameter. For more +// information, see Sending an SMS Message (http://docs.aws.amazon.com/sns/latest/dg/sms_publish-to-phone.html) +// in the Amazon SNS Developer Guide. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Simple Notification Service's +// API operation SetSMSAttributes for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidParameterException "InvalidParameter" +// Indicates that a request parameter does not comply with the associated constraints. +// +// * ErrCodeThrottledException "Throttled" +// Indicates that the rate at which requests have been submitted for this action +// exceeds the limit for your account. +// +// * ErrCodeInternalErrorException "InternalError" +// Indicates an internal service error. +// +// * ErrCodeAuthorizationErrorException "AuthorizationError" +// Indicates that the user has been denied access to the requested resource. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/SetSMSAttributes +func (c *SNS) SetSMSAttributes(input *SetSMSAttributesInput) (*SetSMSAttributesOutput, error) { + req, out := c.SetSMSAttributesRequest(input) + return out, req.Send() +} + +// SetSMSAttributesWithContext is the same as SetSMSAttributes with the addition of +// the ability to pass a context and additional request options. +// +// See SetSMSAttributes for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SNS) SetSMSAttributesWithContext(ctx aws.Context, input *SetSMSAttributesInput, opts ...request.Option) (*SetSMSAttributesOutput, error) { + req, out := c.SetSMSAttributesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opSetSubscriptionAttributes = "SetSubscriptionAttributes" + +// SetSubscriptionAttributesRequest generates a "aws/request.Request" representing the +// client's request for the SetSubscriptionAttributes operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See SetSubscriptionAttributes for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the SetSubscriptionAttributes method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the SetSubscriptionAttributesRequest method. +// req, resp := client.SetSubscriptionAttributesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/SetSubscriptionAttributes +func (c *SNS) SetSubscriptionAttributesRequest(input *SetSubscriptionAttributesInput) (req *request.Request, output *SetSubscriptionAttributesOutput) { + op := &request.Operation{ + Name: opSetSubscriptionAttributes, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &SetSubscriptionAttributesInput{} + } + + output = &SetSubscriptionAttributesOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Remove(query.UnmarshalHandler) + req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + return +} + +// SetSubscriptionAttributes API operation for Amazon Simple Notification Service. +// +// Allows a subscription owner to set an attribute of the topic to a new value. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Simple Notification Service's +// API operation SetSubscriptionAttributes for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidParameterException "InvalidParameter" +// Indicates that a request parameter does not comply with the associated constraints. +// +// * ErrCodeInternalErrorException "InternalError" +// Indicates an internal service error. +// +// * ErrCodeNotFoundException "NotFound" +// Indicates that the requested resource does not exist. +// +// * ErrCodeAuthorizationErrorException "AuthorizationError" +// Indicates that the user has been denied access to the requested resource. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/SetSubscriptionAttributes +func (c *SNS) SetSubscriptionAttributes(input *SetSubscriptionAttributesInput) (*SetSubscriptionAttributesOutput, error) { + req, out := c.SetSubscriptionAttributesRequest(input) + return out, req.Send() +} + +// SetSubscriptionAttributesWithContext is the same as SetSubscriptionAttributes with the addition of +// the ability to pass a context and additional request options. +// +// See SetSubscriptionAttributes for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SNS) SetSubscriptionAttributesWithContext(ctx aws.Context, input *SetSubscriptionAttributesInput, opts ...request.Option) (*SetSubscriptionAttributesOutput, error) { + req, out := c.SetSubscriptionAttributesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opSetTopicAttributes = "SetTopicAttributes" + +// SetTopicAttributesRequest generates a "aws/request.Request" representing the +// client's request for the SetTopicAttributes operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See SetTopicAttributes for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the SetTopicAttributes method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the SetTopicAttributesRequest method. +// req, resp := client.SetTopicAttributesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/SetTopicAttributes +func (c *SNS) SetTopicAttributesRequest(input *SetTopicAttributesInput) (req *request.Request, output *SetTopicAttributesOutput) { + op := &request.Operation{ + Name: opSetTopicAttributes, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &SetTopicAttributesInput{} + } + + output = &SetTopicAttributesOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Remove(query.UnmarshalHandler) + req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + return +} + +// SetTopicAttributes API operation for Amazon Simple Notification Service. +// +// Allows a topic owner to set an attribute of the topic to a new value. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Simple Notification Service's +// API operation SetTopicAttributes for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidParameterException "InvalidParameter" +// Indicates that a request parameter does not comply with the associated constraints. +// +// * ErrCodeInternalErrorException "InternalError" +// Indicates an internal service error. +// +// * ErrCodeNotFoundException "NotFound" +// Indicates that the requested resource does not exist. +// +// * ErrCodeAuthorizationErrorException "AuthorizationError" +// Indicates that the user has been denied access to the requested resource. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/SetTopicAttributes +func (c *SNS) SetTopicAttributes(input *SetTopicAttributesInput) (*SetTopicAttributesOutput, error) { + req, out := c.SetTopicAttributesRequest(input) + return out, req.Send() +} + +// SetTopicAttributesWithContext is the same as SetTopicAttributes with the addition of +// the ability to pass a context and additional request options. +// +// See SetTopicAttributes for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SNS) SetTopicAttributesWithContext(ctx aws.Context, input *SetTopicAttributesInput, opts ...request.Option) (*SetTopicAttributesOutput, error) { + req, out := c.SetTopicAttributesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opSubscribe = "Subscribe" + +// SubscribeRequest generates a "aws/request.Request" representing the +// client's request for the Subscribe operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See Subscribe for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the Subscribe method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the SubscribeRequest method. +// req, resp := client.SubscribeRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/Subscribe +func (c *SNS) SubscribeRequest(input *SubscribeInput) (req *request.Request, output *SubscribeOutput) { + op := &request.Operation{ + Name: opSubscribe, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &SubscribeInput{} + } + + output = &SubscribeOutput{} + req = c.newRequest(op, input, output) + return +} + +// Subscribe API operation for Amazon Simple Notification Service. +// +// Prepares to subscribe an endpoint by sending the endpoint a confirmation +// message. To actually create a subscription, the endpoint owner must call +// the ConfirmSubscription action with the token from the confirmation message. +// Confirmation tokens are valid for three days. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Simple Notification Service's +// API operation Subscribe for usage and error information. +// +// Returned Error Codes: +// * ErrCodeSubscriptionLimitExceededException "SubscriptionLimitExceeded" +// Indicates that the customer already owns the maximum allowed number of subscriptions. +// +// * ErrCodeInvalidParameterException "InvalidParameter" +// Indicates that a request parameter does not comply with the associated constraints. +// +// * ErrCodeInternalErrorException "InternalError" +// Indicates an internal service error. +// +// * ErrCodeNotFoundException "NotFound" +// Indicates that the requested resource does not exist. +// +// * ErrCodeAuthorizationErrorException "AuthorizationError" +// Indicates that the user has been denied access to the requested resource. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/Subscribe +func (c *SNS) Subscribe(input *SubscribeInput) (*SubscribeOutput, error) { + req, out := c.SubscribeRequest(input) + return out, req.Send() +} + +// SubscribeWithContext is the same as Subscribe with the addition of +// the ability to pass a context and additional request options. +// +// See Subscribe for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SNS) SubscribeWithContext(ctx aws.Context, input *SubscribeInput, opts ...request.Option) (*SubscribeOutput, error) { + req, out := c.SubscribeRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUnsubscribe = "Unsubscribe" + +// UnsubscribeRequest generates a "aws/request.Request" representing the +// client's request for the Unsubscribe operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See Unsubscribe for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the Unsubscribe method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the UnsubscribeRequest method. +// req, resp := client.UnsubscribeRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/Unsubscribe +func (c *SNS) UnsubscribeRequest(input *UnsubscribeInput) (req *request.Request, output *UnsubscribeOutput) { + op := &request.Operation{ + Name: opUnsubscribe, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UnsubscribeInput{} + } + + output = &UnsubscribeOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Remove(query.UnmarshalHandler) + req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) + return +} + +// Unsubscribe API operation for Amazon Simple Notification Service. +// +// Deletes a subscription. If the subscription requires authentication for deletion, +// only the owner of the subscription or the topic's owner can unsubscribe, +// and an AWS signature is required. If the Unsubscribe call does not require +// authentication and the requester is not the subscription owner, a final cancellation +// message is delivered to the endpoint, so that the endpoint owner can easily +// resubscribe to the topic if the Unsubscribe request was unintended. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Simple Notification Service's +// API operation Unsubscribe for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidParameterException "InvalidParameter" +// Indicates that a request parameter does not comply with the associated constraints. +// +// * ErrCodeInternalErrorException "InternalError" +// Indicates an internal service error. +// +// * ErrCodeAuthorizationErrorException "AuthorizationError" +// Indicates that the user has been denied access to the requested resource. +// +// * ErrCodeNotFoundException "NotFound" +// Indicates that the requested resource does not exist. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/Unsubscribe +func (c *SNS) Unsubscribe(input *UnsubscribeInput) (*UnsubscribeOutput, error) { + req, out := c.UnsubscribeRequest(input) + return out, req.Send() +} + +// UnsubscribeWithContext is the same as Unsubscribe with the addition of +// the ability to pass a context and additional request options. +// +// See Unsubscribe for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SNS) UnsubscribeWithContext(ctx aws.Context, input *UnsubscribeInput, opts ...request.Option) (*UnsubscribeOutput, error) { + req, out := c.UnsubscribeRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/AddPermissionInput +type AddPermissionInput struct { + _ struct{} `type:"structure"` + + // The AWS account IDs of the users (principals) who will be given access to + // the specified actions. The users must have AWS accounts, but do not need + // to be signed up for this service. + // + // AWSAccountId is a required field + AWSAccountId []*string `type:"list" required:"true"` + + // The action you want to allow for the specified principal(s). + // + // Valid values: any Amazon SNS action name. + // + // ActionName is a required field + ActionName []*string `type:"list" required:"true"` + + // A unique identifier for the new policy statement. + // + // Label is a required field + Label *string `type:"string" required:"true"` + + // The ARN of the topic whose access control policy you wish to modify. + // + // TopicArn is a required field + TopicArn *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s AddPermissionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AddPermissionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AddPermissionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AddPermissionInput"} + if s.AWSAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AWSAccountId")) + } + if s.ActionName == nil { + invalidParams.Add(request.NewErrParamRequired("ActionName")) + } + if s.Label == nil { + invalidParams.Add(request.NewErrParamRequired("Label")) + } + if s.TopicArn == nil { + invalidParams.Add(request.NewErrParamRequired("TopicArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAWSAccountId sets the AWSAccountId field's value. +func (s *AddPermissionInput) SetAWSAccountId(v []*string) *AddPermissionInput { + s.AWSAccountId = v + return s +} + +// SetActionName sets the ActionName field's value. +func (s *AddPermissionInput) SetActionName(v []*string) *AddPermissionInput { + s.ActionName = v + return s +} + +// SetLabel sets the Label field's value. +func (s *AddPermissionInput) SetLabel(v string) *AddPermissionInput { + s.Label = &v + return s +} + +// SetTopicArn sets the TopicArn field's value. +func (s *AddPermissionInput) SetTopicArn(v string) *AddPermissionInput { + s.TopicArn = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/AddPermissionOutput +type AddPermissionOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s AddPermissionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AddPermissionOutput) GoString() string { + return s.String() +} + +// The input for the CheckIfPhoneNumberIsOptedOut action. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/CheckIfPhoneNumberIsOptedOutInput +type CheckIfPhoneNumberIsOptedOutInput struct { + _ struct{} `type:"structure"` + + // The phone number for which you want to check the opt out status. + // + // PhoneNumber is a required field + PhoneNumber *string `locationName:"phoneNumber" type:"string" required:"true"` +} + +// String returns the string representation +func (s CheckIfPhoneNumberIsOptedOutInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CheckIfPhoneNumberIsOptedOutInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CheckIfPhoneNumberIsOptedOutInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CheckIfPhoneNumberIsOptedOutInput"} + if s.PhoneNumber == nil { + invalidParams.Add(request.NewErrParamRequired("PhoneNumber")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetPhoneNumber sets the PhoneNumber field's value. +func (s *CheckIfPhoneNumberIsOptedOutInput) SetPhoneNumber(v string) *CheckIfPhoneNumberIsOptedOutInput { + s.PhoneNumber = &v + return s +} + +// The response from the CheckIfPhoneNumberIsOptedOut action. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/CheckIfPhoneNumberIsOptedOutResponse +type CheckIfPhoneNumberIsOptedOutOutput struct { + _ struct{} `type:"structure"` + + // Indicates whether the phone number is opted out: + // + // * true – The phone number is opted out, meaning you cannot publish SMS + // messages to it. + // + // * false – The phone number is opted in, meaning you can publish SMS messages + // to it. + IsOptedOut *bool `locationName:"isOptedOut" type:"boolean"` +} + +// String returns the string representation +func (s CheckIfPhoneNumberIsOptedOutOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CheckIfPhoneNumberIsOptedOutOutput) GoString() string { + return s.String() +} + +// SetIsOptedOut sets the IsOptedOut field's value. +func (s *CheckIfPhoneNumberIsOptedOutOutput) SetIsOptedOut(v bool) *CheckIfPhoneNumberIsOptedOutOutput { + s.IsOptedOut = &v + return s +} + +// Input for ConfirmSubscription action. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/ConfirmSubscriptionInput +type ConfirmSubscriptionInput struct { + _ struct{} `type:"structure"` + + // Disallows unauthenticated unsubscribes of the subscription. If the value + // of this parameter is true and the request has an AWS signature, then only + // the topic owner and the subscription owner can unsubscribe the endpoint. + // The unsubscribe action requires AWS authentication. + AuthenticateOnUnsubscribe *string `type:"string"` + + // Short-lived token sent to an endpoint during the Subscribe action. + // + // Token is a required field + Token *string `type:"string" required:"true"` + + // The ARN of the topic for which you wish to confirm a subscription. + // + // TopicArn is a required field + TopicArn *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s ConfirmSubscriptionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ConfirmSubscriptionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ConfirmSubscriptionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ConfirmSubscriptionInput"} + if s.Token == nil { + invalidParams.Add(request.NewErrParamRequired("Token")) + } + if s.TopicArn == nil { + invalidParams.Add(request.NewErrParamRequired("TopicArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAuthenticateOnUnsubscribe sets the AuthenticateOnUnsubscribe field's value. +func (s *ConfirmSubscriptionInput) SetAuthenticateOnUnsubscribe(v string) *ConfirmSubscriptionInput { + s.AuthenticateOnUnsubscribe = &v + return s +} + +// SetToken sets the Token field's value. +func (s *ConfirmSubscriptionInput) SetToken(v string) *ConfirmSubscriptionInput { + s.Token = &v + return s +} + +// SetTopicArn sets the TopicArn field's value. +func (s *ConfirmSubscriptionInput) SetTopicArn(v string) *ConfirmSubscriptionInput { + s.TopicArn = &v + return s +} + +// Response for ConfirmSubscriptions action. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/ConfirmSubscriptionResponse +type ConfirmSubscriptionOutput struct { + _ struct{} `type:"structure"` + + // The ARN of the created subscription. + SubscriptionArn *string `type:"string"` +} + +// String returns the string representation +func (s ConfirmSubscriptionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ConfirmSubscriptionOutput) GoString() string { + return s.String() +} + +// SetSubscriptionArn sets the SubscriptionArn field's value. +func (s *ConfirmSubscriptionOutput) SetSubscriptionArn(v string) *ConfirmSubscriptionOutput { + s.SubscriptionArn = &v + return s +} + +// Input for CreatePlatformApplication action. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/CreatePlatformApplicationInput +type CreatePlatformApplicationInput struct { + _ struct{} `type:"structure"` + + // For a list of attributes, see SetPlatformApplicationAttributes (http://docs.aws.amazon.com/sns/latest/api/API_SetPlatformApplicationAttributes.html) + // + // Attributes is a required field + Attributes map[string]*string `type:"map" required:"true"` + + // Application names must be made up of only uppercase and lowercase ASCII letters, + // numbers, underscores, hyphens, and periods, and must be between 1 and 256 + // characters long. + // + // Name is a required field + Name *string `type:"string" required:"true"` + + // The following platforms are supported: ADM (Amazon Device Messaging), APNS + // (Apple Push Notification Service), APNS_SANDBOX, and GCM (Google Cloud Messaging). + // + // Platform is a required field + Platform *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s CreatePlatformApplicationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreatePlatformApplicationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreatePlatformApplicationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreatePlatformApplicationInput"} + if s.Attributes == nil { + invalidParams.Add(request.NewErrParamRequired("Attributes")) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Platform == nil { + invalidParams.Add(request.NewErrParamRequired("Platform")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAttributes sets the Attributes field's value. +func (s *CreatePlatformApplicationInput) SetAttributes(v map[string]*string) *CreatePlatformApplicationInput { + s.Attributes = v + return s +} + +// SetName sets the Name field's value. +func (s *CreatePlatformApplicationInput) SetName(v string) *CreatePlatformApplicationInput { + s.Name = &v + return s +} + +// SetPlatform sets the Platform field's value. +func (s *CreatePlatformApplicationInput) SetPlatform(v string) *CreatePlatformApplicationInput { + s.Platform = &v + return s +} + +// Response from CreatePlatformApplication action. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/CreatePlatformApplicationResponse +type CreatePlatformApplicationOutput struct { + _ struct{} `type:"structure"` + + // PlatformApplicationArn is returned. + PlatformApplicationArn *string `type:"string"` +} + +// String returns the string representation +func (s CreatePlatformApplicationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreatePlatformApplicationOutput) GoString() string { + return s.String() +} + +// SetPlatformApplicationArn sets the PlatformApplicationArn field's value. +func (s *CreatePlatformApplicationOutput) SetPlatformApplicationArn(v string) *CreatePlatformApplicationOutput { + s.PlatformApplicationArn = &v + return s +} + +// Input for CreatePlatformEndpoint action. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/CreatePlatformEndpointInput +type CreatePlatformEndpointInput struct { + _ struct{} `type:"structure"` + + // For a list of attributes, see SetEndpointAttributes (http://docs.aws.amazon.com/sns/latest/api/API_SetEndpointAttributes.html). + Attributes map[string]*string `type:"map"` + + // Arbitrary user data to associate with the endpoint. Amazon SNS does not use + // this data. The data must be in UTF-8 format and less than 2KB. + CustomUserData *string `type:"string"` + + // PlatformApplicationArn returned from CreatePlatformApplication is used to + // create a an endpoint. + // + // PlatformApplicationArn is a required field + PlatformApplicationArn *string `type:"string" required:"true"` + + // Unique identifier created by the notification service for an app on a device. + // The specific name for Token will vary, depending on which notification service + // is being used. For example, when using APNS as the notification service, + // you need the device token. Alternatively, when using GCM or ADM, the device + // token equivalent is called the registration ID. + // + // Token is a required field + Token *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s CreatePlatformEndpointInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreatePlatformEndpointInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreatePlatformEndpointInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreatePlatformEndpointInput"} + if s.PlatformApplicationArn == nil { + invalidParams.Add(request.NewErrParamRequired("PlatformApplicationArn")) + } + if s.Token == nil { + invalidParams.Add(request.NewErrParamRequired("Token")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAttributes sets the Attributes field's value. +func (s *CreatePlatformEndpointInput) SetAttributes(v map[string]*string) *CreatePlatformEndpointInput { + s.Attributes = v + return s +} + +// SetCustomUserData sets the CustomUserData field's value. +func (s *CreatePlatformEndpointInput) SetCustomUserData(v string) *CreatePlatformEndpointInput { + s.CustomUserData = &v + return s +} + +// SetPlatformApplicationArn sets the PlatformApplicationArn field's value. +func (s *CreatePlatformEndpointInput) SetPlatformApplicationArn(v string) *CreatePlatformEndpointInput { + s.PlatformApplicationArn = &v + return s +} + +// SetToken sets the Token field's value. +func (s *CreatePlatformEndpointInput) SetToken(v string) *CreatePlatformEndpointInput { + s.Token = &v + return s +} + +// Response from CreateEndpoint action. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/CreateEndpointResponse +type CreatePlatformEndpointOutput struct { + _ struct{} `type:"structure"` + + // EndpointArn returned from CreateEndpoint action. + EndpointArn *string `type:"string"` +} + +// String returns the string representation +func (s CreatePlatformEndpointOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreatePlatformEndpointOutput) GoString() string { + return s.String() +} + +// SetEndpointArn sets the EndpointArn field's value. +func (s *CreatePlatformEndpointOutput) SetEndpointArn(v string) *CreatePlatformEndpointOutput { + s.EndpointArn = &v + return s +} + +// Input for CreateTopic action. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/CreateTopicInput +type CreateTopicInput struct { + _ struct{} `type:"structure"` + + // The name of the topic you want to create. + // + // Constraints: Topic names must be made up of only uppercase and lowercase + // ASCII letters, numbers, underscores, and hyphens, and must be between 1 and + // 256 characters long. + // + // Name is a required field + Name *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s CreateTopicInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateTopicInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateTopicInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateTopicInput"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetName sets the Name field's value. +func (s *CreateTopicInput) SetName(v string) *CreateTopicInput { + s.Name = &v + return s +} + +// Response from CreateTopic action. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/CreateTopicResponse +type CreateTopicOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) assigned to the created topic. + TopicArn *string `type:"string"` +} + +// String returns the string representation +func (s CreateTopicOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateTopicOutput) GoString() string { + return s.String() +} + +// SetTopicArn sets the TopicArn field's value. +func (s *CreateTopicOutput) SetTopicArn(v string) *CreateTopicOutput { + s.TopicArn = &v + return s +} + +// Input for DeleteEndpoint action. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/DeleteEndpointInput +type DeleteEndpointInput struct { + _ struct{} `type:"structure"` + + // EndpointArn of endpoint to delete. + // + // EndpointArn is a required field + EndpointArn *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteEndpointInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteEndpointInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteEndpointInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteEndpointInput"} + if s.EndpointArn == nil { + invalidParams.Add(request.NewErrParamRequired("EndpointArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEndpointArn sets the EndpointArn field's value. +func (s *DeleteEndpointInput) SetEndpointArn(v string) *DeleteEndpointInput { + s.EndpointArn = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/DeleteEndpointOutput +type DeleteEndpointOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteEndpointOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteEndpointOutput) GoString() string { + return s.String() +} + +// Input for DeletePlatformApplication action. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/DeletePlatformApplicationInput +type DeletePlatformApplicationInput struct { + _ struct{} `type:"structure"` + + // PlatformApplicationArn of platform application object to delete. + // + // PlatformApplicationArn is a required field + PlatformApplicationArn *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s DeletePlatformApplicationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeletePlatformApplicationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeletePlatformApplicationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeletePlatformApplicationInput"} + if s.PlatformApplicationArn == nil { + invalidParams.Add(request.NewErrParamRequired("PlatformApplicationArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetPlatformApplicationArn sets the PlatformApplicationArn field's value. +func (s *DeletePlatformApplicationInput) SetPlatformApplicationArn(v string) *DeletePlatformApplicationInput { + s.PlatformApplicationArn = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/DeletePlatformApplicationOutput +type DeletePlatformApplicationOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeletePlatformApplicationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeletePlatformApplicationOutput) GoString() string { + return s.String() +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/DeleteTopicInput +type DeleteTopicInput struct { + _ struct{} `type:"structure"` + + // The ARN of the topic you want to delete. + // + // TopicArn is a required field + TopicArn *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteTopicInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteTopicInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteTopicInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteTopicInput"} + if s.TopicArn == nil { + invalidParams.Add(request.NewErrParamRequired("TopicArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetTopicArn sets the TopicArn field's value. +func (s *DeleteTopicInput) SetTopicArn(v string) *DeleteTopicInput { + s.TopicArn = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/DeleteTopicOutput +type DeleteTopicOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteTopicOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteTopicOutput) GoString() string { + return s.String() +} + +// Endpoint for mobile app and device. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/Endpoint +type Endpoint struct { + _ struct{} `type:"structure"` + + // Attributes for endpoint. + Attributes map[string]*string `type:"map"` + + // EndpointArn for mobile app and device. + EndpointArn *string `type:"string"` +} + +// String returns the string representation +func (s Endpoint) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Endpoint) GoString() string { + return s.String() +} + +// SetAttributes sets the Attributes field's value. +func (s *Endpoint) SetAttributes(v map[string]*string) *Endpoint { + s.Attributes = v + return s +} + +// SetEndpointArn sets the EndpointArn field's value. +func (s *Endpoint) SetEndpointArn(v string) *Endpoint { + s.EndpointArn = &v + return s +} + +// Input for GetEndpointAttributes action. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/GetEndpointAttributesInput +type GetEndpointAttributesInput struct { + _ struct{} `type:"structure"` + + // EndpointArn for GetEndpointAttributes input. + // + // EndpointArn is a required field + EndpointArn *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s GetEndpointAttributesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetEndpointAttributesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetEndpointAttributesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetEndpointAttributesInput"} + if s.EndpointArn == nil { + invalidParams.Add(request.NewErrParamRequired("EndpointArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEndpointArn sets the EndpointArn field's value. +func (s *GetEndpointAttributesInput) SetEndpointArn(v string) *GetEndpointAttributesInput { + s.EndpointArn = &v + return s +} + +// Response from GetEndpointAttributes of the EndpointArn. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/GetEndpointAttributesResponse +type GetEndpointAttributesOutput struct { + _ struct{} `type:"structure"` + + // Attributes include the following: + // + // * CustomUserData -- arbitrary user data to associate with the endpoint. + // Amazon SNS does not use this data. The data must be in UTF-8 format and + // less than 2KB. + // + // * Enabled -- flag that enables/disables delivery to the endpoint. Amazon + // SNS will set this to false when a notification service indicates to Amazon + // SNS that the endpoint is invalid. Users can set it back to true, typically + // after updating Token. + // + // * Token -- device token, also referred to as a registration id, for an + // app and mobile device. This is returned from the notification service + // when an app and mobile device are registered with the notification service. + Attributes map[string]*string `type:"map"` +} + +// String returns the string representation +func (s GetEndpointAttributesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetEndpointAttributesOutput) GoString() string { + return s.String() +} + +// SetAttributes sets the Attributes field's value. +func (s *GetEndpointAttributesOutput) SetAttributes(v map[string]*string) *GetEndpointAttributesOutput { + s.Attributes = v + return s +} + +// Input for GetPlatformApplicationAttributes action. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/GetPlatformApplicationAttributesInput +type GetPlatformApplicationAttributesInput struct { + _ struct{} `type:"structure"` + + // PlatformApplicationArn for GetPlatformApplicationAttributesInput. + // + // PlatformApplicationArn is a required field + PlatformApplicationArn *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s GetPlatformApplicationAttributesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetPlatformApplicationAttributesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetPlatformApplicationAttributesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetPlatformApplicationAttributesInput"} + if s.PlatformApplicationArn == nil { + invalidParams.Add(request.NewErrParamRequired("PlatformApplicationArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetPlatformApplicationArn sets the PlatformApplicationArn field's value. +func (s *GetPlatformApplicationAttributesInput) SetPlatformApplicationArn(v string) *GetPlatformApplicationAttributesInput { + s.PlatformApplicationArn = &v + return s +} + +// Response for GetPlatformApplicationAttributes action. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/GetPlatformApplicationAttributesResponse +type GetPlatformApplicationAttributesOutput struct { + _ struct{} `type:"structure"` + + // Attributes include the following: + // + // * EventEndpointCreated -- Topic ARN to which EndpointCreated event notifications + // should be sent. + // + // * EventEndpointDeleted -- Topic ARN to which EndpointDeleted event notifications + // should be sent. + // + // * EventEndpointUpdated -- Topic ARN to which EndpointUpdate event notifications + // should be sent. + // + // * EventDeliveryFailure -- Topic ARN to which DeliveryFailure event notifications + // should be sent upon Direct Publish delivery failure (permanent) to one + // of the application's endpoints. + Attributes map[string]*string `type:"map"` +} + +// String returns the string representation +func (s GetPlatformApplicationAttributesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetPlatformApplicationAttributesOutput) GoString() string { + return s.String() +} + +// SetAttributes sets the Attributes field's value. +func (s *GetPlatformApplicationAttributesOutput) SetAttributes(v map[string]*string) *GetPlatformApplicationAttributesOutput { + s.Attributes = v + return s +} + +// The input for the GetSMSAttributes request. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/GetSMSAttributesInput +type GetSMSAttributesInput struct { + _ struct{} `type:"structure"` + + // A list of the individual attribute names, such as MonthlySpendLimit, for + // which you want values. + // + // For all attribute names, see SetSMSAttributes (http://docs.aws.amazon.com/sns/latest/api/API_SetSMSAttributes.html). + // + // If you don't use this parameter, Amazon SNS returns all SMS attributes. + Attributes []*string `locationName:"attributes" type:"list"` +} + +// String returns the string representation +func (s GetSMSAttributesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetSMSAttributesInput) GoString() string { + return s.String() +} + +// SetAttributes sets the Attributes field's value. +func (s *GetSMSAttributesInput) SetAttributes(v []*string) *GetSMSAttributesInput { + s.Attributes = v + return s +} + +// The response from the GetSMSAttributes request. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/GetSMSAttributesResponse +type GetSMSAttributesOutput struct { + _ struct{} `type:"structure"` + + // The SMS attribute names and their values. + Attributes map[string]*string `locationName:"attributes" type:"map"` +} + +// String returns the string representation +func (s GetSMSAttributesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetSMSAttributesOutput) GoString() string { + return s.String() +} + +// SetAttributes sets the Attributes field's value. +func (s *GetSMSAttributesOutput) SetAttributes(v map[string]*string) *GetSMSAttributesOutput { + s.Attributes = v + return s +} + +// Input for GetSubscriptionAttributes. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/GetSubscriptionAttributesInput +type GetSubscriptionAttributesInput struct { + _ struct{} `type:"structure"` + + // The ARN of the subscription whose properties you want to get. + // + // SubscriptionArn is a required field + SubscriptionArn *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s GetSubscriptionAttributesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetSubscriptionAttributesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetSubscriptionAttributesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetSubscriptionAttributesInput"} + if s.SubscriptionArn == nil { + invalidParams.Add(request.NewErrParamRequired("SubscriptionArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetSubscriptionArn sets the SubscriptionArn field's value. +func (s *GetSubscriptionAttributesInput) SetSubscriptionArn(v string) *GetSubscriptionAttributesInput { + s.SubscriptionArn = &v + return s +} + +// Response for GetSubscriptionAttributes action. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/GetSubscriptionAttributesResponse +type GetSubscriptionAttributesOutput struct { + _ struct{} `type:"structure"` + + // A map of the subscription's attributes. Attributes in this map include the + // following: + // + // * SubscriptionArn -- the subscription's ARN + // + // * TopicArn -- the topic ARN that the subscription is associated with + // + // * Owner -- the AWS account ID of the subscription's owner + // + // * ConfirmationWasAuthenticated -- true if the subscription confirmation + // request was authenticated + // + // * DeliveryPolicy -- the JSON serialization of the subscription's delivery + // policy + // + // * EffectiveDeliveryPolicy -- the JSON serialization of the effective delivery + // policy that takes into account the topic delivery policy and account system + // defaults + Attributes map[string]*string `type:"map"` +} + +// String returns the string representation +func (s GetSubscriptionAttributesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetSubscriptionAttributesOutput) GoString() string { + return s.String() +} + +// SetAttributes sets the Attributes field's value. +func (s *GetSubscriptionAttributesOutput) SetAttributes(v map[string]*string) *GetSubscriptionAttributesOutput { + s.Attributes = v + return s +} + +// Input for GetTopicAttributes action. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/GetTopicAttributesInput +type GetTopicAttributesInput struct { + _ struct{} `type:"structure"` + + // The ARN of the topic whose properties you want to get. + // + // TopicArn is a required field + TopicArn *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s GetTopicAttributesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetTopicAttributesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetTopicAttributesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetTopicAttributesInput"} + if s.TopicArn == nil { + invalidParams.Add(request.NewErrParamRequired("TopicArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetTopicArn sets the TopicArn field's value. +func (s *GetTopicAttributesInput) SetTopicArn(v string) *GetTopicAttributesInput { + s.TopicArn = &v + return s +} + +// Response for GetTopicAttributes action. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/GetTopicAttributesResponse +type GetTopicAttributesOutput struct { + _ struct{} `type:"structure"` + + // A map of the topic's attributes. Attributes in this map include the following: + // + // * TopicArn -- the topic's ARN + // + // * Owner -- the AWS account ID of the topic's owner + // + // * Policy -- the JSON serialization of the topic's access control policy + // + // * DisplayName -- the human-readable name used in the "From" field for + // notifications to email and email-json endpoints + // + // * SubscriptionsPending -- the number of subscriptions pending confirmation + // on this topic + // + // * SubscriptionsConfirmed -- the number of confirmed subscriptions on this + // topic + // + // * SubscriptionsDeleted -- the number of deleted subscriptions on this + // topic + // + // * DeliveryPolicy -- the JSON serialization of the topic's delivery policy + // + // * EffectiveDeliveryPolicy -- the JSON serialization of the effective delivery + // policy that takes into account system defaults + Attributes map[string]*string `type:"map"` +} + +// String returns the string representation +func (s GetTopicAttributesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetTopicAttributesOutput) GoString() string { + return s.String() +} + +// SetAttributes sets the Attributes field's value. +func (s *GetTopicAttributesOutput) SetAttributes(v map[string]*string) *GetTopicAttributesOutput { + s.Attributes = v + return s +} + +// Input for ListEndpointsByPlatformApplication action. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/ListEndpointsByPlatformApplicationInput +type ListEndpointsByPlatformApplicationInput struct { + _ struct{} `type:"structure"` + + // NextToken string is used when calling ListEndpointsByPlatformApplication + // action to retrieve additional records that are available after the first + // page results. + NextToken *string `type:"string"` + + // PlatformApplicationArn for ListEndpointsByPlatformApplicationInput action. + // + // PlatformApplicationArn is a required field + PlatformApplicationArn *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s ListEndpointsByPlatformApplicationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListEndpointsByPlatformApplicationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListEndpointsByPlatformApplicationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListEndpointsByPlatformApplicationInput"} + if s.PlatformApplicationArn == nil { + invalidParams.Add(request.NewErrParamRequired("PlatformApplicationArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetNextToken sets the NextToken field's value. +func (s *ListEndpointsByPlatformApplicationInput) SetNextToken(v string) *ListEndpointsByPlatformApplicationInput { + s.NextToken = &v + return s +} + +// SetPlatformApplicationArn sets the PlatformApplicationArn field's value. +func (s *ListEndpointsByPlatformApplicationInput) SetPlatformApplicationArn(v string) *ListEndpointsByPlatformApplicationInput { + s.PlatformApplicationArn = &v + return s +} + +// Response for ListEndpointsByPlatformApplication action. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/ListEndpointsByPlatformApplicationResponse +type ListEndpointsByPlatformApplicationOutput struct { + _ struct{} `type:"structure"` + + // Endpoints returned for ListEndpointsByPlatformApplication action. + Endpoints []*Endpoint `type:"list"` + + // NextToken string is returned when calling ListEndpointsByPlatformApplication + // action if additional records are available after the first page results. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s ListEndpointsByPlatformApplicationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListEndpointsByPlatformApplicationOutput) GoString() string { + return s.String() +} + +// SetEndpoints sets the Endpoints field's value. +func (s *ListEndpointsByPlatformApplicationOutput) SetEndpoints(v []*Endpoint) *ListEndpointsByPlatformApplicationOutput { + s.Endpoints = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListEndpointsByPlatformApplicationOutput) SetNextToken(v string) *ListEndpointsByPlatformApplicationOutput { + s.NextToken = &v + return s +} + +// The input for the ListPhoneNumbersOptedOut action. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/ListPhoneNumbersOptedOutInput +type ListPhoneNumbersOptedOutInput struct { + _ struct{} `type:"structure"` + + // A NextToken string is used when you call the ListPhoneNumbersOptedOut action + // to retrieve additional records that are available after the first page of + // results. + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s ListPhoneNumbersOptedOutInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListPhoneNumbersOptedOutInput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListPhoneNumbersOptedOutInput) SetNextToken(v string) *ListPhoneNumbersOptedOutInput { + s.NextToken = &v + return s +} + +// The response from the ListPhoneNumbersOptedOut action. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/ListPhoneNumbersOptedOutResponse +type ListPhoneNumbersOptedOutOutput struct { + _ struct{} `type:"structure"` + + // A NextToken string is returned when you call the ListPhoneNumbersOptedOut + // action if additional records are available after the first page of results. + NextToken *string `locationName:"nextToken" type:"string"` + + // A list of phone numbers that are opted out of receiving SMS messages. The + // list is paginated, and each page can contain up to 100 phone numbers. + PhoneNumbers []*string `locationName:"phoneNumbers" type:"list"` +} + +// String returns the string representation +func (s ListPhoneNumbersOptedOutOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListPhoneNumbersOptedOutOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListPhoneNumbersOptedOutOutput) SetNextToken(v string) *ListPhoneNumbersOptedOutOutput { + s.NextToken = &v + return s +} + +// SetPhoneNumbers sets the PhoneNumbers field's value. +func (s *ListPhoneNumbersOptedOutOutput) SetPhoneNumbers(v []*string) *ListPhoneNumbersOptedOutOutput { + s.PhoneNumbers = v + return s +} + +// Input for ListPlatformApplications action. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/ListPlatformApplicationsInput +type ListPlatformApplicationsInput struct { + _ struct{} `type:"structure"` + + // NextToken string is used when calling ListPlatformApplications action to + // retrieve additional records that are available after the first page results. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s ListPlatformApplicationsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListPlatformApplicationsInput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListPlatformApplicationsInput) SetNextToken(v string) *ListPlatformApplicationsInput { + s.NextToken = &v + return s +} + +// Response for ListPlatformApplications action. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/ListPlatformApplicationsResponse +type ListPlatformApplicationsOutput struct { + _ struct{} `type:"structure"` + + // NextToken string is returned when calling ListPlatformApplications action + // if additional records are available after the first page results. + NextToken *string `type:"string"` + + // Platform applications returned when calling ListPlatformApplications action. + PlatformApplications []*PlatformApplication `type:"list"` +} + +// String returns the string representation +func (s ListPlatformApplicationsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListPlatformApplicationsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListPlatformApplicationsOutput) SetNextToken(v string) *ListPlatformApplicationsOutput { + s.NextToken = &v + return s +} + +// SetPlatformApplications sets the PlatformApplications field's value. +func (s *ListPlatformApplicationsOutput) SetPlatformApplications(v []*PlatformApplication) *ListPlatformApplicationsOutput { + s.PlatformApplications = v + return s +} + +// Input for ListSubscriptionsByTopic action. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/ListSubscriptionsByTopicInput +type ListSubscriptionsByTopicInput struct { + _ struct{} `type:"structure"` + + // Token returned by the previous ListSubscriptionsByTopic request. + NextToken *string `type:"string"` + + // The ARN of the topic for which you wish to find subscriptions. + // + // TopicArn is a required field + TopicArn *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s ListSubscriptionsByTopicInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListSubscriptionsByTopicInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListSubscriptionsByTopicInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListSubscriptionsByTopicInput"} + if s.TopicArn == nil { + invalidParams.Add(request.NewErrParamRequired("TopicArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetNextToken sets the NextToken field's value. +func (s *ListSubscriptionsByTopicInput) SetNextToken(v string) *ListSubscriptionsByTopicInput { + s.NextToken = &v + return s +} + +// SetTopicArn sets the TopicArn field's value. +func (s *ListSubscriptionsByTopicInput) SetTopicArn(v string) *ListSubscriptionsByTopicInput { + s.TopicArn = &v + return s +} + +// Response for ListSubscriptionsByTopic action. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/ListSubscriptionsByTopicResponse +type ListSubscriptionsByTopicOutput struct { + _ struct{} `type:"structure"` + + // Token to pass along to the next ListSubscriptionsByTopic request. This element + // is returned if there are more subscriptions to retrieve. + NextToken *string `type:"string"` + + // A list of subscriptions. + Subscriptions []*Subscription `type:"list"` +} + +// String returns the string representation +func (s ListSubscriptionsByTopicOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListSubscriptionsByTopicOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListSubscriptionsByTopicOutput) SetNextToken(v string) *ListSubscriptionsByTopicOutput { + s.NextToken = &v + return s +} + +// SetSubscriptions sets the Subscriptions field's value. +func (s *ListSubscriptionsByTopicOutput) SetSubscriptions(v []*Subscription) *ListSubscriptionsByTopicOutput { + s.Subscriptions = v + return s +} + +// Input for ListSubscriptions action. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/ListSubscriptionsInput +type ListSubscriptionsInput struct { + _ struct{} `type:"structure"` + + // Token returned by the previous ListSubscriptions request. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s ListSubscriptionsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListSubscriptionsInput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListSubscriptionsInput) SetNextToken(v string) *ListSubscriptionsInput { + s.NextToken = &v + return s +} + +// Response for ListSubscriptions action +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/ListSubscriptionsResponse +type ListSubscriptionsOutput struct { + _ struct{} `type:"structure"` + + // Token to pass along to the next ListSubscriptions request. This element is + // returned if there are more subscriptions to retrieve. + NextToken *string `type:"string"` + + // A list of subscriptions. + Subscriptions []*Subscription `type:"list"` +} + +// String returns the string representation +func (s ListSubscriptionsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListSubscriptionsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListSubscriptionsOutput) SetNextToken(v string) *ListSubscriptionsOutput { + s.NextToken = &v + return s +} + +// SetSubscriptions sets the Subscriptions field's value. +func (s *ListSubscriptionsOutput) SetSubscriptions(v []*Subscription) *ListSubscriptionsOutput { + s.Subscriptions = v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/ListTopicsInput +type ListTopicsInput struct { + _ struct{} `type:"structure"` + + // Token returned by the previous ListTopics request. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s ListTopicsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListTopicsInput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListTopicsInput) SetNextToken(v string) *ListTopicsInput { + s.NextToken = &v + return s +} + +// Response for ListTopics action. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/ListTopicsResponse +type ListTopicsOutput struct { + _ struct{} `type:"structure"` + + // Token to pass along to the next ListTopics request. This element is returned + // if there are additional topics to retrieve. + NextToken *string `type:"string"` + + // A list of topic ARNs. + Topics []*Topic `type:"list"` +} + +// String returns the string representation +func (s ListTopicsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListTopicsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListTopicsOutput) SetNextToken(v string) *ListTopicsOutput { + s.NextToken = &v + return s +} + +// SetTopics sets the Topics field's value. +func (s *ListTopicsOutput) SetTopics(v []*Topic) *ListTopicsOutput { + s.Topics = v + return s +} + +// The user-specified message attribute value. For string data types, the value +// attribute has the same restrictions on the content as the message body. For +// more information, see Publish (http://docs.aws.amazon.com/sns/latest/api/API_Publish.html). +// +// Name, type, and value must not be empty or null. In addition, the message +// body should not be empty or null. All parts of the message attribute, including +// name, type, and value, are included in the message size restriction, which +// is currently 256 KB (262,144 bytes). For more information, see Using Amazon +// SNS Message Attributes (http://docs.aws.amazon.com/sns/latest/dg/SNSMessageAttributes.html). +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/MessageAttributeValue +type MessageAttributeValue struct { + _ struct{} `type:"structure"` + + // Binary type attributes can store any binary data, for example, compressed + // data, encrypted data, or images. + // + // BinaryValue is automatically base64 encoded/decoded by the SDK. + BinaryValue []byte `type:"blob"` + + // Amazon SNS supports the following logical data types: String, Number, and + // Binary. For more information, see Message Attribute Data Types (http://docs.aws.amazon.com/sns/latest/dg/SNSMessageAttributes.html#SNSMessageAttributes.DataTypes). + // + // DataType is a required field + DataType *string `type:"string" required:"true"` + + // Strings are Unicode with UTF8 binary encoding. For a list of code values, + // see http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters (http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters). + StringValue *string `type:"string"` +} + +// String returns the string representation +func (s MessageAttributeValue) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s MessageAttributeValue) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *MessageAttributeValue) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "MessageAttributeValue"} + if s.DataType == nil { + invalidParams.Add(request.NewErrParamRequired("DataType")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBinaryValue sets the BinaryValue field's value. +func (s *MessageAttributeValue) SetBinaryValue(v []byte) *MessageAttributeValue { + s.BinaryValue = v + return s +} + +// SetDataType sets the DataType field's value. +func (s *MessageAttributeValue) SetDataType(v string) *MessageAttributeValue { + s.DataType = &v + return s +} + +// SetStringValue sets the StringValue field's value. +func (s *MessageAttributeValue) SetStringValue(v string) *MessageAttributeValue { + s.StringValue = &v + return s +} + +// Input for the OptInPhoneNumber action. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/OptInPhoneNumberInput +type OptInPhoneNumberInput struct { + _ struct{} `type:"structure"` + + // The phone number to opt in. + // + // PhoneNumber is a required field + PhoneNumber *string `locationName:"phoneNumber" type:"string" required:"true"` +} + +// String returns the string representation +func (s OptInPhoneNumberInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s OptInPhoneNumberInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *OptInPhoneNumberInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "OptInPhoneNumberInput"} + if s.PhoneNumber == nil { + invalidParams.Add(request.NewErrParamRequired("PhoneNumber")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetPhoneNumber sets the PhoneNumber field's value. +func (s *OptInPhoneNumberInput) SetPhoneNumber(v string) *OptInPhoneNumberInput { + s.PhoneNumber = &v + return s +} + +// The response for the OptInPhoneNumber action. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/OptInPhoneNumberResponse +type OptInPhoneNumberOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s OptInPhoneNumberOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s OptInPhoneNumberOutput) GoString() string { + return s.String() +} + +// Platform application object. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/PlatformApplication +type PlatformApplication struct { + _ struct{} `type:"structure"` + + // Attributes for platform application object. + Attributes map[string]*string `type:"map"` + + // PlatformApplicationArn for platform application object. + PlatformApplicationArn *string `type:"string"` +} + +// String returns the string representation +func (s PlatformApplication) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PlatformApplication) GoString() string { + return s.String() +} + +// SetAttributes sets the Attributes field's value. +func (s *PlatformApplication) SetAttributes(v map[string]*string) *PlatformApplication { + s.Attributes = v + return s +} + +// SetPlatformApplicationArn sets the PlatformApplicationArn field's value. +func (s *PlatformApplication) SetPlatformApplicationArn(v string) *PlatformApplication { + s.PlatformApplicationArn = &v + return s +} + +// Input for Publish action. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/PublishInput +type PublishInput struct { + _ struct{} `type:"structure"` + + // The message you want to send to the topic. + // + // If you want to send the same message to all transport protocols, include + // the text of the message as a String value. + // + // If you want to send different messages for each transport protocol, set the + // value of the MessageStructure parameter to json and use a JSON object for + // the Message parameter. + // + // Constraints: Messages must be UTF-8 encoded strings at most 256 KB in size + // (262144 bytes, not 262144 characters). + // + // JSON-specific constraints: + // + // * Keys in the JSON object that correspond to supported transport protocols + // must have simple JSON string values. + // + // * The values will be parsed (unescaped) before they are used in outgoing + // messages. + // + // * Outbound notifications are JSON encoded (meaning that the characters + // will be reescaped for sending). + // + // * Values have a minimum length of 0 (the empty string, "", is allowed). + // + // * Values have a maximum length bounded by the overall message size (so, + // including multiple protocols may limit message sizes). + // + // * Non-string values will cause the key to be ignored. + // + // * Keys that do not correspond to supported transport protocols are ignored. + // + // * Duplicate keys are not allowed. + // + // * Failure to parse or validate any key or value in the message will cause + // the Publish call to return an error (no partial delivery). + // + // Message is a required field + Message *string `type:"string" required:"true"` + + // Message attributes for Publish action. + MessageAttributes map[string]*MessageAttributeValue `locationNameKey:"Name" locationNameValue:"Value" type:"map"` + + // Set MessageStructure to json if you want to send a different message for + // each protocol. For example, using one publish action, you can send a short + // message to your SMS subscribers and a longer message to your email subscribers. + // If you set MessageStructure to json, the value of the Message parameter must: + // + // * be a syntactically valid JSON object; and + // + // * contain at least a top-level JSON key of "default" with a value that + // is a string. + // + // You can define other top-level keys that define the message you want to send + // to a specific transport protocol (e.g., "http"). + // + // For information about sending different messages for each protocol using + // the AWS Management Console, go to Create Different Messages for Each Protocol + // (http://docs.aws.amazon.com/sns/latest/gsg/Publish.html#sns-message-formatting-by-protocol) + // in the Amazon Simple Notification Service Getting Started Guide. + // + // Valid value: json + MessageStructure *string `type:"string"` + + // The phone number to which you want to deliver an SMS message. Use E.164 format. + // + // If you don't specify a value for the PhoneNumber parameter, you must specify + // a value for the TargetArn or TopicArn parameters. + PhoneNumber *string `type:"string"` + + // Optional parameter to be used as the "Subject" line when the message is delivered + // to email endpoints. This field will also be included, if present, in the + // standard JSON messages delivered to other endpoints. + // + // Constraints: Subjects must be ASCII text that begins with a letter, number, + // or punctuation mark; must not include line breaks or control characters; + // and must be less than 100 characters long. + Subject *string `type:"string"` + + // Either TopicArn or EndpointArn, but not both. + // + // If you don't specify a value for the TargetArn parameter, you must specify + // a value for the PhoneNumber or TopicArn parameters. + TargetArn *string `type:"string"` + + // The topic you want to publish to. + // + // If you don't specify a value for the TopicArn parameter, you must specify + // a value for the PhoneNumber or TargetArn parameters. + TopicArn *string `type:"string"` +} + +// String returns the string representation +func (s PublishInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PublishInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PublishInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PublishInput"} + if s.Message == nil { + invalidParams.Add(request.NewErrParamRequired("Message")) + } + if s.MessageAttributes != nil { + for i, v := range s.MessageAttributes { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "MessageAttributes", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMessage sets the Message field's value. +func (s *PublishInput) SetMessage(v string) *PublishInput { + s.Message = &v + return s +} + +// SetMessageAttributes sets the MessageAttributes field's value. +func (s *PublishInput) SetMessageAttributes(v map[string]*MessageAttributeValue) *PublishInput { + s.MessageAttributes = v + return s +} + +// SetMessageStructure sets the MessageStructure field's value. +func (s *PublishInput) SetMessageStructure(v string) *PublishInput { + s.MessageStructure = &v + return s +} + +// SetPhoneNumber sets the PhoneNumber field's value. +func (s *PublishInput) SetPhoneNumber(v string) *PublishInput { + s.PhoneNumber = &v + return s +} + +// SetSubject sets the Subject field's value. +func (s *PublishInput) SetSubject(v string) *PublishInput { + s.Subject = &v + return s +} + +// SetTargetArn sets the TargetArn field's value. +func (s *PublishInput) SetTargetArn(v string) *PublishInput { + s.TargetArn = &v + return s +} + +// SetTopicArn sets the TopicArn field's value. +func (s *PublishInput) SetTopicArn(v string) *PublishInput { + s.TopicArn = &v + return s +} + +// Response for Publish action. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/PublishResponse +type PublishOutput struct { + _ struct{} `type:"structure"` + + // Unique identifier assigned to the published message. + // + // Length Constraint: Maximum 100 characters + MessageId *string `type:"string"` +} + +// String returns the string representation +func (s PublishOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PublishOutput) GoString() string { + return s.String() +} + +// SetMessageId sets the MessageId field's value. +func (s *PublishOutput) SetMessageId(v string) *PublishOutput { + s.MessageId = &v + return s +} + +// Input for RemovePermission action. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/RemovePermissionInput +type RemovePermissionInput struct { + _ struct{} `type:"structure"` + + // The unique label of the statement you want to remove. + // + // Label is a required field + Label *string `type:"string" required:"true"` + + // The ARN of the topic whose access control policy you wish to modify. + // + // TopicArn is a required field + TopicArn *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s RemovePermissionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RemovePermissionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *RemovePermissionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RemovePermissionInput"} + if s.Label == nil { + invalidParams.Add(request.NewErrParamRequired("Label")) + } + if s.TopicArn == nil { + invalidParams.Add(request.NewErrParamRequired("TopicArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetLabel sets the Label field's value. +func (s *RemovePermissionInput) SetLabel(v string) *RemovePermissionInput { + s.Label = &v + return s +} + +// SetTopicArn sets the TopicArn field's value. +func (s *RemovePermissionInput) SetTopicArn(v string) *RemovePermissionInput { + s.TopicArn = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/RemovePermissionOutput +type RemovePermissionOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s RemovePermissionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RemovePermissionOutput) GoString() string { + return s.String() +} + +// Input for SetEndpointAttributes action. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/SetEndpointAttributesInput +type SetEndpointAttributesInput struct { + _ struct{} `type:"structure"` + + // A map of the endpoint attributes. Attributes in this map include the following: + // + // * CustomUserData -- arbitrary user data to associate with the endpoint. + // Amazon SNS does not use this data. The data must be in UTF-8 format and + // less than 2KB. + // + // * Enabled -- flag that enables/disables delivery to the endpoint. Amazon + // SNS will set this to false when a notification service indicates to Amazon + // SNS that the endpoint is invalid. Users can set it back to true, typically + // after updating Token. + // + // * Token -- device token, also referred to as a registration id, for an + // app and mobile device. This is returned from the notification service + // when an app and mobile device are registered with the notification service. + // + // Attributes is a required field + Attributes map[string]*string `type:"map" required:"true"` + + // EndpointArn used for SetEndpointAttributes action. + // + // EndpointArn is a required field + EndpointArn *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s SetEndpointAttributesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SetEndpointAttributesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *SetEndpointAttributesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SetEndpointAttributesInput"} + if s.Attributes == nil { + invalidParams.Add(request.NewErrParamRequired("Attributes")) + } + if s.EndpointArn == nil { + invalidParams.Add(request.NewErrParamRequired("EndpointArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAttributes sets the Attributes field's value. +func (s *SetEndpointAttributesInput) SetAttributes(v map[string]*string) *SetEndpointAttributesInput { + s.Attributes = v + return s +} + +// SetEndpointArn sets the EndpointArn field's value. +func (s *SetEndpointAttributesInput) SetEndpointArn(v string) *SetEndpointAttributesInput { + s.EndpointArn = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/SetEndpointAttributesOutput +type SetEndpointAttributesOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s SetEndpointAttributesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SetEndpointAttributesOutput) GoString() string { + return s.String() +} + +// Input for SetPlatformApplicationAttributes action. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/SetPlatformApplicationAttributesInput +type SetPlatformApplicationAttributesInput struct { + _ struct{} `type:"structure"` + + // A map of the platform application attributes. Attributes in this map include + // the following: + // + // * PlatformCredential -- The credential received from the notification + // service. For APNS/APNS_SANDBOX, PlatformCredential is private key. For + // GCM, PlatformCredential is "API key". For ADM, PlatformCredential is "client + // secret". + // + // * PlatformPrincipal -- The principal received from the notification service. + // For APNS/APNS_SANDBOX, PlatformPrincipal is SSL certificate. For GCM, + // PlatformPrincipal is not applicable. For ADM, PlatformPrincipal is "client + // id". + // + // * EventEndpointCreated -- Topic ARN to which EndpointCreated event notifications + // should be sent. + // + // * EventEndpointDeleted -- Topic ARN to which EndpointDeleted event notifications + // should be sent. + // + // * EventEndpointUpdated -- Topic ARN to which EndpointUpdate event notifications + // should be sent. + // + // * EventDeliveryFailure -- Topic ARN to which DeliveryFailure event notifications + // should be sent upon Direct Publish delivery failure (permanent) to one + // of the application's endpoints. + // + // * SuccessFeedbackRoleArn -- IAM role ARN used to give Amazon SNS write + // access to use CloudWatch Logs on your behalf. + // + // * FailureFeedbackRoleArn -- IAM role ARN used to give Amazon SNS write + // access to use CloudWatch Logs on your behalf. + // + // * SuccessFeedbackSampleRate -- Sample rate percentage (0-100) of successfully + // delivered messages. + // + // Attributes is a required field + Attributes map[string]*string `type:"map" required:"true"` + + // PlatformApplicationArn for SetPlatformApplicationAttributes action. + // + // PlatformApplicationArn is a required field + PlatformApplicationArn *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s SetPlatformApplicationAttributesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SetPlatformApplicationAttributesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *SetPlatformApplicationAttributesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SetPlatformApplicationAttributesInput"} + if s.Attributes == nil { + invalidParams.Add(request.NewErrParamRequired("Attributes")) + } + if s.PlatformApplicationArn == nil { + invalidParams.Add(request.NewErrParamRequired("PlatformApplicationArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAttributes sets the Attributes field's value. +func (s *SetPlatformApplicationAttributesInput) SetAttributes(v map[string]*string) *SetPlatformApplicationAttributesInput { + s.Attributes = v + return s +} + +// SetPlatformApplicationArn sets the PlatformApplicationArn field's value. +func (s *SetPlatformApplicationAttributesInput) SetPlatformApplicationArn(v string) *SetPlatformApplicationAttributesInput { + s.PlatformApplicationArn = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/SetPlatformApplicationAttributesOutput +type SetPlatformApplicationAttributesOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s SetPlatformApplicationAttributesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SetPlatformApplicationAttributesOutput) GoString() string { + return s.String() +} + +// The input for the SetSMSAttributes action. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/SetSMSAttributesInput +type SetSMSAttributesInput struct { + _ struct{} `type:"structure"` + + // The default settings for sending SMS messages from your account. You can + // set values for the following attribute names: + // + // MonthlySpendLimit – The maximum amount in USD that you are willing to spend + // each month to send SMS messages. When Amazon SNS determines that sending + // an SMS message would incur a cost that exceeds this limit, it stops sending + // SMS messages within minutes. + // + // Amazon SNS stops sending SMS messages within minutes of the limit being crossed. + // During that interval, if you continue to send SMS messages, you will incur + // costs that exceed your limit. + // + // By default, the spend limit is set to the maximum allowed by Amazon SNS. + // If you want to exceed the maximum, contact AWS Support (https://aws.amazon.com/premiumsupport/) + // or your AWS sales representative for a service limit increase. + // + // DeliveryStatusIAMRole – The ARN of the IAM role that allows Amazon SNS to + // write logs about SMS deliveries in CloudWatch Logs. For each SMS message + // that you send, Amazon SNS writes a log that includes the message price, the + // success or failure status, the reason for failure (if the message failed), + // the message dwell time, and other information. + // + // DeliveryStatusSuccessSamplingRate – The percentage of successful SMS deliveries + // for which Amazon SNS will write logs in CloudWatch Logs. The value can be + // an integer from 0 - 100. For example, to write logs only for failed deliveries, + // set this value to 0. To write logs for 10% of your successful deliveries, + // set it to 10. + // + // DefaultSenderID – A string, such as your business brand, that is displayed + // as the sender on the receiving device. Support for sender IDs varies by country. + // The sender ID can be 1 - 11 alphanumeric characters, and it must contain + // at least one letter. + // + // DefaultSMSType – The type of SMS message that you will send by default. You + // can assign the following values: + // + // * Promotional – (Default) Noncritical messages, such as marketing messages. + // Amazon SNS optimizes the message delivery to incur the lowest cost. + // + // * Transactional – Critical messages that support customer transactions, + // such as one-time passcodes for multi-factor authentication. Amazon SNS + // optimizes the message delivery to achieve the highest reliability. + // + // UsageReportS3Bucket – The name of the Amazon S3 bucket to receive daily SMS + // usage reports from Amazon SNS. Each day, Amazon SNS will deliver a usage + // report as a CSV file to the bucket. The report includes the following information + // for each SMS message that was successfully delivered by your account: + // + // * Time that the message was published (in UTC) + // + // * Message ID + // + // * Destination phone number + // + // * Message type + // + // * Delivery status + // + // * Message price (in USD) + // + // * Part number (a message is split into multiple parts if it is too long + // for a single message) + // + // * Total number of parts + // + // To receive the report, the bucket must have a policy that allows the Amazon + // SNS service principle to perform the s3:PutObject and s3:GetBucketLocation + // actions. + // + // For an example bucket policy and usage report, see Monitoring SMS Activity + // (http://docs.aws.amazon.com/sns/latest/dg/sms_stats.html) in the Amazon SNS + // Developer Guide. + // + // Attributes is a required field + Attributes map[string]*string `locationName:"attributes" type:"map" required:"true"` +} + +// String returns the string representation +func (s SetSMSAttributesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SetSMSAttributesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *SetSMSAttributesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SetSMSAttributesInput"} + if s.Attributes == nil { + invalidParams.Add(request.NewErrParamRequired("Attributes")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAttributes sets the Attributes field's value. +func (s *SetSMSAttributesInput) SetAttributes(v map[string]*string) *SetSMSAttributesInput { + s.Attributes = v + return s +} + +// The response for the SetSMSAttributes action. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/SetSMSAttributesResponse +type SetSMSAttributesOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s SetSMSAttributesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SetSMSAttributesOutput) GoString() string { + return s.String() +} + +// Input for SetSubscriptionAttributes action. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/SetSubscriptionAttributesInput +type SetSubscriptionAttributesInput struct { + _ struct{} `type:"structure"` + + // The name of the attribute you want to set. Only a subset of the subscriptions + // attributes are mutable. + // + // Valid values: DeliveryPolicy | RawMessageDelivery + // + // AttributeName is a required field + AttributeName *string `type:"string" required:"true"` + + // The new value for the attribute in JSON format. + AttributeValue *string `type:"string"` + + // The ARN of the subscription to modify. + // + // SubscriptionArn is a required field + SubscriptionArn *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s SetSubscriptionAttributesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SetSubscriptionAttributesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *SetSubscriptionAttributesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SetSubscriptionAttributesInput"} + if s.AttributeName == nil { + invalidParams.Add(request.NewErrParamRequired("AttributeName")) + } + if s.SubscriptionArn == nil { + invalidParams.Add(request.NewErrParamRequired("SubscriptionArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAttributeName sets the AttributeName field's value. +func (s *SetSubscriptionAttributesInput) SetAttributeName(v string) *SetSubscriptionAttributesInput { + s.AttributeName = &v + return s +} + +// SetAttributeValue sets the AttributeValue field's value. +func (s *SetSubscriptionAttributesInput) SetAttributeValue(v string) *SetSubscriptionAttributesInput { + s.AttributeValue = &v + return s +} + +// SetSubscriptionArn sets the SubscriptionArn field's value. +func (s *SetSubscriptionAttributesInput) SetSubscriptionArn(v string) *SetSubscriptionAttributesInput { + s.SubscriptionArn = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/SetSubscriptionAttributesOutput +type SetSubscriptionAttributesOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s SetSubscriptionAttributesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SetSubscriptionAttributesOutput) GoString() string { + return s.String() +} + +// Input for SetTopicAttributes action. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/SetTopicAttributesInput +type SetTopicAttributesInput struct { + _ struct{} `type:"structure"` + + // The name of the attribute you want to set. Only a subset of the topic's attributes + // are mutable. + // + // Valid values: Policy | DisplayName | DeliveryPolicy + // + // AttributeName is a required field + AttributeName *string `type:"string" required:"true"` + + // The new value for the attribute. + AttributeValue *string `type:"string"` + + // The ARN of the topic to modify. + // + // TopicArn is a required field + TopicArn *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s SetTopicAttributesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SetTopicAttributesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *SetTopicAttributesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SetTopicAttributesInput"} + if s.AttributeName == nil { + invalidParams.Add(request.NewErrParamRequired("AttributeName")) + } + if s.TopicArn == nil { + invalidParams.Add(request.NewErrParamRequired("TopicArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAttributeName sets the AttributeName field's value. +func (s *SetTopicAttributesInput) SetAttributeName(v string) *SetTopicAttributesInput { + s.AttributeName = &v + return s +} + +// SetAttributeValue sets the AttributeValue field's value. +func (s *SetTopicAttributesInput) SetAttributeValue(v string) *SetTopicAttributesInput { + s.AttributeValue = &v + return s +} + +// SetTopicArn sets the TopicArn field's value. +func (s *SetTopicAttributesInput) SetTopicArn(v string) *SetTopicAttributesInput { + s.TopicArn = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/SetTopicAttributesOutput +type SetTopicAttributesOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s SetTopicAttributesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SetTopicAttributesOutput) GoString() string { + return s.String() +} + +// Input for Subscribe action. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/SubscribeInput +type SubscribeInput struct { + _ struct{} `type:"structure"` + + // The endpoint that you want to receive notifications. Endpoints vary by protocol: + // + // * For the http protocol, the endpoint is an URL beginning with "http://" + // + // * For the https protocol, the endpoint is a URL beginning with "https://" + // + // * For the email protocol, the endpoint is an email address + // + // * For the email-json protocol, the endpoint is an email address + // + // * For the sms protocol, the endpoint is a phone number of an SMS-enabled + // device + // + // * For the sqs protocol, the endpoint is the ARN of an Amazon SQS queue + // + // * For the application protocol, the endpoint is the EndpointArn of a mobile + // app and device. + // + // * For the lambda protocol, the endpoint is the ARN of an AWS Lambda function. + Endpoint *string `type:"string"` + + // The protocol you want to use. Supported protocols include: + // + // * http -- delivery of JSON-encoded message via HTTP POST + // + // * https -- delivery of JSON-encoded message via HTTPS POST + // + // * email -- delivery of message via SMTP + // + // * email-json -- delivery of JSON-encoded message via SMTP + // + // * sms -- delivery of message via SMS + // + // * sqs -- delivery of JSON-encoded message to an Amazon SQS queue + // + // * application -- delivery of JSON-encoded message to an EndpointArn for + // a mobile app and device. + // + // * lambda -- delivery of JSON-encoded message to an AWS Lambda function. + // + // Protocol is a required field + Protocol *string `type:"string" required:"true"` + + // The ARN of the topic you want to subscribe to. + // + // TopicArn is a required field + TopicArn *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s SubscribeInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SubscribeInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *SubscribeInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SubscribeInput"} + if s.Protocol == nil { + invalidParams.Add(request.NewErrParamRequired("Protocol")) + } + if s.TopicArn == nil { + invalidParams.Add(request.NewErrParamRequired("TopicArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEndpoint sets the Endpoint field's value. +func (s *SubscribeInput) SetEndpoint(v string) *SubscribeInput { + s.Endpoint = &v + return s +} + +// SetProtocol sets the Protocol field's value. +func (s *SubscribeInput) SetProtocol(v string) *SubscribeInput { + s.Protocol = &v + return s +} + +// SetTopicArn sets the TopicArn field's value. +func (s *SubscribeInput) SetTopicArn(v string) *SubscribeInput { + s.TopicArn = &v + return s +} + +// Response for Subscribe action. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/SubscribeResponse +type SubscribeOutput struct { + _ struct{} `type:"structure"` + + // The ARN of the subscription, if the service was able to create a subscription + // immediately (without requiring endpoint owner confirmation). + SubscriptionArn *string `type:"string"` +} + +// String returns the string representation +func (s SubscribeOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SubscribeOutput) GoString() string { + return s.String() +} + +// SetSubscriptionArn sets the SubscriptionArn field's value. +func (s *SubscribeOutput) SetSubscriptionArn(v string) *SubscribeOutput { + s.SubscriptionArn = &v + return s +} + +// A wrapper type for the attributes of an Amazon SNS subscription. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/Subscription +type Subscription struct { + _ struct{} `type:"structure"` + + // The subscription's endpoint (format depends on the protocol). + Endpoint *string `type:"string"` + + // The subscription's owner. + Owner *string `type:"string"` + + // The subscription's protocol. + Protocol *string `type:"string"` + + // The subscription's ARN. + SubscriptionArn *string `type:"string"` + + // The ARN of the subscription's topic. + TopicArn *string `type:"string"` +} + +// String returns the string representation +func (s Subscription) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Subscription) GoString() string { + return s.String() +} + +// SetEndpoint sets the Endpoint field's value. +func (s *Subscription) SetEndpoint(v string) *Subscription { + s.Endpoint = &v + return s +} + +// SetOwner sets the Owner field's value. +func (s *Subscription) SetOwner(v string) *Subscription { + s.Owner = &v + return s +} + +// SetProtocol sets the Protocol field's value. +func (s *Subscription) SetProtocol(v string) *Subscription { + s.Protocol = &v + return s +} + +// SetSubscriptionArn sets the SubscriptionArn field's value. +func (s *Subscription) SetSubscriptionArn(v string) *Subscription { + s.SubscriptionArn = &v + return s +} + +// SetTopicArn sets the TopicArn field's value. +func (s *Subscription) SetTopicArn(v string) *Subscription { + s.TopicArn = &v + return s +} + +// A wrapper type for the topic's Amazon Resource Name (ARN). To retrieve a +// topic's attributes, use GetTopicAttributes. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/Topic +type Topic struct { + _ struct{} `type:"structure"` + + // The topic's ARN. + TopicArn *string `type:"string"` +} + +// String returns the string representation +func (s Topic) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Topic) GoString() string { + return s.String() +} + +// SetTopicArn sets the TopicArn field's value. +func (s *Topic) SetTopicArn(v string) *Topic { + s.TopicArn = &v + return s +} + +// Input for Unsubscribe action. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/UnsubscribeInput +type UnsubscribeInput struct { + _ struct{} `type:"structure"` + + // The ARN of the subscription to be deleted. + // + // SubscriptionArn is a required field + SubscriptionArn *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s UnsubscribeInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UnsubscribeInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UnsubscribeInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UnsubscribeInput"} + if s.SubscriptionArn == nil { + invalidParams.Add(request.NewErrParamRequired("SubscriptionArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetSubscriptionArn sets the SubscriptionArn field's value. +func (s *UnsubscribeInput) SetSubscriptionArn(v string) *UnsubscribeInput { + s.SubscriptionArn = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/UnsubscribeOutput +type UnsubscribeOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s UnsubscribeOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UnsubscribeOutput) GoString() string { + return s.String() +} diff --git a/vendor/github.com/aws/aws-sdk-go/service/sns/errors.go b/vendor/github.com/aws/aws-sdk-go/service/sns/errors.go new file mode 100644 index 0000000000..60e503f256 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/service/sns/errors.go @@ -0,0 +1,67 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package sns + +const ( + + // ErrCodeAuthorizationErrorException for service response error code + // "AuthorizationError". + // + // Indicates that the user has been denied access to the requested resource. + ErrCodeAuthorizationErrorException = "AuthorizationError" + + // ErrCodeEndpointDisabledException for service response error code + // "EndpointDisabled". + // + // Exception error indicating endpoint disabled. + ErrCodeEndpointDisabledException = "EndpointDisabled" + + // ErrCodeInternalErrorException for service response error code + // "InternalError". + // + // Indicates an internal service error. + ErrCodeInternalErrorException = "InternalError" + + // ErrCodeInvalidParameterException for service response error code + // "InvalidParameter". + // + // Indicates that a request parameter does not comply with the associated constraints. + ErrCodeInvalidParameterException = "InvalidParameter" + + // ErrCodeInvalidParameterValueException for service response error code + // "ParameterValueInvalid". + // + // Indicates that a request parameter does not comply with the associated constraints. + ErrCodeInvalidParameterValueException = "ParameterValueInvalid" + + // ErrCodeNotFoundException for service response error code + // "NotFound". + // + // Indicates that the requested resource does not exist. + ErrCodeNotFoundException = "NotFound" + + // ErrCodePlatformApplicationDisabledException for service response error code + // "PlatformApplicationDisabled". + // + // Exception error indicating platform application disabled. + ErrCodePlatformApplicationDisabledException = "PlatformApplicationDisabled" + + // ErrCodeSubscriptionLimitExceededException for service response error code + // "SubscriptionLimitExceeded". + // + // Indicates that the customer already owns the maximum allowed number of subscriptions. + ErrCodeSubscriptionLimitExceededException = "SubscriptionLimitExceeded" + + // ErrCodeThrottledException for service response error code + // "Throttled". + // + // Indicates that the rate at which requests have been submitted for this action + // exceeds the limit for your account. + ErrCodeThrottledException = "Throttled" + + // ErrCodeTopicLimitExceededException for service response error code + // "TopicLimitExceeded". + // + // Indicates that the customer already owns the maximum allowed number of topics. + ErrCodeTopicLimitExceededException = "TopicLimitExceeded" +) diff --git a/vendor/github.com/aws/aws-sdk-go/service/sns/service.go b/vendor/github.com/aws/aws-sdk-go/service/sns/service.go new file mode 100644 index 0000000000..8c735f5a5d --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/service/sns/service.go @@ -0,0 +1,103 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package sns + +import ( + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/client" + "github.com/aws/aws-sdk-go/aws/client/metadata" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/aws/signer/v4" + "github.com/aws/aws-sdk-go/private/protocol/query" +) + +// Amazon Simple Notification Service (Amazon SNS) is a web service that enables +// you to build distributed web-enabled applications. Applications can use Amazon +// SNS to easily push real-time notification messages to interested subscribers +// over multiple delivery protocols. For more information about this product +// see http://aws.amazon.com/sns (http://aws.amazon.com/sns/). For detailed +// information about Amazon SNS features and their associated API calls, see +// the Amazon SNS Developer Guide (http://docs.aws.amazon.com/sns/latest/dg/). +// +// We also provide SDKs that enable you to access Amazon SNS from your preferred +// programming language. The SDKs contain functionality that automatically takes +// care of tasks such as: cryptographically signing your service requests, retrying +// requests, and handling error responses. For a list of available SDKs, go +// to Tools for Amazon Web Services (http://aws.amazon.com/tools/). +// The service client's operations are safe to be used concurrently. +// It is not safe to mutate any of the client's properties though. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31 +type SNS struct { + *client.Client +} + +// Used for custom client initialization logic +var initClient func(*client.Client) + +// Used for custom request initialization logic +var initRequest func(*request.Request) + +// Service information constants +const ( + ServiceName = "sns" // Service endpoint prefix API calls made to. + EndpointsID = ServiceName // Service ID for Regions and Endpoints metadata. +) + +// New creates a new instance of the SNS client with a session. +// If additional configuration is needed for the client instance use the optional +// aws.Config parameter to add your extra config. +// +// Example: +// // Create a SNS client from just a session. +// svc := sns.New(mySession) +// +// // Create a SNS client with additional configuration +// svc := sns.New(mySession, aws.NewConfig().WithRegion("us-west-2")) +func New(p client.ConfigProvider, cfgs ...*aws.Config) *SNS { + c := p.ClientConfig(EndpointsID, cfgs...) + return newClient(*c.Config, c.Handlers, c.Endpoint, c.SigningRegion, c.SigningName) +} + +// newClient creates, initializes and returns a new service client instance. +func newClient(cfg aws.Config, handlers request.Handlers, endpoint, signingRegion, signingName string) *SNS { + svc := &SNS{ + Client: client.New( + cfg, + metadata.ClientInfo{ + ServiceName: ServiceName, + SigningName: signingName, + SigningRegion: signingRegion, + Endpoint: endpoint, + APIVersion: "2010-03-31", + }, + handlers, + ), + } + + // Handlers + svc.Handlers.Sign.PushBackNamed(v4.SignRequestHandler) + svc.Handlers.Build.PushBackNamed(query.BuildHandler) + svc.Handlers.Unmarshal.PushBackNamed(query.UnmarshalHandler) + svc.Handlers.UnmarshalMeta.PushBackNamed(query.UnmarshalMetaHandler) + svc.Handlers.UnmarshalError.PushBackNamed(query.UnmarshalErrorHandler) + + // Run custom client initialization if present + if initClient != nil { + initClient(svc.Client) + } + + return svc +} + +// newRequest creates a new request for a SNS operation and runs any +// custom request initialization. +func (c *SNS) newRequest(op *request.Operation, params, data interface{}) *request.Request { + req := c.NewRequest(op, params, data) + + // Run custom request initialization if present + if initRequest != nil { + initRequest(req) + } + + return req +} diff --git a/vendor/github.com/aws/aws-sdk-go/service/sts/api.go b/vendor/github.com/aws/aws-sdk-go/service/sts/api.go new file mode 100644 index 0000000000..19dd0bf8e5 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/service/sts/api.go @@ -0,0 +1,2366 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +// Package sts provides a client for AWS Security Token Service. +package sts + +import ( + "time" + + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/awsutil" + "github.com/aws/aws-sdk-go/aws/request" +) + +const opAssumeRole = "AssumeRole" + +// AssumeRoleRequest generates a "aws/request.Request" representing the +// client's request for the AssumeRole operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See AssumeRole for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the AssumeRole method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the AssumeRoleRequest method. +// req, resp := client.AssumeRoleRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRole +func (c *STS) AssumeRoleRequest(input *AssumeRoleInput) (req *request.Request, output *AssumeRoleOutput) { + op := &request.Operation{ + Name: opAssumeRole, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &AssumeRoleInput{} + } + + output = &AssumeRoleOutput{} + req = c.newRequest(op, input, output) + return +} + +// AssumeRole API operation for AWS Security Token Service. +// +// Returns a set of temporary security credentials (consisting of an access +// key ID, a secret access key, and a security token) that you can use to access +// AWS resources that you might not normally have access to. Typically, you +// use AssumeRole for cross-account access or federation. For a comparison of +// AssumeRole with the other APIs that produce temporary credentials, see Requesting +// Temporary Security Credentials (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html) +// and Comparing the AWS STS APIs (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#stsapi_comparison) +// in the IAM User Guide. +// +// Important: You cannot call AssumeRole by using AWS root account credentials; +// access is denied. You must use credentials for an IAM user or an IAM role +// to call AssumeRole. +// +// For cross-account access, imagine that you own multiple accounts and need +// to access resources in each account. You could create long-term credentials +// in each account to access those resources. However, managing all those credentials +// and remembering which one can access which account can be time consuming. +// Instead, you can create one set of long-term credentials in one account and +// then use temporary security credentials to access all the other accounts +// by assuming roles in those accounts. For more information about roles, see +// IAM Roles (Delegation and Federation) (http://docs.aws.amazon.com/IAM/latest/UserGuide/roles-toplevel.html) +// in the IAM User Guide. +// +// For federation, you can, for example, grant single sign-on access to the +// AWS Management Console. If you already have an identity and authentication +// system in your corporate network, you don't have to recreate user identities +// in AWS in order to grant those user identities access to AWS. Instead, after +// a user has been authenticated, you call AssumeRole (and specify the role +// with the appropriate permissions) to get temporary security credentials for +// that user. With those temporary security credentials, you construct a sign-in +// URL that users can use to access the console. For more information, see Common +// Scenarios for Temporary Credentials (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html#sts-introduction) +// in the IAM User Guide. +// +// The temporary security credentials are valid for the duration that you specified +// when calling AssumeRole, which can be from 900 seconds (15 minutes) to a +// maximum of 3600 seconds (1 hour). The default is 1 hour. +// +// The temporary security credentials created by AssumeRole can be used to make +// API calls to any AWS service with the following exception: you cannot call +// the STS service's GetFederationToken or GetSessionToken APIs. +// +// Optionally, you can pass an IAM access policy to this operation. If you choose +// not to pass a policy, the temporary security credentials that are returned +// by the operation have the permissions that are defined in the access policy +// of the role that is being assumed. If you pass a policy to this operation, +// the temporary security credentials that are returned by the operation have +// the permissions that are allowed by both the access policy of the role that +// is being assumed, and the policy that you pass. This gives you a way to further +// restrict the permissions for the resulting temporary security credentials. +// You cannot use the passed policy to grant permissions that are in excess +// of those allowed by the access policy of the role that is being assumed. +// For more information, see Permissions for AssumeRole, AssumeRoleWithSAML, +// and AssumeRoleWithWebIdentity (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_assumerole.html) +// in the IAM User Guide. +// +// To assume a role, your AWS account must be trusted by the role. The trust +// relationship is defined in the role's trust policy when the role is created. +// That trust policy states which accounts are allowed to delegate access to +// this account's role. +// +// The user who wants to access the role must also have permissions delegated +// from the role's administrator. If the user is in a different account than +// the role, then the user's administrator must attach a policy that allows +// the user to call AssumeRole on the ARN of the role in the other account. +// If the user is in the same account as the role, then you can either attach +// a policy to the user (identical to the previous different account user), +// or you can add the user as a principal directly in the role's trust policy +// +// Using MFA with AssumeRole +// +// You can optionally include multi-factor authentication (MFA) information +// when you call AssumeRole. This is useful for cross-account scenarios in which +// you want to make sure that the user who is assuming the role has been authenticated +// using an AWS MFA device. In that scenario, the trust policy of the role being +// assumed includes a condition that tests for MFA authentication; if the caller +// does not include valid MFA information, the request to assume the role is +// denied. The condition in a trust policy that tests for MFA authentication +// might look like the following example. +// +// "Condition": {"Bool": {"aws:MultiFactorAuthPresent": true}} +// +// For more information, see Configuring MFA-Protected API Access (http://docs.aws.amazon.com/IAM/latest/UserGuide/MFAProtectedAPI.html) +// in the IAM User Guide guide. +// +// To use MFA with AssumeRole, you pass values for the SerialNumber and TokenCode +// parameters. The SerialNumber value identifies the user's hardware or virtual +// MFA device. The TokenCode is the time-based one-time password (TOTP) that +// the MFA devices produces. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Security Token Service's +// API operation AssumeRole for usage and error information. +// +// Returned Error Codes: +// * ErrCodeMalformedPolicyDocumentException "MalformedPolicyDocument" +// The request was rejected because the policy document was malformed. The error +// message describes the specific error. +// +// * ErrCodePackedPolicyTooLargeException "PackedPolicyTooLarge" +// The request was rejected because the policy document was too large. The error +// message describes how big the policy document is, in packed form, as a percentage +// of what the API allows. +// +// * ErrCodeRegionDisabledException "RegionDisabledException" +// STS is not activated in the requested region for the account that is being +// asked to generate credentials. The account administrator must use the IAM +// console to activate STS in that region. For more information, see Activating +// and Deactivating AWS STS in an AWS Region (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html) +// in the IAM User Guide. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRole +func (c *STS) AssumeRole(input *AssumeRoleInput) (*AssumeRoleOutput, error) { + req, out := c.AssumeRoleRequest(input) + return out, req.Send() +} + +// AssumeRoleWithContext is the same as AssumeRole with the addition of +// the ability to pass a context and additional request options. +// +// See AssumeRole for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *STS) AssumeRoleWithContext(ctx aws.Context, input *AssumeRoleInput, opts ...request.Option) (*AssumeRoleOutput, error) { + req, out := c.AssumeRoleRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opAssumeRoleWithSAML = "AssumeRoleWithSAML" + +// AssumeRoleWithSAMLRequest generates a "aws/request.Request" representing the +// client's request for the AssumeRoleWithSAML operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See AssumeRoleWithSAML for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the AssumeRoleWithSAML method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the AssumeRoleWithSAMLRequest method. +// req, resp := client.AssumeRoleWithSAMLRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRoleWithSAML +func (c *STS) AssumeRoleWithSAMLRequest(input *AssumeRoleWithSAMLInput) (req *request.Request, output *AssumeRoleWithSAMLOutput) { + op := &request.Operation{ + Name: opAssumeRoleWithSAML, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &AssumeRoleWithSAMLInput{} + } + + output = &AssumeRoleWithSAMLOutput{} + req = c.newRequest(op, input, output) + return +} + +// AssumeRoleWithSAML API operation for AWS Security Token Service. +// +// Returns a set of temporary security credentials for users who have been authenticated +// via a SAML authentication response. This operation provides a mechanism for +// tying an enterprise identity store or directory to role-based AWS access +// without user-specific credentials or configuration. For a comparison of AssumeRoleWithSAML +// with the other APIs that produce temporary credentials, see Requesting Temporary +// Security Credentials (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html) +// and Comparing the AWS STS APIs (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#stsapi_comparison) +// in the IAM User Guide. +// +// The temporary security credentials returned by this operation consist of +// an access key ID, a secret access key, and a security token. Applications +// can use these temporary security credentials to sign calls to AWS services. +// +// The temporary security credentials are valid for the duration that you specified +// when calling AssumeRole, or until the time specified in the SAML authentication +// response's SessionNotOnOrAfter value, whichever is shorter. The duration +// can be from 900 seconds (15 minutes) to a maximum of 3600 seconds (1 hour). +// The default is 1 hour. +// +// The temporary security credentials created by AssumeRoleWithSAML can be used +// to make API calls to any AWS service with the following exception: you cannot +// call the STS service's GetFederationToken or GetSessionToken APIs. +// +// Optionally, you can pass an IAM access policy to this operation. If you choose +// not to pass a policy, the temporary security credentials that are returned +// by the operation have the permissions that are defined in the access policy +// of the role that is being assumed. If you pass a policy to this operation, +// the temporary security credentials that are returned by the operation have +// the permissions that are allowed by the intersection of both the access policy +// of the role that is being assumed, and the policy that you pass. This means +// that both policies must grant the permission for the action to be allowed. +// This gives you a way to further restrict the permissions for the resulting +// temporary security credentials. You cannot use the passed policy to grant +// permissions that are in excess of those allowed by the access policy of the +// role that is being assumed. For more information, see Permissions for AssumeRole, +// AssumeRoleWithSAML, and AssumeRoleWithWebIdentity (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_assumerole.html) +// in the IAM User Guide. +// +// Before your application can call AssumeRoleWithSAML, you must configure your +// SAML identity provider (IdP) to issue the claims required by AWS. Additionally, +// you must use AWS Identity and Access Management (IAM) to create a SAML provider +// entity in your AWS account that represents your identity provider, and create +// an IAM role that specifies this SAML provider in its trust policy. +// +// Calling AssumeRoleWithSAML does not require the use of AWS security credentials. +// The identity of the caller is validated by using keys in the metadata document +// that is uploaded for the SAML provider entity for your identity provider. +// +// Calling AssumeRoleWithSAML can result in an entry in your AWS CloudTrail +// logs. The entry includes the value in the NameID element of the SAML assertion. +// We recommend that you use a NameIDType that is not associated with any personally +// identifiable information (PII). For example, you could instead use the Persistent +// Identifier (urn:oasis:names:tc:SAML:2.0:nameid-format:persistent). +// +// For more information, see the following resources: +// +// * About SAML 2.0-based Federation (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_saml.html) +// in the IAM User Guide. +// +// * Creating SAML Identity Providers (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_create_saml.html) +// in the IAM User Guide. +// +// * Configuring a Relying Party and Claims (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_create_saml_relying-party.html) +// in the IAM User Guide. +// +// * Creating a Role for SAML 2.0 Federation (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-idp_saml.html) +// in the IAM User Guide. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Security Token Service's +// API operation AssumeRoleWithSAML for usage and error information. +// +// Returned Error Codes: +// * ErrCodeMalformedPolicyDocumentException "MalformedPolicyDocument" +// The request was rejected because the policy document was malformed. The error +// message describes the specific error. +// +// * ErrCodePackedPolicyTooLargeException "PackedPolicyTooLarge" +// The request was rejected because the policy document was too large. The error +// message describes how big the policy document is, in packed form, as a percentage +// of what the API allows. +// +// * ErrCodeIDPRejectedClaimException "IDPRejectedClaim" +// The identity provider (IdP) reported that authentication failed. This might +// be because the claim is invalid. +// +// If this error is returned for the AssumeRoleWithWebIdentity operation, it +// can also mean that the claim has expired or has been explicitly revoked. +// +// * ErrCodeInvalidIdentityTokenException "InvalidIdentityToken" +// The web identity token that was passed could not be validated by AWS. Get +// a new identity token from the identity provider and then retry the request. +// +// * ErrCodeExpiredTokenException "ExpiredTokenException" +// The web identity token that was passed is expired or is not valid. Get a +// new identity token from the identity provider and then retry the request. +// +// * ErrCodeRegionDisabledException "RegionDisabledException" +// STS is not activated in the requested region for the account that is being +// asked to generate credentials. The account administrator must use the IAM +// console to activate STS in that region. For more information, see Activating +// and Deactivating AWS STS in an AWS Region (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html) +// in the IAM User Guide. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRoleWithSAML +func (c *STS) AssumeRoleWithSAML(input *AssumeRoleWithSAMLInput) (*AssumeRoleWithSAMLOutput, error) { + req, out := c.AssumeRoleWithSAMLRequest(input) + return out, req.Send() +} + +// AssumeRoleWithSAMLWithContext is the same as AssumeRoleWithSAML with the addition of +// the ability to pass a context and additional request options. +// +// See AssumeRoleWithSAML for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *STS) AssumeRoleWithSAMLWithContext(ctx aws.Context, input *AssumeRoleWithSAMLInput, opts ...request.Option) (*AssumeRoleWithSAMLOutput, error) { + req, out := c.AssumeRoleWithSAMLRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opAssumeRoleWithWebIdentity = "AssumeRoleWithWebIdentity" + +// AssumeRoleWithWebIdentityRequest generates a "aws/request.Request" representing the +// client's request for the AssumeRoleWithWebIdentity operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See AssumeRoleWithWebIdentity for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the AssumeRoleWithWebIdentity method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the AssumeRoleWithWebIdentityRequest method. +// req, resp := client.AssumeRoleWithWebIdentityRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRoleWithWebIdentity +func (c *STS) AssumeRoleWithWebIdentityRequest(input *AssumeRoleWithWebIdentityInput) (req *request.Request, output *AssumeRoleWithWebIdentityOutput) { + op := &request.Operation{ + Name: opAssumeRoleWithWebIdentity, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &AssumeRoleWithWebIdentityInput{} + } + + output = &AssumeRoleWithWebIdentityOutput{} + req = c.newRequest(op, input, output) + return +} + +// AssumeRoleWithWebIdentity API operation for AWS Security Token Service. +// +// Returns a set of temporary security credentials for users who have been authenticated +// in a mobile or web application with a web identity provider, such as Amazon +// Cognito, Login with Amazon, Facebook, Google, or any OpenID Connect-compatible +// identity provider. +// +// For mobile applications, we recommend that you use Amazon Cognito. You can +// use Amazon Cognito with the AWS SDK for iOS (http://aws.amazon.com/sdkforios/) +// and the AWS SDK for Android (http://aws.amazon.com/sdkforandroid/) to uniquely +// identify a user and supply the user with a consistent identity throughout +// the lifetime of an application. +// +// To learn more about Amazon Cognito, see Amazon Cognito Overview (http://docs.aws.amazon.com/mobile/sdkforandroid/developerguide/cognito-auth.html#d0e840) +// in the AWS SDK for Android Developer Guide guide and Amazon Cognito Overview +// (http://docs.aws.amazon.com/mobile/sdkforios/developerguide/cognito-auth.html#d0e664) +// in the AWS SDK for iOS Developer Guide. +// +// Calling AssumeRoleWithWebIdentity does not require the use of AWS security +// credentials. Therefore, you can distribute an application (for example, on +// mobile devices) that requests temporary security credentials without including +// long-term AWS credentials in the application, and without deploying server-based +// proxy services that use long-term AWS credentials. Instead, the identity +// of the caller is validated by using a token from the web identity provider. +// For a comparison of AssumeRoleWithWebIdentity with the other APIs that produce +// temporary credentials, see Requesting Temporary Security Credentials (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html) +// and Comparing the AWS STS APIs (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#stsapi_comparison) +// in the IAM User Guide. +// +// The temporary security credentials returned by this API consist of an access +// key ID, a secret access key, and a security token. Applications can use these +// temporary security credentials to sign calls to AWS service APIs. +// +// The credentials are valid for the duration that you specified when calling +// AssumeRoleWithWebIdentity, which can be from 900 seconds (15 minutes) to +// a maximum of 3600 seconds (1 hour). The default is 1 hour. +// +// The temporary security credentials created by AssumeRoleWithWebIdentity can +// be used to make API calls to any AWS service with the following exception: +// you cannot call the STS service's GetFederationToken or GetSessionToken APIs. +// +// Optionally, you can pass an IAM access policy to this operation. If you choose +// not to pass a policy, the temporary security credentials that are returned +// by the operation have the permissions that are defined in the access policy +// of the role that is being assumed. If you pass a policy to this operation, +// the temporary security credentials that are returned by the operation have +// the permissions that are allowed by both the access policy of the role that +// is being assumed, and the policy that you pass. This gives you a way to further +// restrict the permissions for the resulting temporary security credentials. +// You cannot use the passed policy to grant permissions that are in excess +// of those allowed by the access policy of the role that is being assumed. +// For more information, see Permissions for AssumeRole, AssumeRoleWithSAML, +// and AssumeRoleWithWebIdentity (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_assumerole.html) +// in the IAM User Guide. +// +// Before your application can call AssumeRoleWithWebIdentity, you must have +// an identity token from a supported identity provider and create a role that +// the application can assume. The role that your application assumes must trust +// the identity provider that is associated with the identity token. In other +// words, the identity provider must be specified in the role's trust policy. +// +// Calling AssumeRoleWithWebIdentity can result in an entry in your AWS CloudTrail +// logs. The entry includes the Subject (http://openid.net/specs/openid-connect-core-1_0.html#Claims) +// of the provided Web Identity Token. We recommend that you avoid using any +// personally identifiable information (PII) in this field. For example, you +// could instead use a GUID or a pairwise identifier, as suggested in the OIDC +// specification (http://openid.net/specs/openid-connect-core-1_0.html#SubjectIDTypes). +// +// For more information about how to use web identity federation and the AssumeRoleWithWebIdentity +// API, see the following resources: +// +// * Using Web Identity Federation APIs for Mobile Apps (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_oidc_manual.html) +// and Federation Through a Web-based Identity Provider (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#api_assumerolewithwebidentity). +// +// +// * Web Identity Federation Playground (https://web-identity-federation-playground.s3.amazonaws.com/index.html). +// This interactive website lets you walk through the process of authenticating +// via Login with Amazon, Facebook, or Google, getting temporary security +// credentials, and then using those credentials to make a request to AWS. +// +// +// * AWS SDK for iOS (http://aws.amazon.com/sdkforios/) and AWS SDK for Android +// (http://aws.amazon.com/sdkforandroid/). These toolkits contain sample +// apps that show how to invoke the identity providers, and then how to use +// the information from these providers to get and use temporary security +// credentials. +// +// * Web Identity Federation with Mobile Applications (http://aws.amazon.com/articles/4617974389850313). +// This article discusses web identity federation and shows an example of +// how to use web identity federation to get access to content in Amazon +// S3. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Security Token Service's +// API operation AssumeRoleWithWebIdentity for usage and error information. +// +// Returned Error Codes: +// * ErrCodeMalformedPolicyDocumentException "MalformedPolicyDocument" +// The request was rejected because the policy document was malformed. The error +// message describes the specific error. +// +// * ErrCodePackedPolicyTooLargeException "PackedPolicyTooLarge" +// The request was rejected because the policy document was too large. The error +// message describes how big the policy document is, in packed form, as a percentage +// of what the API allows. +// +// * ErrCodeIDPRejectedClaimException "IDPRejectedClaim" +// The identity provider (IdP) reported that authentication failed. This might +// be because the claim is invalid. +// +// If this error is returned for the AssumeRoleWithWebIdentity operation, it +// can also mean that the claim has expired or has been explicitly revoked. +// +// * ErrCodeIDPCommunicationErrorException "IDPCommunicationError" +// The request could not be fulfilled because the non-AWS identity provider +// (IDP) that was asked to verify the incoming identity token could not be reached. +// This is often a transient error caused by network conditions. Retry the request +// a limited number of times so that you don't exceed the request rate. If the +// error persists, the non-AWS identity provider might be down or not responding. +// +// * ErrCodeInvalidIdentityTokenException "InvalidIdentityToken" +// The web identity token that was passed could not be validated by AWS. Get +// a new identity token from the identity provider and then retry the request. +// +// * ErrCodeExpiredTokenException "ExpiredTokenException" +// The web identity token that was passed is expired or is not valid. Get a +// new identity token from the identity provider and then retry the request. +// +// * ErrCodeRegionDisabledException "RegionDisabledException" +// STS is not activated in the requested region for the account that is being +// asked to generate credentials. The account administrator must use the IAM +// console to activate STS in that region. For more information, see Activating +// and Deactivating AWS STS in an AWS Region (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html) +// in the IAM User Guide. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRoleWithWebIdentity +func (c *STS) AssumeRoleWithWebIdentity(input *AssumeRoleWithWebIdentityInput) (*AssumeRoleWithWebIdentityOutput, error) { + req, out := c.AssumeRoleWithWebIdentityRequest(input) + return out, req.Send() +} + +// AssumeRoleWithWebIdentityWithContext is the same as AssumeRoleWithWebIdentity with the addition of +// the ability to pass a context and additional request options. +// +// See AssumeRoleWithWebIdentity for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *STS) AssumeRoleWithWebIdentityWithContext(ctx aws.Context, input *AssumeRoleWithWebIdentityInput, opts ...request.Option) (*AssumeRoleWithWebIdentityOutput, error) { + req, out := c.AssumeRoleWithWebIdentityRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDecodeAuthorizationMessage = "DecodeAuthorizationMessage" + +// DecodeAuthorizationMessageRequest generates a "aws/request.Request" representing the +// client's request for the DecodeAuthorizationMessage operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See DecodeAuthorizationMessage for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the DecodeAuthorizationMessage method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the DecodeAuthorizationMessageRequest method. +// req, resp := client.DecodeAuthorizationMessageRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/DecodeAuthorizationMessage +func (c *STS) DecodeAuthorizationMessageRequest(input *DecodeAuthorizationMessageInput) (req *request.Request, output *DecodeAuthorizationMessageOutput) { + op := &request.Operation{ + Name: opDecodeAuthorizationMessage, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DecodeAuthorizationMessageInput{} + } + + output = &DecodeAuthorizationMessageOutput{} + req = c.newRequest(op, input, output) + return +} + +// DecodeAuthorizationMessage API operation for AWS Security Token Service. +// +// Decodes additional information about the authorization status of a request +// from an encoded message returned in response to an AWS request. +// +// For example, if a user is not authorized to perform an action that he or +// she has requested, the request returns a Client.UnauthorizedOperation response +// (an HTTP 403 response). Some AWS actions additionally return an encoded message +// that can provide details about this authorization failure. +// +// Only certain AWS actions return an encoded authorization message. The documentation +// for an individual action indicates whether that action returns an encoded +// message in addition to returning an HTTP code. +// +// The message is encoded because the details of the authorization status can +// constitute privileged information that the user who requested the action +// should not see. To decode an authorization status message, a user must be +// granted permissions via an IAM policy to request the DecodeAuthorizationMessage +// (sts:DecodeAuthorizationMessage) action. +// +// The decoded message includes the following type of information: +// +// * Whether the request was denied due to an explicit deny or due to the +// absence of an explicit allow. For more information, see Determining Whether +// a Request is Allowed or Denied (http://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html#policy-eval-denyallow) +// in the IAM User Guide. +// +// * The principal who made the request. +// +// * The requested action. +// +// * The requested resource. +// +// * The values of condition keys in the context of the user's request. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Security Token Service's +// API operation DecodeAuthorizationMessage for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidAuthorizationMessageException "InvalidAuthorizationMessageException" +// The error returned if the message passed to DecodeAuthorizationMessage was +// invalid. This can happen if the token contains invalid characters, such as +// linebreaks. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/DecodeAuthorizationMessage +func (c *STS) DecodeAuthorizationMessage(input *DecodeAuthorizationMessageInput) (*DecodeAuthorizationMessageOutput, error) { + req, out := c.DecodeAuthorizationMessageRequest(input) + return out, req.Send() +} + +// DecodeAuthorizationMessageWithContext is the same as DecodeAuthorizationMessage with the addition of +// the ability to pass a context and additional request options. +// +// See DecodeAuthorizationMessage for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *STS) DecodeAuthorizationMessageWithContext(ctx aws.Context, input *DecodeAuthorizationMessageInput, opts ...request.Option) (*DecodeAuthorizationMessageOutput, error) { + req, out := c.DecodeAuthorizationMessageRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetCallerIdentity = "GetCallerIdentity" + +// GetCallerIdentityRequest generates a "aws/request.Request" representing the +// client's request for the GetCallerIdentity operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetCallerIdentity for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetCallerIdentity method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetCallerIdentityRequest method. +// req, resp := client.GetCallerIdentityRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/GetCallerIdentity +func (c *STS) GetCallerIdentityRequest(input *GetCallerIdentityInput) (req *request.Request, output *GetCallerIdentityOutput) { + op := &request.Operation{ + Name: opGetCallerIdentity, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetCallerIdentityInput{} + } + + output = &GetCallerIdentityOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetCallerIdentity API operation for AWS Security Token Service. +// +// Returns details about the IAM identity whose credentials are used to call +// the API. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Security Token Service's +// API operation GetCallerIdentity for usage and error information. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/GetCallerIdentity +func (c *STS) GetCallerIdentity(input *GetCallerIdentityInput) (*GetCallerIdentityOutput, error) { + req, out := c.GetCallerIdentityRequest(input) + return out, req.Send() +} + +// GetCallerIdentityWithContext is the same as GetCallerIdentity with the addition of +// the ability to pass a context and additional request options. +// +// See GetCallerIdentity for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *STS) GetCallerIdentityWithContext(ctx aws.Context, input *GetCallerIdentityInput, opts ...request.Option) (*GetCallerIdentityOutput, error) { + req, out := c.GetCallerIdentityRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetFederationToken = "GetFederationToken" + +// GetFederationTokenRequest generates a "aws/request.Request" representing the +// client's request for the GetFederationToken operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetFederationToken for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetFederationToken method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetFederationTokenRequest method. +// req, resp := client.GetFederationTokenRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/GetFederationToken +func (c *STS) GetFederationTokenRequest(input *GetFederationTokenInput) (req *request.Request, output *GetFederationTokenOutput) { + op := &request.Operation{ + Name: opGetFederationToken, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetFederationTokenInput{} + } + + output = &GetFederationTokenOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetFederationToken API operation for AWS Security Token Service. +// +// Returns a set of temporary security credentials (consisting of an access +// key ID, a secret access key, and a security token) for a federated user. +// A typical use is in a proxy application that gets temporary security credentials +// on behalf of distributed applications inside a corporate network. Because +// you must call the GetFederationToken action using the long-term security +// credentials of an IAM user, this call is appropriate in contexts where those +// credentials can be safely stored, usually in a server-based application. +// For a comparison of GetFederationToken with the other APIs that produce temporary +// credentials, see Requesting Temporary Security Credentials (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html) +// and Comparing the AWS STS APIs (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#stsapi_comparison) +// in the IAM User Guide. +// +// If you are creating a mobile-based or browser-based app that can authenticate +// users using a web identity provider like Login with Amazon, Facebook, Google, +// or an OpenID Connect-compatible identity provider, we recommend that you +// use Amazon Cognito (http://aws.amazon.com/cognito/) or AssumeRoleWithWebIdentity. +// For more information, see Federation Through a Web-based Identity Provider +// (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#api_assumerolewithwebidentity). +// +// The GetFederationToken action must be called by using the long-term AWS security +// credentials of an IAM user. You can also call GetFederationToken using the +// security credentials of an AWS root account, but we do not recommended it. +// Instead, we recommend that you create an IAM user for the purpose of the +// proxy application and then attach a policy to the IAM user that limits federated +// users to only the actions and resources that they need access to. For more +// information, see IAM Best Practices (http://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) +// in the IAM User Guide. +// +// The temporary security credentials that are obtained by using the long-term +// credentials of an IAM user are valid for the specified duration, from 900 +// seconds (15 minutes) up to a maximium of 129600 seconds (36 hours). The default +// is 43200 seconds (12 hours). Temporary credentials that are obtained by using +// AWS root account credentials have a maximum duration of 3600 seconds (1 hour). +// +// The temporary security credentials created by GetFederationToken can be used +// to make API calls to any AWS service with the following exceptions: +// +// * You cannot use these credentials to call any IAM APIs. +// +// * You cannot call any STS APIs except GetCallerIdentity. +// +// Permissions +// +// The permissions for the temporary security credentials returned by GetFederationToken +// are determined by a combination of the following: +// +// * The policy or policies that are attached to the IAM user whose credentials +// are used to call GetFederationToken. +// +// * The policy that is passed as a parameter in the call. +// +// The passed policy is attached to the temporary security credentials that +// result from the GetFederationToken API call--that is, to the federated user. +// When the federated user makes an AWS request, AWS evaluates the policy attached +// to the federated user in combination with the policy or policies attached +// to the IAM user whose credentials were used to call GetFederationToken. AWS +// allows the federated user's request only when both the federated user and +// the IAM user are explicitly allowed to perform the requested action. The +// passed policy cannot grant more permissions than those that are defined in +// the IAM user policy. +// +// A typical use case is that the permissions of the IAM user whose credentials +// are used to call GetFederationToken are designed to allow access to all the +// actions and resources that any federated user will need. Then, for individual +// users, you pass a policy to the operation that scopes down the permissions +// to a level that's appropriate to that individual user, using a policy that +// allows only a subset of permissions that are granted to the IAM user. +// +// If you do not pass a policy, the resulting temporary security credentials +// have no effective permissions. The only exception is when the temporary security +// credentials are used to access a resource that has a resource-based policy +// that specifically allows the federated user to access the resource. +// +// For more information about how permissions work, see Permissions for GetFederationToken +// (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_getfederationtoken.html). +// For information about using GetFederationToken to create temporary security +// credentials, see GetFederationToken—Federation Through a Custom Identity +// Broker (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#api_getfederationtoken). +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Security Token Service's +// API operation GetFederationToken for usage and error information. +// +// Returned Error Codes: +// * ErrCodeMalformedPolicyDocumentException "MalformedPolicyDocument" +// The request was rejected because the policy document was malformed. The error +// message describes the specific error. +// +// * ErrCodePackedPolicyTooLargeException "PackedPolicyTooLarge" +// The request was rejected because the policy document was too large. The error +// message describes how big the policy document is, in packed form, as a percentage +// of what the API allows. +// +// * ErrCodeRegionDisabledException "RegionDisabledException" +// STS is not activated in the requested region for the account that is being +// asked to generate credentials. The account administrator must use the IAM +// console to activate STS in that region. For more information, see Activating +// and Deactivating AWS STS in an AWS Region (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html) +// in the IAM User Guide. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/GetFederationToken +func (c *STS) GetFederationToken(input *GetFederationTokenInput) (*GetFederationTokenOutput, error) { + req, out := c.GetFederationTokenRequest(input) + return out, req.Send() +} + +// GetFederationTokenWithContext is the same as GetFederationToken with the addition of +// the ability to pass a context and additional request options. +// +// See GetFederationToken for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *STS) GetFederationTokenWithContext(ctx aws.Context, input *GetFederationTokenInput, opts ...request.Option) (*GetFederationTokenOutput, error) { + req, out := c.GetFederationTokenRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetSessionToken = "GetSessionToken" + +// GetSessionTokenRequest generates a "aws/request.Request" representing the +// client's request for the GetSessionToken operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// See GetSessionToken for usage and error information. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the GetSessionToken method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the GetSessionTokenRequest method. +// req, resp := client.GetSessionTokenRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/GetSessionToken +func (c *STS) GetSessionTokenRequest(input *GetSessionTokenInput) (req *request.Request, output *GetSessionTokenOutput) { + op := &request.Operation{ + Name: opGetSessionToken, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetSessionTokenInput{} + } + + output = &GetSessionTokenOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetSessionToken API operation for AWS Security Token Service. +// +// Returns a set of temporary credentials for an AWS account or IAM user. The +// credentials consist of an access key ID, a secret access key, and a security +// token. Typically, you use GetSessionToken if you want to use MFA to protect +// programmatic calls to specific AWS APIs like Amazon EC2 StopInstances. MFA-enabled +// IAM users would need to call GetSessionToken and submit an MFA code that +// is associated with their MFA device. Using the temporary security credentials +// that are returned from the call, IAM users can then make programmatic calls +// to APIs that require MFA authentication. If you do not supply a correct MFA +// code, then the API returns an access denied error. For a comparison of GetSessionToken +// with the other APIs that produce temporary credentials, see Requesting Temporary +// Security Credentials (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html) +// and Comparing the AWS STS APIs (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#stsapi_comparison) +// in the IAM User Guide. +// +// The GetSessionToken action must be called by using the long-term AWS security +// credentials of the AWS account or an IAM user. Credentials that are created +// by IAM users are valid for the duration that you specify, from 900 seconds +// (15 minutes) up to a maximum of 129600 seconds (36 hours), with a default +// of 43200 seconds (12 hours); credentials that are created by using account +// credentials can range from 900 seconds (15 minutes) up to a maximum of 3600 +// seconds (1 hour), with a default of 1 hour. +// +// The temporary security credentials created by GetSessionToken can be used +// to make API calls to any AWS service with the following exceptions: +// +// * You cannot call any IAM APIs unless MFA authentication information is +// included in the request. +// +// * You cannot call any STS API exceptAssumeRole or GetCallerIdentity. +// +// We recommend that you do not call GetSessionToken with root account credentials. +// Instead, follow our best practices (http://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#create-iam-users) +// by creating one or more IAM users, giving them the necessary permissions, +// and using IAM users for everyday interaction with AWS. +// +// The permissions associated with the temporary security credentials returned +// by GetSessionToken are based on the permissions associated with account or +// IAM user whose credentials are used to call the action. If GetSessionToken +// is called using root account credentials, the temporary credentials have +// root account permissions. Similarly, if GetSessionToken is called using the +// credentials of an IAM user, the temporary credentials have the same permissions +// as the IAM user. +// +// For more information about using GetSessionToken to create temporary credentials, +// go to Temporary Credentials for Users in Untrusted Environments (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#api_getsessiontoken) +// in the IAM User Guide. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Security Token Service's +// API operation GetSessionToken for usage and error information. +// +// Returned Error Codes: +// * ErrCodeRegionDisabledException "RegionDisabledException" +// STS is not activated in the requested region for the account that is being +// asked to generate credentials. The account administrator must use the IAM +// console to activate STS in that region. For more information, see Activating +// and Deactivating AWS STS in an AWS Region (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html) +// in the IAM User Guide. +// +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/GetSessionToken +func (c *STS) GetSessionToken(input *GetSessionTokenInput) (*GetSessionTokenOutput, error) { + req, out := c.GetSessionTokenRequest(input) + return out, req.Send() +} + +// GetSessionTokenWithContext is the same as GetSessionToken with the addition of +// the ability to pass a context and additional request options. +// +// See GetSessionToken for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *STS) GetSessionTokenWithContext(ctx aws.Context, input *GetSessionTokenInput, opts ...request.Option) (*GetSessionTokenOutput, error) { + req, out := c.GetSessionTokenRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRoleRequest +type AssumeRoleInput struct { + _ struct{} `type:"structure"` + + // The duration, in seconds, of the role session. The value can range from 900 + // seconds (15 minutes) to 3600 seconds (1 hour). By default, the value is set + // to 3600 seconds. + // + // This is separate from the duration of a console session that you might request + // using the returned credentials. The request to the federation endpoint for + // a console sign-in token takes a SessionDuration parameter that specifies + // the maximum length of the console session, separately from the DurationSeconds + // parameter on this API. For more information, see Creating a URL that Enables + // Federated Users to Access the AWS Management Console (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_enable-console-custom-url.html) + // in the IAM User Guide. + DurationSeconds *int64 `min:"900" type:"integer"` + + // A unique identifier that is used by third parties when assuming roles in + // their customers' accounts. For each role that the third party can assume, + // they should instruct their customers to ensure the role's trust policy checks + // for the external ID that the third party generated. Each time the third party + // assumes the role, they should pass the customer's external ID. The external + // ID is useful in order to help third parties bind a role to the customer who + // created it. For more information about the external ID, see How to Use an + // External ID When Granting Access to Your AWS Resources to a Third Party (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user_externalid.html) + // in the IAM User Guide. + // + // The regex used to validated this parameter is a string of characters consisting + // of upper- and lower-case alphanumeric characters with no spaces. You can + // also include underscores or any of the following characters: =,.@:\/- + ExternalId *string `min:"2" type:"string"` + + // An IAM policy in JSON format. + // + // This parameter is optional. If you pass a policy, the temporary security + // credentials that are returned by the operation have the permissions that + // are allowed by both (the intersection of) the access policy of the role that + // is being assumed, and the policy that you pass. This gives you a way to further + // restrict the permissions for the resulting temporary security credentials. + // You cannot use the passed policy to grant permissions that are in excess + // of those allowed by the access policy of the role that is being assumed. + // For more information, see Permissions for AssumeRole, AssumeRoleWithSAML, + // and AssumeRoleWithWebIdentity (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_assumerole.html) + // in the IAM User Guide. + // + // The format for this parameter, as described by its regex pattern, is a string + // of characters up to 2048 characters in length. The characters can be any + // ASCII character from the space character to the end of the valid character + // list (\u0020-\u00FF). It can also include the tab (\u0009), linefeed (\u000A), + // and carriage return (\u000D) characters. + // + // The policy plain text must be 2048 bytes or shorter. However, an internal + // conversion compresses it into a packed binary format with a separate limit. + // The PackedPolicySize response element indicates by percentage how close to + // the upper size limit the policy is, with 100% equaling the maximum allowed + // size. + Policy *string `min:"1" type:"string"` + + // The Amazon Resource Name (ARN) of the role to assume. + // + // RoleArn is a required field + RoleArn *string `min:"20" type:"string" required:"true"` + + // An identifier for the assumed role session. + // + // Use the role session name to uniquely identify a session when the same role + // is assumed by different principals or for different reasons. In cross-account + // scenarios, the role session name is visible to, and can be logged by the + // account that owns the role. The role session name is also used in the ARN + // of the assumed role principal. This means that subsequent cross-account API + // requests using the temporary security credentials will expose the role session + // name to the external account in their CloudTrail logs. + // + // The regex used to validate this parameter is a string of characters consisting + // of upper- and lower-case alphanumeric characters with no spaces. You can + // also include underscores or any of the following characters: =,.@- + // + // RoleSessionName is a required field + RoleSessionName *string `min:"2" type:"string" required:"true"` + + // The identification number of the MFA device that is associated with the user + // who is making the AssumeRole call. Specify this value if the trust policy + // of the role being assumed includes a condition that requires MFA authentication. + // The value is either the serial number for a hardware device (such as GAHT12345678) + // or an Amazon Resource Name (ARN) for a virtual device (such as arn:aws:iam::123456789012:mfa/user). + // + // The regex used to validate this parameter is a string of characters consisting + // of upper- and lower-case alphanumeric characters with no spaces. You can + // also include underscores or any of the following characters: =,.@- + SerialNumber *string `min:"9" type:"string"` + + // The value provided by the MFA device, if the trust policy of the role being + // assumed requires MFA (that is, if the policy includes a condition that tests + // for MFA). If the role being assumed requires MFA and if the TokenCode value + // is missing or expired, the AssumeRole call returns an "access denied" error. + // + // The format for this parameter, as described by its regex pattern, is a sequence + // of six numeric digits. + TokenCode *string `min:"6" type:"string"` +} + +// String returns the string representation +func (s AssumeRoleInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AssumeRoleInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AssumeRoleInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AssumeRoleInput"} + if s.DurationSeconds != nil && *s.DurationSeconds < 900 { + invalidParams.Add(request.NewErrParamMinValue("DurationSeconds", 900)) + } + if s.ExternalId != nil && len(*s.ExternalId) < 2 { + invalidParams.Add(request.NewErrParamMinLen("ExternalId", 2)) + } + if s.Policy != nil && len(*s.Policy) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Policy", 1)) + } + if s.RoleArn == nil { + invalidParams.Add(request.NewErrParamRequired("RoleArn")) + } + if s.RoleArn != nil && len(*s.RoleArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("RoleArn", 20)) + } + if s.RoleSessionName == nil { + invalidParams.Add(request.NewErrParamRequired("RoleSessionName")) + } + if s.RoleSessionName != nil && len(*s.RoleSessionName) < 2 { + invalidParams.Add(request.NewErrParamMinLen("RoleSessionName", 2)) + } + if s.SerialNumber != nil && len(*s.SerialNumber) < 9 { + invalidParams.Add(request.NewErrParamMinLen("SerialNumber", 9)) + } + if s.TokenCode != nil && len(*s.TokenCode) < 6 { + invalidParams.Add(request.NewErrParamMinLen("TokenCode", 6)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDurationSeconds sets the DurationSeconds field's value. +func (s *AssumeRoleInput) SetDurationSeconds(v int64) *AssumeRoleInput { + s.DurationSeconds = &v + return s +} + +// SetExternalId sets the ExternalId field's value. +func (s *AssumeRoleInput) SetExternalId(v string) *AssumeRoleInput { + s.ExternalId = &v + return s +} + +// SetPolicy sets the Policy field's value. +func (s *AssumeRoleInput) SetPolicy(v string) *AssumeRoleInput { + s.Policy = &v + return s +} + +// SetRoleArn sets the RoleArn field's value. +func (s *AssumeRoleInput) SetRoleArn(v string) *AssumeRoleInput { + s.RoleArn = &v + return s +} + +// SetRoleSessionName sets the RoleSessionName field's value. +func (s *AssumeRoleInput) SetRoleSessionName(v string) *AssumeRoleInput { + s.RoleSessionName = &v + return s +} + +// SetSerialNumber sets the SerialNumber field's value. +func (s *AssumeRoleInput) SetSerialNumber(v string) *AssumeRoleInput { + s.SerialNumber = &v + return s +} + +// SetTokenCode sets the TokenCode field's value. +func (s *AssumeRoleInput) SetTokenCode(v string) *AssumeRoleInput { + s.TokenCode = &v + return s +} + +// Contains the response to a successful AssumeRole request, including temporary +// AWS credentials that can be used to make AWS requests. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRoleResponse +type AssumeRoleOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) and the assumed role ID, which are identifiers + // that you can use to refer to the resulting temporary security credentials. + // For example, you can reference these credentials as a principal in a resource-based + // policy by using the ARN or assumed role ID. The ARN and ID include the RoleSessionName + // that you specified when you called AssumeRole. + AssumedRoleUser *AssumedRoleUser `type:"structure"` + + // The temporary security credentials, which include an access key ID, a secret + // access key, and a security (or session) token. + // + // Note: The size of the security token that STS APIs return is not fixed. We + // strongly recommend that you make no assumptions about the maximum size. As + // of this writing, the typical size is less than 4096 bytes, but that can vary. + // Also, future updates to AWS might require larger sizes. + Credentials *Credentials `type:"structure"` + + // A percentage value that indicates the size of the policy in packed form. + // The service rejects any policy with a packed size greater than 100 percent, + // which means the policy exceeded the allowed space. + PackedPolicySize *int64 `type:"integer"` +} + +// String returns the string representation +func (s AssumeRoleOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AssumeRoleOutput) GoString() string { + return s.String() +} + +// SetAssumedRoleUser sets the AssumedRoleUser field's value. +func (s *AssumeRoleOutput) SetAssumedRoleUser(v *AssumedRoleUser) *AssumeRoleOutput { + s.AssumedRoleUser = v + return s +} + +// SetCredentials sets the Credentials field's value. +func (s *AssumeRoleOutput) SetCredentials(v *Credentials) *AssumeRoleOutput { + s.Credentials = v + return s +} + +// SetPackedPolicySize sets the PackedPolicySize field's value. +func (s *AssumeRoleOutput) SetPackedPolicySize(v int64) *AssumeRoleOutput { + s.PackedPolicySize = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRoleWithSAMLRequest +type AssumeRoleWithSAMLInput struct { + _ struct{} `type:"structure"` + + // The duration, in seconds, of the role session. The value can range from 900 + // seconds (15 minutes) to 3600 seconds (1 hour). By default, the value is set + // to 3600 seconds. An expiration can also be specified in the SAML authentication + // response's SessionNotOnOrAfter value. The actual expiration time is whichever + // value is shorter. + // + // This is separate from the duration of a console session that you might request + // using the returned credentials. The request to the federation endpoint for + // a console sign-in token takes a SessionDuration parameter that specifies + // the maximum length of the console session, separately from the DurationSeconds + // parameter on this API. For more information, see Enabling SAML 2.0 Federated + // Users to Access the AWS Management Console (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_enable-console-saml.html) + // in the IAM User Guide. + DurationSeconds *int64 `min:"900" type:"integer"` + + // An IAM policy in JSON format. + // + // The policy parameter is optional. If you pass a policy, the temporary security + // credentials that are returned by the operation have the permissions that + // are allowed by both the access policy of the role that is being assumed, + // and the policy that you pass. This gives you a way to further restrict the + // permissions for the resulting temporary security credentials. You cannot + // use the passed policy to grant permissions that are in excess of those allowed + // by the access policy of the role that is being assumed. For more information, + // Permissions for AssumeRole, AssumeRoleWithSAML, and AssumeRoleWithWebIdentity + // (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_assumerole.html) + // in the IAM User Guide. + // + // The format for this parameter, as described by its regex pattern, is a string + // of characters up to 2048 characters in length. The characters can be any + // ASCII character from the space character to the end of the valid character + // list (\u0020-\u00FF). It can also include the tab (\u0009), linefeed (\u000A), + // and carriage return (\u000D) characters. + // + // The policy plain text must be 2048 bytes or shorter. However, an internal + // conversion compresses it into a packed binary format with a separate limit. + // The PackedPolicySize response element indicates by percentage how close to + // the upper size limit the policy is, with 100% equaling the maximum allowed + // size. + Policy *string `min:"1" type:"string"` + + // The Amazon Resource Name (ARN) of the SAML provider in IAM that describes + // the IdP. + // + // PrincipalArn is a required field + PrincipalArn *string `min:"20" type:"string" required:"true"` + + // The Amazon Resource Name (ARN) of the role that the caller is assuming. + // + // RoleArn is a required field + RoleArn *string `min:"20" type:"string" required:"true"` + + // The base-64 encoded SAML authentication response provided by the IdP. + // + // For more information, see Configuring a Relying Party and Adding Claims (http://docs.aws.amazon.com/IAM/latest/UserGuide/create-role-saml-IdP-tasks.html) + // in the Using IAM guide. + // + // SAMLAssertion is a required field + SAMLAssertion *string `min:"4" type:"string" required:"true"` +} + +// String returns the string representation +func (s AssumeRoleWithSAMLInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AssumeRoleWithSAMLInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AssumeRoleWithSAMLInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AssumeRoleWithSAMLInput"} + if s.DurationSeconds != nil && *s.DurationSeconds < 900 { + invalidParams.Add(request.NewErrParamMinValue("DurationSeconds", 900)) + } + if s.Policy != nil && len(*s.Policy) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Policy", 1)) + } + if s.PrincipalArn == nil { + invalidParams.Add(request.NewErrParamRequired("PrincipalArn")) + } + if s.PrincipalArn != nil && len(*s.PrincipalArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("PrincipalArn", 20)) + } + if s.RoleArn == nil { + invalidParams.Add(request.NewErrParamRequired("RoleArn")) + } + if s.RoleArn != nil && len(*s.RoleArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("RoleArn", 20)) + } + if s.SAMLAssertion == nil { + invalidParams.Add(request.NewErrParamRequired("SAMLAssertion")) + } + if s.SAMLAssertion != nil && len(*s.SAMLAssertion) < 4 { + invalidParams.Add(request.NewErrParamMinLen("SAMLAssertion", 4)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDurationSeconds sets the DurationSeconds field's value. +func (s *AssumeRoleWithSAMLInput) SetDurationSeconds(v int64) *AssumeRoleWithSAMLInput { + s.DurationSeconds = &v + return s +} + +// SetPolicy sets the Policy field's value. +func (s *AssumeRoleWithSAMLInput) SetPolicy(v string) *AssumeRoleWithSAMLInput { + s.Policy = &v + return s +} + +// SetPrincipalArn sets the PrincipalArn field's value. +func (s *AssumeRoleWithSAMLInput) SetPrincipalArn(v string) *AssumeRoleWithSAMLInput { + s.PrincipalArn = &v + return s +} + +// SetRoleArn sets the RoleArn field's value. +func (s *AssumeRoleWithSAMLInput) SetRoleArn(v string) *AssumeRoleWithSAMLInput { + s.RoleArn = &v + return s +} + +// SetSAMLAssertion sets the SAMLAssertion field's value. +func (s *AssumeRoleWithSAMLInput) SetSAMLAssertion(v string) *AssumeRoleWithSAMLInput { + s.SAMLAssertion = &v + return s +} + +// Contains the response to a successful AssumeRoleWithSAML request, including +// temporary AWS credentials that can be used to make AWS requests. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRoleWithSAMLResponse +type AssumeRoleWithSAMLOutput struct { + _ struct{} `type:"structure"` + + // The identifiers for the temporary security credentials that the operation + // returns. + AssumedRoleUser *AssumedRoleUser `type:"structure"` + + // The value of the Recipient attribute of the SubjectConfirmationData element + // of the SAML assertion. + Audience *string `type:"string"` + + // The temporary security credentials, which include an access key ID, a secret + // access key, and a security (or session) token. + // + // Note: The size of the security token that STS APIs return is not fixed. We + // strongly recommend that you make no assumptions about the maximum size. As + // of this writing, the typical size is less than 4096 bytes, but that can vary. + // Also, future updates to AWS might require larger sizes. + Credentials *Credentials `type:"structure"` + + // The value of the Issuer element of the SAML assertion. + Issuer *string `type:"string"` + + // A hash value based on the concatenation of the Issuer response value, the + // AWS account ID, and the friendly name (the last part of the ARN) of the SAML + // provider in IAM. The combination of NameQualifier and Subject can be used + // to uniquely identify a federated user. + // + // The following pseudocode shows how the hash value is calculated: + // + // BASE64 ( SHA1 ( "https://example.com/saml" + "123456789012" + "/MySAMLIdP" + // ) ) + NameQualifier *string `type:"string"` + + // A percentage value that indicates the size of the policy in packed form. + // The service rejects any policy with a packed size greater than 100 percent, + // which means the policy exceeded the allowed space. + PackedPolicySize *int64 `type:"integer"` + + // The value of the NameID element in the Subject element of the SAML assertion. + Subject *string `type:"string"` + + // The format of the name ID, as defined by the Format attribute in the NameID + // element of the SAML assertion. Typical examples of the format are transient + // or persistent. + // + // If the format includes the prefix urn:oasis:names:tc:SAML:2.0:nameid-format, + // that prefix is removed. For example, urn:oasis:names:tc:SAML:2.0:nameid-format:transient + // is returned as transient. If the format includes any other prefix, the format + // is returned with no modifications. + SubjectType *string `type:"string"` +} + +// String returns the string representation +func (s AssumeRoleWithSAMLOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AssumeRoleWithSAMLOutput) GoString() string { + return s.String() +} + +// SetAssumedRoleUser sets the AssumedRoleUser field's value. +func (s *AssumeRoleWithSAMLOutput) SetAssumedRoleUser(v *AssumedRoleUser) *AssumeRoleWithSAMLOutput { + s.AssumedRoleUser = v + return s +} + +// SetAudience sets the Audience field's value. +func (s *AssumeRoleWithSAMLOutput) SetAudience(v string) *AssumeRoleWithSAMLOutput { + s.Audience = &v + return s +} + +// SetCredentials sets the Credentials field's value. +func (s *AssumeRoleWithSAMLOutput) SetCredentials(v *Credentials) *AssumeRoleWithSAMLOutput { + s.Credentials = v + return s +} + +// SetIssuer sets the Issuer field's value. +func (s *AssumeRoleWithSAMLOutput) SetIssuer(v string) *AssumeRoleWithSAMLOutput { + s.Issuer = &v + return s +} + +// SetNameQualifier sets the NameQualifier field's value. +func (s *AssumeRoleWithSAMLOutput) SetNameQualifier(v string) *AssumeRoleWithSAMLOutput { + s.NameQualifier = &v + return s +} + +// SetPackedPolicySize sets the PackedPolicySize field's value. +func (s *AssumeRoleWithSAMLOutput) SetPackedPolicySize(v int64) *AssumeRoleWithSAMLOutput { + s.PackedPolicySize = &v + return s +} + +// SetSubject sets the Subject field's value. +func (s *AssumeRoleWithSAMLOutput) SetSubject(v string) *AssumeRoleWithSAMLOutput { + s.Subject = &v + return s +} + +// SetSubjectType sets the SubjectType field's value. +func (s *AssumeRoleWithSAMLOutput) SetSubjectType(v string) *AssumeRoleWithSAMLOutput { + s.SubjectType = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRoleWithWebIdentityRequest +type AssumeRoleWithWebIdentityInput struct { + _ struct{} `type:"structure"` + + // The duration, in seconds, of the role session. The value can range from 900 + // seconds (15 minutes) to 3600 seconds (1 hour). By default, the value is set + // to 3600 seconds. + // + // This is separate from the duration of a console session that you might request + // using the returned credentials. The request to the federation endpoint for + // a console sign-in token takes a SessionDuration parameter that specifies + // the maximum length of the console session, separately from the DurationSeconds + // parameter on this API. For more information, see Creating a URL that Enables + // Federated Users to Access the AWS Management Console (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_enable-console-custom-url.html) + // in the IAM User Guide. + DurationSeconds *int64 `min:"900" type:"integer"` + + // An IAM policy in JSON format. + // + // The policy parameter is optional. If you pass a policy, the temporary security + // credentials that are returned by the operation have the permissions that + // are allowed by both the access policy of the role that is being assumed, + // and the policy that you pass. This gives you a way to further restrict the + // permissions for the resulting temporary security credentials. You cannot + // use the passed policy to grant permissions that are in excess of those allowed + // by the access policy of the role that is being assumed. For more information, + // see Permissions for AssumeRoleWithWebIdentity (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_assumerole.html) + // in the IAM User Guide. + // + // The format for this parameter, as described by its regex pattern, is a string + // of characters up to 2048 characters in length. The characters can be any + // ASCII character from the space character to the end of the valid character + // list (\u0020-\u00FF). It can also include the tab (\u0009), linefeed (\u000A), + // and carriage return (\u000D) characters. + // + // The policy plain text must be 2048 bytes or shorter. However, an internal + // conversion compresses it into a packed binary format with a separate limit. + // The PackedPolicySize response element indicates by percentage how close to + // the upper size limit the policy is, with 100% equaling the maximum allowed + // size. + Policy *string `min:"1" type:"string"` + + // The fully qualified host component of the domain name of the identity provider. + // + // Specify this value only for OAuth 2.0 access tokens. Currently www.amazon.com + // and graph.facebook.com are the only supported identity providers for OAuth + // 2.0 access tokens. Do not include URL schemes and port numbers. + // + // Do not specify this value for OpenID Connect ID tokens. + ProviderId *string `min:"4" type:"string"` + + // The Amazon Resource Name (ARN) of the role that the caller is assuming. + // + // RoleArn is a required field + RoleArn *string `min:"20" type:"string" required:"true"` + + // An identifier for the assumed role session. Typically, you pass the name + // or identifier that is associated with the user who is using your application. + // That way, the temporary security credentials that your application will use + // are associated with that user. This session name is included as part of the + // ARN and assumed role ID in the AssumedRoleUser response element. + // + // The regex used to validate this parameter is a string of characters consisting + // of upper- and lower-case alphanumeric characters with no spaces. You can + // also include underscores or any of the following characters: =,.@- + // + // RoleSessionName is a required field + RoleSessionName *string `min:"2" type:"string" required:"true"` + + // The OAuth 2.0 access token or OpenID Connect ID token that is provided by + // the identity provider. Your application must get this token by authenticating + // the user who is using your application with a web identity provider before + // the application makes an AssumeRoleWithWebIdentity call. + // + // WebIdentityToken is a required field + WebIdentityToken *string `min:"4" type:"string" required:"true"` +} + +// String returns the string representation +func (s AssumeRoleWithWebIdentityInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AssumeRoleWithWebIdentityInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AssumeRoleWithWebIdentityInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AssumeRoleWithWebIdentityInput"} + if s.DurationSeconds != nil && *s.DurationSeconds < 900 { + invalidParams.Add(request.NewErrParamMinValue("DurationSeconds", 900)) + } + if s.Policy != nil && len(*s.Policy) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Policy", 1)) + } + if s.ProviderId != nil && len(*s.ProviderId) < 4 { + invalidParams.Add(request.NewErrParamMinLen("ProviderId", 4)) + } + if s.RoleArn == nil { + invalidParams.Add(request.NewErrParamRequired("RoleArn")) + } + if s.RoleArn != nil && len(*s.RoleArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("RoleArn", 20)) + } + if s.RoleSessionName == nil { + invalidParams.Add(request.NewErrParamRequired("RoleSessionName")) + } + if s.RoleSessionName != nil && len(*s.RoleSessionName) < 2 { + invalidParams.Add(request.NewErrParamMinLen("RoleSessionName", 2)) + } + if s.WebIdentityToken == nil { + invalidParams.Add(request.NewErrParamRequired("WebIdentityToken")) + } + if s.WebIdentityToken != nil && len(*s.WebIdentityToken) < 4 { + invalidParams.Add(request.NewErrParamMinLen("WebIdentityToken", 4)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDurationSeconds sets the DurationSeconds field's value. +func (s *AssumeRoleWithWebIdentityInput) SetDurationSeconds(v int64) *AssumeRoleWithWebIdentityInput { + s.DurationSeconds = &v + return s +} + +// SetPolicy sets the Policy field's value. +func (s *AssumeRoleWithWebIdentityInput) SetPolicy(v string) *AssumeRoleWithWebIdentityInput { + s.Policy = &v + return s +} + +// SetProviderId sets the ProviderId field's value. +func (s *AssumeRoleWithWebIdentityInput) SetProviderId(v string) *AssumeRoleWithWebIdentityInput { + s.ProviderId = &v + return s +} + +// SetRoleArn sets the RoleArn field's value. +func (s *AssumeRoleWithWebIdentityInput) SetRoleArn(v string) *AssumeRoleWithWebIdentityInput { + s.RoleArn = &v + return s +} + +// SetRoleSessionName sets the RoleSessionName field's value. +func (s *AssumeRoleWithWebIdentityInput) SetRoleSessionName(v string) *AssumeRoleWithWebIdentityInput { + s.RoleSessionName = &v + return s +} + +// SetWebIdentityToken sets the WebIdentityToken field's value. +func (s *AssumeRoleWithWebIdentityInput) SetWebIdentityToken(v string) *AssumeRoleWithWebIdentityInput { + s.WebIdentityToken = &v + return s +} + +// Contains the response to a successful AssumeRoleWithWebIdentity request, +// including temporary AWS credentials that can be used to make AWS requests. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRoleWithWebIdentityResponse +type AssumeRoleWithWebIdentityOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) and the assumed role ID, which are identifiers + // that you can use to refer to the resulting temporary security credentials. + // For example, you can reference these credentials as a principal in a resource-based + // policy by using the ARN or assumed role ID. The ARN and ID include the RoleSessionName + // that you specified when you called AssumeRole. + AssumedRoleUser *AssumedRoleUser `type:"structure"` + + // The intended audience (also known as client ID) of the web identity token. + // This is traditionally the client identifier issued to the application that + // requested the web identity token. + Audience *string `type:"string"` + + // The temporary security credentials, which include an access key ID, a secret + // access key, and a security token. + // + // Note: The size of the security token that STS APIs return is not fixed. We + // strongly recommend that you make no assumptions about the maximum size. As + // of this writing, the typical size is less than 4096 bytes, but that can vary. + // Also, future updates to AWS might require larger sizes. + Credentials *Credentials `type:"structure"` + + // A percentage value that indicates the size of the policy in packed form. + // The service rejects any policy with a packed size greater than 100 percent, + // which means the policy exceeded the allowed space. + PackedPolicySize *int64 `type:"integer"` + + // The issuing authority of the web identity token presented. For OpenID Connect + // ID Tokens this contains the value of the iss field. For OAuth 2.0 access + // tokens, this contains the value of the ProviderId parameter that was passed + // in the AssumeRoleWithWebIdentity request. + Provider *string `type:"string"` + + // The unique user identifier that is returned by the identity provider. This + // identifier is associated with the WebIdentityToken that was submitted with + // the AssumeRoleWithWebIdentity call. The identifier is typically unique to + // the user and the application that acquired the WebIdentityToken (pairwise + // identifier). For OpenID Connect ID tokens, this field contains the value + // returned by the identity provider as the token's sub (Subject) claim. + SubjectFromWebIdentityToken *string `min:"6" type:"string"` +} + +// String returns the string representation +func (s AssumeRoleWithWebIdentityOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AssumeRoleWithWebIdentityOutput) GoString() string { + return s.String() +} + +// SetAssumedRoleUser sets the AssumedRoleUser field's value. +func (s *AssumeRoleWithWebIdentityOutput) SetAssumedRoleUser(v *AssumedRoleUser) *AssumeRoleWithWebIdentityOutput { + s.AssumedRoleUser = v + return s +} + +// SetAudience sets the Audience field's value. +func (s *AssumeRoleWithWebIdentityOutput) SetAudience(v string) *AssumeRoleWithWebIdentityOutput { + s.Audience = &v + return s +} + +// SetCredentials sets the Credentials field's value. +func (s *AssumeRoleWithWebIdentityOutput) SetCredentials(v *Credentials) *AssumeRoleWithWebIdentityOutput { + s.Credentials = v + return s +} + +// SetPackedPolicySize sets the PackedPolicySize field's value. +func (s *AssumeRoleWithWebIdentityOutput) SetPackedPolicySize(v int64) *AssumeRoleWithWebIdentityOutput { + s.PackedPolicySize = &v + return s +} + +// SetProvider sets the Provider field's value. +func (s *AssumeRoleWithWebIdentityOutput) SetProvider(v string) *AssumeRoleWithWebIdentityOutput { + s.Provider = &v + return s +} + +// SetSubjectFromWebIdentityToken sets the SubjectFromWebIdentityToken field's value. +func (s *AssumeRoleWithWebIdentityOutput) SetSubjectFromWebIdentityToken(v string) *AssumeRoleWithWebIdentityOutput { + s.SubjectFromWebIdentityToken = &v + return s +} + +// The identifiers for the temporary security credentials that the operation +// returns. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumedRoleUser +type AssumedRoleUser struct { + _ struct{} `type:"structure"` + + // The ARN of the temporary security credentials that are returned from the + // AssumeRole action. For more information about ARNs and how to use them in + // policies, see IAM Identifiers (http://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html) + // in Using IAM. + // + // Arn is a required field + Arn *string `min:"20" type:"string" required:"true"` + + // A unique identifier that contains the role ID and the role session name of + // the role that is being assumed. The role ID is generated by AWS when the + // role is created. + // + // AssumedRoleId is a required field + AssumedRoleId *string `min:"2" type:"string" required:"true"` +} + +// String returns the string representation +func (s AssumedRoleUser) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AssumedRoleUser) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *AssumedRoleUser) SetArn(v string) *AssumedRoleUser { + s.Arn = &v + return s +} + +// SetAssumedRoleId sets the AssumedRoleId field's value. +func (s *AssumedRoleUser) SetAssumedRoleId(v string) *AssumedRoleUser { + s.AssumedRoleId = &v + return s +} + +// AWS credentials for API authentication. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/Credentials +type Credentials struct { + _ struct{} `type:"structure"` + + // The access key ID that identifies the temporary security credentials. + // + // AccessKeyId is a required field + AccessKeyId *string `min:"16" type:"string" required:"true"` + + // The date on which the current credentials expire. + // + // Expiration is a required field + Expiration *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"` + + // The secret access key that can be used to sign requests. + // + // SecretAccessKey is a required field + SecretAccessKey *string `type:"string" required:"true"` + + // The token that users must pass to the service API to use the temporary credentials. + // + // SessionToken is a required field + SessionToken *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s Credentials) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Credentials) GoString() string { + return s.String() +} + +// SetAccessKeyId sets the AccessKeyId field's value. +func (s *Credentials) SetAccessKeyId(v string) *Credentials { + s.AccessKeyId = &v + return s +} + +// SetExpiration sets the Expiration field's value. +func (s *Credentials) SetExpiration(v time.Time) *Credentials { + s.Expiration = &v + return s +} + +// SetSecretAccessKey sets the SecretAccessKey field's value. +func (s *Credentials) SetSecretAccessKey(v string) *Credentials { + s.SecretAccessKey = &v + return s +} + +// SetSessionToken sets the SessionToken field's value. +func (s *Credentials) SetSessionToken(v string) *Credentials { + s.SessionToken = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/DecodeAuthorizationMessageRequest +type DecodeAuthorizationMessageInput struct { + _ struct{} `type:"structure"` + + // The encoded message that was returned with the response. + // + // EncodedMessage is a required field + EncodedMessage *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DecodeAuthorizationMessageInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DecodeAuthorizationMessageInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DecodeAuthorizationMessageInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DecodeAuthorizationMessageInput"} + if s.EncodedMessage == nil { + invalidParams.Add(request.NewErrParamRequired("EncodedMessage")) + } + if s.EncodedMessage != nil && len(*s.EncodedMessage) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EncodedMessage", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEncodedMessage sets the EncodedMessage field's value. +func (s *DecodeAuthorizationMessageInput) SetEncodedMessage(v string) *DecodeAuthorizationMessageInput { + s.EncodedMessage = &v + return s +} + +// A document that contains additional information about the authorization status +// of a request from an encoded message that is returned in response to an AWS +// request. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/DecodeAuthorizationMessageResponse +type DecodeAuthorizationMessageOutput struct { + _ struct{} `type:"structure"` + + // An XML document that contains the decoded message. + DecodedMessage *string `type:"string"` +} + +// String returns the string representation +func (s DecodeAuthorizationMessageOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DecodeAuthorizationMessageOutput) GoString() string { + return s.String() +} + +// SetDecodedMessage sets the DecodedMessage field's value. +func (s *DecodeAuthorizationMessageOutput) SetDecodedMessage(v string) *DecodeAuthorizationMessageOutput { + s.DecodedMessage = &v + return s +} + +// Identifiers for the federated user that is associated with the credentials. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/FederatedUser +type FederatedUser struct { + _ struct{} `type:"structure"` + + // The ARN that specifies the federated user that is associated with the credentials. + // For more information about ARNs and how to use them in policies, see IAM + // Identifiers (http://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html) + // in Using IAM. + // + // Arn is a required field + Arn *string `min:"20" type:"string" required:"true"` + + // The string that identifies the federated user associated with the credentials, + // similar to the unique ID of an IAM user. + // + // FederatedUserId is a required field + FederatedUserId *string `min:"2" type:"string" required:"true"` +} + +// String returns the string representation +func (s FederatedUser) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s FederatedUser) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *FederatedUser) SetArn(v string) *FederatedUser { + s.Arn = &v + return s +} + +// SetFederatedUserId sets the FederatedUserId field's value. +func (s *FederatedUser) SetFederatedUserId(v string) *FederatedUser { + s.FederatedUserId = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/GetCallerIdentityRequest +type GetCallerIdentityInput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s GetCallerIdentityInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetCallerIdentityInput) GoString() string { + return s.String() +} + +// Contains the response to a successful GetCallerIdentity request, including +// information about the entity making the request. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/GetCallerIdentityResponse +type GetCallerIdentityOutput struct { + _ struct{} `type:"structure"` + + // The AWS account ID number of the account that owns or contains the calling + // entity. + Account *string `type:"string"` + + // The AWS ARN associated with the calling entity. + Arn *string `min:"20" type:"string"` + + // The unique identifier of the calling entity. The exact value depends on the + // type of entity making the call. The values returned are those listed in the + // aws:userid column in the Principal table (http://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_variables.html#principaltable) + // found on the Policy Variables reference page in the IAM User Guide. + UserId *string `type:"string"` +} + +// String returns the string representation +func (s GetCallerIdentityOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetCallerIdentityOutput) GoString() string { + return s.String() +} + +// SetAccount sets the Account field's value. +func (s *GetCallerIdentityOutput) SetAccount(v string) *GetCallerIdentityOutput { + s.Account = &v + return s +} + +// SetArn sets the Arn field's value. +func (s *GetCallerIdentityOutput) SetArn(v string) *GetCallerIdentityOutput { + s.Arn = &v + return s +} + +// SetUserId sets the UserId field's value. +func (s *GetCallerIdentityOutput) SetUserId(v string) *GetCallerIdentityOutput { + s.UserId = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/GetFederationTokenRequest +type GetFederationTokenInput struct { + _ struct{} `type:"structure"` + + // The duration, in seconds, that the session should last. Acceptable durations + // for federation sessions range from 900 seconds (15 minutes) to 129600 seconds + // (36 hours), with 43200 seconds (12 hours) as the default. Sessions obtained + // using AWS account (root) credentials are restricted to a maximum of 3600 + // seconds (one hour). If the specified duration is longer than one hour, the + // session obtained by using AWS account (root) credentials defaults to one + // hour. + DurationSeconds *int64 `min:"900" type:"integer"` + + // The name of the federated user. The name is used as an identifier for the + // temporary security credentials (such as Bob). For example, you can reference + // the federated user name in a resource-based policy, such as in an Amazon + // S3 bucket policy. + // + // The regex used to validate this parameter is a string of characters consisting + // of upper- and lower-case alphanumeric characters with no spaces. You can + // also include underscores or any of the following characters: =,.@- + // + // Name is a required field + Name *string `min:"2" type:"string" required:"true"` + + // An IAM policy in JSON format that is passed with the GetFederationToken call + // and evaluated along with the policy or policies that are attached to the + // IAM user whose credentials are used to call GetFederationToken. The passed + // policy is used to scope down the permissions that are available to the IAM + // user, by allowing only a subset of the permissions that are granted to the + // IAM user. The passed policy cannot grant more permissions than those granted + // to the IAM user. The final permissions for the federated user are the most + // restrictive set based on the intersection of the passed policy and the IAM + // user policy. + // + // If you do not pass a policy, the resulting temporary security credentials + // have no effective permissions. The only exception is when the temporary security + // credentials are used to access a resource that has a resource-based policy + // that specifically allows the federated user to access the resource. + // + // The format for this parameter, as described by its regex pattern, is a string + // of characters up to 2048 characters in length. The characters can be any + // ASCII character from the space character to the end of the valid character + // list (\u0020-\u00FF). It can also include the tab (\u0009), linefeed (\u000A), + // and carriage return (\u000D) characters. + // + // The policy plain text must be 2048 bytes or shorter. However, an internal + // conversion compresses it into a packed binary format with a separate limit. + // The PackedPolicySize response element indicates by percentage how close to + // the upper size limit the policy is, with 100% equaling the maximum allowed + // size. + // + // For more information about how permissions work, see Permissions for GetFederationToken + // (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_getfederationtoken.html). + Policy *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s GetFederationTokenInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetFederationTokenInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetFederationTokenInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetFederationTokenInput"} + if s.DurationSeconds != nil && *s.DurationSeconds < 900 { + invalidParams.Add(request.NewErrParamMinValue("DurationSeconds", 900)) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 2 { + invalidParams.Add(request.NewErrParamMinLen("Name", 2)) + } + if s.Policy != nil && len(*s.Policy) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Policy", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDurationSeconds sets the DurationSeconds field's value. +func (s *GetFederationTokenInput) SetDurationSeconds(v int64) *GetFederationTokenInput { + s.DurationSeconds = &v + return s +} + +// SetName sets the Name field's value. +func (s *GetFederationTokenInput) SetName(v string) *GetFederationTokenInput { + s.Name = &v + return s +} + +// SetPolicy sets the Policy field's value. +func (s *GetFederationTokenInput) SetPolicy(v string) *GetFederationTokenInput { + s.Policy = &v + return s +} + +// Contains the response to a successful GetFederationToken request, including +// temporary AWS credentials that can be used to make AWS requests. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/GetFederationTokenResponse +type GetFederationTokenOutput struct { + _ struct{} `type:"structure"` + + // The temporary security credentials, which include an access key ID, a secret + // access key, and a security (or session) token. + // + // Note: The size of the security token that STS APIs return is not fixed. We + // strongly recommend that you make no assumptions about the maximum size. As + // of this writing, the typical size is less than 4096 bytes, but that can vary. + // Also, future updates to AWS might require larger sizes. + Credentials *Credentials `type:"structure"` + + // Identifiers for the federated user associated with the credentials (such + // as arn:aws:sts::123456789012:federated-user/Bob or 123456789012:Bob). You + // can use the federated user's ARN in your resource-based policies, such as + // an Amazon S3 bucket policy. + FederatedUser *FederatedUser `type:"structure"` + + // A percentage value indicating the size of the policy in packed form. The + // service rejects policies for which the packed size is greater than 100 percent + // of the allowed value. + PackedPolicySize *int64 `type:"integer"` +} + +// String returns the string representation +func (s GetFederationTokenOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetFederationTokenOutput) GoString() string { + return s.String() +} + +// SetCredentials sets the Credentials field's value. +func (s *GetFederationTokenOutput) SetCredentials(v *Credentials) *GetFederationTokenOutput { + s.Credentials = v + return s +} + +// SetFederatedUser sets the FederatedUser field's value. +func (s *GetFederationTokenOutput) SetFederatedUser(v *FederatedUser) *GetFederationTokenOutput { + s.FederatedUser = v + return s +} + +// SetPackedPolicySize sets the PackedPolicySize field's value. +func (s *GetFederationTokenOutput) SetPackedPolicySize(v int64) *GetFederationTokenOutput { + s.PackedPolicySize = &v + return s +} + +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/GetSessionTokenRequest +type GetSessionTokenInput struct { + _ struct{} `type:"structure"` + + // The duration, in seconds, that the credentials should remain valid. Acceptable + // durations for IAM user sessions range from 900 seconds (15 minutes) to 129600 + // seconds (36 hours), with 43200 seconds (12 hours) as the default. Sessions + // for AWS account owners are restricted to a maximum of 3600 seconds (one hour). + // If the duration is longer than one hour, the session for AWS account owners + // defaults to one hour. + DurationSeconds *int64 `min:"900" type:"integer"` + + // The identification number of the MFA device that is associated with the IAM + // user who is making the GetSessionToken call. Specify this value if the IAM + // user has a policy that requires MFA authentication. The value is either the + // serial number for a hardware device (such as GAHT12345678) or an Amazon Resource + // Name (ARN) for a virtual device (such as arn:aws:iam::123456789012:mfa/user). + // You can find the device for an IAM user by going to the AWS Management Console + // and viewing the user's security credentials. + // + // The regex used to validate this parameter is a string of characters consisting + // of upper- and lower-case alphanumeric characters with no spaces. You can + // also include underscores or any of the following characters: =,.@- + SerialNumber *string `min:"9" type:"string"` + + // The value provided by the MFA device, if MFA is required. If any policy requires + // the IAM user to submit an MFA code, specify this value. If MFA authentication + // is required, and the user does not provide a code when requesting a set of + // temporary security credentials, the user will receive an "access denied" + // response when requesting resources that require MFA authentication. + // + // The format for this parameter, as described by its regex pattern, is a sequence + // of six numeric digits. + TokenCode *string `min:"6" type:"string"` +} + +// String returns the string representation +func (s GetSessionTokenInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetSessionTokenInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetSessionTokenInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetSessionTokenInput"} + if s.DurationSeconds != nil && *s.DurationSeconds < 900 { + invalidParams.Add(request.NewErrParamMinValue("DurationSeconds", 900)) + } + if s.SerialNumber != nil && len(*s.SerialNumber) < 9 { + invalidParams.Add(request.NewErrParamMinLen("SerialNumber", 9)) + } + if s.TokenCode != nil && len(*s.TokenCode) < 6 { + invalidParams.Add(request.NewErrParamMinLen("TokenCode", 6)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDurationSeconds sets the DurationSeconds field's value. +func (s *GetSessionTokenInput) SetDurationSeconds(v int64) *GetSessionTokenInput { + s.DurationSeconds = &v + return s +} + +// SetSerialNumber sets the SerialNumber field's value. +func (s *GetSessionTokenInput) SetSerialNumber(v string) *GetSessionTokenInput { + s.SerialNumber = &v + return s +} + +// SetTokenCode sets the TokenCode field's value. +func (s *GetSessionTokenInput) SetTokenCode(v string) *GetSessionTokenInput { + s.TokenCode = &v + return s +} + +// Contains the response to a successful GetSessionToken request, including +// temporary AWS credentials that can be used to make AWS requests. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/GetSessionTokenResponse +type GetSessionTokenOutput struct { + _ struct{} `type:"structure"` + + // The temporary security credentials, which include an access key ID, a secret + // access key, and a security (or session) token. + // + // Note: The size of the security token that STS APIs return is not fixed. We + // strongly recommend that you make no assumptions about the maximum size. As + // of this writing, the typical size is less than 4096 bytes, but that can vary. + // Also, future updates to AWS might require larger sizes. + Credentials *Credentials `type:"structure"` +} + +// String returns the string representation +func (s GetSessionTokenOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetSessionTokenOutput) GoString() string { + return s.String() +} + +// SetCredentials sets the Credentials field's value. +func (s *GetSessionTokenOutput) SetCredentials(v *Credentials) *GetSessionTokenOutput { + s.Credentials = v + return s +} diff --git a/vendor/github.com/aws/aws-sdk-go/service/sts/customizations.go b/vendor/github.com/aws/aws-sdk-go/service/sts/customizations.go new file mode 100644 index 0000000000..4010cc7fa1 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/service/sts/customizations.go @@ -0,0 +1,12 @@ +package sts + +import "github.com/aws/aws-sdk-go/aws/request" + +func init() { + initRequest = func(r *request.Request) { + switch r.Operation.Name { + case opAssumeRoleWithSAML, opAssumeRoleWithWebIdentity: + r.Handlers.Sign.Clear() // these operations are unsigned + } + } +} diff --git a/vendor/github.com/aws/aws-sdk-go/service/sts/errors.go b/vendor/github.com/aws/aws-sdk-go/service/sts/errors.go new file mode 100644 index 0000000000..e24884ef37 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/service/sts/errors.go @@ -0,0 +1,73 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package sts + +const ( + + // ErrCodeExpiredTokenException for service response error code + // "ExpiredTokenException". + // + // The web identity token that was passed is expired or is not valid. Get a + // new identity token from the identity provider and then retry the request. + ErrCodeExpiredTokenException = "ExpiredTokenException" + + // ErrCodeIDPCommunicationErrorException for service response error code + // "IDPCommunicationError". + // + // The request could not be fulfilled because the non-AWS identity provider + // (IDP) that was asked to verify the incoming identity token could not be reached. + // This is often a transient error caused by network conditions. Retry the request + // a limited number of times so that you don't exceed the request rate. If the + // error persists, the non-AWS identity provider might be down or not responding. + ErrCodeIDPCommunicationErrorException = "IDPCommunicationError" + + // ErrCodeIDPRejectedClaimException for service response error code + // "IDPRejectedClaim". + // + // The identity provider (IdP) reported that authentication failed. This might + // be because the claim is invalid. + // + // If this error is returned for the AssumeRoleWithWebIdentity operation, it + // can also mean that the claim has expired or has been explicitly revoked. + ErrCodeIDPRejectedClaimException = "IDPRejectedClaim" + + // ErrCodeInvalidAuthorizationMessageException for service response error code + // "InvalidAuthorizationMessageException". + // + // The error returned if the message passed to DecodeAuthorizationMessage was + // invalid. This can happen if the token contains invalid characters, such as + // linebreaks. + ErrCodeInvalidAuthorizationMessageException = "InvalidAuthorizationMessageException" + + // ErrCodeInvalidIdentityTokenException for service response error code + // "InvalidIdentityToken". + // + // The web identity token that was passed could not be validated by AWS. Get + // a new identity token from the identity provider and then retry the request. + ErrCodeInvalidIdentityTokenException = "InvalidIdentityToken" + + // ErrCodeMalformedPolicyDocumentException for service response error code + // "MalformedPolicyDocument". + // + // The request was rejected because the policy document was malformed. The error + // message describes the specific error. + ErrCodeMalformedPolicyDocumentException = "MalformedPolicyDocument" + + // ErrCodePackedPolicyTooLargeException for service response error code + // "PackedPolicyTooLarge". + // + // The request was rejected because the policy document was too large. The error + // message describes how big the policy document is, in packed form, as a percentage + // of what the API allows. + ErrCodePackedPolicyTooLargeException = "PackedPolicyTooLarge" + + // ErrCodeRegionDisabledException for service response error code + // "RegionDisabledException". + // + // STS is not activated in the requested region for the account that is being + // asked to generate credentials. The account administrator must use the IAM + // console to activate STS in that region. For more information, see Activating + // and Deactivating AWS STS in an AWS Region (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html) + // in the IAM User Guide. + ErrCodeRegionDisabledException = "RegionDisabledException" +) diff --git a/vendor/github.com/aws/aws-sdk-go/service/sts/service.go b/vendor/github.com/aws/aws-sdk-go/service/sts/service.go new file mode 100644 index 0000000000..be2183846e --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/service/sts/service.go @@ -0,0 +1,135 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package sts + +import ( + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/client" + "github.com/aws/aws-sdk-go/aws/client/metadata" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/aws/signer/v4" + "github.com/aws/aws-sdk-go/private/protocol/query" +) + +// The AWS Security Token Service (STS) is a web service that enables you to +// request temporary, limited-privilege credentials for AWS Identity and Access +// Management (IAM) users or for users that you authenticate (federated users). +// This guide provides descriptions of the STS API. For more detailed information +// about using this service, go to Temporary Security Credentials (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html). +// +// As an alternative to using the API, you can use one of the AWS SDKs, which +// consist of libraries and sample code for various programming languages and +// platforms (Java, Ruby, .NET, iOS, Android, etc.). The SDKs provide a convenient +// way to create programmatic access to STS. For example, the SDKs take care +// of cryptographically signing requests, managing errors, and retrying requests +// automatically. For information about the AWS SDKs, including how to download +// and install them, see the Tools for Amazon Web Services page (http://aws.amazon.com/tools/). +// +// For information about setting up signatures and authorization through the +// API, go to Signing AWS API Requests (http://docs.aws.amazon.com/general/latest/gr/signing_aws_api_requests.html) +// in the AWS General Reference. For general information about the Query API, +// go to Making Query Requests (http://docs.aws.amazon.com/IAM/latest/UserGuide/IAM_UsingQueryAPI.html) +// in Using IAM. For information about using security tokens with other AWS +// products, go to AWS Services That Work with IAM (http://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html) +// in the IAM User Guide. +// +// If you're new to AWS and need additional technical information about a specific +// AWS product, you can find the product's technical documentation at http://aws.amazon.com/documentation/ +// (http://aws.amazon.com/documentation/). +// +// Endpoints +// +// The AWS Security Token Service (STS) has a default endpoint of https://sts.amazonaws.com +// that maps to the US East (N. Virginia) region. Additional regions are available +// and are activated by default. For more information, see Activating and Deactivating +// AWS STS in an AWS Region (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html) +// in the IAM User Guide. +// +// For information about STS endpoints, see Regions and Endpoints (http://docs.aws.amazon.com/general/latest/gr/rande.html#sts_region) +// in the AWS General Reference. +// +// Recording API requests +// +// STS supports AWS CloudTrail, which is a service that records AWS calls for +// your AWS account and delivers log files to an Amazon S3 bucket. By using +// information collected by CloudTrail, you can determine what requests were +// successfully made to STS, who made the request, when it was made, and so +// on. To learn more about CloudTrail, including how to turn it on and find +// your log files, see the AWS CloudTrail User Guide (http://docs.aws.amazon.com/awscloudtrail/latest/userguide/what_is_cloud_trail_top_level.html). +// The service client's operations are safe to be used concurrently. +// It is not safe to mutate any of the client's properties though. +// Please also see https://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15 +type STS struct { + *client.Client +} + +// Used for custom client initialization logic +var initClient func(*client.Client) + +// Used for custom request initialization logic +var initRequest func(*request.Request) + +// Service information constants +const ( + ServiceName = "sts" // Service endpoint prefix API calls made to. + EndpointsID = ServiceName // Service ID for Regions and Endpoints metadata. +) + +// New creates a new instance of the STS client with a session. +// If additional configuration is needed for the client instance use the optional +// aws.Config parameter to add your extra config. +// +// Example: +// // Create a STS client from just a session. +// svc := sts.New(mySession) +// +// // Create a STS client with additional configuration +// svc := sts.New(mySession, aws.NewConfig().WithRegion("us-west-2")) +func New(p client.ConfigProvider, cfgs ...*aws.Config) *STS { + c := p.ClientConfig(EndpointsID, cfgs...) + return newClient(*c.Config, c.Handlers, c.Endpoint, c.SigningRegion, c.SigningName) +} + +// newClient creates, initializes and returns a new service client instance. +func newClient(cfg aws.Config, handlers request.Handlers, endpoint, signingRegion, signingName string) *STS { + svc := &STS{ + Client: client.New( + cfg, + metadata.ClientInfo{ + ServiceName: ServiceName, + SigningName: signingName, + SigningRegion: signingRegion, + Endpoint: endpoint, + APIVersion: "2011-06-15", + }, + handlers, + ), + } + + // Handlers + svc.Handlers.Sign.PushBackNamed(v4.SignRequestHandler) + svc.Handlers.Build.PushBackNamed(query.BuildHandler) + svc.Handlers.Unmarshal.PushBackNamed(query.UnmarshalHandler) + svc.Handlers.UnmarshalMeta.PushBackNamed(query.UnmarshalMetaHandler) + svc.Handlers.UnmarshalError.PushBackNamed(query.UnmarshalErrorHandler) + + // Run custom client initialization if present + if initClient != nil { + initClient(svc.Client) + } + + return svc +} + +// newRequest creates a new request for a STS operation and runs any +// custom request initialization. +func (c *STS) newRequest(op *request.Operation, params, data interface{}) *request.Request { + req := c.NewRequest(op, params, data) + + // Run custom request initialization if present + if initRequest != nil { + initRequest(req) + } + + return req +} diff --git a/vendor/github.com/go-ini/ini/LICENSE b/vendor/github.com/go-ini/ini/LICENSE new file mode 100644 index 0000000000..37ec93a14f --- /dev/null +++ b/vendor/github.com/go-ini/ini/LICENSE @@ -0,0 +1,191 @@ +Apache License +Version 2.0, January 2004 +http://www.apache.org/licenses/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + +"License" shall mean the terms and conditions for use, reproduction, and +distribution as defined by Sections 1 through 9 of this document. + +"Licensor" shall mean the copyright owner or entity authorized by the copyright +owner that is granting the License. + +"Legal Entity" shall mean the union of the acting entity and all other entities +that control, are controlled by, or are under common control with that entity. +For the purposes of this definition, "control" means (i) the power, direct or +indirect, to cause the direction or management of such entity, whether by +contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the +outstanding shares, or (iii) beneficial ownership of such entity. + +"You" (or "Your") shall mean an individual or Legal Entity exercising +permissions granted by this License. + +"Source" form shall mean the preferred form for making modifications, including +but not limited to software source code, documentation source, and configuration +files. + +"Object" form shall mean any form resulting from mechanical transformation or +translation of a Source form, including but not limited to compiled object code, +generated documentation, and conversions to other media types. + +"Work" shall mean the work of authorship, whether in Source or Object form, made +available under the License, as indicated by a copyright notice that is included +in or attached to the work (an example is provided in the Appendix below). + +"Derivative Works" shall mean any work, whether in Source or Object form, that +is based on (or derived from) the Work and for which the editorial revisions, +annotations, elaborations, or other modifications represent, as a whole, an +original work of authorship. For the purposes of this License, Derivative Works +shall not include works that remain separable from, or merely link (or bind by +name) to the interfaces of, the Work and Derivative Works thereof. + +"Contribution" shall mean any work of authorship, including the original version +of the Work and any modifications or additions to that Work or Derivative Works +thereof, that is intentionally submitted to Licensor for inclusion in the Work +by the copyright owner or by an individual or Legal Entity authorized to submit +on behalf of the copyright owner. For the purposes of this definition, +"submitted" means any form of electronic, verbal, or written communication sent +to the Licensor or its representatives, including but not limited to +communication on electronic mailing lists, source code control systems, and +issue tracking systems that are managed by, or on behalf of, the Licensor for +the purpose of discussing and improving the Work, but excluding communication +that is conspicuously marked or otherwise designated in writing by the copyright +owner as "Not a Contribution." + +"Contributor" shall mean Licensor and any individual or Legal Entity on behalf +of whom a Contribution has been received by Licensor and subsequently +incorporated within the Work. + +2. Grant of Copyright License. + +Subject to the terms and conditions of this License, each Contributor hereby +grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, +irrevocable copyright license to reproduce, prepare Derivative Works of, +publicly display, publicly perform, sublicense, and distribute the Work and such +Derivative Works in Source or Object form. + +3. Grant of Patent License. + +Subject to the terms and conditions of this License, each Contributor hereby +grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, +irrevocable (except as stated in this section) patent license to make, have +made, use, offer to sell, sell, import, and otherwise transfer the Work, where +such license applies only to those patent claims licensable by such Contributor +that are necessarily infringed by their Contribution(s) alone or by combination +of their Contribution(s) with the Work to which such Contribution(s) was +submitted. If You institute patent litigation against any entity (including a +cross-claim or counterclaim in a lawsuit) alleging that the Work or a +Contribution incorporated within the Work constitutes direct or contributory +patent infringement, then any patent licenses granted to You under this License +for that Work shall terminate as of the date such litigation is filed. + +4. Redistribution. + +You may reproduce and distribute copies of the Work or Derivative Works thereof +in any medium, with or without modifications, and in Source or Object form, +provided that You meet the following conditions: + +You must give any other recipients of the Work or Derivative Works a copy of +this License; and +You must cause any modified files to carry prominent notices stating that You +changed the files; and +You must retain, in the Source form of any Derivative Works that You distribute, +all copyright, patent, trademark, and attribution notices from the Source form +of the Work, excluding those notices that do not pertain to any part of the +Derivative Works; and +If the Work includes a "NOTICE" text file as part of its distribution, then any +Derivative Works that You distribute must include a readable copy of the +attribution notices contained within such NOTICE file, excluding those notices +that do not pertain to any part of the Derivative Works, in at least one of the +following places: within a NOTICE text file distributed as part of the +Derivative Works; within the Source form or documentation, if provided along +with the Derivative Works; or, within a display generated by the Derivative +Works, if and wherever such third-party notices normally appear. The contents of +the NOTICE file are for informational purposes only and do not modify the +License. You may add Your own attribution notices within Derivative Works that +You distribute, alongside or as an addendum to the NOTICE text from the Work, +provided that such additional attribution notices cannot be construed as +modifying the License. +You may add Your own copyright statement to Your modifications and may provide +additional or different license terms and conditions for use, reproduction, or +distribution of Your modifications, or for any such Derivative Works as a whole, +provided Your use, reproduction, and distribution of the Work otherwise complies +with the conditions stated in this License. + +5. Submission of Contributions. + +Unless You explicitly state otherwise, any Contribution intentionally submitted +for inclusion in the Work by You to the Licensor shall be under the terms and +conditions of this License, without any additional terms or conditions. +Notwithstanding the above, nothing herein shall supersede or modify the terms of +any separate license agreement you may have executed with Licensor regarding +such Contributions. + +6. Trademarks. + +This License does not grant permission to use the trade names, trademarks, +service marks, or product names of the Licensor, except as required for +reasonable and customary use in describing the origin of the Work and +reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. + +Unless required by applicable law or agreed to in writing, Licensor provides the +Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, +including, without limitation, any warranties or conditions of TITLE, +NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are +solely responsible for determining the appropriateness of using or +redistributing the Work and assume any risks associated with Your exercise of +permissions under this License. + +8. Limitation of Liability. + +In no event and under no legal theory, whether in tort (including negligence), +contract, or otherwise, unless required by applicable law (such as deliberate +and grossly negligent acts) or agreed to in writing, shall any Contributor be +liable to You for damages, including any direct, indirect, special, incidental, +or consequential damages of any character arising as a result of this License or +out of the use or inability to use the Work (including but not limited to +damages for loss of goodwill, work stoppage, computer failure or malfunction, or +any and all other commercial damages or losses), even if such Contributor has +been advised of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. + +While redistributing the Work or Derivative Works thereof, You may choose to +offer, and charge a fee for, acceptance of support, warranty, indemnity, or +other liability obligations and/or rights consistent with this License. However, +in accepting such obligations, You may act only on Your own behalf and on Your +sole responsibility, not on behalf of any other Contributor, and only if You +agree to indemnify, defend, and hold each Contributor harmless for any liability +incurred by, or claims asserted against, such Contributor by reason of your +accepting any such warranty or additional liability. + +END OF TERMS AND CONDITIONS + +APPENDIX: How to apply the Apache License to your work + +To apply the Apache License to your work, attach the following boilerplate +notice, with the fields enclosed by brackets "[]" replaced with your own +identifying information. (Don't include the brackets!) The text should be +enclosed in the appropriate comment syntax for the file format. We also +recommend that a file or class name and description of purpose be included on +the same "printed page" as the copyright notice for easier identification within +third-party archives. + + Copyright [yyyy] [name of copyright owner] + + 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. diff --git a/vendor/github.com/go-ini/ini/Makefile b/vendor/github.com/go-ini/ini/Makefile new file mode 100644 index 0000000000..ac034e5258 --- /dev/null +++ b/vendor/github.com/go-ini/ini/Makefile @@ -0,0 +1,12 @@ +.PHONY: build test bench vet + +build: vet bench + +test: + go test -v -cover -race + +bench: + go test -v -cover -race -test.bench=. -test.benchmem + +vet: + go vet diff --git a/vendor/github.com/go-ini/ini/README.md b/vendor/github.com/go-ini/ini/README.md new file mode 100644 index 0000000000..85947422d7 --- /dev/null +++ b/vendor/github.com/go-ini/ini/README.md @@ -0,0 +1,740 @@ +INI [![Build Status](https://travis-ci.org/go-ini/ini.svg?branch=master)](https://travis-ci.org/go-ini/ini) [![Sourcegraph](https://sourcegraph.com/github.com/go-ini/ini/-/badge.svg)](https://sourcegraph.com/github.com/go-ini/ini?badge) +=== + +![](https://avatars0.githubusercontent.com/u/10216035?v=3&s=200) + +Package ini provides INI file read and write functionality in Go. + +[简体中文](README_ZH.md) + +## Feature + +- Load multiple data sources(`[]byte`, file and `io.ReadCloser`) with overwrites. +- Read with recursion values. +- Read with parent-child sections. +- Read with auto-increment key names. +- Read with multiple-line values. +- Read with tons of helper methods. +- Read and convert values to Go types. +- Read and **WRITE** comments of sections and keys. +- Manipulate sections, keys and comments with ease. +- Keep sections and keys in order as you parse and save. + +## Installation + +To use a tagged revision: + + go get gopkg.in/ini.v1 + +To use with latest changes: + + go get github.com/go-ini/ini + +Please add `-u` flag to update in the future. + +### Testing + +If you want to test on your machine, please apply `-t` flag: + + go get -t gopkg.in/ini.v1 + +Please add `-u` flag to update in the future. + +## Getting Started + +### Loading from data sources + +A **Data Source** is either raw data in type `[]byte`, a file name with type `string` or `io.ReadCloser`. You can load **as many data sources as you want**. Passing other types will simply return an error. + +```go +cfg, err := ini.Load([]byte("raw data"), "filename", ioutil.NopCloser(bytes.NewReader([]byte("some other data")))) +``` + +Or start with an empty object: + +```go +cfg := ini.Empty() +``` + +When you cannot decide how many data sources to load at the beginning, you will still be able to **Append()** them later. + +```go +err := cfg.Append("other file", []byte("other raw data")) +``` + +If you have a list of files with possibilities that some of them may not available at the time, and you don't know exactly which ones, you can use `LooseLoad` to ignore nonexistent files without returning error. + +```go +cfg, err := ini.LooseLoad("filename", "filename_404") +``` + +The cool thing is, whenever the file is available to load while you're calling `Reload` method, it will be counted as usual. + +#### Ignore cases of key name + +When you do not care about cases of section and key names, you can use `InsensitiveLoad` to force all names to be lowercased while parsing. + +```go +cfg, err := ini.InsensitiveLoad("filename") +//... + +// sec1 and sec2 are the exactly same section object +sec1, err := cfg.GetSection("Section") +sec2, err := cfg.GetSection("SecTIOn") + +// key1 and key2 are the exactly same key object +key1, err := cfg.GetKey("Key") +key2, err := cfg.GetKey("KeY") +``` + +#### MySQL-like boolean key + +MySQL's configuration allows a key without value as follows: + +```ini +[mysqld] +... +skip-host-cache +skip-name-resolve +``` + +By default, this is considered as missing value. But if you know you're going to deal with those cases, you can assign advanced load options: + +```go +cfg, err := LoadSources(LoadOptions{AllowBooleanKeys: true}, "my.cnf")) +``` + +The value of those keys are always `true`, and when you save to a file, it will keep in the same foramt as you read. + +To generate such keys in your program, you could use `NewBooleanKey`: + +```go +key, err := sec.NewBooleanKey("skip-host-cache") +``` + +#### Comment + +Take care that following format will be treated as comment: + +1. Line begins with `#` or `;` +2. Words after `#` or `;` +3. Words after section name (i.e words after `[some section name]`) + +If you want to save a value with `#` or `;`, please quote them with ``` ` ``` or ``` """ ```. + +### Working with sections + +To get a section, you would need to: + +```go +section, err := cfg.GetSection("section name") +``` + +For a shortcut for default section, just give an empty string as name: + +```go +section, err := cfg.GetSection("") +``` + +When you're pretty sure the section exists, following code could make your life easier: + +```go +section := cfg.Section("section name") +``` + +What happens when the section somehow does not exist? Don't panic, it automatically creates and returns a new section to you. + +To create a new section: + +```go +err := cfg.NewSection("new section") +``` + +To get a list of sections or section names: + +```go +sections := cfg.Sections() +names := cfg.SectionStrings() +``` + +### Working with keys + +To get a key under a section: + +```go +key, err := cfg.Section("").GetKey("key name") +``` + +Same rule applies to key operations: + +```go +key := cfg.Section("").Key("key name") +``` + +To check if a key exists: + +```go +yes := cfg.Section("").HasKey("key name") +``` + +To create a new key: + +```go +err := cfg.Section("").NewKey("name", "value") +``` + +To get a list of keys or key names: + +```go +keys := cfg.Section("").Keys() +names := cfg.Section("").KeyStrings() +``` + +To get a clone hash of keys and corresponding values: + +```go +hash := cfg.Section("").KeysHash() +``` + +### Working with values + +To get a string value: + +```go +val := cfg.Section("").Key("key name").String() +``` + +To validate key value on the fly: + +```go +val := cfg.Section("").Key("key name").Validate(func(in string) string { + if len(in) == 0 { + return "default" + } + return in +}) +``` + +If you do not want any auto-transformation (such as recursive read) for the values, you can get raw value directly (this way you get much better performance): + +```go +val := cfg.Section("").Key("key name").Value() +``` + +To check if raw value exists: + +```go +yes := cfg.Section("").HasValue("test value") +``` + +To get value with types: + +```go +// For boolean values: +// true when value is: 1, t, T, TRUE, true, True, YES, yes, Yes, y, ON, on, On +// false when value is: 0, f, F, FALSE, false, False, NO, no, No, n, OFF, off, Off +v, err = cfg.Section("").Key("BOOL").Bool() +v, err = cfg.Section("").Key("FLOAT64").Float64() +v, err = cfg.Section("").Key("INT").Int() +v, err = cfg.Section("").Key("INT64").Int64() +v, err = cfg.Section("").Key("UINT").Uint() +v, err = cfg.Section("").Key("UINT64").Uint64() +v, err = cfg.Section("").Key("TIME").TimeFormat(time.RFC3339) +v, err = cfg.Section("").Key("TIME").Time() // RFC3339 + +v = cfg.Section("").Key("BOOL").MustBool() +v = cfg.Section("").Key("FLOAT64").MustFloat64() +v = cfg.Section("").Key("INT").MustInt() +v = cfg.Section("").Key("INT64").MustInt64() +v = cfg.Section("").Key("UINT").MustUint() +v = cfg.Section("").Key("UINT64").MustUint64() +v = cfg.Section("").Key("TIME").MustTimeFormat(time.RFC3339) +v = cfg.Section("").Key("TIME").MustTime() // RFC3339 + +// Methods start with Must also accept one argument for default value +// when key not found or fail to parse value to given type. +// Except method MustString, which you have to pass a default value. + +v = cfg.Section("").Key("String").MustString("default") +v = cfg.Section("").Key("BOOL").MustBool(true) +v = cfg.Section("").Key("FLOAT64").MustFloat64(1.25) +v = cfg.Section("").Key("INT").MustInt(10) +v = cfg.Section("").Key("INT64").MustInt64(99) +v = cfg.Section("").Key("UINT").MustUint(3) +v = cfg.Section("").Key("UINT64").MustUint64(6) +v = cfg.Section("").Key("TIME").MustTimeFormat(time.RFC3339, time.Now()) +v = cfg.Section("").Key("TIME").MustTime(time.Now()) // RFC3339 +``` + +What if my value is three-line long? + +```ini +[advance] +ADDRESS = """404 road, +NotFound, State, 5000 +Earth""" +``` + +Not a problem! + +```go +cfg.Section("advance").Key("ADDRESS").String() + +/* --- start --- +404 road, +NotFound, State, 5000 +Earth +------ end --- */ +``` + +That's cool, how about continuation lines? + +```ini +[advance] +two_lines = how about \ + continuation lines? +lots_of_lines = 1 \ + 2 \ + 3 \ + 4 +``` + +Piece of cake! + +```go +cfg.Section("advance").Key("two_lines").String() // how about continuation lines? +cfg.Section("advance").Key("lots_of_lines").String() // 1 2 3 4 +``` + +Well, I hate continuation lines, how do I disable that? + +```go +cfg, err := ini.LoadSources(ini.LoadOptions{ + IgnoreContinuation: true, +}, "filename") +``` + +Holy crap! + +Note that single quotes around values will be stripped: + +```ini +foo = "some value" // foo: some value +bar = 'some value' // bar: some value +``` + +That's all? Hmm, no. + +#### Helper methods of working with values + +To get value with given candidates: + +```go +v = cfg.Section("").Key("STRING").In("default", []string{"str", "arr", "types"}) +v = cfg.Section("").Key("FLOAT64").InFloat64(1.1, []float64{1.25, 2.5, 3.75}) +v = cfg.Section("").Key("INT").InInt(5, []int{10, 20, 30}) +v = cfg.Section("").Key("INT64").InInt64(10, []int64{10, 20, 30}) +v = cfg.Section("").Key("UINT").InUint(4, []int{3, 6, 9}) +v = cfg.Section("").Key("UINT64").InUint64(8, []int64{3, 6, 9}) +v = cfg.Section("").Key("TIME").InTimeFormat(time.RFC3339, time.Now(), []time.Time{time1, time2, time3}) +v = cfg.Section("").Key("TIME").InTime(time.Now(), []time.Time{time1, time2, time3}) // RFC3339 +``` + +Default value will be presented if value of key is not in candidates you given, and default value does not need be one of candidates. + +To validate value in a given range: + +```go +vals = cfg.Section("").Key("FLOAT64").RangeFloat64(0.0, 1.1, 2.2) +vals = cfg.Section("").Key("INT").RangeInt(0, 10, 20) +vals = cfg.Section("").Key("INT64").RangeInt64(0, 10, 20) +vals = cfg.Section("").Key("UINT").RangeUint(0, 3, 9) +vals = cfg.Section("").Key("UINT64").RangeUint64(0, 3, 9) +vals = cfg.Section("").Key("TIME").RangeTimeFormat(time.RFC3339, time.Now(), minTime, maxTime) +vals = cfg.Section("").Key("TIME").RangeTime(time.Now(), minTime, maxTime) // RFC3339 +``` + +##### Auto-split values into a slice + +To use zero value of type for invalid inputs: + +```go +// Input: 1.1, 2.2, 3.3, 4.4 -> [1.1 2.2 3.3 4.4] +// Input: how, 2.2, are, you -> [0.0 2.2 0.0 0.0] +vals = cfg.Section("").Key("STRINGS").Strings(",") +vals = cfg.Section("").Key("FLOAT64S").Float64s(",") +vals = cfg.Section("").Key("INTS").Ints(",") +vals = cfg.Section("").Key("INT64S").Int64s(",") +vals = cfg.Section("").Key("UINTS").Uints(",") +vals = cfg.Section("").Key("UINT64S").Uint64s(",") +vals = cfg.Section("").Key("TIMES").Times(",") +``` + +To exclude invalid values out of result slice: + +```go +// Input: 1.1, 2.2, 3.3, 4.4 -> [1.1 2.2 3.3 4.4] +// Input: how, 2.2, are, you -> [2.2] +vals = cfg.Section("").Key("FLOAT64S").ValidFloat64s(",") +vals = cfg.Section("").Key("INTS").ValidInts(",") +vals = cfg.Section("").Key("INT64S").ValidInt64s(",") +vals = cfg.Section("").Key("UINTS").ValidUints(",") +vals = cfg.Section("").Key("UINT64S").ValidUint64s(",") +vals = cfg.Section("").Key("TIMES").ValidTimes(",") +``` + +Or to return nothing but error when have invalid inputs: + +```go +// Input: 1.1, 2.2, 3.3, 4.4 -> [1.1 2.2 3.3 4.4] +// Input: how, 2.2, are, you -> error +vals = cfg.Section("").Key("FLOAT64S").StrictFloat64s(",") +vals = cfg.Section("").Key("INTS").StrictInts(",") +vals = cfg.Section("").Key("INT64S").StrictInt64s(",") +vals = cfg.Section("").Key("UINTS").StrictUints(",") +vals = cfg.Section("").Key("UINT64S").StrictUint64s(",") +vals = cfg.Section("").Key("TIMES").StrictTimes(",") +``` + +### Save your configuration + +Finally, it's time to save your configuration to somewhere. + +A typical way to save configuration is writing it to a file: + +```go +// ... +err = cfg.SaveTo("my.ini") +err = cfg.SaveToIndent("my.ini", "\t") +``` + +Another way to save is writing to a `io.Writer` interface: + +```go +// ... +cfg.WriteTo(writer) +cfg.WriteToIndent(writer, "\t") +``` + +By default, spaces are used to align "=" sign between key and values, to disable that: + +```go +ini.PrettyFormat = false +``` + +## Advanced Usage + +### Recursive Values + +For all value of keys, there is a special syntax `%()s`, where `` is the key name in same section or default section, and `%()s` will be replaced by corresponding value(empty string if key not found). You can use this syntax at most 99 level of recursions. + +```ini +NAME = ini + +[author] +NAME = Unknwon +GITHUB = https://github.com/%(NAME)s + +[package] +FULL_NAME = github.com/go-ini/%(NAME)s +``` + +```go +cfg.Section("author").Key("GITHUB").String() // https://github.com/Unknwon +cfg.Section("package").Key("FULL_NAME").String() // github.com/go-ini/ini +``` + +### Parent-child Sections + +You can use `.` in section name to indicate parent-child relationship between two or more sections. If the key not found in the child section, library will try again on its parent section until there is no parent section. + +```ini +NAME = ini +VERSION = v1 +IMPORT_PATH = gopkg.in/%(NAME)s.%(VERSION)s + +[package] +CLONE_URL = https://%(IMPORT_PATH)s + +[package.sub] +``` + +```go +cfg.Section("package.sub").Key("CLONE_URL").String() // https://gopkg.in/ini.v1 +``` + +#### Retrieve parent keys available to a child section + +```go +cfg.Section("package.sub").ParentKeys() // ["CLONE_URL"] +``` + +### Unparseable Sections + +Sometimes, you have sections that do not contain key-value pairs but raw content, to handle such case, you can use `LoadOptions.UnparsableSections`: + +```go +cfg, err := LoadSources(LoadOptions{UnparseableSections: []string{"COMMENTS"}}, `[COMMENTS] +<1> This slide has the fuel listed in the wrong units `)) + +body := cfg.Section("COMMENTS").Body() + +/* --- start --- +<1> This slide has the fuel listed in the wrong units +------ end --- */ +``` + +### Auto-increment Key Names + +If key name is `-` in data source, then it would be seen as special syntax for auto-increment key name start from 1, and every section is independent on counter. + +```ini +[features] +-: Support read/write comments of keys and sections +-: Support auto-increment of key names +-: Support load multiple files to overwrite key values +``` + +```go +cfg.Section("features").KeyStrings() // []{"#1", "#2", "#3"} +``` + +### Map To Struct + +Want more objective way to play with INI? Cool. + +```ini +Name = Unknwon +age = 21 +Male = true +Born = 1993-01-01T20:17:05Z + +[Note] +Content = Hi is a good man! +Cities = HangZhou, Boston +``` + +```go +type Note struct { + Content string + Cities []string +} + +type Person struct { + Name string + Age int `ini:"age"` + Male bool + Born time.Time + Note + Created time.Time `ini:"-"` +} + +func main() { + cfg, err := ini.Load("path/to/ini") + // ... + p := new(Person) + err = cfg.MapTo(p) + // ... + + // Things can be simpler. + err = ini.MapTo(p, "path/to/ini") + // ... + + // Just map a section? Fine. + n := new(Note) + err = cfg.Section("Note").MapTo(n) + // ... +} +``` + +Can I have default value for field? Absolutely. + +Assign it before you map to struct. It will keep the value as it is if the key is not presented or got wrong type. + +```go +// ... +p := &Person{ + Name: "Joe", +} +// ... +``` + +It's really cool, but what's the point if you can't give me my file back from struct? + +### Reflect From Struct + +Why not? + +```go +type Embeded struct { + Dates []time.Time `delim:"|"` + Places []string `ini:"places,omitempty"` + None []int `ini:",omitempty"` +} + +type Author struct { + Name string `ini:"NAME"` + Male bool + Age int + GPA float64 + NeverMind string `ini:"-"` + *Embeded +} + +func main() { + a := &Author{"Unknwon", true, 21, 2.8, "", + &Embeded{ + []time.Time{time.Now(), time.Now()}, + []string{"HangZhou", "Boston"}, + []int{}, + }} + cfg := ini.Empty() + err = ini.ReflectFrom(cfg, a) + // ... +} +``` + +So, what do I get? + +```ini +NAME = Unknwon +Male = true +Age = 21 +GPA = 2.8 + +[Embeded] +Dates = 2015-08-07T22:14:22+08:00|2015-08-07T22:14:22+08:00 +places = HangZhou,Boston +``` + +#### Name Mapper + +To save your time and make your code cleaner, this library supports [`NameMapper`](https://gowalker.org/gopkg.in/ini.v1#NameMapper) between struct field and actual section and key name. + +There are 2 built-in name mappers: + +- `AllCapsUnderscore`: it converts to format `ALL_CAPS_UNDERSCORE` then match section or key. +- `TitleUnderscore`: it converts to format `title_underscore` then match section or key. + +To use them: + +```go +type Info struct { + PackageName string +} + +func main() { + err = ini.MapToWithMapper(&Info{}, ini.TitleUnderscore, []byte("package_name=ini")) + // ... + + cfg, err := ini.Load([]byte("PACKAGE_NAME=ini")) + // ... + info := new(Info) + cfg.NameMapper = ini.AllCapsUnderscore + err = cfg.MapTo(info) + // ... +} +``` + +Same rules of name mapper apply to `ini.ReflectFromWithMapper` function. + +#### Value Mapper + +To expand values (e.g. from environment variables), you can use the `ValueMapper` to transform values: + +```go +type Env struct { + Foo string `ini:"foo"` +} + +func main() { + cfg, err := ini.Load([]byte("[env]\nfoo = ${MY_VAR}\n") + cfg.ValueMapper = os.ExpandEnv + // ... + env := &Env{} + err = cfg.Section("env").MapTo(env) +} +``` + +This would set the value of `env.Foo` to the value of the environment variable `MY_VAR`. + +#### Other Notes On Map/Reflect + +Any embedded struct is treated as a section by default, and there is no automatic parent-child relations in map/reflect feature: + +```go +type Child struct { + Age string +} + +type Parent struct { + Name string + Child +} + +type Config struct { + City string + Parent +} +``` + +Example configuration: + +```ini +City = Boston + +[Parent] +Name = Unknwon + +[Child] +Age = 21 +``` + +What if, yes, I'm paranoid, I want embedded struct to be in the same section. Well, all roads lead to Rome. + +```go +type Child struct { + Age string +} + +type Parent struct { + Name string + Child `ini:"Parent"` +} + +type Config struct { + City string + Parent +} +``` + +Example configuration: + +```ini +City = Boston + +[Parent] +Name = Unknwon +Age = 21 +``` + +## Getting Help + +- [API Documentation](https://gowalker.org/gopkg.in/ini.v1) +- [File An Issue](https://github.com/go-ini/ini/issues/new) + +## FAQs + +### What does `BlockMode` field do? + +By default, library lets you read and write values so we need a locker to make sure your data is safe. But in cases that you are very sure about only reading data through the library, you can set `cfg.BlockMode = false` to speed up read operations about **50-70%** faster. + +### Why another INI library? + +Many people are using my another INI library [goconfig](https://github.com/Unknwon/goconfig), so the reason for this one is I would like to make more Go style code. Also when you set `cfg.BlockMode = false`, this one is about **10-30%** faster. + +To make those changes I have to confirm API broken, so it's safer to keep it in another place and start using `gopkg.in` to version my package at this time.(PS: shorter import path) + +## License + +This project is under Apache v2 License. See the [LICENSE](LICENSE) file for the full license text. diff --git a/vendor/github.com/go-ini/ini/README_ZH.md b/vendor/github.com/go-ini/ini/README_ZH.md new file mode 100644 index 0000000000..163432db9a --- /dev/null +++ b/vendor/github.com/go-ini/ini/README_ZH.md @@ -0,0 +1,727 @@ +本包提供了 Go 语言中读写 INI 文件的功能。 + +## 功能特性 + +- 支持覆盖加载多个数据源(`[]byte`、文件和 `io.ReadCloser`) +- 支持递归读取键值 +- 支持读取父子分区 +- 支持读取自增键名 +- 支持读取多行的键值 +- 支持大量辅助方法 +- 支持在读取时直接转换为 Go 语言类型 +- 支持读取和 **写入** 分区和键的注释 +- 轻松操作分区、键值和注释 +- 在保存文件时分区和键值会保持原有的顺序 + +## 下载安装 + +使用一个特定版本: + + go get gopkg.in/ini.v1 + +使用最新版: + + go get github.com/go-ini/ini + +如需更新请添加 `-u` 选项。 + +### 测试安装 + +如果您想要在自己的机器上运行测试,请使用 `-t` 标记: + + go get -t gopkg.in/ini.v1 + +如需更新请添加 `-u` 选项。 + +## 开始使用 + +### 从数据源加载 + +一个 **数据源** 可以是 `[]byte` 类型的原始数据,`string` 类型的文件路径或 `io.ReadCloser`。您可以加载 **任意多个** 数据源。如果您传递其它类型的数据源,则会直接返回错误。 + +```go +cfg, err := ini.Load([]byte("raw data"), "filename", ioutil.NopCloser(bytes.NewReader([]byte("some other data")))) +``` + +或者从一个空白的文件开始: + +```go +cfg := ini.Empty() +``` + +当您在一开始无法决定需要加载哪些数据源时,仍可以使用 **Append()** 在需要的时候加载它们。 + +```go +err := cfg.Append("other file", []byte("other raw data")) +``` + +当您想要加载一系列文件,但是不能够确定其中哪些文件是不存在的,可以通过调用函数 `LooseLoad` 来忽略它们(`Load` 会因为文件不存在而返回错误): + +```go +cfg, err := ini.LooseLoad("filename", "filename_404") +``` + +更牛逼的是,当那些之前不存在的文件在重新调用 `Reload` 方法的时候突然出现了,那么它们会被正常加载。 + +#### 忽略键名的大小写 + +有时候分区和键的名称大小写混合非常烦人,这个时候就可以通过 `InsensitiveLoad` 将所有分区和键名在读取里强制转换为小写: + +```go +cfg, err := ini.InsensitiveLoad("filename") +//... + +// sec1 和 sec2 指向同一个分区对象 +sec1, err := cfg.GetSection("Section") +sec2, err := cfg.GetSection("SecTIOn") + +// key1 和 key2 指向同一个键对象 +key1, err := cfg.GetKey("Key") +key2, err := cfg.GetKey("KeY") +``` + +#### 类似 MySQL 配置中的布尔值键 + +MySQL 的配置文件中会出现没有具体值的布尔类型的键: + +```ini +[mysqld] +... +skip-host-cache +skip-name-resolve +``` + +默认情况下这被认为是缺失值而无法完成解析,但可以通过高级的加载选项对它们进行处理: + +```go +cfg, err := LoadSources(LoadOptions{AllowBooleanKeys: true}, "my.cnf")) +``` + +这些键的值永远为 `true`,且在保存到文件时也只会输出键名。 + +如果您想要通过程序来生成此类键,则可以使用 `NewBooleanKey`: + +```go +key, err := sec.NewBooleanKey("skip-host-cache") +``` + +#### 关于注释 + +下述几种情况的内容将被视为注释: + +1. 所有以 `#` 或 `;` 开头的行 +2. 所有在 `#` 或 `;` 之后的内容 +3. 分区标签后的文字 (即 `[分区名]` 之后的内容) + +如果你希望使用包含 `#` 或 `;` 的值,请使用 ``` ` ``` 或 ``` """ ``` 进行包覆。 + +### 操作分区(Section) + +获取指定分区: + +```go +section, err := cfg.GetSection("section name") +``` + +如果您想要获取默认分区,则可以用空字符串代替分区名: + +```go +section, err := cfg.GetSection("") +``` + +当您非常确定某个分区是存在的,可以使用以下简便方法: + +```go +section := cfg.Section("section name") +``` + +如果不小心判断错了,要获取的分区其实是不存在的,那会发生什么呢?没事的,它会自动创建并返回一个对应的分区对象给您。 + +创建一个分区: + +```go +err := cfg.NewSection("new section") +``` + +获取所有分区对象或名称: + +```go +sections := cfg.Sections() +names := cfg.SectionStrings() +``` + +### 操作键(Key) + +获取某个分区下的键: + +```go +key, err := cfg.Section("").GetKey("key name") +``` + +和分区一样,您也可以直接获取键而忽略错误处理: + +```go +key := cfg.Section("").Key("key name") +``` + +判断某个键是否存在: + +```go +yes := cfg.Section("").HasKey("key name") +``` + +创建一个新的键: + +```go +err := cfg.Section("").NewKey("name", "value") +``` + +获取分区下的所有键或键名: + +```go +keys := cfg.Section("").Keys() +names := cfg.Section("").KeyStrings() +``` + +获取分区下的所有键值对的克隆: + +```go +hash := cfg.Section("").KeysHash() +``` + +### 操作键值(Value) + +获取一个类型为字符串(string)的值: + +```go +val := cfg.Section("").Key("key name").String() +``` + +获取值的同时通过自定义函数进行处理验证: + +```go +val := cfg.Section("").Key("key name").Validate(func(in string) string { + if len(in) == 0 { + return "default" + } + return in +}) +``` + +如果您不需要任何对值的自动转变功能(例如递归读取),可以直接获取原值(这种方式性能最佳): + +```go +val := cfg.Section("").Key("key name").Value() +``` + +判断某个原值是否存在: + +```go +yes := cfg.Section("").HasValue("test value") +``` + +获取其它类型的值: + +```go +// 布尔值的规则: +// true 当值为:1, t, T, TRUE, true, True, YES, yes, Yes, y, ON, on, On +// false 当值为:0, f, F, FALSE, false, False, NO, no, No, n, OFF, off, Off +v, err = cfg.Section("").Key("BOOL").Bool() +v, err = cfg.Section("").Key("FLOAT64").Float64() +v, err = cfg.Section("").Key("INT").Int() +v, err = cfg.Section("").Key("INT64").Int64() +v, err = cfg.Section("").Key("UINT").Uint() +v, err = cfg.Section("").Key("UINT64").Uint64() +v, err = cfg.Section("").Key("TIME").TimeFormat(time.RFC3339) +v, err = cfg.Section("").Key("TIME").Time() // RFC3339 + +v = cfg.Section("").Key("BOOL").MustBool() +v = cfg.Section("").Key("FLOAT64").MustFloat64() +v = cfg.Section("").Key("INT").MustInt() +v = cfg.Section("").Key("INT64").MustInt64() +v = cfg.Section("").Key("UINT").MustUint() +v = cfg.Section("").Key("UINT64").MustUint64() +v = cfg.Section("").Key("TIME").MustTimeFormat(time.RFC3339) +v = cfg.Section("").Key("TIME").MustTime() // RFC3339 + +// 由 Must 开头的方法名允许接收一个相同类型的参数来作为默认值, +// 当键不存在或者转换失败时,则会直接返回该默认值。 +// 但是,MustString 方法必须传递一个默认值。 + +v = cfg.Seciont("").Key("String").MustString("default") +v = cfg.Section("").Key("BOOL").MustBool(true) +v = cfg.Section("").Key("FLOAT64").MustFloat64(1.25) +v = cfg.Section("").Key("INT").MustInt(10) +v = cfg.Section("").Key("INT64").MustInt64(99) +v = cfg.Section("").Key("UINT").MustUint(3) +v = cfg.Section("").Key("UINT64").MustUint64(6) +v = cfg.Section("").Key("TIME").MustTimeFormat(time.RFC3339, time.Now()) +v = cfg.Section("").Key("TIME").MustTime(time.Now()) // RFC3339 +``` + +如果我的值有好多行怎么办? + +```ini +[advance] +ADDRESS = """404 road, +NotFound, State, 5000 +Earth""" +``` + +嗯哼?小 case! + +```go +cfg.Section("advance").Key("ADDRESS").String() + +/* --- start --- +404 road, +NotFound, State, 5000 +Earth +------ end --- */ +``` + +赞爆了!那要是我属于一行的内容写不下想要写到第二行怎么办? + +```ini +[advance] +two_lines = how about \ + continuation lines? +lots_of_lines = 1 \ + 2 \ + 3 \ + 4 +``` + +简直是小菜一碟! + +```go +cfg.Section("advance").Key("two_lines").String() // how about continuation lines? +cfg.Section("advance").Key("lots_of_lines").String() // 1 2 3 4 +``` + +可是我有时候觉得两行连在一起特别没劲,怎么才能不自动连接两行呢? + +```go +cfg, err := ini.LoadSources(ini.LoadOptions{ + IgnoreContinuation: true, +}, "filename") +``` + +哇靠给力啊! + +需要注意的是,值两侧的单引号会被自动剔除: + +```ini +foo = "some value" // foo: some value +bar = 'some value' // bar: some value +``` + +这就是全部了?哈哈,当然不是。 + +#### 操作键值的辅助方法 + +获取键值时设定候选值: + +```go +v = cfg.Section("").Key("STRING").In("default", []string{"str", "arr", "types"}) +v = cfg.Section("").Key("FLOAT64").InFloat64(1.1, []float64{1.25, 2.5, 3.75}) +v = cfg.Section("").Key("INT").InInt(5, []int{10, 20, 30}) +v = cfg.Section("").Key("INT64").InInt64(10, []int64{10, 20, 30}) +v = cfg.Section("").Key("UINT").InUint(4, []int{3, 6, 9}) +v = cfg.Section("").Key("UINT64").InUint64(8, []int64{3, 6, 9}) +v = cfg.Section("").Key("TIME").InTimeFormat(time.RFC3339, time.Now(), []time.Time{time1, time2, time3}) +v = cfg.Section("").Key("TIME").InTime(time.Now(), []time.Time{time1, time2, time3}) // RFC3339 +``` + +如果获取到的值不是候选值的任意一个,则会返回默认值,而默认值不需要是候选值中的一员。 + +验证获取的值是否在指定范围内: + +```go +vals = cfg.Section("").Key("FLOAT64").RangeFloat64(0.0, 1.1, 2.2) +vals = cfg.Section("").Key("INT").RangeInt(0, 10, 20) +vals = cfg.Section("").Key("INT64").RangeInt64(0, 10, 20) +vals = cfg.Section("").Key("UINT").RangeUint(0, 3, 9) +vals = cfg.Section("").Key("UINT64").RangeUint64(0, 3, 9) +vals = cfg.Section("").Key("TIME").RangeTimeFormat(time.RFC3339, time.Now(), minTime, maxTime) +vals = cfg.Section("").Key("TIME").RangeTime(time.Now(), minTime, maxTime) // RFC3339 +``` + +##### 自动分割键值到切片(slice) + +当存在无效输入时,使用零值代替: + +```go +// Input: 1.1, 2.2, 3.3, 4.4 -> [1.1 2.2 3.3 4.4] +// Input: how, 2.2, are, you -> [0.0 2.2 0.0 0.0] +vals = cfg.Section("").Key("STRINGS").Strings(",") +vals = cfg.Section("").Key("FLOAT64S").Float64s(",") +vals = cfg.Section("").Key("INTS").Ints(",") +vals = cfg.Section("").Key("INT64S").Int64s(",") +vals = cfg.Section("").Key("UINTS").Uints(",") +vals = cfg.Section("").Key("UINT64S").Uint64s(",") +vals = cfg.Section("").Key("TIMES").Times(",") +``` + +从结果切片中剔除无效输入: + +```go +// Input: 1.1, 2.2, 3.3, 4.4 -> [1.1 2.2 3.3 4.4] +// Input: how, 2.2, are, you -> [2.2] +vals = cfg.Section("").Key("FLOAT64S").ValidFloat64s(",") +vals = cfg.Section("").Key("INTS").ValidInts(",") +vals = cfg.Section("").Key("INT64S").ValidInt64s(",") +vals = cfg.Section("").Key("UINTS").ValidUints(",") +vals = cfg.Section("").Key("UINT64S").ValidUint64s(",") +vals = cfg.Section("").Key("TIMES").ValidTimes(",") +``` + +当存在无效输入时,直接返回错误: + +```go +// Input: 1.1, 2.2, 3.3, 4.4 -> [1.1 2.2 3.3 4.4] +// Input: how, 2.2, are, you -> error +vals = cfg.Section("").Key("FLOAT64S").StrictFloat64s(",") +vals = cfg.Section("").Key("INTS").StrictInts(",") +vals = cfg.Section("").Key("INT64S").StrictInt64s(",") +vals = cfg.Section("").Key("UINTS").StrictUints(",") +vals = cfg.Section("").Key("UINT64S").StrictUint64s(",") +vals = cfg.Section("").Key("TIMES").StrictTimes(",") +``` + +### 保存配置 + +终于到了这个时刻,是时候保存一下配置了。 + +比较原始的做法是输出配置到某个文件: + +```go +// ... +err = cfg.SaveTo("my.ini") +err = cfg.SaveToIndent("my.ini", "\t") +``` + +另一个比较高级的做法是写入到任何实现 `io.Writer` 接口的对象中: + +```go +// ... +cfg.WriteTo(writer) +cfg.WriteToIndent(writer, "\t") +``` + +默认情况下,空格将被用于对齐键值之间的等号以美化输出结果,以下代码可以禁用该功能: + +```go +ini.PrettyFormat = false +``` + +## 高级用法 + +### 递归读取键值 + +在获取所有键值的过程中,特殊语法 `%()s` 会被应用,其中 `` 可以是相同分区或者默认分区下的键名。字符串 `%()s` 会被相应的键值所替代,如果指定的键不存在,则会用空字符串替代。您可以最多使用 99 层的递归嵌套。 + +```ini +NAME = ini + +[author] +NAME = Unknwon +GITHUB = https://github.com/%(NAME)s + +[package] +FULL_NAME = github.com/go-ini/%(NAME)s +``` + +```go +cfg.Section("author").Key("GITHUB").String() // https://github.com/Unknwon +cfg.Section("package").Key("FULL_NAME").String() // github.com/go-ini/ini +``` + +### 读取父子分区 + +您可以在分区名称中使用 `.` 来表示两个或多个分区之间的父子关系。如果某个键在子分区中不存在,则会去它的父分区中再次寻找,直到没有父分区为止。 + +```ini +NAME = ini +VERSION = v1 +IMPORT_PATH = gopkg.in/%(NAME)s.%(VERSION)s + +[package] +CLONE_URL = https://%(IMPORT_PATH)s + +[package.sub] +``` + +```go +cfg.Section("package.sub").Key("CLONE_URL").String() // https://gopkg.in/ini.v1 +``` + +#### 获取上级父分区下的所有键名 + +```go +cfg.Section("package.sub").ParentKeys() // ["CLONE_URL"] +``` + +### 无法解析的分区 + +如果遇到一些比较特殊的分区,它们不包含常见的键值对,而是没有固定格式的纯文本,则可以使用 `LoadOptions.UnparsableSections` 进行处理: + +```go +cfg, err := LoadSources(LoadOptions{UnparseableSections: []string{"COMMENTS"}}, `[COMMENTS] +<1> This slide has the fuel listed in the wrong units `)) + +body := cfg.Section("COMMENTS").Body() + +/* --- start --- +<1> This slide has the fuel listed in the wrong units +------ end --- */ +``` + +### 读取自增键名 + +如果数据源中的键名为 `-`,则认为该键使用了自增键名的特殊语法。计数器从 1 开始,并且分区之间是相互独立的。 + +```ini +[features] +-: Support read/write comments of keys and sections +-: Support auto-increment of key names +-: Support load multiple files to overwrite key values +``` + +```go +cfg.Section("features").KeyStrings() // []{"#1", "#2", "#3"} +``` + +### 映射到结构 + +想要使用更加面向对象的方式玩转 INI 吗?好主意。 + +```ini +Name = Unknwon +age = 21 +Male = true +Born = 1993-01-01T20:17:05Z + +[Note] +Content = Hi is a good man! +Cities = HangZhou, Boston +``` + +```go +type Note struct { + Content string + Cities []string +} + +type Person struct { + Name string + Age int `ini:"age"` + Male bool + Born time.Time + Note + Created time.Time `ini:"-"` +} + +func main() { + cfg, err := ini.Load("path/to/ini") + // ... + p := new(Person) + err = cfg.MapTo(p) + // ... + + // 一切竟可以如此的简单。 + err = ini.MapTo(p, "path/to/ini") + // ... + + // 嗯哼?只需要映射一个分区吗? + n := new(Note) + err = cfg.Section("Note").MapTo(n) + // ... +} +``` + +结构的字段怎么设置默认值呢?很简单,只要在映射之前对指定字段进行赋值就可以了。如果键未找到或者类型错误,该值不会发生改变。 + +```go +// ... +p := &Person{ + Name: "Joe", +} +// ... +``` + +这样玩 INI 真的好酷啊!然而,如果不能还给我原来的配置文件,有什么卵用? + +### 从结构反射 + +可是,我有说不能吗? + +```go +type Embeded struct { + Dates []time.Time `delim:"|"` + Places []string `ini:"places,omitempty"` + None []int `ini:",omitempty"` +} + +type Author struct { + Name string `ini:"NAME"` + Male bool + Age int + GPA float64 + NeverMind string `ini:"-"` + *Embeded +} + +func main() { + a := &Author{"Unknwon", true, 21, 2.8, "", + &Embeded{ + []time.Time{time.Now(), time.Now()}, + []string{"HangZhou", "Boston"}, + []int{}, + }} + cfg := ini.Empty() + err = ini.ReflectFrom(cfg, a) + // ... +} +``` + +瞧瞧,奇迹发生了。 + +```ini +NAME = Unknwon +Male = true +Age = 21 +GPA = 2.8 + +[Embeded] +Dates = 2015-08-07T22:14:22+08:00|2015-08-07T22:14:22+08:00 +places = HangZhou,Boston +``` + +#### 名称映射器(Name Mapper) + +为了节省您的时间并简化代码,本库支持类型为 [`NameMapper`](https://gowalker.org/gopkg.in/ini.v1#NameMapper) 的名称映射器,该映射器负责结构字段名与分区名和键名之间的映射。 + +目前有 2 款内置的映射器: + +- `AllCapsUnderscore`:该映射器将字段名转换至格式 `ALL_CAPS_UNDERSCORE` 后再去匹配分区名和键名。 +- `TitleUnderscore`:该映射器将字段名转换至格式 `title_underscore` 后再去匹配分区名和键名。 + +使用方法: + +```go +type Info struct{ + PackageName string +} + +func main() { + err = ini.MapToWithMapper(&Info{}, ini.TitleUnderscore, []byte("package_name=ini")) + // ... + + cfg, err := ini.Load([]byte("PACKAGE_NAME=ini")) + // ... + info := new(Info) + cfg.NameMapper = ini.AllCapsUnderscore + err = cfg.MapTo(info) + // ... +} +``` + +使用函数 `ini.ReflectFromWithMapper` 时也可应用相同的规则。 + +#### 值映射器(Value Mapper) + +值映射器允许使用一个自定义函数自动展开值的具体内容,例如:运行时获取环境变量: + +```go +type Env struct { + Foo string `ini:"foo"` +} + +func main() { + cfg, err := ini.Load([]byte("[env]\nfoo = ${MY_VAR}\n") + cfg.ValueMapper = os.ExpandEnv + // ... + env := &Env{} + err = cfg.Section("env").MapTo(env) +} +``` + +本例中,`env.Foo` 将会是运行时所获取到环境变量 `MY_VAR` 的值。 + +#### 映射/反射的其它说明 + +任何嵌入的结构都会被默认认作一个不同的分区,并且不会自动产生所谓的父子分区关联: + +```go +type Child struct { + Age string +} + +type Parent struct { + Name string + Child +} + +type Config struct { + City string + Parent +} +``` + +示例配置文件: + +```ini +City = Boston + +[Parent] +Name = Unknwon + +[Child] +Age = 21 +``` + +很好,但是,我就是要嵌入结构也在同一个分区。好吧,你爹是李刚! + +```go +type Child struct { + Age string +} + +type Parent struct { + Name string + Child `ini:"Parent"` +} + +type Config struct { + City string + Parent +} +``` + +示例配置文件: + +```ini +City = Boston + +[Parent] +Name = Unknwon +Age = 21 +``` + +## 获取帮助 + +- [API 文档](https://gowalker.org/gopkg.in/ini.v1) +- [创建工单](https://github.com/go-ini/ini/issues/new) + +## 常见问题 + +### 字段 `BlockMode` 是什么? + +默认情况下,本库会在您进行读写操作时采用锁机制来确保数据时间。但在某些情况下,您非常确定只进行读操作。此时,您可以通过设置 `cfg.BlockMode = false` 来将读操作提升大约 **50-70%** 的性能。 + +### 为什么要写另一个 INI 解析库? + +许多人都在使用我的 [goconfig](https://github.com/Unknwon/goconfig) 来完成对 INI 文件的操作,但我希望使用更加 Go 风格的代码。并且当您设置 `cfg.BlockMode = false` 时,会有大约 **10-30%** 的性能提升。 + +为了做出这些改变,我必须对 API 进行破坏,所以新开一个仓库是最安全的做法。除此之外,本库直接使用 `gopkg.in` 来进行版本化发布。(其实真相是导入路径更短了) diff --git a/vendor/github.com/go-ini/ini/error.go b/vendor/github.com/go-ini/ini/error.go new file mode 100644 index 0000000000..80afe74315 --- /dev/null +++ b/vendor/github.com/go-ini/ini/error.go @@ -0,0 +1,32 @@ +// Copyright 2016 Unknwon +// +// 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 ini + +import ( + "fmt" +) + +type ErrDelimiterNotFound struct { + Line string +} + +func IsErrDelimiterNotFound(err error) bool { + _, ok := err.(ErrDelimiterNotFound) + return ok +} + +func (err ErrDelimiterNotFound) Error() string { + return fmt.Sprintf("key-value delimiter not found: %s", err.Line) +} diff --git a/vendor/github.com/go-ini/ini/ini.go b/vendor/github.com/go-ini/ini/ini.go new file mode 100644 index 0000000000..5211d5abc4 --- /dev/null +++ b/vendor/github.com/go-ini/ini/ini.go @@ -0,0 +1,556 @@ +// Copyright 2014 Unknwon +// +// 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 ini provides INI file read and write functionality in Go. +package ini + +import ( + "bytes" + "errors" + "fmt" + "io" + "io/ioutil" + "os" + "regexp" + "runtime" + "strconv" + "strings" + "sync" + "time" +) + +const ( + // Name for default section. You can use this constant or the string literal. + // In most of cases, an empty string is all you need to access the section. + DEFAULT_SECTION = "DEFAULT" + + // Maximum allowed depth when recursively substituing variable names. + _DEPTH_VALUES = 99 + _VERSION = "1.27.0" +) + +// Version returns current package version literal. +func Version() string { + return _VERSION +} + +var ( + // Delimiter to determine or compose a new line. + // This variable will be changed to "\r\n" automatically on Windows + // at package init time. + LineBreak = "\n" + + // Variable regexp pattern: %(variable)s + varPattern = regexp.MustCompile(`%\(([^\)]+)\)s`) + + // Indicate whether to align "=" sign with spaces to produce pretty output + // or reduce all possible spaces for compact format. + PrettyFormat = true + + // Explicitly write DEFAULT section header + DefaultHeader = false +) + +func init() { + if runtime.GOOS == "windows" { + LineBreak = "\r\n" + } +} + +func inSlice(str string, s []string) bool { + for _, v := range s { + if str == v { + return true + } + } + return false +} + +// dataSource is an interface that returns object which can be read and closed. +type dataSource interface { + ReadCloser() (io.ReadCloser, error) +} + +// sourceFile represents an object that contains content on the local file system. +type sourceFile struct { + name string +} + +func (s sourceFile) ReadCloser() (_ io.ReadCloser, err error) { + return os.Open(s.name) +} + +type bytesReadCloser struct { + reader io.Reader +} + +func (rc *bytesReadCloser) Read(p []byte) (n int, err error) { + return rc.reader.Read(p) +} + +func (rc *bytesReadCloser) Close() error { + return nil +} + +// sourceData represents an object that contains content in memory. +type sourceData struct { + data []byte +} + +func (s *sourceData) ReadCloser() (io.ReadCloser, error) { + return ioutil.NopCloser(bytes.NewReader(s.data)), nil +} + +// sourceReadCloser represents an input stream with Close method. +type sourceReadCloser struct { + reader io.ReadCloser +} + +func (s *sourceReadCloser) ReadCloser() (io.ReadCloser, error) { + return s.reader, nil +} + +// File represents a combination of a or more INI file(s) in memory. +type File struct { + // Should make things safe, but sometimes doesn't matter. + BlockMode bool + // Make sure data is safe in multiple goroutines. + lock sync.RWMutex + + // Allow combination of multiple data sources. + dataSources []dataSource + // Actual data is stored here. + sections map[string]*Section + + // To keep data in order. + sectionList []string + + options LoadOptions + + NameMapper + ValueMapper +} + +// newFile initializes File object with given data sources. +func newFile(dataSources []dataSource, opts LoadOptions) *File { + return &File{ + BlockMode: true, + dataSources: dataSources, + sections: make(map[string]*Section), + sectionList: make([]string, 0, 10), + options: opts, + } +} + +func parseDataSource(source interface{}) (dataSource, error) { + switch s := source.(type) { + case string: + return sourceFile{s}, nil + case []byte: + return &sourceData{s}, nil + case io.ReadCloser: + return &sourceReadCloser{s}, nil + default: + return nil, fmt.Errorf("error parsing data source: unknown type '%s'", s) + } +} + +type LoadOptions struct { + // Loose indicates whether the parser should ignore nonexistent files or return error. + Loose bool + // Insensitive indicates whether the parser forces all section and key names to lowercase. + Insensitive bool + // IgnoreContinuation indicates whether to ignore continuation lines while parsing. + IgnoreContinuation bool + // IgnoreInlineComment indicates whether to ignore comments at the end of value and treat it as part of value. + IgnoreInlineComment bool + // AllowBooleanKeys indicates whether to allow boolean type keys or treat as value is missing. + // This type of keys are mostly used in my.cnf. + AllowBooleanKeys bool + // AllowShadows indicates whether to keep track of keys with same name under same section. + AllowShadows bool + // Some INI formats allow group blocks that store a block of raw content that doesn't otherwise + // conform to key/value pairs. Specify the names of those blocks here. + UnparseableSections []string +} + +func LoadSources(opts LoadOptions, source interface{}, others ...interface{}) (_ *File, err error) { + sources := make([]dataSource, len(others)+1) + sources[0], err = parseDataSource(source) + if err != nil { + return nil, err + } + for i := range others { + sources[i+1], err = parseDataSource(others[i]) + if err != nil { + return nil, err + } + } + f := newFile(sources, opts) + if err = f.Reload(); err != nil { + return nil, err + } + return f, nil +} + +// Load loads and parses from INI data sources. +// Arguments can be mixed of file name with string type, or raw data in []byte. +// It will return error if list contains nonexistent files. +func Load(source interface{}, others ...interface{}) (*File, error) { + return LoadSources(LoadOptions{}, source, others...) +} + +// LooseLoad has exactly same functionality as Load function +// except it ignores nonexistent files instead of returning error. +func LooseLoad(source interface{}, others ...interface{}) (*File, error) { + return LoadSources(LoadOptions{Loose: true}, source, others...) +} + +// InsensitiveLoad has exactly same functionality as Load function +// except it forces all section and key names to be lowercased. +func InsensitiveLoad(source interface{}, others ...interface{}) (*File, error) { + return LoadSources(LoadOptions{Insensitive: true}, source, others...) +} + +// InsensitiveLoad has exactly same functionality as Load function +// except it allows have shadow keys. +func ShadowLoad(source interface{}, others ...interface{}) (*File, error) { + return LoadSources(LoadOptions{AllowShadows: true}, source, others...) +} + +// Empty returns an empty file object. +func Empty() *File { + // Ignore error here, we sure our data is good. + f, _ := Load([]byte("")) + return f +} + +// NewSection creates a new section. +func (f *File) NewSection(name string) (*Section, error) { + if len(name) == 0 { + return nil, errors.New("error creating new section: empty section name") + } else if f.options.Insensitive && name != DEFAULT_SECTION { + name = strings.ToLower(name) + } + + if f.BlockMode { + f.lock.Lock() + defer f.lock.Unlock() + } + + if inSlice(name, f.sectionList) { + return f.sections[name], nil + } + + f.sectionList = append(f.sectionList, name) + f.sections[name] = newSection(f, name) + return f.sections[name], nil +} + +// NewRawSection creates a new section with an unparseable body. +func (f *File) NewRawSection(name, body string) (*Section, error) { + section, err := f.NewSection(name) + if err != nil { + return nil, err + } + + section.isRawSection = true + section.rawBody = body + return section, nil +} + +// NewSections creates a list of sections. +func (f *File) NewSections(names ...string) (err error) { + for _, name := range names { + if _, err = f.NewSection(name); err != nil { + return err + } + } + return nil +} + +// GetSection returns section by given name. +func (f *File) GetSection(name string) (*Section, error) { + if len(name) == 0 { + name = DEFAULT_SECTION + } else if f.options.Insensitive { + name = strings.ToLower(name) + } + + if f.BlockMode { + f.lock.RLock() + defer f.lock.RUnlock() + } + + sec := f.sections[name] + if sec == nil { + return nil, fmt.Errorf("section '%s' does not exist", name) + } + return sec, nil +} + +// Section assumes named section exists and returns a zero-value when not. +func (f *File) Section(name string) *Section { + sec, err := f.GetSection(name) + if err != nil { + // Note: It's OK here because the only possible error is empty section name, + // but if it's empty, this piece of code won't be executed. + sec, _ = f.NewSection(name) + return sec + } + return sec +} + +// Section returns list of Section. +func (f *File) Sections() []*Section { + sections := make([]*Section, len(f.sectionList)) + for i := range f.sectionList { + sections[i] = f.Section(f.sectionList[i]) + } + return sections +} + +// ChildSections returns a list of child sections of given section name. +func (f *File) ChildSections(name string) []*Section { + return f.Section(name).ChildSections() +} + +// SectionStrings returns list of section names. +func (f *File) SectionStrings() []string { + list := make([]string, len(f.sectionList)) + copy(list, f.sectionList) + return list +} + +// DeleteSection deletes a section. +func (f *File) DeleteSection(name string) { + if f.BlockMode { + f.lock.Lock() + defer f.lock.Unlock() + } + + if len(name) == 0 { + name = DEFAULT_SECTION + } + + for i, s := range f.sectionList { + if s == name { + f.sectionList = append(f.sectionList[:i], f.sectionList[i+1:]...) + delete(f.sections, name) + return + } + } +} + +func (f *File) reload(s dataSource) error { + r, err := s.ReadCloser() + if err != nil { + return err + } + defer r.Close() + + return f.parse(r) +} + +// Reload reloads and parses all data sources. +func (f *File) Reload() (err error) { + for _, s := range f.dataSources { + if err = f.reload(s); err != nil { + // In loose mode, we create an empty default section for nonexistent files. + if os.IsNotExist(err) && f.options.Loose { + f.parse(bytes.NewBuffer(nil)) + continue + } + return err + } + } + return nil +} + +// Append appends one or more data sources and reloads automatically. +func (f *File) Append(source interface{}, others ...interface{}) error { + ds, err := parseDataSource(source) + if err != nil { + return err + } + f.dataSources = append(f.dataSources, ds) + for _, s := range others { + ds, err = parseDataSource(s) + if err != nil { + return err + } + f.dataSources = append(f.dataSources, ds) + } + return f.Reload() +} + +// WriteToIndent writes content into io.Writer with given indention. +// If PrettyFormat has been set to be true, +// it will align "=" sign with spaces under each section. +func (f *File) WriteToIndent(w io.Writer, indent string) (n int64, err error) { + equalSign := "=" + if PrettyFormat { + equalSign = " = " + } + + // Use buffer to make sure target is safe until finish encoding. + buf := bytes.NewBuffer(nil) + for i, sname := range f.sectionList { + sec := f.Section(sname) + if len(sec.Comment) > 0 { + if sec.Comment[0] != '#' && sec.Comment[0] != ';' { + sec.Comment = "; " + sec.Comment + } + if _, err = buf.WriteString(sec.Comment + LineBreak); err != nil { + return 0, err + } + } + + if i > 0 || DefaultHeader { + if _, err = buf.WriteString("[" + sname + "]" + LineBreak); err != nil { + return 0, err + } + } else { + // Write nothing if default section is empty + if len(sec.keyList) == 0 { + continue + } + } + + if sec.isRawSection { + if _, err = buf.WriteString(sec.rawBody); err != nil { + return 0, err + } + continue + } + + // Count and generate alignment length and buffer spaces using the + // longest key. Keys may be modifed if they contain certain characters so + // we need to take that into account in our calculation. + alignLength := 0 + if PrettyFormat { + for _, kname := range sec.keyList { + keyLength := len(kname) + // First case will surround key by ` and second by """ + if strings.ContainsAny(kname, "\"=:") { + keyLength += 2 + } else if strings.Contains(kname, "`") { + keyLength += 6 + } + + if keyLength > alignLength { + alignLength = keyLength + } + } + } + alignSpaces := bytes.Repeat([]byte(" "), alignLength) + + KEY_LIST: + for _, kname := range sec.keyList { + key := sec.Key(kname) + if len(key.Comment) > 0 { + if len(indent) > 0 && sname != DEFAULT_SECTION { + buf.WriteString(indent) + } + if key.Comment[0] != '#' && key.Comment[0] != ';' { + key.Comment = "; " + key.Comment + } + if _, err = buf.WriteString(key.Comment + LineBreak); err != nil { + return 0, err + } + } + + if len(indent) > 0 && sname != DEFAULT_SECTION { + buf.WriteString(indent) + } + + switch { + case key.isAutoIncrement: + kname = "-" + case strings.ContainsAny(kname, "\"=:"): + kname = "`" + kname + "`" + case strings.Contains(kname, "`"): + kname = `"""` + kname + `"""` + } + + for _, val := range key.ValueWithShadows() { + if _, err = buf.WriteString(kname); err != nil { + return 0, err + } + + if key.isBooleanType { + if kname != sec.keyList[len(sec.keyList)-1] { + buf.WriteString(LineBreak) + } + continue KEY_LIST + } + + // Write out alignment spaces before "=" sign + if PrettyFormat { + buf.Write(alignSpaces[:alignLength-len(kname)]) + } + + // In case key value contains "\n", "`", "\"", "#" or ";" + if strings.ContainsAny(val, "\n`") { + val = `"""` + val + `"""` + } else if strings.ContainsAny(val, "#;") { + val = "`" + val + "`" + } + if _, err = buf.WriteString(equalSign + val + LineBreak); err != nil { + return 0, err + } + } + } + + // Put a line between sections + if _, err = buf.WriteString(LineBreak); err != nil { + return 0, err + } + } + + return buf.WriteTo(w) +} + +// WriteTo writes file content into io.Writer. +func (f *File) WriteTo(w io.Writer) (int64, error) { + return f.WriteToIndent(w, "") +} + +// SaveToIndent writes content to file system with given value indention. +func (f *File) SaveToIndent(filename, indent string) error { + // Note: Because we are truncating with os.Create, + // so it's safer to save to a temporary file location and rename afte done. + tmpPath := filename + "." + strconv.Itoa(time.Now().Nanosecond()) + ".tmp" + defer os.Remove(tmpPath) + + fw, err := os.Create(tmpPath) + if err != nil { + return err + } + + if _, err = f.WriteToIndent(fw, indent); err != nil { + fw.Close() + return err + } + fw.Close() + + // Remove old file and rename the new one. + os.Remove(filename) + return os.Rename(tmpPath, filename) +} + +// SaveTo writes content to file system. +func (f *File) SaveTo(filename string) error { + return f.SaveToIndent(filename, "") +} diff --git a/vendor/github.com/go-ini/ini/key.go b/vendor/github.com/go-ini/ini/key.go new file mode 100644 index 0000000000..838356af01 --- /dev/null +++ b/vendor/github.com/go-ini/ini/key.go @@ -0,0 +1,699 @@ +// Copyright 2014 Unknwon +// +// 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 ini + +import ( + "errors" + "fmt" + "strconv" + "strings" + "time" +) + +// Key represents a key under a section. +type Key struct { + s *Section + name string + value string + isAutoIncrement bool + isBooleanType bool + + isShadow bool + shadows []*Key + + Comment string +} + +// newKey simply return a key object with given values. +func newKey(s *Section, name, val string) *Key { + return &Key{ + s: s, + name: name, + value: val, + } +} + +func (k *Key) addShadow(val string) error { + if k.isShadow { + return errors.New("cannot add shadow to another shadow key") + } else if k.isAutoIncrement || k.isBooleanType { + return errors.New("cannot add shadow to auto-increment or boolean key") + } + + shadow := newKey(k.s, k.name, val) + shadow.isShadow = true + k.shadows = append(k.shadows, shadow) + return nil +} + +// AddShadow adds a new shadow key to itself. +func (k *Key) AddShadow(val string) error { + if !k.s.f.options.AllowShadows { + return errors.New("shadow key is not allowed") + } + return k.addShadow(val) +} + +// ValueMapper represents a mapping function for values, e.g. os.ExpandEnv +type ValueMapper func(string) string + +// Name returns name of key. +func (k *Key) Name() string { + return k.name +} + +// Value returns raw value of key for performance purpose. +func (k *Key) Value() string { + return k.value +} + +// ValueWithShadows returns raw values of key and its shadows if any. +func (k *Key) ValueWithShadows() []string { + if len(k.shadows) == 0 { + return []string{k.value} + } + vals := make([]string, len(k.shadows)+1) + vals[0] = k.value + for i := range k.shadows { + vals[i+1] = k.shadows[i].value + } + return vals +} + +// transformValue takes a raw value and transforms to its final string. +func (k *Key) transformValue(val string) string { + if k.s.f.ValueMapper != nil { + val = k.s.f.ValueMapper(val) + } + + // Fail-fast if no indicate char found for recursive value + if !strings.Contains(val, "%") { + return val + } + for i := 0; i < _DEPTH_VALUES; i++ { + vr := varPattern.FindString(val) + if len(vr) == 0 { + break + } + + // Take off leading '%(' and trailing ')s'. + noption := strings.TrimLeft(vr, "%(") + noption = strings.TrimRight(noption, ")s") + + // Search in the same section. + nk, err := k.s.GetKey(noption) + if err != nil { + // Search again in default section. + nk, _ = k.s.f.Section("").GetKey(noption) + } + + // Substitute by new value and take off leading '%(' and trailing ')s'. + val = strings.Replace(val, vr, nk.value, -1) + } + return val +} + +// String returns string representation of value. +func (k *Key) String() string { + return k.transformValue(k.value) +} + +// Validate accepts a validate function which can +// return modifed result as key value. +func (k *Key) Validate(fn func(string) string) string { + return fn(k.String()) +} + +// parseBool returns the boolean value represented by the string. +// +// It accepts 1, t, T, TRUE, true, True, YES, yes, Yes, y, ON, on, On, +// 0, f, F, FALSE, false, False, NO, no, No, n, OFF, off, Off. +// Any other value returns an error. +func parseBool(str string) (value bool, err error) { + switch str { + case "1", "t", "T", "true", "TRUE", "True", "YES", "yes", "Yes", "y", "ON", "on", "On": + return true, nil + case "0", "f", "F", "false", "FALSE", "False", "NO", "no", "No", "n", "OFF", "off", "Off": + return false, nil + } + return false, fmt.Errorf("parsing \"%s\": invalid syntax", str) +} + +// Bool returns bool type value. +func (k *Key) Bool() (bool, error) { + return parseBool(k.String()) +} + +// Float64 returns float64 type value. +func (k *Key) Float64() (float64, error) { + return strconv.ParseFloat(k.String(), 64) +} + +// Int returns int type value. +func (k *Key) Int() (int, error) { + return strconv.Atoi(k.String()) +} + +// Int64 returns int64 type value. +func (k *Key) Int64() (int64, error) { + return strconv.ParseInt(k.String(), 10, 64) +} + +// Uint returns uint type valued. +func (k *Key) Uint() (uint, error) { + u, e := strconv.ParseUint(k.String(), 10, 64) + return uint(u), e +} + +// Uint64 returns uint64 type value. +func (k *Key) Uint64() (uint64, error) { + return strconv.ParseUint(k.String(), 10, 64) +} + +// Duration returns time.Duration type value. +func (k *Key) Duration() (time.Duration, error) { + return time.ParseDuration(k.String()) +} + +// TimeFormat parses with given format and returns time.Time type value. +func (k *Key) TimeFormat(format string) (time.Time, error) { + return time.Parse(format, k.String()) +} + +// Time parses with RFC3339 format and returns time.Time type value. +func (k *Key) Time() (time.Time, error) { + return k.TimeFormat(time.RFC3339) +} + +// MustString returns default value if key value is empty. +func (k *Key) MustString(defaultVal string) string { + val := k.String() + if len(val) == 0 { + k.value = defaultVal + return defaultVal + } + return val +} + +// MustBool always returns value without error, +// it returns false if error occurs. +func (k *Key) MustBool(defaultVal ...bool) bool { + val, err := k.Bool() + if len(defaultVal) > 0 && err != nil { + k.value = strconv.FormatBool(defaultVal[0]) + return defaultVal[0] + } + return val +} + +// MustFloat64 always returns value without error, +// it returns 0.0 if error occurs. +func (k *Key) MustFloat64(defaultVal ...float64) float64 { + val, err := k.Float64() + if len(defaultVal) > 0 && err != nil { + k.value = strconv.FormatFloat(defaultVal[0], 'f', -1, 64) + return defaultVal[0] + } + return val +} + +// MustInt always returns value without error, +// it returns 0 if error occurs. +func (k *Key) MustInt(defaultVal ...int) int { + val, err := k.Int() + if len(defaultVal) > 0 && err != nil { + k.value = strconv.FormatInt(int64(defaultVal[0]), 10) + return defaultVal[0] + } + return val +} + +// MustInt64 always returns value without error, +// it returns 0 if error occurs. +func (k *Key) MustInt64(defaultVal ...int64) int64 { + val, err := k.Int64() + if len(defaultVal) > 0 && err != nil { + k.value = strconv.FormatInt(defaultVal[0], 10) + return defaultVal[0] + } + return val +} + +// MustUint always returns value without error, +// it returns 0 if error occurs. +func (k *Key) MustUint(defaultVal ...uint) uint { + val, err := k.Uint() + if len(defaultVal) > 0 && err != nil { + k.value = strconv.FormatUint(uint64(defaultVal[0]), 10) + return defaultVal[0] + } + return val +} + +// MustUint64 always returns value without error, +// it returns 0 if error occurs. +func (k *Key) MustUint64(defaultVal ...uint64) uint64 { + val, err := k.Uint64() + if len(defaultVal) > 0 && err != nil { + k.value = strconv.FormatUint(defaultVal[0], 10) + return defaultVal[0] + } + return val +} + +// MustDuration always returns value without error, +// it returns zero value if error occurs. +func (k *Key) MustDuration(defaultVal ...time.Duration) time.Duration { + val, err := k.Duration() + if len(defaultVal) > 0 && err != nil { + k.value = defaultVal[0].String() + return defaultVal[0] + } + return val +} + +// MustTimeFormat always parses with given format and returns value without error, +// it returns zero value if error occurs. +func (k *Key) MustTimeFormat(format string, defaultVal ...time.Time) time.Time { + val, err := k.TimeFormat(format) + if len(defaultVal) > 0 && err != nil { + k.value = defaultVal[0].Format(format) + return defaultVal[0] + } + return val +} + +// MustTime always parses with RFC3339 format and returns value without error, +// it returns zero value if error occurs. +func (k *Key) MustTime(defaultVal ...time.Time) time.Time { + return k.MustTimeFormat(time.RFC3339, defaultVal...) +} + +// In always returns value without error, +// it returns default value if error occurs or doesn't fit into candidates. +func (k *Key) In(defaultVal string, candidates []string) string { + val := k.String() + for _, cand := range candidates { + if val == cand { + return val + } + } + return defaultVal +} + +// InFloat64 always returns value without error, +// it returns default value if error occurs or doesn't fit into candidates. +func (k *Key) InFloat64(defaultVal float64, candidates []float64) float64 { + val := k.MustFloat64() + for _, cand := range candidates { + if val == cand { + return val + } + } + return defaultVal +} + +// InInt always returns value without error, +// it returns default value if error occurs or doesn't fit into candidates. +func (k *Key) InInt(defaultVal int, candidates []int) int { + val := k.MustInt() + for _, cand := range candidates { + if val == cand { + return val + } + } + return defaultVal +} + +// InInt64 always returns value without error, +// it returns default value if error occurs or doesn't fit into candidates. +func (k *Key) InInt64(defaultVal int64, candidates []int64) int64 { + val := k.MustInt64() + for _, cand := range candidates { + if val == cand { + return val + } + } + return defaultVal +} + +// InUint always returns value without error, +// it returns default value if error occurs or doesn't fit into candidates. +func (k *Key) InUint(defaultVal uint, candidates []uint) uint { + val := k.MustUint() + for _, cand := range candidates { + if val == cand { + return val + } + } + return defaultVal +} + +// InUint64 always returns value without error, +// it returns default value if error occurs or doesn't fit into candidates. +func (k *Key) InUint64(defaultVal uint64, candidates []uint64) uint64 { + val := k.MustUint64() + for _, cand := range candidates { + if val == cand { + return val + } + } + return defaultVal +} + +// InTimeFormat always parses with given format and returns value without error, +// it returns default value if error occurs or doesn't fit into candidates. +func (k *Key) InTimeFormat(format string, defaultVal time.Time, candidates []time.Time) time.Time { + val := k.MustTimeFormat(format) + for _, cand := range candidates { + if val == cand { + return val + } + } + return defaultVal +} + +// InTime always parses with RFC3339 format and returns value without error, +// it returns default value if error occurs or doesn't fit into candidates. +func (k *Key) InTime(defaultVal time.Time, candidates []time.Time) time.Time { + return k.InTimeFormat(time.RFC3339, defaultVal, candidates) +} + +// RangeFloat64 checks if value is in given range inclusively, +// and returns default value if it's not. +func (k *Key) RangeFloat64(defaultVal, min, max float64) float64 { + val := k.MustFloat64() + if val < min || val > max { + return defaultVal + } + return val +} + +// RangeInt checks if value is in given range inclusively, +// and returns default value if it's not. +func (k *Key) RangeInt(defaultVal, min, max int) int { + val := k.MustInt() + if val < min || val > max { + return defaultVal + } + return val +} + +// RangeInt64 checks if value is in given range inclusively, +// and returns default value if it's not. +func (k *Key) RangeInt64(defaultVal, min, max int64) int64 { + val := k.MustInt64() + if val < min || val > max { + return defaultVal + } + return val +} + +// RangeTimeFormat checks if value with given format is in given range inclusively, +// and returns default value if it's not. +func (k *Key) RangeTimeFormat(format string, defaultVal, min, max time.Time) time.Time { + val := k.MustTimeFormat(format) + if val.Unix() < min.Unix() || val.Unix() > max.Unix() { + return defaultVal + } + return val +} + +// RangeTime checks if value with RFC3339 format is in given range inclusively, +// and returns default value if it's not. +func (k *Key) RangeTime(defaultVal, min, max time.Time) time.Time { + return k.RangeTimeFormat(time.RFC3339, defaultVal, min, max) +} + +// Strings returns list of string divided by given delimiter. +func (k *Key) Strings(delim string) []string { + str := k.String() + if len(str) == 0 { + return []string{} + } + + vals := strings.Split(str, delim) + for i := range vals { + // vals[i] = k.transformValue(strings.TrimSpace(vals[i])) + vals[i] = strings.TrimSpace(vals[i]) + } + return vals +} + +// StringsWithShadows returns list of string divided by given delimiter. +// Shadows will also be appended if any. +func (k *Key) StringsWithShadows(delim string) []string { + vals := k.ValueWithShadows() + results := make([]string, 0, len(vals)*2) + for i := range vals { + if len(vals) == 0 { + continue + } + + results = append(results, strings.Split(vals[i], delim)...) + } + + for i := range results { + results[i] = k.transformValue(strings.TrimSpace(results[i])) + } + return results +} + +// Float64s returns list of float64 divided by given delimiter. Any invalid input will be treated as zero value. +func (k *Key) Float64s(delim string) []float64 { + vals, _ := k.parseFloat64s(k.Strings(delim), true, false) + return vals +} + +// Ints returns list of int divided by given delimiter. Any invalid input will be treated as zero value. +func (k *Key) Ints(delim string) []int { + vals, _ := k.parseInts(k.Strings(delim), true, false) + return vals +} + +// Int64s returns list of int64 divided by given delimiter. Any invalid input will be treated as zero value. +func (k *Key) Int64s(delim string) []int64 { + vals, _ := k.parseInt64s(k.Strings(delim), true, false) + return vals +} + +// Uints returns list of uint divided by given delimiter. Any invalid input will be treated as zero value. +func (k *Key) Uints(delim string) []uint { + vals, _ := k.parseUints(k.Strings(delim), true, false) + return vals +} + +// Uint64s returns list of uint64 divided by given delimiter. Any invalid input will be treated as zero value. +func (k *Key) Uint64s(delim string) []uint64 { + vals, _ := k.parseUint64s(k.Strings(delim), true, false) + return vals +} + +// TimesFormat parses with given format and returns list of time.Time divided by given delimiter. +// Any invalid input will be treated as zero value (0001-01-01 00:00:00 +0000 UTC). +func (k *Key) TimesFormat(format, delim string) []time.Time { + vals, _ := k.parseTimesFormat(format, k.Strings(delim), true, false) + return vals +} + +// Times parses with RFC3339 format and returns list of time.Time divided by given delimiter. +// Any invalid input will be treated as zero value (0001-01-01 00:00:00 +0000 UTC). +func (k *Key) Times(delim string) []time.Time { + return k.TimesFormat(time.RFC3339, delim) +} + +// ValidFloat64s returns list of float64 divided by given delimiter. If some value is not float, then +// it will not be included to result list. +func (k *Key) ValidFloat64s(delim string) []float64 { + vals, _ := k.parseFloat64s(k.Strings(delim), false, false) + return vals +} + +// ValidInts returns list of int divided by given delimiter. If some value is not integer, then it will +// not be included to result list. +func (k *Key) ValidInts(delim string) []int { + vals, _ := k.parseInts(k.Strings(delim), false, false) + return vals +} + +// ValidInt64s returns list of int64 divided by given delimiter. If some value is not 64-bit integer, +// then it will not be included to result list. +func (k *Key) ValidInt64s(delim string) []int64 { + vals, _ := k.parseInt64s(k.Strings(delim), false, false) + return vals +} + +// ValidUints returns list of uint divided by given delimiter. If some value is not unsigned integer, +// then it will not be included to result list. +func (k *Key) ValidUints(delim string) []uint { + vals, _ := k.parseUints(k.Strings(delim), false, false) + return vals +} + +// ValidUint64s returns list of uint64 divided by given delimiter. If some value is not 64-bit unsigned +// integer, then it will not be included to result list. +func (k *Key) ValidUint64s(delim string) []uint64 { + vals, _ := k.parseUint64s(k.Strings(delim), false, false) + return vals +} + +// ValidTimesFormat parses with given format and returns list of time.Time divided by given delimiter. +func (k *Key) ValidTimesFormat(format, delim string) []time.Time { + vals, _ := k.parseTimesFormat(format, k.Strings(delim), false, false) + return vals +} + +// ValidTimes parses with RFC3339 format and returns list of time.Time divided by given delimiter. +func (k *Key) ValidTimes(delim string) []time.Time { + return k.ValidTimesFormat(time.RFC3339, delim) +} + +// StrictFloat64s returns list of float64 divided by given delimiter or error on first invalid input. +func (k *Key) StrictFloat64s(delim string) ([]float64, error) { + return k.parseFloat64s(k.Strings(delim), false, true) +} + +// StrictInts returns list of int divided by given delimiter or error on first invalid input. +func (k *Key) StrictInts(delim string) ([]int, error) { + return k.parseInts(k.Strings(delim), false, true) +} + +// StrictInt64s returns list of int64 divided by given delimiter or error on first invalid input. +func (k *Key) StrictInt64s(delim string) ([]int64, error) { + return k.parseInt64s(k.Strings(delim), false, true) +} + +// StrictUints returns list of uint divided by given delimiter or error on first invalid input. +func (k *Key) StrictUints(delim string) ([]uint, error) { + return k.parseUints(k.Strings(delim), false, true) +} + +// StrictUint64s returns list of uint64 divided by given delimiter or error on first invalid input. +func (k *Key) StrictUint64s(delim string) ([]uint64, error) { + return k.parseUint64s(k.Strings(delim), false, true) +} + +// StrictTimesFormat parses with given format and returns list of time.Time divided by given delimiter +// or error on first invalid input. +func (k *Key) StrictTimesFormat(format, delim string) ([]time.Time, error) { + return k.parseTimesFormat(format, k.Strings(delim), false, true) +} + +// StrictTimes parses with RFC3339 format and returns list of time.Time divided by given delimiter +// or error on first invalid input. +func (k *Key) StrictTimes(delim string) ([]time.Time, error) { + return k.StrictTimesFormat(time.RFC3339, delim) +} + +// parseFloat64s transforms strings to float64s. +func (k *Key) parseFloat64s(strs []string, addInvalid, returnOnInvalid bool) ([]float64, error) { + vals := make([]float64, 0, len(strs)) + for _, str := range strs { + val, err := strconv.ParseFloat(str, 64) + if err != nil && returnOnInvalid { + return nil, err + } + if err == nil || addInvalid { + vals = append(vals, val) + } + } + return vals, nil +} + +// parseInts transforms strings to ints. +func (k *Key) parseInts(strs []string, addInvalid, returnOnInvalid bool) ([]int, error) { + vals := make([]int, 0, len(strs)) + for _, str := range strs { + val, err := strconv.Atoi(str) + if err != nil && returnOnInvalid { + return nil, err + } + if err == nil || addInvalid { + vals = append(vals, val) + } + } + return vals, nil +} + +// parseInt64s transforms strings to int64s. +func (k *Key) parseInt64s(strs []string, addInvalid, returnOnInvalid bool) ([]int64, error) { + vals := make([]int64, 0, len(strs)) + for _, str := range strs { + val, err := strconv.ParseInt(str, 10, 64) + if err != nil && returnOnInvalid { + return nil, err + } + if err == nil || addInvalid { + vals = append(vals, val) + } + } + return vals, nil +} + +// parseUints transforms strings to uints. +func (k *Key) parseUints(strs []string, addInvalid, returnOnInvalid bool) ([]uint, error) { + vals := make([]uint, 0, len(strs)) + for _, str := range strs { + val, err := strconv.ParseUint(str, 10, 0) + if err != nil && returnOnInvalid { + return nil, err + } + if err == nil || addInvalid { + vals = append(vals, uint(val)) + } + } + return vals, nil +} + +// parseUint64s transforms strings to uint64s. +func (k *Key) parseUint64s(strs []string, addInvalid, returnOnInvalid bool) ([]uint64, error) { + vals := make([]uint64, 0, len(strs)) + for _, str := range strs { + val, err := strconv.ParseUint(str, 10, 64) + if err != nil && returnOnInvalid { + return nil, err + } + if err == nil || addInvalid { + vals = append(vals, val) + } + } + return vals, nil +} + +// parseTimesFormat transforms strings to times in given format. +func (k *Key) parseTimesFormat(format string, strs []string, addInvalid, returnOnInvalid bool) ([]time.Time, error) { + vals := make([]time.Time, 0, len(strs)) + for _, str := range strs { + val, err := time.Parse(format, str) + if err != nil && returnOnInvalid { + return nil, err + } + if err == nil || addInvalid { + vals = append(vals, val) + } + } + return vals, nil +} + +// SetValue changes key value. +func (k *Key) SetValue(v string) { + if k.s.f.BlockMode { + k.s.f.lock.Lock() + defer k.s.f.lock.Unlock() + } + + k.value = v + k.s.keysHash[k.name] = v +} diff --git a/vendor/github.com/go-ini/ini/parser.go b/vendor/github.com/go-ini/ini/parser.go new file mode 100644 index 0000000000..6c0b107450 --- /dev/null +++ b/vendor/github.com/go-ini/ini/parser.go @@ -0,0 +1,361 @@ +// Copyright 2015 Unknwon +// +// 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 ini + +import ( + "bufio" + "bytes" + "fmt" + "io" + "strconv" + "strings" + "unicode" +) + +type tokenType int + +const ( + _TOKEN_INVALID tokenType = iota + _TOKEN_COMMENT + _TOKEN_SECTION + _TOKEN_KEY +) + +type parser struct { + buf *bufio.Reader + isEOF bool + count int + comment *bytes.Buffer +} + +func newParser(r io.Reader) *parser { + return &parser{ + buf: bufio.NewReader(r), + count: 1, + comment: &bytes.Buffer{}, + } +} + +// BOM handles header of UTF-8, UTF-16 LE and UTF-16 BE's BOM format. +// http://en.wikipedia.org/wiki/Byte_order_mark#Representations_of_byte_order_marks_by_encoding +func (p *parser) BOM() error { + mask, err := p.buf.Peek(2) + if err != nil && err != io.EOF { + return err + } else if len(mask) < 2 { + return nil + } + + switch { + case mask[0] == 254 && mask[1] == 255: + fallthrough + case mask[0] == 255 && mask[1] == 254: + p.buf.Read(mask) + case mask[0] == 239 && mask[1] == 187: + mask, err := p.buf.Peek(3) + if err != nil && err != io.EOF { + return err + } else if len(mask) < 3 { + return nil + } + if mask[2] == 191 { + p.buf.Read(mask) + } + } + return nil +} + +func (p *parser) readUntil(delim byte) ([]byte, error) { + data, err := p.buf.ReadBytes(delim) + if err != nil { + if err == io.EOF { + p.isEOF = true + } else { + return nil, err + } + } + return data, nil +} + +func cleanComment(in []byte) ([]byte, bool) { + i := bytes.IndexAny(in, "#;") + if i == -1 { + return nil, false + } + return in[i:], true +} + +func readKeyName(in []byte) (string, int, error) { + line := string(in) + + // Check if key name surrounded by quotes. + var keyQuote string + if line[0] == '"' { + if len(line) > 6 && string(line[0:3]) == `"""` { + keyQuote = `"""` + } else { + keyQuote = `"` + } + } else if line[0] == '`' { + keyQuote = "`" + } + + // Get out key name + endIdx := -1 + if len(keyQuote) > 0 { + startIdx := len(keyQuote) + // FIXME: fail case -> """"""name"""=value + pos := strings.Index(line[startIdx:], keyQuote) + if pos == -1 { + return "", -1, fmt.Errorf("missing closing key quote: %s", line) + } + pos += startIdx + + // Find key-value delimiter + i := strings.IndexAny(line[pos+startIdx:], "=:") + if i < 0 { + return "", -1, ErrDelimiterNotFound{line} + } + endIdx = pos + i + return strings.TrimSpace(line[startIdx:pos]), endIdx + startIdx + 1, nil + } + + endIdx = strings.IndexAny(line, "=:") + if endIdx < 0 { + return "", -1, ErrDelimiterNotFound{line} + } + return strings.TrimSpace(line[0:endIdx]), endIdx + 1, nil +} + +func (p *parser) readMultilines(line, val, valQuote string) (string, error) { + for { + data, err := p.readUntil('\n') + if err != nil { + return "", err + } + next := string(data) + + pos := strings.LastIndex(next, valQuote) + if pos > -1 { + val += next[:pos] + + comment, has := cleanComment([]byte(next[pos:])) + if has { + p.comment.Write(bytes.TrimSpace(comment)) + } + break + } + val += next + if p.isEOF { + return "", fmt.Errorf("missing closing key quote from '%s' to '%s'", line, next) + } + } + return val, nil +} + +func (p *parser) readContinuationLines(val string) (string, error) { + for { + data, err := p.readUntil('\n') + if err != nil { + return "", err + } + next := strings.TrimSpace(string(data)) + + if len(next) == 0 { + break + } + val += next + if val[len(val)-1] != '\\' { + break + } + val = val[:len(val)-1] + } + return val, nil +} + +// hasSurroundedQuote check if and only if the first and last characters +// are quotes \" or \'. +// It returns false if any other parts also contain same kind of quotes. +func hasSurroundedQuote(in string, quote byte) bool { + return len(in) > 2 && in[0] == quote && in[len(in)-1] == quote && + strings.IndexByte(in[1:], quote) == len(in)-2 +} + +func (p *parser) readValue(in []byte, ignoreContinuation, ignoreInlineComment bool) (string, error) { + line := strings.TrimLeftFunc(string(in), unicode.IsSpace) + if len(line) == 0 { + return "", nil + } + + var valQuote string + if len(line) > 3 && string(line[0:3]) == `"""` { + valQuote = `"""` + } else if line[0] == '`' { + valQuote = "`" + } + + if len(valQuote) > 0 { + startIdx := len(valQuote) + pos := strings.LastIndex(line[startIdx:], valQuote) + // Check for multi-line value + if pos == -1 { + return p.readMultilines(line, line[startIdx:], valQuote) + } + + return line[startIdx : pos+startIdx], nil + } + + // Won't be able to reach here if value only contains whitespace + line = strings.TrimSpace(line) + + // Check continuation lines when desired + if !ignoreContinuation && line[len(line)-1] == '\\' { + return p.readContinuationLines(line[:len(line)-1]) + } + + // Check if ignore inline comment + if !ignoreInlineComment { + i := strings.IndexAny(line, "#;") + if i > -1 { + p.comment.WriteString(line[i:]) + line = strings.TrimSpace(line[:i]) + } + } + + // Trim single quotes + if hasSurroundedQuote(line, '\'') || + hasSurroundedQuote(line, '"') { + line = line[1 : len(line)-1] + } + return line, nil +} + +// parse parses data through an io.Reader. +func (f *File) parse(reader io.Reader) (err error) { + p := newParser(reader) + if err = p.BOM(); err != nil { + return fmt.Errorf("BOM: %v", err) + } + + // Ignore error because default section name is never empty string. + section, _ := f.NewSection(DEFAULT_SECTION) + + var line []byte + var inUnparseableSection bool + for !p.isEOF { + line, err = p.readUntil('\n') + if err != nil { + return err + } + + line = bytes.TrimLeftFunc(line, unicode.IsSpace) + if len(line) == 0 { + continue + } + + // Comments + if line[0] == '#' || line[0] == ';' { + // Note: we do not care ending line break, + // it is needed for adding second line, + // so just clean it once at the end when set to value. + p.comment.Write(line) + continue + } + + // Section + if line[0] == '[' { + // Read to the next ']' (TODO: support quoted strings) + // TODO(unknwon): use LastIndexByte when stop supporting Go1.4 + closeIdx := bytes.LastIndex(line, []byte("]")) + if closeIdx == -1 { + return fmt.Errorf("unclosed section: %s", line) + } + + name := string(line[1:closeIdx]) + section, err = f.NewSection(name) + if err != nil { + return err + } + + comment, has := cleanComment(line[closeIdx+1:]) + if has { + p.comment.Write(comment) + } + + section.Comment = strings.TrimSpace(p.comment.String()) + + // Reset aotu-counter and comments + p.comment.Reset() + p.count = 1 + + inUnparseableSection = false + for i := range f.options.UnparseableSections { + if f.options.UnparseableSections[i] == name || + (f.options.Insensitive && strings.ToLower(f.options.UnparseableSections[i]) == strings.ToLower(name)) { + inUnparseableSection = true + continue + } + } + continue + } + + if inUnparseableSection { + section.isRawSection = true + section.rawBody += string(line) + continue + } + + kname, offset, err := readKeyName(line) + if err != nil { + // Treat as boolean key when desired, and whole line is key name. + if IsErrDelimiterNotFound(err) && f.options.AllowBooleanKeys { + kname, err := p.readValue(line, f.options.IgnoreContinuation, f.options.IgnoreInlineComment) + if err != nil { + return err + } + key, err := section.NewBooleanKey(kname) + if err != nil { + return err + } + key.Comment = strings.TrimSpace(p.comment.String()) + p.comment.Reset() + continue + } + return err + } + + // Auto increment. + isAutoIncr := false + if kname == "-" { + isAutoIncr = true + kname = "#" + strconv.Itoa(p.count) + p.count++ + } + + value, err := p.readValue(line[offset:], f.options.IgnoreContinuation, f.options.IgnoreInlineComment) + if err != nil { + return err + } + + key, err := section.NewKey(kname, value) + if err != nil { + return err + } + key.isAutoIncrement = isAutoIncr + key.Comment = strings.TrimSpace(p.comment.String()) + p.comment.Reset() + } + return nil +} diff --git a/vendor/github.com/go-ini/ini/section.go b/vendor/github.com/go-ini/ini/section.go new file mode 100644 index 0000000000..94f7375ed4 --- /dev/null +++ b/vendor/github.com/go-ini/ini/section.go @@ -0,0 +1,248 @@ +// Copyright 2014 Unknwon +// +// 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 ini + +import ( + "errors" + "fmt" + "strings" +) + +// Section represents a config section. +type Section struct { + f *File + Comment string + name string + keys map[string]*Key + keyList []string + keysHash map[string]string + + isRawSection bool + rawBody string +} + +func newSection(f *File, name string) *Section { + return &Section{ + f: f, + name: name, + keys: make(map[string]*Key), + keyList: make([]string, 0, 10), + keysHash: make(map[string]string), + } +} + +// Name returns name of Section. +func (s *Section) Name() string { + return s.name +} + +// Body returns rawBody of Section if the section was marked as unparseable. +// It still follows the other rules of the INI format surrounding leading/trailing whitespace. +func (s *Section) Body() string { + return strings.TrimSpace(s.rawBody) +} + +// NewKey creates a new key to given section. +func (s *Section) NewKey(name, val string) (*Key, error) { + if len(name) == 0 { + return nil, errors.New("error creating new key: empty key name") + } else if s.f.options.Insensitive { + name = strings.ToLower(name) + } + + if s.f.BlockMode { + s.f.lock.Lock() + defer s.f.lock.Unlock() + } + + if inSlice(name, s.keyList) { + if s.f.options.AllowShadows { + if err := s.keys[name].addShadow(val); err != nil { + return nil, err + } + } else { + s.keys[name].value = val + } + return s.keys[name], nil + } + + s.keyList = append(s.keyList, name) + s.keys[name] = newKey(s, name, val) + s.keysHash[name] = val + return s.keys[name], nil +} + +// NewBooleanKey creates a new boolean type key to given section. +func (s *Section) NewBooleanKey(name string) (*Key, error) { + key, err := s.NewKey(name, "true") + if err != nil { + return nil, err + } + + key.isBooleanType = true + return key, nil +} + +// GetKey returns key in section by given name. +func (s *Section) GetKey(name string) (*Key, error) { + // FIXME: change to section level lock? + if s.f.BlockMode { + s.f.lock.RLock() + } + if s.f.options.Insensitive { + name = strings.ToLower(name) + } + key := s.keys[name] + if s.f.BlockMode { + s.f.lock.RUnlock() + } + + if key == nil { + // Check if it is a child-section. + sname := s.name + for { + if i := strings.LastIndex(sname, "."); i > -1 { + sname = sname[:i] + sec, err := s.f.GetSection(sname) + if err != nil { + continue + } + return sec.GetKey(name) + } else { + break + } + } + return nil, fmt.Errorf("error when getting key of section '%s': key '%s' not exists", s.name, name) + } + return key, nil +} + +// HasKey returns true if section contains a key with given name. +func (s *Section) HasKey(name string) bool { + key, _ := s.GetKey(name) + return key != nil +} + +// Haskey is a backwards-compatible name for HasKey. +func (s *Section) Haskey(name string) bool { + return s.HasKey(name) +} + +// HasValue returns true if section contains given raw value. +func (s *Section) HasValue(value string) bool { + if s.f.BlockMode { + s.f.lock.RLock() + defer s.f.lock.RUnlock() + } + + for _, k := range s.keys { + if value == k.value { + return true + } + } + return false +} + +// Key assumes named Key exists in section and returns a zero-value when not. +func (s *Section) Key(name string) *Key { + key, err := s.GetKey(name) + if err != nil { + // It's OK here because the only possible error is empty key name, + // but if it's empty, this piece of code won't be executed. + key, _ = s.NewKey(name, "") + return key + } + return key +} + +// Keys returns list of keys of section. +func (s *Section) Keys() []*Key { + keys := make([]*Key, len(s.keyList)) + for i := range s.keyList { + keys[i] = s.Key(s.keyList[i]) + } + return keys +} + +// ParentKeys returns list of keys of parent section. +func (s *Section) ParentKeys() []*Key { + var parentKeys []*Key + sname := s.name + for { + if i := strings.LastIndex(sname, "."); i > -1 { + sname = sname[:i] + sec, err := s.f.GetSection(sname) + if err != nil { + continue + } + parentKeys = append(parentKeys, sec.Keys()...) + } else { + break + } + + } + return parentKeys +} + +// KeyStrings returns list of key names of section. +func (s *Section) KeyStrings() []string { + list := make([]string, len(s.keyList)) + copy(list, s.keyList) + return list +} + +// KeysHash returns keys hash consisting of names and values. +func (s *Section) KeysHash() map[string]string { + if s.f.BlockMode { + s.f.lock.RLock() + defer s.f.lock.RUnlock() + } + + hash := map[string]string{} + for key, value := range s.keysHash { + hash[key] = value + } + return hash +} + +// DeleteKey deletes a key from section. +func (s *Section) DeleteKey(name string) { + if s.f.BlockMode { + s.f.lock.Lock() + defer s.f.lock.Unlock() + } + + for i, k := range s.keyList { + if k == name { + s.keyList = append(s.keyList[:i], s.keyList[i+1:]...) + delete(s.keys, name) + return + } + } +} + +// ChildSections returns a list of child sections of current section. +// For example, "[parent.child1]" and "[parent.child12]" are child sections +// of section "[parent]". +func (s *Section) ChildSections() []*Section { + prefix := s.name + "." + children := make([]*Section, 0, 3) + for _, name := range s.f.sectionList { + if strings.HasPrefix(name, prefix) { + children = append(children, s.f.sections[name]) + } + } + return children +} diff --git a/vendor/github.com/go-ini/ini/struct.go b/vendor/github.com/go-ini/ini/struct.go new file mode 100644 index 0000000000..031c78b8ef --- /dev/null +++ b/vendor/github.com/go-ini/ini/struct.go @@ -0,0 +1,450 @@ +// Copyright 2014 Unknwon +// +// 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 ini + +import ( + "bytes" + "errors" + "fmt" + "reflect" + "strings" + "time" + "unicode" +) + +// NameMapper represents a ini tag name mapper. +type NameMapper func(string) string + +// Built-in name getters. +var ( + // AllCapsUnderscore converts to format ALL_CAPS_UNDERSCORE. + AllCapsUnderscore NameMapper = func(raw string) string { + newstr := make([]rune, 0, len(raw)) + for i, chr := range raw { + if isUpper := 'A' <= chr && chr <= 'Z'; isUpper { + if i > 0 { + newstr = append(newstr, '_') + } + } + newstr = append(newstr, unicode.ToUpper(chr)) + } + return string(newstr) + } + // TitleUnderscore converts to format title_underscore. + TitleUnderscore NameMapper = func(raw string) string { + newstr := make([]rune, 0, len(raw)) + for i, chr := range raw { + if isUpper := 'A' <= chr && chr <= 'Z'; isUpper { + if i > 0 { + newstr = append(newstr, '_') + } + chr -= ('A' - 'a') + } + newstr = append(newstr, chr) + } + return string(newstr) + } +) + +func (s *Section) parseFieldName(raw, actual string) string { + if len(actual) > 0 { + return actual + } + if s.f.NameMapper != nil { + return s.f.NameMapper(raw) + } + return raw +} + +func parseDelim(actual string) string { + if len(actual) > 0 { + return actual + } + return "," +} + +var reflectTime = reflect.TypeOf(time.Now()).Kind() + +// setSliceWithProperType sets proper values to slice based on its type. +func setSliceWithProperType(key *Key, field reflect.Value, delim string, allowShadow bool) error { + var strs []string + if allowShadow { + strs = key.StringsWithShadows(delim) + } else { + strs = key.Strings(delim) + } + + numVals := len(strs) + if numVals == 0 { + return nil + } + + var vals interface{} + + sliceOf := field.Type().Elem().Kind() + switch sliceOf { + case reflect.String: + vals = strs + case reflect.Int: + vals, _ = key.parseInts(strs, true, false) + case reflect.Int64: + vals, _ = key.parseInt64s(strs, true, false) + case reflect.Uint: + vals, _ = key.parseUints(strs, true, false) + case reflect.Uint64: + vals, _ = key.parseUint64s(strs, true, false) + case reflect.Float64: + vals, _ = key.parseFloat64s(strs, true, false) + case reflectTime: + vals, _ = key.parseTimesFormat(time.RFC3339, strs, true, false) + default: + return fmt.Errorf("unsupported type '[]%s'", sliceOf) + } + + slice := reflect.MakeSlice(field.Type(), numVals, numVals) + for i := 0; i < numVals; i++ { + switch sliceOf { + case reflect.String: + slice.Index(i).Set(reflect.ValueOf(vals.([]string)[i])) + case reflect.Int: + slice.Index(i).Set(reflect.ValueOf(vals.([]int)[i])) + case reflect.Int64: + slice.Index(i).Set(reflect.ValueOf(vals.([]int64)[i])) + case reflect.Uint: + slice.Index(i).Set(reflect.ValueOf(vals.([]uint)[i])) + case reflect.Uint64: + slice.Index(i).Set(reflect.ValueOf(vals.([]uint64)[i])) + case reflect.Float64: + slice.Index(i).Set(reflect.ValueOf(vals.([]float64)[i])) + case reflectTime: + slice.Index(i).Set(reflect.ValueOf(vals.([]time.Time)[i])) + } + } + field.Set(slice) + return nil +} + +// setWithProperType sets proper value to field based on its type, +// but it does not return error for failing parsing, +// because we want to use default value that is already assigned to strcut. +func setWithProperType(t reflect.Type, key *Key, field reflect.Value, delim string, allowShadow bool) error { + switch t.Kind() { + case reflect.String: + if len(key.String()) == 0 { + return nil + } + field.SetString(key.String()) + case reflect.Bool: + boolVal, err := key.Bool() + if err != nil { + return nil + } + field.SetBool(boolVal) + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + durationVal, err := key.Duration() + // Skip zero value + if err == nil && int(durationVal) > 0 { + field.Set(reflect.ValueOf(durationVal)) + return nil + } + + intVal, err := key.Int64() + if err != nil || intVal == 0 { + return nil + } + field.SetInt(intVal) + // byte is an alias for uint8, so supporting uint8 breaks support for byte + case reflect.Uint, reflect.Uint16, reflect.Uint32, reflect.Uint64: + durationVal, err := key.Duration() + // Skip zero value + if err == nil && int(durationVal) > 0 { + field.Set(reflect.ValueOf(durationVal)) + return nil + } + + uintVal, err := key.Uint64() + if err != nil { + return nil + } + field.SetUint(uintVal) + + case reflect.Float32, reflect.Float64: + floatVal, err := key.Float64() + if err != nil { + return nil + } + field.SetFloat(floatVal) + case reflectTime: + timeVal, err := key.Time() + if err != nil { + return nil + } + field.Set(reflect.ValueOf(timeVal)) + case reflect.Slice: + return setSliceWithProperType(key, field, delim, allowShadow) + default: + return fmt.Errorf("unsupported type '%s'", t) + } + return nil +} + +func parseTagOptions(tag string) (rawName string, omitEmpty bool, allowShadow bool) { + opts := strings.SplitN(tag, ",", 3) + rawName = opts[0] + if len(opts) > 1 { + omitEmpty = opts[1] == "omitempty" + } + if len(opts) > 2 { + allowShadow = opts[2] == "allowshadow" + } + return rawName, omitEmpty, allowShadow +} + +func (s *Section) mapTo(val reflect.Value) error { + if val.Kind() == reflect.Ptr { + val = val.Elem() + } + typ := val.Type() + + for i := 0; i < typ.NumField(); i++ { + field := val.Field(i) + tpField := typ.Field(i) + + tag := tpField.Tag.Get("ini") + if tag == "-" { + continue + } + + rawName, _, allowShadow := parseTagOptions(tag) + fieldName := s.parseFieldName(tpField.Name, rawName) + if len(fieldName) == 0 || !field.CanSet() { + continue + } + + isAnonymous := tpField.Type.Kind() == reflect.Ptr && tpField.Anonymous + isStruct := tpField.Type.Kind() == reflect.Struct + if isAnonymous { + field.Set(reflect.New(tpField.Type.Elem())) + } + + if isAnonymous || isStruct { + if sec, err := s.f.GetSection(fieldName); err == nil { + if err = sec.mapTo(field); err != nil { + return fmt.Errorf("error mapping field(%s): %v", fieldName, err) + } + continue + } + } + + if key, err := s.GetKey(fieldName); err == nil { + delim := parseDelim(tpField.Tag.Get("delim")) + if err = setWithProperType(tpField.Type, key, field, delim, allowShadow); err != nil { + return fmt.Errorf("error mapping field(%s): %v", fieldName, err) + } + } + } + return nil +} + +// MapTo maps section to given struct. +func (s *Section) MapTo(v interface{}) error { + typ := reflect.TypeOf(v) + val := reflect.ValueOf(v) + if typ.Kind() == reflect.Ptr { + typ = typ.Elem() + val = val.Elem() + } else { + return errors.New("cannot map to non-pointer struct") + } + + return s.mapTo(val) +} + +// MapTo maps file to given struct. +func (f *File) MapTo(v interface{}) error { + return f.Section("").MapTo(v) +} + +// MapTo maps data sources to given struct with name mapper. +func MapToWithMapper(v interface{}, mapper NameMapper, source interface{}, others ...interface{}) error { + cfg, err := Load(source, others...) + if err != nil { + return err + } + cfg.NameMapper = mapper + return cfg.MapTo(v) +} + +// MapTo maps data sources to given struct. +func MapTo(v, source interface{}, others ...interface{}) error { + return MapToWithMapper(v, nil, source, others...) +} + +// reflectSliceWithProperType does the opposite thing as setSliceWithProperType. +func reflectSliceWithProperType(key *Key, field reflect.Value, delim string) error { + slice := field.Slice(0, field.Len()) + if field.Len() == 0 { + return nil + } + + var buf bytes.Buffer + sliceOf := field.Type().Elem().Kind() + for i := 0; i < field.Len(); i++ { + switch sliceOf { + case reflect.String: + buf.WriteString(slice.Index(i).String()) + case reflect.Int, reflect.Int64: + buf.WriteString(fmt.Sprint(slice.Index(i).Int())) + case reflect.Uint, reflect.Uint64: + buf.WriteString(fmt.Sprint(slice.Index(i).Uint())) + case reflect.Float64: + buf.WriteString(fmt.Sprint(slice.Index(i).Float())) + case reflectTime: + buf.WriteString(slice.Index(i).Interface().(time.Time).Format(time.RFC3339)) + default: + return fmt.Errorf("unsupported type '[]%s'", sliceOf) + } + buf.WriteString(delim) + } + key.SetValue(buf.String()[:buf.Len()-1]) + return nil +} + +// reflectWithProperType does the opposite thing as setWithProperType. +func reflectWithProperType(t reflect.Type, key *Key, field reflect.Value, delim string) error { + switch t.Kind() { + case reflect.String: + key.SetValue(field.String()) + case reflect.Bool: + key.SetValue(fmt.Sprint(field.Bool())) + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + key.SetValue(fmt.Sprint(field.Int())) + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64: + key.SetValue(fmt.Sprint(field.Uint())) + case reflect.Float32, reflect.Float64: + key.SetValue(fmt.Sprint(field.Float())) + case reflectTime: + key.SetValue(fmt.Sprint(field.Interface().(time.Time).Format(time.RFC3339))) + case reflect.Slice: + return reflectSliceWithProperType(key, field, delim) + default: + return fmt.Errorf("unsupported type '%s'", t) + } + return nil +} + +// CR: copied from encoding/json/encode.go with modifications of time.Time support. +// TODO: add more test coverage. +func isEmptyValue(v reflect.Value) bool { + switch v.Kind() { + case reflect.Array, reflect.Map, reflect.Slice, reflect.String: + return v.Len() == 0 + case reflect.Bool: + return !v.Bool() + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + return v.Int() == 0 + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr: + return v.Uint() == 0 + case reflect.Float32, reflect.Float64: + return v.Float() == 0 + case reflectTime: + return v.Interface().(time.Time).IsZero() + case reflect.Interface, reflect.Ptr: + return v.IsNil() + } + return false +} + +func (s *Section) reflectFrom(val reflect.Value) error { + if val.Kind() == reflect.Ptr { + val = val.Elem() + } + typ := val.Type() + + for i := 0; i < typ.NumField(); i++ { + field := val.Field(i) + tpField := typ.Field(i) + + tag := tpField.Tag.Get("ini") + if tag == "-" { + continue + } + + opts := strings.SplitN(tag, ",", 2) + if len(opts) == 2 && opts[1] == "omitempty" && isEmptyValue(field) { + continue + } + + fieldName := s.parseFieldName(tpField.Name, opts[0]) + if len(fieldName) == 0 || !field.CanSet() { + continue + } + + if (tpField.Type.Kind() == reflect.Ptr && tpField.Anonymous) || + (tpField.Type.Kind() == reflect.Struct && tpField.Type.Name() != "Time") { + // Note: The only error here is section doesn't exist. + sec, err := s.f.GetSection(fieldName) + if err != nil { + // Note: fieldName can never be empty here, ignore error. + sec, _ = s.f.NewSection(fieldName) + } + if err = sec.reflectFrom(field); err != nil { + return fmt.Errorf("error reflecting field (%s): %v", fieldName, err) + } + continue + } + + // Note: Same reason as secion. + key, err := s.GetKey(fieldName) + if err != nil { + key, _ = s.NewKey(fieldName, "") + } + if err = reflectWithProperType(tpField.Type, key, field, parseDelim(tpField.Tag.Get("delim"))); err != nil { + return fmt.Errorf("error reflecting field (%s): %v", fieldName, err) + } + + } + return nil +} + +// ReflectFrom reflects secion from given struct. +func (s *Section) ReflectFrom(v interface{}) error { + typ := reflect.TypeOf(v) + val := reflect.ValueOf(v) + if typ.Kind() == reflect.Ptr { + typ = typ.Elem() + val = val.Elem() + } else { + return errors.New("cannot reflect from non-pointer struct") + } + + return s.reflectFrom(val) +} + +// ReflectFrom reflects file from given struct. +func (f *File) ReflectFrom(v interface{}) error { + return f.Section("").ReflectFrom(v) +} + +// ReflectFrom reflects data sources from given struct with name mapper. +func ReflectFromWithMapper(cfg *File, v interface{}, mapper NameMapper) error { + cfg.NameMapper = mapper + return cfg.ReflectFrom(v) +} + +// ReflectFrom reflects data sources from given struct. +func ReflectFrom(cfg *File, v interface{}) error { + return ReflectFromWithMapper(cfg, v, nil) +} diff --git a/vendor/github.com/jmespath/go-jmespath/LICENSE b/vendor/github.com/jmespath/go-jmespath/LICENSE new file mode 100644 index 0000000000..b03310a91f --- /dev/null +++ b/vendor/github.com/jmespath/go-jmespath/LICENSE @@ -0,0 +1,13 @@ +Copyright 2015 James Saryerwinnie + +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. diff --git a/vendor/github.com/jmespath/go-jmespath/Makefile b/vendor/github.com/jmespath/go-jmespath/Makefile new file mode 100644 index 0000000000..a828d2848f --- /dev/null +++ b/vendor/github.com/jmespath/go-jmespath/Makefile @@ -0,0 +1,44 @@ + +CMD = jpgo + +help: + @echo "Please use \`make ' where is one of" + @echo " test to run all the tests" + @echo " build to build the library and jp executable" + @echo " generate to run codegen" + + +generate: + go generate ./... + +build: + rm -f $(CMD) + go build ./... + rm -f cmd/$(CMD)/$(CMD) && cd cmd/$(CMD)/ && go build ./... + mv cmd/$(CMD)/$(CMD) . + +test: + go test -v ./... + +check: + go vet ./... + @echo "golint ./..." + @lint=`golint ./...`; \ + lint=`echo "$$lint" | grep -v "astnodetype_string.go" | grep -v "toktype_string.go"`; \ + echo "$$lint"; \ + if [ "$$lint" != "" ]; then exit 1; fi + +htmlc: + go test -coverprofile="/tmp/jpcov" && go tool cover -html="/tmp/jpcov" && unlink /tmp/jpcov + +buildfuzz: + go-fuzz-build github.com/jmespath/go-jmespath/fuzz + +fuzz: buildfuzz + go-fuzz -bin=./jmespath-fuzz.zip -workdir=fuzz/testdata + +bench: + go test -bench . -cpuprofile cpu.out + +pprof-cpu: + go tool pprof ./go-jmespath.test ./cpu.out diff --git a/vendor/github.com/jmespath/go-jmespath/README.md b/vendor/github.com/jmespath/go-jmespath/README.md new file mode 100644 index 0000000000..187ef676dc --- /dev/null +++ b/vendor/github.com/jmespath/go-jmespath/README.md @@ -0,0 +1,7 @@ +# go-jmespath - A JMESPath implementation in Go + +[![Build Status](https://img.shields.io/travis/jmespath/go-jmespath.svg)](https://travis-ci.org/jmespath/go-jmespath) + + + +See http://jmespath.org for more info. diff --git a/vendor/github.com/jmespath/go-jmespath/api.go b/vendor/github.com/jmespath/go-jmespath/api.go new file mode 100644 index 0000000000..9cfa988bc5 --- /dev/null +++ b/vendor/github.com/jmespath/go-jmespath/api.go @@ -0,0 +1,49 @@ +package jmespath + +import "strconv" + +// JmesPath is the epresentation of a compiled JMES path query. A JmesPath is +// safe for concurrent use by multiple goroutines. +type JMESPath struct { + ast ASTNode + intr *treeInterpreter +} + +// Compile parses a JMESPath expression and returns, if successful, a JMESPath +// object that can be used to match against data. +func Compile(expression string) (*JMESPath, error) { + parser := NewParser() + ast, err := parser.Parse(expression) + if err != nil { + return nil, err + } + jmespath := &JMESPath{ast: ast, intr: newInterpreter()} + return jmespath, nil +} + +// MustCompile is like Compile but panics if the expression cannot be parsed. +// It simplifies safe initialization of global variables holding compiled +// JMESPaths. +func MustCompile(expression string) *JMESPath { + jmespath, err := Compile(expression) + if err != nil { + panic(`jmespath: Compile(` + strconv.Quote(expression) + `): ` + err.Error()) + } + return jmespath +} + +// Search evaluates a JMESPath expression against input data and returns the result. +func (jp *JMESPath) Search(data interface{}) (interface{}, error) { + return jp.intr.Execute(jp.ast, data) +} + +// Search evaluates a JMESPath expression against input data and returns the result. +func Search(expression string, data interface{}) (interface{}, error) { + intr := newInterpreter() + parser := NewParser() + ast, err := parser.Parse(expression) + if err != nil { + return nil, err + } + return intr.Execute(ast, data) +} diff --git a/vendor/github.com/jmespath/go-jmespath/astnodetype_string.go b/vendor/github.com/jmespath/go-jmespath/astnodetype_string.go new file mode 100644 index 0000000000..1cd2d239c9 --- /dev/null +++ b/vendor/github.com/jmespath/go-jmespath/astnodetype_string.go @@ -0,0 +1,16 @@ +// generated by stringer -type astNodeType; DO NOT EDIT + +package jmespath + +import "fmt" + +const _astNodeType_name = "ASTEmptyASTComparatorASTCurrentNodeASTExpRefASTFunctionExpressionASTFieldASTFilterProjectionASTFlattenASTIdentityASTIndexASTIndexExpressionASTKeyValPairASTLiteralASTMultiSelectHashASTMultiSelectListASTOrExpressionASTAndExpressionASTNotExpressionASTPipeASTProjectionASTSubexpressionASTSliceASTValueProjection" + +var _astNodeType_index = [...]uint16{0, 8, 21, 35, 44, 65, 73, 92, 102, 113, 121, 139, 152, 162, 180, 198, 213, 229, 245, 252, 265, 281, 289, 307} + +func (i astNodeType) String() string { + if i < 0 || i >= astNodeType(len(_astNodeType_index)-1) { + return fmt.Sprintf("astNodeType(%d)", i) + } + return _astNodeType_name[_astNodeType_index[i]:_astNodeType_index[i+1]] +} diff --git a/vendor/github.com/jmespath/go-jmespath/functions.go b/vendor/github.com/jmespath/go-jmespath/functions.go new file mode 100644 index 0000000000..9b7cd89b4b --- /dev/null +++ b/vendor/github.com/jmespath/go-jmespath/functions.go @@ -0,0 +1,842 @@ +package jmespath + +import ( + "encoding/json" + "errors" + "fmt" + "math" + "reflect" + "sort" + "strconv" + "strings" + "unicode/utf8" +) + +type jpFunction func(arguments []interface{}) (interface{}, error) + +type jpType string + +const ( + jpUnknown jpType = "unknown" + jpNumber jpType = "number" + jpString jpType = "string" + jpArray jpType = "array" + jpObject jpType = "object" + jpArrayNumber jpType = "array[number]" + jpArrayString jpType = "array[string]" + jpExpref jpType = "expref" + jpAny jpType = "any" +) + +type functionEntry struct { + name string + arguments []argSpec + handler jpFunction + hasExpRef bool +} + +type argSpec struct { + types []jpType + variadic bool +} + +type byExprString struct { + intr *treeInterpreter + node ASTNode + items []interface{} + hasError bool +} + +func (a *byExprString) Len() int { + return len(a.items) +} +func (a *byExprString) Swap(i, j int) { + a.items[i], a.items[j] = a.items[j], a.items[i] +} +func (a *byExprString) Less(i, j int) bool { + first, err := a.intr.Execute(a.node, a.items[i]) + if err != nil { + a.hasError = true + // Return a dummy value. + return true + } + ith, ok := first.(string) + if !ok { + a.hasError = true + return true + } + second, err := a.intr.Execute(a.node, a.items[j]) + if err != nil { + a.hasError = true + // Return a dummy value. + return true + } + jth, ok := second.(string) + if !ok { + a.hasError = true + return true + } + return ith < jth +} + +type byExprFloat struct { + intr *treeInterpreter + node ASTNode + items []interface{} + hasError bool +} + +func (a *byExprFloat) Len() int { + return len(a.items) +} +func (a *byExprFloat) Swap(i, j int) { + a.items[i], a.items[j] = a.items[j], a.items[i] +} +func (a *byExprFloat) Less(i, j int) bool { + first, err := a.intr.Execute(a.node, a.items[i]) + if err != nil { + a.hasError = true + // Return a dummy value. + return true + } + ith, ok := first.(float64) + if !ok { + a.hasError = true + return true + } + second, err := a.intr.Execute(a.node, a.items[j]) + if err != nil { + a.hasError = true + // Return a dummy value. + return true + } + jth, ok := second.(float64) + if !ok { + a.hasError = true + return true + } + return ith < jth +} + +type functionCaller struct { + functionTable map[string]functionEntry +} + +func newFunctionCaller() *functionCaller { + caller := &functionCaller{} + caller.functionTable = map[string]functionEntry{ + "length": { + name: "length", + arguments: []argSpec{ + {types: []jpType{jpString, jpArray, jpObject}}, + }, + handler: jpfLength, + }, + "starts_with": { + name: "starts_with", + arguments: []argSpec{ + {types: []jpType{jpString}}, + {types: []jpType{jpString}}, + }, + handler: jpfStartsWith, + }, + "abs": { + name: "abs", + arguments: []argSpec{ + {types: []jpType{jpNumber}}, + }, + handler: jpfAbs, + }, + "avg": { + name: "avg", + arguments: []argSpec{ + {types: []jpType{jpArrayNumber}}, + }, + handler: jpfAvg, + }, + "ceil": { + name: "ceil", + arguments: []argSpec{ + {types: []jpType{jpNumber}}, + }, + handler: jpfCeil, + }, + "contains": { + name: "contains", + arguments: []argSpec{ + {types: []jpType{jpArray, jpString}}, + {types: []jpType{jpAny}}, + }, + handler: jpfContains, + }, + "ends_with": { + name: "ends_with", + arguments: []argSpec{ + {types: []jpType{jpString}}, + {types: []jpType{jpString}}, + }, + handler: jpfEndsWith, + }, + "floor": { + name: "floor", + arguments: []argSpec{ + {types: []jpType{jpNumber}}, + }, + handler: jpfFloor, + }, + "map": { + name: "amp", + arguments: []argSpec{ + {types: []jpType{jpExpref}}, + {types: []jpType{jpArray}}, + }, + handler: jpfMap, + hasExpRef: true, + }, + "max": { + name: "max", + arguments: []argSpec{ + {types: []jpType{jpArrayNumber, jpArrayString}}, + }, + handler: jpfMax, + }, + "merge": { + name: "merge", + arguments: []argSpec{ + {types: []jpType{jpObject}, variadic: true}, + }, + handler: jpfMerge, + }, + "max_by": { + name: "max_by", + arguments: []argSpec{ + {types: []jpType{jpArray}}, + {types: []jpType{jpExpref}}, + }, + handler: jpfMaxBy, + hasExpRef: true, + }, + "sum": { + name: "sum", + arguments: []argSpec{ + {types: []jpType{jpArrayNumber}}, + }, + handler: jpfSum, + }, + "min": { + name: "min", + arguments: []argSpec{ + {types: []jpType{jpArrayNumber, jpArrayString}}, + }, + handler: jpfMin, + }, + "min_by": { + name: "min_by", + arguments: []argSpec{ + {types: []jpType{jpArray}}, + {types: []jpType{jpExpref}}, + }, + handler: jpfMinBy, + hasExpRef: true, + }, + "type": { + name: "type", + arguments: []argSpec{ + {types: []jpType{jpAny}}, + }, + handler: jpfType, + }, + "keys": { + name: "keys", + arguments: []argSpec{ + {types: []jpType{jpObject}}, + }, + handler: jpfKeys, + }, + "values": { + name: "values", + arguments: []argSpec{ + {types: []jpType{jpObject}}, + }, + handler: jpfValues, + }, + "sort": { + name: "sort", + arguments: []argSpec{ + {types: []jpType{jpArrayString, jpArrayNumber}}, + }, + handler: jpfSort, + }, + "sort_by": { + name: "sort_by", + arguments: []argSpec{ + {types: []jpType{jpArray}}, + {types: []jpType{jpExpref}}, + }, + handler: jpfSortBy, + hasExpRef: true, + }, + "join": { + name: "join", + arguments: []argSpec{ + {types: []jpType{jpString}}, + {types: []jpType{jpArrayString}}, + }, + handler: jpfJoin, + }, + "reverse": { + name: "reverse", + arguments: []argSpec{ + {types: []jpType{jpArray, jpString}}, + }, + handler: jpfReverse, + }, + "to_array": { + name: "to_array", + arguments: []argSpec{ + {types: []jpType{jpAny}}, + }, + handler: jpfToArray, + }, + "to_string": { + name: "to_string", + arguments: []argSpec{ + {types: []jpType{jpAny}}, + }, + handler: jpfToString, + }, + "to_number": { + name: "to_number", + arguments: []argSpec{ + {types: []jpType{jpAny}}, + }, + handler: jpfToNumber, + }, + "not_null": { + name: "not_null", + arguments: []argSpec{ + {types: []jpType{jpAny}, variadic: true}, + }, + handler: jpfNotNull, + }, + } + return caller +} + +func (e *functionEntry) resolveArgs(arguments []interface{}) ([]interface{}, error) { + if len(e.arguments) == 0 { + return arguments, nil + } + if !e.arguments[len(e.arguments)-1].variadic { + if len(e.arguments) != len(arguments) { + return nil, errors.New("incorrect number of args") + } + for i, spec := range e.arguments { + userArg := arguments[i] + err := spec.typeCheck(userArg) + if err != nil { + return nil, err + } + } + return arguments, nil + } + if len(arguments) < len(e.arguments) { + return nil, errors.New("Invalid arity.") + } + return arguments, nil +} + +func (a *argSpec) typeCheck(arg interface{}) error { + for _, t := range a.types { + switch t { + case jpNumber: + if _, ok := arg.(float64); ok { + return nil + } + case jpString: + if _, ok := arg.(string); ok { + return nil + } + case jpArray: + if isSliceType(arg) { + return nil + } + case jpObject: + if _, ok := arg.(map[string]interface{}); ok { + return nil + } + case jpArrayNumber: + if _, ok := toArrayNum(arg); ok { + return nil + } + case jpArrayString: + if _, ok := toArrayStr(arg); ok { + return nil + } + case jpAny: + return nil + case jpExpref: + if _, ok := arg.(expRef); ok { + return nil + } + } + } + return fmt.Errorf("Invalid type for: %v, expected: %#v", arg, a.types) +} + +func (f *functionCaller) CallFunction(name string, arguments []interface{}, intr *treeInterpreter) (interface{}, error) { + entry, ok := f.functionTable[name] + if !ok { + return nil, errors.New("unknown function: " + name) + } + resolvedArgs, err := entry.resolveArgs(arguments) + if err != nil { + return nil, err + } + if entry.hasExpRef { + var extra []interface{} + extra = append(extra, intr) + resolvedArgs = append(extra, resolvedArgs...) + } + return entry.handler(resolvedArgs) +} + +func jpfAbs(arguments []interface{}) (interface{}, error) { + num := arguments[0].(float64) + return math.Abs(num), nil +} + +func jpfLength(arguments []interface{}) (interface{}, error) { + arg := arguments[0] + if c, ok := arg.(string); ok { + return float64(utf8.RuneCountInString(c)), nil + } else if isSliceType(arg) { + v := reflect.ValueOf(arg) + return float64(v.Len()), nil + } else if c, ok := arg.(map[string]interface{}); ok { + return float64(len(c)), nil + } + return nil, errors.New("could not compute length()") +} + +func jpfStartsWith(arguments []interface{}) (interface{}, error) { + search := arguments[0].(string) + prefix := arguments[1].(string) + return strings.HasPrefix(search, prefix), nil +} + +func jpfAvg(arguments []interface{}) (interface{}, error) { + // We've already type checked the value so we can safely use + // type assertions. + args := arguments[0].([]interface{}) + length := float64(len(args)) + numerator := 0.0 + for _, n := range args { + numerator += n.(float64) + } + return numerator / length, nil +} +func jpfCeil(arguments []interface{}) (interface{}, error) { + val := arguments[0].(float64) + return math.Ceil(val), nil +} +func jpfContains(arguments []interface{}) (interface{}, error) { + search := arguments[0] + el := arguments[1] + if searchStr, ok := search.(string); ok { + if elStr, ok := el.(string); ok { + return strings.Index(searchStr, elStr) != -1, nil + } + return false, nil + } + // Otherwise this is a generic contains for []interface{} + general := search.([]interface{}) + for _, item := range general { + if item == el { + return true, nil + } + } + return false, nil +} +func jpfEndsWith(arguments []interface{}) (interface{}, error) { + search := arguments[0].(string) + suffix := arguments[1].(string) + return strings.HasSuffix(search, suffix), nil +} +func jpfFloor(arguments []interface{}) (interface{}, error) { + val := arguments[0].(float64) + return math.Floor(val), nil +} +func jpfMap(arguments []interface{}) (interface{}, error) { + intr := arguments[0].(*treeInterpreter) + exp := arguments[1].(expRef) + node := exp.ref + arr := arguments[2].([]interface{}) + mapped := make([]interface{}, 0, len(arr)) + for _, value := range arr { + current, err := intr.Execute(node, value) + if err != nil { + return nil, err + } + mapped = append(mapped, current) + } + return mapped, nil +} +func jpfMax(arguments []interface{}) (interface{}, error) { + if items, ok := toArrayNum(arguments[0]); ok { + if len(items) == 0 { + return nil, nil + } + if len(items) == 1 { + return items[0], nil + } + best := items[0] + for _, item := range items[1:] { + if item > best { + best = item + } + } + return best, nil + } + // Otherwise we're dealing with a max() of strings. + items, _ := toArrayStr(arguments[0]) + if len(items) == 0 { + return nil, nil + } + if len(items) == 1 { + return items[0], nil + } + best := items[0] + for _, item := range items[1:] { + if item > best { + best = item + } + } + return best, nil +} +func jpfMerge(arguments []interface{}) (interface{}, error) { + final := make(map[string]interface{}) + for _, m := range arguments { + mapped := m.(map[string]interface{}) + for key, value := range mapped { + final[key] = value + } + } + return final, nil +} +func jpfMaxBy(arguments []interface{}) (interface{}, error) { + intr := arguments[0].(*treeInterpreter) + arr := arguments[1].([]interface{}) + exp := arguments[2].(expRef) + node := exp.ref + if len(arr) == 0 { + return nil, nil + } else if len(arr) == 1 { + return arr[0], nil + } + start, err := intr.Execute(node, arr[0]) + if err != nil { + return nil, err + } + switch t := start.(type) { + case float64: + bestVal := t + bestItem := arr[0] + for _, item := range arr[1:] { + result, err := intr.Execute(node, item) + if err != nil { + return nil, err + } + current, ok := result.(float64) + if !ok { + return nil, errors.New("invalid type, must be number") + } + if current > bestVal { + bestVal = current + bestItem = item + } + } + return bestItem, nil + case string: + bestVal := t + bestItem := arr[0] + for _, item := range arr[1:] { + result, err := intr.Execute(node, item) + if err != nil { + return nil, err + } + current, ok := result.(string) + if !ok { + return nil, errors.New("invalid type, must be string") + } + if current > bestVal { + bestVal = current + bestItem = item + } + } + return bestItem, nil + default: + return nil, errors.New("invalid type, must be number of string") + } +} +func jpfSum(arguments []interface{}) (interface{}, error) { + items, _ := toArrayNum(arguments[0]) + sum := 0.0 + for _, item := range items { + sum += item + } + return sum, nil +} + +func jpfMin(arguments []interface{}) (interface{}, error) { + if items, ok := toArrayNum(arguments[0]); ok { + if len(items) == 0 { + return nil, nil + } + if len(items) == 1 { + return items[0], nil + } + best := items[0] + for _, item := range items[1:] { + if item < best { + best = item + } + } + return best, nil + } + items, _ := toArrayStr(arguments[0]) + if len(items) == 0 { + return nil, nil + } + if len(items) == 1 { + return items[0], nil + } + best := items[0] + for _, item := range items[1:] { + if item < best { + best = item + } + } + return best, nil +} + +func jpfMinBy(arguments []interface{}) (interface{}, error) { + intr := arguments[0].(*treeInterpreter) + arr := arguments[1].([]interface{}) + exp := arguments[2].(expRef) + node := exp.ref + if len(arr) == 0 { + return nil, nil + } else if len(arr) == 1 { + return arr[0], nil + } + start, err := intr.Execute(node, arr[0]) + if err != nil { + return nil, err + } + if t, ok := start.(float64); ok { + bestVal := t + bestItem := arr[0] + for _, item := range arr[1:] { + result, err := intr.Execute(node, item) + if err != nil { + return nil, err + } + current, ok := result.(float64) + if !ok { + return nil, errors.New("invalid type, must be number") + } + if current < bestVal { + bestVal = current + bestItem = item + } + } + return bestItem, nil + } else if t, ok := start.(string); ok { + bestVal := t + bestItem := arr[0] + for _, item := range arr[1:] { + result, err := intr.Execute(node, item) + if err != nil { + return nil, err + } + current, ok := result.(string) + if !ok { + return nil, errors.New("invalid type, must be string") + } + if current < bestVal { + bestVal = current + bestItem = item + } + } + return bestItem, nil + } else { + return nil, errors.New("invalid type, must be number of string") + } +} +func jpfType(arguments []interface{}) (interface{}, error) { + arg := arguments[0] + if _, ok := arg.(float64); ok { + return "number", nil + } + if _, ok := arg.(string); ok { + return "string", nil + } + if _, ok := arg.([]interface{}); ok { + return "array", nil + } + if _, ok := arg.(map[string]interface{}); ok { + return "object", nil + } + if arg == nil { + return "null", nil + } + if arg == true || arg == false { + return "boolean", nil + } + return nil, errors.New("unknown type") +} +func jpfKeys(arguments []interface{}) (interface{}, error) { + arg := arguments[0].(map[string]interface{}) + collected := make([]interface{}, 0, len(arg)) + for key := range arg { + collected = append(collected, key) + } + return collected, nil +} +func jpfValues(arguments []interface{}) (interface{}, error) { + arg := arguments[0].(map[string]interface{}) + collected := make([]interface{}, 0, len(arg)) + for _, value := range arg { + collected = append(collected, value) + } + return collected, nil +} +func jpfSort(arguments []interface{}) (interface{}, error) { + if items, ok := toArrayNum(arguments[0]); ok { + d := sort.Float64Slice(items) + sort.Stable(d) + final := make([]interface{}, len(d)) + for i, val := range d { + final[i] = val + } + return final, nil + } + // Otherwise we're dealing with sort()'ing strings. + items, _ := toArrayStr(arguments[0]) + d := sort.StringSlice(items) + sort.Stable(d) + final := make([]interface{}, len(d)) + for i, val := range d { + final[i] = val + } + return final, nil +} +func jpfSortBy(arguments []interface{}) (interface{}, error) { + intr := arguments[0].(*treeInterpreter) + arr := arguments[1].([]interface{}) + exp := arguments[2].(expRef) + node := exp.ref + if len(arr) == 0 { + return arr, nil + } else if len(arr) == 1 { + return arr, nil + } + start, err := intr.Execute(node, arr[0]) + if err != nil { + return nil, err + } + if _, ok := start.(float64); ok { + sortable := &byExprFloat{intr, node, arr, false} + sort.Stable(sortable) + if sortable.hasError { + return nil, errors.New("error in sort_by comparison") + } + return arr, nil + } else if _, ok := start.(string); ok { + sortable := &byExprString{intr, node, arr, false} + sort.Stable(sortable) + if sortable.hasError { + return nil, errors.New("error in sort_by comparison") + } + return arr, nil + } else { + return nil, errors.New("invalid type, must be number of string") + } +} +func jpfJoin(arguments []interface{}) (interface{}, error) { + sep := arguments[0].(string) + // We can't just do arguments[1].([]string), we have to + // manually convert each item to a string. + arrayStr := []string{} + for _, item := range arguments[1].([]interface{}) { + arrayStr = append(arrayStr, item.(string)) + } + return strings.Join(arrayStr, sep), nil +} +func jpfReverse(arguments []interface{}) (interface{}, error) { + if s, ok := arguments[0].(string); ok { + r := []rune(s) + for i, j := 0, len(r)-1; i < len(r)/2; i, j = i+1, j-1 { + r[i], r[j] = r[j], r[i] + } + return string(r), nil + } + items := arguments[0].([]interface{}) + length := len(items) + reversed := make([]interface{}, length) + for i, item := range items { + reversed[length-(i+1)] = item + } + return reversed, nil +} +func jpfToArray(arguments []interface{}) (interface{}, error) { + if _, ok := arguments[0].([]interface{}); ok { + return arguments[0], nil + } + return arguments[:1:1], nil +} +func jpfToString(arguments []interface{}) (interface{}, error) { + if v, ok := arguments[0].(string); ok { + return v, nil + } + result, err := json.Marshal(arguments[0]) + if err != nil { + return nil, err + } + return string(result), nil +} +func jpfToNumber(arguments []interface{}) (interface{}, error) { + arg := arguments[0] + if v, ok := arg.(float64); ok { + return v, nil + } + if v, ok := arg.(string); ok { + conv, err := strconv.ParseFloat(v, 64) + if err != nil { + return nil, nil + } + return conv, nil + } + if _, ok := arg.([]interface{}); ok { + return nil, nil + } + if _, ok := arg.(map[string]interface{}); ok { + return nil, nil + } + if arg == nil { + return nil, nil + } + if arg == true || arg == false { + return nil, nil + } + return nil, errors.New("unknown type") +} +func jpfNotNull(arguments []interface{}) (interface{}, error) { + for _, arg := range arguments { + if arg != nil { + return arg, nil + } + } + return nil, nil +} diff --git a/vendor/github.com/jmespath/go-jmespath/interpreter.go b/vendor/github.com/jmespath/go-jmespath/interpreter.go new file mode 100644 index 0000000000..13c74604c2 --- /dev/null +++ b/vendor/github.com/jmespath/go-jmespath/interpreter.go @@ -0,0 +1,418 @@ +package jmespath + +import ( + "errors" + "reflect" + "unicode" + "unicode/utf8" +) + +/* This is a tree based interpreter. It walks the AST and directly + interprets the AST to search through a JSON document. +*/ + +type treeInterpreter struct { + fCall *functionCaller +} + +func newInterpreter() *treeInterpreter { + interpreter := treeInterpreter{} + interpreter.fCall = newFunctionCaller() + return &interpreter +} + +type expRef struct { + ref ASTNode +} + +// Execute takes an ASTNode and input data and interprets the AST directly. +// It will produce the result of applying the JMESPath expression associated +// with the ASTNode to the input data "value". +func (intr *treeInterpreter) Execute(node ASTNode, value interface{}) (interface{}, error) { + switch node.nodeType { + case ASTComparator: + left, err := intr.Execute(node.children[0], value) + if err != nil { + return nil, err + } + right, err := intr.Execute(node.children[1], value) + if err != nil { + return nil, err + } + switch node.value { + case tEQ: + return objsEqual(left, right), nil + case tNE: + return !objsEqual(left, right), nil + } + leftNum, ok := left.(float64) + if !ok { + return nil, nil + } + rightNum, ok := right.(float64) + if !ok { + return nil, nil + } + switch node.value { + case tGT: + return leftNum > rightNum, nil + case tGTE: + return leftNum >= rightNum, nil + case tLT: + return leftNum < rightNum, nil + case tLTE: + return leftNum <= rightNum, nil + } + case ASTExpRef: + return expRef{ref: node.children[0]}, nil + case ASTFunctionExpression: + resolvedArgs := []interface{}{} + for _, arg := range node.children { + current, err := intr.Execute(arg, value) + if err != nil { + return nil, err + } + resolvedArgs = append(resolvedArgs, current) + } + return intr.fCall.CallFunction(node.value.(string), resolvedArgs, intr) + case ASTField: + if m, ok := value.(map[string]interface{}); ok { + key := node.value.(string) + return m[key], nil + } + return intr.fieldFromStruct(node.value.(string), value) + case ASTFilterProjection: + left, err := intr.Execute(node.children[0], value) + if err != nil { + return nil, nil + } + sliceType, ok := left.([]interface{}) + if !ok { + if isSliceType(left) { + return intr.filterProjectionWithReflection(node, left) + } + return nil, nil + } + compareNode := node.children[2] + collected := []interface{}{} + for _, element := range sliceType { + result, err := intr.Execute(compareNode, element) + if err != nil { + return nil, err + } + if !isFalse(result) { + current, err := intr.Execute(node.children[1], element) + if err != nil { + return nil, err + } + if current != nil { + collected = append(collected, current) + } + } + } + return collected, nil + case ASTFlatten: + left, err := intr.Execute(node.children[0], value) + if err != nil { + return nil, nil + } + sliceType, ok := left.([]interface{}) + if !ok { + // If we can't type convert to []interface{}, there's + // a chance this could still work via reflection if we're + // dealing with user provided types. + if isSliceType(left) { + return intr.flattenWithReflection(left) + } + return nil, nil + } + flattened := []interface{}{} + for _, element := range sliceType { + if elementSlice, ok := element.([]interface{}); ok { + flattened = append(flattened, elementSlice...) + } else if isSliceType(element) { + reflectFlat := []interface{}{} + v := reflect.ValueOf(element) + for i := 0; i < v.Len(); i++ { + reflectFlat = append(reflectFlat, v.Index(i).Interface()) + } + flattened = append(flattened, reflectFlat...) + } else { + flattened = append(flattened, element) + } + } + return flattened, nil + case ASTIdentity, ASTCurrentNode: + return value, nil + case ASTIndex: + if sliceType, ok := value.([]interface{}); ok { + index := node.value.(int) + if index < 0 { + index += len(sliceType) + } + if index < len(sliceType) && index >= 0 { + return sliceType[index], nil + } + return nil, nil + } + // Otherwise try via reflection. + rv := reflect.ValueOf(value) + if rv.Kind() == reflect.Slice { + index := node.value.(int) + if index < 0 { + index += rv.Len() + } + if index < rv.Len() && index >= 0 { + v := rv.Index(index) + return v.Interface(), nil + } + } + return nil, nil + case ASTKeyValPair: + return intr.Execute(node.children[0], value) + case ASTLiteral: + return node.value, nil + case ASTMultiSelectHash: + if value == nil { + return nil, nil + } + collected := make(map[string]interface{}) + for _, child := range node.children { + current, err := intr.Execute(child, value) + if err != nil { + return nil, err + } + key := child.value.(string) + collected[key] = current + } + return collected, nil + case ASTMultiSelectList: + if value == nil { + return nil, nil + } + collected := []interface{}{} + for _, child := range node.children { + current, err := intr.Execute(child, value) + if err != nil { + return nil, err + } + collected = append(collected, current) + } + return collected, nil + case ASTOrExpression: + matched, err := intr.Execute(node.children[0], value) + if err != nil { + return nil, err + } + if isFalse(matched) { + matched, err = intr.Execute(node.children[1], value) + if err != nil { + return nil, err + } + } + return matched, nil + case ASTAndExpression: + matched, err := intr.Execute(node.children[0], value) + if err != nil { + return nil, err + } + if isFalse(matched) { + return matched, nil + } + return intr.Execute(node.children[1], value) + case ASTNotExpression: + matched, err := intr.Execute(node.children[0], value) + if err != nil { + return nil, err + } + if isFalse(matched) { + return true, nil + } + return false, nil + case ASTPipe: + result := value + var err error + for _, child := range node.children { + result, err = intr.Execute(child, result) + if err != nil { + return nil, err + } + } + return result, nil + case ASTProjection: + left, err := intr.Execute(node.children[0], value) + if err != nil { + return nil, err + } + sliceType, ok := left.([]interface{}) + if !ok { + if isSliceType(left) { + return intr.projectWithReflection(node, left) + } + return nil, nil + } + collected := []interface{}{} + var current interface{} + for _, element := range sliceType { + current, err = intr.Execute(node.children[1], element) + if err != nil { + return nil, err + } + if current != nil { + collected = append(collected, current) + } + } + return collected, nil + case ASTSubexpression, ASTIndexExpression: + left, err := intr.Execute(node.children[0], value) + if err != nil { + return nil, err + } + return intr.Execute(node.children[1], left) + case ASTSlice: + sliceType, ok := value.([]interface{}) + if !ok { + if isSliceType(value) { + return intr.sliceWithReflection(node, value) + } + return nil, nil + } + parts := node.value.([]*int) + sliceParams := make([]sliceParam, 3) + for i, part := range parts { + if part != nil { + sliceParams[i].Specified = true + sliceParams[i].N = *part + } + } + return slice(sliceType, sliceParams) + case ASTValueProjection: + left, err := intr.Execute(node.children[0], value) + if err != nil { + return nil, nil + } + mapType, ok := left.(map[string]interface{}) + if !ok { + return nil, nil + } + values := make([]interface{}, len(mapType)) + for _, value := range mapType { + values = append(values, value) + } + collected := []interface{}{} + for _, element := range values { + current, err := intr.Execute(node.children[1], element) + if err != nil { + return nil, err + } + if current != nil { + collected = append(collected, current) + } + } + return collected, nil + } + return nil, errors.New("Unknown AST node: " + node.nodeType.String()) +} + +func (intr *treeInterpreter) fieldFromStruct(key string, value interface{}) (interface{}, error) { + rv := reflect.ValueOf(value) + first, n := utf8.DecodeRuneInString(key) + fieldName := string(unicode.ToUpper(first)) + key[n:] + if rv.Kind() == reflect.Struct { + v := rv.FieldByName(fieldName) + if !v.IsValid() { + return nil, nil + } + return v.Interface(), nil + } else if rv.Kind() == reflect.Ptr { + // Handle multiple levels of indirection? + if rv.IsNil() { + return nil, nil + } + rv = rv.Elem() + v := rv.FieldByName(fieldName) + if !v.IsValid() { + return nil, nil + } + return v.Interface(), nil + } + return nil, nil +} + +func (intr *treeInterpreter) flattenWithReflection(value interface{}) (interface{}, error) { + v := reflect.ValueOf(value) + flattened := []interface{}{} + for i := 0; i < v.Len(); i++ { + element := v.Index(i).Interface() + if reflect.TypeOf(element).Kind() == reflect.Slice { + // Then insert the contents of the element + // slice into the flattened slice, + // i.e flattened = append(flattened, mySlice...) + elementV := reflect.ValueOf(element) + for j := 0; j < elementV.Len(); j++ { + flattened = append( + flattened, elementV.Index(j).Interface()) + } + } else { + flattened = append(flattened, element) + } + } + return flattened, nil +} + +func (intr *treeInterpreter) sliceWithReflection(node ASTNode, value interface{}) (interface{}, error) { + v := reflect.ValueOf(value) + parts := node.value.([]*int) + sliceParams := make([]sliceParam, 3) + for i, part := range parts { + if part != nil { + sliceParams[i].Specified = true + sliceParams[i].N = *part + } + } + final := []interface{}{} + for i := 0; i < v.Len(); i++ { + element := v.Index(i).Interface() + final = append(final, element) + } + return slice(final, sliceParams) +} + +func (intr *treeInterpreter) filterProjectionWithReflection(node ASTNode, value interface{}) (interface{}, error) { + compareNode := node.children[2] + collected := []interface{}{} + v := reflect.ValueOf(value) + for i := 0; i < v.Len(); i++ { + element := v.Index(i).Interface() + result, err := intr.Execute(compareNode, element) + if err != nil { + return nil, err + } + if !isFalse(result) { + current, err := intr.Execute(node.children[1], element) + if err != nil { + return nil, err + } + if current != nil { + collected = append(collected, current) + } + } + } + return collected, nil +} + +func (intr *treeInterpreter) projectWithReflection(node ASTNode, value interface{}) (interface{}, error) { + collected := []interface{}{} + v := reflect.ValueOf(value) + for i := 0; i < v.Len(); i++ { + element := v.Index(i).Interface() + result, err := intr.Execute(node.children[1], element) + if err != nil { + return nil, err + } + if result != nil { + collected = append(collected, result) + } + } + return collected, nil +} diff --git a/vendor/github.com/jmespath/go-jmespath/lexer.go b/vendor/github.com/jmespath/go-jmespath/lexer.go new file mode 100644 index 0000000000..817900c8f5 --- /dev/null +++ b/vendor/github.com/jmespath/go-jmespath/lexer.go @@ -0,0 +1,420 @@ +package jmespath + +import ( + "bytes" + "encoding/json" + "fmt" + "strconv" + "strings" + "unicode/utf8" +) + +type token struct { + tokenType tokType + value string + position int + length int +} + +type tokType int + +const eof = -1 + +// Lexer contains information about the expression being tokenized. +type Lexer struct { + expression string // The expression provided by the user. + currentPos int // The current position in the string. + lastWidth int // The width of the current rune. This + buf bytes.Buffer // Internal buffer used for building up values. +} + +// SyntaxError is the main error used whenever a lexing or parsing error occurs. +type SyntaxError struct { + msg string // Error message displayed to user + Expression string // Expression that generated a SyntaxError + Offset int // The location in the string where the error occurred +} + +func (e SyntaxError) Error() string { + // In the future, it would be good to underline the specific + // location where the error occurred. + return "SyntaxError: " + e.msg +} + +// HighlightLocation will show where the syntax error occurred. +// It will place a "^" character on a line below the expression +// at the point where the syntax error occurred. +func (e SyntaxError) HighlightLocation() string { + return e.Expression + "\n" + strings.Repeat(" ", e.Offset) + "^" +} + +//go:generate stringer -type=tokType +const ( + tUnknown tokType = iota + tStar + tDot + tFilter + tFlatten + tLparen + tRparen + tLbracket + tRbracket + tLbrace + tRbrace + tOr + tPipe + tNumber + tUnquotedIdentifier + tQuotedIdentifier + tComma + tColon + tLT + tLTE + tGT + tGTE + tEQ + tNE + tJSONLiteral + tStringLiteral + tCurrent + tExpref + tAnd + tNot + tEOF +) + +var basicTokens = map[rune]tokType{ + '.': tDot, + '*': tStar, + ',': tComma, + ':': tColon, + '{': tLbrace, + '}': tRbrace, + ']': tRbracket, // tLbracket not included because it could be "[]" + '(': tLparen, + ')': tRparen, + '@': tCurrent, +} + +// Bit mask for [a-zA-Z_] shifted down 64 bits to fit in a single uint64. +// When using this bitmask just be sure to shift the rune down 64 bits +// before checking against identifierStartBits. +const identifierStartBits uint64 = 576460745995190270 + +// Bit mask for [a-zA-Z0-9], 128 bits -> 2 uint64s. +var identifierTrailingBits = [2]uint64{287948901175001088, 576460745995190270} + +var whiteSpace = map[rune]bool{ + ' ': true, '\t': true, '\n': true, '\r': true, +} + +func (t token) String() string { + return fmt.Sprintf("Token{%+v, %s, %d, %d}", + t.tokenType, t.value, t.position, t.length) +} + +// NewLexer creates a new JMESPath lexer. +func NewLexer() *Lexer { + lexer := Lexer{} + return &lexer +} + +func (lexer *Lexer) next() rune { + if lexer.currentPos >= len(lexer.expression) { + lexer.lastWidth = 0 + return eof + } + r, w := utf8.DecodeRuneInString(lexer.expression[lexer.currentPos:]) + lexer.lastWidth = w + lexer.currentPos += w + return r +} + +func (lexer *Lexer) back() { + lexer.currentPos -= lexer.lastWidth +} + +func (lexer *Lexer) peek() rune { + t := lexer.next() + lexer.back() + return t +} + +// tokenize takes an expression and returns corresponding tokens. +func (lexer *Lexer) tokenize(expression string) ([]token, error) { + var tokens []token + lexer.expression = expression + lexer.currentPos = 0 + lexer.lastWidth = 0 +loop: + for { + r := lexer.next() + if identifierStartBits&(1<<(uint64(r)-64)) > 0 { + t := lexer.consumeUnquotedIdentifier() + tokens = append(tokens, t) + } else if val, ok := basicTokens[r]; ok { + // Basic single char token. + t := token{ + tokenType: val, + value: string(r), + position: lexer.currentPos - lexer.lastWidth, + length: 1, + } + tokens = append(tokens, t) + } else if r == '-' || (r >= '0' && r <= '9') { + t := lexer.consumeNumber() + tokens = append(tokens, t) + } else if r == '[' { + t := lexer.consumeLBracket() + tokens = append(tokens, t) + } else if r == '"' { + t, err := lexer.consumeQuotedIdentifier() + if err != nil { + return tokens, err + } + tokens = append(tokens, t) + } else if r == '\'' { + t, err := lexer.consumeRawStringLiteral() + if err != nil { + return tokens, err + } + tokens = append(tokens, t) + } else if r == '`' { + t, err := lexer.consumeLiteral() + if err != nil { + return tokens, err + } + tokens = append(tokens, t) + } else if r == '|' { + t := lexer.matchOrElse(r, '|', tOr, tPipe) + tokens = append(tokens, t) + } else if r == '<' { + t := lexer.matchOrElse(r, '=', tLTE, tLT) + tokens = append(tokens, t) + } else if r == '>' { + t := lexer.matchOrElse(r, '=', tGTE, tGT) + tokens = append(tokens, t) + } else if r == '!' { + t := lexer.matchOrElse(r, '=', tNE, tNot) + tokens = append(tokens, t) + } else if r == '=' { + t := lexer.matchOrElse(r, '=', tEQ, tUnknown) + tokens = append(tokens, t) + } else if r == '&' { + t := lexer.matchOrElse(r, '&', tAnd, tExpref) + tokens = append(tokens, t) + } else if r == eof { + break loop + } else if _, ok := whiteSpace[r]; ok { + // Ignore whitespace + } else { + return tokens, lexer.syntaxError(fmt.Sprintf("Unknown char: %s", strconv.QuoteRuneToASCII(r))) + } + } + tokens = append(tokens, token{tEOF, "", len(lexer.expression), 0}) + return tokens, nil +} + +// Consume characters until the ending rune "r" is reached. +// If the end of the expression is reached before seeing the +// terminating rune "r", then an error is returned. +// If no error occurs then the matching substring is returned. +// The returned string will not include the ending rune. +func (lexer *Lexer) consumeUntil(end rune) (string, error) { + start := lexer.currentPos + current := lexer.next() + for current != end && current != eof { + if current == '\\' && lexer.peek() != eof { + lexer.next() + } + current = lexer.next() + } + if lexer.lastWidth == 0 { + // Then we hit an EOF so we never reached the closing + // delimiter. + return "", SyntaxError{ + msg: "Unclosed delimiter: " + string(end), + Expression: lexer.expression, + Offset: len(lexer.expression), + } + } + return lexer.expression[start : lexer.currentPos-lexer.lastWidth], nil +} + +func (lexer *Lexer) consumeLiteral() (token, error) { + start := lexer.currentPos + value, err := lexer.consumeUntil('`') + if err != nil { + return token{}, err + } + value = strings.Replace(value, "\\`", "`", -1) + return token{ + tokenType: tJSONLiteral, + value: value, + position: start, + length: len(value), + }, nil +} + +func (lexer *Lexer) consumeRawStringLiteral() (token, error) { + start := lexer.currentPos + currentIndex := start + current := lexer.next() + for current != '\'' && lexer.peek() != eof { + if current == '\\' && lexer.peek() == '\'' { + chunk := lexer.expression[currentIndex : lexer.currentPos-1] + lexer.buf.WriteString(chunk) + lexer.buf.WriteString("'") + lexer.next() + currentIndex = lexer.currentPos + } + current = lexer.next() + } + if lexer.lastWidth == 0 { + // Then we hit an EOF so we never reached the closing + // delimiter. + return token{}, SyntaxError{ + msg: "Unclosed delimiter: '", + Expression: lexer.expression, + Offset: len(lexer.expression), + } + } + if currentIndex < lexer.currentPos { + lexer.buf.WriteString(lexer.expression[currentIndex : lexer.currentPos-1]) + } + value := lexer.buf.String() + // Reset the buffer so it can reused again. + lexer.buf.Reset() + return token{ + tokenType: tStringLiteral, + value: value, + position: start, + length: len(value), + }, nil +} + +func (lexer *Lexer) syntaxError(msg string) SyntaxError { + return SyntaxError{ + msg: msg, + Expression: lexer.expression, + Offset: lexer.currentPos - 1, + } +} + +// Checks for a two char token, otherwise matches a single character +// token. This is used whenever a two char token overlaps a single +// char token, e.g. "||" -> tPipe, "|" -> tOr. +func (lexer *Lexer) matchOrElse(first rune, second rune, matchedType tokType, singleCharType tokType) token { + start := lexer.currentPos - lexer.lastWidth + nextRune := lexer.next() + var t token + if nextRune == second { + t = token{ + tokenType: matchedType, + value: string(first) + string(second), + position: start, + length: 2, + } + } else { + lexer.back() + t = token{ + tokenType: singleCharType, + value: string(first), + position: start, + length: 1, + } + } + return t +} + +func (lexer *Lexer) consumeLBracket() token { + // There's three options here: + // 1. A filter expression "[?" + // 2. A flatten operator "[]" + // 3. A bare rbracket "[" + start := lexer.currentPos - lexer.lastWidth + nextRune := lexer.next() + var t token + if nextRune == '?' { + t = token{ + tokenType: tFilter, + value: "[?", + position: start, + length: 2, + } + } else if nextRune == ']' { + t = token{ + tokenType: tFlatten, + value: "[]", + position: start, + length: 2, + } + } else { + t = token{ + tokenType: tLbracket, + value: "[", + position: start, + length: 1, + } + lexer.back() + } + return t +} + +func (lexer *Lexer) consumeQuotedIdentifier() (token, error) { + start := lexer.currentPos + value, err := lexer.consumeUntil('"') + if err != nil { + return token{}, err + } + var decoded string + asJSON := []byte("\"" + value + "\"") + if err := json.Unmarshal([]byte(asJSON), &decoded); err != nil { + return token{}, err + } + return token{ + tokenType: tQuotedIdentifier, + value: decoded, + position: start - 1, + length: len(decoded), + }, nil +} + +func (lexer *Lexer) consumeUnquotedIdentifier() token { + // Consume runes until we reach the end of an unquoted + // identifier. + start := lexer.currentPos - lexer.lastWidth + for { + r := lexer.next() + if r < 0 || r > 128 || identifierTrailingBits[uint64(r)/64]&(1<<(uint64(r)%64)) == 0 { + lexer.back() + break + } + } + value := lexer.expression[start:lexer.currentPos] + return token{ + tokenType: tUnquotedIdentifier, + value: value, + position: start, + length: lexer.currentPos - start, + } +} + +func (lexer *Lexer) consumeNumber() token { + // Consume runes until we reach something that's not a number. + start := lexer.currentPos - lexer.lastWidth + for { + r := lexer.next() + if r < '0' || r > '9' { + lexer.back() + break + } + } + value := lexer.expression[start:lexer.currentPos] + return token{ + tokenType: tNumber, + value: value, + position: start, + length: lexer.currentPos - start, + } +} diff --git a/vendor/github.com/jmespath/go-jmespath/parser.go b/vendor/github.com/jmespath/go-jmespath/parser.go new file mode 100644 index 0000000000..1240a17552 --- /dev/null +++ b/vendor/github.com/jmespath/go-jmespath/parser.go @@ -0,0 +1,603 @@ +package jmespath + +import ( + "encoding/json" + "fmt" + "strconv" + "strings" +) + +type astNodeType int + +//go:generate stringer -type astNodeType +const ( + ASTEmpty astNodeType = iota + ASTComparator + ASTCurrentNode + ASTExpRef + ASTFunctionExpression + ASTField + ASTFilterProjection + ASTFlatten + ASTIdentity + ASTIndex + ASTIndexExpression + ASTKeyValPair + ASTLiteral + ASTMultiSelectHash + ASTMultiSelectList + ASTOrExpression + ASTAndExpression + ASTNotExpression + ASTPipe + ASTProjection + ASTSubexpression + ASTSlice + ASTValueProjection +) + +// ASTNode represents the abstract syntax tree of a JMESPath expression. +type ASTNode struct { + nodeType astNodeType + value interface{} + children []ASTNode +} + +func (node ASTNode) String() string { + return node.PrettyPrint(0) +} + +// PrettyPrint will pretty print the parsed AST. +// The AST is an implementation detail and this pretty print +// function is provided as a convenience method to help with +// debugging. You should not rely on its output as the internal +// structure of the AST may change at any time. +func (node ASTNode) PrettyPrint(indent int) string { + spaces := strings.Repeat(" ", indent) + output := fmt.Sprintf("%s%s {\n", spaces, node.nodeType) + nextIndent := indent + 2 + if node.value != nil { + if converted, ok := node.value.(fmt.Stringer); ok { + // Account for things like comparator nodes + // that are enums with a String() method. + output += fmt.Sprintf("%svalue: %s\n", strings.Repeat(" ", nextIndent), converted.String()) + } else { + output += fmt.Sprintf("%svalue: %#v\n", strings.Repeat(" ", nextIndent), node.value) + } + } + lastIndex := len(node.children) + if lastIndex > 0 { + output += fmt.Sprintf("%schildren: {\n", strings.Repeat(" ", nextIndent)) + childIndent := nextIndent + 2 + for _, elem := range node.children { + output += elem.PrettyPrint(childIndent) + } + } + output += fmt.Sprintf("%s}\n", spaces) + return output +} + +var bindingPowers = map[tokType]int{ + tEOF: 0, + tUnquotedIdentifier: 0, + tQuotedIdentifier: 0, + tRbracket: 0, + tRparen: 0, + tComma: 0, + tRbrace: 0, + tNumber: 0, + tCurrent: 0, + tExpref: 0, + tColon: 0, + tPipe: 1, + tOr: 2, + tAnd: 3, + tEQ: 5, + tLT: 5, + tLTE: 5, + tGT: 5, + tGTE: 5, + tNE: 5, + tFlatten: 9, + tStar: 20, + tFilter: 21, + tDot: 40, + tNot: 45, + tLbrace: 50, + tLbracket: 55, + tLparen: 60, +} + +// Parser holds state about the current expression being parsed. +type Parser struct { + expression string + tokens []token + index int +} + +// NewParser creates a new JMESPath parser. +func NewParser() *Parser { + p := Parser{} + return &p +} + +// Parse will compile a JMESPath expression. +func (p *Parser) Parse(expression string) (ASTNode, error) { + lexer := NewLexer() + p.expression = expression + p.index = 0 + tokens, err := lexer.tokenize(expression) + if err != nil { + return ASTNode{}, err + } + p.tokens = tokens + parsed, err := p.parseExpression(0) + if err != nil { + return ASTNode{}, err + } + if p.current() != tEOF { + return ASTNode{}, p.syntaxError(fmt.Sprintf( + "Unexpected token at the end of the expresssion: %s", p.current())) + } + return parsed, nil +} + +func (p *Parser) parseExpression(bindingPower int) (ASTNode, error) { + var err error + leftToken := p.lookaheadToken(0) + p.advance() + leftNode, err := p.nud(leftToken) + if err != nil { + return ASTNode{}, err + } + currentToken := p.current() + for bindingPower < bindingPowers[currentToken] { + p.advance() + leftNode, err = p.led(currentToken, leftNode) + if err != nil { + return ASTNode{}, err + } + currentToken = p.current() + } + return leftNode, nil +} + +func (p *Parser) parseIndexExpression() (ASTNode, error) { + if p.lookahead(0) == tColon || p.lookahead(1) == tColon { + return p.parseSliceExpression() + } + indexStr := p.lookaheadToken(0).value + parsedInt, err := strconv.Atoi(indexStr) + if err != nil { + return ASTNode{}, err + } + indexNode := ASTNode{nodeType: ASTIndex, value: parsedInt} + p.advance() + if err := p.match(tRbracket); err != nil { + return ASTNode{}, err + } + return indexNode, nil +} + +func (p *Parser) parseSliceExpression() (ASTNode, error) { + parts := []*int{nil, nil, nil} + index := 0 + current := p.current() + for current != tRbracket && index < 3 { + if current == tColon { + index++ + p.advance() + } else if current == tNumber { + parsedInt, err := strconv.Atoi(p.lookaheadToken(0).value) + if err != nil { + return ASTNode{}, err + } + parts[index] = &parsedInt + p.advance() + } else { + return ASTNode{}, p.syntaxError( + "Expected tColon or tNumber" + ", received: " + p.current().String()) + } + current = p.current() + } + if err := p.match(tRbracket); err != nil { + return ASTNode{}, err + } + return ASTNode{ + nodeType: ASTSlice, + value: parts, + }, nil +} + +func (p *Parser) match(tokenType tokType) error { + if p.current() == tokenType { + p.advance() + return nil + } + return p.syntaxError("Expected " + tokenType.String() + ", received: " + p.current().String()) +} + +func (p *Parser) led(tokenType tokType, node ASTNode) (ASTNode, error) { + switch tokenType { + case tDot: + if p.current() != tStar { + right, err := p.parseDotRHS(bindingPowers[tDot]) + return ASTNode{ + nodeType: ASTSubexpression, + children: []ASTNode{node, right}, + }, err + } + p.advance() + right, err := p.parseProjectionRHS(bindingPowers[tDot]) + return ASTNode{ + nodeType: ASTValueProjection, + children: []ASTNode{node, right}, + }, err + case tPipe: + right, err := p.parseExpression(bindingPowers[tPipe]) + return ASTNode{nodeType: ASTPipe, children: []ASTNode{node, right}}, err + case tOr: + right, err := p.parseExpression(bindingPowers[tOr]) + return ASTNode{nodeType: ASTOrExpression, children: []ASTNode{node, right}}, err + case tAnd: + right, err := p.parseExpression(bindingPowers[tAnd]) + return ASTNode{nodeType: ASTAndExpression, children: []ASTNode{node, right}}, err + case tLparen: + name := node.value + var args []ASTNode + for p.current() != tRparen { + expression, err := p.parseExpression(0) + if err != nil { + return ASTNode{}, err + } + if p.current() == tComma { + if err := p.match(tComma); err != nil { + return ASTNode{}, err + } + } + args = append(args, expression) + } + if err := p.match(tRparen); err != nil { + return ASTNode{}, err + } + return ASTNode{ + nodeType: ASTFunctionExpression, + value: name, + children: args, + }, nil + case tFilter: + return p.parseFilter(node) + case tFlatten: + left := ASTNode{nodeType: ASTFlatten, children: []ASTNode{node}} + right, err := p.parseProjectionRHS(bindingPowers[tFlatten]) + return ASTNode{ + nodeType: ASTProjection, + children: []ASTNode{left, right}, + }, err + case tEQ, tNE, tGT, tGTE, tLT, tLTE: + right, err := p.parseExpression(bindingPowers[tokenType]) + if err != nil { + return ASTNode{}, err + } + return ASTNode{ + nodeType: ASTComparator, + value: tokenType, + children: []ASTNode{node, right}, + }, nil + case tLbracket: + tokenType := p.current() + var right ASTNode + var err error + if tokenType == tNumber || tokenType == tColon { + right, err = p.parseIndexExpression() + if err != nil { + return ASTNode{}, err + } + return p.projectIfSlice(node, right) + } + // Otherwise this is a projection. + if err := p.match(tStar); err != nil { + return ASTNode{}, err + } + if err := p.match(tRbracket); err != nil { + return ASTNode{}, err + } + right, err = p.parseProjectionRHS(bindingPowers[tStar]) + if err != nil { + return ASTNode{}, err + } + return ASTNode{ + nodeType: ASTProjection, + children: []ASTNode{node, right}, + }, nil + } + return ASTNode{}, p.syntaxError("Unexpected token: " + tokenType.String()) +} + +func (p *Parser) nud(token token) (ASTNode, error) { + switch token.tokenType { + case tJSONLiteral: + var parsed interface{} + err := json.Unmarshal([]byte(token.value), &parsed) + if err != nil { + return ASTNode{}, err + } + return ASTNode{nodeType: ASTLiteral, value: parsed}, nil + case tStringLiteral: + return ASTNode{nodeType: ASTLiteral, value: token.value}, nil + case tUnquotedIdentifier: + return ASTNode{ + nodeType: ASTField, + value: token.value, + }, nil + case tQuotedIdentifier: + node := ASTNode{nodeType: ASTField, value: token.value} + if p.current() == tLparen { + return ASTNode{}, p.syntaxErrorToken("Can't have quoted identifier as function name.", token) + } + return node, nil + case tStar: + left := ASTNode{nodeType: ASTIdentity} + var right ASTNode + var err error + if p.current() == tRbracket { + right = ASTNode{nodeType: ASTIdentity} + } else { + right, err = p.parseProjectionRHS(bindingPowers[tStar]) + } + return ASTNode{nodeType: ASTValueProjection, children: []ASTNode{left, right}}, err + case tFilter: + return p.parseFilter(ASTNode{nodeType: ASTIdentity}) + case tLbrace: + return p.parseMultiSelectHash() + case tFlatten: + left := ASTNode{ + nodeType: ASTFlatten, + children: []ASTNode{{nodeType: ASTIdentity}}, + } + right, err := p.parseProjectionRHS(bindingPowers[tFlatten]) + if err != nil { + return ASTNode{}, err + } + return ASTNode{nodeType: ASTProjection, children: []ASTNode{left, right}}, nil + case tLbracket: + tokenType := p.current() + //var right ASTNode + if tokenType == tNumber || tokenType == tColon { + right, err := p.parseIndexExpression() + if err != nil { + return ASTNode{}, nil + } + return p.projectIfSlice(ASTNode{nodeType: ASTIdentity}, right) + } else if tokenType == tStar && p.lookahead(1) == tRbracket { + p.advance() + p.advance() + right, err := p.parseProjectionRHS(bindingPowers[tStar]) + if err != nil { + return ASTNode{}, err + } + return ASTNode{ + nodeType: ASTProjection, + children: []ASTNode{{nodeType: ASTIdentity}, right}, + }, nil + } else { + return p.parseMultiSelectList() + } + case tCurrent: + return ASTNode{nodeType: ASTCurrentNode}, nil + case tExpref: + expression, err := p.parseExpression(bindingPowers[tExpref]) + if err != nil { + return ASTNode{}, err + } + return ASTNode{nodeType: ASTExpRef, children: []ASTNode{expression}}, nil + case tNot: + expression, err := p.parseExpression(bindingPowers[tNot]) + if err != nil { + return ASTNode{}, err + } + return ASTNode{nodeType: ASTNotExpression, children: []ASTNode{expression}}, nil + case tLparen: + expression, err := p.parseExpression(0) + if err != nil { + return ASTNode{}, err + } + if err := p.match(tRparen); err != nil { + return ASTNode{}, err + } + return expression, nil + case tEOF: + return ASTNode{}, p.syntaxErrorToken("Incomplete expression", token) + } + + return ASTNode{}, p.syntaxErrorToken("Invalid token: "+token.tokenType.String(), token) +} + +func (p *Parser) parseMultiSelectList() (ASTNode, error) { + var expressions []ASTNode + for { + expression, err := p.parseExpression(0) + if err != nil { + return ASTNode{}, err + } + expressions = append(expressions, expression) + if p.current() == tRbracket { + break + } + err = p.match(tComma) + if err != nil { + return ASTNode{}, err + } + } + err := p.match(tRbracket) + if err != nil { + return ASTNode{}, err + } + return ASTNode{ + nodeType: ASTMultiSelectList, + children: expressions, + }, nil +} + +func (p *Parser) parseMultiSelectHash() (ASTNode, error) { + var children []ASTNode + for { + keyToken := p.lookaheadToken(0) + if err := p.match(tUnquotedIdentifier); err != nil { + if err := p.match(tQuotedIdentifier); err != nil { + return ASTNode{}, p.syntaxError("Expected tQuotedIdentifier or tUnquotedIdentifier") + } + } + keyName := keyToken.value + err := p.match(tColon) + if err != nil { + return ASTNode{}, err + } + value, err := p.parseExpression(0) + if err != nil { + return ASTNode{}, err + } + node := ASTNode{ + nodeType: ASTKeyValPair, + value: keyName, + children: []ASTNode{value}, + } + children = append(children, node) + if p.current() == tComma { + err := p.match(tComma) + if err != nil { + return ASTNode{}, nil + } + } else if p.current() == tRbrace { + err := p.match(tRbrace) + if err != nil { + return ASTNode{}, nil + } + break + } + } + return ASTNode{ + nodeType: ASTMultiSelectHash, + children: children, + }, nil +} + +func (p *Parser) projectIfSlice(left ASTNode, right ASTNode) (ASTNode, error) { + indexExpr := ASTNode{ + nodeType: ASTIndexExpression, + children: []ASTNode{left, right}, + } + if right.nodeType == ASTSlice { + right, err := p.parseProjectionRHS(bindingPowers[tStar]) + return ASTNode{ + nodeType: ASTProjection, + children: []ASTNode{indexExpr, right}, + }, err + } + return indexExpr, nil +} +func (p *Parser) parseFilter(node ASTNode) (ASTNode, error) { + var right, condition ASTNode + var err error + condition, err = p.parseExpression(0) + if err != nil { + return ASTNode{}, err + } + if err := p.match(tRbracket); err != nil { + return ASTNode{}, err + } + if p.current() == tFlatten { + right = ASTNode{nodeType: ASTIdentity} + } else { + right, err = p.parseProjectionRHS(bindingPowers[tFilter]) + if err != nil { + return ASTNode{}, err + } + } + + return ASTNode{ + nodeType: ASTFilterProjection, + children: []ASTNode{node, right, condition}, + }, nil +} + +func (p *Parser) parseDotRHS(bindingPower int) (ASTNode, error) { + lookahead := p.current() + if tokensOneOf([]tokType{tQuotedIdentifier, tUnquotedIdentifier, tStar}, lookahead) { + return p.parseExpression(bindingPower) + } else if lookahead == tLbracket { + if err := p.match(tLbracket); err != nil { + return ASTNode{}, err + } + return p.parseMultiSelectList() + } else if lookahead == tLbrace { + if err := p.match(tLbrace); err != nil { + return ASTNode{}, err + } + return p.parseMultiSelectHash() + } + return ASTNode{}, p.syntaxError("Expected identifier, lbracket, or lbrace") +} + +func (p *Parser) parseProjectionRHS(bindingPower int) (ASTNode, error) { + current := p.current() + if bindingPowers[current] < 10 { + return ASTNode{nodeType: ASTIdentity}, nil + } else if current == tLbracket { + return p.parseExpression(bindingPower) + } else if current == tFilter { + return p.parseExpression(bindingPower) + } else if current == tDot { + err := p.match(tDot) + if err != nil { + return ASTNode{}, err + } + return p.parseDotRHS(bindingPower) + } else { + return ASTNode{}, p.syntaxError("Error") + } +} + +func (p *Parser) lookahead(number int) tokType { + return p.lookaheadToken(number).tokenType +} + +func (p *Parser) current() tokType { + return p.lookahead(0) +} + +func (p *Parser) lookaheadToken(number int) token { + return p.tokens[p.index+number] +} + +func (p *Parser) advance() { + p.index++ +} + +func tokensOneOf(elements []tokType, token tokType) bool { + for _, elem := range elements { + if elem == token { + return true + } + } + return false +} + +func (p *Parser) syntaxError(msg string) SyntaxError { + return SyntaxError{ + msg: msg, + Expression: p.expression, + Offset: p.lookaheadToken(0).position, + } +} + +// Create a SyntaxError based on the provided token. +// This differs from syntaxError() which creates a SyntaxError +// based on the current lookahead token. +func (p *Parser) syntaxErrorToken(msg string, t token) SyntaxError { + return SyntaxError{ + msg: msg, + Expression: p.expression, + Offset: t.position, + } +} diff --git a/vendor/github.com/jmespath/go-jmespath/toktype_string.go b/vendor/github.com/jmespath/go-jmespath/toktype_string.go new file mode 100644 index 0000000000..dae79cbdf3 --- /dev/null +++ b/vendor/github.com/jmespath/go-jmespath/toktype_string.go @@ -0,0 +1,16 @@ +// generated by stringer -type=tokType; DO NOT EDIT + +package jmespath + +import "fmt" + +const _tokType_name = "tUnknowntStartDottFiltertFlattentLparentRparentLbrackettRbrackettLbracetRbracetOrtPipetNumbertUnquotedIdentifiertQuotedIdentifiertCommatColontLTtLTEtGTtGTEtEQtNEtJSONLiteraltStringLiteraltCurrenttExpreftAndtNottEOF" + +var _tokType_index = [...]uint8{0, 8, 13, 17, 24, 32, 39, 46, 55, 64, 71, 78, 81, 86, 93, 112, 129, 135, 141, 144, 148, 151, 155, 158, 161, 173, 187, 195, 202, 206, 210, 214} + +func (i tokType) String() string { + if i < 0 || i >= tokType(len(_tokType_index)-1) { + return fmt.Sprintf("tokType(%d)", i) + } + return _tokType_name[_tokType_index[i]:_tokType_index[i+1]] +} diff --git a/vendor/github.com/jmespath/go-jmespath/util.go b/vendor/github.com/jmespath/go-jmespath/util.go new file mode 100644 index 0000000000..ddc1b7d7d4 --- /dev/null +++ b/vendor/github.com/jmespath/go-jmespath/util.go @@ -0,0 +1,185 @@ +package jmespath + +import ( + "errors" + "reflect" +) + +// IsFalse determines if an object is false based on the JMESPath spec. +// JMESPath defines false values to be any of: +// - An empty string array, or hash. +// - The boolean value false. +// - nil +func isFalse(value interface{}) bool { + switch v := value.(type) { + case bool: + return !v + case []interface{}: + return len(v) == 0 + case map[string]interface{}: + return len(v) == 0 + case string: + return len(v) == 0 + case nil: + return true + } + // Try the reflection cases before returning false. + rv := reflect.ValueOf(value) + switch rv.Kind() { + case reflect.Struct: + // A struct type will never be false, even if + // all of its values are the zero type. + return false + case reflect.Slice, reflect.Map: + return rv.Len() == 0 + case reflect.Ptr: + if rv.IsNil() { + return true + } + // If it's a pointer type, we'll try to deref the pointer + // and evaluate the pointer value for isFalse. + element := rv.Elem() + return isFalse(element.Interface()) + } + return false +} + +// ObjsEqual is a generic object equality check. +// It will take two arbitrary objects and recursively determine +// if they are equal. +func objsEqual(left interface{}, right interface{}) bool { + return reflect.DeepEqual(left, right) +} + +// SliceParam refers to a single part of a slice. +// A slice consists of a start, a stop, and a step, similar to +// python slices. +type sliceParam struct { + N int + Specified bool +} + +// Slice supports [start:stop:step] style slicing that's supported in JMESPath. +func slice(slice []interface{}, parts []sliceParam) ([]interface{}, error) { + computed, err := computeSliceParams(len(slice), parts) + if err != nil { + return nil, err + } + start, stop, step := computed[0], computed[1], computed[2] + result := []interface{}{} + if step > 0 { + for i := start; i < stop; i += step { + result = append(result, slice[i]) + } + } else { + for i := start; i > stop; i += step { + result = append(result, slice[i]) + } + } + return result, nil +} + +func computeSliceParams(length int, parts []sliceParam) ([]int, error) { + var start, stop, step int + if !parts[2].Specified { + step = 1 + } else if parts[2].N == 0 { + return nil, errors.New("Invalid slice, step cannot be 0") + } else { + step = parts[2].N + } + var stepValueNegative bool + if step < 0 { + stepValueNegative = true + } else { + stepValueNegative = false + } + + if !parts[0].Specified { + if stepValueNegative { + start = length - 1 + } else { + start = 0 + } + } else { + start = capSlice(length, parts[0].N, step) + } + + if !parts[1].Specified { + if stepValueNegative { + stop = -1 + } else { + stop = length + } + } else { + stop = capSlice(length, parts[1].N, step) + } + return []int{start, stop, step}, nil +} + +func capSlice(length int, actual int, step int) int { + if actual < 0 { + actual += length + if actual < 0 { + if step < 0 { + actual = -1 + } else { + actual = 0 + } + } + } else if actual >= length { + if step < 0 { + actual = length - 1 + } else { + actual = length + } + } + return actual +} + +// ToArrayNum converts an empty interface type to a slice of float64. +// If any element in the array cannot be converted, then nil is returned +// along with a second value of false. +func toArrayNum(data interface{}) ([]float64, bool) { + // Is there a better way to do this with reflect? + if d, ok := data.([]interface{}); ok { + result := make([]float64, len(d)) + for i, el := range d { + item, ok := el.(float64) + if !ok { + return nil, false + } + result[i] = item + } + return result, true + } + return nil, false +} + +// ToArrayStr converts an empty interface type to a slice of strings. +// If any element in the array cannot be converted, then nil is returned +// along with a second value of false. If the input data could be entirely +// converted, then the converted data, along with a second value of true, +// will be returned. +func toArrayStr(data interface{}) ([]string, bool) { + // Is there a better way to do this with reflect? + if d, ok := data.([]interface{}); ok { + result := make([]string, len(d)) + for i, el := range d { + item, ok := el.(string) + if !ok { + return nil, false + } + result[i] = item + } + return result, true + } + return nil, false +} + +func isSliceType(v interface{}) bool { + if v == nil { + return false + } + return reflect.TypeOf(v).Kind() == reflect.Slice +} diff --git a/vendor/vendor.json b/vendor/vendor.json index 85fa73930f..2b6b45a546 100644 --- a/vendor/vendor.json +++ b/vendor/vendor.json @@ -2,12 +2,158 @@ "comment": "", "ignore": "test", "package": [ + { + "path": "context", + "revision": "" + }, { "checksumSHA1": "vwpCebe1/Uw4IVvhoCEzrsBoA+E=", "path": "github.com/Sirupsen/logrus", "revision": "1e01b2bdbae8edb393fcf555732304f34d192fc9", "revisionTime": "2016-11-21T14:22:35Z" }, + { + "checksumSHA1": "kf/pd5o5Gl4JZoOwGvgVBQzVbdQ=", + "path": "github.com/aws/aws-sdk-go/aws", + "revision": "c555a87c32af3840e6ab7c106e7aee3dac87f99e", + "revisionTime": "2017-04-08T20:12:58Z" + }, + { + "checksumSHA1": "Y9W+4GimK4Fuxq+vyIskVYFRnX4=", + "path": "github.com/aws/aws-sdk-go/aws/awserr", + "revision": "c555a87c32af3840e6ab7c106e7aee3dac87f99e", + "revisionTime": "2017-04-08T20:12:58Z" + }, + { + "checksumSHA1": "yyYr41HZ1Aq0hWc3J5ijXwYEcac=", + "path": "github.com/aws/aws-sdk-go/aws/awsutil", + "revision": "c555a87c32af3840e6ab7c106e7aee3dac87f99e", + "revisionTime": "2017-04-08T20:12:58Z" + }, + { + "checksumSHA1": "iThCyNRL/oQFD9CF2SYgBGl+aww=", + "path": "github.com/aws/aws-sdk-go/aws/client", + "revision": "c555a87c32af3840e6ab7c106e7aee3dac87f99e", + "revisionTime": "2017-04-08T20:12:58Z" + }, + { + "checksumSHA1": "ieAJ+Cvp/PKv1LpUEnUXpc3OI6E=", + "path": "github.com/aws/aws-sdk-go/aws/client/metadata", + "revision": "c555a87c32af3840e6ab7c106e7aee3dac87f99e", + "revisionTime": "2017-04-08T20:12:58Z" + }, + { + "checksumSHA1": "0Gfk83qXYimO87ZoK1lL9+ifWHo=", + "path": "github.com/aws/aws-sdk-go/aws/corehandlers", + "revision": "c555a87c32af3840e6ab7c106e7aee3dac87f99e", + "revisionTime": "2017-04-08T20:12:58Z" + }, + { + "checksumSHA1": "P7gt3PNk6bDOoTZ2N9QOonkaGWw=", + "path": "github.com/aws/aws-sdk-go/aws/credentials", + "revision": "c555a87c32af3840e6ab7c106e7aee3dac87f99e", + "revisionTime": "2017-04-08T20:12:58Z" + }, + { + "checksumSHA1": "u3GOAJLmdvbuNUeUEcZSEAOeL/0=", + "path": "github.com/aws/aws-sdk-go/aws/credentials/ec2rolecreds", + "revision": "c555a87c32af3840e6ab7c106e7aee3dac87f99e", + "revisionTime": "2017-04-08T20:12:58Z" + }, + { + "checksumSHA1": "NUJUTWlc1sV8b7WjfiYc4JZbXl0=", + "path": "github.com/aws/aws-sdk-go/aws/credentials/endpointcreds", + "revision": "c555a87c32af3840e6ab7c106e7aee3dac87f99e", + "revisionTime": "2017-04-08T20:12:58Z" + }, + { + "checksumSHA1": "6cj/zsRmcxkE1TLS+v910GbQYg0=", + "path": "github.com/aws/aws-sdk-go/aws/credentials/stscreds", + "revision": "c555a87c32af3840e6ab7c106e7aee3dac87f99e", + "revisionTime": "2017-04-08T20:12:58Z" + }, + { + "checksumSHA1": "l2O7P/kvovK2zxKhuFehFNXLk+Q=", + "path": "github.com/aws/aws-sdk-go/aws/defaults", + "revision": "c555a87c32af3840e6ab7c106e7aee3dac87f99e", + "revisionTime": "2017-04-08T20:12:58Z" + }, + { + "checksumSHA1": "/EXbk/z2TWjWc1Hvb4QYs3Wmhb8=", + "path": "github.com/aws/aws-sdk-go/aws/ec2metadata", + "revision": "c555a87c32af3840e6ab7c106e7aee3dac87f99e", + "revisionTime": "2017-04-08T20:12:58Z" + }, + { + "checksumSHA1": "+yCOae0vRONrO27QiITkGWblOKk=", + "path": "github.com/aws/aws-sdk-go/aws/endpoints", + "revision": "c555a87c32af3840e6ab7c106e7aee3dac87f99e", + "revisionTime": "2017-04-08T20:12:58Z" + }, + { + "checksumSHA1": "/L6UweKsmfyHTu01qrFD1ijzSbE=", + "path": "github.com/aws/aws-sdk-go/aws/request", + "revision": "c555a87c32af3840e6ab7c106e7aee3dac87f99e", + "revisionTime": "2017-04-08T20:12:58Z" + }, + { + "checksumSHA1": "24VtK/Hym9lC8LkZlGLMdFGq+5o=", + "path": "github.com/aws/aws-sdk-go/aws/session", + "revision": "c555a87c32af3840e6ab7c106e7aee3dac87f99e", + "revisionTime": "2017-04-08T20:12:58Z" + }, + { + "checksumSHA1": "SvIsunO8D9MEKbetMENA4WRnyeE=", + "path": "github.com/aws/aws-sdk-go/aws/signer/v4", + "revision": "c555a87c32af3840e6ab7c106e7aee3dac87f99e", + "revisionTime": "2017-04-08T20:12:58Z" + }, + { + "checksumSHA1": "wk7EyvDaHwb5qqoOP/4d3cV0708=", + "path": "github.com/aws/aws-sdk-go/private/protocol", + "revision": "c555a87c32af3840e6ab7c106e7aee3dac87f99e", + "revisionTime": "2017-04-08T20:12:58Z" + }, + { + "checksumSHA1": "ZqY5RWavBLWTo6j9xqdyBEaNFRk=", + "path": "github.com/aws/aws-sdk-go/private/protocol/query", + "revision": "c555a87c32af3840e6ab7c106e7aee3dac87f99e", + "revisionTime": "2017-04-08T20:12:58Z" + }, + { + "checksumSHA1": "Drt1JfLMa0DQEZLWrnMlTWaIcC8=", + "path": "github.com/aws/aws-sdk-go/private/protocol/query/queryutil", + "revision": "c555a87c32af3840e6ab7c106e7aee3dac87f99e", + "revisionTime": "2017-04-08T20:12:58Z" + }, + { + "checksumSHA1": "VCTh+dEaqqhog5ncy/WTt9+/gFM=", + "path": "github.com/aws/aws-sdk-go/private/protocol/rest", + "revision": "c555a87c32af3840e6ab7c106e7aee3dac87f99e", + "revisionTime": "2017-04-08T20:12:58Z" + }, + { + "checksumSHA1": "lZ1z4xAbT8euCzKoAsnEYic60VE=", + "path": "github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil", + "revision": "c555a87c32af3840e6ab7c106e7aee3dac87f99e", + "revisionTime": "2017-04-08T20:12:58Z" + }, + { + "checksumSHA1": "bJ8g3OhBAkxM+QaFrQCD0L0eWY8=", + "path": "github.com/aws/aws-sdk-go/service/sns", + "revision": "c555a87c32af3840e6ab7c106e7aee3dac87f99e", + "revisionTime": "2017-04-08T20:12:58Z" + }, + { + "checksumSHA1": "SdsHiTUR9eRarThv/i7y6/rVyF4=", + "path": "github.com/aws/aws-sdk-go/service/sts", + "revision": "c555a87c32af3840e6ab7c106e7aee3dac87f99e", + "revisionTime": "2017-04-08T20:12:58Z" + }, + { + "path": "github.com/aws/aws-sdk-go/session", + "revision": "" + }, { "checksumSHA1": "4QnLdmB1kG3N+KlDd1N+G9TWAGQ=", "path": "github.com/beorn7/perks/quantile", @@ -50,6 +196,12 @@ "revision": "c0656edd0d9eab7c66d1eb0c568f9039345796f7", "revisionTime": "2017-03-30T07:10:51Z" }, + { + "checksumSHA1": "+IH9gXMht4fL/fxKRZ4sqGBps1g=", + "path": "github.com/go-ini/ini", + "revision": "e7fea39b01aea8d5671f6858f0532f56e8bff3a5", + "revisionTime": "2017-03-28T15:39:02Z" + }, { "checksumSHA1": "M/1HiQFl2DyE+q3pFf8swvAQ3MY=", "path": "github.com/golang/protobuf/proto", @@ -80,6 +232,12 @@ "revision": "1e01b2bdbae8edb393fcf555732304f34d192fc9", "revisionTime": "2016-11-21T14:22:35Z" }, + { + "checksumSHA1": "0ZrwvB6KoGPj2PoDNSEJwxQ6Mog=", + "path": "github.com/jmespath/go-jmespath", + "revision": "bd40a432e4c76585ef6b72d3fd96fb9b6dc7b68d", + "revisionTime": "2016-08-03T19:07:31Z" + }, { "checksumSHA1": "Farach1xcmsQYrhiUfkwF2rbIaE=", "path": "github.com/julienschmidt/httprouter",